Découvrez nos
ressources

Activité : Contrôle caméra

Matériel :

  • 1 robot minimum
  • 1 ordinateur/robot
  • Environnement plat

Paramétrage :

  • Apprentissage supervisé - Caméra

Durée :

1h30 (2*45 min)

Age :

8 ans et +

Recommandé pour découvrir en manipulant

Apprenez à votre robot à réagir en fonction de situations précises !

Cette activité vous permettra d’apprendre comment paramétrer le logiciel AlphAI et son réseau de neurones pour faire fonctionner Mbot dans un environnement simple.

Matériel

Un ordinateur avec une webcam.

Des post-it de 4 couleurs différentes ou des petites feuilles de papier sur lesquelles on a dessiné des grosses flèches de couleurs. Exemples ci-dessous.

Configuration

La configuration du logiciel peut se faire manuellement ou automatiquement.

Pour le configurer automatiquement :

Paramètres > Charger les paramètres d’exemple > Apprentissage supervisé – Évitement d’obstacles (simple)

La configuration peut également se faire manuellement en suivant les indications ci-contre.

  • Capteurs > Caméra 21*16
  • Actions > Avancer ,  Tourner ,  Reculer ,  S’arrêter
  • IA > Type d’apprentissage”Apprentissage supervisé”, Algorithme« réseau de neurone », Vitesse d’apprentissage« 0.02 »,Couches convolutionnelles:vides,Couches de neurones intermédiaires : 50 50.

Niveau 1

Reconnaître une couleur

Pour chacune des actions avancer, reculer, tourner à gauche ou à droite :

  • Choisissez une couleur à attribuer à cette action.
  • Placez le post-it de cette couleur devant la caméra de l’ordinateur.
  • Appuyez sur l’icône de l’action correspondante (ou utilisez le clavier). Le robot réalise l’action demandée et mémorise l’association de cette image avec cette action.




= Avancer



=Reculer



=tourner à gauche



=tourner à droite

S’arrêter

Il faut maintenant apprendre au robot à s’arrêter lorsqu’il ne voit aucun post-it coloré à l’image.

Cliquez sur l’action s’arrêter (carré noir)  lorsque aucun post-it n’est visible à la caméra. Le robot ne bouge pas mais il mémorise l’association de cette image avec l’action s’arrêter.

Vous pouvez vérifier que l’association a bien été mémorisée en consultant la taille de la mémoire d’expérience en haut de l’écran.



=S’arrêter


Maintenant que l’entraînement du robot est terminé, il suffit d’activer le mode autonome en cliquant sur le bouton correspondant ou en pressant la barre espace.

Munissez-vous de vos post-it colorés et placez-les devant la caméra pour contrôler le robot !

Compréhension

Comment le robot prend-t-il des décisions ?

Désactivez le mode autonome en cliquant sur le bouton ou en appuyant sur la barre espace.

Chaque pixel de l’image est décomposé en 3 couleurs : rouge, vert et bleu. On voit donc à l’écran 3 versions monochromes de l’image qui, lorsqu’elles sont superposées, permettent d’obtenir l’image en couleurs.

Attention : il s’agit ici de synthèse additive des couleurs, à ne pas confondre avec les couleurs primaires en peinture ! (Qui correspondent à une synthèse soustractive.)

Chaque pixel d’une image monochrome est associé à un neurone d’entrée dont la valeur va permettre de calculer les niveaux d’activation des couches successives, jusqu’à la couche de sortie.

Comment la caméra détecte-elle les couleurs ?

La couleur du post-it influence les pixels. En effet, une couleur jaune va être détecté par l’assombrissement de la zone correspondante dans l’image bleue. En effet, la couleur jaune est une superposition de rouge et de vert, mais ne contient pas de bleu.

Canal bleu pour un post-it jaune

Pour un post-it bleu 

Le principe est le même pour les deux autres canaux de couleur. La caméra va donc différencier les couleurs présentes sur les post-it et ainsi permettre au robot de prendre une décision. 

Canal rouge pour le post-it jaune

Pour le post-it bleu

Lorsque nous présentons un post-it devant la caméra, comme le montre la photo ci-dessous, nous pouvons voir que la caméra détecte bien la zone de couleur.

Cela affecte les valeurs des neurones d’entrée qui vont propager cette information aux couches de neurones successives.

Lorsque le réseau de neurones est entraîné, les calculs réalisés le conduisent à donner en sortie la valeur la plus élevée à l’action qui correspond le mieux aux données qu’il a mémorisées.

Le choix de s’arrêter repose sur le même principe. Cependant, dans ce cas il n’y a pas de post-it ! Le réseau de neurones détecte plutôt des détails plus spécifiques dans l’image (personne, arrière-plan, etc.). 

Les calculs conduisent à donner la plus forte valeur à l’action s’arrêter lorsque ces détails sont détectés.

⚠️L’unique capteur présent dans cette activité est la caméra de l’ordinateur. Cela signifie que le robot n’est pas capable de savoir s’il y a un obstacle devant lui. C’est entièrement à vous de le guider pour éviter un blocage, un choc ou une chute.

Niveau 2

Déplacement avec la main

Pour effectuer le déplacement du robot avec la main vous devez faire preuve de plus de rigueur lors de l'entraînement de votre mBot. Cela signifie que, pour un entraînement optimal, vous devrez réaliser plusieurs points d’apprentissage pour chaque action de votre robot. 

Il est important lors de l'entraînement de veiller à ce que l’arrière-plan de l’image (tout ce qui n’est pas votre main) soit suffisamment fixe: même cadrage, même luminosité, même nombre de personnes présentes et aux mêmes places, etc. Il faudra aussi respecter ces règles pendant la phase d’utilisation !

Avancer, reculer, tourner à gauche, tourner à droite

Placez votre main au premier plan dans l’image.

Adaptez la position de votre main en fonction de l’action à apprendre.

Enregistrez plusieurs exemples pour chaque action (par exemple, 10 points de données par action).







=Avancer






=Reculer







=Tourner à gauche







= Tourner à droite

S’arrêter

Comme dans la partie précédente, il faut apprendre au robot à s’arrêter lorsqu’il ne détecte pas de main au premier plan dans l’image.



=S’arrêter

Maintenant que l'entraînement du robot est terminé, il suffit d’activer le mode autonome en cliquant sur le bouton correspondant ou en pressant la barre espace.

Placez votre main devant la caméra comme lors de l'entraînement et observez les réactions du robot !

Compréhension

Le fonctionnement de la caméra est identique dans les deux apprentissages.

Mais cette fois-ci, le réseau de neurones doit apprendre à détecter la position de votre main dans l’image, plutôt que la couleur d’un post-it. Il s’agit d’une tâche plus complexe pour un réseau de neurones, car il n’y a pas de limite objective entre une position centrale et une position à droite, par exemple. Le réseau va donc devoir déterminer lui-même où placer les limites entre les 4 positions possibles.

De plus, de nombreux éléments perturbateurs vont pouvoir altérer les prises de décision du réseau. Le réseau doit apprendre que la taille de votre main, sa forme, la position des doigts, son orientation, etc., ne sont pas importants pour la prise de décision : seulement la position de la main doit être prise en compte. C’est pour cela qu’il faut donner plusieurs exemples pour chaque type d’action.

L’arrière-plan de l’image est aussi une source importante de perturbations. C’est pour cela qu’il est important de veiller à conserver un arrière-plan le plus fixe possible.

Ce niveau vous permettra d’obtenir un résultat fluide lors des déplacements du robot, allant de pair avec une meilleure compréhension du fonctionnement de l’intelligence artificielle. 






Pendant l'entraînement 






Pendant l’autonomie

=OK

La caméra est dans la même position et renvoie les mêmes informations pour les 2 phases. Le robot se concentre sur ma main et non l’arrière-plan.

💡Astuce: Si vous réalisez cette activité seul, assurez-vous de pouvoir observer le robot sans déplacer votre tête durant l'entraînement et l’autonomie. 

Les biais explicites

Les IA actuelles fonctionnent grâce à de l’apprentissage automatique à partir d’exemples. Ces exemples sont appelés données d’apprentissage. La qualité du résultat obtenu dépend donc en premier lieu de la qualité de ces données d’apprentissage.

En apprentissage automatique, on cherche à éviter dans les données d’apprentissage la présence de deux types de biais (c’est-à-dire des erreurs, des phénomènes indésirables ou de manière générale des écarts entre le résultat souhaité et le résultat obtenu).

Le premier type de biais est appelé biais explicite. Il s’agit d’une erreur humaine de classification lors de l’entraînement de l’IA. Exemple : Si on a demandé au robot de reculer lorsque la caméra voit l’image ci-dessous (par exemple parce qu’on a appuyé sur la mauvaise touche par inadvertance). 

+







(Reculer)

=Biais Explicite

Dans ce cas, le réseau de neurones va avoir du mal à prendre une décision lorsque la caméra observe une image similaire, à cause de cette contradiction présente dans ses données d’apprentissage.

Pour éliminer ce type de biais, il suffit de supprimer ces erreurs présentes dans les données.

Les biais implicites

Les biais implicites sont plus difficiles à détecter car il ne s’agit pas d’erreurs objectives, mais plutôt d’un manque de diversité des données, qui ne suffisent pas à couvrir tous les cas rencontrés lors de l’utilisation.

Voici une règle simple à retenir : lorsque l’IA est confrontée à une situation qui est trop différente de toutes ses données d’apprentissage, alors le choix de l’IA face à cette situation est imprévisible !

Pour éviter cela, il faut, lors de l’entraînement, être particulièrement attentif à générer une diversité d’exemples représentative des situations que l’IA est susceptible de rencontrer lors de son utilisation.

Données d'entraînement

Image à analyser

Quelle décision l’IA va-t-elle prendre ?

Comment améliorer les données d’entraînement pour s’assurer que cette décision soit la bonne ? (indice : il faudrait utiliser 4 exemples).