Udfør handlinger baseret på ansigtsgenkendelse ved hjælp af HuskyLens
Denne demo for ansigtsgenkendelsessporing bruger DFRobots HuskyLens til ansigtsgenkendelse og udfører tilsvarende handlinger baseret på genkendelsesresultaterne. For eksempel, når HuskyLens genkender et bestemt ansigt, kan det få enheden til at vifte med et flag, afspille musik, tænde lys eller udføre andre forudindstillede handlinger. Denne intelligente ansigtsgenkendelsesteknologi kan give en mere bekvem og personlig brugeroplevelse.
Enheder brugt i dette projekt
-
Raspberry Pi 4B
-
To SG90 180-graders servomotorer
-
SKU SEN0305 Gravity HUSKYLENS AI Camera
-
Breadboard
-
Han-til-han jumperledninger
HuskyLens AI Vision Sensor
HuskyLens AI Vision Sensor er en brugervenlig AI-visionssensor, der leveres med syv indbyggede funktioner: ansigtsgenkendelse, objektsporing, objektgenkendelse, linjefølgning, farvegenkendelse, tag-genkendelse og objektklassificering. Med blot en knap kan du fuldføre AI-træning, hvilket eliminerer behovet for kompleks træning og indviklede visionsalgoritmer, så du kan fokusere mere på design og implementering af dine projekter.
HuskyLens har indbyggede UART/I2C-grænseflader, som kan forbindes til mainstream controllere som Arduino, LattePanda og micro:bit, hvilket muliggør problemfri hardwareintegration. HuskyLens sender genkendelsesresultater direkte til controlleren, så du kan skabe meget kreative projekter uden at skulle håndtere komplekse algoritmer.
Specifikke trin
Dette projekt kan genkende både enkelt- og flere ansigter, hvilket muliggør mere præcis ansigtsgenkendelse og overvågning af folkemængder.
1. Genkendelse af et enkelt ansigt
Denne funktion kan registrere alle ansigtskonturer, genkende og spore lærte ansigter og sende dataene via seriel port. Som standard er den indstillet til at lære og genkende et enkelt ansigt.
Driftsindstillinger
Skub "funktionsknappen" til venstre, indtil "Ansigtsgenkendelse" vises øverst på skærmen.
Læring og genkendelse af et enkelt ansigt
(1) Registrer ansigter.
(2) Peg HuskyLens mod et område med ansigter. Skærmen vil automatisk fremhæve alle registrerede ansigter med hvide bokse og vise ordet "face" for hvert enkelt.
(3) Hvis "+" i midten af skærmen ikke er justeret med nogen ansigtsramme, vil RGB-lyset på den anden side ikke tænde.

(4) Hvis "+" i midten af skærmen er justeret med en hvilken som helst ansigtsramme, vil RGB-lyset på den anden side blive blåt.

Tip: Hvis du vil have HuskyLens til at lære eller genkende dit eget ansigt, for eksempel til en selfie, og du ikke kan se skærmen, kan du afgøre status baseret på de forskellige farver på RGB-indikatorlyset.
Lær ansigter
(1) Juster "+" i midten af HuskyLens-skærmen med det ansigt, du vil lære, og tryk kort på "lær-knappen" for at fuldføre læringsprocessen. Hvis det samme ansigt genkendes, vil en blå boks vises på skærmen med teksten "Face: ID1." Dette indikerer, at ansigtsgenkendelse nu er mulig.
(2) Ovenstående handling tillader kun HuskyLens at lære én vinkel (dimension) af et ansigt, men et ansigt er faktisk tredimensionelt og har flere vinkler. Hvis ansigtets vinkel ændres, for eksempel fra front til side, kan HuskyLens muligvis ikke genkende det. For at løse dette problem har HuskyLens en kontinuerlig læringsfunktion indbygget, som kan optage forskellige vinkler af et ansigt, hvilket gør HuskyLens mere præcis over tid.
(3) Metoden til at indtaste ansigter fra forskellige vinkler er som følger: (Bemærk: Før du lærer et nyt ansigt, skal du først få HuskyLens til at glemme de ansigter, den allerede har lært. Se afsnittet "Glemte lærte ansigter" for instruktioner.)
(4) Juster "+" i midten af HuskyLens-skærmen med det ansigt, du vil lære, og tryk og hold "lær-knappen" nede uden at slippe den. En gul boks mærket "Face: ID1" vil dukke op på ansigtet på skærmen, hvilket indikerer, at HuskyLens lærer ansigtet. Juster derefter den gule boks i midten af HuskyLens-skærmen med forskellige vinkler af den samme persons ansigt, såsom forfra og fra siden (det kan også være flere fotos af den samme person), for at indtaste forskellige vinkler af dette ansigt. Under læringsprocessen vil RGB-lyset være gult.
(5) Slip derefter "lær-knappen" for at afslutte læringsprocessen. Hvis HuskyLens genkender det lærte ansigt, vil det blive fremhævet med en blå boks på skærmen og vise "Face: ID1."
Tip: Hvis der ikke er et "+" i midten af skærmen, betyder det, at HuskyLens allerede har lært ansigter i denne funktion (lært tilstand). For at få HuskyLens til at lære et nyt ansigt, skal du først få den til at glemme de tidligere lærte ansigter.
Genkend ansigter
(1) Ansigtsinformationen, som HuskyLens har lært, vil blive gemt automatisk. Når HuskyLens efterfølgende opdager et lært ansigt, vil det fremhæve ansigtet med en blå boks mærket "Face: ID1." Størrelsen på boksen vil tilpasse sig ansigtets størrelse og automatisk følge det. I denne tid vil RGB-indikatorlyset være grønt.

Glemte lærte ansigter
(1) Hvis der ikke er et "+" i midten af skærmen, betyder det, at HuskyLens allerede har lært ansigter i denne funktion (lært tilstand). For at få HuskyLens til at lære et nyt ansigt, skal du slette den tidligere lærte ansigtsinformation, hvilket betyder at få HuskyLens til at glemme de lærte ansigter.
(2) Metoden til at slette lært information er som følger: I den aktuelle funktion tryk kort på "lær-knappen," og skærmen vil vise "Tryk igen for at glemme!" Før nedtællingen slutter, tryk kort på "lær-knappen" igen for at slette den sidst lærte information. "+" vil dukke op i midten af skærmen, hvilket indikerer, at HuskyLens er klar til at lære ny information. Hvis du ved et uheld trykker på "lær-knappen" og skærmen viser "Tryk igen for at glemme!" men du ikke ønsker at slette den lærte information, skal du blot lade være med at gøre noget, indtil nedtællingen slutter.
Bemærk: Metoden til at få HuskyLens til at glemme lærte oplysninger er præcis den samme i andre funktioner og vil ikke blive gentaget her.
2. Genkend flere ansigter
Standardindstillingen er at lære og genkende et enkelt ansigt. For at lære og genkende flere ansigter skal du aktivere "Lær flere"-muligheden i sekundærmenuens parametre for ansigtsgenkendelsesfunktionen.
Driftsindstillinger
Skub "funktionsknappen" til venstre, indtil "Ansigtsgenkendelse" vises øverst på skærmen.
(1) Tryk og hold "funktionsknappen" for at gå ind i sekundærmenuens parameterindstillingsinterface for ansigtsgenkendelsesfunktionen.
(2) Skub "funktionsknappen" til venstre eller højre for at vælge "Lær flere," og tryk kort på "funktionsknappen." Skub derefter "funktionsknappen" til højre for at tænde for "Lær flere"-muligheden, hvilket vises ved, at statuslinjen bliver blå, og blokken på statuslinjen bevæger sig til højre. Tryk kort på "funktionsknappen" igen for at bekræfte denne indstilling.
(3) Skub "funktionsknappen" til venstre for at vælge "Gem og vend tilbage," og tryk kort på "funktionsknappen." Skærmen vil vise "Gem parametre?" Med "Bekræft" valgt som standard, tryk kort på "funktionsknappen" for at gemme parametrene og automatisk vende tilbage til ansigtsgenkendelsestilstand.
Læring og genkendelse af flere ansigter
Læring af flere ansigter:
(1) Juster "+" i midten af HuskyLens-skærmen med det ansigt, du vil lære, og tryk og hold "lær-knappen" for at fuldføre læringsprocessen for det første ansigt (fra forskellige vinkler). Når du slipper "lær-knappen," vil skærmen vise: "Tryk på knappen igen for at fortsætte! Tryk på en anden knap for at afslutte." For at fortsætte med at lære det næste ansigt, tryk kort på "lær-knappen" inden nedtællingen slutter. Hvis du ikke behøver at lære flere ansigter, tryk kort på "funktionsknappen" inden nedtællingen slutter, eller gør ingenting og vent på, at nedtællingen slutter.
(2) I dette afsnit skal vi fortsætte med at lære det næste ansigt. Derfor, før nedtællingen slutter, tryk kort på "lær-knappen." Juster derefter "+" i midten af HuskyLens-skærmen med det næste ansigt, der skal læres, og tryk og hold "lær-knappen" nede for at fuldføre læringsprocessen for det andet ansigt. Gentag denne proces efter behov.
(3) De ansigts-ID'er, som HuskyLens mærker, svarer til den rækkefølge, ansigterne blev indtastet i. Det vil sige, at de lærte ansigter vil blive mærket sekventielt som "Face: ID1," "Face: ID2," "Face: ID3," og så videre. Derudover vil kantfarverne for forskellige ansigts-ID'er være forskellige.
Tip: Hvis der ikke er et "+" i midten af skærmen, betyder det, at HuskyLens allerede har lært ansigter i denne funktion (lært tilstand). For at få HuskyLens til at lære nye ansigter, skal du først få den til at glemme de lærte ansigter. Se afsnittet "Glemte lærte ansigter" for instruktioner.
Genkend flere ansigter:
Ansigtsoplysningerne, som HuskyLens har lært, vil automatisk blive gemt. Når HuskyLens efterfølgende opdager lærte ansigter, vil den fremhæve disse ansigter med en boks og mærke dem med et ID. Det første lærte ansigt vil blive mærket "Face: ID1," det andet lærte ansigt vil blive mærket "Face: ID2," det tredje lærte ansigt vil blive mærket "Face: ID3," og så videre. Kantfarverne for forskellige ansigts-ID'er vil være forskellige, og størrelsen på kanten vil justere sig efter ansigtets størrelse og automatisk følge det.
Eksperimentelt fænomen
Ansigtsgenkendelsesdemoen udviklet af OpenELAB-teamet bruger HuskyLens til ansigtsdetektion og genkendelse. Den styrer derefter hejse- og sænkeprocessen af et flag gennem signalstyring ved at forbinde signalpinden på en SG90 180-graders servo til PWM-udgangspinden GPIO5 på en Raspberry Pi. Dette projekt anvendes bredt i overvågningssystemer, adgangskontrolsystemer, grænsekontrol, offentlig sikkerhed og mere til identifikation og sporing af kriminelle mistænkte og savnede personer.
Hvis du arbejder på et projekt med en ansigtsgenkendelsesapplikation, tilbyder vores hjemmeside et bredt udvalg af ansigtsgenkendelsesprodukter, og vi kan også producere tilpassede ansigtsgenkendelsesapplikationer baseret på dine
krav.
OpenELAB er
en alt-i-en udviklingsplatform for globale AIoT elektronikentusiaster og
et open source-fællesskab for elektronikingeniører. Udover at tilbyde udviklermoduler online inkluderer vores tjenester også tilpasset
produktion af forskellige elektroniske dele såsom mikrokontakter og batterier samt plast- eller metaldele gennem
3D-printning, sprøjtestøbning, CNC, laserskæring osv.
Ud over ansigtsgenkendelsesprodukter tilbyder OpenELAB også andre tjenester til sourcing af elektroniske komponenter såsom
sensorer,
displays,
IoT og
mere. OpenELAB har en brugervenlig hjemmeside, der gør det nemt at finde de komponenter, du har brug for, og vi tilbyder hurtig levering til kunder over hele verden.
Desuden tilbyder OpenELAB
Design som en Service (
DaaS) til designoptimering,
Fremstilling som en Service (
MaaS) til produktionsfremstilling,
Supply Chain som en Service (
SaaS) til forsyningskædestøtte, og
Kvalitet som en Service (
QaaS) til kvalitetskontrol af AIoT-produkter, der overgår til masseproduktion, hvilket sikrer en glidende overgang til
den kommercielle produktionsfase.
Frem for alt er OpenELAB dedikeret til at opbygge et globalt open source-fællesskab for AIoT-elektronikudviklere. Gennem OpenELABs åbne fællesskab kan udviklere i AIoT-elektronikkens revolution samarbejde, styrke hinanden og skabe en kultur af gensidig respekt og samarbejdende deling, hvilket skaber flere innovative AIoT-intelligente hardwareprodukter til verden.