影像分類 (單一標籤) - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

影像分類 (單一標籤)

當您需要工作人員使用您指定的預先定義標籤對影像進行分類時,請使用 Amazon SageMaker Ground Truth 圖像分類標籤任務。系統會向工作者顯示影像,並要求工作者為各個影像逐一選擇標籤。

您可以使用 Amazon SageMaker 主控台的「Ground Truth」區段或CreateLabelingJob作業建立影像分類標籤任務。

重要

對於此任務類型,如果您建立自己的資訊清單檔案,請使用 "source-ref" 來識別您要在 Amazon S3 中標記的每個影像檔案位置。如需詳細資訊,請參閱 輸入資料

建立影像分類標記任務 (主控台)

您可以按照指示建立標記任務 (主控台)了解如何在 SageMaker 主控台中建立影像分類標籤工作。在步驟 10 中,從任務類別下拉式清單中選擇影像,然後選擇影像分類 (單一標籤)做為任務類型。

Ground Truth 提供類似下列標記任務的工作者 UI。使用主控台建立標記任務時,您可以指定指示以協助工作者完成任務,以及工作者可以選擇的標籤。

Colorful bird perched on a branch, with blue, green, and yellow feathers. (AI generated)

建立影像分類標記任務 (API)

若要建立影像分類標籤工作,請使用 SageMaker API 作業CreateLabelingJob。此 API 為所有 AWS SDK 定義此操作。若要查看這項操作支援的特定語言 SDK 清單,請參閱 CreateLabelingJob〈另請參閱〉一節。

設定請求時,請遵循建立標記任務 (API) 上的指示並執行下列動作:

  • 此任務類型的預先標註 Lambda 函數會以 PRE-ImageMultiClass 結尾。若要尋找您所在區域的預先註解 Lambda ARN,請參閱。PreHumanTaskLambdaArn

  • 此任務類型的註釋合併 Lambda 函數會以 ACS-ImageMultiClass 結尾。若要尋找適用於您區域的註解整合 Lambda ARN,請參閱。AnnotationConsolidationLambdaArn

下列是用 AWS Python 開發套件 (Boto3) 請求,在美國東部 (維吉尼亞北部) 區域建立標記任務的範例。所有以紅色標示的參數都應該用您的規格和資源加以取代。

response = client.create_labeling_job( LabelingJobName='example-image-classification-labeling-job', LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*', 'UiConfig': { 'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass, 'TaskKeywords': [ Image classification', ], 'TaskTitle': Image classification task', 'TaskDescription': 'Carefully inspect the image and classify it by selecting one label from the categories provided.', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

提供影像分類標記任務的範本

如果您使用 API 來建立標記任務,則必須在 UiTemplateS3Uri 中提供工作者任務範本。複製並修改下列範本。僅修改 short-instructionsfull-instructionsheader

將此範本上傳至 S3,並在 UiTemplateS3Uri 中提供此檔案的 S3 URI。

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-image-classifier name="crowd-image-classifier" src="{{ task.input.taskObject | grant_read_access }}" header="please classify" categories="{{ task.input.labels | to_json | escape }}" > <full-instructions header="Image classification instructions"> <ol><li><strong>Read</strong> the task carefully and inspect the image.</li> <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li> <li><strong>Choose</strong> the appropriate label that best suits the image.</li></ol> </full-instructions> <short-instructions> <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3> <p>Enter description to explain the correct label to the workers</p> <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3><p>Enter description of an incorrect label</p> </short-instructions> </crowd-image-classifier> </crowd-form>

影像分類輸出資料

建立影像分類標記任務後,您的輸出資料會位於使用 API 時在 S3OutputPath 參數中指定的 Amazon S3 儲存貯體中,或在主控台標記任務區段的輸出資料集位置中。

若要進一步了解 Ground Truth 產生的輸出資訊清單檔案,以及 Ground Truth 用來儲存輸出資料的檔案結構,請參閱 輸出資料

若要檢視影像分類標記任務的輸出資訊清單檔案範例,請參閱 分類任務輸出