logo
OpenMV
Thuiscamera
Toepassingen
Winkel
AI
Verkoopkanalen
Steun
OpenMVOpenMV
SchildenSchilden
LensLens
RoboticaRobotica
BoekBoek
VideoVideo
DownloadenDownloaden
DocumentenDocumenten
ForumForum
OpenMV.ioOpenMV.io
GithubGithub

OpenMV: zelf getraind neuronaal netwerk voor doelpuntdetectie – herkenning van verkeersborden in een werkelijke wegomgeving

In het visuele domein zijn er twee zeer veelvoorkomende taken voor kunstmatige intelligentie: classificatie en objectdetectie.

Categorie:Bepaal tot welke categorie de afbeelding behoort, bijvoorbeeld kat of hond.

Doelherkenning:Gebruikt om de locatie, het aantal en de afmetingen van meerdere verschillende objecten in een afbeelding te bepalen.

In eerdere videolessen hebben we uitgelegd hoe u met de OpenMV4 Plus een neuraal netwerk kunt trainen om verschillende objecten te classificeren. Dit systeem kan in realtime bepalen of een afbeelding in het zichtveld van uw OpenMV een bepaald object is, bijvoorbeeld of een gezicht een mondmasker draagt. Het kan echter niet de coördinaten van het gezicht of het mondmasker opgeven, noch het aantal gezichten.

Aangezien objectdetectie veel complexer en rekenintensiever is dan classificatie, komt deze techniek op microcontrollergebied zeldzaam voor. De hoofd-MCU van OpenMV is de STM32H7. Wij hebben nu een nieuwe functie toegevoegd aan OpenMV waarmee soortgelijke objectdetectietaken op een microcontroller kunnen worden uitgevoerd, met zeer indrukwekkende prestaties.

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

Vandaag bespreken wijTraining demonstratie voor detectie van verkeersborden in een werkelijke weg-omgeving, detectie van verkeersborden op onze werkelijke wegenbijvoorbeeld verbod op het gebruiken van de claxon, verbod op parkeren en een snelheidslimiet van 80 km/u, in plaats van een laboratoriumomgeving zonder storingen.

U kunt de volledige projectinhoud, inclusief alle code en modellen, bekijken op het volgende adres: https://book.openmv.cc/project/traffic-sign.html

Zoals bekend is, is de werkelijke omgeving zeer complex, met name de wegomgeving, waar veel storingen optreden. Wij hebben met behulp van mobiele telefoons en andere apparaten afbeeldingen van verkeersborden in de werkelijke omgeving verzameld, en hebben het model getraind op de online website van onze OpenMV-partner EdgeImpulse. Ongeveer 270 afbeeldingen zijn gelabeld en de training duurde slechts tien minuten. De resulterende modeln behaalden een F1-score van 92 %, terwijl de uitvoeringssnelheid op OpenMV 10 frames per seconde bedroeg, wat resulteerde in een zeer vloeiende en nauwkeurige werking.

Gebruikers kunnen volgens onze videocursussen elk gewenst object trainen voor detectie, zoals verschillende cijfers, verschillende fruitsoorten, verschillende markeringen, verschillende onderdelen of zelfs elke specifieke onregelmatige doelobjecten. Hierdoor kan het aantal, de coördinaten en de soortnaam van de betreffende objecten worden herkend.

Let op:De functie voor het detecteren van doelpunten met behulp van neurale netwerken, die in deze videoles wordt behandeld, is niet alleen geschikt voor de OpenMV4 H7 Plus, maar ook voor de OpenMV4 H7. Het getrainde FOMO-model voor doelpuntdetectie is namelijk zeer compact, levert uitstekende resultaten op en heeft een omvang van slechts enkele tientallen KB. Ook al is het werkgeheugen van de OpenMV4 H7 kleiner dan dat van de Plus-versie, toch kunnen we een iets kleinere versie van het model trainen die op de OpenMV4 H7 kan worden uitgevoerd.

Hieronder vindt u een beknopte uitleg van het principe:

De belangrijkste ontwerpbeslissingen voor de FOMO-objectpuntdetectie op OpenMV zijn gebaseerd op het idee dat bij veel objectdetectieproblemen de grootte van het object niet nodig is, maar alleen de positie ervan in de afbeelding. Zodra we de positie van het object kennen, kunnen we vervolgens verdere acties uitvoeren, zoals het besturen van een robotwagentje met OpenMV naar het gedetecteerde doel, het uitvoeren van een gestuurde landing met een drone of het besturen van een robotarm om een specifiek doelobject te grijpen.

Het FOMO-model is een speciaal voor microcontrolleromgevingen ontworpen model van EdgeImpulse dat, in tegenstelling tot conventionele objectdetectie, uitsluitend de locaties en het aantal objecten kan detecteren, maar niet de exacte afmetingen.

De onderliggende werking van het FOMO-model is zeer eenvoudig en flexibel. Het verdeelt een afbeelding eerst in blokken van 8 × 8 pixels. Bij een afbeelding met een resolutie van 96 × 96 pixels levert dit een raster van 12 × 12 cellen op. Bij een afbeelding van 360 × 360 pixels levert dit een raster van 40 × 40 cellen op. Vervolgens wordt op elke cel afzonderlijk een afbeeldingsclassificatie uitgevoerd.

In vergelijking met YOLO V5 of MobileNet SSD presteert FOMO aanzienlijk beter bij het detecteren van grote aantallen kleine objecten. FOMO-objectpuntdetectie is 30 keer sneller dan MobileNet SSD.

Als de objecten die moeten worden gedetecteerd, vergelijkbare afmetingen hebben — bijvoorbeeld wanneer de te herkennen markeringen vrijwel identieke afmetingen hebben in plaats van dat er zowel zeer grote als zeer kleine objecten zijn — werkt FOMO beter.

OpenMV gebruikt EdgeImpulse voor het online trainen van een neurale netwerk voor doelherkenning, wat voornamelijk bestaat uit de volgende stappen: verzamelen en uploaden van een beeldgegevensverzameling, annoteren van doelen, trainen, testen van het model en implementeren.

* Verzamelen van een beeldgegevensverzameling: het maken van foto’s van specifieke objecten in de omgeving waarin deze daadwerkelijk moeten worden herkend. We verzamelen daadwerkelijke beelden in dezelfde omgeving waarin we de herkenning uitvoeren, zodat de werkelijke trainingsomgeving en de werkelijke detectieomgeving zo veel mogelijk overeenkomen, wat tot betere resultaten leidt.

* Doelmarkering: markeer elk doel dat in onze gegevensverzameling moet worden gedetecteerd met een rechthoek en koppel deze aan de juiste naam van het doel, zodat de volgende trainingsstap, detectie van de positie van het doel en de naam van het doel, eenvoudiger wordt.

* Trainingsmodel: Nadat de annotatie is voltooid, wordt het model getraind met behulp van de door ons ontworpen parameters van het convolutieneuraalnetwerk.

*Testmodel: We test the trained model; if the results are unsatisfactory, we correspondingly expand the training dataset or adjust the training parameters and continue training until we obtain a satisfactory model.

*Implementatie: We plaatsen het getrainde modelbestand in de ingebouwde USB-stick van OpenMV en voeren het uit.

Hieronder wordt het concrete proces gedemonstreerd:

01. Verzamelen en uploaden van een beeldgegevensverzameling

Eén. Log eerst in op de website edgeimpulse.com, selecteer ‘Inloggen’, voer de naam van het nieuw aangemaakte project in en kies ‘Afbeeldingen’ – ‘Meerdere objecten classificeren’

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

Twee. Selecteer de afbeelding die u wilt uploaden. Er zijn verschillende manieren om een dataset met afbeeldingen te verkrijgen:

1. Afbeeldingen in realtime verzamelen met de OpenMV-IDE. Gebruik de tool ‘Dataseteditor’ in de OpenMV-IDE om een nieuwe dataset aan te maken en afbeeldingen in realtime te verzamelen. Zie hiervoor onze eerder gepubliceerde videocursus over objectclassificatie en mondkapjesherkenning.

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

2. Gebruik afbeeldingen die via het internet zijn gedownload of die daadwerkelijk met een mobiele telefoon zijn genomen. Het is het beste als deze overeenkomen met de werkelijke omgeving waarin u de detectie uitvoert. Wij hebben een verzameling van vier- tot vijfhonderd afbeeldingen voorbereid van verkeersborden zoals ‘Parkeerverbod’, ‘Toeterverbod’ en ‘Snelheidslimiet 80 km/u’. Elke afbeelding is opgenomen op een daadwerkelijke weg. Deze dataset is beschikbaar voor download op onze GitHub-pagina en op onze handleidingenwebsite.

02. Doel van de annotatie

Voor elke categorie worden ongeveer 100 afbeeldingen geüpload; nadat de afbeeldingen zijn geüpload, moet annotatie van de afbeeldingen plaatsvinden, waarbij de positie en categorie van de objecten die we willen herkennen, worden aangegeven.

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

03. Model trainen

Stel de parameters voor het trainen in, wijzig de resolutie in 128 × 128 en selecteer alle parameters als standaard; klik vervolgens op Opslaan.

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

Genereer functies; de drie kleuren staan respectievelijk voor drie verschillende markeringen.

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

Stel de parameters voor het trainen van objectdetectie in. Het aantal trainingsepochs is standaard 60, de leersnelheid is 0,001 en het aandeel van de validatieverzameling is 20%. Schakel gegevensversterking in. Voor transfer learning kunt u kiezen uit het standaardmodel MobileNetV2 0,35 of MobileNetV2 0,1. (Let op: SSD kan niet worden gebruikt, omdat SSD niet op OpenMV kan worden uitgevoerd.)

Selecteer ‘Start training’. Na voltooiing van de training heeft het resulterende neurale netwerkmodel een F1-score van 91,2 %; we kunnen de huidige versie opslaan.

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

Selecteer een opslaglocatie, vul uw beschrijving in en selecteer Opslaan.

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

04. Model implementeren

Exporteer het getrainde modelbestand. Exporteer alleen de bibliotheek; selecteer OpenMV en klik op Build om het model te implementeren en te exporteren.

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

Het downloadt automatisch het model dat wij hebben geëxporteerd; hier is het model dat is getraind op onze 300 afbeeldingen, waarmee de volledige training is voltooid.

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

05. Model uitvoeren

Model uitvoeren op OpenMV:

Verbind OpenMV Plus, sla de drie getrainde bestanden op in de ingebouwde USB-station van OpenMV en open het bestand ei_object_detection.py in de OpenMV IDE. Klik op uitvoeren; de uitvoerresultaten worden weergegeven in de seriële terminal.

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

Deze functie kan ook op de OpenMV4 worden uitgevoerd. Aangezien de OpenMV4 geen externe SDRAM heeft, is het geheugen kleiner; we kunnen het model verkleinen zodat het op de OpenMV4 kan worden uitgevoerd.

Er zijn twee methoden om de grootte van het model te verkleinen:

Eén. Verlaag de resolutie voor het trainen van 128 × 128 naar 96 × 96.

Twee: wijzig het gebruikte transferleermodel van MobileNetV2 0.35 naar MobileNetV2 0.1.

De uiteindelijke getrainde nieuwe bestanden kunnen worden geplaatst in de OpenMV4 om ze uit te voeren.

Dit is de handleiding voor het detecteren van doelpunten. We kijken uit naar uw resultaten!

Gerelateerde artikelen

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

AI-waakpost op basis van OpenMV: automatische melding bij niet-gesloten toegang tot belangrijke locaties

Automatisch bepalen of deuren van belangrijke locaties langdurig openstaan en tijdig waarschuwen.

越界识别

Persoonlijke grensoverschrijding wordt onmiddellijk gemeld; OpenMV definieert het gevoel van ‘veilige grenzen’.

Detectie van personen of apparatuur die een virtuele waaklijn overschrijden.

占道经营识别

De ‘AI-stadsbeheerder’ is er: een automatisch herkenningssysteem voor illegale straatbedrijvigheid, gebaseerd op OpenMV.

Automatisch herkenning van handelsactiviteiten op openbare weg, ter ondersteuning van het dagelijks stedelijk bestuur.

煤气罐违规摆放识别

Willekeurige opslag van gasflessen? Gebruik OpenMV om automatisch een waarschuwing voor gevaar te activeren

Automatisch herkennen van onjuiste plaatsing van gasflessen en tijdig signaleren van veiligheidsrisico’s met betrekking tot aardgas.

绝缘手套佩戴识别

Geen isolerende handschoenen gedragen tijdens werk onder spanning? OpenMV geeft onmiddellijk een waarschuwing!

Automatisch detecteren of werknemers geïsoleerde handschoenen dragen, ter ondersteuning van veilig werk.

铝板缺陷识别

Gebruik de OpenMV-intelligente camera om oppervlaktegebreken op aluminiumplaten in realtime te detecteren

Online detectie van gebreken op de oppervlakte van aluminiumplaten, zoals krassen en inzinkingen, ter ondersteuning van kwaliteitscontrole.

Populaire categorieën

Taal en Regio
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号