Gesichter einem Benutzer zuordnen - Amazon Rekognition

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Gesichter einem Benutzer zuordnen

Sie können die AssociateFacesOperation verwenden, um mehrere einzelne Gesichter einem einzelnen Benutzer zuzuordnen. Um ein Gesicht einem Benutzer zuzuordnen, müssen Sie zuerst eine Sammlung und einen Benutzer erstellen. Beachten Sie, dass sich die Gesichtsvektoren in derselben Sammlung befinden müssen, in der sich der Benutzervektor befindet.

Um Gesichter zuzuordnen (SDK)
  1. Wenn Sie dies noch nicht getan haben:

    1. Erstellen oder aktualisieren Sie einen Benutzer mit AmazonRekognitionFullAccess-Berechtigungen. Weitere Informationen finden Sie unter Schritt 1: Richten Sie ein AWS Konto ein und erstellen Sie einen Benutzer.

    2. Installieren und konfigurieren Sie das AWS CLI und das AWS SDKs. Weitere Informationen finden Sie unter Schritt 2: Richten Sie das und ein AWS CLIAWS SDKs.

  2. Verwenden Sie die folgenden Beispiele zum Aufrufen der AssociateFaces-Operation.

    Java

    In diesem Java-Codebeispiel wird ein Gesicht einem Benutzer zugeordnet.

    import java.util.Arrays; import java.util.List; import com.amazonaws.services.rekognition.AmazonRekognition; import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder; import com.amazonaws.services.rekognition.model.AssociateFacesRequest; import com.amazonaws.services.rekognition.model.AssociateFacesResult; public class AssociateFaces { public static void main(String[] args) throws Exception { AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient(); /* Replace the below configurations to allow you successfully run the example @collectionId: The collection where user and faces are stored @userId: The user which faces will get associated to @faceIds: The list of face IDs that will get associated to the given user @userMatchThreshold: Minimum User match confidence required for the face to be associated with a User that has at least one faceID already associated */ String collectionId = "MyCollection"; String userId = "demoUser"; String faceId1 = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; String faceId2 = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; List<String> faceIds = Arrays.asList(faceid1,faceid2); float userMatchThreshold = 0f; System.out.println("Associating faces to the existing user: " + userId); AssociateFacesRequest request = new AssociateFacesRequest() .withCollectionId(collectionId) .withUserId(userId) .withFaceIds(faceIds) .withUserMatchThreshold(userMatchThreshold); AssociateFacesResult result = rekognitionClient.associateFaces(request); System.out.println("Successful face associations: " + result.getAssociatedFaces().size()); System.out.println("Unsuccessful face associations: " + result.getUnsuccessfulFaceAssociations().size()); } }
    AWS CLI

    Dieser AWS CLI Befehl ordnet mithilfe der associate-faces CLI Operation ein Gesicht einem Benutzer zu.

    aws rekognition associate-faces --user-id user-id --face-ids face-id-1 face-id-2 --collection-id collection-name --region region-name
    Python

    In diesem Python-Codebeispiel wird ein Gesicht einem Benutzer zugeordnet.

    from botocore.exceptions import ClientError import boto3 import logging logger = logging.getLogger(__name__) session = boto3.Session(profile_name='profile-name') client = session.client('rekognition') def associate_faces(collection_id, user_id, face_ids): """ Associate stored faces within collection to the given user :param collection_id: The ID of the collection where user and faces are stored. :param user_id: The ID of the user that we want to associate faces to :param face_ids: The list of face IDs to be associated to the given user :return: response of AssociateFaces API """ logger.info(f'Associating faces to user: {user_id}, {face_ids}') try: response = client.associate_faces( CollectionId=collection_id, UserId=user_id, FaceIds=face_ids ) print(f'- associated {len(response["AssociatedFaces"])} faces') except ClientError: logger.exception("Failed to associate faces to the given user") raise else: print(response) return response def main(): face_ids = ["faceId1", "faceId2"] collection_id = "collection-id" user_id = "user-id" associate_faces(collection_id, user_id, face_ids) if __name__ == "__main__": main()

AssociateFaces Antwort auf die Operation

Die Antwort für AssociateFaces enthält den UserStatus, d. h. den Status der Anforderung zur Trennung der Verbindung sowie eine Liste der zu verknüpfenden FaceIds. Eine Liste von UnsuccessfulFaceAssociations wird ebenfalls zurückgegeben. Nach dem Absenden einer Anforderung an AssociateFaces kann es etwa eine Minute dauern, bis die Operation abgeschlossen ist.

Aus diesem Grund UserStatus wird der zurückgegeben, der die folgenden Werte haben kann:

  • CREATED- Bedeutet, dass der 'Benutzer' erfolgreich erstellt wurde und ihm derzeit keine Gesichter zugeordnet sind. 'Benutzer' befindet sich in diesem Status, bevor ein erfolgreicher 'AssociateFaces' -Aufruf getätigt wird.

  • UPDATING- Zeigt an, dass der 'Benutzer' aktualisiert wird, um die neu zugeordneten/getrennten Gesichter widerzuspiegeln, was in wenigen Sekunden der Fall sein wird. ACTIVE In diesem Status können Suchergebnisse den Begriff „Benutzer“ enthalten, und Kunden können sich dafür entscheiden, diesen Begriff in den zurückgegebenen Ergebnissen zu ignorieren.

  • ACTIVE- Bedeutet, dass der „Benutzer aktualisiert wurde, sodass er alle zugeordneten/nicht assoziierten Gesichter wiedergibt und dass er sich in einem durchsuchbaren Status befindet.

{ "UnsuccessfulFaceAssociations": [ { "Reasons": [ "LOW_MATCH_CONFIDENCE" ], "FaceId": "f5817d37-94f6-0000-bfee-1a2b3c4d5e6f", "Confidence": 0.9375374913215637 }, { "Reasons": [ "ASSOCIATED_TO_A_DIFFERENT_IDENTITY" ], "FaceId": "851cb847-dccc-1111-bfee-1a2b3c4d5e6f", "UserId": "demoUser2" } ], "UserStatus": "UPDATING", "AssociatedFaces": [ { "FaceId": "35ebbb41-7f67-2222-bfee-1a2b3c4d5e6f" } ] }