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

OpenMV4 Plus använder Edge Impulse för att självständigt träna neurala nätverk för munskyddigenkänning.

I april förra året lanserade vi vår nya produkt OpenMV4 H7 Plus. Idag kommer jag att presentera en ny funktion i OpenMV4 H7 Plus – att använda EdgeImpulse online-webbplatsen för att självständigt träna neurala nätverk för klassificering och igenkänning.

I denna handledning kommer du att använda maskininlärning för att bygga ett igenkänningssystem som kan identifiera om en person bär ansiktsmask via OpenMV4 H7 Plus smartkamera, det vill säga genomföra bildklassificering.

OpenMV产品图

EdgeImpulse är en webbplats som erbjuder onlineträning av neurala nätverksmodeller för inbyggda enheter. Den är vår partner för OpenMV och båda är officiella partners till STMicroelectronics. För närvarande är EdgeImpulse gratis tillgänglig för våra OpenMV-användare, vilket gör att de kan använda EdgeImpulse för att träna neurala nätverksmodeller online utan kostnad, specifikt anpassade för OpenMV.

Genom att lägga till neurala nätverk till den inbyggda enheten OpenMV kan funktioner som att skilja mellan tjuvjägare och elefanter, kvalitetskontroll på fabriksproduktionslinjer och att låta fjärrstyrda modellbilar köra självständigt realiseras.

I denna handledning kommer du att lära dig hur du samlar in bilder för att bygga en hög kvalitetsdatamängd, hur du tillämpar överföringsinlärning för att träna ett neuralt nätverk, samt hur du distribuerar systemet till OpenMV.

Dessutom har vi tillhandahållit en videohandledning som du kan söka efter på vår officiella webbplats med titeln "OpenMV4 Plus Neural Network Training for Mask Recognition" för att titta på.

Du kan se hela projektinnehållet på följande adress, all kod och modeller ingår: https://book.openmv.cc/project/mask.html

Att använda EdgeImpulse för att träna neurala nätverksmodeller online för OpenMV delas huvudsakligen in i följande fyra steg: datainsamling, uppladdning, träning och distribution.

01. Insamling av dataset

I den här handledningen kommer vi att bygga en modell som kan skilja mellan ansikten med och utan munskydd. Du kan naturligtvis också välja att klassificera andra föremål. För att få maskininlärningsmodellen att fungera behöver du samla ett stort antal exempelbilder på ansikten både med och utan munskydd. Under träningen används dessa exempelbilder för att modellen ska lära sig att göra åtskillnad.

Vi behöver använda OpenMV IDE för att samla in vår datamängd. Stegen för att samla in bilder är följande:

Skapa två kategorier:

Öppna "Verktyg" i OpenMV IDE:s menyrad, välj "Datasetredigerare", klicka på "Nytt dataset", skapa sedan en ny mapp och öppna den. Inuti datasetet skapar du två nya mappar som du namnger mask (för att spara bilder på ansikten med munskydd) och face (för att spara bilder på ansikten utan munskydd).

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

Samla in bilder med OpenMV

Först ansluter vi OpenMV, klickar på "Anslut" i IDE, sedan på "Kör". I Framebuffer kan vi se OpenMVs realtidsbild. Genom att klicka på fotoknappen i den vänstra menyraden sparar OpenMV automatiskt denna bild, vilket utgör en datapunkt i datasetet.

Först ska vi spara ansikten med munskydd. Klicka på fotoknappen så tar IDE en bild längst ner, som automatiskt namnges 00000. Nästa bild blir 00001 och så vidare.

Samla 200 bilder av ansikten med munskydd (100 av varje kön) och 200 bilder av ansikten utan munskydd (100 av varje kön) med hjälp av OpenMV.

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

* OBS: Se till att samla in foton från olika vinklar för att säkerställa mångfalden i vår tränings- och inlärningsprocess.

Om du under insamlingen upptäcker att en bild inte är perfekt, kan du högerklicka på bilden och välja att ta bort den.

02、Ladda upp

Efter att ha samlat in bilder med OpenMV behöver du registrera ett konto och logga in på EdgeImpulse:s officiella webbplats (https://edgeimpulse.com/) för att börja ladda upp bilder. Stegen för att ladda upp bilder är följande:

Skapa ett nytt projekt på EdgeImpulse, klicka på "keys", välj "API Key" och kopiera "API Key". Använd API Key för att upprätta anslutning mellan OpenMV IDE och Edge Impulse.

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

Välj "Verktyg" – "Dataeditor" – "Export" – "Ladda upp" – "Ladda upp via API-nyckel" i menyraden högst upp i OpenMV IDE, kopiera "API-nyckel" och ladda upp.

Vid uppladdning delas data automatiskt in i tränings- och testuppsättningar, vi väljer standardproportionen "80 % och 20 %". Vi har samlat in över 400 ansiktsbilder, där 80 % av träningsdatan innebär att 80 % av dina data används för träning, och de återstående 20 % används som testuppsättning.

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

03. Träningsdatamängd

När datamängden är förberedd kan du träna den på EdgeImpulse-webbplatsens gränssnitt.

Konfigurationshanteringsmodul:

Välj först "Impulse Design" och konfigurera bearbetningsmodulen:

Ställ in standardbildstorleken till "96 x 96".

Välj modulen "Images" för att indikera att vi utför klassificeringsträning på bilder (du kan också använda EdgeImpulse för att klassificera ljud, video, etc.).

Välj "Överföringsinlärning (bilder) Transfer Learning (Images)" och ställ in inlärningsmodellen.

Välj "Spara impuls" och om "Framgångsrikt" visas har konfigurationen lyckats.

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

Bildförbehandling:

Klicka på "Bild Image" i den vänstra menyn, ställ in färgformatet till "RGB" och klicka sedan på "Spara".

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

Välj sedan "Generera funktioner" för att starta processen. Bildförbehandling kommer att utföras på över 400 bilder, och en 3D-visualisering av hela datasetet kommer att visas till höger.

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

Konfigurera överföringsinlärningsmodellen

Klicka på "Överföringsinlärning Transfer learning" i den vänstra menyn, välj alla standardparametrar för inställningarna eller ändra parametrarna efter behov:

1. Ställ in antalet träningscykler Number of training cycles till standardvärdet 10

2. Ställ in inlärningshastigheten Learning rate till 0,0005

3. Du kan välja eller inte välja "Dataförstärkning Data augmentation

4. Ställ in standardvärdet för lägsta konfidensgrad Minimum confidence rating till 0.8.

Klicka på "Starta träningStart training", träningsprocessen tar ungefär 4 till 5 minuter.

Efter att modellträningen är slutförd kan du granska noggrannheten, förväxlingsmatrisen (confusion matrix) och den förväntade enhetsprestandan.

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

* Testmodell:

Efter avslutad träning kommer vi att använda testdata för att utvärdera modellen.

Välj "ModelltestningModel testing", markera kryssrutan bredvid "ProvnamnSample name" och klicka på "Klassificera valtClassify selected". Noggrannheten som visas här har uppnått 97%, vilket är anmärkningsvärt för en modell med så lite data.

口罩识别教程-测试模型

Det visar sig att den här bilden som visas i rött är osäker. Klicka på de tre punkterna till höger om bilden och välj "Visa klassificering Show classification", så kommer du till gränssnittet "Realtidsklassificering" som innehåller fler detaljer om filen. Detta gränssnitt hjälper dig att fastställa orsaken till varför bildklassificeringen är felaktig.

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

Om data ligger utanför alla kända kluster (med mask/utan mask), kan detta vara data som inte matchar någon tidigare sedd klassificering – möjligen på grund av hår som täcker större delen av ansiktet.

04、Kör modellen på OpenMV

Efter att du har slutfört stegen för träningsdesign, modellträning och modellvalidering kan du exportera denna modell till din OpenMV. Välj "OpenMV", välj "Build" för att generera, och den kommer automatiskt att skapa tre filer:

trained.tflite Tränad neural nätverksmodell

labels.txt två klassificeringsetiketter (face och mask)

ei_image_classification.py är koden som ska köras på OpenMV

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

Anslut OpenMV IDE och spara dessa tre filer till OpenMVs inbyggda Flash-minne. Öppna filen ei_image_classification.py i OpenMV IDE för att se koden vi nyss genererade i EdgeImpulse. Klicka på Kör för att visa körningsresultatet i den seriella terminalen.

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

Okej, du har framgångsrikt lagt till funktionen för att självständigt träna neurala nätverk till OpenMV.

Vi ser fram emot dina resultat!

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号