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.

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.

Sehen Sie sich den Leitfaden Gesichtserkennungsdatenstrukturen an.

Eingabeanforderungen

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.
  • Die Bilddateien dürfen maximal 6 MB groß sein.
  • Einige Gesichter können möglicherweise aufgrund von Bildkompositionen wie den 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 Attribut qualityForRecognition 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 "high" empfohlen, und die Qualität "medium" 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.