周 帅, 秦明伟, 侯宝临
(1.西南科技大学信息工程学院,四川 绵阳 621010;2.特殊环境机器人技术四川省重点试验室,四川 绵阳 621010)
结合局部差分的CamShift动目标跟踪算法
周 帅1,2, 秦明伟1,2, 侯宝临1,2
(1.西南科技大学信息工程学院,四川 绵阳 621010;2.特殊环境机器人技术四川省重点试验室,四川 绵阳 621010)
CamShift算法具有计算量小、对目标形变适应能力强、执行效率高等优点,其在图像处理领域具有重要地位。但仅采用颜色直方图作为目标特征,忽略目标位置信息,会造成该算法在目标形态调整的过程中容易将颜色相似的背景纳入跟踪目标,从而发散甚至跟踪漂移。针对这一现象,提出了一种结合局部差分的CamShift跟踪算法,以进一步改善该算法的实际应用效果。改进后的算法首先结合MeanShift迭代结果和扩展后统计区域的背景差分结果,综合判断移动物体的中心位置、长度、宽度等信息;然后通过此信息对运动目标形态变化的调整进行约束,使调整后的范围更加符合实际情况。试验结果显示,改进后的算法能够在复杂背景下准确地锁定跟踪目标,证明了结合局部背景差分技术的CamShift算法可以在增加较少计算量的情况下排除相似颜色的干扰,减少了跟踪过程中出现的不稳定现象,提高了算法的准确性和鲁棒性。
图像处理; CamShift算法; 目标跟踪; 漂移; 鲁棒性; 自适应; 嵌入式系统
CamShift算法在MeanShift跟踪算法的基础上,结合颜色域的高阶矩信息,对跟踪物体的形状进行调整。该算法能够更加准确地判断出物体在当前图像中的形状和位置,进而提高跟踪的准确性。它不仅保留了MeanShift算法的实时性和鲁棒性,而且增加了对物体形变的适应能力,更加符合实际情况[1]。由于CamShift算法良好的跟踪性能,先后有很多学者对其进行了优化,以进一步提高算法的跟踪性能。如覃跃虎等提出的建立色调、饱和度、明度(hue,saturation,value,HSV)空间中H、V和物体边缘梯度三个信息分量的直方图,并根据背景模型动态地调整三个分量的权值,最终确定跟踪目标的位置,大大提高了算法跟踪的准确度[2];路宁结合加速稳健特征(speeded up robust features,SURF)算法对经典CamShift算法进行创新、改进,结合跟踪目标的形态特征,通过抑制较大的位移变化等方法,提高了算法对不同环境的适应性[3];夏景新等通过引入车辆建模和运动预测的方法,将CamShift算法应用到车流量统计、事故监测和事故分析中,取得了良好的效果[4]。
然而,大部分的算法改进往往引入了更复杂的算法,或者多角度地反复调用CamShift算法,在取得较好跟踪效果的同时也大大增加了算法的复杂度和计算量;同时,为了保证算法的实时性,必须提高对处理器的性能要求,这就限制了算法移植到一般嵌入式平台的可能性。本文针对CamShift算法跟踪过程中出现漂移现象的关键原因,保留了算法计算量小的优点,并结合局部的背景差分技术,使得算法能够更加精确地对物体的形变程度作出判断,取得了较好的跟踪结果。
1.1 CamShift算法实现
CamShift算法的核心仍然是通过迭代算法来确定目标的位置[5],继而通过调整目标形态特征来提高准确性。其实现过程可概述为以下三个步骤。
①生成色彩投影图。将RGB转化为HSV,并提取出H(色相)通道。H通道包含了几乎全部的色彩信息,而且对光线的敏感度较弱[6-7]。根据跟踪目标的色相直方图,可以获得视频中图像序列在目标直方图下的反向投影图,作为算法实现的基础。
②获取目标中心。以上一帧目标位置为起点,采用MeanShift向量,迭代出目标在新一帧图像中的位置。当相似性满足预设条件或者迭代次数达到阈值时,跳出循环,此时目标形状与上一帧保持一致。
③调整目标形态。CamShift的特点主要体现在这一步骤。以第二步中求出的中心位置为中心,适当扩大统计范围,通过计算统计范围内的颜色高阶矩信息,判断物体的大小、旋转角度等信息并重新计算出中心点。通过不断调整搜索窗口,使得每一帧的跟踪结果都包含了跟踪目标的最新信息,所以该算法具有持续适应能力。计算过程如下。
(1)
(2)
假设array(x,y)为对应(x,y)点的H值;mij为统计范围内x方向i阶、y方向j阶颜色矩值。
则调整后的目标旋转角度(θ)、长度(L)和宽度(W)为:
(3)
(4)
(5)
根据求得的θ、L、W,重新确定物体的位置信息,并通过椭圆对目标进行标定,下一帧图像采用调整后的L和W进行MeanShift迭代。
1.2 存在的问题
CamShift采用颜色矩信息作为判断依据,具有计算量小、对形状变化不敏感的优点,但是没有考虑像素之间的位置信息、连续图像之间的关联信息和物体的运动信息,在背景颜色与目标相似的情况下不能准确区分目标和背景[8-9]。CamShift算法通过扩大统计范围来调整跟踪目标的形状变化,在无法区分目标和背景的情况下必然会将背景信息统计进去,放大了跟踪目标的形状。包含的背景信息增加,会降低目标的信息比重。这不仅将导致对跟踪目标的形状和具体位置的误判,且在严重情况下会误将背景当作目标而错过目标的移动信息,产生严重的跟踪漂移现象。通过投影图,可更容易看到问题出现的原因。
在根据跟踪目标特征建立的反向投影图中,与目标颜色相近的程度反映为该区域的亮度。因此,颜色相似区域给目标跟踪制造了很大的干扰。跟踪过程中,在目标进入这些区域后,将很难准确判断目标的具体位置和形态变化情况。本文结合背景差分的方法,对背景和前景作出识别,以降低误判的概率,并提高跟踪的精度和成功率。
2.1 结合背景差分的算法流程
针对经典算法在背景色复杂和相近时很容易产生误判的情况,本文通过局部帧间差分法,对扩大的统计范围内的像素点变化进行统计,判断出该范围内的像素是否是前景目标,以动态地调整统计范围。因为对运动目标小范围地进行背景差分,不受其他区域运动物体的影响,所以并没有引入新的干扰因素。相对于固定范围而言,动态范围具有更强的适应性。在相似背景位置可以尽量减少背景信息的干扰,而且优化过程中不会影响CamShift算法本身对物体形变的适应能力。改进后的算法流程如图1所示。图1中的虚线框为改进后添加的流程,其余为经典CamShift算法的一般流程。
图1 改进算法流程图
改进CamShift该算法的具体实现过程可分为两个状态来描述。①在没有跟踪任务的状态下,建立背景模板,并采用多帧加权的方式定时更新背景,为背景差分提供背景信息。同时,监控鼠标、键盘的输入信息,完成目标的锁定和初始化工作。②在跟踪状态下,首先通过MeanShift迭代算法获得移动物体在新一帧图像中的中心点位置,目标形态和大小默认与上一帧状态相同。采用定值的方法扩大统计范围,在扩大后的范围内进行局部背景差分,判断前景目标的范围并根据差分结果调整统计范围。在新的统计范围内运用CamShift算法调整目标的形态,使跟踪更加精确。当MeanShift迭代达到设定上限且无法收敛时,即认为跟踪目标丢失,退出本次程序。
2.2 算法实现要点
2.2.1 背景建模
背景建模技术常与背景差分算法相结合,共同完成对移动目标的检测、识别和分析。采用可靠的背景模型是确保整个系统可靠性的关键[10]。针对不同的应用场景和处理需要,有多种成熟的背景建模算法可供学习、使用,具体选择需综合考虑应用环境、算法复杂度、稳定性等因素。
由于跟踪应用中大部分场景属于背景静止但有运动前景的环境,同时本文所针对的一般监控环境需要综合考虑程序的复杂度问题,故采用了一种具有学习功能的自适应建模方法。针对连续图像的特点,在程序稳定后初次建立背景模型,定时采用新、旧背景加权和的方式实时更新背景,以保证背景模板在跟踪任务启动时的有效性。学习频率和新背景权值需要对实际场景进行调试,从而获得最优的值。这里以更新权值为0.2为例,背景学习公式可表示为:
Ib=0.8Ib+0.2I
(6)
在实际测试中,通过调整得到合适的权值和频率,算法可以为跟踪程序提供可靠的背景模板信息。背景中快速移动的物体对背景模板的影响较小,进入背景的静态物体也会随着时间累积更新到背景模板中。为了降低跟踪目标本身对跟踪效果的影响,在跟踪转状态下可以停止学习或者降低学习的频率。经过试验检测,采用这种建模方式能够满足一般环境下的建模需要,为跟踪算法的实现提供了保障。
2.2.2 局部差分实现
为了适应物体的形态变化速度,CamShift算法在调整物体形态时往往选择较大的扩大范围来统计颜色信息,以获得目标的形态变化参数。然而在获得这些信息的同时难免引入了干扰信息,造成算法对相似背景色的影响十分敏感。本文引入动态设定统计范围的思想,根据局部背景差分的结果对扩大后的统计范围进行调整,使计算得出的高阶矩信息更加具有针对性,也减少了引入相似背景干扰的可能。采用局部差分法可以避免监控画面中其他部分移动物体的干扰,降低了算法的复杂度;在差分结果上,通过腐蚀、膨胀的形态学滤波方法[11],可消除局部范围内不稳定因素和噪声的干扰,进一步确保前景统计结果的准确性。
假设上一帧图像中目标的范围为Wo,本帧图像的实际扩大范围为Wf,经过经典CamShift算法扩展后的范围为Wc,经过本文算法得出的统计范围为Wn。对范围进行调整后,排除了部分非前景区域,保留了物体发生形变的区域,既减少了非目标信息的影响,又保留了目标形态变化所需要的信息。在具体程序实现中,设定每一个窗口W由左上角顶点坐标(x,y)和窗口的长度(l)、宽度(w)确定,array(l,w)为图像的长和宽,t为预设的向四周扩展的值。以像素为单位,CamShift中扩展后范围Wc的计算方法如下所示。
(7)
(8)
(9)
(10)
结合Wc区域内背景差分后的结果,对扩展区域的范围进行调整,Wc(i,j)表示Wc区域内背景差分结果经二值化、腐蚀、膨胀后坐标(i,j)的值。
Wn,x=min(minwc(i,j)!=0i,t)+Wc.x
(11)
Wn,y=min(minwc(i,j)!=0j,t)+Wc.y
(12)
Wn,l=max(maxwc(i,j)!=0i,W.l-t)-Wn.x
(13)
Wn,w=max(maxwc(i,j)!=0j,W.w-t)-Wn.y
(14)
通过遍历Wc区域内的背景差分结果,获得前景区域的范围。将前景区域范围和上一帧运动目标区域Wo作与运算,最终得到调整后的统计范围Wn。当遇到相似颜色干扰时,可以尽量少地引入背景信息,从而得到更加精确的目标中心点位置,抑制漂移现象的出现。即使在相似背景色区域较大的情况下,也能够对穿越其中的目标进行准确跟踪。
为了验证改进后算法的运行效果,本文选取了两组试验。试验均在VS软件平台上完成,借助OpenCV 3.0实现视频的显示和目标圈定。视频分辨率采用标准VGA分辨率(640×480),帧率为25 fps。试验中,通过手动圈定跟踪目标开始跟踪。当目标超出监控范围或者跟踪丢失时退出程序,迭代收敛条件为窗口移动距离小于两个像素,迭代超过20次即认为收敛失败。两组试验背景不同,均分别使用经典CamShift和改进后的算法对相同的运动目标进行跟踪,通过实际对比验证了改进后算法性能的优化效果。
试验一为试验室环境,背景静止、简单、颜色干扰明显。以光盘为跟踪目标,测试其经过大面积相似色干扰区域时的跟踪情况。目标在进入干扰区域之前,两组算法跟踪效果相似;从目标进入干扰区域、受到相似背景干扰后,经典CamShift跟踪算法下目标区域开始扩散到整个干扰背景。由于背景的相对目标更大,所以经过调整后的目标被错误地锁定到了背景上,造成目标丢失。改进后的跟踪算法可以准确地跟踪目标,即使在背景色相近的情况下,也能尽可能保证目标信息的有效性,抑制了跟踪区域的发散现象。
试验二采用室外自然环境,背景相对复杂。以行驶的白色汽车为跟踪目标,验证了建模方法的实用性和改进后算法对物体形态变化的调整能力。过往车辆对建模结果产生了一定的影响,但仍可以清晰地区分前景和背景信息,证明了该方法能够在常规环境下建立可用的背景模板。该试验可以验证算法在复杂情况下的稳定性。试验中路标、停靠轿车和树木等造成了复杂的颜色干扰,目标从远到近的行驶过程伴随着移动速度和形态的改变。通过试验结果可以看出,经典CamShift跟踪算法很快开始出现发散现象,之后不断扩大,最终将树木包括到跟踪目标中,造成跟踪失败。改进后的算法能够准确地跟踪目标,对跟踪目标的形态变化仍然保持适应能力,但是当目标速度过快时也会出现漂移现象。这主要是由于汽车逐渐靠近干扰时速度和形状扩大速度过快,导致不能完全跟踪上目标。
本文通过引入背景建模和背景差分的方法,对经典CamShift跟踪算法提出了新的改进。试验结果证明,改进后的算法明显地改善了原算法对相似颜色干扰的鲁棒性,能在一般环境下稳定运行,完成对指定目标的初始化、跟踪和标定,具有较好的实时性和准确性。下一步将对摄像头转动情况下的CamShift跟踪算法进行改进,以提高该算法的实际应用能力,并最终实现在嵌入式平台上的移植。
[1] CHEN C,ZHANG M,QIU K,et al.Real-time robust hand tracking based on camshift and motion velocity[C]//International Conference on Digital Home,IEEE,2014:20-24.
[2] 覃跃虎,支琤,徐奕.基于三维直方图的改进Camshift目标跟踪算法[J].现代电子技术,2014(2):29-33.
[3] 路宁.基于SURF和CamShift的物体跟踪方法[J].微型机与应用,2012,31(21):40-43.
[4] XIA J,RAO W,HUANG W,et al.Automatic multi-vehicle tracking using video cameras:An improved CAMShift approach[J].Ksce Journal of Civil Engineering,2013,17(6):1462-1470.
[5] 布拉德斯基,刘瑞祯.O'Reilly:学习OpenCV(中文版)[M].北京:清华大学出版社,2009:371-375.
[6] 马玲,张晓辉.HSV颜色空间的饱和度与明度关系模型[J].计算机辅助设计与图形学学报,2014,26(8):1272-1278.
[7] ELDAHSHAN K,YOUSSEF M,MASAMEER E,et al.Comparison of segmentation framework on digital microscope images for acute lymphoblastic leukemia diagnosis using RGB and HSV color spaces[J].Biotechnology & Bioengineering,2015,2(2):142-145.
[8] CHANG W Y,LAI J S,TENG-YIY U,et al.Pier scour monitoring system by bed-level image tracking[J].International Journal of Sediment Research,2014,29(2):269-277.
[9] 邢藏菊,温兰兰,何苏勤.TLD视频目标跟踪器快速匹配的研究[J].小型微型计算机系统,2015,36(5):1113-1116.
[10]DENG G,GUO K.Self-adaptive background modeling research based on change detection and area training[C]// IEEE Workshop on Electronics,2014:59-62.
[11]XIAN J Z,LAN S.An improved relief display effect of image based on edge detection[C]// Seventh International Conference on Measuring Technology and Mechatronics Automation,2015:114-117.
CamShift Tracking Algorithm Combining with Local Background Difference for Moving Target
ZHOU Shuai1,2, QIN Mingwei1,2, HOU Baolin1,2
(1.School of Information Engineering, Southwest University of Science and Technology, Mianyang 621010, China;2. Robot Technology Used for Special Environment Key Laboratory of Sichuan Province, Mianyang 621010, China)
An important position of CamShift algorithm in the field of image processing is established with the advantages of small amount of computation,strong adaptability to target deformation and high execution efficiency.But only using the color histogram as the target feature,ignoring the position information of the target,may cause the background in similar color would be treated as the tracking target in the process of target form adjustment.Aiming at this phenomenon,the CamShift tracking algorithm combining with local difference is proposed to further improve the practical application effects of the algorithm.The improved algorithm firstly combines the results of MeanShift iteration and the background difference of the extended statistical region,to comprehensively judge the central position,length and width of the moving object.Then,with the help of this information,the adjustment for the deformation of the moving target is constrained,and the adjusted range is more in line with the actual situation.The experimental results show that the improved algorithm can accurately track the target under complex background,and prove that the CamShift algorithm combining with local background difference technology can eliminate interference of similar color,with adding less computation,and reduce the instability of tracking process,as well as improve the accuracy and robustness of the algorithm.
Image processing; CamShift algorithm; Target tracking; Drift; Robustness; Self-adaption; Embedded system
资金项目:国防基础科研计划资助项目(B3120133002)
周帅(1990—),男,在读硕士研究生,主要从事图像处理技术、嵌入式系统的研究和应用。E-mail:zhoushuaiv@163.com。 秦明伟(通信作者),男,博士,副教授,主要从事软件无线电与认知无线电、片上网络、高速图像处理系统等技术的研究。E-mail:qmw_qyq@163.com。
TH6;TP391.9
A
10.16086/j.cnki.issn 1000-0380.201702001
修改稿收到日期:2016-11-22