Amazon Rekognition自定义标签 是一项完全托管的计算机视觉服务,允许开发人员构建自定义模型来分类和识别图像中特定于您的业务的对象。
Rekognition 自定义标签不要求您具备任何计算机视觉专业知识。 您只需上传数十张而不是数千张图片即可开始。 如果图像已被标记,您只需单击几下即可开始训练模型。 如果没有,您可以直接在 Rekognition 自定义标签控制台中标记它们,或者使用 亚马逊SageMaker地面真相 给它们贴上标签。 Rekognition Custom Labels 使用迁移学习来自动检查训练数据、选择正确的模型框架和算法、优化超参数并训练模型。 当您对模型的准确性感到满意时,您可以一键开始托管经过训练的模型。
但是,如果您是希望解决计算机视觉问题、可视化自定义模型的推理结果并在此类推理结果可用时接收通知的业务用户,则必须依靠您的工程团队来构建此类应用程序。 例如,可以在发现作物有病害时通知农业运营经理,在葡萄成熟可以收获时通知酿酒师,或者可以在需要补充软饮料等库存时通知商店经理在立式冰箱中。
在这篇文章中,我们将引导您完成构建解决方案的过程,该解决方案允许您在使用 Rekognition 自定义标签构建的模型处理的图像中识别出特定标签时可视化推理结果并向订阅用户发送通知。
解决方案概述
下图说明了我们的解决方案体系结构。
此解决方案使用以下 AWS 服务来实施可扩展且经济高效的架构:
- 亚马逊雅典娜 – 一种无服务器交互式查询服务,可以使用标准 SQL 轻松分析 Amazon S3 中的数据。
- AWS Lambda – 一种无服务器计算服务,可让您运行代码以响应数据更改、系统状态变化或用户操作等触发器。 因为 Amazon S3 可以直接触发一个 Lambda 函数,所以可以构建各种实时 无服务器 数据处理系统。
- 亚马逊QuickSight – 一种非常快速、易于使用、基于云的业务分析服务,可以轻松构建可视化、执行临时分析并快速从数据中获得业务洞察力。
- Amazon Rekognition自定义标签 – 允许您训练自定义计算机视觉模型来识别图像中特定于您的业务需求的对象和场景。
- 亚马逊简单通知服务 – Amazon SNS 是一种完全托管的消息传递服务,适用于应用程序到应用程序 (A2A) 和应用程序到个人 (A2P) 通信。
- Amazon Simple Queue服务 – Amazon SQS 是一项完全托管的消息队列服务,使您能够分离和扩展微服务、分布式系统和无服务器应用程序。
- 亚马逊简单存储服务 – Amazon S3 用作文档的对象存储,并允许通过微调的访问控制进行集中管理。
该解决方案利用无服务器工作流,当图像上传到输入 S3 存储桶时触发该工作流。 SQS 队列接收对象创建的事件通知。 该解决方案还创建 死信队列 (DLQ) 搁置和隔离无法正确处理的消息。 一个 Lambda 函数从 SQS 队列中提取并生成 DetectLabels
用于检测图像中所有标签的 API 调用。 为了扩展此解决方案并使其成为松散耦合的设计,Lambda 函数将预测结果发送到另一个 SQS 队列。 此 SQS 队列触发另一个 Lambda 函数,该函数分析在预测中找到的所有标签。 根据用户偏好(在解决方案部署期间配置),该函数将消息发布到 SNS 主题。 SNS 主题配置为向用户发送电子邮件通知。 您可以配置 Lambda 函数向发送到 Amazon SNS 的消息添加 URL 以访问图像(使用 Amazon S3 预签名网址)。 最后,Lambda 函数将预测结果和图像元数据上传到 S3 存储桶。 然后,您可以使用 Athena 和 QuickSight 分析和可视化来自 S3 存储桶的结果。
先决条件
您需要使用 Rekognition 自定义标签训练和运行模型。
Rekognition 自定义标签可让您管理机器学习模型训练过程 亚马逊重新认识 控制台,它简化了端到端模型开发过程。 对于这篇文章,我们使用 一种经过训练以检测植物叶片病害的分类模型.
部署解决方案
您部署一个 AWS CloudFormation 用于预置必要资源的模板,包括 S3 存储桶、SQS 队列、SNS 主题、Lambda 函数和 AWS身份和访问管理 (IAM) 角色。 该模板在 us-east-1 区域创建堆栈,但您可以使用该模板在上述 AWS 服务可用的任何区域创建您的堆栈。
- 在您部署 Rekognition 自定义标签模型的区域和 AWS 账户中启动以下 CloudFormation 模板:
- 针对 堆栈名称, 输入堆栈名称,例如
rekognition-customlabels-analytics-and-notification
. - 针对 自定义模型ARN,输入您要使用的 Amazon Rekognition 自定义标签模型的 ARN。
Rekognition 自定义标签模型需要部署在同一个 AWS 账户中。
- 针对 电子邮件通知,输入您要接收通知的电子邮件地址。
- 针对 输入桶名称,输入堆栈创建的 S3 存储桶的唯一名称; 例如,
plant-leaf-disease-data-input
.
这是存储传入植物叶子图像的地方。
- 针对 兴趣标签,您最多可以输入 10 个不同的标签,以逗号分隔的格式通知您。 对于我们的植物病害示例,输入
bacterial-leaf-blight,leaf-smut
. - 针对 最小信心,输入接收通知的最小置信度阈值。 检测到的置信度低于 MinConfidence 值的标签不会在响应中返回,也不会生成通知。
- 针对 输出桶名称,输入堆栈创建的 S3 存储桶的唯一名称; 例如,
plant-leaf-disease-data-output
.
输出存储桶包含带有图像元数据(找到的标签和置信度分数)的 JSON 文件。
- 下一页.
- 点击 配置堆栈选项 页面上,设置堆栈的所有其他参数,包括标签。
- 下一页.
- 在 能力与转型 部分,选中复选框以确认 AWS CloudFormation 可能会创建 IAM资源.
- 创建堆栈.
堆栈详细信息页面应将堆栈状态显示为 CREATE_IN_PROGRESS
。 将状态更改为最多可能需要5分钟 CREATE_COMPLETE
.
Amazon SNS 将向电子邮件地址发送订阅确认消息。 你需要 确认订阅.
测试解决方案
现在我们已经部署了资源,我们已经准备好测试解决方案了。 确保你 启动模型.
- 在Amazon S3控制台上,选择 水桶.
- 选择输入 S3 存储桶。
- 将测试图像上传到存储桶。
在生产中,您可以设置自动化流程以将图像传送到此存储桶。
这些图像触发工作流程。 如果标签置信度超过指定阈值,您会收到如下电子邮件通知。
您还可以配置 SNS 主题以将这些通知传递给任何 旅游目的地 由服务支持。
分析预测结果
测试解决方案后,您可以扩展解决方案以创建对已处理图像的预测的可视化分析。 为此,我们使用了 Athena,这是一种交互式查询服务,可以轻松地使用标准 SQL 直接分析来自 Amazon S3 的数据,并使用 QuickSight 来可视化数据。
配置雅典娜
如果您不熟悉 Amazon Athena,请参阅 本教程. 在 Athena 控制台上,使用以下代码在 Athena 数据目录中创建一个表:
填充 Location
前面查询中的字段与您的输出存储桶名称,例如 plant-leaf-disease-data-output
.
此代码告诉 Athena 如何解释 S3 存储桶中的每一行文本。
您现在可以查询数据:
SELECT * FROM "default"."rekognition_customlabels_analytics" limit 10;
配置 QuickSight
要配置 QuickSight,请完成以下步骤:
- 打开 QuickSight 控制台.
- 如果您没有注册 QuickSight,系统会提示您选择注册。 按照以下步骤 注册使用 QuickSight.
- 登录 QuickSight 后,选择 管理QuickSight 在您的帐户下。
- 在导航窗格中,选择 安全与权限.
- 下 QuickSight对AWS服务的访问,选择 添加或删除.
将出现一个页面,用于启用 QuickSight 对 AWS 服务的访问。
- 选择 Amazon 雅典娜.
- 在弹出窗口中,选择 下一页.
- 在 S3 选项卡上,选择必要的 S3 存储桶。 对于这篇文章,我选择了存储我的 Athena 查询结果的存储桶。
- 对于每个存储桶,还选择 Athena Workgroup 的写入权限。
- 完成.
- 更新.
- 在QuickSight控制台上,选择 新的分析.
- 新数据集.
- 针对 数据集,选择 雅典娜.
- 针对 资料来源名称,输入
Athena-CustomLabels-analysis
. - 针对 雅典娜工作组,选择 小学.
- 创建数据源.
- 针对 数据库,选择
default
在下拉菜单上。 - 针对 表, 选择表
rekognition_customlabels_analytics
. - 选择。
- 可视化.
- 点击 可视化 页面,在 字段 列表,选择 标签 并从中选择饼图 视觉类型.
您可以在仪表板中添加更多可视化。 当您的分析准备就绪时,您可以选择 Share 创建仪表板并在您的组织内共享。
总结
在这篇博文中,我们展示了如何创建一个解决方案来接收使用 Rekognition 自定义标签在处理过的图像中发现的特定标签(例如细菌性叶枯病或叶黑穗病)的通知。 此外,我们还展示了如何使用 Athena 和 QuickSight 创建仪表板以可视化结果。
您现在可以轻松地与业务用户共享此类可视化仪表板,并允许他们订阅通知,而不必依赖您的工程团队来构建此类应用程序。
作者简介
周杰伦 是 AWS 的首席解决方案架构师。 他喜欢为客户提供技术和战略指导,并帮助他们在 AWS 上设计和实施解决方案。
普什米人迷雾 是 Amazon Rekognition 自定义标签的高级产品经理。 工作之余,Pashmeen 喜欢冒险远足、摄影以及与家人共度时光。
- "
- &
- 10
- 100
- 116
- 7
- 9
- ACCESS
- 账号管理
- 行动
- Ad
- 增加
- 额外
- 地址
- 算法
- 所有类型
- 已经
- Amazon
- 分析
- 分析
- 另一个
- API
- 应用领域
- 应用领域
- 架构
- 自动化
- 可使用
- AWS
- 边界
- 盒子
- 建立
- 建筑物
- 商业
- 呼叫
- 可以得到
- 更改
- 分类
- 码
- 沟通
- 计算
- 信心
- 安慰
- 包含
- 经济有效
- 再加
- 创建
- 创建
- 作物
- 习俗
- 合作伙伴
- XNUMX月XNUMX日
- data
- 部署
- 部署
- 部署
- 设计
- 检测
- 开发
- 研发支持
- 不同
- 直接
- 疾病
- 分布
- 文件
- 不会
- 容易
- 邮箱地址
- 使
- 工程师
- 输入
- 活动
- 例子
- 专门知识
- 延长
- 家庭
- 高效率
- 终于
- 遵循
- 以下
- 格式
- 发现
- 骨架
- 功能
- 生成
- 有
- 创新中心
- How To
- HTTPS
- 鉴定
- 身分
- 图片
- 实施
- 包含
- 输入
- 可行的洞见
- 互动
- IT
- 只有一个
- 标签
- 学习
- 清单
- 圖書分館的位置
- 寻找
- 机
- 机器学习
- 制作
- 管理
- 颠覆性技术
- 经理
- 消息
- 最低限度
- 模型
- 模型
- 更多
- 旅游导航
- 通知
- 运营
- 附加选项
- 组织
- 摄影
- 预测
- 预测
- 校长
- 市场问题
- 过程
- 过程
- 产品
- 生产
- 优
- 目的
- 很快
- 实时的
- 接收
- 要求
- 资源
- 响应
- 成果
- 运行
- 运行
- 可扩展性
- 鳞片
- 场景
- 无服务器
- 服务
- 特色服务
- 集
- Share
- 简易
- 方案,
- 解决方案
- 解决
- 花费
- 堆
- 标准
- 开始
- 开始
- 州/领地
- Status
- 存储
- 商店
- 商店
- 善用
- 订阅
- 订阅
- 支持
- 系统
- 产品
- 团队
- 文案
- 告诉
- test
- 数千
- 通过
- 次
- 产品培训
- 转让
- 独特
- 使用
- 用户
- 折扣值
- 各种
- 愿景
- 可视化
- 中
- 工作
- 工作组