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

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

验证和调整标签

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

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

  • 标签验证— 工作人员指出现有标签是否正确或评级其质量,并可添加注释来解释其推理。工作人员将无法修改或调整标签。

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

  • 标签调整— 工作人员调整先前的注释以及标注类别和框架属性(如果适用)以更正它们。

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

  • 边界框

  • 语义分割

  • 3D 点云对象检测、3D 点云对象跟踪和 3D 点云语义分割

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

提示

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

您可以使用 SageMaker 控制台或 API 启动标签验证和调整作业。

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

要创建标签验证或调整作业,必须满足以下条件。

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

    对于流式传输标签作业:您发送到盘点或验证标签任务的 Amazon SNS 输入主题的 Amazon SNS 消息必须包含您想要调整或验证的标签的标签属性名称。要查看有关如何使用流式标注作业创建调整或验证标注作业的示例,请参阅Jupyter Notebook 示例(位于 GitHub 中)。

  • 验证或调整标签作业的任务类型必须与原始作业的任务类型相同,除非您使用图像标签验证任务类型来验证边界框或语义分割图像标签。有关视频帧任务类型要求的详细信息,请参阅下一个要点。

  • 对于视频帧批注验证和校正作业,必须使用用于从上一个标注作业创建批注的同一批注任务类型。例如,如果创建视频帧对象检测作业以让 Worker 在对象周围绘制边界框,然后创建视频对象检测调整作业,则必须指定边界框作为注释任务类型。要了解更多视频帧注释任务类型,请参阅任务类型.

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

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

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

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

执行以下过程,使用控制台创建边界框或语义分割验证作业。此过程假定您已经创建了边界框或语义分割标记作业,并且其状态为 “完成”。这是生成要验证的标注的标注作业。

要创建图像标签验证作业:

  1. 从打开 SageMaker 控制台https://console.aws.amazon.com/sagemaker/,然后选择标记作业.

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

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

  4. 选择 Next (下一步)

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

  6. (可选)在选择人力后,指定任务超时任务过期时间.

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

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

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

  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. Expand现有标签显示选项,方法是选择标题旁的箭头。

  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 点云和视频帧作业,您可以将新标签类别和帧属性添加到标签类别配置文件中。

边界框和语义分割

要创建边界框或语义分割标签验证或调整作业,请使用以下准则指定CreateLabelingJoboperation.

  • 使用LabelAttributeName参数以指定要用于已验证或已调整的标签的输出标签名称。您必须使用不同的LabelAttributeName而不是用于原始标注作业的标签。

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

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

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

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

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

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

    • 对于边界框,调整标签作业 lambda 函数 ARN 以AdjustmentBoundingBox并且验证 lambda 函数 ARN 以VerificationBoundingBox.

    • 对于语义分割,调整标签作业 lambda 函数 ARN 结束AdjustmentSemanticSegmentation并且验证 lambda 函数 ARN 以VerificationSemanticSegmentation.

3D 点云和视频帧

  • 使用LabelAttributeName参数以指定要用于已验证或已调整的标签的输出标签名称。您必须使用不同的LabelAttributeName而不是用于原始标注作业的标签。

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

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

  • 您可指定标记作业是验证或者调整标注作业使用editsAllowed参数,标签类别配置文件中由LabelCategoryConfigS3Uri参数。

    • 适用于验证标记作业时,必须使用editsAllowed参数来指定不能修改所有标签。editsAllowed必须设置为"none"中的每个条目labels. (可选)您可以指定是否可以由工作人员调整标签类别属性和框架属性。

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

    要了解有关editsAllowed参数并配置标签类别配置文件,请参阅标签类别配置文件架构.

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

    • 对于 3D 点云,调整和验证标签作业 lambda 函数 ARN 结束Adjustment3DPointCloudSemanticSegmentationAdjustment3DPointCloudObjectTracking, 和Adjustment3DPointCloudObjectDetection,分别用于 3D 点云语义分割、目标检测和对象跟踪。

    • 对于视频帧,调整和验证标签作业 lambda 函数 ARN 结束AdjustmentVideoObjectDetectionAdjustmentVideoObjectTracking,分别用于视频帧对象检测和目标跟踪。

Ground Truth 将标签验证或调整作业中的输出数据存储在 S3 存储桶中,该存储在S3OutputPath参数CreateLabelingJoboperation. 有关标签验证或调整标记作业中的输出数据的更多信息,请参阅 输出清单中的标签验证和调整数据

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

Amazon 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 表示白色)。当您设置语义分割验证或调整作业时,工具检查清单以确定是否存在此信息。如果找不到它,Amazon SageMaker Ground Truth 显示错误消息和结束作业设置。

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

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

Amazon SageMaker 地面真相处理输入清单中的所有对象。如果您有一个部分标记的数据集,则可能需要使用Amazon S3 Select在输入清单上。未标记的对象单独失败,但它们不会导致作业失败,并且可能会产生处理成本。筛选掉您不希望验证的对象会降低您的成本。

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