SE5 ECEAI/eceai 2024/2025/cruchet-deryckere

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

Introduction

Notre projet est d'entraîner une IA à reconnaitre nos deux voix afin de déterminer quelle personne parle.

Pour ce faire, nous disposons de :

  • une carte Nucleo-F401RE
  • un microphone Adafruit MAX4466
  • une machine virtuelle
  • une Raspberry Pi 4 (IP : 172.26.145.209)
  • le logiciel Nanoedge AI

Firmware

Pour prendre en main le microphone, nous avons développé un programme python pour afficher le signal et sa FFT. On connecte le micro à la carte Nucleo avant d'envoyer les données (entre 0 et 4095) par liaison série. Le programme python intercepte ses données et les centre autour de 0 avant de les afficher sur un graphique.

Pour que l'IA comprenne ces données, nous envoyons un bus comprennant entre 2 et 4096 données (puissance de 2) séparées par des ";", qui seront ensuite découpées et placées dans un tableau sur Nanoedge AI.

Implémentation de l'IA

Nous avons enregistré séparément nos 2 voix (et, dans certains cas, un signal "autre", avec des bruits de fond et d'autres voix que les notres) et les avons donné à l'IA pour qu'elle les "apprenne". Nous nous sommes rendu compte d'un dilemme important pour notre utilisation de l'IA :

  • soit on choisit d'envoyer un grand bus de données : l'IA trouve plus souvent notre voix mais le temps de calcul est plus long
  • soit on choisit d'envoyer un petit bus de données : l'IA a plus de mal à avoir le bon résultat mais le temps de calcul est plus court

Nous avons essayé de régler ce problème pour calculer rapidement en envoyant de grand bus de données en supprimant le délai de 1ms mis en place dans le firmware.

Nombres de points Score %
2 99.88
64 56.37
512 78.94
2048 83.75
4096 50

Modèle:Graph:Chart



Lors de la 2eme séance, nous avons réalisé plusieurs tâches:

-Mise en place de la Raspberry Pi 4 (OS + configuration UART)

-Prise en main du capteur de Nucleo-53L5A1

-Réflexion des différents protocoles qui vont être utilisé pour ce projet

- Installation de mosquitto sur la vm

-Nous avons mis en place le point d'accès Wifi sur le Cisco pour la promo connexion sur cet AP avec la raspberry (ping possible depuis la vm)


Concernant la communication entre le capteur et la Raspberry Pi 4, elle se fera en UART car simple à mettre en oeuvre, puis la communication entre la Raspeberry Pi 4 et la Machine Virtuelle se fera via MQTT qui est un protocole de communication utilisé dans les réseaux privés.