logo
OpenMV
Hjemmekamera
Søknader
Lager
AI
Salgskanaler
Støtte
OpenMVOpenMV
SkjoldSkjold
LinseLinse
RobotikkRobotikk
BokBok
VideoVideo
Last nedLast ned
DokumenterDokumenter
ForumForum
OpenMV.ioOpenMV.io
GithubGithub

OpenMV4 Plus bruker Edge Impulse for å trene nevrale nettverk selv for maskeidentifisering

I april i fjor lanserte vi vår nye produkt OpenMV4 H7 Plus. I dag vil jeg presentere en ny funksjon i OpenMV4 H7 Plus – bruk av EdgeImpulse-nettstedet for å trene nevrale nettverk for klassifisering og gjenkjenning.

I denne opplæringen vil du bruke maskinlæring til å bygge et gjenkjenningssystem som kan identifisere om et ansikt har på seg munnbind ved hjelp av OpenMV4 H7 Plus smartkamera, det vil si å oppnå bildeklassifisering.

OpenMV产品图

EdgeImpulse er en nettside som tilbyr tjenester for online opplæring av nevrale nettverksmodeller for innebygde enheter. Den er vår partner for OpenMV og er også en offisiell partner for STMicroelectronics. For øyeblikket er EdgeImpulse gratis tilgjengelig for våre OpenMV-brukere, og OpenMV-brukere kan gratis bruke EdgeImpulse for å trene nevrale nettverksmodeller online som er egnet for OpenMV.

Ved å legge til nevrale nettverk i den innebygde enheten OpenMV, kan den skille mellom krypskyttere og elefanter, utføre kvalitetskontroll på fabrikkproduksjonslinjer og la fjernstyrte modellbiler kjøre selv.

I denne opplæringen vil du lære hvordan du samler bilder for å bygge et høykvalitets datasett, hvordan du anvender overføringslæring for å trene et nevralt nettverk, og hvordan du implementerer systemet på OpenMV.

Dessuten har vi også tilgjort en videoopplæring, som kan ses ved å søke på "OpenMV4 Plus trener nevrale nettverk for maskeidentifisering" på den offisielle nettsiden.

Du kan se hele prosjektinnholdet på følgende adresse, inkludert all kode og modeller: https://book.openmv.cc/project/mask.html

Å bruke EdgeImpulse for å trene nevrale nettverksmodeller for OpenMV på nettet kan hovedsakelig deles inn i følgende fire trinn: innsamling av datasett, opplasting, trening og implementering.

01. Datainnsamling

I denne opplæringen vil vi bygge en modell som kan skille mellom ansikter med og uten munnbind. Du kan selvfølgelig også velge å klassifisere andre gjenstander. For å få maskinlæringsmodellen til å fungere, må du samle inn et stort antall eksempelbilder av ansikter både med og uten munnbind. Under treningen vil disse eksempelbildene bli brukt til å lære modellen å skille mellom de to kategoriene.

Vi må bruke OpenMV IDE for å samle inn datasettet vårt. Fremgangsmåten for å samle inn bilder er som følger:

Opprett to kategorier:

Åpne "Verktøy" i OpenMV IDE-menyen, velg "Datasetteditor", klikk på "Nytt datasett", og opprett deretter en ny mappe og åpne den. Inne i datasettet oppretter du to nye mapper som du navngir henholdsvis mask (for å lagre bilder av ansikter med maske) og face (for å lagre bilder av ansikter uten maske).

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

Samle bilder med OpenMV

Først kobler vi til OpenMV, klikker på "Koble til" i IDE, klikker på "Kjør", og i Framebuffer-bildeminnen kan vi se OpenMVs sanntidsbilder. Ved å klikke på fotoknappen i venstre meny, vil OpenMV automatisk lagre dette bildet, som utgjør ett datapunkt i datasettet.

Først må vi lagre ansikter med maske. Ved å trykke på fotoknappen, vil IDE ta et bilde nederst, som automatisk navngis 00000, og det neste blir 00001, og så videre.

Samle inn 200 bilder av ansikter med maske (100 av hvert kjønn) og 200 bilder av ansikter uten maske (100 av hvert kjønn) ved hjelp av OpenMV.

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

Merk: Sørg for å samle inn bilder fra ulike vinkler for å sikre mangfoldet i vår trening og læring.

Hvis du oppdager at et bilde ikke er perfekt under innsamlingsprosessen, kan du høyreklikke på bildet og velge slette.

02. Last opp

Etter at du har samlet inn bilder med OpenMV, må du registrere en konto og logge inn på EdgeImpulse-nettstedet (https://edgeimpulse.com/) for å begynne å laste opp bilder. Fremgangsmåten for å laste opp bilder er som følger:

Opprett et nytt prosjekt på EdgeImpulse, klikk på "keys", velg "API Key" og kopier "API Key". Bruk API Key-en for å etablere tilkobling mellom OpenMV IDE og Edge Impulse.

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

Velg "Verktøy" – "Dataeditor" – "Eksporter" – "Last opp" – "Last opp via API-nøkkel" i menyen øverst i OpenMV IDE, kopier "API-nøkkelen" og last den opp.

Ved opplasting vil dataene automatisk bli delt inn i treningssett og testsett. Vi velger standardfordelingen på "80 % og 20 %". Vi har samlet inn over 400 ansiktsbilder, hvor 80 % av treningsdataene betyr at 80 % av dataene brukes til trening, og de resterende 20 % brukes som testsett.

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

03. Treningsdatasett

Datasettet er klart, og du kan trene det på EdgeImpulse-nettstedet.

Konfigurasjonsbehandlingsmodul:

Velg først "Impulse Design", konfigurer behandlingsmodulen:

* Sett standard bildeformat til "96 x 96";

Velg modulen "BilderImages", som indikerer at vi utfører treningsklassifisering av bilder (du kan også bruke EdgeImpulse til å klassifisere lyd, video, etc.);

Velg "Overføringslæring (bilder) Transfer Learning (Images)", og konfigurer læringsmodellen.

Velg "Lagre impuls", og hvis det vises "Vellykket", er konfigureringen vellykket.

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

Bildeforbehandling:

Klikk på "BildeImage" i menyen til venstre, sett fargeformatet til "RGB", og klikk deretter på "Lagre".

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

Velg deretter "Generer funksjoner" for å starte prosessen. Dette vil utføre bildeforbehandling på over 400 bilder, og en 3D-visualisering av hele datasettet vil vises til høyre.

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

Konfigurer overføringslæringsmodell

Klikk på "Overføringslæring Transfer learning" i venstremenyen, og velg alle innstillingene som standard, eller endre parameterne etter behov:

1. Sett antall treningssykluser Number of training cycles til standard 10

2. Sett læringshastigheten (Learning rate) til 0,0005

3. Du kan velge eller ikke velge "Dataforsterkning Data augmentation

4. Sett standardverdien for Minimum confidence rating til 0.8.

Klikk på "Start trening", treningsprosessen tar omtrent 4 til 5 minutter.

Etter at modelltreningen er fullført, kan du se nøyaktighet, forvirringsmatrise (confusion matrix) og forventet utstyrsytelse.

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

Testmodell:

Etter opplæringen vil vi bruke testdata for å evaluere modellen.

Velg "Modelltesting", merk av i avkrysningsboksen ved siden av "Prøvenavn", og klikk på "Klassifiser valgte". Nøyaktigheten som vises her har nådd 97%, noe som er bemerkelsesverdig for en modell med så lite data.

口罩识别教程-测试模型

Oppdag at bildet som vises i rødt er usikkert. Klikk på de tre prikkene til høyre for dette bildet og velg "Vis klassifisering Show classification". Du vil da komme til grensesnittet for "Sanntidsklassifisering", som inneholder flere detaljer om filen. Dette grensesnittet vil hjelpe deg med å fastslå årsaken til feil klassifisering av bildet.

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

Hvis dataene ligger utenfor alle kjente klynger (med maske/uten maske), kan dette være data som ikke samsvarer med noen tidligere observerte kategorier – muligens på grunn av hår som dekker det meste av ansiktet.

04. Kjør modellen på OpenMV

Etter å ha fullført trinnene for treningsdesign, modelltrening og modellvalidering, kan du eksportere denne modellen til din OpenMV. Velg "OpenMV", velg "Build" for å generere, og den vil automatisk generere 3 filer:

* trained.tflite Trenet nevrale nettverksmodell

* labels.txt to klassifiseringsetiketter (face og mask)

* ei_image_classification.py er koden som skal kjøres på OpenMV

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

Koble til OpenMV IDE, lagre disse tre filene i OpenMVs interne Flash-minne. Åpne ei_image_classification.py-filen i OpenMV IDE, der kan du se koden vi nettopp genererte i EdgeImpulse. Klikk på Kjør, og resultatet av kjøringen vil vises i den serielle terminalen.

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

Ok, du har nå vellykket lagt til funksjonen for å trene nevrale nettverk selv på OpenMV.

Jeg ser frem til resultatene dine!

Relaterte artikler

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

AI-vaktmann basert på OpenMV: Automatisk påminnelse om at viktige steder ikke er lukket

Automatisk vurdering av om døren til viktige steder ikke har vært lukket i lengre tid, samt varsling i tide.

越界识别

Varsling ved personoverskridelse – OpenMV tolker «følelsen av sikkerhetsgrense»

Identifiserer personer eller utstyr som krysser en virtuell varslingssone.

占道经营识别

«AI-byvakt» er her – et automatisk gjenkjenningssystem for ulovlig virksomhet på offentlig eiendom, bygget på OpenMV

Automatisk gjenkjenning av ulovlig forretning på offentlig eiendom, som støtter daglig bystyring.

煤气罐违规摆放识别

Er gassylinder plassert uhensiktsmessig? Bruk OpenMV til å utløse en automatisk farevarsling

Automatisk gjenkjenning av ulovlig plassering av gassflasker for å oppdage sikkerhetsrisiko knyttet til gass på forhånd.

绝缘手套佩戴识别

Utførte du arbeid under spenning uten å bruke isolerende hansker? OpenMV varsler umiddelbart!

Automatisk gjenkjenning av om arbeidstakere bærer isolerende hansker, for å støtte sikker arbeidsutførelse.

铝板缺陷识别

Bruker OpenMV-intelligente kamera til å identifisere feil på aluminiumsplater i sanntid

Online gjenkjenning av feil på aluminiumplater, som for eksempel skraper og senkninger, for å støtte kvalitetskontroll.

Populære kategorier

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