入门:使用 Ground Truth 创建边界框标注作业
要开始使用 Amazon SageMaker Ground Truth,请按照以下各节中的说明进行操作。以下几节介绍如何使用管理控制台创建边界框标注作业,分配公众或私有人力,以及将标注作业发送给您的人力。您还可以了解如何监控标注作业的进度。
本视频向您展示如何设置和使用 Amazon SageMaker Ground Truth。(时长:9:37)
如果您要创建自定义标注工作流,请参阅自定义标注工作流程了解相关说明。
在创建标注作业之前,必须将数据集上传到 Amazon S3 存储桶。有关更多信息,请参阅 使用输入和输出数据。
开始前的准备工作
在开始使用 SageMaker 控制台创建标注作业之前,您必须设置好要使用的数据集。执行以下操作:
-
在可公开访问的 HTTP URL 中保存两个图像。在创建用于完成标注任务的说明时要使用这些图像。这些图像的宽高比应该在 2:1 左右。对于本练习,图像的内容并不重要。
-
创建一个 Amazon S3 存储桶来存放输入和输出文件。该存储桶必须位于运行 Ground Truth 的同一区域。记下存储桶名称,因为在第 2 步中会用到该名称。
Ground Truth 要求所有包含标注作业输入图像数据的 S3 存储桶都附加 CORS 策略。要了解有关这一变化的更多信息,请参阅输入映像数据的 CORS 要求。
-
您可以创建一个 IAM 角色,或者让 SageMaker 使用 AmazonSageMakerFullAccess IAM 策略创建一个角色。请参考创建 IAM 角色,并为创建标注作业的用户分配以下权限策略:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "sagemakergroundtruth", "Effect": "Allow", "Action": [ "cognito-idp:CreateGroup", "cognito-idp:CreateUserPool", "cognito-idp:CreateUserPoolDomain", "cognito-idp:AdminCreateUser", "cognito-idp:CreateUserPoolClient", "cognito-idp:AdminAddUserToGroup", "cognito-idp:DescribeUserPoolClient", "cognito-idp:DescribeUserPool", "cognito-idp:UpdateUserPool" ], "Resource": "*" } ] }
创建标注作业
在这一步中,您将使用控制台创建一个标注作业。您可以向 Amazon SageMaker Ground Truth 告知在其中存储清单文件的 Amazon S3 存储桶,并配置作业的参数。有关在 Amazon S3 存储桶中存储数据的更多信息,请参阅使用输入和输出数据。
创建标注作业
-
通过 https://console.aws.amazon.com/sagemaker/
打开 SageMaker 管理控制台。 -
在左侧导航栏中,选择标注作业。
-
选择创建标注作业以开始作业创建过程。
-
在作业概览部分中,提供以下信息:
-
作业名称 – 为标注作业提供一个描述此作业的名称。此名称将显示在作业列表中。此名称在您的 Amazon 区域的账户中必须是唯一的。
-
标签属性名称 – 请不要选中此项,因为默认值是该入门作业的最佳选项。
-
输入数据设置 – 选择自动化数据设置。此选项允许您自动连接到 S3 中的输入数据。
-
输入数据集的 S3 位置 – 输入您在第 1 步中添加图像的 S3 位置。
-
输出数据集的 S3 位置 – 在 S3 中写入输出数据的位置。
-
数据类型 – 使用下拉菜单选择图像。Ground Truth 将使用在输入数据集的 S3位置中找到的所有图像作为标注作业的输入。
-
IAM 角色 - 创建或选择附加有 AmazonSageMakerFullAccess IAM 策略的 IAM 角色。
-
-
在任务类型部分的任务类别字段中,选择图像。
-
在任务选择中选择边界框。
-
选择下一步继续配置您的标注作业。
选择工作人员
在这一步中,您要选择一种人力来标注数据集。建议您创建一个私有人力来测试 Amazon SageMaker Ground Truth。使用电子邮件地址邀请您的人力的成员。如果您在这一步创建私有人力,则以后无法导入 Amazon Cognito 用户池。如果您想使用 Amazon Cognito 用户池创建私有人力,请参阅管理私有人力 (Amazon Cognito),并在本教程中改用 Mechanical Turk 人力。
提示
要了解可以在 Ground Truth 中使用的其他人力选项,请参阅人力。
要创建私有人力,请执行以下操作:
-
在工作人员部分,选择私人。
-
如果这是您第一次使用私有人力,请在电子邮件地址字段中最多输入 100 个电子邮件地址。地址之间必须用逗号隔开。您应将自己的电子邮件地址包括在内,以便您成为人力的一员并可以查看数据对象标注任务。
-
在组织名称字段中,输入组织的名称。此信息用于自定义为邀请某人加入您的私有人力而发送的电子邮件。通过控制台创建用户池后,您可以更改组织名称。
-
在联系人电子邮件字段中,输入人力成员用于报告任务相关问题的电子邮件地址。
如果您将自己添加到私有人力中,您将收到一封类似于以下内容的电子邮件。Amazon, Inc. 将替换为您在上述过程的第 3 步中输入的组织。选择电子邮件中的链接,使用提供的临时密码登录。如果出现提示,请更改密码。成功登录后,您会看到显示标注任务的工作人员门户。
提示
您可以在 SageMaker 控制台的 Ground Truth 区域的标注人力部分找到指向私有人力的工作人员门户的链接。要查看该链接,请选择私人选项卡。该链接位于私有人力摘要中的标注门户登录 URL 标题下。
如果您选择使用 Amazon Mechanical Turk 人力来标注数据集,则需要为在数据集上完成的标注任务付费。
要使用 Amazon Mechanical Turk 人力,请执行以下操作:
-
在工作人员部分,选择公众。
-
设置每个任务的价格。
-
如果适用,选择数据集不包含成人内容以确认示例数据集不包含成人内容。此信息使 Amazon SageMaker Ground Truth 能够警告 Mechanical Turk 上的外部工作人员,他们可能会在您的数据集中遇到潜在的冒犯性内容。
-
选中以下语句旁边的复选框以确认示例数据集不包含任何个人身份信息 (PII)。这是在 Ground Truth 中使用 Mechanical Turk 的必要条件。如果输入数据确实包含 PII,请在本教程中使用私有人力。
您了解并同意,Amazon Mechanical Turk 人力由分布在世界各地的独立承包商组成,您不应与这些人力共享机密信息、个人信息或受保护的健康信息。
配置边界框工具
最后,配置边界框工具以向工作人员提供说明。您可以配置任务标题,以描述任务并为工作人员提供概括性说明。您可以提供快速说明和完整说明。快速说明显示在要标注的图像旁边。完整说明包含完成任务的详细说明。在此示例中,您仅提供快速说明。您可以选择此部分底部的完整说明以查看完整说明示例。
配置边界框工具
-
在任务描述字段中,键入任务的简短说明。例如:
Draw a box around any
objects
in the image.将
objects
替换为图像中显示的对象的名称。 -
在标签字段中,键入工作人员应围绕其绘制边界框的对象的类别名称。例如,如果您要求工作人员围绕橄榄球运动员绘制框,您可以在此字段中使用“Football Player”。
-
在简短说明部分中,您可以使用工作人员要标注的图像创建在页面上显示的说明。我们建议您包含绘制正确的边界框示例以及绘制错误的边界框示例。要创建您自己的说明,请按以下步骤操作:
-
选择 GOOD EXAMPLE 与图像占位符之间的文本。将该文本替换为以下文本:
Draw the box around the object with a small border.
-
选择第一个图像占位符并将其删除。
-
选择图像按钮,然后输入您在第 1 步中创建的其中一个图像的 HTTPS URL。也可以直接在简短说明部分嵌入图像,但本部分的配额为 100 千字节(包括文本)。如果图像和文本超过 100 千字节,就会出现错误。
-
选择 BAD EXAMPLE 与图像占位符之间的文本。将该文本替换为以下文本:
Don't make the bounding box too large or cut into the object.
-
选择第二个图像占位符并将其删除。
-
选择图像按钮,然后输入您在第 1 步中创建的另一个图像的 HTTPS URL。
-
-
选择预览以预览工作人员 UI。预览会在新标签页中打开,因此如果浏览器阻止弹出窗口,您可能需要手动启用该标签页才能打开。在预览中添加一个或多个注释,然后选择提交,就可以看到注释创建的输出数据预览。
-
配置并验证说明后,选择创建来创建标注作业。
如果您使用的是私有人力,则可以导航到您在本教程的选择工作人员中登录的工作人员门户,以查看您的标注任务。这些任务可能需要几分钟才能出现。
现在您已经创建了标注作业,您可以对其进行监控或停止。