Een model voor gezichtsdetectie opgeven

Deze handleiding laat zien hoe u een model voor gezichtsdetectie opgeeft voor de Azure Face-service.

De Face-service gebruikt machine learning 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 ontwikkelingen in het onderzoek, en we leveren deze verbeteringen als modelupdates. Ontwikkelaars hebben de mogelijkheid om op te geven welke versie van het model voor gezichtsdetectie ze willen gebruiken; Ze kunnen het model kiezen dat het beste past bij hun use-case.

Lees verder voor meer informatie over het opgeven van het model voor gezichtsdetectie in bepaalde gezichtsbewerkingen. De Face-service maakt gebruik van gezichtsdetectie wanneer deze een afbeelding van een gezicht converteert 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 de resultaten te vergelijken met behulp van uw huidige gegevensset.

Vereisten

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

Gezichten met opgegeven model detecteren

Gezichtsdetectie vindt de locaties van menselijke gezichten in een begrensporingsvak en identificeert hun visuele oriƫntatiepunten. Het extraheert de kenmerken van het gezicht en slaat deze op voor later gebruik in herkenningsbewerkingen.

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

  • detection_01
  • detection_02
  • detection_03

Een aanvraag-URL voor [het gezicht - REST API] ziet er als volgende 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 voor toewijzen detectionModel 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(imageUrl, false, false, recognitionModel: "recognition_04", detectionModel: "detection_03");

Gezicht toevoegen aan Persoon met opgegeven model

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

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 maakt u een PersonGroup met id mypersongroupid en voegt u er een Persoon aan toe. Vervolgens wordt een Gezicht 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 Person-object en u hoeft niet hetzelfde detectiemodel te gebruiken bij het detecteren van nieuwe gezichten om te vergelijken met een Person-object (bijvoorbeeld in de API [Face -] Identificeren).

Gezicht 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 met de naam en voegt u er My face collection een Face aan toe met het model detection_03 . 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.

Verschillende modellen evalueren

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

detection_01 detection_02 detection_03
Standaardkeuze voor alle gezichtsdetectiebewerkingen. Uitgebracht in mei 2019 en optioneel beschikbaar in alle gezichtsdetectiebewerkingen. Uitgebracht in februari 2021 en optioneel beschikbaar in alle gezichtsdetectiebewerkingen.
Niet geoptimaliseerd voor kleine, zijweergaven of wazige gezichten. Verbeterde nauwkeurigheid op kleine, zijweergaven en wazige gezichten. De nauwkeurigheid is verder verbeterd, inclusief op kleinere gezichten (64 x 64 pixels) en gedraaide gezichtsstanden.
Retourneert hoofdkenmerken van het gezicht (hoofdhouding, leeftijd, emotie, bijvoorbeeld) als ze zijn opgegeven in de detectie-aanroep. Retourneert geen gezichtskenmerken. Retourneert masker- en hoofdhoudingskenmerken als deze zijn opgegeven in de detectie-aanroep.
Retourneert gezichtsherkenningspunten als deze zijn opgegeven in de detectie-aanroep. Retourneert geen gezichtsherkenningspunten. Retourneert gezichtsherkenningspunten als deze zijn opgegeven in de detectie-aanroep.

De beste manier om de prestaties van de detectiemodellen te vergelijken, is door ze te gebruiken in een voorbeeldgegevensset. We raden u aan om de API [Face - Detect] aan te roepen voor 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.

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.