视频帧对象跟踪 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

视频帧对象跟踪

您可以使用视频帧对象跟踪任务类型,让工作人员使用边界框、多边形或关键点注释工具跟踪视频帧序列(从视频中提取的图像)中的对象的移动。您选择的工具定义了您创建的视频帧任务类型。例如,您可以使用边界框视频帧对象跟踪任务类型要求工作人员通过在车辆、自行车和行人周围绘制框来跟踪其移动情况。

您提供类别列表,工作人员添加到视频帧的每个注释都使用实例 ID 标识为该类别的实例。例如,如果您提供了汽车标签类别,则工作人员注释的第一个汽车将具有实例 ID car:1。工作人员注释的第二辆汽车将拥有实例 ID 汽车:2。为了跟踪对象的移动,工作人员会将与周围的相同实例 ID 关联的注释添加到所有帧中的对象。

您可以使用 Amazon SageMaker Ground Truth 控制台、 SageMaker API 和特定于语言的 AWS SDKs创建视频帧对象跟踪标记作业。要了解更多信息,请参阅创建视频帧对象检测标记作业并选择您的首选方法。请参阅任务类型以了解有关创建标记作业时可从 中选择的注释工具的更多信息。

Ground Truth 提供了工作人员 UI 和工具来完成标记作业任务预览工作人员 UI:。

您可以创建一个作业,以使用视频对象检测调整任务类型来调整在视频对象检测标记作业中创建的注释。要了解更多信息,请参阅“创建视频帧对象检测调整或验证标记作业”。

预览工作人员 UI

Ground Truth 为工作人员提供 Web 用户界面 (UI) 以完成视频帧对象跟踪注释任务。在控制台中创建标记作业时,您可以预览该工作人员 UI 并与之交互。如果您是新用户,我们建议您使用小型输入数据集预览工作人员 UI,通过控制台创建标记作业,并确保视频帧、标签和标签属性按预期显示。

UI 为工作人员提供了以下辅助标记工具以完成您的对象跟踪任务:

  • 对于所有任务,工作人员可以使用 Copy to next (复制到下一个) 和 Copy to all features (复制到所有功能) 将具有相同唯一 ID 的注释分别复制到下一个帧或所有后续帧。

  • 对于包含边界框工具的任务,工作人员可以使用 Predict next 功能在单个帧中绘制边界框,然后让 Ground Truth 预测所有其他帧中具有相同唯一 ID 的框的位置。然后,工作人员可以调整以更正预测的立方体位置。

以下视频说明了工作人员如何使用工作人员 UI 和边界框工具来完成您的对象跟踪任务。

创建视频帧对象跟踪标记作业

您可以使用 SageMaker 控制台或 CreateLabelingJob API 操作创建视频帧对象跟踪标记作业。

本节假定您已查看 视频帧标记作业概述 并选择了输入数据类型和正在使用的输入数据集连接。

创建标记作业(控制台)

您可以按照中的说明创建标记作业(控制台)了解如何在 SageMaker 控制台中创建视频帧对象跟踪作业。在步骤 10 中,从 Task category (任务类别) 下拉列表中选择 Video - Object tracking (视频 - 对象跟踪)。通过选择 Task selection (任务选择) 中的其中一个卡,选择所需的任务类型。

创建标记作业 (API)

您可以使用 SageMaker API 操作 创建对象跟踪标记作业CreateLabelingJob。该 API 为所有 AWS 开发工具包定义了该操作。要查看此操作支持的语言特定的SDKs列表,请查看 的请参阅部分CreateLabelingJob

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

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

    不要为 UiTemplateS3Uri 参数包含条目。

  • LabelAttributeName 必须以 -ref 结尾。例如,ot-labels-ref

  • 输入清单文件必须是视频帧序列清单文件。您可以使用 SageMaker 控制台创建此清单文件,也可以手动创建它并将其上传到 Amazon S3。有关更多信息,请参阅输入数据设置。如果您创建流标记作业,则输入清单文件是可选的。

  • 您只能使用私有或供应商工作团队创建视频帧对象检测标记作业。

  • 您可以在标签类别配置文件中指定标签、标签类别和帧属性、任务类型和工作人员说明。在标签类别配置文件annotationType中使用 指定任务类型(边界框、多边形、多边形或关键点)。有关更多信息,请参阅使用标签类别和帧属性创建标签类别配置文件以了解如何创建该文件。

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

    • 要查找注释前 Lambda ARN,请参阅 PreHumanTaskLambdaArn。使用您要在其中创建标记作业的区域查找以 结尾的正确 PRE-VideoObjectTrackingARN。

    • 要查找注释后 Lambda ARN,请参阅 AnnotationConsolidationLambdaArn。使用您要在其中创建标记作业的区域查找以 结尾的正确 ACS-VideoObjectTrackingARN。

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

  • 视频帧标记作业不支持自动数据标记。请勿在 中为参数指定值LabelingJobAlgorithmsConfig

  • 视频帧对象跟踪标记作业可能需要多个小时才能完成。您可以在 TaskTimeLimitInSeconds 中为这些标记作业指定更长的时间限制(最多 7 天或 604,800 秒)。

以下是在 区域中创建标记作业的 AWS Python 开发工具包 (Boto3 请求美国东部(弗吉尼亚北部)的示例。

response = client.create_labeling_job( LabelingJobName='example-video-ot-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3:///path/video-frame-sequence-input-manifest.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3:///prefix/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/prefix/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*', 'UiConfig': { 'HumanTaskUiArn: 'arn:aws:sagemaker:us-east-1:394669845002:human-task-ui/VideoObjectTracking' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoObjectTracking', 'TaskKeywords': [ 'Video Frame Object Tracking, ], 'TaskTitle': 'Video frame object tracking task', 'TaskDescription': Tracking the location of objects and people across video frames', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoObjectTracking' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

创建视频帧对象跟踪调整或验证标记作业

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

输出数据格式

在创建视频帧对象跟踪标记作业时,任务将发送给工作人员。当这些工作人员完成任务时,标签将写入到您在创建标记作业时指定的Amazon S3输出位置。要了解视频帧对象跟踪输出数据格式,请参阅视频帧对象跟踪输出。如果您是 Ground Truth 新用户,请参阅输出数据以了解 Ground Truth 输出数据格式的更多信息。