AI-modeller og platforme

DeepFace til avanceret ansigtsgenkendelse

mm
Føj Unite.AI til dine foretrukne kilder på Google

Ansigtsgenkendelse har været et trendy felt inden for AI og ML i flere år nu, og de vidtrækkende kulturelle og sociale implikationer af ansigtsgenkendelse er langtrækkende. Men der findes en performancesforskel mellem menneskelige visuelle systemer og maskiner, der i øjeblikket begrænser ansøgningerne af ansigtsgenkendelse. 

For at overvinde bufferen, der er skabt af performancesforskellen, og levere menneske-niveau-præcision, introducerede Meta DeepFace, et ansigtsgenkendelsesrammeværk. DeepFace-modellen er trænet på en stor ansigtsdataset, der afviger væsentligt fra datasets, der bruges til at konstruere evalueringens benchmarks, og den har potentialet til at overgå eksisterende rammeværker med minimale tilpasninger. Desuden producerer DeepFace-rammeværket kompakte ansigtsrepræsentationer, når det sammenlignes med andre systemer, der producerer tusinder af ansigtsudseendesfunktioner. 

Det foreslåede DeepFace-rammeværk bruger Deep Learning til at træne på en stor dataset, der består af forskellige former for data, herunder billeder, videoer og grafik. DeepFace-netværksarkitekturen antager, at når alignment er fuldført, er placeringen af hver ansigtsregion fastsat på pixelniveau. Derfor er det muligt at bruge de rå pixel RGB-værdier uden at bruge multiple convolutionelle lag, som det er tilfældet med andre rammeværker. 

Den konventionelle pipeline af moderne ansigtsgenkendelsesrammeværker består af fire faser: Detektion, Alignment, Repræsentation og Klassificering. DeepFace-rammeværket anvender eksplicit 3D-ansigtsmodellering til at anvende en stykkevis transformation, og bruger et ni-lag dybt neuralt netværk til at udlede en ansigtsrepræsentation. DeepFace-rammeværket forsøger at bidrage med følgende

  1. Udvikle en effektiv DNN eller dyb neuralt netværksarkitektur, der kan udnytte en stor dataset til at skabe en ansigtsrepræsentation, der kan generaliseres til andre datasets. 
  2. Brug eksplicit 3D-modellering til at udvikle et effektivt ansigtsaligneringssystem. 

Forståelse af DeepFace-modellens funktionsmåde

Ansigtsgenkendelse

Ansigtsgenkendelse er en teknik, der roterer billedet af en person i forhold til øjnernes vinkel. Ansigtsgenkendelse er en populær praksis, der bruges til at forarbejde data til ansigtsgenkendelse, og ansigtsgenkendte datasets hjælper med at forbedre nøjagtigheden af genkendelsesalgoritmerne ved at give en normaliseret input. Men at alignere ansigter på en ukontrolleret måde kan være en udfordrende opgave på grund af de mange faktorer, der er involveret, som non-rigid udtryk, kropsstillinger og mere. Flere sofistikerede aligneringsteknikker, som brug af en analytisk 3D-model af ansigtet eller søgning efter fiducial-punkter fra eksterne dataset, kan muligvis tillade udviklere at overvinde udfordringerne. 

Selvom alignment er den mest populære metode til at håndtere ukontrolleret ansigtsgenkendelse og -verificering, findes der ingen perfekt løsning i øjeblikket. 3D-modeller bruges også, men deres popularitet er faldet betragteligt i de seneste år, især når de bruges i en ukontrolleret omgang. Men da menneskeansigter er 3D-objekter, kan det være den rigtige tilgang, hvis det bruges korrekt. DeepFace-modellen bruger et system, der bruger fiducial-punkter til at skabe en analytisk 3D-modellering af ansigtet. Denne 3D-modellering bruges derefter til at forvrænge et ansigtsudsnit til en 3D-frontal model. 

Desuden bruger DeepFace-alignment også fiducial-punktdetektorer til at lede aligneringsprocessen. Selvom DeepFace-modellen bruger en simpel punktdetektor, anvender den det i flere iterationer for at finjustere output. En Support Vector Regressor eller SVR, der er trænet til at forudse punktkonfigurationer, udtrækker fiducial-punkterne fra en billedbeskrivelse ved hver iteration. DeepFace-billedbeskrivelsen er baseret på LBP-histogrammer, selvom den også tager andre funktioner i betragtning. 

2D-alignment

DeepFace-modellen starter aligneringsprocessen ved at detektere seks fiducial-punkter inden for detektionsudsnittet, centreret omkring øjnernes midte, mundens placering og næsens spids. De bruges til at rotere, skalere og oversætte billedet til seks anchor-placeringer og iterere på det forvrængede billede, indtil der ikke er nogen synlig ændring. Den akkumulerede transformation genererer derefter en 2D-aligneret korpus. Aligneringsmetoden er ret lig den, der bruges i LFW-a, og den har været brugt over årene i et forsøg på at booste modellens nøjagtighed. 

3D-alignment

For at alignere ansigter med ud af plane-rotationer bruger DeepFace-rammeværket en generisk 3D-formmodel, og registrerer en 3D-kamera, der kan bruges til at forvrænge 2D-aligneret korpus til 3D-formen i dens billedplan. Som resultat genererer modellen den 3D-aligneret version af korpus, og det opnås ved at lokaliserer yderligere 67 fiducial-punkter i 2D-aligneret korpus ved hjælp af en anden SVR eller Support Vector Regressor. 

Modellen placerer derefter manuelt de 67 anchor-punkter på 3D-formen og kan derfor opnå fuld korrespondance mellem 3D-referencer og deres svarande fiducial-punkter. I næste trin tilføjes en 3D-til-2D affine-kamera ved hjælp af en generel mindste kvadrat-løsning til de lineære systemer med en kendt kovariansmatrix, der minimiserer bestemte tab. 

Frontalization

Da non-rigid deformationer og fulde perspektiv-projektioner ikke modelleres, fungerer den tilpassede 3D-til-2D-kamera kun som en approksimation. I et forsøg på at reducere korruptionen af vigtige identitetsbærende faktorer til den endelige forvrængning, tilføjer DeepFace-modellen de svarande residualer til x-y-komponenterne af hvert reference-fiducial-punkt. En sådan afslapning til formålet med at forvrænge billedet med færre forvrængninger til identiteten er plausibel, og uden det ville ansigterne være blevet forvrænget til samme form i 3D og tabt vigtige diskriminerende faktorer i processen. 

Til sidst opnår modellen frontalization ved at bruge en stykkevis affin-transformation rettet af Delaunay-trianguleringen, der er afledt fra 67 fiducial-punkter. 

  1. Detected face med 6 fiducial-punkter. 
  2. Induceret 2D-aligneret korpus. 
  3. 67 fiducial-punkter på 2D-aligneret korpus. 
  4. Reference 3D-form transformeret til 2D-aligneret korpus-billede. 
  5. Triangle-synlighed i forhold til 3D-2D-kameraet. 
  6. 67 fiducial-punkter induceret af 3D-modellen. 
  7. 3D-aligneret version af den endelige korpus. 
  8. Nyt view genereret af 3D-modellen. 

Repræsentation

Med en øgning i mængden af træningsdata, har læring-baserede metoder vist sig at være mere effektive og nøjagtige i forhold til konstruerede funktioner, primært fordi læring-baserede metoder kan opdage og optimere funktioner til en specifik opgave. 

DNN-arkitektur og træning

DeepFace-DNN er trænet på en multi-klassifikationsansigtsgenkendelse, der klassificerer identiteten af et ansigtbillede. 

Figuren ovenfor repræsenterer den samlede arkitektur af DeepFace-modellen. Modellen har et convolutionelt lag (C1) med 32 filtre af størrelse 11x11x3, der fødes et 3D-aligneret 3-kanals RGB-billede af størrelse 152×152 pixel, og det resulterer i 32 funktioner. Disse funktioner fødes derefter til et Max Pooling-lag (M2), der tager maksimum over 3×3 rumlige nabolag, og har et skridt på 2, separat for hvert kanal. Herefter følger et andet convolutionelt lag (C3), der består af 16 filtre, hver af størrelse 9x9x16. Det primære formål med disse lag er at udtrække lavniveaufunktioner som tekstur og simple kanter. Fordelen ved at bruge Max Pooling-lag er, at det gør output genereret af convolutionelle lag mere robust over for lokale translationer, og når det anvendes på alignerede ansigtsbilleder, gør det netværket meget mere robust over for registreringsfejl på et lille skala. 

Flere niveauer af pooling gør netværket mere robust over for visse situationer, men det får også netværket til at tabe information omkring den præcise position af mikro-teksturer og detaljerede ansigtsstrukturer. For at undgå, at netværket taber informationen, bruger DeepFace-modellen kun et Max Pooling-lag med det første convolutionelle lag. Disse lag fortolkes af modellen som en front-end adaptiv forarbejdningstrin. Selvom de udfører det meste af beregningen, har de begrænsede parametre på egen hånd, og de udvider blot input til en samling af lokale funktioner. 

De følgende lag, L4, L5 og L6, er lokale og anvender et filterbank, hvor hvert sted i funktionen lærer en unik samling af filtre. Da forskellige regioner i et aligneret billede har forskellige lokale statistikker, kan det ikke opretholde den rumlige stationær antagelse. For eksempel har området mellem øjenbrynene og øjnene en højere diskriminerings-evne i forhold til området mellem munden og næsen. Brugen af lokale lag påvirker antallet af parametre, der er underlagt træning, men påvirker ikke den beregningsmæssige byrde under funktionsextraktionen. 

DeepFace-modellen bruger tre lag i første omgang kun, fordi den har en stor mængde vel-labeled træningsdata. Brugen af lokale lag kan yderligere retfærdiggøres, da hver output-enhed i et lokalt lag kan påvirkes af et stort område af input-data. 

Til sidst er de øverste lag fuldt forbundet, og hver output-enhed er forbundet til alle input. De to lag kan fange korrelationerne mellem funktioner, der er fanget i forskellige dele af ansigtsbillederne, som position og form af munden, og position og form af øjnene. Output fra det første fuldt forbundne lag (F7) vil blive brugt af netværket som dets rå ansigtsrepræsentationsfunktionsvektor. Modellen vil derefter føde output fra det sidste fuldt forbundne lag (F8) til en K-vejs softmax, der producerer en distribution over klasse-etiketter. 

Datasæt

DeepFace-modellen bruger en kombination af datasæt, hvor Social Face Classification eller SFC-datasættet er det primære. Desuden bruger DeepFace-modellen også LFW-datasættet og YTF-datasættet. 

SFC-datasæt

SFC-datasættet er lært fra en samling af billeder fra Facebook (META ), og det består af 4,4 millioner labeled billeder af 4.030 personer, hvor hver af dem har 800 til 1.200 ansigter. De seneste 5% af SFC-datasættets ansigtsbilleder af hver identitet er efterladt til testformål.

LFW-datasæt

LFW-datasættet består af 13.323 fotos af over 5.000 kendisser, der derefter er inddelt i 6.000 ansigtsparacross 10 splits. 

YTF-datasæt

YTF-datasættet består af 3.425 videoer af 1.595 emner, og det er en undermængde af kendisserne i LFW-datasættet. 

Resultater

Uden frontalization og når kun 2D-alignment bruges, opnår modellen en nøjagtighed på kun omkring 94,3%. Når modellen bruger center-korpus af ansigtsgenkendelse, bruger den ikke nogen alignment, og i dette tilfælde returnerer modellen en nøjagtighed på 87,9%, fordi nogle dele af ansigtsområdet kan falde uden for center-korpus. For at evaluere dens diskriminerende evne af ansigtsrepræsentation i isolation, følger modellen den usupervisede læringsindstilling til at sammenligne den indre produkt af normaliserede funktioner. Det booster middel-nøjagtigheden af modellen til 95,92% 

Figuren ovenfor sammenligner performance af DeepFace-modellen i forhold til andre state-of-the-art ansigtsgenkendelsesmodeller. 

Figuren ovenfor viser ROC-kurver på datasættet. 

Konklusion

Idealiseret vil en ansigtsgenkendelsesmodel være i stand til at genkende ansigter med en nøjagtighed på menneskeniveau, og det vil være i stand til at returnere høj nøjagtighed uanset billedkvalitet, pose, udtryk eller belysning. Desuden vil en ideal ansigtsgenkendelsesrammeværk være i stand til at anvendes på en række ansøgninger med lidt eller ingen modifikationer. Selvom DeepFace er en af de mest avancerede og effektive ansigtsgenkendelsesrammeværker i øjeblikket, er det ikke perfekt, og det kan ikke altid levere nøjagtige resultater i visse situationer. Men DeepFace-rammeværket er et betydeligt milepæl i ansigtsgenkendelsesindustrien, og det lukker performancesforskellen ved at bruge en kraftfuld metrik-lærings-teknik, og det vil fortsætte med at blive mere effektivt over tid. 

En ingeniør af profession, en forfatter af hjerte. Kunal er en teknisk forfatter med en dyb kærlighed og forståelse af AI og ML, dedikeret til at forenkle komplekse koncepter inden for disse felter gennem sin engagerende og informative dokumentation.