温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
Jetson_nano
购物
小车
系统
设计
实现
杨强强
本期推荐本栏目责任编辑:代影Computer Knowledge and Technology电脑知识与技术第19卷第4期(2023年2月)基于Jetson nano的跟随购物小车系统的设计与实现杨强强1,2,宋子诚2,姜凌昊2,吴佳成2(1.上海大学 通信与信息工程学院,上海 200000;2.上海电力大学 电子与信息工程学院,上海 200000)摘要:以疫情背景下减少超市环境中人与人之间的相互接触,减轻购物时的负担,提升购物时的效率与便捷性为目的,提出并设计一种基于Jetson nano开发板的自动跟随购物小车。小车由Jetson开发板作为主控系统,利用摄像头拍摄画面传入系统作为输入,采用深度学习方法实现跟随算法的完成。具体采用哈希算法作为行人匹配的工具,卡尔曼滤波方法进行行人轨迹预测,由超声波模块进行紧急躲避障碍功能,预防小车在突发情况下撞到障碍或丢失目标人物。关键词:智能跟随小车;超声模块;摄像头;哈希算法;卡尔曼滤波中图分类号:TN871,TP368文献标识码:A文章编号:1009-3044(2023)04-0007-03开放科学(资源服务)标识码(OSID):1 引言截至目前,我国的人口基数仍然较大,在普通的超市和购物商场中,消费和购物的流程比较复杂,时间花费长。放置商品是普通的购物车唯一能做到的功能,其应用过于单一1。据中国连锁经营协会数据统计,预计到今年,无人零售商店交易额将达到1.8万亿元2。但在当前阶段,中国的无人超市发展仍在探索,而且在发展过程中还存在一些问题,人与人之间一些必要的接触很难避免3。若想提高购物的效率,减少顾客间的接触,本文提出了以Jetson nano开发板为核心控制器的智能跟随购物小车,小车可以在识别顾客后,进行无接触跟随,直到整个购物过程结束。并设计了超声波避障功能,以避免突然出现的行人或者购物车之间发生碰撞。2 智能购物车硬件设计2.1 硬件系统总体设计系统硬件主要需要实现两个功能:在起始阶段,根据摄像头和图像学习的知识,提取出目标人物的特征,确定要跟随的目标并在使用过程中全程保持跟随;通过超声波模块定位与小车有一定距离的物体,躲避突然进入路线中的物体,避免发生碰撞。智能购物小车结构框图如图1所示。2.2 Jetson nano主控Jetson Nano由英伟达出品的,是一款体积较小,性能较强的智能芯片,这款芯片包含了四核Cortex-A57 处理芯片,配备了 4GB LPDDR 内存以及 128 核Maxwell GPU,支持多种算法和 AI 框架,如 TensorFlow、PyTorch、Caffe 等,支持 NVIDIA JetPack,这就使得许多神经网络可以在开发板上并行运行,进而可以实现图像分类、人脸识别、目标检测、语音处理及物体识别追踪等功能,适用于开发小结构、低成本、低能耗的设备4。Jetson nano优点很多,例如体型微小,性能强大,性价比较高,整体采用类似树莓派的硬件设计。而且其专为AI而设计,性能相比树莓派更强大,可为机器人终端、工业视觉终端带来足够的AI算力。2.3 超声波避障模块超声波模块是具有避障功能的硬件。此模块是根据超声波的方向性好、反射能力强的特点设计的5。本购物小车中超声模块采用HC-SR04,它可提供2400cm的非接触式距离测试,测距精度可高达3mm。此款超声波模块性能稳定,体积小6。在使用中Jetson nano板子控制两个模块每隔秒依次轮流发出超声波,当一定距离之内有障碍物时,会触发避障算法进行躲避障碍物的移动7。主控器会根据摄像头传来的画面分析备选路线,选取路线进行避障。由超声波检测小车周围物体,如果距离小于特定距离,就启动避障算法,由主控模块传输信号给下位机的收稿日期:2022-07-21基金项目:国家自然科学基金项目(61601282)作者简介:杨强强(1974),男,江西九江人,硕士,主要研究方向为人工智能,云计算;宋子诚,硕士;姜凌昊,硕士;吴佳成,硕士。图1智能购物车结构框图E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.19,No.4,February20237DOI:10.14004/ki.ckt.2023.0194本栏目责任编辑:代影本期推荐Computer Knowledge and Technology电脑知识与技术第19卷第4期(2023年2月)单片机,单片机用来控制小车底盘和调整小车姿态,达到躲避障碍物的目的。主控部分连接图如图2所示。图2主控部分连接图3 智能购物小车软件程序设计智能购物小车的程序采用YOLO算法检测画面中的行人,根据初始选中的人完成跟随和避障工作。具体流程图如图3所示。图 3主程序流程图3.1 YOLO检测框首先,模型的backbone替换为了shufflenetV2,相比原先的backbone,内存减少了一些,更加轻量,其次Anchor的匹配机制,参考的是YOLOv5,然后是检测头的解耦合,这个也是参考YOLOv5的,将检测框的回归,背景的分类以及检测类别的分类有YOLO的一个特征图解耦成3个不同的特征图,其中前景背景的分类以及检测类别的分类采用同一网络分支参数共享。采用BN层能够加快模型收敛速度,对于正则化效果会降低过拟合的负面影响。在YOLOv2中,每个卷积层后面都添加了BN层,并且不再使用 drop out。使用 BN 层后,YOLOv2 的mAP略有提升。YOLOv1先在ImageNet(224*224)分类数据集上预训练模型的主体部分(大部分目标检测算法),获得较好的分类效果,然后再训练网络的时候将网络的输入从224*224增加为448*448。但是直接切换分辨率,检测模型可能难以快速适应高分辨率。所以YOLOv2增加了在ImageNet数据集上使用448*448的输入来finetune分类网络这一中间过程(10 epochs)。使用高分辨率分类器后,YOLOv2 的mAP提升了约4%。YOLOv2引入了一个anchor boxes的概念,这样做的目的就是得到更高的召回率,YOLOv2的边界框可以达到1000多个(论文中的实现是845个)。输入由448*448 改为 416*416,下采样 32 倍,输出为 13*13*5*25。采用奇数的gird cell 是因为大图像的中心往往位于图像中间,为了避免四个gird cell参与预测,我们更希望用一个gird cell去预测。为了更快的运算速度,尽管mAP下降,召回率的上升揭示着这个的模型有更大的提升空间。3.2 pHash算法pHash 指感知哈希算法,其利用离散余弦变换(DCT)降低图片的频率,相比aHash有更好鲁棒性8。基本原理为缩小尺寸。将图片缩小为8*8后灰度化处理缩小的图片,然后计算DCT。DCT是一种特殊的傅里叶变换,并且DCT矩阵从左上角到右下角代表越来越高频率的系数,只保留左上角的低频区域。之后计算哈希值,将每个DCT值,与平均值进行比较。大于或等于平均值,记为1,小于平均值,记为0,由此生成二进制数组。(与aHash类似)最后通过图片匹配,计算汉明距离。其中一维DCT变换公式:F()u=c()ui=0N-1f()i cos|()i+0.5 Nu(1)c()u=|1N,u=02N,u 0(2)3.3 卡尔曼滤波卡尔曼滤波(Kalman Filtering,KF)算法通过线性系统状态方程,利用系统输入输出的观测数据,对系统状态进行最优估计的算法。卡尔曼滤波的一个典型实例是从一组有限的,对物体位置的,包含噪声的观察序列中预测出物体的坐标位置及速度9。卡尔曼滤波在动态系统中便于估计系统的最优状态。即使系统中含有噪声在系统状态参数里,卡尔曼滤波也能够完成对状态真实值的最优估计。8本期推荐本栏目责任编辑:代影Computer Knowledge and Technology电脑知识与技术第19卷第4期(2023年2月)卡尔曼滤波的原理是通过输入输出观测数据对系统状态进行最优估计,对于运动状态频繁变化运动行为的预测更加适用。卡尔曼滤波动态轨迹预测系统的状态方程如下所示:X()k+1=A()k X()k+T()k W()k(3)Z()k=H()k X()k+V()k(4)其中,X(k)表示系统状态向量,描述了在k时刻下运动对象状态矢量;A(k)表示状态转移矩阵,用于描述由前一时刻到当下时刻下的运动状态转移方式;T(k)为干扰转移矩阵;W()k表示运动模型的系统状态噪声,其统计特性与白噪声或高斯噪声相似;Z(k)表示观测向量,描述了k时刻的观测值;H(k)为观测矩阵,对于单测量系统,H(k)为1*1维的矩阵;V(k)为运动估计过程中产生的观测噪声10。递归算法是整个卡尔曼滤波的核心,递归可以使算法达到最优状态估计的估计模型,前一时刻的估计值与当前时刻的观测值做动态变换,来更新当前状态变量的估计,基于前k个观测值得出k时刻下的最优状态估计x(k),计算最小方差计算的策略公式如下所示。J=E()xk-xk()xk-xkT(5)3.4 检测框漏检算法在程序运行的过程中,发现视频中会有检测框漏掉某几帧的情况,为了减轻运行内存,提高识别和检测框的效率,加入了一个算法来去掉多余的检测框。首先算法给每个框赋予生命值。生命值的大小就是每个检测框可以最大漏检数。下一帧框的信息与上一帧的做匹配,若匹配成功就更新框的信息,若匹配失败就减小相应框的生命值。当生命值减小为0,就视为该检测框信息应该被舍弃,然后进行删除检测框信息的操作。4 实现与分析小车实物图4所示。图4小车实物图如图5(a)所示,程序运行后,手动画出购物车要跟随的主体,蓝色的框是手动选取时的框体,目的是选择其中一人进行跟随。图5(b)为程序运行后的画面,浅蓝色框选取的是我们的目标人物,红色框是画面中其他的人物,是小车需要躲避的主体。当人物开始移动,小框会根据卡尔曼滤波的预测结果进行移动,保持所选人物在画面中。如图5(c)中当两人重合之后,小框会保持锁定在我们最初选择的人物身上,保持跟随状态。图5(d)展示的是当两人分开之后,小框会保持锁定在我们最初选择的人物身上,继续跟随最初的目标,达到紧密跟随,防止目标丢失。5 结束语本文以Jetson nano为硬件基础,开发语言为Python,超声波模块和摄像头为辅助模块,设计了一款具有图像识别、自动避障的智能购物小车,实现了对行进路线、超市货架及摄像头拍摄范围内障碍物及其方位的检测,并对检测的结果通过算法进行避障,从而实现智能小车可以自动跟随人进行购物,减少不必要的接触,提供一个较为安全的购物环境。参考文献:1 欧其胜,杨桂华.基于机器视觉的一种智能购物车J.大众科技,2022,24(2):9-12.2 王渺熠,杨静.新零售背景下中国无人超市发展问题研究J.经济师,2022(4):28-30.3 敬红彬,亢远飞.疫情防控常态化背景下节能超市工作的回顾与思考J.节能与环保,2020(5):16-17.4 赵春梅.基于深度学习的实时目标跟踪应用研究D.成都:中国科学院大学(中国科学院光电技术研究所),2019.5 杨志江,郑昆,耿春明,等.基于RS-485总线的多路超声波传感器测距系统设计J.传感器与微系统,2018,37(12):79-82.6 李治国.基于粒子群和支持向量机的网络入侵检测模型的建立与仿真J.电子设计工程,2018,26(11):81-85.7 严莉莉,张慎,胡应超,等.基于51单片机的智能盲人助行器的设计J.微型电脑应用,2021,37(6):22-24.8 张华,曹林.结合pHash和稀疏编码的素描人脸合成方法J.计算机工程与应用,2019,55(22):187-194,200.9 高端阳,李安,傅军,等.基于鲁棒无迹卡尔曼滤波的无线室内定位算法J.中国惯性技术学报,2018,26(6):768-772.10 乔少杰,韩楠,朱新文,等.基于卡尔曼滤波的动态轨迹预