创建具有标签类别和框架属性的标记类别配置文件 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建具有标签类别和框架属性的标记类别配置文件

在使用亚马逊创建 3D 点云或视频帧标记作业时 SageMaker API 操作CreateLabelingJob,您可以使用标签类别配置文件指定标签和工作人员说明。或者,您还可以在标签类别属性文件中提供以下内容:

  • 你可以提供标签类别属性对于视频帧和 3D 点云对象跟踪和对象检测任务类型。工作人员可以使用一个或多个属性提供有关对象的更多信息。例如,您可能希望使用 occluded 属性,以使工作人员确定对象何时被部分遮挡。您可以使用 categoryAttributes 参数为单个标签指定标签类别属性,或者使用 categoryGlobalAttributes 参数为所有标签指定标签类别属性。

  • 你可以提供帧属性对于视频帧和 3D 点云对象跟踪和对象检测任务类型,请使用frameAttributes. 创建帧属性时,该属性将显示在工作器任务的每个帧或点云上。在视频帧标记作业中,这些属性是工作人员分配给整个视频帧的属性。对于 3D 点云标记作业,这些属性将应用于单点云。可以使用帧属性,以让工作人员提供有关特定帧或点云中场景的更多信息。

  • 对于视频帧标注作业,可以使用标签类别配置文件指定发送给工作人员的任务类型(边界框、折线、多边形或关键点)。

对于工作人员,为标签类别属性和框架属性指定值是可选的。

重要

您只应在中提供标签属性名称auditLabelAttributeName如果您运行审核作业以验证或调整标签。在生成您希望工作人员调整的注释的标记作业中,可以使用该参数以输入使用的 LabelAttributeName。在控制台中创建标记作业时,如果您未指定标签属性名称,则会将作业的 Name (名称) 作为 LabelAttributeName。

标签类别配置文件架构

下表列出了您可以或必须在标签类别配置文件中包含的元素。

注意

该参数annotationType仅支持视频帧标签作业。

参数

必需

接受的值

描述

frameAttributes

JSON 对象列表。

每个 JSON 对象中的必需参数:

name, type, description

minimummaximum如果您必需type"number"

每个 JSON 对象中的可选参数:

enum, editsAllowed, isRequired

可以使用该参数以创建一个框架属性,该属性将应用于标记作业中的所有帧或 3D 点云。

有关更多信息,请参阅本节中的第三表。
categoryGlobalAttributes

JSON 对象列表。

每个 JSON 对象中的必需参数:

name, type

minimummaximum如果您必需type"number"

每个 JSON 对象中的可选参数:

description, enum, editsAllowed, isRequired

可以使用该参数以创建将应用于您在中指定的所有标签的标签类别属性。labels.

有关更多信息,请参阅本节中的第三表。
labels

最多包含 30 个 JSON 对象的列表

每个 JSON 对象中的必需参数:

label

每个 JSON 对象中的可选参数:

categoryAttributes, editsAllowed

可以使用该参数以指定标签或类。为每个类添加一个 label

要将标签类别属性添加到一个标签中,请将 categoryAttributes 添加到该标签中。

使用editsAllowed以指定是否可以在调整标签作业中编辑标签。SeteditsAllowed"none"用于验证标记作业。

有关更多信息,请参阅下表。

annotationType(仅支持视频帧标签作业)

字符串

接受的参数:

BoundingBox, Polyline, Polygon, Keypoint

默认值

BoundingBox

使用此选项可以指定视频帧标记作业的任务类型。例如,对于多边形视频帧对象检测任务,请选择Polygon.

如果您未指定annotationType当你创建视频帧标签作业时,Ground Truth 将使用BoundingBox默认情况下。

instructions

JSON 对象

每个 JSON 对象中的必需参数:

"shortInstruction", "fullInstruction"

可以使用该参数以添加工作人员说明,以帮助工作人员完成其任务。有关工作人员说明的更多信息,请参阅工作人员说明

短说明必须少于 255 个字符,长说明必须少于 2,048 个字符。

有关更多信息,请参阅 创建工作人员说明

auditLabelAttributeName

调整和验证任务类型必需

字符串

输入要调整注释的标记作业中使用的 LabelAttributeName

只有在为视频帧和 3D 点云对象检测、对象跟踪或 3D 点云语义分割创建调整作业时,才会使用该参数。

下表介绍了您可以或必须在以下情况下使用以创建列表的参数:Labels. 每个参数都应包含在 JSON 对象中。

参数 必需 接受的值 描述
label

字符串

向工作人员显示的标签类别的名称。每个标签类别名称必须唯一。

categoryAttributes

JSON 对象列表。

每个 JSON 对象中的必需参数:

name, type

minimummaximum如果您必需type"number"

每个 JSON 对象中的可选参数:

description, enum, editsAllowed, isRequired

可以使用该参数将标签类别属性添加到特定的标签中,labels.

要向标签添加一个或多个标签类别属性,请包括categoryAttributes同样的 JSON 对象labels作为 JSON 对象label.

有关更多信息,请参阅下表。
editsAllowed

字符串

支持的值

"none":不允许进行任何修改。

"any"(默认):允许进行所有修改。

指定工作人员是否可以编辑标签。

用于视频帧或 3D 点云调整为作业添加标签,请将此参数添加到labels列表以指定工作人员是否可以编辑标签。

对于 3D 点云和视频帧验证为作业添加标签,用值添加此参数"none"到中的每个 JSON 对象labels列表。这将使所有标签都不可编辑。

下表介绍了您可以或必须在以下情况下使用以下方式创建框架属性的参数:frameAttributes和标签类别属性categoryGlobalAttributescategoryAttributes参数。

参数

必需

接受的值

描述

name

字符串

可以使用该参数为标签类别或帧属性分配名称。这是工作人员看到的属性名称。

标签类别配置文件中的每个标签类别属性名称必须是唯一的。全局标签类别属性和标签特定标签类别属性不能具有相同的名称。

type

字符串

必需的值

"string" 或者 "number"

可以使用该参数定义标签类别或帧属性类型。

如果你指定"string"为了type并提供enum该属性的值,工作人员将可以从您提供的选择之一中选择。

如果你指定"string"为了type而且不提供enum值,工作人员可以输入自由格式文本。

如果你指定number为了type,工作人员可以在minimummaximum你指定的数字。

enum

字符串列表

可以使用该参数以定义工作人员可以从该标签类别或框架属性中选择的选项。工作人员可以选择在 enum 中指定的一个值。例如,如果您指定["foo", "buzz", "bar"] 对于enum,工作人员可以选择foobuzz,或者bar.

您必须指定"string"为了type要使用enum列表。

description

frameAttributes:是

categoryAttributes要么categoryGlobalAttributes:否

字符串

可以使用该参数添加标签类别或帧属性的描述。您可以使用此字段向工作人员提供有关属性的更多信息。

此字段仅对于帧属性是必需的。

minimummaximum 如果属性为必需type"number" 整数

使用这些参数来指定工作人员可以为数字标签类别或框架属性输入的最小值和最大值(包括)值。

您必须指定"number"为了type可以使用minimummaximum.

editsAllowed

字符串

必需的值

"none":不允许进行任何修改。

"any"(默认):允许进行所有修改。

指定工作人员是否可以编辑标签类别或框架属性。

用于视频帧或 3D 点云调整验证标记作业,将此参数添加到标签类别和框架属性 JSON 对象中,以指定工作人员是否可以编辑属性。

isRequired

布尔值

指定是否需要工作人员对属性进行注释。在注释所有必需的属性之前,员工才能提交作业。

标签和标签类别属性配额

您最多可以为每个类指定 10 个标签类别属性。该 10 属性配额包括全局标签类别属性。例如,如果您创建 4 个全局标签类别属性,然后将三个标签类别属性分配给标签 X,则该标签总共具有 4+3=7 个标签类别属性。有关所有标签类别和标签类别属性限制,请参阅下表。

类型

Min

最大值

标签 (Labels)

1

30

标签名称字符配额

1

16

每个标签的标签类别属性(总和categoryAttributescategoryGlobalAttributes

0

10

每个标签的自由格式文本输入标签类别属性(总和categoryAttributescategoryGlobalAttributes)。

0 5

帧属性

0

10

中的自由格式文本输入属性frameAttributes.

0 5

属性名称字符配额 (name

1

16

属性描述字符配额 (description

0

128

属性类型字符配额 (type

1

16

允许的值enum列出string属性

1 10

中某个值的字符配额enum列表

1 16
自由格式文本的自由格式文本响应中的最大字符数frameAttributes 0 1000
自由格式文本的自由格式文本响应中的最大字符数categoryAttributescategoryGlobalAttributes 0 80

例如:3D 点云标记作业的标签类别配置文件

在下表中选择一个选项卡,以查看用于对象检测、对象跟踪、语义分割、调整和验证标签作业的 3D 点云标签类别配置文件示例。

3D Point Cloud Object Tracking and Object Detection

以下是标签类别配置文件的示例,该文件包含 3D 点云对象检测或对象跟踪标记作业的标签类别属性。此示例包括两个帧属性,这些属性将添加到提交给标注作业的所有点云中。这些区域有:Car标签将包括四个标签类别属性 —XYZ,以及全局属性,W.

{ "documentVersion": "2020-03-01", "frameAttributes": [ { "name":"count players", "description":"How many players to you see in the scene?", "type":"number" }, { "name":"select one", "description":"describe the scene", "type":"string", "enum":["clear","blurry"], "isRequired":true }, ], "categoryGlobalAttributes": [ { "name":"W", "description":"label-attributes-for-all-labels", "type":"string", "enum": ["foo", "buzz", "biz"] } ], "labels": [ { "label": "Car", "categoryAttributes": [ { "name":"X", "description":"enter a number", "type":"number", }, { "name":"Y", "description":"select an option", "type":"string", "enum":["y1", "y2"] }, { "name":"Z", "description":"submit a free-form response", "type":"string", } ] }, { "label": "Pedestrian", "categoryAttributes": [...] } ], "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"} }
3D Point Cloud Semantic Segmentation

以下是 3D 点云语义分割标记作业的标签类别配置文件的示例。

3D 点云语义分割任务类型不支持标签类别属性。支持帧属性。如果您为语义分割标记作业提供标签类别属性,将忽略这些属性。

{ "documentVersion": "2020-03-01", "frameAttributes": [ { "name":"count players", "description":"How many players to you see in the scene?", "type":"number" }, { "name":"select one", "description":"describe the scene", "type":"string", "enum":["clear","blurry"] }, ], "labels": [ { "label": "Car", }, { "label": "Pedestrian", }, { "label": "Cyclist", } ], "instructions": {"shortInstruction":"Select the appropriate label and paint all objects in the point cloud that it applies to the same color", "fullInstruction":"<html markup>"} }

在下表中选择一个选项卡,以查看 3D 点云验证或调整标签作业的标签类别配置文件示例。

3D Point Cloud Adjustment

以下是 3D 点云对象检测或对象跟踪调整标记作业的标签类别配置文件。对于 3D 点云语义分割调整标记作业,categoryGlobalAttributescategoryAttributes不支持。

您必须包括auditLabelAttributeName以指定用于创建调整标签作业的上一个标签作业的标签属性名称。或者,您也可以使用editsAllowed参数以指定是否可以编辑标签或帧属性。

{ "documentVersion": "2020-03-01", "frameAttributes": [ { "name":"count players", "description":"How many players to you see in the scene?", "type":"number" }, { "name":"select one", "editsAllowed":"none", "description":"describe the scene", "type":"string", "enum":["clear","blurry"] }, ], "categoryGlobalAttributes": [ { "name":"W", "editsAllowed":"any", "description":"label-attributes-for-all-labels", "type":"string", "enum": ["foo", "buzz", "biz"] } ], "labels": [ { "label": "Car", "editsAllowed":"any", "categoryAttributes": [ { "name":"X", "description":"enter a number", "type":"number" }, { "name":"Y", "description":"select an option", "type":"string", "enum":["y1", "y2"], "editsAllowed":"any" }, { "name":"Z", "description":"submit a free-form response", "type":"string", "editsAllowed":"none" } ] }, { "label": "Pedestrian", "categoryAttributes": [...] } ], "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"}, // include auditLabelAttributeName for label adjustment jobs "auditLabelAttributeName": "myPrevJobLabelAttributeName" }
3D Point Cloud Verification

以下是您可以用于 3D 点云对象检测或对象跟踪验证标记作业的标签类别配置文件。对于 3D 点云语义分割验证标记作业,categoryGlobalAttributescategoryAttributes不支持。

您必须包括auditLabelAttributeName以指定用于创建验证标签作业的上一个标签作业的标签属性名称。此外,您必须使用editsAllowed参数以指定不能编辑任何标签。

{ "documentVersion": "2020-03-01", "frameAttributes": [ { "name":"count players", "editsAllowed":"any", "description":"How many players to you see in the scene?", "type":"number" }, { "name":"select one", "editsAllowed":"any", "description":"describe the scene", "type":"string", "enum":["clear","blurry"] }, ], "categoryGlobalAttributes": [ { "name":"W", "editsAllowed":"none", "description":"label-attributes-for-all-labels", "type":"string", "enum": ["foo", "buzz", "biz"] } ], "labels": [ { "label": "Car", "editsAllowed":"none", "categoryAttributes": [ { "name":"X", "description":"enter a number", "type":"number", "editsAllowed":"none" }, { "name":"Y", "description":"select an option", "type":"string", "enum":["y1", "y2"], "editsAllowed":"any" }, { "name":"Z", "description":"submit a free-form response", "type":"string", "editsAllowed":"none" } ] }, { "label": "Pedestrian", "editsAllowed":"none", "categoryAttributes": [...] } ], "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"}, // include auditLabelAttributeName for label verification jobs "auditLabelAttributeName": "myPrevJobLabelAttributeName" }

例如:视频帧标签作业的标签类别配置文件

工作人员可用的注释工具和使用的任务类型取决于您为其指定的值annotationType. 例如,如果您希望工作人员使用关键点来跟踪多个帧中特定对象姿势的变化,则应指定Keypoint(对于 )annotationType. 如果您未指定注释类型,BoundingBox默认使用。

以下是具有标签类别属性的视频帧关键点标签类别配置文件的示例。此示例包括两个帧属性,这两个属性将添加到提交给标注作业的所有帧中。这些区域有:Car标签将包括四个标签类别属性 —XYZ,以及全局属性,W.

{ "documentVersion": "2020-03-01", "frameAttributes": [ { "name":"count players", "description":"How many players to you see in the scene?", "type":"number" }, { "name":"select one", "description":"describe the scene", "type":"string", "enum":["clear","blurry"] }, ], "categoryGlobalAttributes": [ { "name":"W", "description":"label-attributes-for-all-labels", "type":"string", "enum": ["foo", "buz", "buz2"] } ], "labels": [ { "label": "Car", "categoryAttributes": [ { "name":"X", "description":"enter a number", "type":"number", }, { "name":"Y", "description":"select an option", "type":"string", "enum": ["y1", "y2"] }, { "name":"Z", "description":"submit a free-form response", "type":"string", } ] }, { "label": "Pedestrian", "categoryAttributes": [...] } ], "annotationType":"Keypoint", "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"} }

从下表中选择一个选项卡,查看视频帧调整和验证标签作业的标签类别配置文件示例。

Video Frame Adjustment

以下是您可以用于视频帧调整标记作业的标签类别配置文件。

您必须包括auditLabelAttributeName以指定用于创建验证标签作业的上一个标签作业的标签属性名称。或者,您也可以使用editsAllowed参数来指定是否可以编辑标签、标签类别属性或框架属性。

{ "documentVersion": "2020-03-01", "frameAttributes": [ { "name":"count players", "editsAllowed":"none", "description":"How many players to you see in the scene?", "type":"number" }, { "name":"select one", "description":"describe the scene", "type":"string", "enum":["clear","blurry"] }, ], "categoryGlobalAttributes": [ { "name":"W", "editsAllowed":"any", "description":"label-attributes-for-all-labels", "type":"string", "enum": ["foo", "buz", "buz2"] } ], "labels": [ { "label": "Car", "editsAllowed":"any", "categoryAttributes": [ { "name":"X", "description":"enter a number", "type":"number", "editsAllowed":"any" }, { "name":"Y", "description":"select an option", "type":"string", "enum": ["y1", "y2"], "editsAllowed":"any" }, { "name":"Z", "description":"submit a free-form response", "type":"string", "editsAllowed":"none" } ] }, { "label": "Pedestrian", "editsAllowed":"none", "categoryAttributes": [...] } ], "annotationType":"Keypoint", "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"}, // include auditLabelAttributeName for label adjustment jobs "auditLabelAttributeName": "myPrevJobLabelAttributeName" }
Video Frame Verification

以下是视频帧标记作业的标签类别配置文件的示例。

您必须包括auditLabelAttributeName以指定用于创建验证标签作业的上一个标签作业的标签属性名称。此外,您必须使用editsAllowed参数以指定不能编辑任何标签。

{ "documentVersion": "2020-03-01", "frameAttributes": [ { "name":"count players", "editsAllowed":"none", "description":"How many players to you see in the scene?", "type":"number" }, { "name":"select one", "editsAllowed":"any", "description":"describe the scene", "type":"string", "enum":["clear","blurry"] }, ], "categoryGlobalAttributes": [ { "name":"W", "editsAllowed":"none", "description":"label-attributes-for-all-labels", "type":"string", "enum": ["foo", "buz", "buz2"] } ], "labels": [ { "label": "Car", "editsAllowed":"none", "categoryAttributes": [ { "name":"X", "description":"enter a number", "type":"number", "editsAllowed":"any" }, { "name":"Y", "description":"select an option", "type":"string", "enum": ["y1", "y2"], "editsAllowed":"any" }, { "name":"Z", "description":"submit a free-form response", "type":"string", "editsAllowed":"none" } ] }, { "label": "Pedestrian", "editsAllowed":"none", "categoryAttributes": [...] } ], "annotationType":"Keypoint", "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"}, // include auditLabelAttributeName for label adjustment jobs "auditLabelAttributeName": "myPrevJobLabelAttributeName" }

创建工作人员说明

创建有关标记作业的自定义说明,以提高工作人员完成其任务的准确性。当工作人员在工作人员 UI 中选择 Instructions (说明) 菜单选项时,便可以访问您的说明。短说明必须少于 255 个字符,长说明必须少于 2,048 个字符。

说明分为两种:

  • 简短说明— 选择这些说明时,将向他们显示这些说明。说明在工作人员 UI 菜单中。它们应提供简单的参考内容,以向工作人员显示标记对象的正确方法。

  • 完整说明— 当工作人员选择时会显示这些说明更多说明在说明中,弹出窗口。如果要完成的任务使用多个示例来显示边缘情况和其他难以标记对象的情况,我们建议您提供详细说明。

对于 3D 点云和视频帧标记作业,可以将工作人员说明添加到标签类别配置文件中。您可以使用单个字符串以创建说明,也可以添加 HTML 标记以自定义说明外观和添加图像。确保您在说明中包含的任何图像是公开可用的,或者如果说明位于 Amazon S3 中,请确保工作人员具有读取访问权限,以便他们可以查看这些说明。