logo
OpenMV
Caméra à domicile
Applications
Magasin
AI
Canaux de vente
Soutien
OpenMVOpenMV
BoucliersBoucliers
LentilleLentille
RobotiqueRobotique
LivreLivre
VidéoVidéo
TéléchargerTélécharger
DocumentsDocuments
ForumForum
OpenMV.ioOpenMV.io
GitHubGitHub

OpenMV4 Plus utilise Edge Impulse pour entraîner un réseau neuronal personnalisé à la reconnaissance des masques SingTown

En avril dernier, notre nouveau produit OpenMV4 H7 Plus a été lancé. Aujourd'hui, je vais vous présenter sa nouvelle fonctionnalité : utiliser le site en ligne EdgeImpulse pour entraîner soi-même un réseau neuronal afin de réaliser une classification et une reconnaissance.

Dans ce tutoriel, vous utiliserez l'apprentissage automatique pour construire un système de reconnaissance qui, via la caméra intelligente OpenMV4 H7 Plus, peut identifier si un visage porte un masque, réalisant ainsi une classification d'images.

OpenMV产品图

EdgeImpulse est une plateforme en ligne qui fournit des services d'entraînement de modèles de réseaux neuronaux pour les appareils embarqués. C'est un partenaire de notre OpenMV et tous deux sont également des partenaires officiels de STMicroelectronics. Actuellement, EdgeImpulse est gratuitement accessible à nos utilisateurs OpenMV, qui peuvent ainsi utiliser gratuitement la plateforme pour entraîner en ligne des modèles de réseaux neuronaux adaptés à OpenMV.

L'ajout de réseaux neuronaux aux dispositifs embarqués OpenMV permet de distinguer les braconniers des éléphants, d'assurer le contrôle qualité sur les chaînes de production industrielles et de permettre aux modèles de voitures télécommandées de conduire de manière autonome.

Dans ce tutoriel, vous apprendrez comment collecter des images pour constituer un ensemble de données de haute qualité, comment appliquer l'apprentissage par transfert pour entraîner un réseau neuronal, et comment déployer le système sur OpenMV.

De plus, nous fournissons également un tutoriel vidéo, que vous pouvez consulter en recherchant "OpenMV4 Plus Training Neural Network for Mask Recognition" sur le site officiel de SingTown.

Vous pouvez consulter l'intégralité du projet à l'adresse suivante, incluant tous les codes et modèles : https://book.openmv.cc/project/mask.html

L'utilisation d'EdgeImpulse pour entraîner en ligne un modèle de réseau neuronal adapté à OpenMV se décompose principalement en quatre étapes : collecte des données, téléchargement, entraînement et déploiement.

01、Collecte de données

Dans ce tutoriel, nous allons construire un modèle capable de distinguer si un visage porte un masque ou non. Vous pouvez également choisir de classer d'autres objets. Pour que le modèle d'apprentissage automatique fonctionne, vous devez collecter un grand nombre d'images d'exemples de visages avec et sans masque. Pendant l'entraînement, ces images d'exemples sont utilisées pour exercer la capacité de distinction du modèle.

Nous devons utiliser OpenMV IDE pour collecter notre ensemble de données. Les étapes pour capturer les images sont les suivantes :

Créer deux catégories :

Ouvrez l'onglet "Outils" dans la barre de menu de l'IDE OpenMV, sélectionnez "Éditeur de jeu de données", cliquez sur "Nouveau jeu de données", puis créez un nouveau dossier et ouvrez-le. À l'intérieur du jeu de données, créez deux nouveaux dossiers nommés respectivement "mask" (pour enregistrer les photos de visages portant un masque) et "face" (pour enregistrer les photos de visages sans masque).

口罩识别教程-新建数据集
口罩识别教程-创建分类文件夹

Capture d'images avec OpenMV

Tout d'abord, nous connectons l'OpenMV, cliquons sur "Connecter" dans l'IDE, puis sur "Exécuter". Dans le tampon d'images Framebuffer, nous pouvons voir l'image en temps réel de l'OpenMV. En cliquant sur le bouton photo dans la barre de menu de gauche, l'OpenMV enregistre automatiquement cette image, ce qui constitue une donnée dans l'ensemble de données.

Tout d'abord, nous devons enregistrer les visages portant un masque. En cliquant sur le bouton photo, l'IDE prendra une photo en bas, qui sera automatiquement nommée 00000, puis la suivante sera 00001, et ainsi de suite.

Utilisez OpenMV pour collecter respectivement 200 photos de visages portant un masque (100 hommes et 100 femmes) et 200 photos de visages sans masque (100 hommes et 100 femmes).

口罩识别教程-用OopenMV采集男生戴口罩的图像
口罩识别教程-用OopenMV采集女生戴口罩的图像

* Remarque : Assurez-vous de collecter des photos sous différents angles pour garantir la diversité de notre apprentissage par entraînement.

Si lors de la collecte, vous constatez qu'une image n'est pas suffisamment parfaite, vous pouvez faire un clic droit sur cette image et cliquer sur Supprimer.

02、Téléchargement

Après avoir capturé des images avec OpenMV, vous devez créer un compte et vous connecter sur le site officiel d'EdgeImpulse (https://edgeimpulse.com/) pour commencer à télécharger les images. Les étapes pour télécharger les images sont les suivantes :

Créez un nouveau projet sur EdgeImpulse, cliquez sur "keys", sélectionnez "API Key" et copiez-la. Utilisez cette clé API pour établir la connexion entre OpenMV IDE et Edge Impulse.

口罩识别教程-和Edge Impulse的连通

Sélectionnez "Outils" – "Éditeur de données" – "Exporter" – "Téléverser" – "Téléverser via clé API" dans la barre de menu supérieure de l'IDE OpenMV, puis copiez et téléversez la "Clé API".

Les données seront automatiquement divisées en un ensemble d'entraînement et un ensemble de test lors du téléchargement. Nous recommandons de conserver le ratio par défaut de "80 % et 20 %". Nous avons collecté plus de 400 images faciales au total. Les 80 % de données d'entraînement (Training Date) signifient que 80 % de vos données sont utilisées pour l'entraînement, tandis que les 20 % restants servent d'ensemble de test.

口罩识别教程-用OpenMV上传数据集
口罩识别教程-将数据集上传到EdgeImpulse上

03、Ensemble de données d'entraînement

Une fois le jeu de données prêt, vous pouvez l'entraîner via l'interface web d'EdgeImpulse.

Module de traitement de configuration :

Tout d'abord, sélectionnez "Impulse Design" et configurez le module de traitement :

Définir les dimensions par défaut de l'image sur "96 x 96

* Sélectionnez le module "Images" pour indiquer que nous effectuons un entraînement de classification d'images (vous pouvez également utiliser EdgeImpulse pour classer des sons, des vidéos, etc.) ;

* Sélectionnez "Apprentissage par transfert (images) Transfer Learning (Images)", configurez le modèle à apprendre ;

Sélectionnez "Enregistrer l'impulsion Save", l'affichage de "Successfully" indique que la configuration a réussi.

口罩识别教程-配置处理模块

Prétraitement d'image :

Cliquez sur "Image" dans le menu de gauche, définissez le format de couleur sur "RGB", puis cliquez sur "Enregistrer".

口罩识别教程-图像预处理

Ensuite, sélectionnez "Générer les caractéristiques" pour lancer le processus. Le prétraitement des images sera effectué sur plus de 400 données, et une visualisation 3D de l'ensemble complet des données sera affichée à droite.

口罩识别教程-数据可视化处理

Configuration du modèle d'apprentissage par transfert

Cliquez sur "Apprentissage par transfert (Transfer learning)" dans le menu de gauche, sélectionnez tous les paramètres par défaut ou modifiez-les selon vos besoins :

1. Définir le nombre de cycles d'entraînement Number of training cycles par défaut sur 10

2. Régler le taux d'apprentissage Learning rate à 0,0005

3. Vous pouvez cocher ou non l'option "Augmentation des données Data augmentation

4. Définir la confiance minimale Minimum confidence rating par défaut à 0.8.

Cliquez sur "Commencer l'entraînement Start training". Le processus d'entraînement dure environ 4 à 5 minutes.

Une fois l'entraînement du modèle terminé, vous pouvez consulter la précision, la matrice de confusion et les performances attendues de l'appareil.

口罩识别教程-训练完成后的表现

Modèle de test :

Après l'entraînement, nous utiliserons les données de test pour évaluer le modèle.

Sélectionnez "Test de modèle Model testing", cochez la case à côté de "Nom de l'échantillon Sample name", puis cliquez sur "Classer la sélection Classify selected". La précision affichée ici atteint 97%, ce qui est remarquable pour un modèle disposant de si peu de données.

口罩识别教程-测试模型

La découverte indique que cette image affichée en rouge est incertaine. Cliquez sur les trois points à droite de cette image, sélectionnez "Afficher la classification Show classification", et vous accéderez à l'interface "Classification en temps réel", qui contient plus de détails sur le fichier. Cette interface vous aidera à déterminer la raison de l'erreur de classification de l'image.

口罩识别教程-无法分类的图片

Si les données se situent en dehors de tous les clusters connus (avec/sans masque), cela peut indiquer des données qui ne correspondent à aucune catégorie observée précédemment – peut-être en raison d'un visage largement couvert par les cheveux.

04. Exécution du modèle sur OpenMV

Après avoir terminé les étapes de conception de l'entraînement, de l'entraînement du modèle et de la validation du modèle, vous pouvez exporter ce modèle vers votre OpenMV. Sélectionnez "OpenMV", puis "Build" pour générer. Trois fichiers sont automatiquement créés :

trained.tflite Modèle de réseau neuronal entraîné

labels.txt deux étiquettes de catégorie (face et mask)

* ei_image_classification.py est le code à exécuter sur OpenMV

口罩识别教程-在OpenMV上运行模型

Connectez OpenMV IDE et enregistrez ces trois fichiers dans la mémoire Flash intégrée d'OpenMV. Ouvrez le fichier ei_image_classification.py dans OpenMV IDE pour voir le code que nous venons de générer dans EdgeImpulse. Cliquez sur Exécuter, les résultats de l'exécution s'afficheront dans le terminal série.

口罩识别教程-识别戴口罩的人脸.
口罩识别教程-识别不戴口罩的人脸

Très bien, vous avez réussi à ajouter la fonctionnalité d'entraînement autonome des réseaux neuronaux à OpenMV.

Nous attendons vos résultats avec impatience !

Articles connexes

机房/配电房/单元门敞开识别

Sentinelle IA basée sur OpenMV : rappel automatique en cas de non-fermeture des lieux sensibles

Détecte automatiquement si la porte d’un lieu stratégique reste ouverte pendant une durée prolongée et en informe sans délai.

越界识别

Alerte en cas de franchissement non autorisé par une personne ; OpenMV interprète la « sensation de limite sécurisée ».

Détection des franchissements de ligne de surveillance virtuelle par des personnes ou des équipements.

占道经营识别

« Agent municipal intelligent » : système automatisé de détection des activités commerciales illégales sur la voie publique basé sur OpenMV

Reconnaissance automatique des activités commerciales illégales sur la voie publique, afin de soutenir la gestion quotidienne des villes.

煤气罐违规摆放识别

Le gaz butane est-il mal rangé ? Déclenchez automatiquement une alerte de danger à l’aide d’OpenMV

Détection automatique des emplacements non conformes des bouteilles de gaz afin d’identifier préalablement les risques liés au gaz.

绝缘手套佩戴识别

Travaux sous tension sans gants isolants ? OpenMV déclenche immédiatement une alerte !

Détection automatique du port de gants isolants par les opérateurs afin d’assister les opérations sécurisées.

铝板缺陷识别

Utilisation de la caméra intelligente OpenMV pour détecter en temps réel les défauts présents à la surface des plaques d’aluminium

Détection en ligne des défauts tels que les rayures et les déformations sur la surface des plaques d’aluminium, afin de soutenir la maîtrise de la qualité.

Catégories populaires

Langue et région
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号