• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于光流法的自动售货机

小作家报·教研博览
广州工商学院?广东?佛山?528138


打开文本图片集

< a rel="example_group" title="Custom title" href="http://img.resource.qikan.cn/qkimages/xzjb/xzjb202316/xzjb202316289-2-l.jpg">

摘要:运动目标跟踪在自动售货机中启动了至关重要的作用。本文提出了一种将光流法应用于自动售货机的方法,方法能够探测并提取运动物体角点特征,并识别跟踪运动的物体。首先,应用Shi-Tomasi角点检测提取视频流中的图像特征,然后将检测出来的角点特征输入给Kanade-Lucas-Tomasi(KLT)算法估测相邻两帧图像中特征点移动的位置关系,最后,方法可以根据这些位置关系确定物体的移动轨迹,从而确定售货机中是否有运动物体,将信息提供给上位机进行自动判断。实验结果表明,方法可以有效跟踪运动的手部和手中的物体。

关键词:运动目标跟踪、Shi-Tomasi角点检测、Kanade-Lucas-Tomasi(KLT)、自动售货机

中图分类号:A 文献标识码:A 文章编号:(2023)-16-

1.引言

完全依靠算法检测跟踪运动物体,对算法的鲁棒性提出了很高要求,运动的物体将面临平移、旋转、光线明暗变化、尺度变换、视野消失等多种情况的挑战[1]。考虑到售货机成本与计算量,无需使用GPU等昂贵计算成本,使用传统机器视觉的方法也能够达到很好效果。帧间差分法是将视频流中相邻两帧或相隔几帧图像的两幅图像像素值相减,并对相减后的图像进行阈值化来提取图像中的运动区域,但方法无法识别静止或运动速度很慢的目标,并且运动目标表面有大面积灰度值相似区域的情况下,在做差分时图像会出现孔洞。背景差分法是一种对静止场景进行运动分割的通用方法,它将当前获取的图像帧与背景图像做差分运算,得到目标运动区域的灰度图,对灰度图进行阈值化提取运动区域,而且为避免环境光照变化影响,背景图像根据当前获取图像帧进行更新。方法比较简单,一定程度上克服了环境光线的影响,但是对背景图像实时更新困难。近几年来,ViBe方法被提出,ViBe是一种像素级视频背景建模或前景检测的算法,效果优于所熟知的几种算法,对硬件内存占用也少[2]。该算法主要不同之处是背景模型的更新策略,随机选择需要替换的像素的样本,随机选择邻域像素进行更新。在无法确定像素变化的模型时,随机的更新策略,在一定程度上可以模拟像素变化的不确定性。但是ViBe算法自身也存在着局限性。主要有静止目标、阴影前景和运动目标不完整等问题。

光流法是一种经典的目标跟踪算法,对于一个连续的视频帧序列进行处理,针对每一个视频序列,利用一定 目标检测方法,检测可能出现的前景目标,如果某一帧出现了前景目标,找到其具有代表性的关键特征点,对之后的任意两个相邻视频而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标,如此迭代进行,便可实现目标的跟踪。光流法的优点在于光流不仅携带了运动物体的运动信息,而且还携带了有关景物三维结构的丰富信息,它能够在不知道场景的任何信息的情况下,检测出运动对象。随着现代计算机性能的提高,光流法计算耗时,实时性差这些问题得到了解决。因此算法可以应用在自动售货机上,让机器自动判断是否有人取出商品。

2.光流法原理

光流表达图像的变化,包含目标运动的信息,可用来确定目标的运动。算法假设目标在视频流中,只产生一致性的小位移,并且目标的灰度变化不大。那么算法必须是在以下3个假设成立的前提下发挥良好的效果:(1)亮度恒定,前后帧观测到的对应点的灰度值一样。(2)时间连续或者运动位移小。(3)空间一致性:邻近点有相似运动,同一子图像的像素点具有相同的运动。光流法算法流程图如图1所示:

在图1中,对于视频流中的第一帧图像先利用Shi-Tomasi角点检测提取特征,将特征保存下来,从第二帧图像开始进行特征点的跟踪,在跟踪过程中一些特征点将会发生丢失,于是不断用当前新的特征点替换原来的特征点,同时将那些静止不动,没有发生位置变换的特征点删除,如此迭代下去,便可以通过特征点之间的移动轨迹跟踪物体的移动。

3.实验

(1)图像预处理:图像灰度化,将输入的彩色图像转换成灰度图像。

(2)角点检测:采用shi-tomasi算法对图像进行角点检测,效果如图2所示。

通过shi-tomasi角点检测将图像中的所有角点检测出来,将它们作为特征点,如果图像当中有物体发生了移动,如图3中的手和手中的饮料,则这些角点也将跟随移动,且发生变化,因此在第二帧图像中需要更新这些特征点。

(3)采用Kanade-Lucas-Tomasi (KLT)对角点特征进行跟踪,从第二帧开始,一些静止不动的角点与前一帧相比将不会再更新,窗户,衣柜的角点已经被抹去,只有饮料上有几个角点存在。当手拿着饮料移出视野时,饮料上开始出现了大量特征点,当移动到一定程度,算法判断移动的特征点的数量大于一定的数值时,通过KLT算法开始跟踪这些特征点,产生一定的移动轨迹,

4.总结

光流法是建立在光照不变性、运动连续性、空间一致性三个假设条件基础之上的,而自动售货机的适用场景刚好满足这三个条件,售货机中有固定的光源,用户取货拿货动作都是连续性的,同时空间也保存一致。采用光流法,先使用shi-tomasi算法检测图像中的角点特征,将他们作为跟踪的特征点,然后采用KLT对这些角点特征进行跟踪,在跟踪过程中会出现丢失特征点的现象,通过不断的更新新的特征点保持跟踪状态,从而绘制出物体的运动轨迹,给自动售货机做出自动判断。

参考文献

[1]刘向前, 闫娟, 杨慧斌,等. 基于改进光流法的目标跟踪技术研究[J]. 上海工程技术大学学报, 2021, 35(3):6.

[2]周莹, 谢妙华. 一种基于图像采集装置的自动售货机:, CN213424080U[P]. 2021.

[3]Lima M , Kurka P , Silva Y , et al. Indoor visual localization of a wheelchair using Shi-Tomasi and KLT[C]// Electrical & Computer Engineering. IEEE, 2017.

[4]郑大宇, 王巍. 基于网络的自动售货机的实现方法[J]. 哈尔滨商业大学学报:自然科学版, 2005, 21(6):4.

本文在教学方面的研究是在2022-2023学年广州工商学院大学生创新创业训练计划项目,编号(xj202313714103)的基础上进行研究探讨的,后续会再进一步对这方面提出改进措施。

*本文暂不支持打印功能

monitor