Gezichtsherkenningsconcepten
In dit artikel wordt het concept van gezichtsherkenning, de bijbehorende bewerkingen en de onderliggende gegevensstructuren uitgelegd. Gezichtsherkenning verwijst in grote lijnen naar de methode voor het verifiëren of identificeren van een persoon op basis van hun gezicht.
Verificatie is een-op-een-match die twee gezichten neemt en retourneert of ze hetzelfde gezicht zijn, en identificatie is een-op-veel-match die één gezicht als invoer gebruikt en een set overeenkomende kandidaten retourneert. Gezichtsherkenning is belangrijk bij het implementeren van het scenario voor identiteitsverificatie, dat ondernemingen en apps kunnen gebruiken om te controleren of een (externe) gebruiker is wie ze beweren te zijn.
Gerelateerde gegevensstructuren
Bij de herkenningsbewerkingen worden voornamelijk de volgende gegevensstructuren gebruikt. Deze objecten worden opgeslagen in de cloud en er kan naar worden verwezen met hun id-tekenreeksen. Id-tekenreeksen zijn altijd uniek binnen een abonnement, maar naamvelden kunnen worden gedupliceerd.
| Naam | Beschrijving |
|---|---|
| DetectedFace | Deze enkele gezichtsweergave wordt opgehaald door de gezichtsdetectiebewerking. De id verloopt 24 uur nadat deze is gemaakt. |
| PersistedFace | Wanneer DetectedFace-objecten worden toegevoegd aan een groep, zoals FaceList of Person, worden het PersistedFace-objecten. Ze kunnen op elk moment worden opgehaald en verlopen niet. |
| FaceList of LargeFaceList | Deze gegevensstructuur is een verschillende lijst met PersistedFace-objecten. Een FaceList heeft een unieke id, een naamreeks en eventueel een tekenreeks voor gebruikersgegevens. |
| Person | Deze gegevensstructuur is een lijst met PersistedFace-objecten die tot dezelfde persoon behoren. Deze heeft een unieke id, een naamreeks en eventueel een gebruikersgegevensreeks. |
| PersonGroup of LargePersonGroup | Deze gegevensstructuur is een lijst met verschillende Person-objecten. Deze heeft een unieke id, een naamreeks en eventueel een gebruikersgegevensreeks. Een PersonGroup moet worden getraind voordat deze kan worden gebruikt in herkenningsbewerkingen. |
| PersonDirectory | Deze gegevensstructuur is net als LargePersonGroup, maar biedt extra opslagcapaciteit en andere toegevoegde functies. Zie Use the PersonDirectory structure (De structuur PersonDirectory gebruiken) voor meer informatie. |
Herkenningsbewerkingen
In deze sectie wordt beschreven hoe de onderliggende bewerkingen de bovenstaande gegevensstructuren gebruiken om een gezicht te identificeren en te verifiëren.
PersonGroup maken en trainen
U moet een PersonGroup of LargePersonGroup maken om de set met personen op te slaan die u wilt matchen. PersonGroups bevatten Person-objecten, die elk een afzonderlijke persoon vertegenwoordigen en een set gezichtsgegevens bevatten die tot die persoon behoren.
De trainbewerking bereidt de gegevensset voor die moet worden gebruikt in vergelijkingen van gezichtsgegevens.
Identificatie
De bewerking Identificeren neemt een of meer bron-gezichts-ID's (van een DetectedFace- of PersistedFace-object) en een PersonGroup of LargePersonGroup. Het retourneert een lijst met de Person-objecten waar elk brongezicht bij kan horen. Geretourneerde persoonsobjecten worden verpakt als kandidaatobjecten, die een betrouwbaarheidswaarde voor voorspellingen hebben.
Verificatie
De bewerking Verify maakt gebruik van één gezichts-id (van een DetectedFace- of PersistedFace-object) en een Person-object. Het bepaalt of het gezicht tot diezelfde persoon behoort. Verificatie is een-op-een-match en kan worden gebruikt als een laatste controle op de resultaten van de API-aanroep Identificeren. U kunt desgewenst echter de PersonGroup doorgeven waar de kandidaat Persoon bij hoort om de API-prestaties te verbeteren.
Invoergegevens
Gebruik de volgende tips om ervoor te zorgen dat uw invoerafbeeldingen de meest nauwkeurige herkenningsresultaten geven:
- De ondersteunde invoerafbeeldingsindelingen zijn JPEG, PNG, GIF (het eerste frame), BMP.
- De bestandsgrootte van de afbeelding mag niet groter zijn dan 6 MB.
- Wanneer u Person-objecten maakt, gebruikt u foto's die verschillende soorten hoeken en belichting hebben.
- Sommige gezichten worden mogelijk niet herkend vanwege technische uitdagingen, zoals:
- Afbeeldingen met extreme belichting, bijvoorbeeld ernstige achtergrondverlichting.
- Blokken die één of beide ogen blokkeren.
- Verschillen in haartype of gezichtshaar.
- Wijzigingen in de gezichtsuitdrukking vanwege leeftijd.
- Extreme gezichtsexpressie.
- U kunt het kenmerk qualityForRecognition gebruiken in de gezichtsdetectiebewerking wanneer u toepasselijke detectiemodellen gebruikt als algemene richtlijn voor de vraag of de afbeelding waarschijnlijk voldoende kwaliteit heeft om gezichtsherkenning te proberen. Alleen afbeeldingen van 'hoge' kwaliteit worden aanbevolen voor persoonsinschrijving en kwaliteit op of boven 'gemiddeld' voor identificatiescenario's.
Volgende stappen
Nu u bekend bent met concepten voor gezichtsherkenning, kunt u een script schrijven dat gezichten identificeert op basis van een getrainde PersonGroup.