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

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

验证和调整标签

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

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

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

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

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

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

  • 边界框

  • 语义分割

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

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

提示

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

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

创建标签验证作业(控制台)

边界框和语义分割标记作业是通过在 控制台中选择 Label verification task type (标签验证任务类型) 创建的。要为 3D 点云和视频帧任务类型创建验证作业,您必须选择与原始标记作业相同的任务类型,然后选择 以显示现有标签。使用以下几节之一为您的任务类型创建标签验证作业。

创建映像标签验证作业(控制台)

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

要创建映像标签验证作业,请执行以下操作:

  1. 打开 SageMaker 控制台:console.aws.amazon.com/sagemaker/,然后选择 Labeling jobs (标记作业)。

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

  3. Task type (任务类型) 窗格中,选择 Label verification (标签验证)。

  4. 选择 Next

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

  6. (可选)在选择人力后,指定 Task timeout (任务超时) 和 Task expiration time (任务到期时间)。

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

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

    您可以添加工作人员可从中选择的新标签以验证标签。例如,您可以要求工作人员验证图像质量,并提供标签 Clear Bliller。工作人员还可以选择添加注释以说明其选择。

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

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

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

执行以下过程,使用 控制台创建 3D 点云或视频帧验证作业。此过程假定您已使用任务类型创建标记作业,该任务类型生成要验证的标签类型,并且其状态为 Complete (完成)。

要创建映像标签验证作业,请执行以下操作:

  1. 打开 SageMaker 控制台:console.aws.amazon.com/sagemaker/,然后选择 Labeling jobs (标记作业)。

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

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

  4. 选择 Next

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

  6. (可选)在选择人力后,指定 Task timeout (任务超时) 和 Task expiration time (任务到期时间)。

  7. 在 Display existing labels (显示现有标签) 旁边的开关上切换。

  8. 选择 Verification (验证)。

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

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

    您无法修改或添加新标签。您可以删除、修改和添加新标签类别属性或帧属性。建议您向标记作业添加新的标签类别属性或帧属性。工作人员可以使用这些属性来验证单个标签或整个帧。

    默认情况下,工作人员无法编辑预先存在的标签类别属性和帧属性。如果要使标签类别或帧属性可编辑,请选中该属性的 Allow workers to edit this attribute (允许工作人员编辑此属性) 复选框。

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

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

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

创建标签调整作业(控制台)

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

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

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

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

  1. 打开 SageMaker console:console.aws.amazon.com/sagemaker/,然后选择 Labeling jobs (标记作业)。

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

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

  4. 选择 Next

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

  6. (可选)在选择人力后,指定 Task timeout (任务超时) 和 Task expiration time (任务到期时间)。

  7. 通过选择标题旁边的箭头,展开 Existing-labels display options (现有标签显示选项)。

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

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

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

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

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

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

执行以下过程,使用 控制台创建 3D 点云或视频帧调整作业。此过程假定您已使用任务类型创建标记作业,该任务类型生成要验证的标签类型,并且其状态为 Complete (完成)。

创建 3D 点云或视频帧标签调整作业(控制台)

  1. 打开 SageMaker 控制台https://console.amazonaws.cn/sagemaker/:,然后选择 Labeling jobs (标记作业)。

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

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

  4. 在 Display existing labels (显示现有标签) 旁边的开关上切换。

  5. 选择调整

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

  7. 使用工具设计器的说明区域,提供有关要求以前的标记者执行哪些操作以及当前调整程序需要检查哪些内容的上下文。

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

    为默认标签类别属性和帧属性预先存在,工作人员可编辑。如果要使标签类别或帧属性不可编辑,请取消选中该属性的 Allow workers to edit this attribute (允许工作人员编辑此属性) 复选框。

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

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

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

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

通过链接已成功完成的作业启动标签验证或调整作业,或者使用 CreateLabelingJob 操作从头开始启动新作业。该过程几乎与使用 设置新的标记作业相同CreateLabelingJob,但进行了一些修改。使用以下部分了解需要进行哪些修改来链接标记作业以创建调整或验证标记作业。

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

重要

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

边界框和语义分割

要创建边界框或语义分割标签验证或调整作业,请使用以下准则指定 CreateLabelingJob 操作的 API 属性。

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

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

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

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

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

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

  • PreHumanTaskLambdaArn 和 使用边界框或语义分割调整或验证 lambda ARNsAnnotationConsolidationLambdaArn

    • 对于边界框,调整标记作业 lambda 函数 ARNs以 结尾AdjustmentBoundingBox,验证 lambda 函数 ARNs 以 结尾VerificationBoundingBox

    • 对于语义分割,调整标记作业 lambda 函数 ARNs 以 结尾AdjustmentSemanticSegmentation,验证 lambda 函数 ARNs 以 结尾VerificationSemanticSegmentation

3D 点云和视频帧

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

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

  • 在标签类别配置文件中,您必须在 参数中指定用于创建调整或验证标记作业的上一个标记作业的标签属性名称 (LabelAttributeNameauditLabelAttributeName)。

  • 您可以使用由 参数标识的标签类别配置文件中的 参数指定标记作业是验证还是调整editsAllowed标记作业LabelCategoryConfigS3Uri

    • 对于验证标记作业,您必须使用 editsAllowed 参数指定无法修改所有标签。editsAllowed 必须在 中的每个条目"none"中将 设置为 labels。(可选)您可以指定工作人员是否可以调整标签类别属性和帧属性。

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

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

  • 将 3D 点云或视频帧调整 lambda ARNs 用于 PreHumanTaskLambdaArn ,并将 AnnotationConsolidationLambdaArn 用于调整和验证标记作业:

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

    • 对于视频帧,调整和验证标记作业 lambda 函数 ARNs以 AdjustmentVideoObjectDetection 和 结尾,分别AdjustmentVideoObjectTracking用于视频帧对象检测和对象跟踪。

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

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

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 Ground Truth 处理输入清单中的所有对象。如果您有一个部分标记的数据集,则可能需要使用输入清单上的 Amazon S3 选择查询创建自定义清单。未标记的对象单独失败,但它们不会导致作业失败,并且可能会产生处理成本。筛选掉您不希望验证的对象会降低您的成本。

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