Pierre-feuille-ciseaux-lézard-Spock

Une partie de pierre-feuille-ciseaux-lézard-Spock contre la machine : la webcam photographie votre main, et un modèle de machine learning reconnaît le geste. Projet de fin de bootcamp Data Science au Wagon, remis en état en 2026.
En bref
LE BESOIN
Apprendre à une machine à reconnaître un geste de la main sur une simple photo de webcam, assez vite et assez sûrement pour jouer contre elle.
LA SOLUTION
MediaPipe repère 21 points sur la main ; un modèle scikit-learn (SVC) entraîné sur ces coordonnées devine le signe ; une app Streamlit fait jouer la partie.
LE RÉSULTAT
Un jeu jouable en ligne, avec 99 % de bonnes réponses sur les données de test, étendu de 3 à 5 signes.
Le jeu
Pierre-feuille-ciseaux, un jeu vieux de deux mille ans
Chaque joueur montre un signe en même temps : la pierre écrase les ciseaux, les ciseaux coupent la feuille, la feuille recouvre la pierre. Deux signes identiques, c'est match nul.
Le jeu vient de Chine, où il s'appelait shoushiling, le « jeu des signes de la main » : il est attesté sous les Ming, et un auteur de l'époque le fait remonter aux Han, il y a plus de deux mille ans. Il gagne ensuite le Japon sous le nom de janken, puis l'Occident au début du XXe siècle. En France, on l'appelle aussi chifoumi, d'après les nombres japonais hito, futa, mi : un, deux, trois.
Pierre-feuille-ciseaux-lézard-Spock
Avec trois signes, un match nul arrive une fois sur trois. Sam Kass et Karen Bryla ont donc ajouté deux signes : le lézard (la main en bec, comme une marionnette) et Spock (le salut vulcain de Star Trek). Chaque signe bat deux signes et perd contre deux autres, et le match nul tombe à une partie sur cinq.

Le jeu est devenu célèbre grâce à Sheldon Cooper, qui en récite les règles dans The Big Bang Theory (saison 2, épisode 8, « The Lizard-Spock Expansion », diffusé le 17 novembre 2008) :
Les ciseaux coupent la feuille, la feuille recouvre la pierre, la pierre écrase le lézard, le lézard empoisonne Spock, Spock casse les ciseaux, les ciseaux décapitent le lézard, le lézard mange la feuille, la feuille réfute Spock, Spock vaporise la pierre, et comme toujours, la pierre écrase les ciseaux.
Comment la machine reconnaît la main
Plutôt que d'entraîner un réseau de neurones directement sur des milliers de photos, nous avons découpé le problème en deux : repérer la main, puis classer sa forme. Un modèle simple suffit alors.
- Les données : 2 188 photos de mains sur fond vert (726 pierres, 710 feuilles, 752 ciseaux), issues d'un jeu de données public (rps-cv, licence CC BY-SA 4.0). Nous l'avons enrichi par des retournements et des rotations, jusqu'à plus de 8 000 exemples.
- Les repères de la main : MediaPipe, la bibliothèque de Google, place 21 points sur chaque main (poignet, articulations, bouts des doigts). Une photo devient ainsi 63 nombres : x, y et z pour chaque point.
- La normalisation : les coordonnées de chaque main sont centrées et réduites, puis ramenées entre 0 et 1. Le modèle voit ainsi la forme de la main, quelle que soit sa taille ou sa place dans l'image.

- Le modèle : un classifieur à vecteurs de support (SVC) de scikit-learn. Plusieurs modèles ont été mis en concurrence, puis les réglages du SVC affinés par une recherche aléatoire avec validation croisée ; le meilleur, au sens de l'accuracy (le taux de bonnes réponses), a été retenu.
- Le résultat : 99 % de bonnes prédictions sur les données de test, avec seulement 3 erreurs sur 2 463 cas. Un score aussi haut fait d'abord soupçonner une fuite de données ; vérification faite, il vient de MediaPipe, qui fait le plus gros du travail.

- En jeu : la webcam prend une photo, le modèle prédit le signe avec une probabilité ; si elle est trop faible, l'app demande de recommencer. La machine tire son signe au hasard : à ce jeu, aucune stratégie ne bat le hasard, et c'est bien la reconnaissance du geste qui est mise à l'épreuve. La partie se joue en 3 manches gagnantes.
Pour passer à 5 signes, il fallait des photos du lézard et de Spock, absentes du jeu de données d'origine. L'équipe les a prises elle-même grâce à une petite interface Streamlit d'acquisition rapide : environ 777 photos de Spock et plus de 800 de lézard. Le même type de modèle a ensuite été réentraîné sur les 5 classes.
Projet historique
Chifoumy est le projet de fin du bootcamp Data Science du Wagon Marseille (promotion #1059), que j'ai présenté en public lors du Demo Day.
L'équipe : Claire, David, Stéphanie et moi. Chacun a d'abord mis la main à toutes les étapes, avant de prendre en charge une partie précise du projet.
La démarche :
- Partir d'une version à 3 signes, avec un jeu de données public, pour valider toute la chaîne : données, repères de la main, modèle, app.
- Régler et évaluer le modèle, puis étudier les cas où il hésite, pour fixer le seuil de confiance utilisé en jeu.
- Construire l'interface de jeu avec Streamlit et la webcam du navigateur.
- Photographier les deux nouveaux gestes, réentraîner le modèle et dévoiler la version « plus » en fin de démo (« One more thing… »).
Pour aller plus loin, nous envisagions d'étendre la même méthode à d'autres gestes, jusqu'à un traducteur de langue des signes.
Architecture

Architecture

Remise en état
Quelques années plus tard, l'app ne tournait plus : bibliothèques qui avaient changé, images hébergées sur un ancien site. Je l'ai remise en marche pour ce portfolio.
- Environnement figé : Python 3.12 et MediaPipe 0.10.21, la dernière version compatible avec le code d'origine, gérés avec uv.
- Code allégé : 150 lignes de conditions remplacées par un dictionnaire des règles, vérifié sur les 25 combinaisons possibles.
- Scores par joueur : ils étaient écrits dans un fichier commun à tous les visiteurs ; chaque partie a maintenant les siens.
- Modèles d'origine : les modèles entraînés pendant le bootcamp sont réutilisés tels quels ; ils se chargent et prédisent toujours.
- Déploiement : image Docker sur mon VPS, derrière Caddy en HTTPS, comme mes autres apps (voir l'architecture ci-dessus).
Sources
- Wikipédia : Pierre-feuille-ciseaux
- Slate : D'où vient le jeu pierre-feuille-ciseaux ?
- Sam Kass : Rock Paper Scissors Spock Lizard
- Wolfram MathWorld : Rock-Paper-Scissors-Lizard-Spock
- John D. Cook : How many ways to design rock paper scissors lizard Spock?
- The Big Bang Theory Wiki : The Lizard-Spock Expansion
- Google AI Edge : MediaPipe Hand Landmarker (documentation officielle)
© 2026 Pierre BÉJIAN