企业文化

  • 首页
  • 企业文化
  • 优化Purina的Petfinder应用中的宠物资料,使用Amazon Rekognition自定义

优化Purina的Petfinder应用中的宠物资料,使用Amazon Rekognition自定义

2026-01-27 12:34:39

优化Purina Petfinder应用中的宠物资料

重要收获

Purina借助Amazon Rekognition Custom Labels和AWS Step Functions自动化宠物品种识别,提升了宠物领养平台的效率。通过机器学习模型预测宠物品种,显著降低了创建宠物资料的时间,从7分钟减少到4分钟。采用现代化的AWS服务如Lambda、DynamoDB等,实现了一种可扩展且低维护的解决方案。

Purina美国家庭的坚实支持者,致力于通过Petfinder这一数字市场,帮助更多人轻松领养宠物。该平台汇聚了来自美国、加拿大和墨西哥的超过11000个动物收容所和救援组织,成为领先的宠物领养平台,帮助数以百万计的宠物找到永久家园。

Purina不断探索改善Petfinder平台的方法,以便更好地服务收容所、救援组织和宠物领养者。然而,他们面临的一个主要挑战是准确显示待领养动物的特定品种。由于很多收容所动物是杂交品种,准确识别动物的品种和特征需要手动努力,耗时较长。因此,Purina决定利用人工智能AI和机器学习ML来大规模自动化这一过程。

飞鸟加速器免费版安装

本篇文章详细介绍了Purina如何使用Amazon Rekognition Custom Labels和AWS Step Functions等AWS服务创建机器学习模型,以识别上传图片中的宠物品种,然后利用预测结果自动填充宠物属性。解决方案重点围绕AI/ML应用程序的基本原则,包括数据准备、模型训练、模型评估和模型监控。

解决方案概述

从图像中预测动物品种需要自定义机器学习模型。这一过程需要时间、专业知识和资源,通常需要几个月才能完成。此外,开发自定义模型通常需要数千到数万张经过手动标注的图像,以便为模型提供足够的数据,准确做出决策。而建立审计或检验模型预测遵循要求的工作流,往往会增加整体复杂性。

借助于基于现有功能的Rekognition Custom Labels,您可以识别图像中符合您业务需求的对象和场景。它已经在数千万张跨多个类别的图像上进行了训练。与需要成千上万张图像相比,您只需上传特定于用例的小型训练图像集通常每个类别几百张或更少。

解决方案所使用的服务包括:

服务名称描述Amazon API Gateway全托管服务,帮助开发者发布、维护、监控和保护API。AWS Cloud Development Kit开源软件开发框架,支持使用现代编程语言定义和部署云基础设施。AWS CodeBuild全托管的持续集成服务,编译源代码,运行测试,并生成部署准备包。Amazon DynamoDB快速灵活的非关系型数据库服务,支持多种规模。AWS Lambda事件驱动的计算服务,无需配置管理服务器即可运行代码。Amazon Rekognition提供预训练和可定制的计算机视觉能力,提取图像和视频中的信息与洞察。AWS Step Functions全托管服务,方便协调分布式应用和微服务的组件。AWS Systems Manager安全的端到端资源管理解决方案,适用于多云和混合环境。

Purina的解决方案部署为API Gateway HTTP端点,负责处理获取宠物属性的请求。使用Rekognition Custom Labels来预测宠物品种。机器学习模型训练使用Purina数据库中的宠物资料,假定主要品种标签为真实标签。DynamoDB用于存储宠物属性。Lambda通过协调整个过程处理宠物属性请求,连通API Gateway、Amazon Rekognition和DynamoDB。

架构实现如下:

Petfinder应用通过API Gateway处理获取宠物属性的请求。API Gateway调用Lambda函数来获取宠物属性。Lambda函数调用Rekognition Custom Label推断端点来预测宠物品种。Lambda函数使用预测的宠物品种信息在DynamoDB表中查找宠物属性,收集结果并返回给Petfinder应用。

以下图示展示了解决方案工作流。

Purina的Petfinder团队希望能有一个自动化解决方案,能够以最少的维护投入进行部署。为实现这一目标,我们利用Step Functions创建了一个状态机,用于使用最新数据训练模型,并校验其在基准集上的表现情况,若表现提升则重新部署模型。模型的再训练是通过用户提交的配置信息中触发的品种修正数量来激活的。

模型训练

开发自定义模型用于分析图像是一项庞大的工作,需要时间、专业知识和资源。此外,通常需要数千到数万张手动标注的图像,为模型提供足够的数据,以便准确做出决策。这一数据的生成可能需要数月的时间,也需要大量的精力去标注供机器学习使用。借助一种名为转移学习的技术,可以通过借用预训练模型的参数来生产出更高质量的模型,并允许使用更少的图片进行训练。

我们的挑战在于数据并不是完美标记的:输入配置信息的人很可能会犯错误。然而,我们发现在足够大的数据样本中,标记错误的图像仅占很小的比例,模型性能的准确性未受到过多影响,不超过2。

机器学习工作流与状态机

Step Functions状态机器的开发旨在帮助自动重新训练Amazon Rekognition模型。通过收集配置信息过程中的反馈,每当用户将从图像推断出来的品种改成不同的品种时,系统都会记录这一修正。这一状态机在达到可配置的修正次数阈值和其他数据后触发。

状态机通过几个步骤生成解决方案:

创建包含图像路径及其标签的训练和测试清单文件,供Amazon Rekognition使用。使用清单文件创建Amazon Rekognition数据集。在数据集创建后训练Amazon Rekognition模型版本。训练完成后启动模型版本。评估模型并生成性能指标。如果性能指标令人满意,就在Parameter Store中更新模型版本。等待新模型版本在Lambda函数中传播20分钟,然后停止之前的模型。

模型评估

我们使用随机抽取的20保留集对我们的模型进行验证。因为我们检测的品种是可配置的,所以在训练期间我们不会使用固定数据集进行验证,但在集成测试时会使用手动标注的评估集。手动标注集和模型可检测品种之间的重叠用于计算指标。如果模型的品种检测准确性超过指定阈值,我们就会将该模型推广使用于端点。

以下是来自Rekognition Custom Labels的宠物预测工作流的几张截图。

AWS CDK的部署

使用AWS CDK及Python将Step Functions状态机和相关基础设施包括Lambda函数、CodeBuild项目和Systems Manager参数部署。AWS CDK代码生成CloudFormation模板,以此部署解决方案所需的所有基础设施。

与Petfinder应用的集成

Petfinder应用通过API Gateway端点访问图像分类端点,使用包含图像Amazon S3路径和返回结果数量字段的JSON负载进行POST请求。

关键绩效指标KPIs

为了证明在运行图像推断端点上增加的费用的价值,我们进行了实验来评估该端点为Petfinder带来的效益。端点的使用提供了两个主要类型的改进:

减少创建宠物资料时收容所的工作量更完善的宠物资料,预计将提高搜索相关性

衡量工作量和资料完整性的指标包括被更正的自动填充字段数量、填写的字段总数和上传宠物资料所需的时间。搜索相关性的改善通常通过衡量与领养率相关的关键绩效指标间接反映。据Purina称,自解决方案上线以来,Petfinder应用程序中创建宠物资料的平均时间已从7分钟减少到4分钟。这是一次巨大的改进,因为在2022年,总共上传了400万条宠物资料。

安全性

架构图中的数据在传输过程中和静止状态下均进行了加密,遵循了AWS WellArchitected最佳实践。在所有AWS交接过程中,安全专家会审查解决方案,以确保提供安全性实施。

结论

通过基于Rekognition Custom Labels的解决方案,Petfinder团队能够加快为宠物收容所创建宠物资料的速度,减轻收容所人员的行政负担。使用AWS CDK部署的解决方案包括自动化培训和部署流程的Step Functions工作流。如需开始使用Rekognition Custom Labels,请参阅开始使用Amazon Rekognition Custom Labels。您还可以查看一些Step Functions示例和开始使用AWS CDK。

作者介绍

Mason Cahill 是AWS专业服务的高级DevOps顾问。他喜欢帮助组织实现其商业目标,并对在AWS云上构建和交付自动化解决方案充满热情。工作之余,他喜欢和家人共度时光、徒步旅行和踢足球。

Matthew Chasse 是亚马逊AWS的数据科学顾问,帮助客户构建可扩展的机器学习解决方案。Matthew拥有数学博士学位,空闲时间喜欢攀岩和音乐。

优化Purina的Petfinder应用中的宠物资料,使用Amazon Rekognition自定义

Rushikesh Jagtap 是一名解决方案架构师,拥有超过5年的AWS分析服务经验。他热衷于帮助客户构建可扩展的现代数据分析解决方案,以从数据中获得洞察。工作之余,他喜欢看Formula1、打羽毛球和赛车。

Tayo Olajide 是一名经验丰富的云数据工程师,拥有超过十年的经验,在云环境中架构和实施数据解决方案。热衷于将原始数据转化为有价值的洞察,Tayo在设计和优化各种行业的数据管道方面发挥了重要作用。工作之外,他经常探索最新的技术趋势、户外徒步旅行,或研究小工具和软件。