内容发布更新时间 : 2024/12/23 5:05:00星期一 下面是文章的全部内容请认真阅读。
龙源期刊网 http://www.qikan.com.cn
基于扩展MeanShift算法的移动目标跟踪研究及实现
作者:张彬 王永雄 邵翔
来源:《软件导刊》2016年第10期
摘要:为克服时间差分法、模板匹配法、背景去除法以及光流法等传统移动目标跟踪方法的缺点,研究了MeanShift算法及扩展MeanShift算法,然后以LabVIEW为软件平台,实现了基于扩展MeanShift算法的移动目标跟踪程序,并用实验验证了扩展MeanShift算法在移动目标跟踪中的应用具有实时性、实用性、准确性和稳定性。实验结果表明,扩展MeanShift算法能很好地跟踪移动目标,甚至在移动目标被部分遮挡时也能对目标进行准确跟踪。 关键词:MeanShift算法;扩展MeanShift算法;移动目标跟踪;LabVIEW;核函数 DOIDOI:10.11907/rjdk.161908 中图分类号:TP319
文献标识码:A文章编号:16727800(2016)010010605 0引言
随着科技的飞速发展,数字信号处理技术在许多领域得到了广泛应用,包括军事科技、智能安防监控系统、运动分析领域等。其中,运动目标跟踪技术在信息科技以及摄像领域的发展非常迅速。
移动目标跟踪的概念是在一系列图像帧中对某一个运动物体的特征进行识别并进行物体捕捉。在这类问题上常用时间差分法、模板匹配法、背景去除法以及光流法等传统方法进行跟踪,但这些方法各自有着不同缺点。文献[1]通过最大类间方差法和三帧时间差分法进行自然背景和光照条件下室内运动人体目标分割及运动状态检测,基本能检测到运动人体轮廓,并满足实时性要求,但该方法的缺点是:场景光照敏感度低、目标运动速度缓慢则容易丢失目标、目标运动速度过快则会导致检测区域比实际区域大;北京理工大学的张彦梅和宋扬[2]改进了模板匹配法,摒弃传统的逐点扫描方法,设计了一种“十字”匹配模板,根据待识别区域与“十字”模板的灰度差进行目标识别。此举虽提高了匹配速度,但对于图像信息较复杂且相似的模板和目标,识别精度较低;文献[3]采用背景去除法获得目标的前景图像,然后再对目标作后续处理。然而背景去除法对外部不同条件造成的场景变化和光照变化敏感,会出现噪声点从而影响检测结果;袁国武等[4]提出一种结合光流法与三帧差分法的运动目标检测算法,此举虽有效减少了光流法的计算复杂度,但光流法的其它缺点(如场景中照明、光源变化、运动速度和噪声等多种因素会影响光流算法的有效性,且抗噪性能很差)并没有得到很好的解决。
龙源期刊网 http://www.qikan.com.cn
相比于上述几种算法,基于扩展MeanShift算法的视觉目标跟踪模型简单、高效,可以有效克服上述算法的不足,且可调参数少,易于模块化实现。本文首先研究MeanShift算法的原理及扩展的MeanShift算法,然后以LabVIEW为开发平台,设计基于扩展MeanShift算法的移动目标跟踪程序,实现运动目标在发生移动、目标部分被遮挡情况下,能快速有效地收敛到目标密度最大极值区,从而迅速得到目标位置。该方法可应用于对实时性要求较高的目标跟踪领域。
1MeanShift算法及其在目标跟踪中的应用
MeanShift算法是一种基于梯度的无参密度估计算法,概率密度分布的最大值在梯度的概率分布上升方向[5]。
1.1MeanShift算法基本原理
图1中,大圆的圆心表示当前点,深色圆点代表Sh区域的样本点,箭头表示偏移向量,即(xi-x)。将区域中所有偏移向量求取均值即可得到MeanShift向量Mh(x)。因此,MeanShift向量总是朝着概率增大的方向移动。经过迭代,该算法最终收敛到概率密度最密集的地方,如图1(d)所示。 1.2扩展的MeanShift算法
在基本MeanShift目标跟踪算法中,由MeanShift向量Mh(x)可以看出,Sh区域中所有偏移向量对样本的贡献相同,但在实际情况下,采样点xi距离Meanhsift基准点距离越近,贡献越大。为了解决此问题,根据不同样本的重要性不同,对每类样本赋以权值,因此引入了核函数和样本权重[7]。
2基于扩展MeanShift算法的目标跟踪程序设计
本文采用美国NI公司的LabVIEW软件作为平台,开发基于扩展MeanShift算法的目标跟踪程序。软件总体设计结构包括:①视频图像获取;②搜索窗口确定,即在初始帧中确定需要跟踪的目标;③跟踪算法模块;④跟踪结果显示部分;⑤实现运动目标连续跟踪的过程。 2.1程序前面板设计
目标跟踪程序的前面板如图2所示,它是交互式界面,主要包括:摄像头选择控件、停止按钮、帧数显示和图像显示窗口。摄像头选择控件可以选择程序调用的摄像头;帧数显示控件用来显示当前采集图像的帧数;图像显示窗口则可显示被选中摄像头采集的实时图像;停止控件用来停止程序运行。
方框B中的3个参数从上往下依次是颜色直方图个数、融合参数,以及MeanShift算法的最大迭代次数。包括8个RGM区间用于匹配像素,直方图个数定义图像每一帧用来描述目标
龙源期刊网 http://www.qikan.com.cn
的直方图数量;融合参数为10%,则代表上一帧与当前帧匹配相似度为90%时开始执行跟踪;算法最大的迭代次数设定为15次[10]。
A、B两大板块一并引入while循环,将采集到的每一帧输入区域C中,即NI视觉采集函数,缓冲方式设置为Next。循环中的条件结构被分为“0”分支(方框D)以及“default”分支(方框G,如图4所示)。当图像为第一帧时执行方框D中的程序,其中左下角的参数用来定位被跟踪的视觉目标,可生成一个矩形框将被跟踪的视觉目标框起来,left、top是矩形框左上顶点的坐标,right、bottom是矩形框右下顶点的坐标,rotation表示矩形框的旋转角度。5个数据经过ROI函数连接到IMAQ的目标跟踪函数中,执行移动目标跟踪初始化。之后开始执行方框G中的程序,并对目标的发现与否进行判别,当发现目标时会根据目标在图像中的大小自适应地调整矩形框大小[11],不断框住目标;未发现目标时,则直接进入下一次循环重新定位目标。如此对目标跟踪进行反复迭代,直到程序的停止模块(见图3的方框E)被触发后,程序跳出while循环,执行图3中的方框F部分,即关闭摄像头的调用及图像显示,至此程序停止。
3实验效果及分析
实验中采用分辨率为640*480的普通摄像头,移动目标为用细绳牵引的橡皮。 3.1目标常规移动时的跟踪
实验中,用细绳向上下左右等方向牵引橡皮来模拟移动目标的常规移动[12],并记录基于扩展MeanShift算法的跟踪程序的跟踪效果,如图5所示。
图5中,第一帧图像中橡皮被矩形框锁定后,便被准确无误地跟踪,矩形框始终保持覆盖目标的状态,同时也不受光照、背景复杂等因素影响。这也充分证明了扩展MeanShift算法的实时性、准确性、稳定性和可靠性。 3.2目标被部分遮挡时的跟踪
同样以橡皮作为跟踪目标并加入白纸作为遮挡物[13],在橡皮被牵引移动时对其进行部分遮挡,跟踪效果如图6所示。
如图6中(a)和(c)所示,白纸对橡皮有部分覆盖,但是可以看到追踪框依旧能够准确地包围橡皮。这也证明了扩展MeanShift算法能克服其它算法遇到的难题,即当目标有部分被覆盖或受到背景部分遮挡等因素影响会导致目标丢失。 4结语