3D 点云对象检测 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

3D 点云对象检测

当您希望工作人员在对象周围绘制 3D 长方体以对 3D 点云中的对象进行分类时,请使用该任务类型。例如,您可以使用该任务类型要求工作人员识别点云中的不同类型的对象,例如汽车、自行车和行人。

对于该任务类型,工作人员标记的数据对象 是单点云帧。Ground Truth 使用您提供的点云数据渲染 3D 点云。您也可以提供摄像机数据,以便为工作人员提供有关帧中的场景的更多视觉信息,并帮助工作人员在对象周围绘制 3D 长方体。

Ground Truth 为工作人员提供了一些工具,以便在 3D 场景和投影的侧视图 (俯视图、侧视图和后视图) 中的三个维度中使用 9 度移动 (x,y,z,rx,ry,rz,l,w,h) 的对象进行注释。如果您提供传感器融合信息(例如摄像机数据),在工作人员添加长方体以标识 3D 点云中的对象时,将在 2D 图像中显示该长方体并且可以进行修改。在添加长方体后,在 2D 或 3D 场景中对该长方体所做的所有编辑将投影到另一个视图中。

您可以创建一个作业,以使用 3D 点云对象检测调整任务类型调整在 3D 点云对象检测标记作业中创建的注释。

如果您是 Ground Truth 3D 点云标记模式的新用户,我们建议您查阅 3D 点云标记作业概述。该标记模式与其他 Ground Truth 任务类型不同,该页面概述了在创建 3D 点云标记作业时应注意的重要详细信息。

查看工作人员任务界面

Ground Truth 为工作人员提供了 Web 门户和工具以完成 3D 点云对象检测注释任务。在创建标记作业时,您可以在 Ground Truth 参数中为预构建的 HumanTaskUiArn 工作人员 UI 提供 Amazon 资源名称 (ARN)。在控制台中使用该任务类型创建标记作业时,将自动使用该工作人员 UI。在控制台中创建标记作业时,您可以预览该工作人员 UI 并与之交互。如果您是新用户,建议您使用控制台创建标记作业,以确保标签属性、点云帧和图像(如果适用)按预期方式显示。

以下是 3D 点云对象检测工作人员任务界面的 GIF。如果您在世界坐标系中提供用于传感器融合的摄像机数据,图像将与点云帧中的场景进行匹配。这些图像显示在工作人员门户中,如以下 GIF 中所示。

工作人员可以使用键盘和鼠标以在 3D 场景中导航。他们可以:

  • 双击点云中的特定对象以将其放大。

  • 使用鼠标滚轮或触控板以放大和缩小点云。

  • 同时使用键盘箭头键和 Q、E、A 和 D 键以向上、向下、向左和向右移动。使用键盘 W 和 S 键以放大和缩小。

在工作人员将长方体放置在 3D 场景后,将显示侧视图,其中具有三个投影的侧视图:俯视图、侧视图和后视图。这些侧视图显示放置的长方体内部和周围的点,并帮助工作人员优化该区域中的长方体边界。工作人员可以使用鼠标以放大和缩小每个侧视图。

以下视频说明了在 3D 点云和在侧视图中的移动情况。

工作人员 UI 的 View (视图) 菜单中提供了其他视图选项和功能。有关工作人员 UI 的全面概述,请参阅工作人员说明页面

辅助标记工具

Ground Truth 使用机器学习和计算机视觉驱动的辅助标记工具执行 3D 点云对象跟踪任务,以帮助工作人员快速准确地注释 3D 点云。以下辅助标记工具可用于该任务类型:

  • Snapping (贴靠) – 工作人员可以在对象周围添加一个长方体,并使用键盘快捷键或菜单选项让 Ground Truth 的自动适合工具将长方体紧靠对象周围。

  • Set to ground (放置在地面上)– 在工作人员将长方体添加到 3D 场景后,工作人员可以自动将长方体贴靠到地面上。例如,工作人员可以使用该功能将长方体贴靠到场景中的道路或人行道。

  • Multi-view labeling (多视图标记) – 在工作人员将 3D 长方体添加到 3D 场景后,侧面板将显示前面、侧面和顶部透视图,以帮助工作人员调整紧靠对象周围的长方体。在所有这些视图中,长方体包含一个箭头以指示对象的方向或方位。在工作人员调整长方体时,调整内容将实时显示在所有视图(即,3D 视图、俯视图、侧视图和前视图)上。

  • Sensor fusion (传感器融合) – 如果您提供用于传感器融合的数据,工作人员可以在 3D 场景和 2D 图像中调整注释,注释将实时投影到另一个视图中。此外,工作人员可以选择查看摄像机朝向的方向和摄像机截头锥体。

  • View options (视图选项) – 使工作人员能够轻松隐藏或查看长方体、标签文本、地面网格以及其他点属性,例如颜色或强度。工作人员还可以在透视投影和正交投影之间进行选择。

创建 3D 点云对象检测标记作业

您可以使用 SageMaker 控制台或 API 操作 CreateLabelingJob 创建 3D 点云标记作业。要为该任务类型创建标记作业,您需要具有以下内容:

  • 单帧输入清单文件。要了解如何创建这种类型的清单文件,请参阅创建点云帧输入清单文件。如果您是 Ground Truth 3D 点云标记模式的新用户,您还可能需要查阅接受的原始 3D 数据格式

  • 来自私有或供应商人力的工作组。您不能将 Amazon Mechanical Turk 用于视频帧标记作业。要了解如何创建人力和工作组,请参阅创建和管理人力

此外,请确保您已查阅分配使用 IAM 的 Ground Truth 权限并满足相应的要求。

可以使用以下几节之一以了解如何使用控制台或 API 创建标记作业。

创建标记作业(控制台)

您可以按照创建标记作业(控制台)中的说明进行操作,以了解如何在 SageMaker 控制台中创建 3D 点云对象检测标记作业。在创建标记作业时,请注意以下事项:

  • 输入清单文件必须是单帧清单文件。有关更多信息,请参阅创建点云帧输入清单文件

  • (可选)您可以提供标签类别和帧属性。工作人员可以将其中的一个或多个属性分配给注释,以提供有关该对象的更多信息。例如,您可能希望使用 occluded 属性,以使工作人员确定对象何时被部分遮挡。

  • 3D 点云标记任务不支持自动数据标记和注释合并。

  • 3D 点云对象检测标记作业可能需要几小时才能完成。在选择工作组时,您可以为这些标记作业指定更长的时间限制(最多 7 天或 604,800 秒)。

创建标记作业 (API)

本节介绍了使用 SageMaker API 操作 CreateLabelingJob 创建标记作业时需要了解的详细信息。该 API 为所有 AWS 开发工具包定义了该操作。要查看此操作支持的语言特定的SDKs列表,请查看 的请参阅部分CreateLabelingJob

创建标记作业 (API)概述了 CreateLabelingJob 操作。请按照这些说明进行操作,并在配置请求时执行以下操作:

  • 您必须为 HumanTaskUiArn 输入一个 ARN。使用 arn:aws:sagemaker:<region>:394669845002:human-task-ui/PointCloudObjectDetection。将 <region> 替换为您在其中创建标记作业的 AWS 区域。

    不应具有 UiTemplateS3Uri 参数的条目。

  • 输入清单文件必须是单帧清单文件。有关更多信息,请参阅创建点云帧输入清单文件

  • 您可以在标签类别配置文件中指定标签、标签类别和帧属性以及工作人员说明。要了解如何创建该文件,请参阅使用标签类别和帧属性创建标签类别配置文件

  • 您需要为注释前和注释后 (ACS) Lambda 函数提供预定义的 ARNs。这些 ARN 特定于您用于创建标记作业的 AWS 区域。

    • 要查找注释前 Lambda ARN,请参阅 PreHumanTaskLambdaArn。请使用您在其中创建标记作业的区域以查找正确的 ARN。例如,如果您在 us-east-1 中创建标记作业,则 ARN 为 arn:aws:lambda:us-east-1:432418664414:function:PRE-3DPointCloudObjectDetection

    • 要查找注释后 Lambda ARN,请参阅 AnnotationConsolidationLambdaArn。请使用您在其中创建标记作业的区域以查找正确的 ARN。例如,如果您在 us-east-1 中创建标记作业,则 ARN 为 arn:aws:lambda:us-east-1:432418664414:function:ACS-3DPointCloudObjectDetection

  • NumberOfHumanWorkersPerDataObject 中指定的工作人员数必须为 1

  • 3D 点云标记作业不支持自动数据标记。您不应在 LabelingJobAlgorithmsConfig 中指定参数值。

  • 3D 点云对象检测标记作业可能需要几小时才能完成。您可以在 TaskTimeLimitInSeconds 中为这些标记作业指定更长的时间限制(最多 7 天或 604,800 秒)。

创建 3D 点云对象检测调整或验证标记作业

您可以使用 Ground Truth 控制台或 CreateLabelingJob API 创建调整或验证标记作业。要了解有关调整和验证标记作业的更多信息,以及了解如何创建一个作业,请参阅验证和调整标签

在创建调整标记作业时,标记作业的输入数据可以包括标签以及来自以前的标记作业或外部源的偏转、倾斜和滚动测量值。在调整作业中,将在工作人员 UI 中可视化倾斜和滚动,但无法修改。偏转是可调整的。

Ground Truth 使用以下内部旋转的 Tait-Bryan 角度来可视化工作人员 UI 中的偏转、倾斜和滚动。首先,根据 z 轴 (偏转) 向车辆应用旋转。接下来,旋转的车辆根据内部 y' 轴 (俯仰) 旋转。最后,根据内部 x'' 轴 (roll) 旋转车辆。

输出数据格式

在创建 3D 点云对象检测标记作业时,任务将发送给工作人员。在这些工作人员完成其任务时,标签将写入到在创建标记作业时指定的 Amazon S3 存储桶中。输出数据格式确定标记作业状态 (Amazon S3LabelingJobStatus) 为 时在存储桶中看到的内容Completed

如果您是 Ground Truth 新用户,请参阅输出数据以了解 Ground Truth 输出数据格式的更多信息。要了解 3D 点云对象检测输出数据格式,请参阅 3D点云对象检测输出