Amazon Augmented AI による不適切なコンテンツの確認 - Amazon Rekognition

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Augmented AI による不適切なコンテンツの確認

Amazon Augmented AI (Amazon A2I) を使用すると、人による機械学習予測のレビューに必要なワークフローを作成できます。

Amazon Rekognition は Amazon A2I と直接統合されているため、安全でないイメージを検出するユースケースで、人によるレビューを容易に実装できます。Amazon A2I は、イメージモデレーションのための人によるレビューワークフローを提供します。これにより、Amazon Rekognition からの予測を容易にレビューできます。ユースケースの信頼しきい値を定義し、時間の経過とともに調整できます。Amazon A2I では、自社組織または Amazon Mechanical Turk 内のレビューアーのプールを使用できます。また、 によって事前審査されたワークフォースベンダーを使用して、セキュリティ手順の品質と準拠AWS性を確保することもできます。

次のステップでは、Amazon Rekognition で Amazon A2I を 設定する方法について説明します。まず、Amazon A2I で人によるレビューをトリガーする条件を含むフロー定義を作成します。次に、フロー定義の Amazon リソースネーム (ARN) を Amazon Rekognition DetectModerationLabelオペレーションに渡します。DetectModerationLabel のレスポンスでは、人によるレビューが必要かどうかを確認できます。人によるレビューの結果は、フロー定義によって設定された Amazon S3 バケットで利用できます。

Amazon Rekognition で Amazon A2I を使用する方法のデモンストレーションについては end-to-end、「Amazon SageMaker AI デベロッパーガイド」の以下のチュートリアルのいずれかを参照してください。 Amazon Rekognition

Amazon A2I DetectModerationLabels での実行
注記

すべての Amazon A2I リソースと Amazon Rekognition リソースを同じAWSリージョンに作成します。

  1. SageMaker AI ドキュメント「Amazon Augmented AI の開始方法」に記載されている前提条件を完了します。

    さらに、SageMaker 「AI ドキュメント」の「Amazon Augmented AI のIAMアクセス許可とセキュリティ」ページにあるようにアクセス許可を設定することを忘れないでください。 https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-permissions-security.html

  2. SageMaker AI ドキュメント「人間によるレビューワークフローの作成」の手順に従います。

    人によるレビューワークフローでは、イメージの処理を管理します。これには、人によるレビュー、イメージの送信先となる作業チーム、作業チームが使用する UI テンプレート、および作業チームの結果が送信される Amazon S3 バケットをトリガーする条件が含まれます。

    CreateFlowDefinition 呼び出し内で、 HumanLoopRequestSourceをAWS/Rekognition/DetectModerationLabels/Image/V「3」に設定する必要があります。その後、人によるレビューをトリガーする条件をどのように設定するかを決定する必要があります。

    Amazon Rekognition では ConditionType 用に、ModerationLabelConfidenceCheck および Sampling の 2 つのオプションがあります。

    ModerationLabelConfidenceCheck は、モデレーションラベルの信頼度が一定範囲内にある場合にヒューマンループを作成します。最後に、Sampling は処理されたドキュメントをランダムな割合で収集し、人によるレビューに送信します。各 ConditionType はそれぞれ異なる ConditionParameters のセットを使用して、人によるレビューに含める結果を設定します。

    ModerationLabelConfidenceCheck には、ConditionParameters ModerationLableName があり、人によるレビューが必要なキーを設定します。さらに、信頼度があり、ヒューマンレビューへの送信のパーセンテージ範囲、 および Equals を設定します。 Samplingには LessThan GreaterThan、ヒューマンレビューに送信されるドキュメントの割合RandomSamplingPercentageを設定します。

    次のコード例は、CreateFlowDefinition の部分的な呼び出しです。ラベル「Suggestive」の評価が 98 %未満の場合、およびラベル「Female Swimwear or Underwear」の評価が 95%を超える場合は、人によるレビューにイメージが送信されます。つまり、下着や水着を着用した女性が写っているにもかかわらず、イメージが暗示的であるとは見なされない場合は、人によるレビューを使用してイメージを再確認することができます。

    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 } } ] } ] } )

    CreateFlowDefinitionFlowDefinitionArn を返します。これは、次のステップで DetectModerationLabels を呼び出したときに使用します。

    詳細については、 SageMaker AI APIリファレンスCreateFlowDefinitionの「」を参照してください。

  3. 不適切なイメージの検出」で説明されているように、DetectModerationLabels を呼び出すときに HumanLoopConfig パラメータを設定します。DetectModerationLabels 設定での HumanLoopConfig 呼び出しの例については、ステップ 4 を参照してください。

    1. HumanLoopConfig パラメータ内で、 FlowDefinitionArnをステップ 2 で作成したフロー定義ARNの に設定します。

    2. HumanLoopName を設定します。これは、リージョン内で一意で、小文字である必要があります。

    3. (オプション) DataAttributes を使用して、Amazon Rekognition に渡されたイメージに個人を特定できる情報がないかどうかを設定できます。情報を Amazon Mechanical Turk に送信するには、このパラメータを設定する必要があります。

  4. DetectModerationLabels を実行します。

    次の例は、 AWS CLI と を使用して HumanLoopConfigセットDetectModerationLabelsで AWS SDK for Python (Boto3) を実行する方法を示しています。

    AWS SDK for Python (Boto3)

    次のリクエスト例では、 SDK for Python (Boto3) を使用しています。詳細については、 AWS SDK for Python (Boto) APIリファレンス「detect_moderation_labels」を参照してください。

    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

    次のリクエスト例では、 AWS CLI を使用しています。詳細については、AWS CLI コマンドリファレンスdetect-moderation-labels を参照してください。

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

    HumanLoopConfig を有効にDetectModerationLabelsして を実行すると、Amazon Rekognition は SageMaker AI APIオペレーション を呼び出しますStartHumanLoop。このコマンドは、DetectModerationLabels から応答を受け取り、例のフロー定義の条件と照合して確認します。レビューの条件を満たしている場合は、HumanLoopArn を返します。これは、フロー定義で設定した作業チームのメンバーが今イメージを確認できることを意味します。Amazon Augmented AI ランタイムオペレーション DescribeHumanLoop を呼び出すと、ループの結果に関する情報が表示されます。詳細については、Amazon Augmented AI APIリファレンスドキュメント DescribeHumanLoopの「」を参照してください。

    イメージのレビューが完了すると、フロー定義の出力パスで指定されているバケットで結果を確認できます。Amazon A2I は、レビューが完了すると Amazon CloudWatch Events にも通知します。検索するイベントを確認するには、SageMaker AI ドキュメントCloudWatch 「イベント」を参照してください。

    詳細については、AI ドキュメントの「Amazon Augmented AI の開始方法」を参照してください。 SageMaker