IA & données
Reconnaissance de gestes de la main
Un pipeline de vision complet, des données jusqu’à la webcam : un CNN reconnaît trois gestes de la main en temps réel.
- Entraîné sur données synthétiques
- Projet individuel
- gestes : poing, main ouverte, signe V
- 3
- images générées
- 1 200
- métriques, plus une matrice de confusion
- 5
- images de lissage temporel
- 5
01Le point de départ
Contexte & mission
Le problème
Commander une machine d’un geste demande deux choses très différentes : un modèle qui classe bien, et une application temps réel qui reste stable image après image.
La mission
Construire les deux : le flux de développement du modèle, puis l’inférence en direct depuis la webcam.
Mon rôle
Projet conçu et développé seul.
02Réalisation
Ce que j’ai fait
Données synthétiques
1 200 images 28×28 en niveaux de gris générées par programme (cercle, rectangle, forme en V), avec variations de position, de taille et de bruit.
Prétraitement
Niveaux de gris, CLAHE, flou gaussien et normalisation avec OpenCV.
Entraînement et évaluation
CNN avec augmentation et callbacks, évalué en exactitude, précision, rappel, F1, AUC et matrice de confusion.
Inférence temps réel
Détection de la main par segmentation HSV, extraction de la zone utile, prédiction puis lissage sur les 5 dernières images pour éviter les sauts de classe.
03Conception
Architecture
Deux flux reliés : des notebooks numérotés pour développer le modèle, et une application Python modulaire (détection, prétraitement, prédiction, affichage) lancée depuis app.py.
- Webcam
- Détection HSVPeau · zone utile
- PrétraitementCLAHE · flou
- CNN3 classes
- Lissage5 dernières images
04Impact
Résultats
- Une chaîne complète, de la génération des données à la prédiction en direct.
- Des prédictions stabilisées image après image.
05Bilan
Ce que j’en retiens
Ce que ce projet démontreQue je sais assembler toute une chaîne de vision, et dire clairement où s’arrête ce qu’elle prouve.
06Technologies
Stack complète
- Python
- TensorFlow
- Keras
- OpenCV
- CNN
- NumPy
- Jupyter