使用 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 預先篩選的人力廠商,以確保品質並嚴守安全程序。

以下步驟將引導您完成如何使用亞馬遜 Rekognition 設置亞馬遜 A2I。首先,使用 Amazon A2I 建立流程定義,該流程定義具有觸發人工檢閱的條件。然後,您將流程定義的亞馬遜資源名稱 (ARN) 傳遞給 Amazon Reko DetectModerationLabel gnition 操作。在 DetectModerationLabel 回應中,您可以查看是否需要人工檢閱。人工審查的結果可在由流程定義設定的 Amazon S3 儲存貯體中取得。

若要檢視如何將 Amazon A2I 與 Amazon Rekognition 搭配使用的 end-to-end 示範,請參閱亞馬遜開發人員指南中的下列其中一個教學課程。 SageMaker

DetectModerationLabels 與亞馬遜 A2I 一起運行
注意

在同一個 AWS 區域中建立所有的 Amazon A2I 資源和亞馬遜重新認知資源。

  1. 完成說明文件中 Amazon Augmented AI 入門中列出的先決條SageMaker 件

    此外,請記得設定 IAM 許可,如同SageMaker 說明文件中的 Amazon Augmented AI 頁面中的許可和安全性

  2. 遵循SageMaker文件中關於建立人工審核工作流程的指示。

    人工檢閱工作流程可管理影像的處理。它包含觸發人工審核的條件、將映像傳送至的工作團隊、工作團隊使用的 UI 範本,以及工作團隊結果傳送至的 Amazon S3 儲存貯體。

    在您的CreateFlowDefinition通話中,您需要將設置為「AWS Rekognition///圖像/DetectModerationLabelsV3」。HumanLoopRequestSource之後,你需要決定如何設定會觸發人工檢閱的條件。

    使用 Amazon Rekognition,您有兩種選擇ConditionTypeModerationLabelConfidenceCheck和. Sampling

    ModerationLabelConfidenceCheck 會在仲裁標籤的可信度位於某範圍內時,建立人類迴圈。最後,Sampling 會傳送隨機百分比的處理文件進行人工檢閱。每個 ConditionType 均使用不同的 ConditionParameters 集合來設定人工檢閱的結果。

    ModerationLabelConfidenceCheckConditionParameters ModerationLableName,其中設定了需要人工檢閱的金鑰。此外,它還具有信心,可以設置使用,和 Equals 發送給人工審查的 LessThan百分比範圍。 GreaterThan SamplingRandomSamplingPercentage其中設置了將發送給人工審查的文檔的百分比。

    下列程式碼範例是 CreateFlowDefinition 的部分呼叫。如果在「暗示性」標籤上的評分低於 98%,並在「女性泳衣或內衣褲」標籤上超過 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 } } ] } ] } )

    CreateFlowDefinition 會傳回 FlowDefinitionArn,您會在下一個步驟中呼叫 DetectModerationLabels 時使用。

    如需詳細資訊,請CreateFlowDefinition參閱 SageMaker API 參考中的。

  3. 呼叫 DetectModerationLabels 時設定 HumanLoopConfig 參數,如同 偵測不適當的映像 中所示。有關具有 HumanLoopConfig set DetectModerationLabels 呼叫的示例,請參閱步驟 4。

    1. HumanLoopConfig 參數內,將 FlowDefinitionArn 設定為您在步驟 2 中所建立流量定義的 ARN。

    2. 設定您的 HumanLoopName。這應該是區域中唯一的,且必須是小寫的。

    3. (選擇性) 您可以用DataAttributes來設定傳遞給 Amazon Rekognition 的映像是否沒有任何可識別個人身分的資訊。您必須設置此參數才能將信息發送到 Amazon Mechanical Turk。

  4. 執行 DetectModerationLabels

    下列範例說明如何使用AWS CLI和AWS SDK for Python (Boto3)來執DetectModerationLabelsHumanLoopConfig set。

    AWS SDK for Python (Boto3)

    下列要求範例使用 SDK for Python (Boto3)。有關詳細信息,請參閱檢測-審查標籤AWS用於 Python 的軟件開發工具包(博託)API 參考

    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 SageMaker 啟用DetectModerationLabels的情況下執行時,Amazon Rekognition 會呼叫 API 作業。StartHumanLoop此命令會從 DetectModerationLabels 中取得回應,並根據範例中的流量定義條件來檢查它。如果它符合檢閱的條件,則會傳回 HumanLoopArn。這表示您在流程定義中設定的工作小組成員現在可以檢閱映像。呼叫 Amazon Augmented AI 執行時間操作 DescribeHumanLoop 會提供迴圈結果的相關資訊。如需詳細資訊,請參閱 Amazon Augmented AI API 參考文件 DescribeHumanLoop中的。

    檢閱影像之後,您可以在流程定義輸出路徑中指定的儲存貯體中查看結果。亞馬遜 A2I 還會在審查完成後通知您亞馬遜 CloudWatch 活動。若要查看要尋找的事件,請參閱文件中的CloudWatch 事SageMaker

    如需詳細資訊,請參SageMaker文件中的 Amazon Augmented AI 入門