Angeben eines Gesichtserkennungsmodells

In diesem Leitfaden erfahren Sie, wie Sie ein Gesichtserkennungsmodell für den Azure KI-Gesichtserkennungsdienst angeben.

Der Gesichtserkennungsdienst nutzt Machine Learning-Modelle für Vorgänge mit menschlichen Gesichter in Bildern. Wir verbessern die Genauigkeit unserer Modelle auf der Grundlage von Kundenfeedback und Forschungsergebnissen kontinuierlich, und wir stellen diese Verbesserungen als Modellaktualisierungen zur Verfügung. Entwickler können angeben, welche Version des Gesichtserkennungsmodells sie verwenden möchten. Sie können das Modell auswählen, das am besten zu ihrem Anwendungsfall passt.

Im Folgenden erfahren Sie, wie Sie in bestimmten Gesichtserkennungsvorgängen das Gesichtserkennungsmodell angeben. Der Gesichtserkennungsdienst verwendet die Gesichtserkennung, sobald das Bild eines Gesichts in eine andere Datenform konvertiert wird.

Wenn Sie nicht sicher sind, ob Sie das neueste Modell verwenden sollten, gehen Sie zum Abschnitt Auswerten unterschiedlicher Modelle über, um das neue Modell zu testen und die Ergebnisse anhand Ihres aktuellen Datasets zu vergleichen.

Voraussetzungen

Sie sollten mit den Konzepten der KI-Gesichtserkennung vertraut sein. Falls nicht, informieren Sie sich im konzeptionellen Leitfaden oder in der Schrittanleitung:

Auswerten unterschiedlicher Modelle

Die verschiedenen Gesichtserkennungsmodelle wurden für unterschiedliche Aufgaben optimiert. In der folgenden Tabelle sind die Unterschiede übersichtlich dargestellt.

Modell Beschreibung Leistungshinweise Attribute Sehenswürdigkeiten
detection_01 Standardauswahl für alle Gesichtserkennungsvorgänge. Nicht optimiert für kleine oder unscharfe Gesichter bzw. Gesichter in der Profilansicht. Gibt Hauptgesichtsattribute (Kopfhaltung, Alter, Stimmung usw.) zurück, wenn sie im Erkennungsaufruf angegeben werden. Gibt Orientierungspunkte im Gesicht zurück, wenn sie im Erkennungsaufruf angegeben werden.
detection_02 Im Mai 2019 veröffentlich und optional in allen Gesichtserkennungsvorgängen verfügbar. Verbesserte Genauigkeit bei kleinen oder unscharfen Gesichtern bzw. Gesichtern in der Profilansicht. Gibt keine Gesichtsattribute zurück. Gibt keine Orientierungspunkte im Gesicht zurück.
detection_03 Im Februar 2021 veröffentlich und optional bei allen Gesichtserkennungsvorgängen verfügbar. Weitere Verbesserung der Genauigkeit, auch bei kleineren Gesichtern (64 × 64 Pixel) und bei gedrehten Gesichtern. Gibt die Attribute für Maske und Kopfhaltung zurück, wenn sie im Erkennungsaufruf angegeben wurden. Gibt Orientierungspunkte im Gesicht zurück, wenn sie im Erkennungsaufruf angegeben werden.

Am besten lassen sich die Ergebnisse der Erkennungsmodelle anhand eines Beispieldatasets vergleichen. Es wird empfohlen die API Face – Detect unter Verwendung der beiden Erkennungsmodelle für verschiedene Bilder aufzurufen, insbesondere für Bilder mit zahlreichen oder schwer erkennbaren Gesichtern. Achten Sie auf die Anzahl der Gesichter, die jedes Modell zurückgibt.

Erkennen von Gesichtern mit dem angegebenen Modell

Bei der Gesichtserkennung werden die Positionen von menschlichen Gesichtern im Begrenzungsrahmen gesucht und ihre besonderen visuellen Merkmale identifiziert. Dabei werden die Gesichtsmerkmale extrahiert und gespeichert, um sie später in Gesichtserkennungsvorgängen zu nutzen.

Bei Verwendung der API Face – Detect können Sie die Modellversion mit dem detectionModel-Parameter zuweisen. Die verfügbaren Werte sind:

  • detection_01
  • detection_02
  • detection_03

Eine Anforderungs-URL für die REST-API Face – Detect sieht wie folgt aus:

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

Wenn Sie die Clientbibliothek verwenden, können Sie den Wert für detectionModel zuweisen, indem Sie eine geeignete Zeichenfolge übergeben. Wenn Sie diesen Wert nicht zuweisen, verwendet die API die Standardmodellversion (detection_01). Nachfolgend ist ein Codebeispiel für die .NET-Clientbibliothek aufgeführt.

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

Hinzufügen eines Gesichts zu einem Person-Objekt mit einem angegebenen Modell

Der Gesichtserkennungsdienst kann Gesichtsdaten aus einem Bild extrahieren und über die API PersonGroup Person – Add Face einem Person-Objekt zuordnen. In diesem API-Aufruf können Sie das Erkennungsmodell auf die gleiche Weise wie bei Face – Detect angeben.

Nachfolgend ist ein Codebeispiel für die .NET-Clientbibliothek aufgeführt.

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

Mit diesem Code wird ein PersonGroup-Objekt mit der ID mypersongroupid erstellt. Anschließend wird dem Objekt ein Person-Objekt hinzugefügt. Danach wird diesem Person-Objekt unter Verwendung des Modells detection_03 ein Gesicht hinzugefügt. Wenn Sie den detectionModel-Parameter nicht angeben, verwendet die API das Standardmodell detection_01.

Hinweis

Sie müssen nicht dasselbe Erkennungsmodell für alle Gesichter in einem Person-Objekt verwenden. Es ist auch nicht erforderlich, dasselbe Erkennungsmodell bei der Erkennung neuer Gesichter zu verwenden, um diese mit einem Person-Objekt zu vergleichen (beispielsweise in der API Face – Identify).

Hinzufügen eines Gesichts zu einem FaceList-Objekt mit einem angegebenen Modell

Sie können auch ein Erkennungsmodell angeben, wenn Sie ein Gesicht einem vorhandenen FaceList-Objekt hinzufügen. Nachfolgend ist ein Codebeispiel für die .NET-Clientbibliothek aufgeführt.

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

Mit diesem Code wird ein FaceList-Objekt namens My face collection erstellt. Anschließend wird dem Objekt mit dem Modell detection_03 ein Gesicht hinzugefügt. Wenn Sie den detectionModel-Parameter nicht angeben, verwendet die API das Standardmodell detection_01.

Hinweis

Sie müssen nicht dasselbe Erkennungsmodell für alle Gesichter in einem FaceList-Objekt verwenden. Es ist auch nicht erforderlich, dasselbe Erkennungsmodell bei der Erkennung neuer Gesichter zu verwenden, um diese mit einem FaceList-Objekt zu vergleichen.

Nächste Schritte

In diesem Artikel haben Sie gelernt, wie Sie das Erkennungsmodell angeben, das für verschiedene Gesichtserkennungs-APIs verwendet werden soll. Durchlaufen Sie als Nächstes eine Schnellstartanleitung zu den ersten Schritten mit der Gesichtserkennung und der Analyse.