Gesichtserkennung

In diesem Artikel werden das Konzept der Gesichtserkennung, die zugehörigen Vorgänge und die zugrunde liegenden Datenstrukturen erläutert. Allgemein ist die Gesichtserkennung der Vorgang der Überprüfung oder Identifizierung von Personen anhand ihrer Gesichter. Die Gesichtserkennung ist wichtig bei der Implementierung des Identitätsüberprüfungsszenarios, das Unternehmen und Apps verwenden können, um zu überprüfen, ob ein (Remote-)Benutzer die Person ist, die er zu sein angibt.

Sie können die Funktionen der Gesichtserkennung ganz schnell und einfach mithilfe von Vision Studio testen.

Vorgänge der Gesichtserkennung

Achtung

Der Zugriff auf den Gesichtserkennungsdienst ist auf der Grundlage von Berechtigungs- und Nutzungskriterien begrenzt, um unsere Prinzipien für verantwortungsvolle KI zu unterstützen. Der Gesichtserkennungsdienst ist nur für von Microsoft verwaltete Kunden und Partner verfügbar. Verwenden Sie das Aufnahmeformular für die Gesichtserkennung, um sich für den Zugriff zu bewerben. Weitere Informationen finden Sie auf der Seite Eingeschränkter Zugriff auf die Gesichtserkennung.

In diesem Abschnitt wird erläutert, wie die oben beschriebenen Datenstrukturen von den zugrunde liegenden Vorgängen verwendet werden, um ein Gesicht zu identifizieren und zu überprüfen.

Erstellen und Trainieren von PersonGroups

Sie müssen eine PersonGroup oder LargePersonGroup erstellen, um die Personen zu speichern, mit denen ein Abgleich durchgeführt werden soll. PersonGroups enthalten Person-Objekte, die jeweils eine einzelne Person darstellen und Gesichtsdaten enthalten, die zu dieser Person gehören.

Der Train-Vorgang bereitet das DataSet für die Verwendung in Gesichtsdatenvergleichen vor.

Identifikation

Der Identify-Vorgang nimmt eine oder mehrere Quellgesichts-IDs (aus einem DetectedFace- oder PersistedFace-Objekt) und eine PersonGroup oder LargePersonGroup an. Es wird eine Liste der Person-Objekte zurückgegeben, zu denen jedes Quellgesichtsobjekt gehören kann. Die zurückgegebenen Person-Objekte werden als Candidate-Objekte umschlossen und erhalten einen Zuverlässigkeitswert für die Vorhersage.

Überprüfung

Der Verify-Vorgang nimmt eine Quellgesichts-ID (aus einem DetectedFace- oder PersistedFace-Objekt) und ein Person-Objekt an. Er bestimmt, ob das Gesicht zu derselben Person gehört. Die Verifizierung ist ein 1:1-Abgleich und kann als abschließende Überprüfung der Ergebnisse des Identify-API-Aufrufs verwendet werden. Sie können jedoch optional die PersonGroup übergeben, zu der die Person gehört, um die API-Leistung zu verbessern.

Bei den Erkennungsvorgängen werden hauptsächlich die folgenden Datenstrukturen verwendet. Diese Objekte werden in der Cloud gespeichert und durch ihre ID-Zeichenfolgen referenziert. ID-Zeichenfolgen sind innerhalb eines Abonnements immer eindeutig, aber Namensfelder können doppelt vorkommen werden.

Name BESCHREIBUNG
DetectedFace Diese Darstellung eines einzelnen Gesichts wird mit dem Vorgang Gesichtserkennung abgerufen. Die ID läuft 24 Stunden nach der Erstellung ab.
PersistedFace Wenn DetectedFace-Objekte einer Gruppe, z. B. FaceList oder Person, hinzugefügt werden, werden sie zu PersistedFace-Objekten. Sie können jederzeit abgerufen werden und laufen nicht ab.
FaceList oder LargeFaceList Diese Datenstruktur ist eine gemischte Liste von PersistedFace-Objekten. Eine FaceList verfügt über eine eindeutige ID, eine Namenszeichenfolge und optional eine Benutzerdatenzeichenfolge.
Person Diese Datenstruktur ist eine Liste von PersistedFace-Objekten, die zu derselben Person gehören. Sie verfügt über eine eindeutige ID, eine Namenszeichenfolge und optional eine Benutzerdatenzeichenfolge.
PersonGroup oder LargePersonGroup Diese Datenstruktur ist eine gemischte Liste von Person-Objekten. Sie verfügt über eine eindeutige ID, eine Namenszeichenfolge und optional eine Benutzerdatenzeichenfolge. Eine PersonGroup muss trainiert werden, bevor sie in Erkennungsvorgängen verwendet werden kann.
PersonDirectory Diese Datenstruktur ähnelt LargePersonGroup, bietet aber mehr Speicherkapazität und weitere zusätzliche Features. Weitere Informationen finden Sie unter Verwenden der PersonDirectory-Struktur (Vorschau).

Eingabedaten

Anhand der folgenden Tipps können Sie sicherstellen, dass Ihre Eingabebilder möglichst genaue Erkennungsergebnisse liefern:

  • Als Eingabebildformate werden JPEG, PNG, GIF (der erste Frame), BMP unterstützt.
  • Bilddateien dürfen maximal 6 MB groß sein.
  • Wenn Sie die Person-Objekte erstellen, verwenden Sie Fotos mit verschiedenen Winkeln und Belichtungen.
  • Einige Gesichter können möglicherweise aufgrund technischer Probleme wie der folgenden nicht erkannt werden:
    • Bilder mit extremer Beleuchtung (z. B. starkes Gegenlicht)
    • Hindernisse, die ein oder beide Augen verdecken
    • Unterschiede beim Haartyp oder der Gesichtsbehaarung
    • Veränderungen am Gesicht (z. B. durch Alterung)
    • Extreme Gesichtsausdrücke
  • Sie können das QualityForRecognition-Attribut im Gesichtserkennungsvorgang verwenden, wenn Sie geeignete Erkennungsmodelle als allgemeine Richtlinie verwenden, um zu prüfen, ob das Bild wahrscheinlich eine ausreichende Qualität aufweist, um die Gesichtserkennung zu versuchen. Für die Registrierung von Personen werden nur Bilder der Qualitätsstufe „hoch“ empfohlen, und die Qualität „mittel“ oder höher wird bei Identifikationen empfohlen.

Nächste Schritte

Nachdem Sie nun mit den Konzepten der Gesichtserkennung vertraut sind, schreiben Sie ein Skript, das Gesichter in einer trainierten Personengruppe (PersonGroup) erkennt.