

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

# 视频帧标注作业参考
<a name="sms-video-overview"></a>

使用此页面可了解对象检测和对象跟踪视频帧标注作业。此页面上的信息适用于这两种内置任务类型。

视频帧标注作业的独特之处在于以下几点：
+ 您可以提供准备好进行注释的数据对象（视频帧），也可以提供视频文件并让 Ground Truth 自动提取视频帧。
+ 工作人员可以随时保存工作。
+ 您不能使用 Amazon Mechanical Turk 员工来完成标签任务。
+ Ground Truth 提供了一个工作人员 UI 以及辅助和基本的标注工具，以有助于工作人员完成任务。您不需要提供工作人员任务模板。

使用以下主题了解有关视频帧标注作业的更多信息。

**Topics**
+ [输入数据](#sms-video-input-overview)
+ [作业完成时间](#sms-video-job-completion-times)
+ [任务类型](#sms-video-frame-tools)
+ [人力](#sms-video-workforces)
+ [工作人员用户界面 (UI)](#sms-video-worker-task-ui)
+ [视频帧作业权限要求](#sms-security-permission-video-frame)

## 输入数据
<a name="sms-video-input-overview"></a>

视频帧标注作业使用视频帧*序列*。单个序列是从单个视频中提取的一系列图像。您可以提供自己的视频帧序列，也可以让 Ground Truth 自动从视频文件中提取视频帧序列。要了解更多信息，请参阅[提供视频文件](sms-point-cloud-video-input-data.md#sms-point-cloud-video-frame-extraction)。

Ground Truth 使用序列文件来识别单个序列中的所有图像。输入清单文件中标识了要在单个标注作业中包含的所有序列。每个序列都用于创建单个工作人员任务。您可以使用 Ground Truth 自动数据设置来自动创建序列文件和输入清单文件。要了解更多信息，请参阅[设置自动视频帧输入数据](sms-video-automated-data-setup.md)。

要了解如何手动创建序列文件和输入清单文件，请参阅[创建视频帧输入清单文件](sms-video-manual-data-setup.md#sms-video-create-manifest)。

## 作业完成时间
<a name="sms-video-job-completion-times"></a>

工作人员可能需要数小时才能完成视频和视频帧标注作业。您可以在创建标注作业时设置工作人员可处理每个任务的总时间。您可以为工作人员处理任务设置的最长时间为 7 天。默认值为 3 天。

强烈建议您创建工作人员可在 12 小时内完成的任务。在处理任务时，工作人员必须将工作人员 UI 保持打开状态。他们可以随时保存工作，Ground Truth 每 15 分钟保存一次他们的工作。

使用 SageMaker AI `CreateLabelingJob` API 操作时，请在的`TaskTimeLimitInSeconds`参数中设置任务可供工作人员使用的总时间`HumanTaskConfig`。

在控制台中创建标注作业时，您可以在选择人力类型和工作团队时指定该时间限制。

## 任务类型
<a name="sms-video-frame-tools"></a>

创建视频对象跟踪或视频对象检测标注作业时，您可以指定希望工作人员在执行标注作业时创建的注释类型。注释类型决定了 Ground Truth 返回的输出数据类型，也定义了标注作业的*任务类型*。

如果您使用 API 操作 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 创建标注作业，则可以使用标签类别配置文件参数 `annotationType` 指定任务类型。要了解更多信息，请参阅[带有标签类别和框架属性参考的标注类别配置文件](sms-label-cat-config-attributes.md)。

以下任务类型可用于视频对象跟踪或视频对象检测标注作业：
+ **边界框** – 为工作人员提供了创建边界框注释的工具。边界框是工作人员在对象周围绘制的一个框，用于识别该对象在帧中的像素位置和标签。
+ **折线** – 为工作人员提供了创建折线注释的工具。折线由一系列有序的 x、y 坐标定义。添加到折线上的每个点都用一条线与前一个点相连。折线不必闭合（起点和终点不必相同），线与线之间形成的角度也没有限制。
+ **多边形** – 为工作人员提供了创建多边形注释的工具。多边形是由一系列有序的 x、y 坐标定义的封闭形状。添加到多边形中的每个点都用一条线与前一个点相连，线与线之间形成的角度没有限制。多边形的两条线（边）不能交叉。多边形的起点和终点必须相同。
+ **关键点** – 为工作人员提供了创建关键点注释的工具。关键点是与视频帧中 x、y 坐标相关联的一个点。

## 人力
<a name="sms-video-workforces"></a>

创建视频帧标注作业时，需要指定一个工作团队来完成注释任务。您可以从自己的工作人员的私有人力中选择一个工作团队，或者从在 AWS Marketplace中选择的供应商人力中选择一个工作团队。您不能将 Amazon Mechanical Turk 人力用于视频帧标注作业。

要了解供应商人力的更多信息，请参阅[订阅供应商人力](sms-workforce-management-vendor.md)。

要了解如何创建和管理私有人力，请参阅[私有人力](sms-workforce-private.md)。

## 工作人员用户界面 (UI)
<a name="sms-video-worker-task-ui"></a>

Ground Truth 提供了工作人员用户界面 (UI)、工具和辅助标注功能，以协助工作人员完成视频标注任务。在控制台中创建标注作业时，您可以预览工作人员 UI。

在使用 API 操作 `CreateLabelingJob` 创建标注作业时，必须提供 Ground Truth 在 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-UiTemplateS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-UiTemplateS3Uri) 参数中提供的 ARN，以便为任务类型指定工作人员 UI。您可以`HumanTaskUiArn`与 SageMaker A [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RenderUiTemplate.html)I API 操作配合使用来预览工作器用户界面。

您可以提供工作人员说明、标签和可选属性，工作人员可以使用这些属性来提供有关标签和视频帧的更多信息。这些属性分别称为标签类别属性和帧属性。这些属性都显示在工作人员 UI 中。

### 标签类别和帧属性
<a name="sms-video-label-attributes"></a>

创建视频对象跟踪或视频对象检测标注作业时，可以添加一个或多个*标签类别属性*和*帧属性*：
+ **标签类别属性** – 与一个或多个标签关联的选项（字符串）、自由格式文本框或数值字段的列表。工作人员使用该属性提供有关标签的元数据。
+ **帧属性** – 发送给工作人员进行注释的每个视频帧上显示的选项（字符串）、自由格式文本框或数值字段列表。工作人员使用该属性提供有关视频帧的元数据。

此外，您可以使用标签和帧属性让工作人员在视频帧标签验证作业中验证标签。

使用以下部分了解有关这些属性的更多信息。要了解如何向标注作业添加标签类别和帧属性，请使用所选[任务类型页面](sms-video-task-types.md)上的**创建标注作业**部分。

#### 标签类别属性
<a name="sms-video-label-category-attributes"></a>

为标签添加标签类别属性，让工作人员能够提供更多有关他们创建的注释的信息。标签类别属性可添加到单个标签或所有标签中。当标签类别属性应用于所有标签时，该属性称为*全局标签类别属性*。

例如，如果添加标签类别 *car*，您可能还希望捕获关于已标注汽车的其他数据，例如，是否遮挡了汽车或汽车的大小。您可以使用标签类别属性以捕获该元数据。在此示例中，如果您将属性 *occluded* 添加到 car 标签类别中，那么您可以为 *occluded* 属性分配 *partial*、*completely*、*no*，并允许工作人员选择其中一个选项。

创建标签验证作业时，您可以将标签类别属性添加到希望工作人员验证的每个标签中。

#### 帧级属性
<a name="sms-video-frame-attributes"></a>

添加帧属性，使工作人员能够提供有关单个视频帧的更多信息。您添加的每个帧属性都显示在所有帧上。

例如，您可以添加一个 number-frame 属性，让工作人员识别他们在特定帧中看到的对象的数量。

在另一个示例中，您可能希望提供一个自由格式的文本框，使工作人员能够提供问题的答案。

创建标签验证作业时，您可以添加一个或多个帧属性，要求工作人员就视频帧中的所有标签提供反馈。

### 工作人员说明
<a name="sms-video-worker-instructions-general"></a>

您可以提供工作人员说明，以便于工作人员完成视频帧标注任务。在编写说明时，您可能需要涵盖以下主题：
+ 注释对象时的最佳实践和应避免的事项。
+ 提供的标签类别属性（对于对象检测和对象跟踪任务）及其使用方法。
+ 如何使用键盘快捷键节省标注时间。

在创建标签作业时，您可以使用 SageMaker AI 控制台添加工作人员指令。如果使用 API 操作 `CreateLabelingJob` 创建标注作业，您可以在标签类别配置文件中指定工作人员说明。

除了说明以外，Ground Truth 还提供一个链接以便于工作人员导航和使用工作人员门户。请在[工作人员说明](sms-video-worker-instructions.md)中选择任务类型以查看这些说明。

### 拒绝任务
<a name="sms-decline-task-video"></a>

工作人员可以拒绝任务。

如果说明不清楚、输入数据显示不正确或遇到任务的其他问题，工作人员会拒绝任务。如果每个数据集对象的工作人员数量 ([https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject)) 拒绝任务，则该数据对象将被标记为过期，并且不会发送给其他工作人员。

## 视频帧作业权限要求
<a name="sms-security-permission-video-frame"></a>

创建视频帧标注作业时，除了[分配 IAM 权限以使用 Ground Truth](sms-security-permission.md)中的权限要求外，还必须将 CORS 策略添加到包含输入清单文件的 S3 存储桶中。

### S3 存储桶的 CORS 权限策略
<a name="sms-permissions-add-cors-video-frame"></a>

创建视频帧标注作业时，您需要在 S3 中指定输入数据和清单文件所在的存储桶，以及存储输出数据的存储桶。这些存储桶可能是相同的。您必须将以下跨源资源共享 (CORS) 策略附加到输入和输出存储桶。如果您使用 Amazon S3 控制台将策略添加到存储桶，则必须使用 JSON 格式。

**JSON**

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "HEAD",
            "PUT"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": [
            "Access-Control-Allow-Origin"
        ],
        "MaxAgeSeconds": 3000
    }
]
```

**XML**

```
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <ExposeHeader>Access-Control-Allow-Origin</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
```

要了解如何将 CORS 策略添加到 S3 存储桶，请参阅《Amazon Simple Storage Service 用户指南》中的[如何使用 CORS 添加跨域资源共享？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html)