Gezichtsdetectie en -kenmerken

In dit artikel worden de concepten van gezichtsdetectie en gezichtskenmerkgegevens uitgelegd. Gezichtsdetectie is de actie van het zoeken naar menselijke gezichten in een afbeelding en optioneel het retourneren van verschillende soorten gezichtsgerelateerde gegevens.

U gebruikt de bewerking Face - Detecteren om gezichten in een afbeelding te detecteren. Elk gedetecteerd gezicht komt minimaal overeen met een faceRectangle-veld in het antwoord. Deze set pixelcoördinaten voor links, boven, breedte en hoogte markeren het gevonden gezicht. Met behulp van deze coördinaten kunt u de locatie van het gezicht en de grootte ervan bepalen. In het API-antwoord worden gezichten weergegeven in grootte van grootste naar kleinste.

Face ID

De gezichts-id is een unieke id-tekenreeks voor elk gedetecteerd gezicht in een afbeelding. U kunt een gezichts-id aanvragen in uw Face- Detect API-aanroep.

Gezichtsoriëntatiepunten

Gezichtsherkenningspunten zijn een set eenvoudig 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:

Een gezichtsdiagram met alle 27 oriëntatiepunten gelabeld

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 oriëntatiepunten van het oog en de pupil die worden retourneert, zijn nauwkeurig genoeg om staren van het gezicht te kunnen volgen.

Kenmerken

Kenmerken zijn een set functies die optioneel kunnen worden gedetecteerd door de API Face - Detecteren. De volgende kenmerken kunnen worden gedetecteerd:

  • Accessoires. Of het opgegeven gezicht accessoires heeft. Dit kenmerk retourneert mogelijke accessoires, zoals hoofdje, bril en masker, met een betrouwbaarheidsscore tussen nul en één voor elke accessoires.

  • Leeftijd. De geschatte leeftijd in jaren van een bepaald gezicht.

  • Wazig maken. De wazigheid van het gezicht in de afbeelding. Dit kenmerk retourneert een waarde tussen nul en één en een informele waardering van laag, gemiddeld of hoog.

  • Emotion. Een lijst met emoties met hun detectievertrouwen voor het opgegeven gezicht. Betrouwbaarheidsscores worden genormaliseerd en de scores voor alle emoties zijn op elkaar genormaliseerd. De geretourneerde emoties zijn blijdschap, angst, neutraal, kwaadheid, walging, walging, verrassing en angst.

  • Blootstelling. De blootstelling van het gezicht in de afbeelding. Dit kenmerk retourneert een waarde tussen nul en één en een informele classificatie van underExposure, goodExposure of overExposure.

  • Gezichtshaar. De geschatte aanwezigheid van gezichtshaar en de lengte van het opgegeven gezicht.

  • Geslacht. Het geschatte geslacht van het opgegeven gezicht. Mogelijke waarden zijn man, vrouw en geslachtloos.

  • Bril. Of het opgegeven gezicht een bril heeft. Mogelijke waarden zijn NoGlasses, ReadingGlasses, Zonnebrillen en Swimming Vision.

  • Haar. Het haartype van het gezicht. Dit kenmerk geeft aan of het haar zichtbaar is, of er sprake is van gevoeligheid en welke haarkleuren worden gedetecteerd.

  • Hoofdhouding. De richting van het gezicht in 3D-ruimte. Dit kenmerk wordt beschreven door de draai-, 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 ligt tussen -180 graden en 180 graden. De 3D-richting van het gezicht wordt geschat op volgorde van de draai-, yaw- en pitchhoek. Zie het volgende diagram voor hoektoewijzingen:

    Een kop met de pitch-, roll- en yaw-assen gelabeld

  • Naar de toe. Of het gezicht een aantasting heeft. Dit kenmerk retourneert een Booleaanse waarde voor eyeMakeup en kunnen worden gemaakt.

  • Maskeren. Of het gezicht een masker draagt. Dit kenmerk retourneert een mogelijk maskertype en een Booleaanse waarde om aan te geven of de neus en mond zijn bedekt.

  • Ruis. De visuele ruis 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. Of er objecten zijn die delen van het gezicht blokkeren. Dit kenmerk retourneert een Booleaanse waarde voor eyeOccluded, attributeOccluded en mouthOccluded.

  • Glimlach. De glimlachexpressie van het opgegeven gezicht. Deze waarde ligt tussen nul voor geen glimlach en één voor een duidelijke glimlach.

  • QualityForRecognition De algehele kwaliteit van de afbeelding met betrekking tot of de afbeelding die in de detectie wordt gebruikt, van voldoende kwaliteit is om gezichtsherkenning 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 boven '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 bij het gebruik van een combinatie van detectiemodel detection_01 of detection_03, en het herkenningsmodel recognition_03 of recognition_04.

Belangrijk

Gezichtskenmerken worden voorspeld met behulp van statistische algoritmen. Ze zijn mogelijk niet altijd nauwkeurig. Wees voorzichtig wanneer u beslissingen neemt op basis van kenmerkgegevens.

Invoergegevens

Gebruik de volgende tips om ervoor te zorgen dat uw invoerafbeeldingen de meest nauwkeurige detectieresultaten geven:

  • De ondersteunde invoerafbeeldingsindelingen zijn JPEG, PNG, GIF (het eerste frame), BMP.
  • De bestandsgrootte van de afbeelding 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 een grotere grootte 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 minimaal detecteerbare gezichtsgrootte.
  • De maximale detecteerbare gezichtsgrootte is 4096 x 4096 pixels.
  • Gezichten buiten het bereik van 36 x 36 tot 4096 x 4096 pixels worden niet gedetecteerd.
  • Sommige gezichten worden mogelijk niet herkend vanwege technische uitdagingen, zoals:
    • Afbeeldingen met extreme belichting, bijvoorbeeld ernstige achtergrondverlichting.
    • De ogen die één of beide ogen blokkeren.
    • Verschillen in haartype of gezichtshaar.
    • Wijzigingen in het uiterlijk van het gezicht vanwege leeftijd.
    • Extreme gezichtsexpressie.

Invoergegevens met richtingsinformatie:

Sommige invoerafbeeldingen met JPEG-indeling kunnen richtingsinformatie bevatten in metagegevens van de Exchangeable-afbeeldingsbestandsindeling (Exif). Als de Exif-stand beschikbaar is, worden afbeeldingen automatisch naar de juiste richting gedraaid voordat ze worden verzonden voor gezichtsdetectie. De gezichtrechthoek, oriëntatiepunten en hoofdhouding voor elk gedetecteerd gezicht worden geschat op basis van de gedraaide afbeelding.

Als u de gezichtrechthoek en oriëntatiepunten goed wilt weergeven, moet u ervoor zorgen dat de afbeelding correct is gedraaid. De meeste hulpprogramma's voor het visualiseren van afbeeldingen draaien de afbeelding standaard automatisch volgens de exif-stand. Voor andere hulpprogramma's moet u de rotatie mogelijk toepassen met behulp van uw eigen code. In de volgende voorbeelden ziet u een gezichtrechthoek op een gedraaide afbeelding (links) en een niet-geruleerde afbeelding (rechts).

Twee gezichtsafbeeldingen met en zonder rotatie

Video-invoer

Als u gezichten in een videofeed detecteert, kunt u mogelijk de prestaties verbeteren door bepaalde instellingen op uw videocamera aan te passen:

  • Smoothing: veel videocamera's passen een vloeiend effect toe. U moet dit uitschakelen als dat mogelijk is, omdat er een wazig beeld tussen frames ontstaat en de duidelijkheid wordt verkleind.

  • Snelheid van de verbinding: Een snellere snelheid van de snelheid van de beweging tussen frames en maakt elk frame duidelijker. We raden u aan om een snelheid van 1/60 seconden of sneller te gebruiken.

  • Hoek van de hoek: sommige camera's geven de hoek van de onderhoek op in plaats van de snelheid van de snelheid. U moet indien mogelijk een lagere hoek voor de hoek van de hoek gebruiken. Dit resulteert in duidelijkere videoframes.

    Notitie

    Een camera met een onderhoekshoek krijgt minder licht in elk frame, waardoor de afbeelding donker wordt. U moet het juiste niveau bepalen om te gebruiken.

Volgende stappen

Nu u bekend bent met concepten voor gezichtsdetectie, kunt u leren hoe u een script schrijft dat gezichten in een bepaalde afbeelding detecteert.