本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以使用該DetectModerationLabels操作來確定圖像是否包含不適當或令人反感的內容。如需 Amazon Rekognition 中的協調標籤清單,請參閱使用影像和影片協調。APIs
偵測映像中的不適當內容
映像的格式必須是 .jpg 或 .png。您可以用映像位元組陣列 (Base64 編碼映像位元組) 的方式提供輸入映像,或指定 Amazon S3 物件。在這些程序中,您會將映像 (.jpg 或 .png) 上傳至 S3 儲存貯體。
若要執行這些程序,您必須 AWS SDK安裝適當的 AWS CLI 或。如需詳細資訊,請參閱Amazon Rekognition 入門。您使用的AWS帳戶必須具有 Amazon Reko API gnition 的存取權限。如需詳細資訊,請參閱 Amazon Rekognition 定義的動作。
偵測影像中的協調標籤 () SDK
如果您尚未執行:
建立或更新具有
AmazonRekognitionFullAccess
和AmazonS3ReadOnlyAccess
權限的使用者。如需詳細資訊,請參閱步驟 1:設定AWS帳戶並建立使用者。安裝並設定 AWS CLI 和 AWS SDKs. 如需詳細資訊,請參閱步驟 2:設定 AWS CLI 以及 AWS SDKs。
-
將映像上傳至您的 S3 儲存貯體。
如需指示說明,請參閱《Amazon Simple Storage Service 使用者指南》中的上傳物件至 Amazon S3。
使用下列範例來呼叫
DetectModerationLabels
操作。此範例輸出偵測到的不適當內容標籤名稱、信心度以及偵測到的管制標籤的父標籤。
將
bucket
與photo
的值取代為您在步驟 2 中所使用的 S3 儲存貯體名稱與映像檔案名稱。//Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. //PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.) package aws.example.rekognition.image; import com.amazonaws.services.rekognition.AmazonRekognition; import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder; import com.amazonaws.services.rekognition.model.AmazonRekognitionException; import com.amazonaws.services.rekognition.model.DetectModerationLabelsRequest; import com.amazonaws.services.rekognition.model.DetectModerationLabelsResult; import com.amazonaws.services.rekognition.model.Image; import com.amazonaws.services.rekognition.model.ModerationLabel; import com.amazonaws.services.rekognition.model.S3Object; import java.util.List; public class DetectModerationLabels { public static void main(String[] args) throws Exception { String photo = "input.jpg"; String bucket = "bucket"; AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient(); DetectModerationLabelsRequest request = new DetectModerationLabelsRequest() .withImage(new Image().withS3Object(new S3Object().withName(photo).withBucket(bucket))) .withMinConfidence(60F); try { DetectModerationLabelsResult result = rekognitionClient.detectModerationLabels(request); List<ModerationLabel> labels = result.getModerationLabels(); System.out.println("Detected labels for " + photo); for (ModerationLabel label : labels) { System.out.println("Label: " + label.getName() + "\n Confidence: " + label.getConfidence().toString() + "%" + "\n Parent:" + label.getParentName()); } } catch (AmazonRekognitionException e) { e.printStackTrace(); } } }
DetectModerationLabels 操作請求
DetectModerationLabels
的輸入是映像。在此範例JSON輸入中,來源映像檔是從 Amazon S3 儲存貯體載入。 MinConfidence
是 Amazon Rekognition 影像必須具備偵測到的標籤準確度,才能在回應中傳回的最低可信度。
{
"Image": {
"S3Object": {
"Bucket": "bucket",
"Name": "input.jpg"
}
},
"MinConfidence": 60
}
DetectModerationLabels 作業回應
DetectModerationLabels
可從 S3 儲存貯體擷取輸入映像,您也可以用映像位元組的方式提供輸入映像。下列範例是來自 DetectModerationLabels
呼叫的回應。
在下列範例JSON回應中,請注意下列事項:
-
不適當的映像偵測資訊:此範例會顯示映像中發現不當或冒犯性內容的標籤清單。此清單包含最上層標籤與映像中偵測到的每個第二層標籤。
標籤:每個標籤都具有名稱、Amazon Rekognition 對標籤正確性估計的可信度,以及其父標籤的名稱。最上層標籤的父名稱為
""
。標籤可信度:每個標籤都有一個介於 0 到 100 之間的可信度值,該值表示 Amazon Rekognition 对標籤正確性估计的可信度百分比。您可以指定要在API作業要求回應中傳回之標籤所需的信賴等級。
{
"ModerationLabels": [
{
"Confidence": 99.44782257080078,
"Name": "Smoking",
"ParentName": "Drugs & Tobacco Paraphernalia & Use",
"TaxonomyLevel": 3
},
{
"Confidence": 99.44782257080078,
"Name": "Drugs & Tobacco Paraphernalia & Use",
"ParentName": "Drugs & Tobacco",
"TaxonomyLevel": 2
},
{
"Confidence": 99.44782257080078,
"Name": "Drugs & Tobacco",
"ParentName": "",
"TaxonomyLevel": 1
}
],
"ModerationModelVersion": "7.0",
"ContentTypes": [
{
"Confidence": 99.9999008178711,
"Name": "Illustrated"
}
]
}