Suche nach Benutzern (Gesichts-ID/Benutzer-ID) - 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.

Suche nach Benutzern (Gesichts-ID/Benutzer-ID)

Sie können den SearchUsersVorgang verwenden, um in einer bestimmten Sammlung nach Benutzern zu suchen, die mit einer angegebenen Gesichts-ID oder Benutzer-ID übereinstimmen. Bei der Operation werden die zurückgegebenen UserIds Objekte nach dem höchsten Ähnlichkeitswert über dem angeforderten Wert sortiert UserMatchThreshold. Die Benutzer-ID wird während des CreateUsers Vorgangs erstellt. Weitere Informationen finden Sie unter Benutzer in einer Sammlung verwalten.

Um Benutzer zu suchen (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: Einrichten eines AWS-Kontos und Erstellen eines Benutzers.

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

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

    Java

    In diesem Java-Beispiel werden die Benutzer in einer Sammlung mithilfe der SearchUsers-Operation durchsucht.

    import com.amazonaws.services.rekognition.AmazonRekognition; import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder; import com.amazonaws.services.rekognition.model.UserMatch; import com.amazonaws.services.rekognition.model.SearchUsersRequest; import com.amazonaws.services.rekognition.model.SearchUsersResult; import com.amazonaws.services.rekognition.model.UserMatch; public class SearchUsers { //Replace collectionId and faceId with the values you want to use. public static final String collectionId = "MyCollection"; public static final String faceId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; public static final String userd = 'demo-user'; public static void main(String[] args) throws Exception { AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient(); // Search collection for faces matching the user id. SearchUsersRequest request = new SearchUsersRequest() .withCollectionId(collectionId) .withUserId(userId); SearchUsersResult result = rekognitionClient.searchUsers(request); System.out.println("Printing first search result with matched user and similarity score"); for (UserMatch match: result.getUserMatches()) { System.out.println(match.getUser().getUserId() + " with similarity score " + match.getSimilarity()); } // Search collection for faces matching the face id. SearchUsersRequest request1 = new SearchUsersRequest() .withCollectionId(collectionId) .withFaceId(faceId); SearchUsersResult result1 = rekognitionClient.searchUsers(request1); System.out.println("Printing second search result with matched user and similarity score"); for (UserMatch match: result1.getUserMatches()) { System.out.println(match.getUser().getUserId() + " with similarity score " + match.getSimilarity()); } }
    AWS CLI

    Dieser AWS CLI Befehl durchsucht die Benutzer in einer Sammlung mit der SearchUsers Operation.

    aws rekognition search-users --face-id face-id --collection-id collection-id --region region-name
    Python

    Das folgende Beispiel sucht die Benutzer in einer Sammlung mit der SearchUsers-Operation.

    # Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. # PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.) import boto3 from botocore.exceptions import ClientError import logging logger = logging.getLogger(__name__) session = boto3.Session(profile_name='profile-name') client = session.client('rekognition') def search_users_by_face_id(collection_id, face_id): """ SearchUsers operation with face ID provided as the search source :param collection_id: The ID of the collection where user and faces are stored. :param face_id: The ID of the face in the collection to search for. :return: response of SearchUsers API """ logger.info(f'Searching for users using a face-id: {face_id}') try: response = client.search_users( CollectionId=collection_id, FaceId=face_id ) print(f'- found {len(response["UserMatches"])} matches') print([f'- {x["User"]["UserId"]} - {x["Similarity"]}%' for x in response["UserMatches"]]) except ClientError: logger.exception(f'Failed to perform SearchUsers with given face id: {face_id}') raise else: print(response) return response def search_users_by_user_id(collection_id, user_id): """ SearchUsers operation with user ID provided as the search source :param collection_id: The ID of the collection where user and faces are stored. :param user_id: The ID of the user in the collection to search for. :return: response of SearchUsers API """ logger.info(f'Searching for users using a user-id: {user_id}') try: response = client.search_users( CollectionId=collection_id, UserId=user_id ) print(f'- found {len(response["UserMatches"])} matches') print([f'- {x["User"]["UserId"]} - {x["Similarity"]}%' for x in response["UserMatches"]]) except ClientError: logger.exception(f'Failed to perform SearchUsers with given face id: {user_id}') raise else: print(response) return response def main(): collection_id = "collection-id" user_id = "user-id" face_id = "face_id" search_users_by_face_id(collection_id, face_id) search_users_by_user_id(collection_id, user_id) if __name__ == "__main__": main()

SearchUsers Operationsanforderung

Bei Angabe einer FaceID oder UserID wird die angegebene CollectionID nach Benutzerübereinstimmungen SearchUsers durchsucht. Gibt standardmäßig Benutzer SearchUsers zurück, IDs für die der Ähnlichkeitswert größer als 80% ist. Die Ähnlichkeit gibt an, wie genau die UserID mit der angegebenen Gesichts-ID oder UserID übereinstimmt. Wenn mehrere Benutzer zurückgegeben IDs werden, werden sie in der Reihenfolge vom höchsten bis zum niedrigsten Ähnlichkeitswert aufgeführt. Optional können Sie den verwenden UserMatchThreshold , um einen anderen Wert anzugeben. Weitere Informationen finden Sie unter Benutzer in einer Sammlung verwalten.

Im Folgenden finden Sie ein Beispiel für eine SearchUsers Anfrage mitUserId:

{ "CollectionId": "MyCollection", "UserId": "demoUser1", "MaxUsers": 2, "UserMatchThreshold": 99 }

Das Folgende ist ein Beispiel für eine SearchUsers Anfrage mitFaceId:

{ "CollectionId": "MyCollection", "FaceId": "bff43c40-cfa7-4b94-bed8-8a08b2205107", "MaxUsers": 2, "UserMatchThreshold": 99 }

SearchUsers Antwort auf den Vorgang

Bei der Suche mit einem FaceId SearchUsers beinhaltet die Antwort FaceId für das für den SearchedFace sowie eine Liste von UserMatches und das UserId und UserStatus für jeden Benutzer.

{ "SearchedFace": { "FaceId": "bff43c40-cfa7-4b94-bed8-8a08b2205107" }, "UserMatches": [ { "User": { "UserId": "demoUser1", "UserStatus": "ACTIVE" }, "Similarity": 100.0 }, { "User": { "UserId": "demoUser2", "UserStatus": "ACTIVE" }, "Similarity": 99.97946166992188 } ], "FaceModelVersion": "6" }

Bei der Suche mit a UserId SearchUsers beinhaltet die Antwort für zusätzlich zu den SearchedUser anderen Antwortelementen auch das UserId für.

{ "SearchedUser": { "UserId": "demoUser1" }, "UserMatches": [ { "User": { "UserId": "demoUser2", "UserStatus": "ACTIVE" }, "Similarity": 99.97946166992188 } ], "FaceModelVersion": "6" }