这是一篇客座文章,作者是 The Barcode Registry 的软件工程师 Andrew Masek 和 The Barcode Registry 的首席执行官 Erik Quisling。
产品伪造是世界上最大的犯罪活动。 在过去的二十年中,假冒商品的销售额增长了 10,000% 以上,现在全球每年的销售额达到 1.7 万亿美元,超过了毒品和人口贩运。 尽管独特的条形码和产品验证等传统的防伪方法可能非常有效,但物体检测等新的机器学习 (ML) 技术似乎很有前景。 通过对象检测,您现在可以拍摄产品图片,并且几乎可以立即知道该产品是否可能是合法的或欺诈的。
条码登记 (与其合作伙伴一起 购买条码网) 是一种全方位服务的解决方案,可帮助客户防止产品欺诈和假冒。 它通过销售独特的 GS1 注册条码、验证产品所有权以及在综合数据库中注册用户的产品和条码来做到这一点。 他们的最新产品,我们在这篇文章中讨论,使用 亚马逊SageMaker 创建对象检测模型以帮助立即识别假冒产品。
解决方案概述
要使用这些对象检测模型,您首先需要收集数据来训练它们。 公司将其产品的注释图片上传到条码注册处 官网. 将此数据上传到 亚马逊简单存储服务 (Amazon S3) 并由 AWS Lambda 函数,您可以使用它来训练 SageMaker 对象检测模型。 此模型托管在 SageMaker 端点上,网站将其连接到最终用户。
使用 SageMaker 创建用于创建自定义对象检测模型的 Barcode Registry 的三个关键步骤:
- 为 SageMaker 创建一个训练脚本以运行。
- 从训练脚本构建 Docker 容器并将其上传到 Amazon ECR。
- 使用 SageMaker 控制台使用自定义算法训练模型。
产品数据
作为训练对象检测模型的先决条件,您将需要一个 AWS 帐户和训练图像,其中包含至少 100 张对象的高质量(高分辨率和多种照明条件)图片。 与任何 ML 模型一样,高质量的数据至关重要。 为了训练对象检测模型,我们需要包含相关产品的图像以及描述产品在图像中位置的边界框,如下例所示。
为了训练一个有效的模型,需要一个品牌的每个产品在不同背景和照明条件下的图片——每个产品大约有 30-100 个独特的注释图像。
将图像上传到 Web 服务器后,它们会使用 适用于 PHP 的 AWS 开发工具包. 每次上传图片时都会触发一个 Lambda 事件。 该函数会从图像中删除 Exif 元数据,这有时会导致它们在被稍后用于训练模型的 ML 库打开时出现旋转。 关联的边界框数据存储在 JSON 文件中并上传到 Amazon S3 以伴随图像。
用于对象检测模型的 SageMaker
SageMaker 是一项托管 ML 服务,其中包括用于在云中构建、训练和托管模型的各种工具。 特别是,由于 SageMaker 可靠且可扩展的 ML 模型训练和托管服务,TheBarcodeRegistry 将 SageMaker 用于其对象检测服务。 这意味着许多品牌可以拥有自己的对象检测模型进行训练和托管,即使使用量不可预测地激增,也不会有任何停机时间。
Barcode Registry 使用上传到的自定义 Docker 容器 Amazon Elastic Container注册 (Amazon ECR),以便对用于训练和推理的对象检测算法进行更细粒度的控制,并支持 多模型服务器 (彩信)。 MMS 对于假冒检测用例非常重要,因为它允许多个品牌的模型经济高效地托管在同一台服务器上。 或者,您可以使用内置的 目标检测算法 快速部署 AWS 开发的标准模型。
使用 SageMaker 训练自定义对象检测模型
首先,您需要添加对象检测算法。 在这种情况下,将包含用于训练 Yolov5 对象检测模型的脚本的 Docker 容器上传到 Amazon ECR:
- 在SageMaker控制台上, 笔记本 在导航窗格中,选择 笔记本实例.
- 创建笔记本实例。
- 输入笔记本实例的名称,然后在 权限和加密 选择一个 AWS身份和访问管理 (IAM) 角色具有必要的权限。
- 打开 Git存储库 菜单。
- 选择 仅将公共Git存储库克隆到此笔记本实例 并粘贴以下内容 Git 仓库地址: https://github.com/portoaj/SageMakerObjectDetection
- 点击 创建笔记本实例 并等待大约五分钟以更新实例的状态 待审批 至 在役 ,在 笔记本实例 菜单。
- 一旦笔记本 在役,选择它并单击 行动 和 打开Jupyter 在新选项卡中启动笔记本实例。
- 点击 SageMaker对象检测 目录,然后点击
sagemakerobjectdetection.ipynb
启动 Jupyter 笔记本。 - 点击
conda_python3
内核并单击 设置内核. - 选择代码单元并设置
aws_account_id
变量到您的 AWS 账户 ID。 - 点击 运行 开始构建 Docker 容器并将其上传到 Amazon ECR 的过程。 此过程可能需要大约 20 分钟才能完成。
- Docker 容器上传完成后,返回 笔记本实例 菜单,选择您的实例,然后单击 行动 和 Stop 停止 关闭您的笔记本实例。
构建算法并将其推送到 Amazon ECR 后,您可以使用它通过 SageMaker 控制台训练模型。
- 在SageMaker控制台上, 产品培训 在导航窗格中,选择 培训工作.
- 创建培训作业.
- 输入作业名称并选择 AWS身份和访问管理 (IAM) 角色具有必要的权限。
- 针对 算法来源, 选择 ECR 中您自己的算法容器.
- 针对 容器,输入注册表路径。
- 在资源配置下设置单个 ml.p2.xlarge 实例应该足以训练 Yolov5 模型。
- 为您的输入数据和输出路径以及任何其他设置(例如通过以下方式配置 VPC)指定 Amazon S3 位置 亚马逊虚拟私有云 (Amazon VPC) 或启用托管 Spot 训练。
- 创建培训作业.
自动模型训练
为了让 SageMaker 在用户完成上传数据后立即开始训练对象检测模型,Web 服务器使用 Amazon API网关 通知 Lambda 函数品牌已完成并开始培训工作。
当一个品牌的模型训练成功后, 亚马逊EventBridge 调用一个 Lambda 函数,将经过训练的模型移动到实时端点的 S3 存储桶中,最终准备好进行推理。 您应该考虑使用 Amazon EventBridge 在 MLOps 生命周期中移动模型的更新替代方法是 SageMaker管道.
托管模型以进行推理
要使用经过训练的模型,SageMaker 需要一个由端点托管的推理模型。 端点是用于实际托管推理模型的服务器或服务器阵列。 与我们创建的训练容器类似,用于推理的 Docker 容器托管在 Amazon ECR 中。 推理模型使用该 Docker 容器并获取用户用手机拍摄的输入图像,通过经过训练的对象检测模型运行它,并输出结果。
同样,Barcode Registry 使用自定义 Docker 容器作为推理模型,以启用多模型服务器,但如果只需要一个模型,可以通过内置的对象检测算法轻松托管。
结论
Barcode Registry(与其合作伙伴 Buyabarcode.com 一起)将 AWS 用于其整个对象检测管道。 Web 服务器将数据可靠地存储在 Amazon S3 中,并使用 API Gateway 和 Lambda 函数将 Web 服务器连接到云。 SageMaker 可以轻松训练和托管 ML 模型,这意味着用户可以在手机上为产品拍照,并查看该产品是否为仿冒品。 这篇文章展示了如何使用 SageMaker 创建和托管对象检测模型,以及如何自动化该过程。
在测试中,该模型能够在 90 幅图像的训练集和 62 幅图像的测试集上达到 32% 以上的准确率,这对于在没有任何人工干预的情况下训练的模型来说是相当令人印象深刻的。 要开始自己训练对象检测模型,请查看官方 文件 或学习如何 使用 AWS IoT Greengrass 将对象检测模型部署到边缘.
本文中的内容和观点是第三方作者的观点,AWS对本文的内容或准确性不承担任何责任。
作者简介
- "
- 000
- 10
- 100
- 7
- 关于
- ACCESS
- 账号管理
- 算法
- 尽管
- Amazon
- API
- 自动化
- AWS
- 边界
- 盒子
- 品牌
- 建筑物
- 内建的
- 原因
- CEO
- 云端技术
- 码
- 收集
- 公司
- 配置
- 安慰
- 容器
- 集装箱
- 内容
- 控制
- 伪造
- 创造
- 刑事
- 习俗
- 合作伙伴
- data
- 数据库
- 部署
- 检测
- 发达
- 不同
- 讨论
- 码头工人
- 向下
- 停机
- 毒品
- 容易
- 边缘
- 有效
- 使
- 端点
- 工程师
- 企业
- 活动
- 例子
- 终于
- 姓氏:
- 以下
- 骗局
- 功能
- 混帐
- 货
- 成长
- 客人
- 游客发表
- 帮助
- 帮助
- 创新中心
- How To
- HTTPS
- 人
- 身分
- 图片
- 重要
- 物联网
- IT
- 工作
- 键
- 最新
- 发射
- 学习用品
- 学习
- 地点
- 机
- 机器学习
- 管理
- ML
- 模型
- 模型
- 更多
- 移动
- 旅游导航
- 笔记本
- 提供
- 官方
- 意见
- 秩序
- 其他名称
- 所有权
- 合伙人
- 图片
- 漂亮
- 预防
- 私立
- 过程
- 产品
- 热销产品
- 有希望
- 国家
- 很快
- 承认
- 相应
- 知识库
- 资源
- 提供品牌战略规划
- 运行
- 销售
- 可扩展性
- SDK
- 服务
- 特色服务
- 集
- 类似
- 简易
- 捕捉
- 软件
- 软件工程师
- 方案,
- Spot
- 开始
- 开始
- Status
- 存储
- 商店
- 顺利
- SUPPORT
- 技术
- 测试
- 世界
- 第三方
- 通过
- 次
- 工具
- 跟踪时
- 传统
- 产品培训
- 火车
- 独特
- 更新
- 使用
- 企业验证
- 在线会议
- 等待
- 卷筒纸
- Web服务器
- 您的网站
- 也完全不需要
- 世界
- 全世界
- 年