Een model voor gezichtsdetectie opgeven

In deze handleiding ziet u hoe u een model voor gezichtsdetectie voor de Azure AI Face-service opgeeft.

De Face-service maakt gebruik van machine learning-modellen om bewerkingen uit te voeren op menselijke gezichten in afbeeldingen. We blijven de nauwkeurigheid van onze modellen verbeteren op basis van feedback van klanten en vooruitgang in onderzoek, en we leveren deze verbeteringen als modelupdates. Ontwikkelaars hebben de mogelijkheid om op te geven welke versie van het gezichtsdetectiemodel ze willen gebruiken; ze kunnen het model kiezen dat het beste past bij hun gebruiksscenario.

Lees verder voor meer informatie over het opgeven van het gezichtsdetectiemodel in bepaalde gezichtsbewerkingen. De Face-service maakt gebruik van gezichtsdetectie wanneer een afbeelding van een gezicht wordt geconverteerd naar een andere vorm van gegevens.

Als u niet zeker weet of u het meest recente model moet gebruiken, gaat u naar de sectie Verschillende modellen evalueren om het nieuwe model te evalueren en resultaten te vergelijken met behulp van uw huidige gegevensset.

Vereisten

U moet bekend zijn met het concept van AI-gezichtsdetectie. Als u dat niet doet, raadpleegt u de conceptuele handleiding voor gezichtsdetectie of instructies:

Verschillende modellen evalueren

De verschillende modellen voor gezichtsdetectie zijn geoptimaliseerd voor verschillende taken. Zie de volgende tabel voor een overzicht van de verschillen.

Model Beschrijving Prestatienotities Kenmerken Oriëntatiepunten
detection_01 Standaardkeuze voor alle gezichtsdetectiebewerkingen. Niet geoptimaliseerd voor kleine, zijweergave of wazige gezichten. Retourneert de belangrijkste gezichtskenmerken (hoofdhouding, leeftijd, emotie, enzovoort) als ze zijn opgegeven in de detectieaanroep. Retourneert gezichtsoriëntatiepunten als deze zijn opgegeven in de detectieaanroep.
detection_02 Uitgebracht in mei 2019 en optioneel beschikbaar in alle gezichtsdetectiebewerkingen. Verbeterde nauwkeurigheid van kleine, zijweergave en wazige gezichten. Retourneert geen gezichtskenmerken. Retourneert geen gezichtsoriëntatiepunten.
detection_03 Uitgebracht in februari 2021 en optioneel beschikbaar in alle gezichtsdetectiebewerkingen. Verder verbeterde nauwkeurigheid, waaronder op kleinere gezichten (64x64 pixels) en gedraaide gezichtsstanden. Retourneert kenmerken voor maskers en hoofdhoudingen als ze zijn opgegeven in de detectie-aanroep. Retourneert gezichtsoriëntatiepunten als deze zijn opgegeven in de detectieaanroep.

De beste manier om de prestaties van de detectiemodellen te vergelijken, is door ze te gebruiken op een voorbeeldgegevensset. We raden u aan om de Face - Detect-API aan te roepen op verschillende afbeeldingen, met name afbeeldingen van veel gezichten of gezichten die moeilijk te zien zijn, met behulp van elk detectiemodel. Let op het aantal gezichten dat elk model retourneert.

Gezichten met opgegeven model detecteren

Gezichtsdetectie vindt de begrenzingsvaklocaties van menselijke gezichten en identificeert hun visuele oriëntatiepunten. Het extraheert de functies van het gezicht en slaat deze op voor later gebruik in herkenningsbewerkingen .

Wanneer u de Face - Detect-API gebruikt, kunt u de modelversie toewijzen met de detectionModel parameter. De beschikbare waarden zijn:

  • detection_01
  • detection_02
  • detection_03

Een aanvraag-URL voor de Face - Detect REST API ziet er als volgt uit:

https://westus.api.cognitive.microsoft.com/face/v1.0/detect[?returnFaceId][&returnFaceLandmarks][&returnFaceAttributes][&recognitionModel][&returnRecognitionModel][&detectionModel]&subscription-key=<Subscription key>

Als u de clientbibliotheek gebruikt, kunt u de waarde detectionModel toewijzen door een geschikte tekenreeks door te geven. Als u deze niet-toegewezen laat, gebruikt de API de standaardmodelversie (detection_01). Zie het volgende codevoorbeeld voor de .NET-clientbibliotheek.

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
var faces = await faceClient.Face.DetectWithUrlAsync(url: imageUrl, returnFaceId: false, returnFaceLandmarks: false, recognitionModel: "recognition_04", detectionModel: "detection_03");

Gezicht toevoegen aan persoon met opgegeven model

De Face-service kan gezichtsgegevens extraheren uit een afbeelding en deze koppelen aan een Person-object via de PersonGroup Person - Face-API toevoegen. In deze API-aanroep kunt u het detectiemodel op dezelfde manier opgeven als in Face - Detect.

Zie het volgende codevoorbeeld voor de .NET-clientbibliotheek.

// Create a PersonGroup and add a person with face detected by "detection_03" model
string personGroupId = "mypersongroupid";
await faceClient.PersonGroup.CreateAsync(personGroupId, "My Person Group Name", recognitionModel: "recognition_04");

string personId = (await faceClient.PersonGroupPerson.CreateAsync(personGroupId, "My Person Name")).PersonId;

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
await client.PersonGroupPerson.AddFaceFromUrlAsync(personGroupId, personId, imageUrl, detectionModel: "detection_03");

Met deze code wordt een PersonGroup met id mypersongroupid gemaakt en wordt er een persoon aan toegevoegd. Vervolgens wordt een Face aan deze persoon toegevoegd met behulp van het detection_03 model. Als u de parameter detectionModel niet opgeeft, gebruikt de API het standaardmodel. detection_01

Notitie

U hoeft niet hetzelfde detectiemodel te gebruiken voor alle gezichten in een persoonsobject en u hoeft niet hetzelfde detectiemodel te gebruiken bij het detecteren van nieuwe gezichten om te vergelijken met een Persoon-object (bijvoorbeeld in de Face - Identificatie-API).

Face toevoegen aan FaceList met opgegeven model

U kunt ook een detectiemodel opgeven wanneer u een gezicht toevoegt aan een bestaand FaceList-object . Zie het volgende codevoorbeeld voor de .NET-clientbibliotheek.

await faceClient.FaceList.CreateAsync(faceListId, "My face collection", recognitionModel: "recognition_04");

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
await client.FaceList.AddFaceFromUrlAsync(faceListId, imageUrl, detectionModel: "detection_03");

Met deze code maakt u een FaceList aangeroepen My face collection en voegt u er een Face aan toe met het detection_03 model. Als u de parameter detectionModel niet opgeeft, gebruikt de API het standaardmodel. detection_01

Notitie

U hoeft niet hetzelfde detectiemodel te gebruiken voor alle gezichten in een FaceList-object en u hoeft niet hetzelfde detectiemodel te gebruiken bij het detecteren van nieuwe gezichten om te vergelijken met een FaceList-object .

Volgende stappen

In dit artikel hebt u geleerd hoe u het detectiemodel opgeeft dat moet worden gebruikt met verschillende Face-API's. Volg vervolgens een quickstart om aan de slag te gaan met gezichtsdetectie en -analyse.