13.6. Edge Impulse¶
Edge Impulse est une plateforme de bout en bout pour construire des modèles d’apprentissage automatique qui s’exécutent sur des microcontrôleurs : collecter et étiqueter des données, concevoir et entraîner un modèle dans le navigateur, puis l’optimiser pour qu’il tienne sur un appareil mesuré en kilo-octets. Le déploiement vers OpenMV est direct – quelques clics transforment un modèle entraîné en fichiers prêts à être exécutés sur la caméra. La documentation propre à Edge Impulse approfondit chaque étape.
13.6.1. Importer les données¶
Un modèle est plus performant sur le type d’images sur lesquelles il a été entraîné ; capturez donc le jeu de données avec la caméra qui l’exécutera. L’éditeur de jeux de données de l’IDE (dataset editor) est conçu exactement pour cela – créez des dossiers de classes, capturez des images étiquetées depuis le tampon d’image en direct, puis téléversez le jeu de données directement dans un projet Edge Impulse depuis le sous-menu Export (connectez-vous d’abord à votre compte). À partir de là, vous travaillez dans Edge Impulse Studio.
Voir aussi
Le guide de configuration de l’OpenMV Cam propre à Edge Impulse pour installer les outils et connecter la caméra.
13.6.2. Entraînement¶
L’entraînement se déroule entièrement dans le navigateur : concevez une impulse (les blocs d’entrée, de traitement et d’apprentissage), entraînez-la, et vérifiez la précision sur les données de test réservées.
Deux types de modèles conviennent à la caméra. Un classificateur d’images produit une liste de scores de classes, que vous lisez directement à la sortie du modèle – aucun post-traitement n’est nécessaire. FOMO, un détecteur d’objets rapide conçu pour les microcontrôleurs, nécessite une étape de décodage, et la caméra embarque un post-processeur dédié (ml.postprocessing.edgeimpulse), de sorte que ces modèles fonctionnent également sans code supplémentaire.
13.6.3. Déploiement vers la caméra¶
Une fois l’entraînement terminé, ouvrez la page Deployment du projet, choisissez la cible OpenMV Library, et cliquez sur Build. Le téléchargement est un fichier zip contenant le modèle entraîné (trained.tflite), ses étiquettes (labels.txt) et un script d’exemple. Le modèle est quantifié en entiers. Edge Impulse traite ce cas ainsi que l’alternative du micrologiciel personnalisé dans son guide d’exécution sur OpenMV.
Ajoutez le fichier .tflite à la caméra avec l’éditeur ROMFS de l’IDE (ROMFS editor), qui le convertit pour le NPU de la carte lorsqu’elle en possède un, et chargez-le dans un script avec ml.Model. Les modèles s’exécutent également depuis le lecteur flash de la caméra – copiez-y les fichiers et pointez ml.Model vers le chemin – mais ROMFS est l’emplacement à privilégier : les modèles qui s’y trouvent s’exécutent directement depuis la mémoire flash sans copie en RAM.
Voir aussi
Le chapitre sur l’apprentissage automatique pour exécuter des modèles avec le module ml – le chargement, le pipeline d’inférence et le décodage de la sortie.