Un projet avancé de Réalité Augmentée (AR) et de Vision par Ordinateur, entièrement développé en Python. Il transforme votre webcam en une interface holographique capable d'analyser l'orientation spatiale de votre visage et de tracker vos mains pour vous permettre de dessiner librement dans le vide.
- Masque 3D Holographique : Trace un système de 478 points sur le visage via MediaPipe FaceLandmarker. Assigne des couleurs dynamiques interactives selon l'orientation (SolvePnP) : Cyan pour la vue de face, Corail pour la rotation.
- Dessin AR par Pincement ("Pinch-to-draw") : Applique un traqueur sur les mains. Si le bout du pouce et de l'index se rejoignent (distance < 40 px), l'encre azur holographique commencera à tracer. Lorsqu'ils s'écartent, un simple pointeur minimaliste s'affiche.
- Squelette Robotique Multi-Mains : Tracking bimanuel très pointu. Distinction technologique entre la main "Action" (Droite, verte) et "Passive" (Gauche, rouge). Lignes de repères dessinant les os et cartilages selon un HUD cyberpunk.
- Gomme Gestuelle : Ouvrir grand la main (les 5 doigts écartés) déclenche un effacement localisé de la toile (calcul des phalanges pliées/tendues).
- Algorithme Anti-Tremblement : Calcul interne de moyenne mobile exponentielle (
EMA) pour convertir les micro-mouvements de la main libre en une courbe parfaite sur le Canvas virtuel.
Afin de garantir la propreté, la scalabilité et la modularité "Clean Code", l'application a été entièrement refactorisée orientée-objet (POO) :
Cyber-Vision-Tracker/
│
├── main.py # Point d'entrée de l'application
├── requirements.txt # Liste des paquets pour pip
├── README.md # Documentation
│
└── modules/
├── face_analyzer.py # Moteur de Face Landmarking / Pose estimation
├── hand_analyzer.py # Moteur Hand Landmarking / Gestes AR
└── canvas_manager.py # Moteur graphique / calque et lissages HUD
Assurez-vous d'avoir Python 3.7+ installé sur votre système.
git clone https://github.com/abderrahman-elouali/Cyber-Vision-Tracker.git
cd Cyber-Vision-Trackerpython -m venv venv
# Windows :
venv\Scripts\activate
# Mac / Linux :
source venv/bin/activatepip install -r requirements.txtL'application requiert les modèles .task à la racine (généralement géré via MediaPipe mais à avoir en local pour contourner les API distantes) :
face_landmarker.taskhand_landmarker.task
python main.pyAppuyez sur q sur votre clavier pour quitter gracieusement la boucle vidéo.
Note de développement : Conçu sous Windows. Les performances sont tributaires du calcul CPU (XNNPACK) appliqué par MediaPipe. Le module
cv2.flipest activé de base pour conserver un mode miroir très intuitif pour l'utilisateur.
Auteur : EL OUALI Abderrahman - Ingénieur de données & IA