亚马逊重新认识 是一种计算机视觉服务,使用不需要机器学习 (ML) 专业知识的经过验证的、高度可扩展的深度学习技术,可以轻松地将图像和视频分析添加到您的应用程序中。 借助 Amazon Rekognition,您可以识别图像和视频中的对象、人物、文本、场景和活动,并检测不当内容。 Amazon Rekognition 还提供高度准确的面部分析和面部搜索功能,您可以使用这些功能来检测、分析和比较各种用例中的面部。
Amazon Rekognition自定义标签 是 Amazon Rekognition 的一项功能,可让您轻松构建自己的基于 ML 的专业图像分析功能,以检测特定用例中不可或缺的独特对象和场景。
Rekognition 自定义标签的一些常见用例包括在社交媒体帖子中查找您的徽标、在商店货架上识别您的产品、在装配线上对机器零件进行分类、区分健康植物和受感染植物等等。
亚马逊识别标签 支持布鲁克林大桥、斗兽场、艾菲尔铁塔、马丘比丘、泰姬陵等热门地标, 和更多。 如果您还有其他不受 Amazon Rekognition 支持的地标或建筑物,您仍然可以使用 Amazon Rekognition 自定义标签。
在本文中,我们演示了如何使用 Rekognition 自定义标签来检测西雅图的 Amazon Spheres 建筑。
借助 Rekognition 自定义标签,AWS 会为您处理繁重的工作。 Rekognition Custom Labels 建立在 Amazon Rekognition 现有功能的基础上,该功能已经在多个类别的数千万张图像上进行了训练。 您只需通过我们简单明了的控制台上传一小组特定于您的用例的训练图像(通常为几百张或更少),而不是数千张图像。 只需单击几下,Amazon Rekognition 即可开始训练。 在 Amazon Rekognition 开始根据您的图像集进行训练后,它可以在几分钟或几小时内为您生成自定义图像分析模型。 在幕后,Rekognition Custom Labels 自动加载和检查训练数据、选择合适的 ML 算法、训练模型并提供模型性能指标。 然后,您可以通过 Rekognition Custom Labels API 使用您的自定义模型并将其集成到您的应用程序中。
解决方案概述
对于我们的示例,我们使用 亚马逊球体 西雅图的大楼。 我们使用 Rekognition Custom Labels 训练模型; 每当使用相似的图像时,算法应将其识别为 Amazon Spheres
而不是 Dome
, Architecture
, Glass building
, 或其他标签。
我们首先展示一个使用 Amazon Rekognition 的标签检测功能的示例,我们在其中提供 Amazon Spheres 的图像而无需任何自定义训练。 我们使用 Amazon Rekognition 控制台打开标签检测演示并上传我们的照片。
图像上传并分析后,我们看到标签的置信度分数在 成果。 在这种情况下, Dome
检测到的置信度得分为 99.2%, Architecture
占99.2%, Building
占99.2%, Metropolis
79.4%,等等。
我们想使用自定义标签来生成可以标记图像的计算机视觉模型 Amazon Spheres
.
在以下部分中,我们将引导您准备数据集、创建 Rekognition Custom Labels 项目、训练模型、评估结果并使用其他图像对其进行测试。
先决条件
在开始这些步骤之前,有 配额 对于您需要注意的 Rekognition 自定义标签。 如果您想更改限制,您可以请求 服务限制增加.
创建数据集
如果这是您第一次使用 Rekognition 自定义标签,系统会提示您创建一个 亚马逊简单存储服务 (Amazon S3) 存储桶来存储您的数据集。
对于此博客演示,我们使用了亚马逊球体的图像,这些图像是我们在访问华盛顿州西雅图时拍摄的。 根据您的需要随意使用您自己的图像。
将您的数据集复制到新创建的存储桶,该存储桶将您的图像存储在它们各自的前缀中。
建立专案
要创建 Rekognition Custom Labels 项目,请完成以下步骤:
您可以从具有单个数据集的项目开始,也可以从具有单独的训练和测试数据集的项目开始。 如果您从单个数据集开始,Rekognition Custom Labels 会在训练期间拆分您的数据集,为您的项目创建训练数据集 (80%) 和测试数据集 (20%)。
此外,您可以通过从以下位置之一导入图像来为项目创建训练和测试数据集:
对于这篇文章,我们使用我们自己的 Amazon Spheres 自定义数据集。
- 选择 从单个数据集开始.
- 选择 从S3存储桶导入图像.
- 针对 S3 URI,输入您的 S3 存储桶的路径。
- 如果您希望 Rekognition Custom Labels 根据 S3 存储桶中的文件夹名称自动为您标记图像,请选择 根据文件夹名称自动为图像分配图像级标签.
- 创建数据集.
将打开一个页面,向您显示带有标签的图像。 如果您发现标签中有任何错误,请参阅 调试数据集.
训练模型
查看数据集后,您现在可以训练模型。
- 火车模型.
- 针对 选择项目,如果尚未列出,请输入您的项目的 ARN。
- 火车模型.
在 型号 项目页面的部分,您可以在 模型状态 列,训练正在进行中。 训练时间通常需要 30 分钟到 24 小时才能完成,具体取决于多种因素,例如训练集中的图像数量和标签数量,以及用于训练模型的 ML 算法类型。
模型训练完成后,可以看到模型状态为 TRAINING_COMPLETED
. 如果训练失败,参考 调试失败的模型训练.
评估模型
打开模型详细信息页面。 这 评价 选项卡显示每个标签的指标,以及整个测试数据集的平均指标。
Rekognition Custom Labels 控制台提供以下指标作为训练结果的摘要和每个标签的指标:
您可以查看单个图像的训练模型的结果,如以下屏幕截图所示。
测试模型
现在我们已经查看了评估结果,我们已准备好启动模型并分析新图像。
您可以在 使用型号 Rekognition Custom Labels 控制台上的选项卡,或使用 启动项目版本 通过操作 AWS命令行界面 (AWS CLI) 或 Python 开发工具包。
当模型运行时,我们可以使用 检测自定义标签 应用程序接口。 结果来自 DetectCustomLabels
是对图像包含特定对象、场景或概念的预测。 请参见以下代码:
在输出中,您可以看到带有置信度分数的标签:
从结果中可以看出,只需单击几下,即可使用 Rekognition Custom Labels 获得准确的标注结果。 您可以将其用于多种图像用例,例如识别食品、宠物、机器零件等的自定义标签。
清理
要清理您在本文中创建的资源并避免任何潜在的经常性成本,请完成以下步骤:
- 点击 使用型号 标签, 停止模型.
或者,您可以使用 停止项目版本 通过 AWS CLI 或 Python SDK 进行操作。等待模型进入Stopped
在继续下一步之前的状态。 - 删除模型.
- 删除项目.
- 删除数据集.
- 空的 S3 存储桶内容和 删除 水桶。
结论
在本文中,我们展示了如何使用 Rekognition 自定义标签来检测建筑物图像。
您可以开始使用自定义图像数据集,只需在 Rekognition Custom Labels 控制台上单击几下,即可训练模型并检测图像中的对象。 Rekognition Custom Labels 可以自动加载和检查数据、选择正确的 ML 算法、训练模型并提供模型性能指标。 您可以查看详细的性能指标,例如精度、召回率、F1 分数和置信度分数。
有一天,我们现在可以识别流行的建筑,例如纽约市的帝国大厦、印度的泰姬陵,以及世界各地的许多其他建筑,这些建筑都已预先标记并准备好在您的应用程序中用于智能化。 但是,如果您有 Amazon Rekognition 标签目前尚不支持的其他地标,请不要再犹豫,试试 Amazon Rekognition 自定义标签。
有关使用自定义标签的更多信息,请参见 什么是Amazon Rekognition自定义标签? 另外,请访问我们的 GitHub回购 用于 Amazon Rekognition 自定义品牌检测的端到端工作流程。
作者简介:
苏雷什·帕特南 是 AWS 的首席 BDM – GTM AI/ML 领导者。 他与客户合作制定 IT 战略,通过利用数据和 AI/ML 使云数字化转型更容易实现。 在业余时间,Suresh 喜欢打网球和与家人共度时光。
兔子考希克 是 AWS 的解决方案架构师。 他热衷于在 AWS 上构建 AI/ML 解决方案并帮助客户在 AWS 平台上进行创新。 工作之余,他喜欢远足、登山和游泳。