

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

# 使用视频帧对象跟踪功能跟踪视频帧中的对象
<a name="sms-video-object-tracking"></a>

您可以使用视频帧对象跟踪任务类型，让工作人员使用边界框、折线、多边形或关键点这样的*注释工具*跟踪视频帧序列（从视频中提取的图像）中对象的移动。您选择的工具定义了您创建的视频帧任务类型。例如，您可以使用边界框视频帧对象跟踪任务类型，要求工作人员通过在汽车、自行车和行人等对象周围画框来跟踪这些对象的移动。

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

您可以使用 Amazon A SageMaker I Ground Truth 控制台、 SageMaker API 和特定语言 AWS SDKs创建视频帧对象跟踪标签任务。要了解更多信息，请参阅[创建视频帧对象检测标注作业](sms-video-object-detection.md#sms-video-od-create-labeling-job)并选择您的首选方法。请参阅[任务类型](sms-video-overview.md#sms-video-frame-tools)，了解更多关于创建标注作业时可以选择的注释工具的信息。

Ground Truth 提供了工作人员 UI 和工具来完成标注作业任务：[预览工作人员 UI](sms-video-object-detection.md#sms-video-od-worker-ui)。

您可以创建一个作业，以使用视频对象检测调整任务类型调整在视频对象检测标注作业中创建的注释。要了解更多信息，请参阅[创建视频帧对象检测调整或验证标注作业](sms-video-object-detection.md#sms-video-od-adjustment)。

## 预览工作人员 UI
<a name="sms-video-ot-worker-ui"></a>

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

用户界面为工作人员提供了以下辅助标注工具，以完成您的对象跟踪任务：
+ 对于所有任务，工作人员都可以使用**复制到下一帧**和**复制到所有帧**功能，将具有相同唯一 ID 的注释分别复制到下一帧或所有后续帧。
+ 对于包含边界框工具的任务，工作人员可以使用**预测下一个**功能在单帧中绘制边界框，然后让 Ground Truth 预测所有其他帧中具有相同唯一 ID 的边界框的位置。然后，工作人员可以进行调整以更正预测的边界框位置。

下面的视频展示了工作人员如何使用工作人员用户界面和边界框工具来完成对象跟踪任务。

![\[Gif 显示了工作人员如何使用边界框工具和预测下一步功能。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sms/video/ot_predict_next.gif)


## 创建视频帧对象跟踪标注作业
<a name="sms-video-ot-create-labeling-job"></a>

您可以使用 SageMaker AI 控制台或 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)API 操作创建视频帧对象跟踪标注作业。

本部分假设您已经查看[视频帧标注作业参考](sms-video-overview.md)并选择了要使用的输入数据类型和输入数据集连接。

### 创建标注作业（控制台）
<a name="sms-video-ot-create-labeling-job-console"></a>

您可以按照中的说明[创建标注作业（控制台）](sms-create-labeling-job-console.md)来学习如何在 SageMaker AI 控制台中创建视频帧对象跟踪作业。在第 10 步中，从**任务类别**下拉列表中选择**视频 - 对象跟踪**。在**任务选择**中选择一张卡片，即可选择所需的任务类型。

![\[Gif 显示了如何在 A SageMaker I 控制台中创建视频帧对象跟踪作业。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sms/video/task-type-vot.gif)


### 创建标注作业 (API)
<a name="sms-video-ot-create-labeling-job-api"></a>

您可以使用 SageMaker API 操作创建对象跟踪标注作业`CreateLabelingJob`。此 API 为所有人定义了此操作 AWS SDKs。要查看此操作 SDKs 支持的特定语言列表，请查看的 “**另请参阅**” 部分。[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)

[创建标注作业 (API)](sms-create-labeling-job-api.md)概述了 `CreateLabelingJob` 操作。请按照这些说明进行操作，并在配置请求时执行以下操作：
+ 您必须为 `HumanTaskUiArn` 输入一个 ARN。使用 `arn:aws:sagemaker:<region>:394669845002:human-task-ui/VideoObjectTracking`。将 `<region>` 替换为您在其中创建标注作业的 AWS 区域。

  不要包含 `UiTemplateS3Uri` 参数的条目。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) 必须以 `-ref` 结尾。例如 `ot-labels-ref`。
+ 输入清单文件必须是视频帧序列清单文件。您可以使用 SageMaker AI 控制台创建此清单文件，也可以手动创建该文件并将其上传到 Amazon S3。有关更多信息，请参阅 [输入数据设置](sms-video-data-setup.md)。如果您创建流式标注作业，则输入清单文件是可选的。
+ 您只能使用私有或供应商工作团队来创建视频帧对象检测标注作业。
+ 您可以在标签类别配置文件中指定标签、标签类别和帧属性、任务类型和工作人员说明。使用 `annotationType` 在标签类别配置文件中指定任务类型（边界框、折线、多边形或关键点）。有关更多信息，请参阅[带有标签类别和框架属性参考的标注类别配置文件](sms-label-cat-config-attributes.md)以了解如何创建此文件。
+ 您需要为预注解和后标注 ( ARNs ACS) Lambda 函数提供预定义的。 ARNs 它们特定于您用于创建标签任务的 AWS 区域。
  + 要查找注释前 Lambda ARN，请参考 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)。请使用您在其中创建标注作业的区域来查找以 `PRE-VideoObjectTracking` 结尾的正确 ARN。
  + 要查找注释后 Lambda ARN，请参考 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AnnotationConsolidationConfig.html#sagemaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn)。请使用您在其中创建标注作业的区域来查找以 `ACS-VideoObjectTracking` 结尾的正确 ARN。
+ `NumberOfHumanWorkersPerDataObject` 中指定的工作人员数必须为 `1`。
+ 视频帧标注作业不支持自动数据标注。不要在 `[LabelingJobAlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelingJobAlgorithmsConfig)` 中指定参数值。
+ 视频帧对象跟踪标注作业可能需要数小时才能完成。您可以在 `TaskTimeLimitInSeconds` 中为这些标注作业指定更长的时间限制（最多 7 天或 604800 秒）。

以下是一个 [AWS Python SDK (Boto3) 请求](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)示例，该请求在美国东部（弗吉尼亚州北部）区域中创建标注作业。

```
response = client.create_labeling_job(
    LabelingJobName='example-video-ot-labeling-job,
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://amzn-s3-demo-bucket/path/video-frame-sequence-input-manifest.json'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://amzn-s3-demo-bucket/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'
        },
    ]
)
```

## 创建视频帧对象跟踪调整或验证标注作业
<a name="sms-video-ot-adjustment"></a>

您可以使用 Ground Truth 控制台或 `CreateLabelingJob` API 创建调整和验证标注作业。要了解有关调整和验证标注作业的更多信息，以及如何创建标注作业，请参阅[标签验证和调整](sms-verification-data.md)。

## 输出数据格式
<a name="sms-video-ot-output-data"></a>

创建视频帧对象跟踪标注作业时，会将任务发送给工作人员。在这些工作人员完成其任务时，标签会写入到您创建标注作业时指定的 Amazon S3 输出位置。要了解视频帧对象跟踪输出数据格式，请参阅[视频帧对象跟踪输出](sms-data-output.md#sms-output-video-object-tracking)。如果您是 Ground Truth 的新用户，请参阅[标注作业输出数据](sms-data-output.md)以了解有关 Ground Truth 输出数据格式的更多信息。