基于嵌入式设备的超市蔬果结算仪
2022-05-05暨若昀
暨若昀
(东北大学秦皇岛分校控制工程学院,河北 秦皇岛 066003)
0 引言
目前,水果蔬菜等商品的售卖,大多数商场和百货商店仍然采用店员手动输入商品编码的方式计算出蔬果总价,然后贴上条形码,再去到收银台统一结账[1]。
一方面,传统的人工称重采用人工记录价格、排队称重等方式,在购买人数较多时效率很低,存在人力物力的浪费,极大降低了顾客的购物体验。另一方面,传统商场以及大型的百货商店依然延续人工清点、人工柜面支付等模式,在交易量较大时商家管理效率十分低下。
目前来看,现阶段人工智能技术主要是在GPU平台上进行,在现实应用场景中,配备了GPU的设备价格较为昂贵。本系统结合物联网技术和深度学习技术在嵌入式平台jetson nano上进行实现,其体积小,性能优越,部署方便的优点适用于超市或商场的灵活应用场景。
1 系统整体方案
本文基于购物交易的一般环节,提取出顾客与商家两类用户。对于顾客来说,较慢的交易速度势必降低其购物体验;对于商家来说,在管理个人店铺时,存在商品量大、交易量大、客户量大的问题,导致无法有效对销量、收益、商品进行实时地管理与监控[2]。
面向顾客,本系统结合物联网技术、YOLOv4算法的图像识别技术,并使用了性能强大的小型嵌入式开发板jetson nano和单片机开发板Arduino uno,顾客在微信小程序上即可获取订单进行支付,为顾客打造了购物时无人收银、智能称重结算的购物新体验。
面向商家,本系统设计出以数据为基础的管理端,在线实时地监控商品销量、商品效益、商品信息等数据。
本系统的工作流程是:顾客预先将选购的商品放上电子称,利用称重模块自动称得商品的质量,通信模块获取质量数据,并将该数据传输到jetson nano,jetson nano一方面接收该质量数据,另一方面基于YOLOv4算法对商品进行精准预测,经过数据分析与处理,将识别结果和质量数据上传至服务器。接着,服务器对其进行逻辑处理,并将封装的对象数据保存在数据库中,便于后续用户对订单信息的获取。用户通过登录微信小程序,点击获取订单便可以支付,此外,还可以查看相关信息,例如,已支付信息、未支付信息、商品单价等[3]。
本文将研究并实现基于jetson nano嵌入式设备的蔬果结算仪,系统主要分为硬件部分、小程序部分、Web管理端部分。算法上选择的是卷积神经网络YOLOv4,通过对数据集的训练与测试,实现对百货商店蔬果的精准识别与云端结算。
2 系统设计
2.1 硬件平台介绍
本系统划分了6个模块,分别是:称重模块、通信模块、物体检测识别模块、服务器数据库模块、顾客小程序模块,商家Web管理模块。
(1)称重模块。称重模块主要包括称重传感器、HX711模块、arduino uno主控模块、lcd1602显示屏模块,称得商品的质量,并显示在lcd1602屏上。
(2)通信模块。通信模块主要包括esp8266芯片,采用AP的工作模式,在接收到质量数据后,作为服务器,等待物体检测识别模块作为客户端接入,并传送质量数据。
(3)物体检测识别模块。物体检测识别模块主要由小型嵌入式开发板jetson nano搭配CSI摄像头构成,对目标商品进行检测与识别,得到识别结果。此外,还作为客户端接入esp8266芯片,接收esp8266获得的质量数据,并将质量数据与种类识别结果打包上传至服务器。
(4)服务器数据库模块。服务器采用springboot轻量级框架,数据库则是采用开源的关系型数据库管理系统MySQL,该模块主要是对称重模块的所测得的质量数据以及物体检测识别模块所测的物体种类数据进行逻辑处理,并将其封装的对象数据保存在数据库中,方便用户获取。
(5)顾客小程序模块。用户在移动端小程序界面中获取订单信息:商品种类、商品质量、商品单价、需支付等,点击确认便可实现一键支付。
2.2 算法选择
由于超市人流量较大,对识别准确度与实时性的要求提高,因此在处理速度与精度的选择上,处理速度越快,精度越高,就会越适应人类快节奏生活下超市现阶段购买现状。现阶段基于物联网和深度学习技术的目标检测算法分为两类:一类是two-stage目标检测算法,另一类是one-stage目标检测算法。本系统选择的是基于one-stage的目标检测算法YOLOv4,原因是one-stage的目标检测算法可以一边产生候选识别区域,一边直接进行分类和回归。
本系统采用的YOLOv4是在YOLOv3算法基础上的加强。YOLOv4划分为Input、Backbone、Neck、Head四个部分。
(1)Input采用 Mosaic实现数据增强。Mosaic实现原理是在输入图片集中随机选取 4 张图片进行随机缩放,随机裁剪,随机扭曲,然后将它们拼接起来,其目的是丰富样本数据集。
(2)Backbone采用 CSPNet网络结构,用 concat 代替 Add,提取更丰富的特征。
(3)Neck在 YOLOv3 的基础上增加了一个自底向上的 PANet 结构,特征图的尺寸是通过卷积的方式实现的(改变滑动窗口的步长)。
(4)Head用CIOU Loss取代Iou Loss。CIOU Loss的思想是:第一步,在两个框最外层再画一个最小的矩形框,求出这个框的对角线的距离,这个距离就能衡量两个框的距离;第二步,求出两个框中心点的欧式距离,通过该欧式距离能衡量两者的相交情况。
图1 CIOU示意图
3 模型训练结果与分析
3.1 模型训练
初始的水果数据集来自于coco公开数据集,共2.4万张图片,并在此基础上增加6 000张自己的数据集,制成新的数据集。网络共迭代15万次,模型趋于收敛,测试准确度在99.4%以上。loss曲线逐渐趋近于零表示模型逐渐收敛,右边是我们用测试集对模型测试的结果,召回率约为99.4%表示模型识别准确度很高。
在水果数据集中随机选取85%的图片作为训练集,25%的图片作为测试集,生成train.txt,val.txt,est.txt和trainval.txt四个文件。在训练时安装并编译darknet源码,加入已创建好的数据集进行训练。
3.2 识别结果
在经过150 000次迭代后,loss曲线逐渐趋于0,模型逐渐首联,loss值逐渐趋于稳定。使用50 000次迭代后的权重文件在测试集上进行测试,测试准确度在99.4%以上,召回率为99.4%,表示测试准确度很高,基本满足对超市称重现状顾客的需求。
图2 橘子识别结果
表1 水果识别结果
4 结束语
随着当今社会和科技的发展,商铺和超市也将越来越智能化和信息化,商家往往希望投入最少的人力和物力以获取最大的收益,所以设备的智能化也成为当今超市和商铺发展的主流。同时,对于销售量、销售收益,以及商品信息的管理越来越趋向于自动化,这样既可以减少人力的投入,也可以减少出现错误的概率。
伴随着人们生活节奏的加快,人们往往希望减少等待的时间,如果超市和商铺使用平常的电子秤去结算,通常都会造成长时间的等待,而这种较慢的交易速度势必会影响到顾客的购物体验。
所以一款集智能化和信息自动化为一体的商品智能结算系统将会成为商铺和超市未来青睐的商品。