ProgettiPrototipo Computer Vision
FitnessCoach
01 — Intro
Uncoachperl'allenamentointemporealechericonoscel'eserciziochestaifacendo,contaleripetizioniesegnalaquandolaformacede.Funzionaconunawebcamounvideoregistrato,interamentesullatuamacchina.
02 — La sfida
Contare le ripetizioni è facile da fingere e difficile da fare bene. Una soglia ingenua su un singolo angolo articolare sbaglia il conteggio ogni volta che la camera si sposta o il movimento si ferma. In più, il sistema deve capire quale esercizio sta osservando prima di poterlo giudicare, e cambiare esercizio a metà serie non deve richiedere che l'utente prema alcun tasto.
03 — La soluzione
MediaPipe BlazePose estrae 33 landmark del corpo per ogni frame; gli angoli articolari vengono calcolati a partire da quelli rilevanti per ciascun movimento: anca, ginocchio e caviglia per lo squat, spalla, gomito e polso per la parte superiore del corpo. Un classificatore rule-based legge questi angoli e si impegna su un esercizio solo dopo 30 previsioni consecutive coerenti, il che evita che oscilli tra le etichette a metà serie. Da lì, un modulo dedicato per ogni esercizio gestisce una macchina a stati per le ripetizioni e una serie di controlli sulla forma: inclinazione della schiena e profondità dello squat, allineamento del corpo nei push-up, oscillazione del braccio nei curl.
04 — Il risultato
Un prototipo funzionante che gira in tempo reale al frame rate della webcam su una CPU da laptop, senza inferenza cloud e senza dati di training necessari per iniziare. Costruito in Python con OpenCV e MediaPipe. Non distribuito come prodotto.
05 — Visual
Scorri per vedere il progetto
Stack
- Python
- OpenCV
- MediaPipe


