Gezichtsdetectie, kenmerken en invoergegevens
Let op
Toegang tot face-services is beperkt op basis van geschiktheids- en gebruikscriteria om onze verantwoorde AI-principes te ondersteunen. Face-service is alleen beschikbaar voor door Microsoft beheerde klanten en partners. Gebruik het intakeformulier voor gezichtsherkenning om toegang aan te vragen. Zie de pagina beperkte toegang van Face voor meer informatie.
Belangrijk
Gezichtskenmerken worden voorspeld door het gebruik van statistische algoritmen. Ze zijn misschien niet altijd nauwkeurig. Wees voorzichtig wanneer u beslissingen neemt op basis van kenmerkgegevens. Gebruik deze kenmerken niet voor anti-adresvervalsing. In plaats daarvan raden we u aan gezichts livenessdetectie te gebruiken. Raadpleeg de zelfstudie: Liveness in gezichten detecteren voor meer informatie.
In dit artikel worden de concepten van gezichtsdetectie en gezichtskenmerkgegevens uitgelegd. Gezichtsdetectie is het proces van het vinden van menselijke gezichten in een afbeelding en het optioneel retourneren van verschillende soorten gezichtsgerelateerde gegevens.
U gebruikt de Detect-API om gezichten in een afbeelding te detecteren. Als u aan de slag wilt gaan met de REST API of een client-SDK, volgt u een quickstart voor de Face-service. Voor een uitgebreidere handleiding raadpleegt u de detectie-API aanroepen.
Rechthoek met gezicht
Elk gedetecteerd gezicht komt overeen met een faceRectangle-veld in het antwoord. Dit is een set pixelcoördinaten voor de linker-, bovenste, breedte en hoogte van het gedetecteerde gezicht. Met behulp van deze coördinaten kunt u de locatie en grootte van het gezicht ophalen. In het API-antwoord worden gezichten weergegeven in de groottevolgorde van groot naar klein.
Probeer de mogelijkheden van gezichtsdetectie snel en eenvoudig uit met behulp van Azure AI Vision Studio.
Gezichts-id
De face-id is een unieke id-tekenreeks voor elk gedetecteerd gezicht in een afbeelding. Face ID vereist beperkte toegangsgoedkeuring, waarvoor u een aanvraag kunt indienen door het intakeformulier in te vullen. Zie de pagina beperkte toegang van de Face-API voor meer informatie. U kunt een face-id aanvragen in uw Detect API-aanroep.
Gezichtsoriëntatiepunten
Gezichtsoriëntatiepunten zijn een set gemakkelijk te vinden punten op een gezicht, zoals de pupillen of de punt van de neus. Standaard zijn er 27 oriëntatiepunten vooraf gedefinieerde punten. In de volgende afbeelding ziet u alle 27 punten:
De coördinaten van de punten worden geretourneerd in eenheden van pixels.
Het Detection_03 model heeft momenteel de meest nauwkeurige detectie van oriëntatiepunten. De oog- en leerlingoriëntatiepunten die het retourneert, zijn nauwkeurig genoeg om het gezicht te kunnen volgen.
Kenmerken
Let op
Microsoft heeft mogelijkheden voor gezichtsherkenning buiten gebruik gesteld of beperkt, die kunnen worden gebruikt om emotionele toestanden en identiteitskenmerken af te stellen die, indien misbruikt, personen kunnen onderwerpen aan stereotypische, discriminatie of oneerlijke ontkenning van services. De buiten gebruik gestelde mogelijkheden zijn emotie en geslacht. De beperkte mogelijkheden zijn leeftijd, glimlach, gezichtshaar, haar en make-up. Stuur een e-mail naar de Azure Face-API als u een verantwoorde use case hebt die zou profiteren van het gebruik van een van de beperkte mogelijkheden. Lees hier meer over deze beslissing.
Kenmerken zijn een set functies die optioneel kunnen worden gedetecteerd door de Detect-API . De volgende kenmerken kunnen worden gedetecteerd:
Accessoires: Geeft aan of het opgegeven gezicht accessoires heeft. Dit kenmerk retourneert mogelijke accessoires, waaronder hoofdkleding, bril en masker, met een betrouwbaarheidsscore tussen nul en één voor elk accessoire.
Vervagen: Geeft de wazigheid van het gezicht in de afbeelding aan. Dit kenmerk retourneert een waarde tussen nul en één en een informele waardering van laag, gemiddeld of hoog.
Belichting: Geeft de belichting van het gezicht in de afbeelding aan. Dit kenmerk retourneert een waarde tussen nul en één en een informele waardering van underExposure, goodExposure of overExposure.
Bril: Geeft aan of het opgegeven gezicht een bril heeft. Mogelijke waarden zijn NoGlasses, ReadingGlasses, Zonnebril en Swimming Goggles.
Hoofdhouding: Geeft de stand van het gezicht aan in de 3D-ruimte. Dit kenmerk wordt beschreven door de rol-, yaw- en pitchhoeken in graden, die zijn gedefinieerd volgens de rechterregel. De volgorde van drie hoeken is roll-yaw-pitch en het waardebereik van elke hoek is van -180 graden tot +180 graden. De 3D-stand van het gezicht wordt geschat op basis van de draai-, yaw- en pitchhoeken in volgorde. Zie het volgende diagram voor hoektoewijzingen:
Zie Het kenmerk HeadPose gebruiken voor meer informatie over het gebruik van deze waarden.
Masker: Geeft aan of het gezicht een masker draagt. Dit kenmerk retourneert een mogelijk maskertype en een Booleaanse waarde om aan te geven of neus en mond bedekt zijn.
Ruis: Geeft de visuele ruis aan die in de gezichtsafbeelding is gedetecteerd. Dit kenmerk retourneert een waarde tussen nul en één en een informele waardering van laag, gemiddeld of hoog.
Occlusie: Geeft aan of er objecten zijn die delen van het gezicht blokkeren. Dit kenmerk retourneert een Booleaanse waarde voor eyeOccluded, foreheadOccluded en mouthOccluded.
QualityForRecognition: Geeft de algehele beeldkwaliteit aan om te bepalen of de afbeelding die wordt gebruikt in de detectie van voldoende kwaliteit is om gezichtsherkenning uit te proberen. De waarde is een informele waardering van laag, gemiddeld of hoog. Alleen afbeeldingen van hoge kwaliteit worden aanbevolen voor persoonsinschrijving en kwaliteit op of beter dan gemiddeld wordt aanbevolen voor identificatiescenario's.
Notitie
De beschikbaarheid van elk kenmerk is afhankelijk van het opgegeven detectiemodel. Het kenmerk QualityForRecognition is ook afhankelijk van het herkenningsmodel, omdat het momenteel alleen beschikbaar is wanneer u een combinatie van detectiemodel detection_01 of detection_03 gebruikt, en het herkenningsmodel recognition_03 of recognition_04.
Vereisten voor invoer
Gebruik de volgende tips om ervoor te zorgen dat uw invoerafbeeldingen de meest nauwkeurige detectieresultaten geven:
- De ondersteunde indelingen voor invoerafbeeldingen zijn JPEG, PNG, GIF (het eerste frame), BMP.
- De grootte van het afbeeldingsbestand mag niet groter zijn dan 6 MB.
- De minimale detecteerbare gezichtsgrootte is 36 x 36 pixels in een afbeelding die niet groter is dan 1920 x 1080 pixels. Afbeeldingen met groter dan 1920 x 1080 pixels hebben een proportioneel grotere minimale gezichtsgrootte. Het verkleinen van de gezichtsgrootte kan ertoe leiden dat sommige gezichten niet worden gedetecteerd, zelfs niet als ze groter zijn dan de minimale detecteerbare gezichtsgrootte.
- De maximale detecteerbare gezichtsgrootte is 4096 x 4096 pixels.
- Gezichten buiten het groottebereik van 36 x 36 tot 4096 x 4096 pixels worden niet gedetecteerd.
Invoergegevens met afdrukstandsinformatie
Sommige invoerafbeeldingen met JPEG-indeling kunnen afdrukinformatie bevatten in EXIF-metagegevens (ExchangeAble Image File Format). Als de EXIF-afdrukstand beschikbaar is, worden afbeeldingen automatisch gedraaid naar de juiste afdrukstand voordat ze worden verzonden voor gezichtsdetectie. De gezichtsrechthoek, oriëntatiepunten en hoofdhouding voor elk gedetecteerd gezicht worden geschat op basis van de gedraaide afbeelding.
Als u de gezichtsrechthoek en oriëntatiepunten goed wilt weergeven, moet u ervoor zorgen dat de afbeelding correct wordt gedraaid. De meeste hulpmiddelen voor afbeeldingsvisualisatie draaien de afbeelding automatisch volgens de EXIF-afdrukstand. Voor andere hulpprogramma's moet u de rotatie mogelijk toepassen met behulp van uw eigen code. In de volgende voorbeelden ziet u een gezichtsrechthoek op een gedraaide afbeelding (links) en een niet-gedraaide afbeelding (rechts).
Video-invoer
Als u gezichten van een videofeed detecteert, kunt u de prestaties mogelijk verbeteren door bepaalde instellingen op uw videocamera aan te passen:
Vloeiender: Veel videocamera's passen een vloeiend effect toe. U moet dit uitschakelen als u dat kunt, omdat het een vervaging tussen frames creëert en de duidelijkheid vermindert.
Sluitertijd: Een snellere sluitertijd vermindert de hoeveelheid beweging tussen frames en maakt elk frame duidelijker. We raden sluitersnelheden van 1/60 seconden of sneller aan.
Sluiterhoek: Sommige camera's geven sluiterhoek op in plaats van sluitersnelheid. U moet indien mogelijk een onderluikhoek gebruiken, wat resulteert in duidelijkere videoframes.
Notitie
Een camerasensor met een onderste sluiterhoek ontvangt minder licht in elk frame, dus de afbeelding is donkerder. U moet het juiste niveau bepalen dat moet worden gebruikt.
Volgende stap
Nu u bekend bent met concepten voor gezichtsdetectie, leert u hoe u een script schrijft waarmee gezichten in een bepaalde afbeelding worden gedetecteerd.