Intelligence embarque IMA5 2022/2023 G8

De Wiki d'activités IMA
Révision datée du 11 décembre 2022 à 18:11 par Rsing (discussion | contributions) (Solution)

Projet utilisation de l'IA pour une application embarquée

L'objectif du projet est d'utiliser une application utilisant de l'intelligence artifielle avec des microcontroleurs STM32F401 ainsi qu'un capteur TOF X-NUCLEO-53L5A1

Idées en vrac :

  • reconnaissance d'objets (formes, dimensions) : par exemple boîte en carton
  • détection de position d'objet
  • IHM avec reconnaissance gestuelle (main, mouvements, doigts ...)
  • Détection de la fatigue en regardant les clignements des yeux.
  • Detection du port du casque et équipements de sécurité dans une usine.

Idée retenue : Détection du port du casque et équipements de sécurité dans une usine (lunettes de sécurités, masques...)

Installation de STM32 Cube IDE et de nanoedgeaistudio

  • Extraire les dossiers control et data
  • Executer la commande :
 apt-get update -qy && apt-get -y install procps libnss3

Configuration de STM32 Cube IDE

  • Configurer le réseau de manière à avoir le proxy : proxy.polytech-lille.fr avec le port 3128.
  • Ajouter la licence.

Téleversement du programme

Dans STM32Cube IDE, on ouvre le projet 53L5A1_ThresholdDetection.ioc et on build le project en mode release, cela génère un fichier éxecutable .elf. Enfin on fait un run pour téléverser le programme et le lancer sur la carte.

Affichage des résultats

Dans le programme fourni, il faut modifier les affichages en ajoutant des retours chariot pour pouvoir afficher correctement les valeurs sur le terminal. Ouvrir un terminal et ouvrir minicom dessus, configurer le nombre de bauds à 460800, et observer le tableau des distances.

Utilisation de nano edge ai studio

  • Sélectionner un capteur générique avec 64 axes pour le capteur.
  • Acquisition des signaux (port de casque, port de lunettes, port des deux, aucune protection) via le port série configuré avec le bon nombre de Bauds.
  • Benchmarking des 3 classes de signaux.
  • Emulation du benchmark.

IC1.png

Problème

  • Le benchmarking fait des 3 classes de signaux, avec 100 mesure par classe, ne donnait pas des résultats corrects vu que le modèle indiquait la présence du casque ou des lunettes même en leur absence.

Solution

  • Création de 3 classes de signaux avec 300 mesures par classe.
  • Les mesures ont étaient prises d'une distance très proche du capteur vu que la précision est un peu faible lorsqu'on s'éloigne du capteur.