使用AWS Rekognition训练计算机视觉模型
在本指南中,将详细介绍如何使用AWS Rekognition Custom Labels来训练计算机视觉模型。将通过Roboflow进行数据标注,将数据导入AWS Rekognition Custom Labels,训练模型,并评估模型性能。
首先,访问Roboflow仪表板并点击“创建项目”按钮。在出现的表单中,输入项目名称、希望识别的对象类型以及项目类型。提供所需信息后,点击“创建项目”。
接下来,将图像和任何注释上传到Roboflow平台。可以在Roboflow中对未标注的图像进行标注,并检查和调整已标注的图像。Roboflow支持超过30种不同的标注格式。
要上传图像,首先将图像文件夹拖到Roboflow网络界面中:一旦将图像拖入网络界面,点击“上传图像”。然后,图像将上传到Roboflow平台。这个过程所需的时间取决于数据集中图像的数量。
上传图像后,可以开始标注数据。点击图像开始标注。要绘制边界框,按键盘上的“b”或选择右侧控制面板中的边界框工具。然后,点击想要开始绘制框的位置,并拖动直到完成绘制框。然后,可以创建或选择一个类别分配给该框。
有关Roboflow标注工具的更多信息,请查看。
标注完数据后,点击Roboflow产品侧边栏中的“版本”,以生成项目版本。在这里,可以预处理数据并应用增强。了解更多关于预处理和增强的最佳实践。
对于本指南,将应用90度旋转增强。这种增强将帮助模型在不同角度下有效工作,对于像本指南中使用的示例太阳能电池板数据集这样的航拍图像来说,这是一个关键考虑因素。
点击页面底部的“生成”,以生成数据集。数据集将被生成。将在下一步中回到数据集。
打开AWS控制台,搜索“Rekognition”并打开Amazon Rekognition。接下来,点击Rekognition侧边栏中的“使用自定义标签”,然后点击“项目”。在这里,可以创建一个项目。点击“创建项目”。
接下来,为项目选择一个名称,然后点击“创建项目”:项目将在自定义标签中的项目列表和自定义标签仪表板的侧边栏中可用。
在AWS RekognitionCustom Labels中打开项目。一个面板将出现,显示需要完成的四个步骤来训练和评估模型:创建数据集、标注图像、训练模型、检查性能指标。
要开始,需要创建一个数据集。点击“创建数据集”按钮。在新标签页中,转到Roboflow仪表板并点击“设置”,然后点击“第三方密钥”。
在第三方密钥页面上,按照链接创建一个程序访问用户。此用户应有权写入S3。在用户设置期间,点击“直接附加策略”选项,然后点击“创建策略”。
// 复制以下策略到新的策略中:
// 策略内容...
返回创建用户,点击“创建策略”按钮旁边的刷新图标。选择创建的策略。
配置权限后,继续创建IAM用户。可以在IAM用户页面的“访问密钥”部分创建一个访问密钥。
将访问密钥复制到Roboflow设置中的相关部分。然后,返回到之前在Roboflow中创建的数据集。导航到项目页面侧边栏上的“版本”标签。然后,点击“导出数据集”按钮。在这里,可以直接将数据集导出到AWS Rekognition。
点击“AWS Rekognition Custom Labels”导出选项,然后点击“继续”。这将把数据集导出到S3,Amazon的存储服务,并返回两个URL,可以使用这些URL将标记训练和测试数据集导入到AWS Rekognition。
返回到本教程早期在另一个标签页中打开的数据集创建页面。选择“从训练数据集和测试数据集开始”选项:然后,选择“导入由SageMaker Ground Truth标记的图像”选项:
从Roboflow仪表板复制训练和测试URL,并粘贴到页面上的相应框中。
接下来,点击页面底部的“创建数据集”以上传数据。将能够在自定义标签项目中看到标记数据。
现在可以开始训练模型了。点击右上角的“训练模型”按钮:填写所需信息以配置模型训练,然后继续开始训练。会出现一个弹出窗口,询问是否准备好训练模型。阅读有关成本和训练时间的免责声明。当准备好时,点击“训练模型”。
AWS表示,训练时间可能在30分钟到24小时之间。可以从自定义标签项目仪表板检查模型是否已经训练完成:
一旦模型训练完成,可以在自定义标签仪表板中查看评估结果。评估结果显示F1分数、平均精度和召回率,全部以聚合形式显示,以及在类别级别上。
要测试和部署模型,点击“使用模型”选项卡并配置想要的推理单元数量。对于测试,“1个推理单元”(最少)是推荐的。然后,点击“开始”以开始部署模型。
会出现一个确认模态框,指出模型部署后将产生运行成本,直到停止模型。当准备好时,点击“开始”以开始部署模型。
部署模型可能需要大约30分钟,之后将能够测试模型。
现在已经在AWS Rekognition中训练了计算机视觉模型,可以评估模型性能,如果需要,对模型进行更改,然后考虑模型部署。
Roboflow维护一个名为的开源软件包,其中包含用于处理计算机视觉模型的实用工具。可以使用supervision通过一系列选项(类别、边界框区域、置信度等)过滤预测,绘制图像上的边界框等。