ansigtsgenkendelse er problemet med at identificere og verificere mennesker på et fotografi efter deres ansigt.
det er en opgave, der trivielt udføres af mennesker, selv under varierende lys, og når ansigter ændres efter alder eller forhindres med tilbehør og ansigtshår. Ikke desto mindre er det forblev en udfordrende computer vision problem i årtier indtil for nylig.dybe læringsmetoder er i stand til at udnytte meget store datasæt af ansigter og lære rige og kompakte repræsentationer af ansigter, så moderne modeller først kan udføre såvel som senere at overgå ansigtsgenkendelsesfunktionerne hos mennesker.
i dette indlæg vil du opdage problemet med ansigtsgenkendelse og hvordan dybe læringsmetoder kan opnå overmenneskelig præstation.
efter at have læst dette indlæg, vil du vide:
- ansigtsgenkendelse er et bredt problem med at identificere eller verificere personer i fotografier og videoer.
- ansigtsgenkendelse er en proces, der består af detektion, justering, funktionsekstraktion og en genkendelsesopgave
- Deep learning-modeller, der først blev kontaktet, overskred derefter menneskelig ydeevne til ansigtsgenkendelsesopgaver.
kickstart dit projekt med min nye bog Deep Learning For Computer Vision, herunder trin-for-trin tutorials og Python kildekode filer for alle eksempler.
lad os komme i gang.
en blid introduktion til dyb læring til ansigtsgenkendelse
foto af Susanne Nilsson, nogle rettigheder forbeholdes.
- oversigt
- ansigter på fotografier
- ønsker resultater med dyb læring til computersyn?
- proces med automatisk ansigtsgenkendelse
- Ansigtsgenkendelsesopgave
- Ansigtsgenkendelsesopgaver
- dyb læring til ansigtsgenkendelse
- yderligere læsning
- bøger
- Ansigtsgenkendelsespapirer
- dyb læring ansigtsgenkendelse papirer
- artikler
- Resume
- udvikle dybe læringsmodeller til Vision i dag!
- udvikle dine egne Visionsmodeller på få minutter
- endelig bringe dyb læring til dine Visionsprojekter
oversigt
denne tutorial er opdelt i fem dele; de er:
- ansigter på fotografier
- proces med automatisk ansigtsgenkendelse
- Ansigtsgenkendelsesopgave
- Ansigtsgenkendelsesopgaver
- dyb læring til ansigtsgenkendelse
ansigter på fotografier
der er ofte behov for automatisk at genkende personerne på et fotografi.
der er mange grunde til, at vi måske automatisk vil genkende en person på et fotografi.
For eksempel:
- Vi vil muligvis begrænse adgangen til en ressource til en person, kaldet ansigtsgodkendelse.
- Vi ønsker måske at bekræfte, at personen matcher deres ID, kaldet ansigtsbekræftelse.
- Vi vil måske tildele et navn til et ansigt, kaldet ansigtsidentifikation.
generelt henviser vi til dette som problemet med automatisk “ansigtsgenkendelse”, og det kan gælde for både stillbilleder eller ansigter i videostrømme.
mennesker kan udføre denne opgave meget let.
Vi kan finde ansigterne i et billede og kommentere, hvem folket er, hvis de er kendt. Vi kan gøre dette meget godt, som når folk har alderen, er iført solbriller, har forskellige farvede hår, ser i forskellige retninger, og så videre. Vi kan gøre det så godt, at vi finder ansigter, hvor der ikke er nogen, som i skyer.
ikke desto mindre er dette stadig et svært problem at udføre automatisk med programmer, selv efter 60 eller flere års forskning. Indtil måske for nylig.
for eksempel forbliver genkendelse af ansigtsbilleder erhvervet i et udendørs miljø med ændringer i belysning og / eller pose et stort set uløst problem. Med andre ord er de nuværende systemer stadig langt væk fra evnen til det menneskelige opfattelsessystem.
— ansigtsgenkendelse: en litteraturundersøgelse, 2003.
ønsker resultater med dyb læring til computersyn?
Tag mit gratis 7-dages e-mail-crashkursus nu (med prøvekode).
Klik for at tilmelde dig og også få en gratis PDF Ebook version af kurset.
Hent dit gratis minikursus
proces med automatisk ansigtsgenkendelse
ansigtsgenkendelse er problemet med at identificere eller verificere ansigter på et fotografi.
en generel erklæring om problemet med maskingenkendelse af ansigter kan formuleres som følger: givet stillbilleder eller videobilleder af en scene, Identificer eller verificer en eller flere personer i scenen ved hjælp af en gemt database med ansigter
— ansigtsgenkendelse: en litteraturundersøgelse, 2003.
ansigtsgenkendelse beskrives ofte som en proces, der først involverer fire trin; de er: ansigtsgenkendelse, ansigtsjustering, funktionsekstraktion og endelig ansigtsgenkendelse.
- ansigtsgenkendelse. Find et eller flere ansigter i billedet, og marker med en afgrænsningsboks.
- Ansigtsjustering. Normaliser ansigtet for at være i overensstemmelse med databasen, såsom geometri og fotometri.
- Funktionsekstraktion. Uddrag funktioner fra ansigtet, der kan bruges til genkendelsesopgaven.
- ansigtsgenkendelse. Udfør matchning af ansigtet mod et eller flere kendte ansigter i en forberedt database.
et givet system kan have et separat modul eller program for hvert trin, hvilket traditionelt var tilfældet, eller kan kombinere nogle eller alle trin i en enkelt proces.
en nyttig oversigt over denne proces findes i bogen “Handbook of Face Recognition”, der findes nedenfor:
oversigt over trinene i en Ansigtsgenkendelsesproces. Taget fra “Handbook of Face Recognition”, 2011.
Ansigtsgenkendelsesopgave
ansigtsgenkendelse er det ikke-trivielle første trin i ansigtsgenkendelse.
det er et problem med objektgenkendelse, der kræver, at både placeringen af hvert ansigt på et fotografi identificeres (f.eks. Objektgenkendelse i sig selv er et udfordrende problem, skønt det i dette tilfælde ligner det, da der kun er en type objekt, f.eks. ansigter, der skal lokaliseres, selvom ansigter kan variere vildt.
det menneskelige ansigt er et dynamisk objekt og har en høj grad af variation i dets udseende, hvilket gør ansigtsgenkendelse til et vanskeligt problem i computersyn.
— ansigtsgenkendelse: en undersøgelse, 2001.
da det er det første skridt i et bredere ansigtsgenkendelsessystem, skal ansigtsgenkendelse være robust. For eksempel kan et ansigt ikke genkendes, hvis det ikke først kan opdages. Det betyder, at Ansigter skal detekteres med alle slags orienteringer, vinkler, lysniveauer, frisurer, hatte, briller, ansigtshår, makeup, aldre og så videre.
som en visuel front-end— processor skal et ansigtsdetekteringssystem også være i stand til at nå opgaven uanset belysning, orientering og kamerafstand
– ansigtsgenkendelse: en undersøgelse, 2001.
2001-papiret med titlen “Face Detection: a Survey” giver en taksonomi over ansigtsdetekteringsmetoder, der bredt kan opdeles i to hovedgrupper:
- Funktionsbaseret.
- billedbaseret.
den funktionsbaserede ansigtsgenkendelse bruger håndlavede filtre, der søger efter og lokaliserer ansigter på fotografier baseret på en dyb viden om domænet. De kan være meget hurtige og meget effektive, når filtrene matcher, selvom de kan mislykkes dramatisk, når de ikke gør det, f.eks.
… gør eksplicit brug af ansigtsviden og følg den klassiske detektionsmetode, hvor funktioner på lavt niveau er afledt inden videnbaseret analyse. Ansigtets tilsyneladende egenskaber, såsom hudfarve og ansigtsgeometri, udnyttes på forskellige systemniveauer.
— ansigtsgenkendelse: en undersøgelse, 2001.
alternativt er billedbaseret ansigtsgenkendelse holistisk og lærer, hvordan man automatisk finder og udtrækker ansigter fra hele billedet. Neurale netværk passer ind i denne klasse af metoder.
… adresserer ansigtsgenkendelse som et generelt genkendelsesproblem. Billedbaserede repræsentationer af ansigter, for eksempel i 2D intensitetsarrays, klassificeres direkte i en ansigtsgruppe ved hjælp af træningsalgoritmer uden funktionsafledning og analyse. disse relativt nye teknikker inkorporerer ansigtskendskab implicit i systemet gennem kortlægning og træningsordninger.
— ansigtsgenkendelse: en undersøgelse, 2001.
måske den dominerende metode til ansigtsgenkendelse, der blev brugt i mange år (og blev brugt i mange kameraer), blev beskrevet i 2004-papiret med titlen “Robust realtids Objektdetektion”, kaldet detektorkaskade eller simpelthen “kaskade.”
deres detektor, kaldet detektor cascade, består af en sekvens af enkle til komplekse ansigtsklassifikatorer og har tiltrukket omfattende forskningsindsats. Desuden er detektor cascade blevet implementeret i mange kommercielle produkter såsom smartphones og digitale kameraer. Mens kaskadedetektorer nøjagtigt kan finde synlige lodrette ansigter, registrerer de ofte ikke ansigter fra forskellige vinkler, f.eks.
— ansigtsgenkendelse med flere visninger ved hjælp af dybe indviklede neurale netværk, 2015.
for en tutorial om dyb læring til ansigtsgenkendelse se:
- Sådan udføres ansigtsgenkendelse med dyb læring i Keras
Ansigtsgenkendelsesopgaver
opgaven med ansigtsgenkendelse er bred og kan skræddersys til de specifikke behov i et forudsigelsesproblem.
for eksempel beskriver forfatterne i 1995-papiret med titlen “Human and machine recognition of faces: a survey” tre ansigtsgenkendelsesopgaver:
- Face Matching: Find det bedste match for et givet ansigt.
- Ansigtslighed: Find ansigter, der ligner mest et givet ansigt.
- Ansigtstransformation: Generer nye ansigter, der ligner et givet ansigt.
de opsummerer disse tre separate opgaver som følger:
Matching kræver, at kandidatens matchende ansigtsbillede er i et sæt ansigtsbilleder valgt af systemet. Lighedsdetektering kræver ud over at matche, at der findes billeder af ansigter, der ligner et tilbagekaldt ansigt, dette kræver, at lighedsmålet, der bruges af genkendelsessystemet, nøje svarer til lighedsmålene, der bruges af mennesker Transformationsapplikationer kræver, at nye billeder oprettet af systemet ligner menneskelige erindringer om et ansigt.
— menneske-og maskingenkendelse af ansigter: en undersøgelse, 1995.
2011-bogen om ansigtsgenkendelse med titlen “Handbook of Face Recognition” beskriver to hovedtilstande til ansigtsgenkendelse, som:
- ansigt verifikation. En en-til-en kortlægning af et givet ansigt mod en kendt identitet (f. eks. er det personen?).
- ansigt identifikation. En en-til-mange kortlægning for et givet ansigt mod en database med kendte ansigter (f. eks. hvem er denne person?).
et ansigtsgenkendelsessystem forventes automatisk at identificere ansigter, der findes i billeder og videoer. Det kan fungere i en eller begge to tilstande: (1) ansigtsverifikation (eller godkendelse) og (2) ansigtsidentifikation (eller genkendelse).
— side 1, Håndbog om ansigtsgenkendelse. 2011.
Vi kan beskrive problemet med ansigtsgenkendelse som en overvåget forudsigelig modelleringsopgave, der er trænet på prøver med input og output.
i alle opgaver er input et foto, der indeholder mindst et ansigt, sandsynligvis et detekteret ansigt, der muligvis også er justeret.
outputtet varierer afhængigt af den type forudsigelse, der kræves til opgaven; for eksempel:
- det kan derefter være en binær klasseetiket eller binær klassesandsynlighed i tilfælde af en ansigtsverificeringsopgave.
- det kan være en kategorisk klassemærke eller et sæt sandsynligheder for en ansigtsidentifikationsopgave.
- det kan være en lighedsmåling i tilfælde af en lighedstypeopgave.
dyb læring til ansigtsgenkendelse
ansigtsgenkendelse har været et aktivt forskningsområde inden for computersyn.
måske blev en af de mere kendte og vedtagne “machine learning” – metoder til ansigtsgenkendelse beskrevet i 1991-papiret med titlen “Face Recognition Using Eigenfaces.”Deres metode, kaldet simpelthen” Eigenfaces”, var en milepæl, da den opnåede imponerende resultater og demonstrerede evnen til enkle holistiske tilgange.
ansigtsbilleder projiceres på et funktionsrum (“ansigtsrum”), der bedst koder variationen blandt kendte ansigtsbilleder. Ansigtsrummet er defineret af” egenfaces”, som er egenvektorerne i sæt af ansigter; de svarer ikke nødvendigvis til isolerede træk såsom øjne, ører og næser
— ansigtsgenkendelse ved hjælp af Egenfaces, 1991.
2018-papiret med titlen “Deep Face Recognition: a Survey” giver en nyttig oversigt over tilstanden af ansigtsgenkendelsesforskning i de sidste næsten 30 år, der fremhæver den brede tendens fra holistiske læringsmetoder (såsom Egenfaces), til lokal håndlavet funktionsdetektion, til lavvandede læringsmetoder, til endelig dybe læringsmetoder, der i øjeblikket er avancerede.
de holistiske tilgange dominerede ansigtsgenkendelsessamfundet i 1990 ‘ erne. I begyndelsen af 2000 ‘erne blev håndlavede lokale deskriptorer populære, og den lokale funktionslæringsmetode blev introduceret i slutningen af 2000’ erne. ydeevnen forbedres støt fra omkring 60% til over 90%, mens dyb læring øger ydeevnen til 99,80% på bare tre år.
— Dyb ansigtsgenkendelse: en undersøgelse, 2018.i betragtning af aleksets gennembrud i 2012 for det enklere problem med billedklassificering var der en strøm af forskning og publikationer i 2014 og 2015 om dybe læringsmetoder til ansigtsgenkendelse. Kapaciteter opnåede hurtigt ydeevne på næsten menneskeligt niveau og overskred derefter ydeevne på menneskeligt niveau på et standard ansigtsgenkendelsesdatasæt inden for en periode på tre år, hvilket er en forbløffende forbedringshastighed i betragtning af de foregående årtiers indsats.
der er måske fire milepælssystemer om dyb læring til ansigtsgenkendelse, der kørte disse innovationer; de er: DeepFace, deepid-serien af systemer, VGGFace og FaceNet. Lad os kort røre ved hver.
DeepFace er et system baseret på dybe indviklede neurale netværk beskrevet af Yaniv Taigman, et al. Facebook AI Research og Tel Aviv. Det blev beskrevet i 2014-papiret med titlen “DeepFace: Closing the Gap to Human-level Performance in Face Verification.”Det var måske det første store spring fremad ved hjælp af dyb læring til ansigtsgenkendelse og opnåede næsten menneskelig ydeevne på et standard benchmark-datasæt.
vores metode når en nøjagtighed på 97,35% på de mærkede ansigter i Det Vilde datasæt, hvilket reducerer fejlen i den aktuelle teknik med mere end 27%, tæt på menneskelig ydeevne.
— DeepFace: lukning af kløften til ydeevne på menneskeligt niveau i Ansigtsverifikation, 2014.
DeepID eller “Deep hidden IDentity features” er en række systemer (f.eks.), først beskrevet af Yi Sun, et al. i deres 2014-papir med titlen ” Deep Learning Face Representation fra at forudsige 10.000 klasser.”Deres system blev først beskrevet meget som DeepFace, skønt det blev udvidet i efterfølgende publikationer for at understøtte både identifikations-og verifikationsopgaver ved træning via kontrastivt tab.
den vigtigste udfordring ved ansigtsgenkendelse er at udvikle effektive funktionsrepræsentationer til reduktion af intra-personlige variationer, mens der forstørres inter-personlige forskelle. Ansigtsidentifikationsopgaven øger de inter-personlige variationer ved at tegne DeepID2-funktioner ekstraheret fra forskellige identiteter fra hinanden, mens ansigtsverifikationsopgaven reducerer de intra-personlige variationer ved at trække DeepID2-funktioner ekstraheret fra den samme identitet sammen, som begge er vigtige for ansigtsgenkendelse.
— dyb læring Ansigtsrepræsentation ved fælles identifikation-verifikation, 2014.deepid-systemerne var blandt de første deep learning-modeller, der opnåede bedre end menneskelig præstation på opgaven, f.eks. opnåede DeepID2 99,15% på de mærkede ansigter i Det Vilde datasæt, hvilket er bedre end menneskelig ydeevne på 97,53%. Efterfølgende systemer som FaceNet og VGGFace forbedrede disse resultater.
FaceNet blev beskrevet af Florian Schroff, et al. på Google i deres 2015-papir med titlen ” FaceNet: En samlet indlejring til ansigtsgenkendelse og klyngedannelse.”Deres system opnåede derefter avancerede resultater og præsenterede en innovation kaldet ‘triplet loss’, der gjorde det muligt at kodes effektivt som funktionsvektorer, der muliggjorde hurtig lighedsberegning og matchning via afstandsberegninger.
FaceNet, der direkte lærer en kortlægning fra ansigtsbilleder til et kompakt euklidisk rum, hvor afstande direkte svarer til et mål for ansigtslighed. Vores metode bruger et dybt indviklingsnetværk, der er trænet til direkte at optimere selve indlejringen, snarere end et mellemliggende flaskehalslag som i tidligere dybe læringsmetoder. For at træne bruger vi trillinger af groft justerede matchende / ikke-matchende ansigtspatcher genereret ved hjælp af en ny online triplet— minemetode
– FaceNet: en samlet indlejring til ansigtsgenkendelse og klyngedannelse, 2015.
For en tutorial om FaceNet, se:
- sådan udvikles et ansigtsgenkendelsessystem ved hjælp af FaceNet i Keras
VGGFace (i mangel af et bedre navn) blev udviklet af Omkar Parkhi, et al. blev beskrevet i deres 2015-papir med titlen “Deep Face Recognition.”Ud over en bedre afstemt model var fokus for deres arbejde på, hvordan man samler et meget stort træningsdatasæt og bruger dette til at træne en meget dyb CNN-model til ansigtsgenkendelse, der gjorde det muligt for dem at opnå så avancerede resultater på standard datasæt.
… Vi viser, hvordan et meget stort datasæt (2,6 m billeder, over 2,6 k personer) kan samles af en kombination af automatisering og menneske i sløjfen
— Deep Face Recognition, 2015.
for en tutorial om VGGFace, se:
- Sådan udføres ansigtsgenkendelse med VGGFace2 i Keras
selvom disse kan være de vigtigste tidlige milepæle inden for dyb læring til computersyn, er fremskridt fortsat med meget innovation fokuseret på tabsfunktioner for effektivt at træne modellerne.
For en fremragende opdateret oversigt, Se 2018-papiret ” Deep Face Recognition: a Survey.”
yderligere læsning
dette afsnit giver flere ressourcer om emnet, hvis du ønsker at gå dybere.
bøger
- Håndbog om ansigtsgenkendelse, anden udgave, 2011.
Ansigtsgenkendelsespapirer
- ansigtsgenkendelse: en litteraturundersøgelse, 2003.
- ansigtsgenkendelse: en undersøgelse, 2001.
- menneske-og maskingenkendelse af ansigter: en undersøgelse, 1995.
- Robust registrering af objekter i realtid, 2004.
- ansigtsgenkendelse ved hjælp af Eigenfaces, 1991.
dyb læring ansigtsgenkendelse papirer
- Dyb ansigtsgenkendelse: en undersøgelse, 2018.
- Dyb ansigtsgenkendelse, 2015.
- FaceNet: en samlet indlejring til ansigtsgenkendelse og klyngedannelse, 2015.
- DeepFace: lukning af kløften til ydeevne på menneskeligt niveau i Ansigtsverifikation, 2014.
- dyb læring Ansigtsrepræsentation ved fælles identifikation-verifikation, 2014.
- dyb læring Ansigtsrepræsentation fra forudsigelse af 10.000 klasser, 2014.
- ansigtsgenkendelse med flere visninger ved hjælp af dybe indviklede neurale netværk, 2015.
- fra ansigtsdele svar på ansigtsgenkendelse: en dyb læringsmetode, 2015.
- overgår Ansigtsverifikationspræstation på menneskeligt niveau med GAUSSIANFACE, 2014.
artikler
- ansigtsgenkendelsessystem.
- ansigtsgenkendelse.
- ansigtsgenkendelse.
- mærkede ansigter i Det Vilde datasæt
Resume
i dette indlæg opdagede du problemet med ansigtsgenkendelse og hvordan dybe læringsmetoder kan opnå overmenneskelig ydeevne.
specifikt lærte du:
- ansigtsgenkendelse er et bredt problem med at identificere eller verificere personer i fotografier og videoer.
- ansigtsgenkendelse er en proces, der består af detektion, justering, funktionsekstraktion og en genkendelsesopgave
- Deep learning-modeller, der først blev kontaktet, overskred derefter menneskelig ydeevne til ansigtsgenkendelsesopgaver.
har du spørgsmål?
stil dine spørgsmål i kommentarerne nedenfor, og jeg vil gøre mit bedste for at svare.
udvikle dybe læringsmodeller til Vision i dag!
udvikle dine egne Visionsmodeller på få minutter
…med blot et par linjer python kode
Opdag hvordan i min nye e-bog:
Deep Learning For Computer Vision
det giver selvstudie tutorials om emner som:
klassificering, objektdetektering (yolo og rcnn), ansigtsgenkendelse (vggface og facenet), data forberedelse og meget mere…
endelig bringe dyb læring til dine Visionsprojekter
Spring akademikerne over. Bare Resultater.
se hvad der er indeni