本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用语义分割识别图像内容
要在像素级别识别图像内容,请使用 Amazon G SageMaker round Truth 语义分割标签任务。在分配语义分割标注作业时,工作人员会将图像中的像素分类为一组预定义的标签或类。Ground Truth 支持单类和多类语义分割标注作业。您可以使用 Amazon SageMaker 控制台的 Ground Truth 部分或CreateLabelingJob
操作创建语义分段标签作业。
包含大量需要分割的对象的图像需要更多时间。为有助于工作人员(来自私有人力或供应商人力)在更短的时间更准确地标注这些对象,Ground Truth 提供了一个 AI 辅助自动分割工具。有关信息,请参阅自动分割工具。
重要
对于此任务类型,如果您创建自己的清单文件,请使用 "source-ref"
识别 Amazon S3 中您要标注的每个图像文件的位置。有关更多信息,请参阅 输入数据。
创建语义分割标注作业(控制台)
您可以按照说明学习创建标注作业(控制台)如何在 SageMaker 控制台中创建语义分段标注作业。在步骤 10 中,从任务类别下拉菜单中选择图像,然后选择语义分割作为任务类型。
Ground Truth 为标注任务提供类似于以下内容的工作人员 UI。使用控制台创建标注作业时,需要指定说明,以便于工作人员完成工作人员可以从中选择的作业和标签。
创建语义分割标注 Job () API
要创建语义分割标注作业,请使用 SageMaker API操作CreateLabelingJob
。这为所有人API定义了此操作 AWS SDKs。要查看此操作SDKs支持的特定语言列表,请查看的 “另请参阅” 部分。CreateLabelingJob
请按照创建标注作业 (API)中的说明进行操作,并在配置请求时执行以下操作:
-
此任务类型的注释前 Lambda 函数以
PRE-SemanticSegmentation
结尾。要查找您所在地区的预注释 ARN Lambda,请参阅。PreHumanTaskLambdaArn -
此任务类型的注释合并 Lambda 函数以
ACS-SemanticSegmentation
结尾。要查找您所在地区的注释合并 Lambd ARN a,请参阅。AnnotationConsolidationLambdaArn
以下是在美国东部 SDK(弗吉尼亚北部)地区创建标签任务的AWS 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为该文件提供 S3 UiTemplateS3Uri
。
<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>
语义分割输出数据
创建语义分段标签任务后,您的输出数据将位于使用时S3OutputPath
参数中指定的 Amazon S3 存储桶中,API或者位于控制台任务概述部分的输出数据集位置字段中。
要了解有关 Ground Truth 生成的输出清单文件以及 Ground Truth 用来存储输出数据的文件结构的更多信息,请参阅标注任务输出数据。
要查看语义分割标注作业的输出清单文件示例,请参阅3D 点云语义分割输出。