Mencari pengguna (ID wajah/ID pengguna) - Amazon Rekognition

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mencari pengguna (ID wajah/ID pengguna)

Anda dapat menggunakan SearchUsersoperasi untuk mencari pengguna dalam koleksi tertentu yang cocok dengan ID wajah atau ID pengguna yang disediakan. Operasi mencantumkan UserIds peringkat yang dikembalikan dengan skor kesamaan tertinggi di atas yang diminta UserMatchThreshold. ID pengguna dibuat dalam CreateUsers operasi. Untuk informasi selengkapnya, lihat Mengelola pengguna dalam koleksi.

Untuk mencari pengguna (SDK)
  1. Jika belum:

    1. Buat atau perbarui pengguna dengan AmazonRekognitionFullAccess izin. Untuk informasi selengkapnya, lihat Langkah 1: Siapkan akun AWS dan buat Pengguna.

    2. Instal dan konfigurasikan AWS CLI dan AWS SDKs. Untuk informasi selengkapnya, lihat Langkah 2: Mengatur AWS CLI dan AWS SDKs.

  2. Gunakan contoh berikut untuk memanggil operasi SearchUsers.

    Java

    Contoh Java ini mencari pengguna dalam koleksi menggunakan operasi. SearchUsers

    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

    AWS CLI Perintah ini mencari pengguna dalam koleksi dengan SearchUsers operasi.

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

    Contoh berikut mencari pengguna dalam koleksi dengan SearchUsers operasi.

    # 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 permintaan operasi

Diberikan FaceID atau userId, SearchUsers mencari collectionId yang ditentukan untuk kecocokan pengguna. Secara default, SearchUsers mengembalikan User IDs yang skor kesamaannya lebih besar dari 80%. Kesamaan menunjukkan seberapa dekat userId cocok dengan FaceID atau userId yang disediakan. Jika beberapa Pengguna IDs dikembalikan, mereka terdaftar dalam urutan skor kesamaan tertinggi ke terendah. Secara opsional, Anda dapat menggunakan UserMatchThreshold untuk menentukan nilai yang berbeda. Untuk informasi selengkapnya, lihat Mengelola pengguna dalam koleksi.

Berikut ini adalah contoh SearchUsers permintaan yang menggunakanUserId:

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

Berikut ini adalah contoh SearchUsers permintaan yang menggunakanFaceId:

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

SearchUsers respon operasi

Jika mencari denganFaceId, tanggapan untuk SearchUsers mencakup FaceId untukSearchedFace, serta daftar UserMatches dan UserId dan UserStatus untuk setiap Pengguna.

{ "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" }

Jika mencari denganUserId, respons untuk SearchUsers menyertakan UserId untukSearchedUser, selain elemen respons lainnya.

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