Eliminación de rostros de una colección - Amazon Rekognition

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Eliminación de rostros de una colección

Puede utilizar la operación DeleteFaces para eliminar rostros de una colección. Para obtener más información, consulte Administración de rostros en una colección.

Eliminación de los rostros de una colección
  1. Si aún no lo ha hecho:

    1. Cree o actualice un usuario de AmazonRekognitionFullAccess con permisos. Para obtener más información, consulte Paso 1: Configurar una cuenta de AWS y crear un usuario.

    2. Instala y configura los AWS SDK AWS CLI y los mismos. Para obtener más información, consulte Paso 2: Configurar la AWS CLI y los AWS SDK.

  2. Consulte los siguientes ejemplos para llamar a la operación DeleteFaces.

    Java

    En este ejemplo se elimina un único rostro de una colección.

    Cambie el valor de collectionId por el nombre de la colección que contiene el rostro que desea eliminar. Cambie el valor de faces por el ID del rostro que desea eliminar. Para eliminar varios rostros, añada ID de rostro a la matriz faces.

    //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.) package aws.example.rekognition.image; import com.amazonaws.services.rekognition.AmazonRekognition; import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder; import com.amazonaws.services.rekognition.model.DeleteFacesRequest; import com.amazonaws.services.rekognition.model.DeleteFacesResult; import java.util.List; public class DeleteFacesFromCollection { public static final String collectionId = "MyCollection"; public static final String faces[] = {"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}; public static void main(String[] args) throws Exception { AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient(); DeleteFacesRequest deleteFacesRequest = new DeleteFacesRequest() .withCollectionId(collectionId) .withFaceIds(faces); DeleteFacesResult deleteFacesResult=rekognitionClient.deleteFaces(deleteFacesRequest); List < String > faceRecords = deleteFacesResult.getDeletedFaces(); System.out.println(Integer.toString(faceRecords.size()) + " face(s) deleted:"); for (String face: faceRecords) { System.out.println("FaceID: " + face); } } }
    Java V2

    Este código se ha tomado del GitHub repositorio de ejemplos del SDK de AWS documentación. Consulta el ejemplo completo aquí.

    import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.rekognition.RekognitionClient; import software.amazon.awssdk.services.rekognition.model.DeleteFacesRequest; import software.amazon.awssdk.services.rekognition.model.RekognitionException; // snippet-end:[rekognition.java2.delete_faces_collection.import] /** * Before running this Java V2 code example, set up your development environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class DeleteFacesFromCollection { public static void main(String[] args) { final String usage = "\n" + "Usage: " + " <collectionId> <faceId> \n\n" + "Where:\n" + " collectionId - The id of the collection from which faces are deleted. \n\n" + " faceId - The id of the face to delete. \n\n"; if (args.length != 1) { System.out.println(usage); System.exit(1); } String collectionId = args[0]; String faceId = args[1]; Region region = Region.US_EAST_1; RekognitionClient rekClient = RekognitionClient.builder() .region(region) .credentialsProvider(ProfileCredentialsProvider.create("profile-name")) .build(); System.out.println("Deleting collection: " + collectionId); deleteFacesCollection(rekClient, collectionId, faceId); rekClient.close(); } // snippet-start:[rekognition.java2.delete_faces_collection.main] public static void deleteFacesCollection(RekognitionClient rekClient, String collectionId, String faceId) { try { DeleteFacesRequest deleteFacesRequest = DeleteFacesRequest.builder() .collectionId(collectionId) .faceIds(faceId) .build(); rekClient.deleteFaces(deleteFacesRequest); System.out.println("The face was deleted from the collection."); } catch(RekognitionException e) { System.out.println(e.getMessage()); System.exit(1); } } // snippet-end:[rekognition.java2.delete_faces_collection.main] }
    AWS CLI

    Este AWS CLI comando muestra el resultado JSON de la operación delete-faces CLI. Reemplace el valor de collection-id por el nombre de la colección que contiene el rostro que desea eliminar. Reemplace el valor de face-ids por una matriz con los ID de los rostros que desea eliminar. Sustituya el valor de profile_name en la línea que crea la sesión de Rekognition por el nombre de su perfil de desarrollador.

    aws rekognition delete-faces --collection-id "collection-id" --face-ids "faceid" --profile profile-name
    Python

    En este ejemplo se elimina un único rostro de una colección.

    Cambie el valor de collectionId por el nombre de la colección que contiene el rostro que desea eliminar. Cambie el valor de faces por el ID del rostro que desea eliminar. Para eliminar varios rostros, añada ID de rostro a la matriz faces. Sustituya el valor de profile_name en la línea que crea la sesión de Rekognition por el nombre de su perfil de desarrollador.

    # 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 def delete_faces_from_collection(collection_id, faces): session = boto3.Session(profile_name='profile-name') client = session.client('rekognition') response = client.delete_faces(CollectionId=collection_id, FaceIds=faces) print(str(len(response['DeletedFaces'])) + ' faces deleted:') for faceId in response['DeletedFaces']: print(faceId) return len(response['DeletedFaces']) def main(): collection_id = 'collection-id' faces = [] faces.append("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx") faces_count = delete_faces_from_collection(collection_id, faces) print("deleted faces count: " + str(faces_count)) if __name__ == "__main__": main()
    .NET

    En este ejemplo se elimina un único rostro de una colección.

    Cambie el valor de collectionId por el nombre de la colección que contiene el rostro que desea eliminar. Cambie el valor de faces por el ID del rostro que desea eliminar. Para eliminar varios rostros, añada ID de rostro a la lista faces.

    //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.) using System; using System.Collections.Generic; using Amazon.Rekognition; using Amazon.Rekognition.Model; public class DeleteFaces { public static void Example() { String collectionId = "MyCollection"; List<String> faces = new List<String>() { "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }; AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient(); DeleteFacesRequest deleteFacesRequest = new DeleteFacesRequest() { CollectionId = collectionId, FaceIds = faces }; DeleteFacesResponse deleteFacesResponse = rekognitionClient.DeleteFaces(deleteFacesRequest); foreach (String face in deleteFacesResponse.DeletedFaces) Console.WriteLine("FaceID: " + face); } }

DeleteFaces solicitud de operación

La entrada de DeleteFaces es el ID de la colección que contiene los rostros y una matriz con los ID de los rostros que se van a eliminar.

{ "CollectionId": "MyCollection", "FaceIds": [ "daf29cac-f910-41e9-851f-6eeb0e08f973" ] }

DeleteFaces respuesta de operación

La respuesta de DeleteFaces contiene una matriz de ID de los rostros que se eliminaron.

{ "DeletedFaces": [ "daf29cac-f910-41e9-851f-6eeb0e08f973" ] }

Si los identificadores faciales proporcionados en la entrada están asociados actualmente a un usuario, se devolverán por motivos válidos. UnsuccessfulFaceDeletions

{ "DeletedFaces": [ "daf29cac-f910-41e9-851f-6eeb0e08f973" ], "UnsuccessfulFaceDeletions" : [ { "FaceId" : "0b683aed-a0f1-48b2-9b5e-139e9cc2a757", "UserId" : "demoUser1", "Reason" : ["ASSOCIATED_TO_AN_EXISTING_USER"] } ] }