Teilen über


Gesichtserkennungsdatenstrukturen

In diesem Artikel werden die Datenstrukturen erläutert, die im Gesichtserkennungsdienst für Gesichtserkennungsvorgänge verwendet werden. Diese Datenstrukturen enthalten Daten von Gesichtern und Personen.

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.

Datenstrukturen, die mit „Identifizieren“ verwendet werden

Die Face Identify-API verwendet Containerdatenstrukturen für die Gesichtserkennungsdaten in Form von Person-Objekten. Zu diesem Zweck gibt es drei Arten von Containern, die von den ältesten bis zu den neuesten aufgeführt sind. Es wird empfohlen, immer den neuesten zu verwenden.

PersonGroup

PersonGroup ist die kleinste Containerdatenstruktur.

  • Sie müssen ein Erkennungsmodell angeben, wenn Sie eine PersonGroup erstellen. Wenn dieser PersonGroup Gesichter hinzugefügt werden, wird dieses Modell verwendet, um sie zu verarbeiten. Dieses Modell muss mit der Modellversion mit der Gesichts-ID aus der Erkennungs-API übereinstimmen.
  • Sie müssen die Train-API aufrufen, um neue Gesichtsdaten in den Ergebnissen der Identifizierungs-API widerzuspiegeln. Dazu gehören das Hinzufügen/Entfernen von Gesichtern und das Hinzufügen/Entfernen von Personen.
  • Für das Abonnement im Free-Tarif kann sie bis zu 1.000 Personen aufnehmen. Für S0 kostenpflichtiges Abonnement kann es bis zu 10.000 Personen haben.

PersonGroupPerson stellt eine Person dar, die identifiziert werden soll. Es kann bis zu 248 Gesichter aufnehmen.

Große Personengruppe

LargePersonGroup ist eine spätere Datenstruktur, die zur Unterstützung von bis zu 1 Millionen Entitäten (für S0-Ebene-Abonnement) eingeführt wurde. Es ist optimiert, um umfangreiche Daten zu unterstützen. Sie teilt die meisten PersonGroup-Features: Ein Erkennungsmodell muss zur Erstellungszeit angegeben werden, und die Train-API muss vor der Verwendung aufgerufen werden.

Personenverzeichnis

PersonDirectory ist die neueste Datenstruktur dieser Art. Es unterstützt eine größere Skalierung und höhere Genauigkeit. Jede Azure Face-Ressource verfügt über eine einzelne Standardmäßige PersonDirectory-Datenstruktur. Es handelt sich um eine flache Liste von PersonDirectoryPerson-Objekten – sie kann bis zu 20 Millionen aufnehmen.

PersonDirectoryPerson stellt eine Person dar, die identifiziert werden soll. Basierend auf dem älteren PersonGroupPerson-Modell können Sie derselben Person Gesichter aus verschiedenen Erkennungsmodellen hinzufügen. Der Identifizieren-Vorgang kann jedoch nur Gesichter abgleichen, die mit demselben Erkennungsmodell abgerufen wurden.

DynamicPersonGroup ist eine einfache Datenstruktur, mit der Sie dynamisch auf eine PersonDirectoryPerson-Identität verweisen können. Der Train-Vorgang ist nicht erforderlich: Sobald die Daten aktualisiert wurden, kann er mit der Identifizierungs-API verwendet werden.

Sie können auch eine direkte Personen-ID-Liste für den Identifizieren-Vorgang verwenden. Auf diese Weise können Sie eine schmalere Gruppe angeben, aus der Sie identifizieren können. Sie können dies manuell tun, um die Identifikationsleistung in großen Gruppen zu verbessern.

Die oben genannten Datenstrukturen können zusammen verwendet werden. Beispiel:

  • In einem Zugriffssteuerungssystem kann das PersonDirectory möglicherweise alle Mitarbeiter eines Unternehmens darstellen, aber eine kleinere DynamicPersonGroup könnte nur die Mitarbeiter darstellen, die Zugriff auf eine einzelne Etage des Gebäudes haben.
  • In einem Flight-Onboarding-System könnte das PersonDirectory alle Kunden der Fluggesellschaft darstellen, aber die DynamicPersonGroup stellt nur die Passagiere auf einem bestimmten Flug dar. Eine direkte Personen-ID-Liste könnte die Passagiere darstellen, die eine Last-Minute-Änderung vorgenommen haben.

Weitere Informationen finden Sie in der Schrittanleitung zu PersonDirectory. Ein kurzer Vergleich zwischen LargePersonGroup und PersonDirectory:

Detail LargePersonGroup PersonDirectory
Capacity Ein LargePersonGroup-Element kann bis zu 1 Million PersonGroupPerson-Objekte enthalten. Die Sammlung kann bis zu 20 Millionen PersonDirectoryPerson-Identitäten speichern.
PersonURI /largepersongroups/{groupId}/persons/{personId} (/v1.0-preview-or-above)/persons/{personId}
Besitz Die PersonGroupPerson-Objekte befinden sich ausschließlich im Besitz der LargePersonGroup-Struktur, zu der sie gehören. Wenn Sie dieselbe Identität in mehreren Gruppen beibehalten möchten, müssen Sie LargePersonGroupPerson erstellen und LargePersonGroupPerson ein Gesicht hinzufügen, und zwar für jede Gruppe einzeln, sodass Sie am Ende eine Reihe von Personen-IDs in mehreren Gruppen haben. Die PersonDirectoryPerson-Objekte werden direkt in PersonDirectory als flache Liste gespeichert. Sie können eine vorhandene Personen-ID-Liste zum Identifizieren im Personenverzeichnis verwenden oder optional eine dynamische Personengruppe erstellen und eine Person hybrid in die Gruppe einschließen. Auf ein erstelltes PersonDirectoryPerson-Objekt kann von mehreren DynamicPersonGroup-Objekten ohne Duplizierung verwiesen werden.
Modell Das Erkennungsmodell wird durch LargePersonGroup bestimmt. Neue Gesichter für alle PersonGroupPerson-Objekte werden diesem Modell zugeordnet, wenn sie ihm hinzugefügt werden. Das PersonDirectoryPerson-Objekt bereitet die getrennte Speicherung nach Erkennungsmodell vor. Sie können das Modell angeben, wenn Sie neue Gesichter hinzufügen, aber die Identifizierungs-API kann nur Gesichter zuordnen, die mit demselben Erkennungsmodell abgerufen wurden, das den Abfragegesichtern zugeordnet ist.
Training Sie müssen die Trainieren-API aufrufen, damit alle neuen Gesichts-/Personendaten in den Ergebnissen der Identifizierungs-API angezeigt werden. Es ist nicht notwendig, Trainieren-Aufrufe zu tätigen, aber APIs wie Personengesicht hinzufügen werden zu einem zeitintensiven Vorgang, was bedeutet, dass Sie den Antwortheader „Operation-Location“ verwenden sollten, um zu überprüfen, ob die Aktualisierung abgeschlossen ist.
Bereinigung Durch das Löschen einer großen Personengruppe werden auch alle darin enthaltenen PersonGroupPerson-Objekte zusammen mit ihren Gesichtsdaten gelöscht. Durch das Löschen einer dynamischen Personengruppe wird nur der Verweis auf PersonDirectoryPerson entfernt. Informationen zum Löschen der tatsächlichen Person und der Gesichtsdaten finden Sie unter Person löschen.

Mit „Ähnliche Suchen“ verwendete Datenstrukturen

Im Gegensatz zur Identifizierungs-API wird die API „Find Similar“in Anwendungen verwendet, in denen die Registrierung einer Person schwer einzurichten ist (z. B. Gesichtsbilder, die in einer Video- oder Fotoalbumanalyse erfasst wurden).

FaceList

FaceList stellt eine flache Liste beibehaltener Gesichter dar. Er kann 1.000 Gesichter aufnehmen.

LargeFaceList

LargeFaceList ist eine spätere Version, die bis zu 1.000.000 Gesichter aufnehmen kann.

Nächster Schritt

Nachdem Sie nun mit den Gesichtsdatenstrukturen vertraut sind, schreiben Sie ein Skript, das sie im Identifizieren-Vorgang verwendet.