Revisión de contenido inapropiado con Amazon Augmented AI - 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.

Revisión de contenido inapropiado con Amazon Augmented AI

Amazon Augmented AI (Amazon A2I) le permite crear los flujos de trabajo necesarios para la revisión humana de las predicciones de machine learning.

Amazon Rekognition está integrado directamente con Amazon A2I para que pueda implementar fácilmente la revisión humana para el caso de detección de imágenes no seguras. Amazon A2I proporciona un flujo de trabajo de revisión humana para la moderación de imágenes. Esto le permite revisar fácilmente las predicciones de Amazon Rekognition. Puede definir umbrales de confianza para su caso de uso y ajustarlos a lo largo del tiempo. Con Amazon A2I, puede utilizar un grupo de revisores dentro de su propia organización o Amazon Mechanical Turk. Además puede usar proveedores de mano de obra preseleccionados por AWS en función de su calidad y su cumplimiento de los procedimientos de seguridad.

En los siguientes pasos se explica cómo configurar Amazon A2I con Amazon Rekognition. En primer lugar, cree una definición de flujo con Amazon A2I que tenga las condiciones que desencadenan la revisión humana. A continuación, pase el nombre de recurso de Amazon (ARN) de la definición de flujo a la operación DetectModerationLabel de Amazon Rekognition. En la respuesta DetectModerationLabel, puede ver si se requiere revisión humana. Los resultados de la revisión humana están disponibles en un bucket de Amazon S3 establecido por la definición de flujo.

Para ver una demostración integral de cómo utilizar Amazon A2I con Amazon Rekognition, consulte uno de los siguientes tutoriales de la Guía para desarrolladores de Amazon SageMaker.

Ejecución de DetectModerationLabels con Amazon A2I
nota

Cree todos sus recursos de Amazon Rekognition y de Amazon A2I en la misma región de AWS.

  1. Complete los requisitos previos que se enumeran en la sección Introducción a la inteligencia artificial aumentada de Amazon de la documentación de SageMaker.

    No olvide configurar sus permisos de IAM como en la página Permisos y seguridad de Amazon Augmented AI de la documentación de SageMaker.

  2. Siga las instrucciones que se indican en la sección Crear un flujo de trabajo de revisión humana de la Documentación de SageMaker.

    Un flujo de trabajo de revisión humana gestiona el procesamiento de una imagen. Contiene las condiciones que desencadenan una revisión humana, el equipo de trabajo al que se envía la imagen, la plantilla de interfaz de usuario que utiliza el equipo de trabajo y el bucket de Amazon S3 al que se envían los resultados del equipo de trabajo.

    Dentro de su llamada CreateFlowDefinition, debe establecer el HumanLoopRequestSource en «AWS/Rekognition/DetectModerationLabels/Image/v3". Después de eso, debe decidir cómo desea configurar sus condiciones que desencadenan una revisión humana.

    Con Amazon Rekognition tiene dos opciones para ConditionType: ModerationLabelConfidenceCheck y Sampling.

    ModerationLabelConfidenceCheck crea un bucle humano cuando la confianza de una etiqueta de moderación se encuentra dentro de un rango. Por último, Sampling envía un porcentaje aleatorio de los documentos procesados para revisión humana. Cada ConditionType utiliza un conjunto diferente de ConditionParameters para establecer los resultados de la revisión humana.

    ModerationLabelConfidenceCheck tiene el ConditionParameters ModerationLableName, que establece la clave que requiere revisión humana. Además, tiene confianza, que establece el rango porcentual para enviar a revisión humana con LessThan, GreaterThan y Equals. Sampling tiene RandomSamplingPercentage, que establece un porcentaje de los documentos que se enviarán a revisión humana.

    El ejemplo de código siguiente es una llamada parcial de CreateFlowDefinition. Envía una imagen para revisión humana si tiene una calificación inferior al 98% en la etiqueta «Sugerente», y más del 95% en la etiqueta «Trajes de baño o ropa interior femenina». Esto significa que si la imagen no se considera sugerente pero sí tiene una mujer en ropa interior o en traje de baño, puede volver a comprobar la imagen mediante la revisión humana.

    def create_flow_definition(): ''' Creates a Flow Definition resource Returns: struct: FlowDefinitionArn ''' humanLoopActivationConditions = json.dumps( { "Conditions": [ { "And": [ { "ConditionType": "ModerationLabelConfidenceCheck", "ConditionParameters": { "ModerationLabelName": "Suggestive", "ConfidenceLessThan": 98 } }, { "ConditionType": "ModerationLabelConfidenceCheck", "ConditionParameters": { "ModerationLabelName": "Female Swimwear Or Underwear", "ConfidenceGreaterThan": 95 } } ] } ] } )

    CreateFlowDefinition devuelve un FlowDefinitionArn, que utilizará en el siguiente paso cuando llame a DetectModerationLabels.

    Para obtener más información, consulte CreateFlowDefinition en la Referencia de la API de SageMaker.

  3. Establezca el parámetro HumanLoopConfig cuando llame a DetectModerationLabels, como en Detección de imágenes inapropiadas. Consulte el paso 4 para ver ejemplos de una llamada de DetectModerationLabels con HumanLoopConfig establecido.

    1. Dentro del parámetro HumanLoopConfig, establezca el FlowDefinitionArn en el ARN de la definición de flujo que creó en el paso 2.

    2. Establezca su HumanLoopName. Este debe ser único dentro de cada región y debe estar en minúsculas.

    3. (Opcional) Puede usar DataAttributes para establecer si la imagen que pasó a Amazon Rekognition está libre de información de identificación personal o no. Debe establecer este parámetro para poder enviar información a Amazon Mechanical Turk.

  4. Ejecute DetectModerationLabels.

    Los siguientes ejemplos muestran cómo usar AWS CLI y AWS SDK for Python (Boto3) para ejecutar DetectModerationLabels con HumanLoopConfig establecido:

    AWS SDK for Python (Boto3)

    En los siguientes ejemplos de solicitud, se utiliza el SDK para Python (Boto3). Para obtener más información, consulte detect_moderation_labels en la documentación de referencia de la API de AWS SDK para Python (Boto).

    import boto3 rekognition = boto3.client("rekognition", aws-region) response = rekognition.detect_moderation_labels( \ Image={'S3Object': {'Bucket': bucket_name, 'Name': image_name}}, \ HumanLoopConfig={ \ 'HumanLoopName': 'human_loop_name', \ 'FlowDefinitionArn': , "arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name" \ 'DataAttributes': {'ContentClassifiers': ['FreeOfPersonallyIdentifiableInformation','FreeOfAdultContent']} })
    AWS CLI

    En el siguiente ejemplo de solicitud se utiliza la CLI de AWS. Para obtener más información, consulte detect-moderation-labels en la Referencia de comandos de la AWS CLI.

    $ aws rekognition detect-moderation-labels \ --image "S3Object={Bucket='bucket_name',Name='image_name'}" \ --human-loop-config HumanLoopName="human_loop_name",FlowDefinitionArn="arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name",DataAttributes='{ContentClassifiers=["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}'
    $ aws rekognition detect-moderation-labels \ --image "S3Object={Bucket='bucket_name',Name='image_name'}" \ --human-loop-config \ '{"HumanLoopName": "human_loop_name", "FlowDefinitionArn": "arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name", "DataAttributes": {"ContentClassifiers": ["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}}'

    Cuando se ejecuta DetectModerationLabels con la opción activada HumanLoopConfig, Amazon Rekognition llama a la operación de la API SageMaker StartHumanLoop. Este comando toma la respuesta de DetectModerationLabels y la compara con las condiciones de definición de flujo del ejemplo. Si cumple con las condiciones de revisión, devuelve un HumanLoopArn. Esto significa que los miembros del equipo de trabajo que configuró en su definición de flujo ahora pueden revisar la imagen. Llamar a la operación de tiempo de ejecución de la inteligencia artificial aumentada de Amazon DescribeHumanLoop proporciona información sobre el resultado del bucle. Para obtener más información, consulte DescribeHumanLoop en la documentación de referencia de API de la inteligencia artificial aumentada de Amazon.

    Después de revisar la imagen, puede ver los resultados en el bucket especificado en la ruta de salida de la definición de flujo. Amazon A2I también le notificará mediante Eventos de Amazon CloudWatch cuando se complete la revisión. Para ver qué eventos buscar, consulte Eventos de CloudWatch en la Documentación de SageMaker.

    Para obtener más información, consulte Introducción a Amazon Augmented AI en la documentación de SageMaker.