logo
ÖppnaMV
Hemkamera
Ansökningar
Lagra
AI
Försäljningskanaler
Stöd
ÖppnaMVÖppnaMV
SköldarSköldar
LinsLins
RobotikRobotik
BokaBoka
VideoVideo
Ladda nerLadda ner
DokumentDokument
ForumForum
ÖppnaMV.ioÖppnaMV.io
GithubGithub

OpenMV:s egenutbildade neurala nätverk för målpunktsdetektering – identifiering av trafikskyltar i verkliga vägmiljöer

Inom visuellt inriktad artificiell intelligens finns det två mycket vanliga uppgifter: klassificering och måldetektering.

Kategori:Avgör till vilken kategori bilden hör, till exempel katt eller hund.

Måldetektering:Används för att hitta positionen, antalet och storleken på flera olika objekt i en bild.

I tidigare videokurser har vi förklarat hur man använder OpenMV4 Plus för att träna neurala nätverk online för klassificering av olika objekt. Det kan i realtid avgöra om bilden i OpenMVs synfält är ett visst objekt, till exempel om en ansiktsmask är påplaceras på ett ansikte, men det kan inte ange positionskoordinaterna för ansiktet eller masken, eller antalet ansikten.

Eftersom objektdetektering är betydligt mer komplex och kräver betydligt mer beräkningskraft än klassificering är den mycket ovanlig inom mikrokontrollernas område. OpenMVs huvud-MCU är STM32H7. Idag har vi lagt till en ny funktion i OpenMV som möjliggör körning av uppgifter liknande objektdetektering på mikrokontroller, med imponerande prestanda.

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

Idag kommer vi att förklaraTränar demonstrationen för identifiering av trafikskyltar i verkliga gatuumgivningar, vilket innebär identifiering av trafikskyltar på våra verkliga vägartill exempel förbud mot horn, förbud mot parkering och hastighetsbegränsning till 80 km/h, snarare än ett laboratoriemiljö utan störningar.

Du kan visa hela projektinnehållet på följande adress, inklusive all kod och alla modeller: https://book.openmv.cc/project/traffic-sign.html

Det är allmänt känt att den verkliga miljön är mycket komplex, särskilt vägmiljön, där det finns många störande faktorer. Vi använde mobiltelefoner och andra enheter för att samla in bilder på trafikskyltar i den verkliga miljön och tränade modellen med hjälp av vår OpenMV-partners onlineplattform EdgeImpulse. Cirka 270 bilder märktes och träningen tog endast 10 minuter. Den tränade modellens F1-score uppgick till 92 %, och bildfrekvensen på OpenMV uppnådde 10 bilder per sekund, vilket ger ett mycket smidigt och högpresterande resultat.

Användare kan, med hjälp av våra videokurser, träna modellen för att upptäcka vilka mål som helst – till exempel olika siffror, olika frukter, olika markörer, olika komponenter eller till och med alla specifika oregelbundna objekt – och identifiera antalet, koordinaterna samt namnet på objektklassen för dessa mål.

Obs!Den här videokursens funktion för objektpunktdetektering med neurala nätverk är inte bara lämplig för OpenMV4 H7 Plus, utan stöds också av OpenMV4 H7, eftersom den tränade FOMO-modellen för objektpunktdetektering är relativt liten, ger utmärkta resultat och endast upptar några tiotals kB. Även om OpenMV4 H7 har mindre arbetsminne än OpenMV4 H7 Plus kan vi därför träna en något mindre modell som fungerar på OpenMV4.

Nedan följer en kort förklaring av principen:

De viktigaste designbesluten för FOMO-målpunktsdetekteringen på OpenMV grundar sig på idén att många objektdetekteringsproblem egentligen inte kräver objektens storlek, utan endast deras position i bilden. När vi känner till objektens position kan vi utföra efterföljande åtgärder, till exempel att styra en liten bil med OpenMV mot det identifierade målet, att styra en drönare till landning på en specifik plats eller att styra en robotarm för att gripa ett specifikt målobjekt.

FOMO-modellen är en modell som EdgeImpulse har utformat särskilt för mikrokontrollermiljöer; till skillnad från vanliga objektdetekteringsmodeller kan den endast identifiera positionen och antalet av flera objekt, men inte deras exakta storlek.

FOMO-modellens underliggande principer är mycket enkla och flexibla. Först delas bilden upp i block, där varje block är 8×8 pixlar. För en bild med upplösningen 96×96 blir detta ett rutnät på 12×12 celler. För en bild med upplösningen 360×360 blir detta ett rutnät på 40×40 celler. Därefter utförs bildklassificering oberoende för varje cell.

Jämfört med YOLO V5 eller MobileNet SSD presterar FOMO betydligt bättre vid identifiering av ett stort antal små objekt. FOMO:s målpunktsdetektering är 30 gånger snabbare än MobileNet SSD.

FOMO fungerar bättre om objekten som ska identifieras är av ungefär samma storlek, till exempel om de märken du vill identifiera har ungefär lika stora dimensioner, snarare än att det finns både mycket stora och mycket små objekt.

OpenMV använder EdgeImpulse för att träna neurala nätverk för målpunktsdetektering online, vilket främst omfattar följande steg: insamling och uppladdning av bilduppsättningar, märkning av mål, träning, testning av modellen samt distribution.

* Samla in bilddatauppsättning: Ta bilder av specifika objekt i den miljö där vi faktiskt ska utföra identifieringen. Vi samlar in verkliga bilder i samma miljö som där identifiering sker, så att den faktiska träningsmiljön och den faktiska detekteringsmiljön är i stort sett identiska, vilket ger bättre resultat.

*Märkning av mål: Rita en ram runt varje mål som ska upptäckas i vår datamängd och koppla samman ramen med målets namn för att underlätta efterföljande träning samt identifiering av målets position och namn.

* Träning av modell: När märkningen är slutförd utförs modellträningen enligt de konvolutionsnätverksparametrar som vi har utformat.

*Testmodell: Vi testar modellen baserat på den tränade modellen. Om resultatet är otillfredsställande ökar vi antingen träningsdatamängden eller justerar träningsparametrarna och fortsätter träningen tills vi får en tillfredsställande modell.

*Distribution: Vi kör den tränade modellfilen direkt från USB-minnet som är inbyggt i OpenMV.

Nedan visas den specifika processen:

01. Samla in och ladda upp bilddatasets

Ett. Logga in på webbplatsen edgeimpulse.com, välj ”Logga in”, ange namnet på det nyss skapade projektet och välj ”Bilder” – ”Klassificera flera objekt”

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

Två: Välj bild att ladda upp. Det finns flera sätt att skaffa dataset med bilder:

1. Samla in bilder i realtid med OpenMV IDE. Använd verktyget ”Datasetredigerare” i OpenMV IDE för att skapa ett nytt dataset och samla in bilder i realtid. Mer information finns i vår tidigare videokurs om objektklassificering och maskeringsigenkänning.

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

2. Använd bilder som hämtats från nätet eller som tagits med mobiltelefonen. Det är bäst om de motsvarar den miljö där du utför det faktiska testet. Vi har förberett ett dataset med fyrahundra till femhundratalet bilder av trafikskyltar, bland annat förbjuden parkering, förbud mot hornsignal och hastighetsbegränsning 80 km/h; alla bilder är insamlade i verkliga trafikmiljöer. Detta dataset kan laddas ner från vår GitHub-sida och vår handledningssajt.

02. Målobjekt för märkning

Ladda upp cirka 100 bilder per kategori. När bilderna har laddats upp måste de annoteras genom att ange positionen och kategorin för de objekt som ska identifieras.

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

03. Träna modellen

Ange parametrar för träningen, ändra upplösningen till 128 × 128 och välj alla standardinställningar; klicka sedan på Spara.

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

Generera funktioner, där tre olika färger representerar tre olika märken.

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

Angevänd inställningar för träningsparametrar för måldetektering. Standardantalet träningsomgångar är 60, inlärningshastigheten är 0,001 och andelen valideringsuppsättning är 20 %. Markera alternativet för dataförstärkning. För överföringsinlärning kan vi välja standardmodellen MobileNetV2 0,35 eller MobileNetV2 0,1. (Observera: SSD får inte användas, eftersom SSD inte kan köras på OpenMV.)

Välj att påbörja träningen. När träningen är avslutad uppnår den resulterande neurala nätverksmodellen en F1-poäng på 91,2 %, och vi kan spara den aktuella versionen.

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

Välj lagring, fyll i din beskrivning och välj Spara.

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

04. Distribuera modellen

Exportera den tränade modellfilen. Det räcker att exportera biblioteket; välj OpenMV och klicka på Build för att påbörja distributionen och exporten av modellen.

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

Den laddar automatiskt ner den modell som vi har exporterat – i detta fall är det modellen som tränats på våra 300 bilder – och därmed är hela träningsprocessen slutförd.

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

05. Kör modellen

Köra modellen på OpenMV:

Anslut OpenMV Plus, kopiera de tre träningsfilerna till OpenMVs inbyggda USB-minne och öppna filen ei_object_detection.py i OpenMV IDE. Klicka på Kör och resultatet visas i den seriella terminalen.

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

Den här funktionen kan också köras på OpenMV4. Eftersom OpenMV4 inte har extern SDRAM är minnet mindre, och vi kan därför minska modellens storlek så att den kan köras på OpenMV4.

Det finns två metoder för att minska modellens storlek:

1. Minska upplösningen för träning genom att ändra den från 128 × 128 till 96 × 96.

Två: Ändra det använda överföringsinlärningsmodellen från MobileNetV2 0.35 till MobileNetV2 0.1.

Slutligen placeras den tränade nya filen i OpenMV4 för att köras.

Ovanstående är vår handledning för målpunktsdetektering. Vi ser fram emot dina resultat!

# Intelligent transport

Relaterade artiklar

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

AI-vakt baserad på OpenMV: Automatisk påminnelse om att dörrar inte är stängda på viktiga platser

Automatiskt identifierar om dörrar till viktiga platser inte har stängts under en längre tid och påminner omedelbart.

越界识别

Personöverträdelse utlöser omedelbart larm – OpenMV förklarar begreppet ”säkerhetsgräns”

Identifierar personers eller utrustnings intrång över en virtuell varningslinje.

占道经营识别

”AI-stadsförvaltning” är här – ett automatiskt identifieringssystem för olaglig verksamhet på offentlig mark, byggt på OpenMV

Automatisk identifiering av olaglig verksamhet på offentlig mark för att stödja stadens dagliga förvaltning.

煤气罐违规摆放识别

Placeras gasflaskor felaktigt? Använd OpenMV för att automatiskt utlösa en farovarning

Automatisk identifiering av olagliga placeringar av gasflaskor för att upptäcka säkerhetsrisker i samband med gasanvändning i förväg.

绝缘手套佩戴识别

Utförde du arbete under spänning utan att bära isolerade handskar? OpenMV ger omedelbart larm!

Automatisk identifiering av om arbetspersonal bär isolerade handskar, för att stödja säker arbetsutförande.

铝板缺陷识别

Använda OpenMV:s intelligenta kamera för att identifiera defekter på aluminiumplattans yta i realtid

Identifierar online skador på aluminiumplåtens yta, såsom repor och fördjupningar, och stödjer kvalitetskontrollen.

Populära kategorier

Språk och region
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号