Ce projet est réalisé pour accompagné l'exposition IA du SEM. Pour en savoir plus : sem.formation@edu.ge.ch
La caméra détecte 468 points sur votre visage grâce au modèle FaceMesh (MediaPipe / ml5.js). Mais l'IA n'utilise pas directement ces 468 points : elle en extrait 20 mesures géométriques normalisées, comme le ratio largeur/hauteur du visage, l'écart entre les yeux, la largeur du nez, l'épaisseur des lèvres, l'angle des sourcils, etc.
Toutes ces mesures sont des ratios : elles sont indépendantes de la distance à la caméra. Aucune photo n'est stockée — seuls ces 20 chiffres et les coordonnées des points (pour le rendu visuel) sont enregistrés.
L'IA utilise un petit réseau de neurones créé avec ml5.js (bibliothèque JavaScript basée sur TensorFlow.js). Il prend en entrée les 20 mesures géométriques et prédit une couleur parmi 6 (rouge, bleu, vert, jaune, violet, orange).
Ce réseau est entraîné entièrement depuis zéro à chaque fois, directement dans votre navigateur. Il n'utilise pas de modèle pré-entraîné : il apprend uniquement à partir des réponses des visiteurs précédents. Au début, il n'a aucune connaissance et fait des prédictions au hasard.
Le modèle se réentraîne automatiquement toutes les 10 nouvelles réponses (configurable). Il a besoin d'au moins 30 réponses couvrant au minimum 3 couleurs différentes avant de commencer à faire des prédictions.
À chaque réentraînement, le modèle repart de zéro avec toutes les données accumulées. Plus il y a de réponses, plus il peut trouver des régularités — mais pas forcément les bonnes !
Cette installation montre que l'IA trouve des corrélations, pas des causes. Si l'IA parvient à « deviner » votre couleur préférée, ce n'est pas parce que la forme de votre visage détermine vos goûts. C'est plutôt parce qu'elle détecte des régularités statistiques (par exemple, un lien entre certains traits du visage liés à l'âge ou au genre, et des préférences de couleur communes dans ces groupes).
p5.js (graphisme), ml5.js v1.3.1 (machine learning), FaceMesh/MediaPipe (détection du visage), TensorFlow.js (calcul du réseau de neurones), PHP (stockage des données).