验证和调整标签 - 亚马逊 SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

验证和调整标签

当需要验证数据集上的标签时,Amazon SageMaker Ground Truth 提供了让工作人员验证标签是否正确或调整以前的标签的功能。

这些类型的作业分为两个不同的类别:

  • 标签验证— 工作人员指出现有标签是否正确,或者对其质量进行评分,并可以添加评论来解释他们的理由。工作人员将无法修改或调整标签。

    如果您创建 3D 点云或视频帧标签调整或验证作业,则可以选择将标签类别属性(不支持 3D 点云语义分割)和帧属性设置为可由工作人员编辑。

  • 标签调整— 工作人员调整之前的注释,并调整标签类别和框架属性(如果适用)以进行更正。

以下Ground Truth内置任务类型支持调整和验证标签作业:

  • 边界框

  • 语义分割

  • 三维点云物体检测、三维点云物体跟踪和三维点云语义分割

  • 所有视频帧物体检测和视频帧对象跟踪任务类型-边界框、折线、多边形和关键点

提示

对于 3D 点云和视频帧标注验证作业,建议您在标注作业中添加新的标签类别属性或帧属性。工作人员可以使用这些属性来验证单个标签或整个框架。要了解有关标签类别和框架属性的更多信息,请参阅工作人员用户界面 (UI)用于 3D 点云和工作人员用户界面 (UI)用于视频帧。

您可以使用以下命令启动标签验证和调整任务 SageMaker 控制台或 API。

创建验证和调整贴标作业的要求

要创建标签验证或调整任务,必须满足以下标准。

  • 对于非串流标记作业:您使用的输入清单文件必须包含标签属性名称 (LabelAttributeName)你要调整的标签。当您链接成功完成的标记任务时,输出清单文件将用作新的链接任务的输入清单文件。要了解有关 Ground Truth 为每种任务类型生成的输出清单文件格式的更多信息,请参阅输出数据.

    对于串流标记作业:您发送至调整或验证贴标任务的 Amazon SNS 输入主题的 Amazon SNS 消息必须包含您要调整或验证的标签的标签属性名称。要查看如何使用流式标签作业创建调整或验证标签作业的示例,请参阅此处Jupyter Notebook在 GitHub.

  • 校验或校正标签作业的任务类型必须与原始作业的任务类型相同,除非您使用的是图片标签验证用于验证边界框或语义分段图像标签的任务类型。有关视频帧任务类型要求的更多详细信息,请参阅下一个要bullet。

  • 对于视频帧注释验证和调整作业,必须使用与先前标注作业中创建注释时使用的注释任务类型相同的注释任务类型。例如,如果您创建视频帧对象检测作业让工作人员在对象周围绘制边框,然后创建视频对象检测调整作业,则必须指定边界框作为注解任务类型。要了解更多视频帧注释任务类型,请参阅任务类型.

  • 您为校正或验证标签作业选择的任务类型必须支持审计工作流程。以下Ground Truth内置任务类型支持调整和验证标签作业:边界框、语义分割、3D 点云对象检测、3D 点云对象跟踪和 3D 点云语义分割,以及所有视频帧对象检测和视频帧对象跟踪任务类型 — 边界框、折线、多边形和关键点。

创建标签验证Job(控制台)

边界框和语义分段标注作业是通过选择标签验证控制台中的任务类型。要为 3D 点云和视频帧任务类型创建验证作业,必须选择与原始标注作业相同的任务类型,并选择显示现有标签。使用以下部分之一为您的任务类型创建标签验证作业。

创建图像标签验证Job(控制台)

使用以下步骤使用控制台,通过以下过程创建边界框或语句法分段创建作业。此过程假设您已经创建边界框或语义分段标记作业,并且其状态为 “完成”。这是生成你想要验证的标签的贴标任务。

要创建映像标签验证作业,请执行以下操作:
  1. 打开 SageMaker 控制台位于https://console.aws.amazon.com/sagemaker/然后选择标签作业.

  2. 通过链接先前的作业或从头开始,同时指定包含已标记的数据对象的输入清单,以启动新的标记作业。

  3. 任务类型窗格中,选择标签验证.

  4. 选择 Next(下一步)。

  5. Workers (工作人员) 部分中,选择您要使用的人力类型。有关人力选项的更多详细信息,请参阅创建和管理人力

  6. (可选)选择员工后,指定任务超时任务到期时间.

  7. 现有标签显示选项窗格中,系统显示清单中可用的标签属性名称。选择标识您希望工作人员验证的标签的标签属性名称。Ground Truth 尝试通过分析清单来检测和填充这些值,但您可能需要设置正确的值。

  8. 使用工具设计人员的说明区域,以提供有关要求以前的标记者执行哪些操作以及当前的验证者需要检查哪些内容的上下文。

    您可以添加工作人员选择的新标签来验证标签。例如,您可以要求工作人员验证图像质量并提供标签清除模糊. 工作人员还可以选择添加评论来解释他们的选择。

  9. 选择 See preview (查看预览) 可检查工具是否正确显示之前的标签,并清楚显示标签验证任务。

  10. 选择 Create (创建)。这将创建并启动标记作业。

创建点云或视频帧标签验证Job(控制台)

使用以下步骤使用控制台创建一个 3D 点云或视频帧验证作业。此过程假设您已经使用生成要验证的标签类型的任务类型创建了标签作业,并且其状态为 “完成”。

要创建映像标签验证作业,请执行以下操作:
  1. 打开 SageMaker 控制台位于https://console.aws.amazon.com/sagemaker/然后选择标签作业.

  2. 通过链接先前的作业或从头开始,同时指定包含已标记的数据对象的输入清单,以启动新的标记作业。

  3. 任务类型窗格中,选择与链接的标记作业相同的任务类型。例如,如果原始标注作业是视频帧对象检测关键点标注作业,请选择该任务类型。

  4. 选择 Next(下一步)。

  5. Workers (工作人员) 部分中,选择您要使用的人力类型。有关人力选项的更多详细信息,请参阅创建和管理人力

  6. (可选)选择员工后,指定任务超时任务到期时间.

  7. 打开旁边的开关显示现有标签.

  8. Select验证.

  9. 对于标签属性名称,请从清单中选择与您要显示的用于验证的标签相对应的名称。您只会看到与您在上一个屏幕上选择的任务类型相匹配的标签的标签属性名称。Ground Truth 尝试通过分析清单来检测和填充这些值,但您可能需要设置正确的值。

  10. 使用工具设计人员的说明区域,以提供有关要求以前的标记者执行哪些操作以及当前的验证者需要检查哪些内容的上下文。

    您无法修改或添加新标签。您可以移除、修改和添加新的标签类别属性或框架属性。建议您在标注作业中添加新的标签类别属性或框架属性。工作人员可以使用这些属性来验证单个标签或整个框架。

    默认情况下,工作人员无法编辑先前存在的标签类别属性和框架属性。如果要将标签类别或框架属性设置为可编辑,请选择允许工作人员编辑此属性该属性的复选框。

    要了解有关标签类别和框架属性的更多信息,请参阅工作人员用户界面 (UI)用于 3D 点云和工作人员用户界面 (UI)用于视频帧。

  11. 选择 See preview (查看预览) 可检查工具是否正确显示之前的标签,并清楚显示标签验证任务。

  12. 选择 Create (创建)。这将创建并启动标记作业。

创建标签调整Job(控制台)

使用以下部分之一为您的任务类型创建标签验证作业。

创建图像标签调整Job(控制台)

使用以下步骤使用控制台创建边界框或语句法分段标记作业。此过程假设您已经创建边界框或语义分段标记作业,并且其状态为 “完成”。这是生成你想要调整的标签的贴标作业。

创建图像标签调整作业(控制台)
  1. 打开 SageMaker 控制台位于https://console.aws.amazon.com/sagemaker/然后选择标签作业.

  2. 通过链接先前的作业或从头开始,同时指定包含已标记的数据对象的输入清单,以启动新的标记作业。

  3. 选择与原始标注作业相同的任务类型。

  4. 选择 Next(下一步)。

  5. Workers (工作人员) 部分中,选择您要使用的人力类型。有关人力选项的更多详细信息,请参阅创建和管理人力

  6. (可选)选择员工后,指定任务超时任务到期时间.

  7. 扩展现有标签显示选项通过选择标题旁边的箭头。

  8. 选中 I want to display existing labels from the dataset for this job (我想显示此作业的数据集中的现有标签) 旁边的框。

  9. 对于标签属性名称,请从清单中选择与您要显示的调整标签相对应的名称。您只会看到与您在上一个屏幕上选择的任务类型相匹配的标签的标签属性名称。Ground Truth 尝试通过分析清单来检测和填充这些值,但您可能需要设置正确的值。

  10. 使用工具设计人员的说明区域,以提供有关要求以前的标记者执行哪些任务以及当前的验证者需要检查和调整哪些内容的上下文。

  11. 选择 See preview (查看预览) 以检查工具是否正确显示之前的标签并清楚地显示任务。

  12. 选择 Create (创建)。这将创建并启动标记作业。

创建点云或视频帧标签调整Job(控制台)

使用以下步骤使用控制台创建一个 3D 点云或视频帧调整作业。此过程假设您已经使用生成要验证的标签类型的任务类型创建了标签作业,并且其状态为 “完成”。

创建 3D 点云或视频帧标签调整作业(控制台)
  1. 打开 SageMaker 控制台:https://console.amazonaws.cn/sagemaker/然后选择标签作业.

  2. 通过链接先前的作业或从头开始,同时指定包含已标记的数据对象的输入清单,以启动新的标记作业。

  3. 选择与原始标注作业相同的任务类型。

  4. 打开旁边的开关显示现有标签.

  5. Select调整.

  6. 对于标签属性名称,请从清单中选择与您要显示的调整标签相对应的名称。您只会看到与您在上一个屏幕上选择的任务类型相匹配的标签的标签属性名称。Ground Truth 尝试通过分析清单来检测和填充这些值,但您可能需要设置正确的值。

  7. 使用工具设计器的说明区域来提供背景信息,说明以前的贴标员被要求做什么,以及当前的调整人员需要检查什么。

    您无法移除或修改现有标签,但可以添加新标签。您可以移除、修改和添加新的标签类别属性或框架属性。

    默认情况下,工作人员可以编辑先前存在的标签类别属性和框架属性。如果要使标签类别或框架属性不可编辑,请取消选择允许工作人员编辑此属性该属性的复选框。

    要了解有关标签类别和框架属性的更多信息,请参阅工作人员用户界面 (UI)用于 3D 点云和工作人员用户界面 (UI)用于视频帧。

  8. 选择 See preview (查看预览) 以检查工具是否正确显示之前的标签并清楚地显示任务。

  9. 选择 Create (创建)。这将创建并启动标记作业。

启动标签验证或调整作业 (API)

通过链接已成功完成的作业启动标签验证或调整作业或使用 CreateLabelingJob 操作从头开始启动新作业。该过程与使用以下方法设置新的标签作业几乎相同CreateLabelingJob,稍作修改。使用以下各节了解关联标注作业需要进行哪些修改才能创建校正或验证标注作业。

当您使用 Ground Truth API 创建调整或验证标签作业时,您必须使用不同的LabelAttributeName比原来的标记作业。原始贴标作业是用于创建要调整或验证的标签的作业。

重要

您在中为调整或验证作业确定的标签类别配置文件LabelCategoryConfigS3UriCreateLabelingJob必须包含与原始贴标作业中使用的相同标签。您可以添加新标签。对于 3D 点云和视频帧作业,可以在标签类别配置文件中添加新的标签类别和帧属性。

边界框和语义分割

要创建边界框或语义分段标签验证或调整作业,请使用以下准则为CreateLabelingJob操作。

  • 使用LabelAttributeName参数,用于指定要用于已验证或调整后的标签的输出标签名称。你必须使用不同的LabelAttributeName而不是用于原始贴标作业的那个。

  • 如果要链接作业,则在自定义 UI 模板中指定要调整或验证的先前标记作业中的标签。要了解如何创建自定义模板,请参阅 创建自定义 Worker 任务模板

    确定 UI 模板在中的位置UiTemplateS3Uri参数。 SageMaker 提供可在自定义模板中用于显示旧标签的小部件。使用以下 crowd 元素之一中的 initial-value 属性来提取需要验证或调整的标签,并将其包含在您的任务模板中:

    • crowd-semantic-segmentation—在您的自定义 UI 任务模板中使用此 crowd 元素来指定需要验证或调整的语义分段标签。

    • crowd-bounding-box—在自定义用户界面任务模板中使用此人群元素来指定需要验证或调整的边界框标签。

  • LabelCategoryConfigS3Uri 参数必须包含与以前的标记作业相同的标签类别。

  • 使用边界框或语义分段调整或验证 lambda ARNPreHumanTaskLambdaArnAnnotationConsolidationLambdaArn

    • 对于边界框,调整标注作业 lambda 函数 ARN 的结尾为AdjustmentBoundingBox而验证 lambda 函数 ARN 的结尾是VerificationBoundingBox.

    • 对于语义分割,调整标记作业 lambda 函数 ARN 的结尾为AdjustmentSemanticSegmentation而验证 lambda 函数 ARN 的结尾是VerificationSemanticSegmentation.

3D 点云和视频帧

  • 使用LabelAttributeName参数,用于指定要用于已验证或调整后的标签的输出标签名称。你必须使用不同的LabelAttributeName而不是用于原始贴标作业的那个。

  • 您必须使用人工任务用户界面 Amazon 资源名称 (ARN)HumanTaskUiArn)用于原始贴标作业。要查看支持的 ARN,请参阅HumanTaskUiArn.

  • 在标签类别配置文件中,必须指定标签属性名称 (LabelAttributeName)之前用于创建校正或验证标注作业的标注作业auditLabelAttributeName参数。

  • 您可以指定您的标注任务是否为验证要么调整使用标记作业editsAllowed标签类别配置文件中的参数由标识LabelCategoryConfigS3Uri参数。

    • 对于验证标记作业,你必须使用editsAllowed参数用于指定所有标签均不可修改。editsAllowed必须设置为"none"在每个条目中labels. 或者,您可以指定工作人员是否可以调整标签类别属性和框架属性。

    • 可选,对于调整标记作业,你可以使用editsAllowed参数,用于指定工作人员可以或不能修改的标签、标签类别属性和框架属性。如果您不使用此参数,则所有标签、标签类别属性和框架属性均可调整。

    了解相关更多信息editsAllowed参数和配置您的标签类别配置文件,请参阅标签类别配置文件架构.

  • 使用 3D 点云或视频帧调整 lambda ARNPreHumanTaskLambdaArnAnnotationConsolidationLambdaArn对于调整和验证标签作业:

    • 对于 3D 点云,校正和验证标注作业 lambda 函数 ARN 的结尾为Adjustment3DPointCloudSemanticSegmentation,Adjustment3DPointCloudObjectTracking,以及Adjustment3DPointCloudObjectDetection分别用于三维点云语义分割、物体检测和物体跟踪。

    • 对于视频帧,调整和验证标记作业 lambda 函数 ARN 的结尾为AdjustmentVideoObjectDetectionAdjustmentVideoObjectTracking分别用于视频帧物体检测和物体跟踪。

Ground Truth 将标签验证或调整任务的输出数据存储在您在中指定的 S3 存储桶中S3OutputPath参数CreateLabelingJob操作。有关标签验证或调整标记作业中的输出数据的更多信息,请参阅 输出清单中的标签验证和调整数据

输出清单中的标签验证和调整数据

亚马逊 SageMaker Ground Truth 将标签验证数据写入标签元数据中的输出清单。它将两个属性添加到元数据中:

  • type 属性,值为 groundtruth/label-verification

  • worker-feedback 属性,具有 comment 值数组。工作人员输入注释时添加此属性。如果没有注释,则不会显示该字段。

以下示例输出清单显示标签验证数据的显示方式:

{ "source-ref":"S3 bucket location", "verify-bounding-box":"1", "verify-bounding-box-metadata": { "class-name": "bad", "confidence": 0.93, "type": "groundtruth/label-verification", "job-name": "verify-bounding-boxes", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "worker-feedback": [ {"comment": "The bounding box on the bird is too wide on the right side."}, {"comment": "The bird on the upper right is not labeled."} ] } }

调整任务的工作人员输出类似于原始任务的工作人员输出,但它包含调整后的值以及 adjustment-status 属性(值为 adjustedunadjusted)以指示是否进行了调整。

有关不同任务的输出的更多示例,请参阅 输出数据

注意事项和考虑事项

要在创建标签验证或调整作业时获得预期行为,请仔细验证输入数据。

  • 如果您使用的是图像数据,请验证清单文件是否包含十六进制 RGB 颜色信息。

  • 为节省处理成本,请筛选数据以确保标记作业输入清单中不包含不需要的对象。

  • 添加所需的 Amazon S3 权限以确保您的输入数据得到正确处理。

当您使用 Ground Truth API 创建调整或验证标签作业时,您必须使用不同的LabelAttributeName比原来的标记作业。

语义分割作业的颜色信息要求

为了在验证或调整任务中正确重现颜色信息,该工具需要清单中的十六进制 RGB 颜色信息(例如 #FFFFFF 表示白色)。当您设置语义分割验证或调整作业时,工具检查清单以确定是否存在此信息。如果找不到,亚马逊 SageMaker Ground Truth 显示错误消息并结束作业设置。

在语义分割工具的先前迭代中,类别颜色信息不会以十六进制 RGB 格式输出到输出清单。在采用验证和调整工作流程的同时,将这一功能引入了输出清单。因此,较旧的输出清单与此新工作流程不兼容。

在开始作业之前筛选您的数据

亚马逊 SageMaker Ground Truth 会处理您的输入清单中的所有对象。如果您的数据集有部分标签,则可能需要使用以下方法创建自定义清单Amazon S3 S3 S在你的输入清单上。未标记的对象单独失败,但它们不会导致作业失败,并且可能会产生处理成本。筛选掉您不希望验证的对象会降低您的成本。

如果使用控制台创建验证作业,则可以使用此处提供的筛选工具。如果您使用 API 创建作业,请根据需要使数据筛选成为工作流程的一部分。