本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用語意分割識別影像內容
若要在像素層級識別影像的內容,請使用 Amazon SageMaker Ground Truth 語意分割標籤任務。指派語意分割標籤工作時,工作者會將影像中的像素分類為一組預先定義的標籤或類別。Ground Truth 支援單一類別和多類別語意分割標籤工作。您可以使用 Amazon SageMaker 主控台的 Ground Truth 區段或 CreateLabelingJob
操作建立語意分割標籤任務。
如果影像包含需要分割的大量物件,則會需要更多時間。為協助工作者 (來自私有或廠商人力資源) 縮短標籤這些物件的時間並提高準確性,Ground Truth 提供了 AI 輔助的自動分割工具。如需相關資訊,請參閱 自動分割工具。
重要
對於此任務類型,如果您建立自己的資訊清單檔案,請使用 "source-ref"
來識別您要在 Amazon S3 中標籤的每個影像檔案位置。如需詳細資訊,請參閱輸入資料。
建立語意分割標籤工作 (主控台)
您可以遵循指示建立標記任務 (主控台),了解如何在 SageMaker 主控台中建立語意分割標籤任務。在步驟 10 中,從任務類別下拉式清單中選擇影像,然後選擇語意分割作為任務類型。
Ground Truth 提供類似下列標籤任務的工作者使用者介面。使用主控台建立標籤工作時,您可以指定指示以協助工作者完成工作,以及工作者可以選擇的標籤。
建立語意分割標籤任務 (API)
若要建立語意分割標籤任務,請使用 SageMaker API操作 CreateLabelingJob
。這會為所有 API定義此操作 AWS SDKs。若要查看此操作SDKs支援的特定語言清單,請檢閱 的另請參閱 一節CreateLabelingJob
。
設定請求時,請遵循建立標記任務 (API)上的指示並執行下列動作:
-
此任務類型的註釋前 Lambda 函式會以
PRE-SemanticSegmentation
結尾。若要尋找ARN您 區域的預先註釋 Lambda,請參閱 PreHumanTaskLambdaArn 。 -
此任務類型的註釋合併 Lambda 函式會以
ACS-SemanticSegmentation
結尾。若要尋找ARN您 區域的註釋合併 Lambda,請參閱 AnnotationConsolidationLambdaArn。
以下是在美國東部 AWS SDK(維吉尼亞北部) 區域中建立標籤工作的 Python (Boto3) 請求
response = client.create_labeling_job( LabelingJobName=
'example-semantic-segmentation-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-SemanticSegmentation, 'TaskKeywords': ['Semantic Segmentation'
, ], 'TaskTitle':'Semantic segmentation task'
, 'TaskDescription':'For each category provided, segment out each relevant object using the color associated with that category'
, 'NumberOfHumanWorkersPerDataObject':123
, 'TaskTimeLimitInSeconds':123
, 'TaskAvailabilityLifetimeInSeconds':123
, 'MaxConcurrentTaskCount':123
, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414
:function:ACS-SemanticSegmentation' }, Tags=[ { 'Key':'string'
, 'Value':'string'
}, ] )
提供語意分割標籤工作的範本。
如果您使用 建立標籤工作API,則必須在 中提供工作者任務範本UiTemplateS3Uri
。複製並修改下列範本。僅修改 short-instructions
、full-instructions
和 header
。
將此範本上傳至 S3,並在 中提供此檔案URI的 S3UiTemplateS3Uri
。
<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-semantic-segmentation name="crowd-semantic-segmentation" src="{{ task.input.taskObject | grant_read_access }}" header="Please segment out all pedestrians." labels="{{ task.input.labels | to_json | escape }}" > <full-instructions header="Segmentation 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 an object and paint that object using the tools provided.</li></ol> </full-instructions> <short-instructions> <h2><span style="color: rgb(0, 138, 0);">Good example</span></h2> <p>Enter description to explain a correctly done segmentation</p> <p><br></p><h2><span style="color: rgb(230, 0, 0);">Bad example</span></h2> <p>Enter description of an incorrectly done segmentation</p> </short-instructions> </crowd-semantic-segmentation> </crowd-form>
語意分割輸出資料
建立語意分割標籤任務之後,當您使用 API或 時,輸出資料將位於 主控台工作概觀區段的輸出資料集位置欄位中S3OutputPath
參數中指定的 Amazon S3 儲存貯體中。
若要進一步了解 Ground Truth 產生的輸出資訊清單檔案,以及 Ground Truth 用來儲存輸出資料的檔案結構,請參閱標記任務輸出資料。
若要查看語意分割標籤工作的輸出資訊清單檔案範例,請參閱3D 點雲端語意分割輸出。