使用 Amazon Rekognition 自定义标签 PlatoBlockchain 数据智能进行批量图像处理。垂直搜索。人工智能。

使用Amazon Rekognition自定义标签的批处理图像 

亚马逊重新认识 是一项计算机视觉服务,可使用经过验证的,高度可扩展的深度学习技术轻松地将图像和视频分析添加到您的应用程序中,而无需使用任何机器学习(ML)专业知识。 借助Amazon Rekognition,您可以识别图像和视频中的对象,人物,文本,场景和活动,以及检测任何不适当的内容。 Amazon Rekognition还提供了高度准确的面部分析和面部搜索功能,可用于检测,分析和比较各种用例的面部。

Amazon Rekognition自定义标签 允许您识别特定于业务需求的图像中的对象和场景。 例如,您可以在社交媒体帖子中找到徽标,在货架上标识产品,在装配线中对机器零件进行分类,区分健康植物和受感染植物等等。 博客文章 建立自己的品牌检测 显示如何使用Amazon Rekognition自定义标签构建端到端解决方案以检测图像和视频中的品牌徽标。

Amazon Rekognition自定义标签提供了一种简单的端到端体验,您可以从标签数据集开始,然后Amazon Rekognition自定义标签通过检查数据并选择正确的ML算法为您构建自定义ML模型。 训练模型后,您可以立即将其用于图像分析。 如果要批量处理图像(例如每天或每周一次,或一天中的预定时间),则可以在预定时间配置自定义模型。

在本文中,我们将展示如何使用Amazon Rekognition自定义标签构建成本最佳的批处理解决方案,该标签在计划的时间配置您的自定义模型,处理所有图像,并取消配置资源以避免产生额外的成本。

解决方案概述

以下架构图显示了如何设计具有成本效益且高度可扩展的工作流程,以使用Amazon Rekognition自定义标签批量处理图像。 它利用了AWS服务,例如 亚马逊EventBridge, AWS步骤功能, Amazon Simple Queue服务 (Amazon SQS), AWS Lambda亚马逊简单存储服务 (亚马逊S3)。

该解决方案使用无服务器架构和托管服务,因此可以按需扩展,并且不需要配置和管理任何服务器。 Amazon SQS队列通过将图像摄取与图像处理分离,并为每个摄取的图像实现可靠的消息传递,从而提高了解决方案的整体容错能力。 通过使用Step Functions,可以轻松构建可视化工作流来协调一系列单独的任务,例如检查图像是否可用于处理和管理Amazon Rekognition自定义标签项目的状态生命周期。 尽管以下架构显示了如何使用AWS Lambda构建Amazon Rekognition自定义标签的批处理解决方案,但是您可以使用诸如 AWS 法门.

使用 Amazon Rekognition 自定义标签 PlatoBlockchain 数据智能进行批量图像处理。垂直搜索。人工智能。

以下步骤描述了整个工作流程:

  1. 当图像存储在Amazon S3存储桶中时,它将触发一条消息,该消息将存储在Amazon SQS队列中。
  2. Amazon EventBridge配置为以特定频率(默认为1小时)触发AWS Step Functions工作流程。
  3. 在工作流运行时,它将执行以下操作:
    1. 它检查Amazon SQS队列中的项目数。 如果队列中没有要处理的项目,则工作流程结束。
    2. 如果队列中有要处理的项目,则工作流程将启动“ Amazon Rekognition自定义标签”模型。
    3. 该工作流程支持将Amazon SQS与AWS Lambda函数集成在一起以处理这些图像。
  4. 启用Amazon SQS队列与AWS Lambda之间的集成后,将发生以下事件:
    1. AWS Lambda开始使用Amazon SQS中的图像详细信息处理消息。
    2. AWS Lambda函数使用Amazon Rekognition自定义标签项目来处理图像。
    3. 然后,AWS Lambda函数将包含推断标签的JSON文件放置在最终存储桶中。 图像也从源存储桶移动到最终存储桶。
  5. 处理完所有图像后,AWS Step Functions工作流程将执行以下操作:
    1. 它将停止Amazon Rekognition自定义标签模型。
    2. 通过禁用触发器,它将禁用Amazon SQS队列与AWS Lambda函数之间的集成。

下图说明了此解决方案的AWS Step Functions状态机。

使用 Amazon Rekognition 自定义标签 PlatoBlockchain 数据智能进行批量图像处理。垂直搜索。人工智能。

先决条件

要部署此解决方案,您需要满足以下先决条件:

  • 一个具有使用以下资源部署解决方案的权限的AWS账户 AWS CloudFormation,从而创建 AWS身份和访问管理 (IAM)角色和其他资源。
  •  Amazon Rekognition自定义标签项目的Amazon资源名称(ARN)(称为 项目Arn)和训练模型后创建的模型版本的Amazon资源名称(ARN)(称为 项目版本Arn)。 这些值是检查模型状态以及使用模型分析图像所必需的。

要学习如何训练模型,请参阅 Amazon Rekognition自定义标签入门.

部署

要在您的AWS账户中使用AWS CloudFormation部署解决方案,请按照 GitHub回购。 它创建以下资源:

  • 亚马逊S3存储桶
  • Amazon SQS队列
  • AWS Step Functions工作流程
  • Amazon EventBridge规则触发工作流程
  • IAM角色
  • AWS Lambda函数

您可以在解决方案的输出部分中看到该解决方案创建的不同资源的名称。 CloudFormation堆栈.

测试工作流程

要测试您的工作流程,请完成以下步骤:

  1. 将样本图像上载到解决方案创建的输入S3存储桶(例如xxxx-sources3bucket-xxxx)。
  2. 在“步骤功能”控制台上,选择解决方案创建的状态机(例如,CustomCVStateMachine-xxxx)。

您应该看到状态机每小时由Amazon EventBridge规则触发。

  1. 您可以通过选择手动启动工作流程 开始执行.
  2. 在处理图像时,您可以转到输出S3存储桶(例如xxxx-finals3bucket-xxxx)以查看每个图像的JSON输出。

以下屏幕快照显示了带有图像的最终S3存储桶的内容,以及它们从Amazon Rekognition自定义标签输出的相应JSON。

使用 Amazon Rekognition 自定义标签 PlatoBlockchain 数据智能进行批量图像处理。垂直搜索。人工智能。

结论

在本文中,我们展示了如何使用Amazon Rekognition自定义标签构建成本最佳的批处理解决方案,该标签可以在计划的时间配置您的自定义模型,处理所有图像并取消配置资源,以避免产生额外的成本。 根据您的用例,您可以轻松地调整解决方案处理批处理的计划时间窗口。 有关如何创建,训练,评估和使用可检测图像中的对象,场景和概念的模型的更多信息,请参见 Amazon Rekognition自定义标签入门.

尽管本文中介绍的解决方案显示了如何使用Amazon Rekognition自定义标签处理批处理图像,但是您可以轻松地调整解决方案以使用以下方法处理批处理图像 亚马逊Lookout for Vision 用于缺陷和异常检测。 借助Amazon Lookout for Vision,制造公司可以通过快速识别大规模对象图像的差异来提高质量并降低运营成本。 例如,Amazon Lookout for Vision可用于识别产品中缺少的组件,车辆或结构的损坏,生产线中的不规则性,硅晶片中的微小缺陷以及其他类似问题。 要了解有关Amazon Lookout for Vision的更多信息,请参阅 开发人员指南.


作者简介

使用 Amazon Rekognition 自定义标签 PlatoBlockchain 数据智能进行批量图像处理。垂直搜索。人工智能。拉胡尔·斯里瓦斯塔瓦(Rahul Srivastava) 是Amazon Web Services的高级解决方案架构师,总部位于英国。 他在与大型企业客户合作方面拥有丰富的架构经验。 他正在帮助我们的客户进行体系结构,云计算采用,有针对性地开发产品并利用AI / ML来解决现实世界中的业务问题。

使用 Amazon Rekognition 自定义标签 PlatoBlockchain 数据智能进行批量图像处理。垂直搜索。人工智能。卡西夫·伊姆兰(Kashif Imran) 是Amazon Web Services的首席解决方案架构师。 他与一些利用AI / ML解决复杂业务问题的最大AWS客户合作。 他提供技术指导和设计建议,以实现大规模的计算机视觉应用。 他的专长涵盖应用程序体系结构,无服务器,容器,NoSQL和机器学习。

资料来源:https://aws.amazon.com/blogs/machine-learning/batch-image-processing-with-amazon-rekognition-custom-labels/

时间戳记: