本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon 增強版 AI (Amazon A2I) 可讓您建立人工檢閱機器學習預測所需的工作流程。
Amazon Rekognition 直接與 Amazon A2I 整合,因此您可以輕鬆對偵測不安全影像的使用案例實作人工檢閱。Amazon A2I 提供對於影像仲裁的人工檢閱工作流程。這可讓您輕鬆檢閱 Amazon Rekognition 的預測。您可以定義使用案例的信賴度閾值,並隨著時間調整它們。透過 Amazon A2I,您可以使用自有機構或 Amazon Mechanical Turk 內的檢閱者池。您也可以使用 AWS 預先篩選的人力廠商,以確保品質並嚴守安全程序。
下列步驟會引導您使用 Amazon Rekognition 來設定 Amazon A2I。首先,使用 Amazon A2I 建立流程定義,該流程定義具有觸發人工檢閱的條件。然後,將流程定義的 Amazon Resource Name (ARN) 傳遞給 Amazon Rekognition DetectModerationLabel
进行操作。在 DetectModerationLabel
回應中,您可以查看是否需要人工檢閱。人工檢閱的結果可以在流程定義所設定的 S3 儲存貯體中取得。
若要檢視如何搭配 Amazon Rekognition 使用 Amazon A2I 的end-to-end示範,請參閱《Amazon SageMaker AI 開發人員指南》中的下列其中一個教學課程。
-
若要開始使用 API,您也可以執行範例 Jupyter 筆記本。請參閱搭配 Amazon A2I Jupyter 筆記本使用 SageMaker 筆記本執行個體,以在 SageMaker AI 筆記本執行個體中使用筆記本 Amazon 增強型 AI (Amazon A2I) 與 Amazon Rekognition 的整合 【範例】
。
使用 Amazon A2I 執行 DetectModerationLabels
注意
在相同 AWS 區域中建立所有 Amazon A2I 資源和 Amazon Rekognition 資源。
-
完成 SageMaker AI 文件中 Amazon 增強型 AI 入門中列出的先決條件。
此外,請記得如 SageMaker AI 文件中 Amazon 增強版 AI 的許可和安全性頁面所示設定您的 IAM 許可。
-
請遵循 SageMaker AI 文件中建立人工審核工作流程的說明。
人工檢閱工作流程可管理映像的處理。該流程包含觸發人工檢閱的條件、影像傳送目標的工作團隊、工作團隊使用的 UI 範本,以及工作團隊結果傳送目標的 Amazon S3 儲存貯體。
在您的
CreateFlowDefinition
呼叫中,您需要將HumanLoopRequestSource
設定為 "AWS/Rekognition/DetectModerationLabels/Image/V3"。之後,您需要決定如何設定會觸發人工檢閱的條件。使用 Amazon Rekognition,您有兩種選擇
ConditionType
:ModerationLabelConfidenceCheck
和Sampling
。ModerationLabelConfidenceCheck
會在仲裁標籤的可信度位於某範圍內時,建立人類迴圈。最後,Sampling
會傳送隨機百分比的處理文件進行人工檢閱。每個ConditionType
均使用不同的ConditionParameters
集合來設定人工檢閱的結果。ModerationLabelConfidenceCheck
有ConditionParameters
ModerationLableName
,其中設定了需要人工檢閱的金鑰。此外,它具有可信度,會設定傳送進行人工檢閱的百分比範圍,包括「小於」、「大於」和「等於」。Sampling
已設定RandomSamplingPercentage
的百分比文件將傳送進行人工檢閱。下列程式碼範例是
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
時使用。如需詳細資訊,請參閱 SageMaker AI API 參考中的 CreateFlowDefinition。
-
呼叫
DetectModerationLabels
時設定HumanLoopConfig
參數,如同 偵測不適當的映像 中所示。有關具有HumanLoopConfig
設定DetectModerationLabels
呼叫的範例,請參閱步驟 4。-
在
HumanLoopConfig
參數內,將FlowDefinitionArn
設定為您在步驟 2 中所建立流量定義的 ARN。 -
設定您的
HumanLoopName
。這應該是區域中唯一的,且必須是小寫的。 -
(選用) 您可以使用
DataAttributes
來設定傳遞至 Amazon Rekognition 的印像是否沒有個人可識別資訊。您必須設定此參數才能將資訊傳送至 Amazon Mechanical Turk。
-
-
執行
DetectModerationLabels
。下列範例示範如何使用 AWS CLI 和 適用於 Python (Boto3) 的 AWS SDK 以
DetectModerationLabels
HumanLoopConfig
集合執行 。以下請求範例使用適用於 Python 的軟體開發套件 (Boto3)。如需詳細資訊,請參閱位在適用於 Python 的AWS SDK (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']} })
當您
DetectModerationLabels
在HumanLoopConfig
啟用 的情況下執行 時,Amazon Rekognition 會呼叫 SageMaker AI API 操作StartHumanLoop
。此命令會從DetectModerationLabels
中取得回應,並根據範例中的流量定義條件來檢查它。如果它符合檢閱的條件,則會傳回HumanLoopArn
。這表示您在流程定義中設定的工作團隊成員現在可以檢閱映像。呼叫 Amazon Augmented AI 執行時間操作DescribeHumanLoop
會提供迴圈結果的相關資訊。如需詳細資訊,請參閱《Amazon 增強版 AI API 參考》文件中的 DescribeHumanLoop。檢閱影像之後,您可以在流程定義輸出路徑中指定的儲存貯體中查看結果。當檢閱完成時,Amazon A2I 也會通知您有關 Amazon CloudWatch Events。若要查看要尋找的事件,請參閱 SageMaker AI 文件中的 CloudWatch Events。
如需詳細資訊,請參閱 SageMaker AI 文件中的 Amazon 增強型 AI 入門。