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

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

视频分类

当您需要工作人员使用您指定的预定义标签对视频进行分类时,请使用 Amazon SageMaker Ground Truth 视频分类标记任务。工作人员将观看视频,并要求 为每个视频选择一个标签。

您可以使用 Ground Truth 控制台的 Amazon SageMaker 部分或 CreateLabelingJob 操作创建视频分类标记作业。

您的视频文件必须采用工作团队用于标记数据的浏览器支持的格式进行编码。建议您使用工作人员 UI 预览验证输入清单文件中的所有视频文件格式是否正确显示。您可以使用工作人员说明将支持的浏览器传达给工作人员。要查看支持的文件格式,请参阅支持的数据格式

重要

对于此任务类型,如果您创建自己的清单文件,请使用 "source-ref" 标识 中Amazon S3您要标记的每个视频文件的位置。有关更多信息,请参阅输入数据

创建视频分类标记作业(控制台)

您可以按照 中的说明创建标记作业(控制台)了解如何在 SageMaker 控制台中创建视频分类标记作业。在步骤 10 中,从 Task category (任务类别) 下拉列表中选择 Video (视频),然后选择 Video Classification (视频分类) 作为任务类型。

Ground Truth 为标记任务提供类似于以下内容的工作人员 UI。在 控制台中创建标记作业时,您可以指定说明以帮助工作人员完成工作人员可以从中选择的作业和标签。

创建视频分类标记作业 (API)

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

请按照创建标记作业 (API)中的说明进行操作,并在配置请求时执行以下操作:

  • 使用以 结尾的注释前 Lambda 函数PRE-VideoClassification。要查找您的区域的注释前 Lambda ARN,请参阅 PreHumanTaskLambdaArn

  • 使用以 结尾的注释合并Lambda函数ACS-VideoClassification。要查找您所在区域的注释合并 Lambda ARN,请参阅 AnnotationConsolidationLambdaArn

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

response = client.create_labeling_job( LabelingJobName='example-video-classification-labeling-job, LabelAttributeName='label', InputConfig={ 'DataSource': { 'S3DataSource': { 'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json' } }, 'DataAttributes': { 'ContentClassifiers': [ 'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent', ] } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/file-to-store-output-data', 'KmsKeyId': 'string' }, RoleArn='arn:aws:iam::*:role/*, LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json', StoppingConditions={ 'MaxHumanLabeledObjectCount': 123, 'MaxPercentageOfInputDatasetLabeled': 123 }, HumanTaskConfig={ 'WorkteamArn': 'arn:aws:sagemaker:region:*:workteam/private-crowd/*', 'UiConfig': { 'UiTemplateS3Uri': 's3://bucket/path/worker-task-template.html' }, 'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-VideoClassification', 'TaskKeywords': [ 'Video Classification', ], 'TaskTitle': 'Video classification task', 'TaskDescription': 'Select a label to classify this video', 'NumberOfHumanWorkersPerDataObject': 123, 'TaskTimeLimitInSeconds': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'MaxConcurrentTaskCount': 123, 'AnnotationConsolidationConfig': { 'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-VideoClassification' }, Tags=[ { 'Key': 'string', 'Value': 'string' }, ] )

为视频分类提供模板

如果要使用 API 创建标记作业,必须在 UiTemplateS3Uri 中提供工作人员任务模板。通过修改 short-instructions、 和 full-instructions来复制和修改以下模板header。将此模板上传到 Amazon S3,并在 中为此文件提供 Amazon S3 UiTemplateS3UriURI。

<script src="https://assets.crowd.aws/crowd-html-elements.js"></script> <crowd-form> <crowd-classifier name="crowd-classifier" categories="{{ task.input.labels | to_json | escape }}" header="Please classify video" > <classification-target> <video width="100%" controls/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/mp4"/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/webm"/> <source src="{{ task.input.taskObject | grant_read_access }}" type="video/ogg"/> Your browser does not support the video tag. </video> </classification-target> <full-instructions header="Video classification instructions"> <ol><li><strong>Read</strong> the task carefully and inspect the video.</li> <li><strong>Read</strong> the options and review the examples provided to understand more about the labels.</li> <li><strong>Choose</strong> the appropriate label that best suits the video.</li></ol> </full-instructions> <short-instructions> <h3><span style="color: rgb(0, 138, 0);">Good example</span></h3> <p>Enter description to explain the correct label to the workers</p> <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p> <h3><span style="color: rgb(230, 0, 0);">Bad example</span></h3> <p>Enter description of an incorrect label</p> <p><img src="https://d7evko5405gb7.cloudfront.net/fe4fed9b-660c-4477-9294-2c66a15d6bbe/src/images/quick-instructions-example-placeholder.png" style="max-width:100%"></p> </short-instructions> </crowd-classifier> </crowd-form>

视频分类输出数据

创建视频分类标记作业后,当使用 API 或 控制台的 Amazon S3Job overview (作业概述S3OutputPath) 部分的 Output dataset location (输出数据集位置) 字段中,输出数据将位于 参数中指定的 存储桶中。

要详细了解 Ground Truth 生成的输出清单文件以及 Ground Truth 用于存储输出数据的文件结构,请参阅输出数据

要查看视频分类标记作业的输出清单文件示例,请参阅分类作业输出