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

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

创建带有标签类别和帧属性的标签类别配置文件

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

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

  • 您可以提供Frame 属性,以访问视频帧和 3D 点云对象跟踪和对象检测任务类型。frameAttributes. 创建帧属性时,该属性会出现在 worker 任务中的每个帧或点云上。在视频帧标记作业中,这些属性是工作人员分配给整个视频帧的属性。对于 3D 点云标记作业,这些属性将应用于单点云。可以使用框架属性以让工作人员提供有关特定帧或点云中场景的详细信息。

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

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

重要

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

标签类别配置文件架构

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

注意

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

参数

必需

接受的值

描述

frameAttributes

JSON 对象列表。

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

name, type, description

minimummaximum是必需的type"number"

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

enum, editsAllowed

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

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

JSON 对象列表。

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

name, type

minimummaximum是必需的type"number"

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

description, enum, editsAllowed

可以使用该参数以创建标签类别属性,这些属性将应用于您在labels.

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

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

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

label

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

categoryAttributes, editsAllowed

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

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

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

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

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

String

接受的参数:

BoundingBox, Polyline, Polygon, Keypoint

默认值

BoundingBox

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

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

instructions

JSON 对象

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

"shortInstruction", "fullInstruction"

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

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

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

auditLabelAttributeName

调整和验证任务类型必需

String

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

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

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

参数 必需 接受的值 描述
label

String

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

categoryAttributes

JSON 对象列表。

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

name, type

minimummaximum如果为必需type"number"

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

description, enum, editsAllowed

使用该参数将标签类别属性添加到特定的标签中,这些标签是您在labels.

要向标注添加一个或多个标注类别属性,请包含categoryAttributesJSON 对象位于同一labelsJSON 对象label.

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

String

支持的值

"none":不允许修改。

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

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

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

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

下表介绍了您可以或必须在使用以创建帧属性时使用以创建帧属性的参数。frameAttributes和标签类别属性,使用categoryGlobalAttributescategoryAttributes参数。

参数

必需

接受的值

描述

name

String

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

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

type

String

必需的值

"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:否

String

可以使用该参数以添加标签类别或框架属性的描述。您可以使用此字段为工作人员提供有关属性的详细信息。

只有框架属性才需要此字段。

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

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

您必须指定"number"对于 来说为type使用minimummaximum.

editsAllowed

String

必需的值

"none":不允许修改。

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

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

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

标签和标签类别属性配额

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

类型

Min

Max

标签 (Labels)

1

30

标签名称字符配额

1

16

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

0

10

每个标签的自由格式文本条目标签类别属性(categoryAttributescategoryGlobalAttributes)。

0 5

Frame 属性

0

10

中的自由格式文本条目属性frameAttributes.

0 5

属性名称字符配额 (name

1

16

属性描述字符配额 (description

0

128

属性类型字符配额 (type

1

16

允许的值enum列表string属性

1 10

中的值的字符配额enumlist

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"] }, ], "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 中,请确保工作人员具有读取访问权限,以便他们可以查看这些说明。