Ignorer la navigation

Etape 3 - Création d'un premier projet simplifié de Machine Learning

Vous allez créer dans cette étape un premier projet simplifié de Machine Learning permettant au véhicule autonome de reconnaître les ordres du personnel mécanicien pour avancer et s'arrêter.

Pour cela, la caméra du véhicule autonome permettra à l'Intelligence Artificielle embarquée de reconnaître les gestes du personnel mécanicien.

Pour la mise au point de cette IA, les essais seront réalisés avec le robot maqueen qui représentera le véhicule autonome et l'ordinateur de l'îlot avec webcam qui représentera le système embarqué et la caméra du véhicule autonome. La transmission des ordres de l'ordinateur au robot maqueen sera réalisé par onde radio via des cartes micro:bit.

 

En îlot

Réaliser dans l'ordre, sur l'ordinateur de l'îlot qui dispose de la webcam, le travail des onglets 1 à 4 ci-dessous.

1- Création du projet de Machine Learning

Le projet de Machine Learning que vous allez créer dans cette partie va permettre, à partir d'une webcam, de donner une prédiction de l'ordre indiqué par la position des mains du personnel mécanicien.

1-1 Sur l'ordinateur disposant de la webcam, ouvrir le navigateur Chrome , puis ouvrir le compte drive de votre îlot (3emeXilotYpc@collegegujan.fr avec X le numéro de votre classe et Y le numéro de votre îlot - demander le mot de passe au professeur) et lancer le service en ligne Teachable Machine (coin Programmeurs du site technopc > partie Intelligence Artificielle).

1-2 Commencer un nouveau projet basé sur la reconnaissance d'images : Bouton > Projet Images > Modèle d'image standard.

1-3 Prendre connaissance de la description de l'interface en ligne Teachable Machine donnée ci-dessous (cette description couvre tous les besoins ultérieurs dans l'utilisation du service en ligne Teachable Machine, elle devra être consultée par la suite chaque fois que nécessaire).

1-4 Nommer la classe 1 Avant et la classe 2 Arrêt.

1-5 Prendre un minimum d'échantillons pour chaque classe (un seul clic sur le bouton ) en suivant les consignes suivantes :

- accepter l'utilisation de la webcam par la page du navigateur,

- aucun visage ne doit apparaître (voir description ci-contre pour régler la position de la webcam),

- le code "position des mains" pour chacune des classes est défini dans la description ci-contre,

- le même élève de l'îlot sert de modèle pour les échantillons des deux classes.

1-6 Contrôler toutes les images afin de supprimer celles qui ne correspondent pas à la classe en question et qui pourraient ainsi fausser l'apprentissage. Supprimer également les images sur lesquelles un visage est visible (en premier plan ou arrière plan).

1-7 Enregistrer le projet dans le Drive de votre îlot (3emeXilotYpc@collegegujan.fr).

La suite... onglet 2

2- Entraînement et optimisation du projet de Machine Learning

2-1 Modifier le nombre d'époques à 1 (paramètres avancés de l'entraînement - voir image ci-dessous) et entraîner le modèle.

2-2 Tester le résultat de l'apprentissage en observant la qualité des prédictions en temps réel pour différentes positions devant la webcam de l'élève ayant servi de modèle. Que pouvez-vous dire sur la qualité de l'entraînement du modèle ? Quelles solutions préconiseriez-vous pour améliorer son entraînement ? (rédiger votre réponse dans votre document élève "Activité 0-3 A")

2-3 Proposer vos solutions au professeur pour validation puis modifier en conséquence votre modèle Machine Learning (c'est toujours le même élève qui sert de modèle) , l'entraîner et observer les améliorations produites sur le résultat des prédictions. ATTENTION, dans le cas d'ajout d'échantillons, il est OBLIGATOIRE de contrôler toutes les images afin de supprimer celles qui ne correspondent pas à la classe en question et qui pourraient ainsi fausser l'apprentissage, et de SUPPRIMER LES IMAGES SUR LESQUELLES UN VISAGE EST VISIBLE (en premier plan ou arrière plan).

2-4 Tester à nouveau le résultat de l'apprentissage en observant la qualité des prédictions en temps réel pour différentes positions devant la webcam de tous les élèves de l'îlot. Que pouvez-vous dire sur la qualité de l'entraînement du modèle ? Quelle solution préconiseriez-vous pour améliorer son entraînement ? (rédiger votre réponse dans votre document élève "Activité 0-3 A")

2-5 Proposer votre solution au professeur pour validation puis modifier en conséquence votre modèle Machine Learning, l'entraîner et observer les améliorations produites sur le résultat des prédictions. ATTENTION, dans le cas d'ajout d'échantillons, il est OBLIGATOIRE de contrôler toutes les images afin de supprimer celles qui ne correspondent pas à la classe en question et qui pourraient ainsi fausser l'apprentissage, et de SUPPRIMER LES IMAGES SUR LESQUELLES UN VISAGE EST VISIBLE (en premier plan ou arrière plan).

La suite... onglet 3

3- Création du programme utilisant les prédictions du projet de Machine Learning

Le programme que vous allez créer dans cette partie va communiquer au véhicule autonome (symbolisée par le robot maqueen) l'ordre de l'action (avancer, reculer, arrêt...) qu'il doit effectuer en fonction de la prédiction donnée par le projet de Machine Learning créé précédemment.

3-1 Calculer la valeur décimale du pourcentage de prédiction obtenu pour chacune des deux classes de la photo donnée ci-dessous. (faire apparaître le détail du calcul dans votre document élève "Activité 0-3 A")

3-2 A la lecture du programme bloc donné ci-dessous, répondre aux questions ci-après sur votre document élève "Activité 0-3 A"  :

3-2-1 Quelle action permet de démarrer l'exécution du programme ?

3-2-2 A quel moment de l'exécution du programme, le modèle Machine Learning entraîné préalablement sur Teachable Machine est-il appelé dans le programme ?

3-2-3 Au dessus de quel pourcentage de prédiction le programme considère que la détection de la classe est suffisamment fiable pour être traitée par le programme ?

3-2-4 Pourquoi est-il nécessaire de lancer la détection sur l'image de la webcam (permet d'obtenir la prédiction avec la classe détectée et son taux de confiance) également à l'intérieur de la boucle "tant que" (pourquoi cela ne fonctionnerait-il pas si cela n'était fait qu'une seule fois avant d'entrer dans la boucle) ?

3-2-5 Que fait le programme si la classe détectée est Arrêt (voir protocole de communication entre l'ordinateur et le robot maqueen ci-dessous) ?

3-2-6 Que fait le programme si la classe détectée est Avant (voir protocole de communication entre l'ordinateur et le robot maqueen ci-dessus) ?

3-3 Depuis le site technopc, lancer le service en ligne Vittascience Adacraft (coin Programmeurs du site technopc > partie Intelligence Artificielle) et se connecter au compte de votre îlot 3emeXilotYpc@collegegujan.fr (avec X le numéro de votre classe et Y le numéro de votre îlot - demander le mot de passe au professeur).

3-4 Demander au professeur la carte micro:bit "Emetteur" de votre îlot et son câble USB. Raccorder cette carte sur l'ordinateur de l'îlot disposant de la webcam.

3-5 Depuis le service en ligne Vittascience Adacraft ajouter l'extension "micro:bit avec USB" en suivant le mode opératoire donné en image ci-dessous (réaliser dans l'ordre les actions numérotées 1 à 7) :

3-6 Construire le programme bloc donné plus haut en modifiant si nécessaire le pourcentage de prédiction jugé suffisamment fiable par rapport aux résultats de l'entraînement du projet Machine Learning que vous avez fait à l'onglet 2.

3-7 Copier l'url de votre modèle Machine Learning entraîné sur Teachable machine et coller cette url dans le bloc  de Vittascience Adacraft (voir ci-dessous comment récupérer l'url du modèle entrainé sur Teachable Machine : actions surlignées en jaune)

3-8 Sauvegarder dans le compte Vittascience de votre îlot le programme sous le nom "activité 0-3A"

La suite... onglet 4

4- Essais de fonctionnement

4-1 Demander au professeur le robot maqueen de votre îlot. ATTENTION manipulations raisonnées sous la responsabilité de l'élève gestionnaire. Lorsque le robot est en marche (commutateur ON/OFF sur ON), un élève de l'îlot doit le surveiller afin de parer tout risque (chute, blocage sur obstacle avec roues qui forcent...).

4-2 Tester le fonctionnement de votre programme.

4-3 Effectuer une démonstration du bon fonctionnement au professeur.

Bonus efficacité

Le Rapporteur de votre îlot doit prévenir le professeur que vous avez terminé l'étape 3.