零售自动化

实时视觉 AI 辅助零售收银扫描仪 

借助采用 NPU 的快速视觉 AI 模型,提高零售和条形码扫描仪的效率

应用手册
实时视觉 AI 辅助零售收银扫描仪 

应用概述

零售收银系统正朝着低接触和自助式使用的方向发展,减少了对每件商品逐一扫描或录入条码的需求。基于图像的 AI 模型可以区分多种产品,包括同时识别多种产品,方便客户快速录入整张订单,并根据需要进行少量修正。如有需要,AI 可以通过在产品上快速查找一维码和二维码来帮助读取同一系统中的条形码。

边缘 AI 支持在本地处理器上进行图像处理,快速、实时给出结果,同时保护客户隐私。数据保留在器件上,防止网络稳定性影响客户,同时还可降低基于云的 AI 的经常性成本。

AM62A 和 AM67A 等器件配备 C7™ NPU,与等效器件上的 CPU 相比,神经网络模型的性能提升高达 50 倍。更高端的系统可以集成额外的摄像头,用于提供额外的视角,从而提高检测精度或增加防盗功能,避免库存损耗。 

开始评估

数据收集

视觉 AI 模型使用图像进行训练;对于零售扫描仪的物体检测,YOLOX 等物体检测模型是理想选择。该模型可检测并区分多种不同产品。模型将识别的真实标签(即注释)是“边界框”,其中包含产品所在的图像区域以及产品的具体类别。

图像可由摄像头采集,而在最终产品中使用摄像头拍摄的图像也将大有帮助。一份良好的数据集会在场景、光照条件和物体摆放方向等方面具有各种贴近现实的变化。可以使用 TI EVM 搭配 CCStudio™ Edge AI Studio 来采集图像并进行注释,也可以通过手动将图像上传到工具中来完成此类操作。

数据质量评估

准确的模型需要具有良好注释的图像数据。注释(边界框)必须准确到商品所在位置。 

 

一份良好的数据集必须包含贴近现实的场景和变化,包括以下部分:

 

  • 产品部分重叠或相互接触。 
  • 应存在属于不可购买产品的物体,如客户的手、衣服、钱包等。 
  • 全天不同时间段的照明变化或产品反光。
  • 产品存在轻微损坏,但仍可为人类所识别。

构建并训练模型

模型可通过 CCStudio™ Edge AI Studio 或 edgeai-modelmaker 针对 TI 支持的神经网络进行训练。经验更丰富的开发人员可能更倾向于使用 PyTorch 或 TensorFlow 来训练自定义网络。

寻找符合您需求的模型

首先将搜索范围缩小到物体检测模型。由于零售系统可能需要检测大量不同的物体,因此尺寸更大、分辨率更高的模型可能会有更大帮助。较大模型的运行速度较慢,因此需要根据系统所需的响应速度来实现平衡。较大模型更有益于处理大量不同的产品。

YOLO-Small (S) 和 YOLOX-Nano 等型号模型具有类似的架构,但前者将采用更多(更大)层来提高精度。

对于较小、较快的模型(如条形码检测器),会先采用分辨率较低的模型来确定感兴趣区域,再由传统算法将结构化视觉数据解码为产品编号或 SKU。

部署模型

模型部署要求事先针对目标硬件加速器对模型进行编译。使用 Edge AI Studio 和 edgeai-modelmaker 等工具时,编译会自动完成。否则,编译模型需要通过 TI GitHub 上的 edgeai-tidl-tools 等软件包,使用“自带模型”流程单独进行。

模型工件通过 ONNX Runtime、LiteRT(前称为 tensorflow-lite)和 TVM 等运行时进行部署,使用 TI Deep Learning (TIDL) 作为后端软件来进行硬件加速。

要将模型部署到端到端的视觉应用中,可首先使用 edgeai-gst-apps,该工具除了能加速 AI 模型本身外,还通过多个硬件加速阶段构建处理流程,实现对图像的预处理和后处理。

除了 edgeai-gst-apps,我们还为零售收银和条形码扫描构建了两套单独的演示程序。我们针对每个模型都训练了演示级模型,并将其包含在代码库中;相关代码库的链接可前往支持资源获取。

零售应用中的商品目录会定期发生增删,因此不断重新训练和更新模型非常重要。对于完整的量产级系统,必须建立在线更新机制。

选择适合您的器件

器件选择将取决于所需的 AI 性能水平和摄像机吞吐量(分辨率和帧率)。

请注意,AM67A 包含 2 个 C7 NPU 内核,每个内核的性能都与 AM62A 的基准水平相当。多个模型可以在不同的内核上运行,也可以共享一个内核。

下表中的基准测试数据是使用 SDK 版本 10.1 生成的。 

产品型号
处理内核
NPU 是否可用
模型基准
YOLOX-Nano (416x416) 性能
SSD-Mobilenetv2 (512x512) 性能
YOLOX-Small (640x640) 性能
AM62A7
4 个 Arm®
Cortex®-A53 + C7™ NPU
2TOPS

8.69ms

115 FPS

14.51ms

68 FPS

38.6ms

25 FPS

TDA4VM
2 个 Arm® Cortex®-A72 + C7™ NPU
8TOPS

4.23ms

236 FPS

5.46ms

183 FPS

10.1ms

99 FPS

FPS(帧每秒)

 

入门所需的所有硬件、软件和资源

硬件

SK-AM62A-LP
AM62A 是 AM6xA 系列中成本最低的 AI 加速器件,非常适合用于评估。可使用通用 USB 摄像头或网络摄像头对实时数据进行图像采集和模型评估

软件与开发工具

PROCESSOR-SDK-LINUX-AM62A
该边缘 AI 处理器 SDK 基于 Linux,包含运行经硬件加速的已编译模型所需的软件组件。其他经过边缘 AI 加速的处理器可以替代 AM62A

CCStudio™ Edge AI Studio
此工具包含用于训练、编译模型并将其部署到 TI 边缘 AI 处理器的工具。提供了模型选择工具,可查看热门模型的预生成基准测试结果。

命令行工具
适用于支持 Linux 和 TIDL 的微处理器器件的工具。TI 的边缘 AI 解决方案通过提供丰富的工具集和经优化的库,简化了 DNN 开发与部署的整个产品生命周期。 

工业 | 视觉

借助 AI 加速处理器和业界通用软件,以高帧率实时查找并定位特定物体和人物

工业 | 分类

借助 AI 加速器,在各种场景中通过基于视觉的 AI 以高于 120FPS 的帧率检测人员