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 により品質、セキュリティ手順の順守について、AWS によりあらかじめスクリーニングされた労働力ベンダーを使用することもできます。

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

Amazon Rekognition で Amazon A2I を使用する方法のエンドツーエンドのデモを表示するには、 Amazon SageMaker デベロッパー ガイド で、以下のチュートリアルのいずれかを参照してください。。

Amazon A2I での DetectModerationLabels の実行
注記

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

  1. SageMaker ドキュメント で、Amazon Augmented AI でスタート に記載されている前提条件を完了します。

    さらに、SageMaker ドキュメント で、Amazon Augmented AI におけるアクセス許可とセキュリティ のページのように IAM 許可を設定することを忘れないでください。

  2. SageMaker ドキュメントヒューマンレビュー ワークフローの作成 の手順に従います。

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

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

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

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

    ModerationLabelConfidenceCheck には、ConditionParameters ModerationLableName があり、人によるレビューが必要なキーを設定します。また、信頼度があり、LessThan、GreaterThan、Equals を使用して、人によるレビューに送信される対象となるパーセンテージの範囲を設定します。Sampling には、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 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 設定で AWS SDK for Python (Boto3) を実行するために、DetectModerationLabels および HumanLoopConfig の使用方法を示します。

    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 を使用しています。詳細については、https://docs.aws.amazon.com/cli/latest/reference/rekognition/detect-moderation-labels.htmlコマンド リファレンス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"]}}'

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

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

    詳細については、SageMaker ドキュメント において Amazon Augmented AI で スタート を参照してください。