发布于: Mar 31, 2021
【概要】本篇博文我们将为您揭开亚马逊云科技 AI/ML 服务如何协同工作的神秘面纱,并特别说明如何生成带标记的图像,针对该图像训练计算机视觉模型,以及如何使用 Amazon Rekognition 自定义标签部署自定义图像识别模型。按照教程进行操作,您应该能够在大约一小时内启动并运行自定义计算机视觉模型,并根据与您的特定需求相关的数据,做出关于进一步投资 AI/ML 创新的更明智的判断。
节选自 亚马逊云科技官方博客,原文地址:点击查看
作者:Steffen Merten,亚马逊云科技初创公司解决方案架构师。
训练图像存储
如以下管道中所示,生成自定义计算机视觉模型的第一步是生成用于训练模型的带标签的图像。为此,我们首先将未标记的训练图像加载到账户中的 Amazon Simple Storage Service (Amazon S3) 存储桶中,每个类别都存储在存储桶下其自己的文件夹中。在此示例中,我们的预测分类为两种猕猴桃(黄金和蒙蒂),并具有已知类型的图像。收集每个训练类别的图像后,只需通过 Amazon S3 API 或Amazon Web Services 管理控制台将图像上传到您的 Amazon S3 存储桶下其各自对应的文件夹中即可。

设置 Amazon Rekognition
要开始使用 Amazon Rekognition,请完成以下步骤:
1. 在 Amazon Rekognition 控制台上,选择 Use Custom Labels (使用自定义标签)。
2. 选择 Get started (开始) 以创建一个新项目。项目用于存储模型和训练配置。
3. 输入项目名称(例如,Kiwifruit-classifier-project)。
4. 选择 Create (创建)。
5. 在 Datasets (数据集) 页面上,选择 Create new dataset (创建新数据集)。
6. 输入数据集的名称(例如,kiwifruit classifier)。
7. 对于 Image location (图像位置),请选择 Import images from Amazon S3 bucket (从 Amazon S3 存储桶导入图像)。

8. 对于 S3 folder location (S3 文件夹位置),输入存储图像的位置。
9. 对于 Automatic labeling (自动标记),选择 Automatically attach a label to my images based on the folder they’re stored in (根据存储的文件夹自动将标签附加到我的图像)。这意味着文件夹的标签作为该图像的分类应用于每个图像。

10. 对于 Policy (策略),将提供的 JSON 输入 Amazon S3 存储桶,以确保 Amazon Rekognition 可以访问该数据来训练模型。

11. 选择 Submit (提交)。
训练模型
现在我们已经使用存储这些图像的文件夹名称成功生成了标记的图像,我们可以训练我们的模型。
1. 选择 Train model (训练模型) 以创建一个用于在训练后存储模型的项目。
2. 对于 Choose project (选择项目),输入您创建的项目的 ARN。
3. 对于 Choose a training dataset (选择训练数据集),选择您创建的数据集。
4. 对于 Create test set (创建测试集),选择 Split training dataset (拆分训练数据集)。
这会自动保留已标记的数据部分,用于评估我们训练后的模型的性能。

5. 选择 Train (训练) 开始训练作业。训练可能需要一些时间(取决于您提供的带标签图像的数量),您可以在 Projects (项目) 页面监控进度。
6. 训练完成后,选择项目下的模型以查看其在每个分类中的性能。
7. 在 Use your model (使用您的模型) 下,选择 API Code (API 代码)。这将允许您获取代码示例以启动和停止模型,并使用 Amazon Web Services 命令行界面 (Amazon Web Services CLI) 进行推理。启动模型后部署推理终端节点可能需要几分钟的时间。

使用新训练的模型
现在,您拥有了一个感到满意的经过训练的模型,使用该模型就像使用提的示例 API 代码引用 Amazon S3 存储桶中的图像来生成推理一样简单。以下代码是使用 boto3 库来分析图像的 Python 代码示例:

只需解析 JSON 响应即可访问负载的 Name (名称) 和 Confidence (置信度) 字段以进行图像推理。
总结
在这篇博文中,我们学习了如何使用 Amazon Rekognition 自定义标签 Amazon S3 文件夹标签功能来训练图像分类模型,部署该模型并使用它进行推理。接下来的步骤可能是遵循适用于多类分类器的类似步骤,或者使用 Amazon SageMaker Ground Truth 生成除了带分类标签之外还带有边界框注释的数据。
相关文章