Een model voor gezichtsherkenning opgeven

Let op

Toegang tot face-services is beperkt op basis van geschiktheids- en gebruikscriteria om onze verantwoorde AI-principes te ondersteunen. Face-service is alleen beschikbaar voor door Microsoft beheerde klanten en partners. Gebruik het intakeformulier voor gezichtsherkenning om toegang aan te vragen. Zie de pagina beperkte toegang van Face voor meer informatie.

Deze handleiding laat zien hoe u een model voor gezichtsherkenning kunt opgeven voor gezichtsdetectie, identificatie en overeenkomsten met behulp van de Azure AI Face-service.

De Face-service maakt gebruik van machine learning-modellen om bewerkingen uit te voeren op zichtbare 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 kunnen opgeven welke versie van het gezichtsherkenningsmodel ze willen gebruiken, waarbij ze het model kiezen dat het beste past bij hun gebruiksscenario.

Modelcompatibiliteit

De Azure AI Face-service heeft vier herkenningsmodellen beschikbaar. De modellen recognition_01 (gepubliceerd 2017), recognition_02 (gepubliceerd 2019) en recognition_03 (gepubliceerd 2020) worden voortdurend ondersteund om achterwaartse compatibiliteit te garanderen voor klanten die FaceList-sof PersonGroup'sgebruiken die zijn gemaakt met deze modellen. Een FaceList of PersonGroup maakt altijd gebruik van het herkenningsmodel waarmee deze is gemaakt en nieuwe gezichten worden gekoppeld aan dit model wanneer ze worden toegevoegd. Dit kan niet worden gewijzigd nadat ze zijn gemaakt en klanten moeten het bijbehorende herkenningsmodel gebruiken met de bijbehorende FaceList of PersonGroup.

U kunt op eigen gemak overstappen op latere herkenningsmodellen; U moet echter nieuwe FaceLists en PersonGroups maken met het herkenningsmodel van uw keuze.

Het recognition_04 model (gepubliceerd 2021) is het meest nauwkeurige model dat momenteel beschikbaar is. Als u een nieuwe klant bent, raden we u aan dit model te gebruiken. Recognition_04 biedt verbeterde nauwkeurigheid voor vergelijkingen van overeenkomsten en vergelijkingen tussen personen. Recognition_04 verbetert de herkenning voor ingeschreven gebruikers die gezichtshoezen dragen (chirurgische maskers, N95 maskers, doekmaskers). U kunt nu veilige en naadloze gebruikerservaringen bouwen die gebruikmaken van het nieuwste detection_03 model om te detecteren of een ingeschreven gebruiker een gezichtskap draagt. Vervolgens kunt u het meest recente recognition_04 model gebruiken om hun identiteit te herkennen. Elk model werkt onafhankelijk van de andere modellen en een betrouwbaarheidsdrempel die voor één model is ingesteld, is niet bedoeld om te worden vergeleken met de andere herkenningsmodellen.

Lees verder voor meer informatie over het opgeven van een geselecteerd model in verschillende Face-bewerkingen terwijl u modelconflicten vermijdt. Als u een geavanceerde gebruiker bent en wilt bepalen of u naar het nieuwste model moet overschakelen, gaat u naar de sectie Verschillende modellen evalueren. U kunt het nieuwe model evalueren en resultaten vergelijken met behulp van uw huidige gegevensset.

Vereisten

U moet bekend zijn met de concepten van AI-gezichtsdetectie en -identificatie. Als u dat niet doet, raadpleegt u eerst deze handleidingen:

Gezichten met opgegeven model detecteren

Gezichtsdetectie identificeert de visuele oriëntatiepunten van menselijke gezichten en vindt hun begrenzingsvaklocaties. Het extraheert ook de kenmerken van het gezicht en slaat deze gedurende maximaal 24 uur tijdelijk op voor gebruik in identificatie. Al deze informatie vormt de weergave van één gezicht.

Het herkenningsmodel wordt gebruikt wanneer de gezichtsfuncties worden geëxtraheerd, zodat u een modelversie kunt opgeven bij het uitvoeren van de detectiebewerking.

Wanneer u de Face - Detect-API gebruikt, wijst u de modelversie toe met de recognitionModel parameter. De beschikbare waarden zijn:

  • recognition_01
  • recognition_02
  • recognition_03
  • recognition_04

U kunt desgewenst de parameter returnRecognitionModel (standaard false) opgeven om aan te geven of recognitionModel als antwoord moet worden geretourneerd. Daarom ziet een aanvraag-URL voor de Face - Detect REST API er als volgt uit:

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

Als u de clientbibliotheek gebruikt, kunt u de waarde recognitionModel toewijzen door een tekenreeks door te geven die de versie vertegenwoordigt. Als u deze niet-toegewezen laat, wordt er een standaardmodelversie van recognition_01 gebruikt. 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: true, returnFaceLandmarks: true, recognitionModel: "recognition_01", returnRecognitionModel: true);

Notitie

De parameter returnFaceId moet worden ingesteld true op om de gezichtsherkenningsscenario's in latere stappen in te schakelen.

Gezichten identificeren met het opgegeven model

De Face-service kan gezichtsgegevens extraheren uit een afbeelding en deze koppelen aan een Persoon-object (bijvoorbeeld via de aanroep Face-API toevoegen) en meerdere Person-objecten kunnen samen worden opgeslagen in een PersonGroup. Vervolgens kan een nieuw gezicht worden vergeleken met een PersonGroup (met de Face - Identificeer de oproep) en kan de overeenkomende persoon in die groep worden geïdentificeerd.

Een PersonGroup moet één uniek herkenningsmodel hebben voor alle personenen u kunt dit opgeven met behulp van de recognitionModel parameter wanneer u de groep maakt (PersonGroup - Maken of LargePersonGroup - Maken). Als u deze parameter niet opgeeft, wordt het oorspronkelijke recognition_01 model gebruikt. Een groep gebruikt altijd het herkenningsmodel waarmee het is gemaakt en nieuwe gezichten worden gekoppeld aan dit model wanneer ze eraan worden toegevoegd. Dit kan niet worden gewijzigd nadat een groep is gemaakt. Als u wilt zien met welk model een PersonGroup is geconfigureerd, gebruikt u de PersonGroup - Get-API met de parameter returnRecognitionModel ingesteld als waar.

Zie het volgende codevoorbeeld voor de .NET-clientbibliotheek.

// Create an empty PersonGroup with "recognition_04" model
string personGroupId = "mypersongroupid";
await faceClient.PersonGroup.CreateAsync(personGroupId, "My Person Group Name", recognitionModel: "recognition_04");

In deze code wordt een PersonGroup met id mypersongroupid gemaakt en ingesteld om het recognition_04-model te gebruiken om gezichtsfuncties te extraheren.

Daarnaast moet u opgeven welk model moet worden gebruikt bij het detecteren van gezichten om te vergelijken met deze PersonGroup (via de Face - Detect-API ). Het model dat u gebruikt, moet altijd consistent zijn met de configuratie van personGroup. Anders mislukt de bewerking vanwege incompatibele modellen.

Er is geen wijziging in de Face - Identificatie-API . U hoeft alleen de modelversie op te geven die wordt gedetecteerd.

Vergelijkbare gezichten zoeken met het opgegeven model

U kunt ook een herkenningsmodel opgeven voor overeenkomsten zoeken. U kunt de modelversie recognitionModel toewijzen bij het maken van de FaceList met FaceList - Api maken of LargeFaceList - Maken. Als u deze parameter niet opgeeft, wordt het recognition_01 model standaard gebruikt. Een FaceList gebruikt altijd het herkenningsmodel waarmee het is gemaakt en nieuwe gezichten worden gekoppeld aan dit model wanneer ze worden toegevoegd aan de lijst. U kunt dit niet wijzigen nadat u het hebt gemaakt. Als u wilt zien met welk model een FaceList is geconfigureerd, gebruikt u de FaceList - Get-API met de parameter returnRecognitionModel ingesteld als waar.

Zie het volgende codevoorbeeld voor de .NET-clientbibliotheek.

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

Met deze code maakt u een FaceList met de naam My face collection, met behulp van het recognition_04 model voor functieextractie. Wanneer u in deze FaceList zoekt naar vergelijkbare gezichten als een nieuw gedetecteerd gezicht, moet dat gezicht zijn gedetecteerd (Face - Detecteren) met behulp van het recognition_04 model. Net als in de vorige sectie moet het model consistent zijn.

Er is geen wijziging in de Face - Vergelijkbare API zoeken. U geeft alleen de modelversie op tijdens de detectie.

Gezichten verifiëren met het opgegeven model

Het gezicht: controleer of twee gezichten tot dezelfde persoon behoren. Er is geen wijziging in de Verify-API met betrekking tot herkenningsmodellen, maar u kunt alleen gezichten vergelijken die zijn gedetecteerd met hetzelfde model.

Verschillende modellen evalueren

Als u de prestaties van verschillende herkenningsmodellen op uw eigen gegevens wilt vergelijken, moet u het volgende doen:

  1. Maak vier PersonGroup'smet respectievelijk recognition_01, recognition_02, recognition_03 en recognition_04 .
  2. Gebruik uw afbeeldingsgegevens om gezichten te detecteren en te registreren bij Persons binnen deze vier PersonGroup's.
  3. Train uw PersonGroup'smet behulp van de PersonGroup - Train-API.
  4. Test met Face - Identificeer op alle vier de PersonGroup'sen vergelijk de resultaten.

Als u normaal gesproken een betrouwbaarheidsdrempel opgeeft (een waarde tussen nul en één die bepaalt hoe zeker het model moet zijn om een gezicht te identificeren), moet u mogelijk verschillende drempelwaarden gebruiken voor verschillende modellen. Een drempelwaarde voor het ene model is niet bedoeld om te worden gedeeld met een ander model en levert niet noodzakelijkerwijs dezelfde resultaten op.

Volgende stappen

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