Ce dépôt présente un prototype d’exergame combinant vision par ordinateur (Python) et jeu vidéo 3D (Unity). Le joueur contrôle son personnage uniquement par des mouvements corporels, détectés en temps réel via la webcam.
Les deux vidéos associées au projet illustrent :
- 🔍 la détection et l’analyse des mouvements (Python),
- 🎮 leur intégration interactive dans un jeu Unity.
- Développer une interface corps–jeu sans manette ni capteur externe
- Reconnaître automatiquement des exercices de musculation
- Compter les répétitions en temps réel
- Rendre l’activité physique ludique, accessible et motivante
Ce projet s’inscrit à l’intersection de :
- la vision par ordinateur,
- les sciences du mouvement,
- le jeu sérieux (serious game),
- la santé et la rééducation.
La première vidéo montre le pipeline de traitement côté Python :
-
Détection du squelette en temps réel via webcam
-
Estimation des angles articulaires (ex. coude)
-
Reconnaissance d’exercices :
- Curl
- Shoulder press
- Squat
-
Comptage automatique des répétitions
-
Affichage temps réel :
- squelette
- angles
- compteur par exercice
- Python
- OpenCV
- MediaPipe (pose estimation)
- NumPy
- Acquisition vidéo
- Estimation de la pose
- Calcul des angles articulaires
- Détection de phases concentrique / excentrique
- Incrémentation des répétitions
- Envoi des événements vers Unity
La seconde vidéo présente le jeu développé sous Unity :
-
Le joueur incarne un personnage avançant sur une plateforme
-
Chaque exercice déclenche une action :
- Curl → action 1
- Press → action 2
- Squat → action 3
-
Les répétitions validées font progresser le personnage
- Environnement 3D stylisé
- Feedback visuel immédiat
- Score et progression
- Contrôle 100 % corporel
- Unity (C#)
- Communication temps réel avec Python (socket/UDP)
- Les événements détectés (type d’exercice, répétition validée) sont transmis de Python vers Unity via connexion UDP
- Unity interprète ces signaux pour déclencher les actions du jeu
- Python ≥ 3.9
- Webcam
- Unity Hub + version Unity recommandée
- Lancer le scipt python ExcerciseDetector.py
- Lancer la scène principale
✅ Prototype fonctionnel
🔧 Améliorations possibles :
- Calibration personnalisée par utilisateur
- Ajout d’exercices
- Niveaux de difficulté
- Analyse biomécanique avancée
- Intégration VR / AR
Les contributions sont bienvenues :
- amélioration du modèle de détection
- gameplay
- UX / UI
- optimisation des performances
N’hésitez pas à ⭐ le dépôt si le projet vous inspire !

