Ange en ansiktsavkänningsmodell
Den här guiden visar hur du anger en modell för ansiktsidentifiering för Azure AI Face-tjänsten.
Ansiktstjänsten använder maskininlärningsmodeller för att utföra åtgärder på mänskliga ansikten i bilder. Vi fortsätter att förbättra noggrannheten i våra modeller baserat på kundfeedback och framsteg inom forskning, och vi levererar dessa förbättringar som modelluppdateringar. Utvecklare kan ange vilken version av ansiktsigenkänningsmodellen de vill använda. de kan välja den modell som passar bäst för deras användningsfall.
Läs vidare för att lära dig hur du anger ansiktsidentifieringsmodellen i vissa ansiktsåtgärder. Ansiktstjänsten använder ansiktsidentifiering när den konverterar en bild av ett ansikte till någon annan form av data.
Om du inte är säker på om du ska använda den senaste modellen går du vidare till avsnittet Utvärdera olika modeller för att utvärdera den nya modellen och jämföra resultat med din aktuella datauppsättning.
Förutsättningar
Du bör känna till begreppet ai-ansiktsidentifiering. Om du inte är det kan du läsa den konceptuella guiden för ansiktsidentifiering eller instruktioner:
Utvärdera olika modeller
De olika modellerna för ansiktsidentifiering är optimerade för olika uppgifter. I följande tabell finns en översikt över skillnaderna.
Modell | beskrivning | Prestandaanteckningar | Attribut | Landmärken |
---|---|---|---|---|
detection_01 | Standardval för alla ansiktsidentifieringsåtgärder. | Inte optimerad för små, sidovyer eller suddiga ansikten. | Returnerar huvudattribut (huvudställning, glasögon och så vidare) om de anges i identifieringsanropet. | Returnerar ansiktsmärken om de anges i identifieringsanropet. |
detection_02 | Släpptes i maj 2019 och finns som valfritt i alla ansiktsidentifieringsåtgärder. | Förbättrad noggrannhet på små, sidovyer och suddiga ansikten. | Returnerar inte ansiktsattribut. | Returnerar inte ansiktsmärken. |
detection_03 | Släpptes i februari 2021 och finns valfritt i alla ansiktsidentifieringsåtgärder. | Ytterligare förbättrad noggrannhet, inklusive på mindre ansikten (64 x 64 bildpunkter) och roterade ansiktsorienteringar. | Returnerar mask-, oskärpa- och huvudpositionsattribut om de anges i identifieringsanropet. | Returnerar ansiktsmärken om de anges i identifieringsanropet. |
Det bästa sättet att jämföra prestanda för identifieringsmodellerna är att använda dem på en exempeldatauppsättning. Vi rekommenderar att du anropar Detect API på en mängd olika bilder, särskilt bilder av många ansikten eller ansikten som är svåra att se med varje identifieringsmodell. Var uppmärksam på antalet ansikten som varje modell returnerar.
Identifiera ansikten med angiven modell
Ansiktsidentifiering hittar avgränsningsrutans platser för mänskliga 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 Identifierings-API:et kan du tilldela modellversionen med parametern detectionModel
. De tillgängliga värdena är:
detection_01
detection_02
detection_03
En begärande-URL för DETECT 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 detectionModel
genom att skicka in en lämplig sträng. Om du lämnar det otilldelat använder API:et standardmodellversionen (detection_01
). Se följande kodexempel för .NET-klientbiblioteket.
string imageUrl = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/Face/images/detection1.jpg";
var faces = await faceClient.Face.DetectWithUrlAsync(url: imageUrl, returnFaceId: false, returnFaceLandmarks: false, recognitionModel: "recognition_04", detectionModel: "detection_03");
Lägg till ansikte i Person med angiven modell
Ansiktstjänsten kan extrahera ansiktsdata från en bild och associera dem med ett personobjekt via ANSIKTS-API:et Lägg till persongrupp. I det här API-anropet kan du ange identifieringsmodellen på samma sätt som i 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://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/Face/images/detection1.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ägger den till ett ansikte till den här personen med hjälp av detection_03
modellen. Om du inte anger parametern detectionModel använder API:et standardmodellen . detection_01
Kommentar
Du behöver inte använda samma identifieringsmodell för alla ansikten i ett personobjekt och du behöver inte använda samma identifieringsmodell när du identifierar nya ansikten som ska jämföras med ett personobjekt (till exempel i API:et Identifiera från persongrupp ).
Lägg 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://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/Face/images/detection1.jpg";
await client.FaceList.AddFaceFromUrlAsync(faceListId, imageUrl, detectionModel: "detection_03");
Den här koden skapar en Ansiktslista med namnet My face collection
och lägger till ett ansikte i den detection_03
med modellen. Om du inte anger parametern detectionModel använder API:et standardmodellen . detection_01
Kommentar
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 .
Nästa steg
I den här artikeln har du lärt dig hur du anger den identifieringsmodell som ska användas med olika ansikts-API:er. Följ sedan en snabbstart för att komma igång med ansiktsidentifiering och analys.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för