Ange en ansiktsavkänningsmodell

Den här guiden visar hur du anger en ansiktsavkänningsmodell för Tjänsten Ansiktsigenkänning i Azure.

Ansiktstjänsten använder maskininlärningsmodeller för att utföra åtgärder på ansikten i bilder. Vi fortsätter att förbättra noggrannheten i våra modeller baserat på kundfeedback och framsteg i forskningen, och vi levererar dessa förbättringar som modelluppdateringar. Utvecklare har möjlighet att ange vilken version av ansiktsavkänningsmodellen som de vill använda. De kan välja den modell som passar bäst för deras användningsfall.

Läs vidare om du vill lära dig hur du anger ansiktsavkänningsmodellen i vissa ansiktsåtgärder. Ansiktsigenkänningstjänsten använder ansiktsavkänning när den konverterar en bild av ett ansikte till någon annan typ av data.

Om du inte är säker på om du bör använda den senaste modellen kan du gå vidare till avsnittet Utvärdera olika modeller för att utvärdera den nya modellen och jämföra resultat med hjälp av din aktuella datauppsättning.

Förutsättningar

Du bör känna till begreppet AI-ansiktsavkänning. Om du inte är det kan du gå till konceptuell guide för ansiktsigenkänning eller i guiden:

Identifiera ansikten med angiven modell

Ansiktsigenkänning hittar ansiktsavkänningens gränser för ansikten och identifierar deras visuella landmärken. Den extraherar ansiktets funktioner och lagrar dem för senare användning i igenkänningsåtgärder.

När du använder [API:et Ansikts] – Identifiera kan du tilldela modellversionen med detectionModel parametern . Tillgängliga värden är:

  • detection_01
  • detection_02
  • detection_03

En url för ansiktsbegäran [– identifiera] REST API ser ut så här:

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

Om du använder klientbiblioteket kan du tilldela värdet för genom att detectionModel skicka en lämplig sträng. Om du lämnar den otilldelade använder API:et standardmodellversionen ( detection_01 ). Se följande kodexempel för .NET-klientbiblioteket.

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");

Lägga till ansikte i Person med angiven modell

Ansiktstjänsten kan extrahera ansiktsdata från en bild och associera den med ett Person-objekt via API:et PersonGroup Person – Lägg till ansikte. I det här API-anropet kan du ange identifieringsmodellen på samma sätt som [i Ansiktsigenkänning – Identifiera].

Se följande kodexempel för .NET-klientbiblioteket.

// 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");

Den här koden skapar en PersonGroup med ID mypersongroupid och lägger till en Person i den. Sedan läggs ett ansikte till för den här personen med hjälp av detection_03 modellen. Om du inte anger parametern detectionModel använder API:et standardmodellen detection_01 .

Anteckning

Du behöver inte använda samma identifieringsmodell för alla ansikten i ett Person-objekt, och du behöver inte använda samma identifieringsmodell när du identifierar nya ansikten för att jämföra med ett Person-objekt (till exempel i [] API:et Ansiktsigenkänning – Identifiera).

Lägga till ansikte i FaceList med angiven modell

Du kan också ange en identifieringsmodell när du lägger till ett ansikte i ett befintligt FaceList-objekt. Se följande kodexempel för .NET-klientbiblioteket.

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");

Den här koden skapar en FaceList med My face collection namnet och lägger till ett ansikte i den med detection_03 modellen. Om du inte anger parametern detectionModel använder API:et standardmodellen detection_01 .

Anteckning

Du behöver inte använda samma identifieringsmodell för alla ansikten i ett FaceList-objekt, och du behöver inte använda samma identifieringsmodell när du identifierar nya ansikten att jämföra med ett FaceList-objekt.

Utvärdera olika modeller

De olika ansiktsavkänningsmodellerna är optimerade för olika uppgifter. I följande tabell finns en översikt över skillnaderna.

detection_01 detection_02 detection_03
Standardval för alla åtgärder för ansiktsavkänning. Släpptes i maj 2019 och kan även användas i alla åtgärder för ansiktsavkänning. Gavs ut i februari 2021 och är eventuellt tillgänglig i alla åtgärder för ansiktsavkänning.
Inte optimerad för små, sidvyer eller suddiga ansikten. Förbättrad noggrannhet på små, sidvyer och suddiga ansikten. Ytterligare förbättrad noggrannhet, inklusive för mindre ansikten (64 x 64 bildpunkter) och roterade ansiktsorienteringar.
Returnerar huvudanrop (huvudställning, ålder, känsla och så vidare) om de har angetts i identifieringsanropet. Returnerar inte ansiktsattribut. Returnerar mask- och huvudposeringsattribut om de anges i identifierings-anropet.
Returnerar ansiktsmärken om de anges i identifierings-anropet. Returnerar inte ansiktsmärken. Returnerar ansiktsmärken om de anges i identifierings-anropet.

Det bästa sättet att jämföra prestanda för identifieringsmodellerna är att använda dem på en exempeldatamängd. Vi rekommenderar att du anropar API:et [Ansiktsigenkänning] – identifiera på en mängd olika bilder, särskilt bilder av många ansikten eller ansikten som är svåra att se med hjälp av varje identifieringsmodell. Var uppmärksam på antalet ansikten som varje modell returnerar.

Nästa steg

I den här artikeln har du lärt dig hur du anger vilken identifieringsmodell som ska användas med olika ansikts-API:er. Följ sedan en snabbstart för att komma igång med ansiktsavkänning och analys.