AI-modeller og plattformer
DeepFace for avansert ansiktsgjenkjenning

Ansiktsgjenkjenning har vært et trendende felt i AI og ML i flere år nå, og de vidtrekkende kulturelle og sosiale implikasjonene av ansiktsgjenkjenning er langt nående. Imidlertid finnes det en ytelsesgap mellom menneskelige visuelle systemer og maskiner som for tiden begrenser bruken av ansiktsgjenkjenning.
For å overvinne bufferten skapt av ytelsesgapet og levere menneskelig nivå-nøyaktighet, introduserte Meta DeepFace, et ansiktsgjenkjenning-rammeverk. DeepFace-modellen er trent på en stor ansiktsdataset som skiller seg betydelig fra datasettene som brukes til å konstruere evaluering-benchmarkene, og den har potensialet til å overgå eksisterende rammeverk med minimale tilpasninger. Videre produserer DeepFace-rammeverket kompakte ansiktsrepresentasjoner når sammenlignet med andre systemer som produserer tusenvis av ansiktsutseendes-egenskaper.
Det foreslåtte DeepFace-rammeverket bruker dypt læring for å trene på en stor datasett som består av forskjellige former for data, inkludert bilder, videoer og grafikk. DeepFace-nettverksarkitekturen antar at når justeringen er fullført, er plasseringen av hver ansiktsregion fast på pikselnivå. Derfor er det mulig å bruke de rå piksel-RGB-verdiene uten å bruke flere konvolusjonslag som gjøres i andre rammeverk.
Den konvensjonelle pipeline av moderne ansiktsgjenkjenning-rammeverk består av fire stadier: Deteksjon, Justering, Representasjon og Klassifisering. DeepFace-rammeverket bruker eksplisitt 3D-ansiktsmodellering for å anvende en stykkvis transformasjon, og bruker et ni-lag dypt neuralt nettverk for å avlede en ansiktsrepresentasjon. DeepFace-rammeverket prøver å bidra med følgende
- Utvikle en effektiv DNN eller dypt neuralt nettverk-arkitektur som kan utnytte en stor datasett for å skape en ansiktsrepresentasjon som kan generaliseres til andre datasett.
- Bruke eksplisitt 3D-modellering for å utvikle en effektiv ansiktsjusteringssystem.
Forstå hvordan DeepFace-modellen fungerer
Ansiktsjustering
Ansiktsjustering er en teknikk som roterer bildet av en person i henhold til vinkelen på øynene. Ansiktsjustering er en vanlig praksis som brukes til å forhåndbehandle data for ansiktsgjenkjenning, og ansiktsjusterte datasett hjelper med å forbedre nøyaktigheten av gjenkjenning-algoritmer ved å gi en normalisert innmatning. Imidlertid kan justering av ansikter på en ubegrenset måte være en utfordrende oppgave på grunn av de mange faktorene som er involvert, som ikke-ristede uttrykk, kroppsholdninger og mer. Flere sofistikerte justeringsteknikker, som å bruke en analytisk 3D-modell av ansiktet eller å søke etter fidusialpunkter fra eksterne datasett, kan tillate utviklere å overvinne utfordringene.
Selv om justering er den mest populære metoden for å håndtere ubegrenset ansiktsverifisering og -gjenkjenning, finnes det ingen perfekt løsning for øyeblikket. 3D-modeller brukes også, men deres popularitet har gått ned betydelig de siste årene, spesielt når man arbeider i en ubegrenset miljø. Imidlertid, siden menneskelige ansikter er 3D-objekter, kan det være riktig å bruke dem hvis de brukes korrekt. DeepFace-modellen bruker et system som bruker fidusialpunkter for å skape en analytisk 3D-modellering av ansiktet. Denne 3D-modelleringen brukes deretter til å forvrenge en ansiktsavkorting til en 3D-frontal modus.
Videre, likesom de fleste justeringspraksiser, bruker DeepFace-justeringen også fidusialpunktdetektorer for å lede justeringsprosessen. Selv om DeepFace-modellen bruker en enkel punktdetektor, anvender den den i flere iterasjoner for å finjustere utgangen. En Support Vector Regressor eller SVR, som er trent for å forutse punktkonfigurasjoner, trekker ut fidusialpunkter fra en bildebeskrivelse på hver iterasjon. DeepFace-bildebeskrivelsen er basert på LBP-histogrammer, selv om den også tar hensyn til andre egenskaper.
2D-justering
DeepFace-modellen starter justeringsprosessen ved å detektere seks fidusialpunkter innenfor detekteringsavkortningen, sentrert rundt midten av øynene, munnen og nesen. De brukes til å rotere, skaler og oversette bildet til seks anchor-locasjoner, og iterere på det forvredede bildet til det ikke er noen synlige endringer. Den aggregerte transformasjonen genererer deretter en 2D-justert avkorting. Justeringsmetoden er ganske lik den som brukes i LFW-a, og den har blitt brukt over årene i et forsøk på å øke modellens nøyaktighet.
3D-justering
For å justere ansikter med ut-av-planet-rotasjoner, bruker DeepFace-rammeverket en generisk 3D-formmodell, og registrerer en 3D-kamera som kan brukes til å forvrenge den 2D-justerte avkorting til 3D-formen i dens bildeplan. Som resultat genererer modellen den 3D-justerte versjonen av avkorting, og den oppnås ved å lokalisere ytterligere 67 fidusialpunkter i den 2D-justerte avkorting ved hjelp av en annen SVR eller Support Vector Regressor.
Deretter plasserer modellen manuelt de 67 anchor-punktene på 3D-formen og er dermed i stand til å oppnå full korrespondanse mellom 3D-referanser og deres tilhørende fidusialpunkter. I neste trinn legges en 3D-til-2D affin-kamera til ved hjelp av en generell minste kvadrat-løsning til lineære systemer med en kjent kovarians-matrise som minimerer visse tap.
Frontalisering
Siden ikke-ristede deformasjoner og full perspektiv-projeksjoner ikke modelleres, tjener den tilpassede 3D-til-2D-kameraen bare som en approksimasjon. I et forsøk på å redusere korrupteringen av viktige identitets-bærende faktorer til den endelige forvredning, legger DeepFace-modellen til de tilhørende residualene til x-y-komponentene av hver referanse-fidusial-punkt. Slik avslapning for formålet med å forvrenge bildet med mindre forvrengning til identiteten er plausibel, og uten den ville ansiktene blitt forvredet til samme form i 3D, og tapt viktige diskriminerende faktorer i prosessen.
Til slutt oppnår modellen frontalisering ved å bruke en stykkvis affin-transformasjon rettet av Delaunay-trianguleringen avledet fra 67 fidusialpunkter.

- Detektert ansikt med 6 fidusialpunkter.
- Indusert 2D-justert avkorting.
- 67 fidusialpunkter på den 2D-justerte avkorting.
- Referanse 3D-form transformert til 2D-justert avkorting-bilde.
- Triangel-synlighet i forhold til 3D-2D-kamera.
- 67 fidusialpunkter indusert av 3D-modellen.
- 3D-justert versjon av den endelige avkorting.
- Ny visning generert av 3D-modellen.
Representasjon
Med en økning i mengden treningdata, har læring-baserte metoder vist seg å være mer effektive og nøyaktige sammenlignet med konstruerte egenskaper, primært fordi læring-baserte metoder kan oppdage og optimalisere egenskaper for en spesifikk oppgave.
DNN-arkitektur og trening
DeepFace-DNN er trent på en multi-klasse ansiktsgjenkjenning-oppgave som klassifiserer identiteten til et ansiktsbilde.
Figuren over representerer den overordnede arkitekturen til DeepFace-modellen. Modellen har et konvolusjonslag (C1) med 32 filtre av størrelse 11x11x3 som mates en 3D-justert 3-kanals RGB-bilde av størrelse 152×152 piksler, og det resulterer i 32 egenskapskarter. Disse egenskapskartene mates deretter til et Max Pooling-lag eller M2 som tar maksimum over 3×3 romlige nabolag, og har et skritt på 2, separat for hver kanal. Et annet konvolusjonslag (C3) som består av 16 filtre, hver av størrelse 9x9x16, følger. Hovedformålet med disse lagene er å trekke ut lav-nivå-egenskaper som tekstur og enkle kanter. Fordelen med å bruke Max Pooling-lag er at det gjør utgangen generert av konvolusjonslagene mer robust til lokale translasjoner, og når de brukes på justerte ansiktsbilder, gjør de nettverket mer robust til registreringsfeil på en liten skala.
Flere nivåer av pooling gjør nettverket mer robust til visse situasjoner, men det gjør også at nettverket mister informasjon om den nøyaktige posisjonen til mikro-teksturer og detaljerte ansiktsstrukturer. For å unngå at nettverket mister informasjonen, bruker DeepFace-modellen et max pooling-lag bare med det første konvolusjonslaget. Disse lagene tolkes av modellen som en front-end adaptiv forhåndbehandling. Selv om de gjør mesteparten av beregningen, har de begrensete parametre på egen hånd, og de utvider bare innmatingsdataene til en sett med lokale egenskaper.
De følgende lagene L4, L5 og L6 er lokalt tilkoblede, og likesom et konvolusjonslag, anvender de en filterbank hvor hver lokasjon i egenskapskartet lærer en unik sett av filtre. Siden forskjellige regioner i et justert bilde har forskjellige lokale statistikker, kan det ikke holde den romlige stasjoneringsantagelsen. For eksempel har området mellom øyebrynene og øynene en høyere diskriminerende evne sammenlignet med området mellom munnen og nesen. Bruken av lojale lag påvirker antallet parametre som er underlagt trening, men påvirker ikke den beregningsmessige byrden under egenskapsuttrekk.
DeepFace-modellen bruker tre lag i første omgang bare fordi den har en stor mengde godt merket treningdata. Bruken av lokalt tilkoblede lag kan videre begrunnes som hver utgangsenhet av et lokalt tilkoblet lag kan påvirkes av en stor patch av inndata.
Til slutt er de øverste lagene fullstendig tilkoblede, med hver utgangsenhet som er tilkoblet alle inndata. De to lagene kan fange korrelasjonene mellom egenskaper fanget i forskjellige deler av ansiktsbildene, som posisjon og form av munn, og posisjon og form av øynene. Utgangen av det første fullstendig tilkoblede laget (F7) vil brukes av nettverket som sin rå ansiktsrepresentasjon-egenskapsvektor. Modellen vil deretter mate utgangen av det siste fullstendig tilkoblede laget (F8) til en K-vei softmax som produserer en distribusjon over klasse-merker.
Datasett
DeepFace-modellen bruker en kombinasjon av datasett, med Social Face Classification eller SFC-datasett som det primære. Videre bruker DeepFace-modellen også LFW-datasett og YTF-datasett.
SFC-datasett
SFC-datasett er lært fra en samling av bilder fra Facebook (META ), og det består av 4,4 millioner merkte bilder av 4030 personer, med hver av dem som har 800 til 1200 ansikter. De siste 5% av SFC-datasettets ansiktsbilder av hver identitet er lagt til side for testing-formål.
LFW-datasett
LFW-datasett består av 13 323 fotos av over 5000 kjendiser som deretter er delt inn i 6000 ansiktspar over 10 splitt.
YTF-datasett
YTF-datasett består av 3425 videoer av 1595 emner, og det er en undergruppe av kjendisene i LFW-datasett.
Resultater
Uten frontalisering og når kun 2D-justering brukes, oppnår modellen en nøyaktighetspoengsum på bare om lag 94,3%. Når modellen bruker sentrum-avkorting av ansikt-deteksjon, bruker den ingen justering, og i dette tilfelle returnerer modellen en nøyaktighetspoengsum på 87,9% fordi noen deler av ansiktsregionen kan falle utenfor sentrum-avkorting. For å evaluere den diskriminerende evnen til ansiktsrepresentasjon i isolasjon, følger modellen den usuperviserte læring-innstillingen for å sammenligne den indre produktet av normaliserte egenskaper. Det øker gjennomsnittlig nøyaktighet av modellen til 95,92%

Figuren over sammenligner ytelsen til DeepFace-modellen sammenlignet med andre state-of-the-art ansiktsgjenkjenning-modeller.

Figuren over viser ROC-kurvene på datasett.
Konklusjon
Ideelt sett vil en ansiktsklassifisator være i stand til å gjenkjenne ansikter med nøyaktigheten til et menneske, og det vil være i stand til å returnere høy nøyaktighet uavhengig av bilde-kvalitet, pose, uttrykk eller belysning. Videre vil et ideelt ansiktsgjenkjenning-rammeverk være i stand til å bli brukt i en rekke applikasjoner med liten eller ingen modifikasjoner. Selv om DeepFace er ett av de mest avanserte og effektive ansiktsgjenkjenning-rammeverk for øyeblikket, er det ikke perfekt, og det kan ikke være i stand til å levere nøyaktige resultater i visse situasjoner. Men DeepFace-rammeverket er et betydelig milepæl i ansiktsgjenkjenning-industrien, og det lukker ytelsesgapet ved å bruke en kraftig metrik-læringsteknikk, og det vil fortsette å bli mer effektivt over tid.












