Revisão de conteúdo inadequado com o Amazon Augmented AI - Amazon Rekognition

Revisão de conteúdo inadequado com o Amazon Augmented AI

O Amazon Augmented AI (Amazon A2I) permite construir os fluxos de trabalho necessários para a análise humana das previsões de machine learning.

O Amazon Rekognition está diretamente integrado no Amazon A2I para que você possa implementar facilmente a análise humana para o caso de uso na detecção de imagens não seguras. O Amazon A2I fornece um fluxo de trabalho de avaliação humana para moderação de imagens. Isto permite que você revise com facilidade as previsões do Amazon Rekognition. Você pode definir limiares de confiabilidade para seu caso de uso e ajustá-los ao longo do tempo. Com o Amazon A2I, você pode usar um grupo de revisores de sua própria empresa ou do Amazon Mechanical Turk. Você também pode usar fornecedores externos que já foram testados pela AWS em termos de qualidade e observância dos procedimentos de segurança.

As próximas etapas explicam como configurar o Amazon A2I com o Amazon Rekognition. Primeiro, você cria uma definição de fluxo com o Amazon A2I que tem as condições que acionam a revisão humana. Em seguida, você passa a definição de fluxo do Amazon Resource Name (ARN) para a operação DetectModerationLabel do Amazon Rekognition. Na resposta DetectModerationLabel, você pode ver se a revisão humana é necessária. Os resultados da revisão humana estão disponíveis em um bucket do Amazon S3 configurado na definição do fluxo.

Para ver uma demonstração completa de como usar o Amazon A2I com o Amazon Rekognition, consulte um dos seguintes tutoriais no Guia do desenvolvedor do Amazon SageMaker AI.

Como executar DetectModerationLabels com o Amazon A2I
nota

Crie todos os seus recursos do Amazon A2I e do Amazon Rekognition na mesma região da AWS.

  1. Conclua os pré-requisitos listados em Conceitos básicos do Amazon Augmented AI na documentação do SageMaker AI.

    Além disso, lembre-se de configurar suas permissões do IAM conforme descrito na página Permissões e segurança no Amazon Augmented AI na documentação do SageMaker AI.

  2. Siga as instruções para Criar um fluxo de trabalho de revisão humana na documentação do SageMaker AI.

    O fluxo de trabalho de uma revisão humana gerencia o processamento de uma imagem. Ele contém as condições que acionam uma revisão humana, a equipe de trabalho que recebe a imagem, o modelo de interface do usuário usado pela equipe de trabalho e o bucket do Amazon S3 que recebe os resultados da equipe de trabalho.

    Dentro de sua chamada do CreateFlowDefinition, você precisa definir o HumanLoopRequestSource como "AWS/rekognition/detectModerationLabels/image/v3". Depois disso, precisa decidir como deseja configurar suas condições que acionam a revisão humana.

    Com o Amazon Rekognition, você tem duas opções para ConditionType: ModerationLabelConfidenceCheck e Sampling.

    ModerationLabelConfidenceCheck cria um loop humano quando a confiança de um rótulo de moderação está dentro de um intervalo. Por fim, Sampling envia uma porcentagem aleatória dos documentos processados para revisão humana. Cada ConditionType usa um conjunto diferente de ConditionParameters para definir o que resulta em revisão humana.

    ModerationLabelConfidenceCheck tem o ConditionParameters ModerationLableName, que define a chave que precisa ser revisada por humanos. Além disso, ele tem confiança, o que define o intervalo de porcentagem para enviar para revisão humana com LessThan, GreaterThan e Equals. Sampling tem RandomSamplingPercentage, que define uma porcentagem de documentos que serão enviados para revisão humana.

    O exemplo de código a seguir é uma chamada parcial de CreateFlowDefinition. Ele envia uma imagem para revisão humana se tiver classificação inferior a 98% no rótulo "Sugestivo", e mais de 95% no rótulo "Roupa de banho ou roupa interior feminina". Isto significa que se a imagem não é considerada sugestiva, mas tem uma mulher em roupa interior ou roupa de banho, você pode verificar novamente a imagem usando revisão 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 } } ] } ] } )

    O CreateFlowDefinition retorna um FlowDefinitionArn, que é usado na próxima etapa, quando você chama DetectModerationLabels.

    Para obter mais informações, consulte CreateFlowDefinition na Referência de API do SageMaker AI.

  3. Defina o parâmetro HumanLoopConfig ao chamar DetectModerationLabels, como em Detectando imagens inapropriadas. Consulte a etapa 4 para ver exemplos de uma chamada DetectModerationLabels com o HumanLoopConfig definido.

    1. Dentro do parâmetro HumanLoopConfig, defina o FlowDefinitionArn o como o ARN da definição de fluxo que você criou na etapa 2.

    2. Prepare o seu HumanLoopName. Isto deve ser exclusivo dentro de uma Região e estar em minúsculas.

    3. (Opcional) Você pode usar DataAttributes para definir se a imagem que você passou para o Amazon Rekognition nao contém informações pessoais identificáveis. Você deve definir esse parâmetro para enviar informações ao Amazon Mechanical Turk.

  4. Executar DetectModerationLabels.

    Os exemplos a seguir mostram como usar a AWS CLI e AWS SDK para Python (Boto3) para executar o DetectModerationLabels com a configuração HumanLoopConfig.

    AWS SDK para Python (Boto3)

    O exemplo de solicitação a seguir usa o SDK para Python (Boto3). Para obter mais informações, consulte detect_moderation_labels na referência da API 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

    O exemplo de solicitação a seguir usa a AWS CLI. Para obter mais informações, consulte detect-moderation-labels na AWS CLI Command Reference.

    $ 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"]}}'

    Ao executar DetectModerationLabels com a HumanLoopConfig habilitada, o Amazon Rekognition chama a operação da API StartHumanLoop do SageMaker AI. Esse comando obtém a resposta do DetectModerationLabels e verifica as condições da definição de fluxo no exemplo. Se atender às condições de revisão, ele retorna um HumanLoopArn. Isso significa que os membros da equipe de trabalho que você definiu em sua definição de fluxo agora podem revisar a imagem. Chamar a operação de runtime DescribeHumanLoop do Amazon Augmented AI fornece informações sobre o resultado do loop. Para obter mais informações, consulte DescribeHumanLoop na documentação de referência de API do Amazon Augmented AI.

    Depois que a imagem for revisada, você poderá ver os resultados no bucket especificado no caminho de saída da definição de fluxo. O Amazon A2I também notificará você com o Amazon CloudWatch Events quando a análise for concluída. Para ver quais eventos devem ser procurados, consulte Eventos do CloudWatch na documentação do SageMaker AI.

    Para obter mais informações, consulte Conceitos básicos do Amazon Augmented AI na documentação do SageMaker AI.