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

Détection de points cibles par réseau neuronal entraîné localement avec OpenMV – Reconnaissance de panneaux de signalisation dans un environnement routier réel

Il existe deux tâches très courantes de l’intelligence artificielle dans le domaine de la vision : la classification et la détection d’objets.

Catégorie :Déterminer à quelle catégorie appartient l’image, par exemple si celle-ci représente un chat ou un chien.

Détection d’objets :Permet de déterminer la position, le nombre et les dimensions de plusieurs objets distincts présents dans une image.

Dans les précédents tutoriels vidéo, nous avons expliqué comment entraîner en ligne un réseau de neurones à l’aide de la caméra OpenMV4 Plus afin de classifier différents objets. Ce système permet de déterminer en temps réel si une image située dans le champ de vision de la caméra OpenMV correspond à un objet donné, par exemple s’une personne porte un masque facial. Toutefois, il ne fournit pas les coordonnées de position du visage ou du masque, ni le nombre total de visages détectés.

La détection d’objets étant beaucoup plus complexe et gourmande en ressources calculatoires que la classification, elle est très rare dans le domaine des microcontrôleurs. Le microcontrôleur principal d’OpenMV est le STM32H7. Nous avons désormais ajouté à OpenMV une nouvelle fonctionnalité permettant d’exécuter des tâches similaires à la détection d’objets directement sur microcontrôleur, avec des performances remarquables.

交通标志识别教程-多个目标的识别

Aujourd’hui, nous vous expliqueronsEntraînement démontrant la détection des panneaux de signalisation dans un environnement routier réel, détectant les panneaux de signalisation présents sur nos routes réellespar exemple, l’interdiction de klaxonner, l’interdiction de stationner et la limitation de vitesse à 80 km/h, plutôt qu’un environnement de laboratoire exempt d’interférences.

Vous pouvez consulter l’ensemble du projet, y compris tout le code et tous les modèles, à l’adresse suivante : https://book.openmv.cc/project/traffic-sign.html

Il est bien connu que l’environnement réel est extrêmement complexe, notamment sur les routes, où de nombreux facteurs de perturbation sont présents. Nous avons capturé des images de panneaux de signalisation dans des environnements réels à l’aide de téléphones portables et d’autres appareils, puis nous avons entraîné un modèle sur le site Web en ligne EdgeImpulse de notre partenaire OpenMV ; environ 270 images ont été annotées, et l’entraînement n’a pris que 10 minutes. La précision du modèle obtenu, mesurée par le score F1, atteint 92 %, tandis que le taux d’images par seconde atteint 10 images sur OpenMV, ce qui assure une exécution fluide et une grande précision.

Vous pouvez former le système à détecter n’importe quel objet souhaité en suivant nos tutoriels vidéo, par exemple différents chiffres, divers fruits, divers repères, différentes pièces ou encore n’importe quel objet irrégulier spécifique. Le système peut ainsi identifier et fournir le nombre d’objets détectés, leurs coordonnées ainsi que leurs catégories respectives.

Remarque :Cette vidéo tutorielle présente la fonction de détection de points cibles basée sur les réseaux neuronaux, qui est compatible non seulement avec l’OpenMV4 H7 Plus, mais aussi avec l’OpenMV4 H7. En effet, les modèles entraînés de détection de points cibles FOMO sont peu volumineux, offrent d’excellents résultats et ne pèsent que quelques dizaines de ko. Même si la mémoire vive de l’OpenMV4 H7 est inférieure à celle de la version Plus, il est possible d’entraîner un modèle légèrement plus petit afin qu’il fonctionne correctement sur l’OpenMV4.

Voici ci-dessous une brève présentation du principe :

Les principales décisions de conception relatives à la détection des points cibles FOMO sur OpenMV reposent sur l’idée que, dans de nombreux problèmes de détection d’objets, il n’est pas nécessaire de connaître la taille des objets, mais uniquement leur position dans l’image. Une fois la position des objets déterminée, des opérations ultérieures peuvent être effectuées, par exemple le contrôle d’un véhicule par OpenMV afin qu’il se déplace vers la cible détectée, l’atterrissage précis d’un drone ou encore le contrôle d’un bras robotique pour saisir un objet cible spécifique.

Le modèle FOMO est un modèle spécialement conçu par EdgeImpulse pour les environnements à microcontrôleur ; contrairement à la détection d’objets classique, il permet uniquement de détecter la position et le nombre de plusieurs objets, sans toutefois en fournir les dimensions exactes.

Le principe fondamental du modèle FOMO est très simple et souple. Il commence par diviser l’image en blocs de 8 × 8 pixels. Pour une image de résolution 96 × 96, cela donne une grille de 12 × 12 cellules ; pour une image de résolution 360 × 360, cela donne une grille de 40 × 40 cellules. Ensuite, une classification d’image est effectuée indépendamment sur chaque cellule.

Par rapport à YOLO V5 ou MobileNet SSD, FOMO offre de bien meilleures performances pour la détection d’un grand nombre de petits objets. La détection de points cibles par FOMO est 30 fois plus rapide que celle de MobileNet SSD.

Si les objets à détecter sont de tailles similaires, par exemple si les dimensions des repères à identifier varient peu, plutôt qu’un objet très grand et un objet très petit, les performances de FOMO seront meilleures.

OpenMV utilise EdgeImpulse pour l’entraînement en ligne de réseaux neuronaux destinés à la détection de points cibles, ce qui comprend principalement les étapes suivantes : acquisition et téléchargement du jeu de données d’images, annotation des cibles, entraînement, test du modèle et déploiement.

* Collecte d’un ensemble de données d’images : prise de photographies d’objets spécifiques présents dans l’environnement réel que nous devons identifier. Nous recueillons des images réelles dans le même environnement où s’effectuera la reconnaissance ; ainsi, l’environnement réel d’entraînement et l’environnement réel de détection sont essentiellement identiques, ce qui améliore les résultats.

* Objectif de l’annotation : encadrer chaque objet à détecter dans notre jeu de données et associer à chacun son nom, afin de faciliter l’entraînement ultérieur ainsi que la détection de la position et du nom des objets.

* Modèle d’entraînement : Une fois l’annotation terminée, le modèle est entraîné selon les paramètres du réseau de neurones convolutifs que nous avons conçus.

* Modèle de test : Nous effectuons des essais à l’aide du modèle entraîné. Si les résultats ne sont pas satisfaisants, nous augmentons respectivement l’ensemble de données d’entraînement ou ajustons les paramètres d’entraînement, puis nous poursuivons l’entraînement jusqu’à l’obtention d’un modèle satisfaisant.

* Déploiement : Il suffit de placer les fichiers du modèle entraîné sur la clé USB intégrée à la caméra OpenMV pour les exécuter.

Voici une démonstration du processus précis :

01. Collecter et téléverser l’ensemble de données d’images

1. Tout d’abord, connectez-vous au site Web edgeimpulse.com, sélectionnez « Connexion », saisissez le nom du projet nouvellement créé, puis choisissez « Images » — « Classifier plusieurs objets ».

交通标志识别教程-新建项目.

Deuxièmement, sélectionnez une image à télécharger. Il existe plusieurs façons d’obtenir un ensemble de données d’images :

1. Capturer des images en temps réel à l’aide de l’IDE OpenMV. Utilisez l’outil « Éditeur de jeux de données » intégré à l’IDE OpenMV pour créer un nouveau jeu de données et capturer des images en temps réel. Pour plus de détails, consultez notre tutoriel vidéo précédent sur la classification d’objets et la détection de masques.

交通标志识别教程-.实时采集图像

2. Des images téléchargées depuis Internet ou prises directement à l’aide d’un téléphone mobile. Il est préférable que ces images correspondent autant que possible à l’environnement réel dans lequel vous effectuez la détection. Nous avons préparé un ensemble de quatre à cinq cents images représentant des panneaux de signalisation routière tels que « Stationnement interdit », « Klaxon interdit » et « Vitesse maximale : 80 km/h », toutes capturées sur des routes réelles. Cet ensemble de données est disponible au téléchargement sur notre dépôt GitHub et sur notre site Web de tutoriels.

02. Cibler les éléments à annoter

Pour chaque catégorie, environ 100 images sont téléchargées ; une fois le téléchargement des images terminé, celles-ci doivent être annotées afin d’indiquer la position et la catégorie des objets à détecter.

交通标志识别教程-上传图片
交通标志识别教程-标记物体

03. Entraînement du modèle

Définissez les paramètres de l’entraînement, modifiez la résolution à 128 × 128 et conservez tous les autres paramètres aux valeurs par défaut, puis cliquez sur Enregistrer.

交通标志识别教程-训练模型1.

Générer les fonctionnalités ; les trois couleurs représentent respectivement trois symboles.

交通标志识别教程-训练模型2

Définissez les paramètres d’entraînement pour la détection d’objets. Le nombre d’époques d’entraînement est par défaut de 60, le taux d’apprentissage est de 0,001 et la proportion de l’ensemble de validation est de 20 %. Cochez la case « Augmentation des données ». Pour le modèle d’apprentissage par transfert, vous pouvez choisir par défaut MobileNetV2 0,35 ou MobileNetV2 0,1. (Remarque : SSD ne peut pas être utilisé, car il n’est pas pris en charge sur OpenMV.)

Sélectionnez Démarrer l’entraînement. Une fois l’entraînement terminé, le score F1 du modèle de réseau neuronal obtenu est de 91,2 %; nous pouvons enregistrer la version actuelle.

交通标志识别教程-训练模型3

Sélectionnez un emplacement de stockage, saisissez une description, puis cliquez sur Enregistrer.

交通标志识别教程-训练模型4

04. Déploiement du modèle

Exporter le fichier du modèle entraîné. Il suffit d’exporter la bibliothèque ; sélectionnez OpenMV, puis cliquez sur Build pour démarrer le déploiement et l’exportation du modèle.

交通标志识别教程-部署模型1

Il téléchargera automatiquement le modèle que nous avons exporté, soit ici le modèle entraîné à partir de nos 300 images, ce qui achève ainsi l’ensemble de notre processus d’entraînement.

交通标志识别教程-部署模型2

05. Exécution du modèle

Exécuter le modèle sur OpenMV :

Connectez l’OpenMV Plus, copiez les trois fichiers entraînés dans la clé USB intégrée de l’OpenMV, puis ouvrez le fichier ei_object_detection.py dans l’IDE OpenMV. Cliquez sur Exécuter ; les résultats de l’exécution s’afficheront dans le terminal série.

交通标志识别教程-运行模型1
交通标志识别教程-运行模型2

Cette fonctionnalité peut également être exécutée sur la carte OpenMV4. Comme celle-ci ne comporte pas de SDRAM externe, sa mémoire est plus restreinte ; nous pouvons donc réduire la taille du modèle afin de permettre son exécution sur la carte OpenMV4.

Il existe deux méthodes pour réduire la taille du modèle :

1. Réduire la résolution d’entraînement en passant d’une résolution de 128 × 128 à une résolution de 96 × 96.

Deuxièmement, modifier le modèle d’apprentissage par transfert utilisé en remplaçant MobileNetV2 0,35 par MobileNetV2 0,1.

Enfin, placez le nouveau fichier entraîné dans la caméra OpenMV4 pour l’exécuter.

Voilà notre tutoriel sur la détection des points cibles. Nous attendons avec impatience vos résultats !

# Transport intelligent

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 clé reste ouverte pendant une période prolongée et en avise immédiatement.

越界识别

Alerte en cas de franchissement non autorisé d’une personne ; OpenMV illustre le « sentiment de sécurité lié aux limites ».

Détecte les comportements de franchissement de la ligne de délimitation virtuelle par des personnes ou des équipements.

占道经营识别

« AI-Gestionnaire urbain » : 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.

煤气罐违规摆放识别

Cylindre de gaz 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 à l’avance les risques pour la sécurité liés au gaz.

绝缘手套佩戴识别

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

Détecte automatiquement si les travailleurs portent des gants isolants afin de faciliter l’exécution sécuritaire des tâches.

铝板缺陷识别

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号