刘亚伟, 李小民
(军械工程学院无人机工程系,石家庄 050003)
基于BRISK和CamShift的鲁棒目标跟踪研究
刘亚伟, 李小民
(军械工程学院无人机工程系,石家庄 050003)
在CamShift目标跟踪的框架下,提出了基于BRISK特征匹配和CamShift的目标跟踪方法,该方法通过颜色特征和局部特征共同定位目标,从而实现目标准确跟踪。在保证跟踪实时性的前提下,该方法改善了CamShift算法在目标跟踪过程中对背景、尺度、旋转和遮挡变化的敏感性和目标跟踪的特征单一性。实验对比结果表明,该改进方法较单独基于特征匹配的目标跟踪方法,其快速性有很大提高,较CamShift跟踪方法在目标尺度变化、旋转变化、光照变化、背景变化和遮挡变化条件下的鲁棒性更强,同时增强了两种算法的跟踪准确性。
目标跟踪; 鲁棒性; CamShift; BRISK
目标跟踪技术作为计算机视觉领域的一个重要分支,一直以来都受到各个相关领域的关注。但是跟踪过程中目标的多动性和环境的多变性,使得目标跟踪受到各种干扰,所以提高跟踪算法的鲁棒性已成为一项非常重要的工作。目前常见的目标跟踪算法有:均值漂移法、粒子滤波法、卡尔曼滤波法和特征点匹配法等。由于均值漂移(MeanShift)的目标跟踪算法[1]具有计算简单、实时性好、易于实现等特点,因此在现实生活中应用最为广泛;文献[2]将CamShift算法应用于基于单目标视觉的手势识别过程;文献[3]将CamShift应用于运动目标跟踪过程。但是,CamShift的缺点也非常明显,其在进行匹配过程中,只考虑了单一的目标颜色信息,所以导致其鲁棒性较弱,尤其是在目标发生较大的尺度变化、旋转变化、光照变化、背景颜色变化和遮挡的条件下,使得目标区域颜色直方图发生较大改变,导致跟踪不稳定甚至跟踪失败[4]。
针对上述问题,各领域专家学者也做了大量改进,文献[5]针对CamShift在光照和相似颜色背景下跟踪效果差的问题,提出了一种利用HSV空间中色调信息、饱和度信息和边缘梯度信息来构建目标的三维直方图特征的CamShift改进方法;文献[6]针对单一特征无法准确描述目标的问题,将轮廓和角点特征引入到了CamShift算法中。
基于特征匹配的目标跟踪[7]是采用目标的局部特征信息,通过特征匹配来进行跟踪的算法。目前常用的特征匹配算法有SIFT,SURF,ORB和BRISK等。BRISK算法是由文献[8]提出的一种新的角点检测和描述算法。BRISK与SIFT,SURF等算法相比,由于其采用二进制描述子和汉明距离匹配,使得计算速度和内存占有量都有了显著提高;与ORB相比由于其采用了邻域采样模式,使得其检测到的特征点更加精确。文献[9]将BRISK算法应用于超分辨率图像重建中的高精度快速图像配准;文献[10]将BRISK算法应用于局部特征描述的目标定位过程。
本文提出了一种基于BRISK算法和CamShift算法的鲁棒目标跟踪方法,该方法能够显著增强CamShift跟踪对尺度、旋转、光照、遮挡和背景变化的敏感性,并且对单独基于特征点匹配的目标跟踪算法的快速性有显著改善。本文算法在保证跟踪实时性的前提下,提高了目标跟踪精度和鲁棒性。
由于CamShift的原理是将MeanShift运用于连续图像序列,是对MeanShift算法的扩展,所以下面着重对MeanShift算法的基本原理进行介绍。
MeanShift算法是一种基于核密度估计的非参数模式匹配算法。首先手动选取待跟踪目标区域,使用MeanShift颜色直方图信息作为模板,再提取下一帧图像的颜色直方图,进行直方图匹配,通过计算相似度获得相似度密度分布图,图中的极值位置即为目标的位置。
MeanShift的跟踪特征是目标的颜色直方图,其模型为
(1)
式中:qu代表目标颜色直方图的第u个分量;C是归一化常数;{xi}表示像素的位置;δ是Kronecker函数;k是核函数K的轮廓函数。MeanShift采用Bhattacharyya系数[11]表示候选模型pu(y)与目标模型qu的相似性,即
(2)
MeanShift迭代的目标中心位置是通过Bhattacha-ryya[11]的泰勒展开得到的,如式(3)所示。
(3)
式中:
g(x)=-k′(x)
(4)
(5)
BRISK算法具有缩放、倾斜、旋转、光照等不变性,使得该算法具有较强的鲁棒性。BRISK算法采用如图1所示的自定义邻域采样模式,采样点等距离分布在以特征点为中心的40×40像素块内构建多个同心圆,共60个采样点。
图1 BRISK邻域采样模式Fig.1 Neighborhood sampling mode of BRISK
用A表示采样点集合
A={(pi,pj)∈R2×R2|i (6) 记任意一对采样点为(pi,pj),S表示短距离采样点集合,L表示长距离采样点集合,即 S={(pi-pj)∈Ω|‖pi-pj‖<δmax}⊆Ω (7) P={(pi-pj)∈Ω|‖pi-pj‖>δmin}⊆Ω。 (8) 通常取阈值δmax=9.75t,δmin=13.67t,α=arctan 2(gy,gx)表示点对(pi,pj)的梯度,角点的特征方向定义为 (9) (10) BRISK采用汉明距离进行特征匹配,用S1和S2代表两个描述子,其中,S1=x1x2…x512,S2=y1y2…y512,x和y为二值数0或1,则S1和S2的汉明距离可定义为 (11) 式中:⊕表示异或运算;Dkd的值越小表示匹配程度越高。 CamShift目标跟踪算法存在以下问题:1) 当背景颜色与目标相似时,容易导致跟踪不稳定,甚至导致跟踪目标丢失;2) 如果目标发生大尺度缩放或者旋转变换,会造成目标区域的颜色直方图发生变化,无法实现有效跟踪;3) 如果目标被部分遮挡或者全部遮挡,当目标再次出现时不能继续跟踪。 针对以上问题,本文采用CamShift与BRISK相融合的方法进行目标跟踪。该算法在CamShift跟踪正常的情况下,BRISK算法不介入,一旦CamShift跟踪失败,即前后两帧目标区域颜色直方图相差较大,BRISK算法马上介入。在匹配过程中,采用RANSAC算法来进行误匹配点剔除处理从而获得正确匹配点对。当匹配成功时,标出目标区域,这时再次启动CamShift跟踪算法,提取该区域颜色直方图并继续进行跟踪。 改进算法的流程如图2所示。 图2 改进算法流程图Fig.2 Flow chart of the improved algorithm 分别设置前后两帧的颜色直方图信息Hi-1和Hi利用Bhattacharyya距离[11]进行相似程度判断,距离越大越相似。若dBhttacharyya(Hi-1,Hi)≤0.6,则说明CamShift跟踪失败,一旦跟踪失败,就把前一帧图像目标区域作为模板,通过BRISK算法在后续视频帧中进行目标匹配操作,直到匹配成功,并找到目标区域。 3.3.1 特征点重心偏移 (12) 3.3.2 BRISK跟踪结果 当前跟踪区域为r={x0,y0,v,h},(x0,y0)为跟踪矩形框的中心坐标,h和v分别表示矩形框的水平和垂直方向半径。用r′表示BRISK跟踪区域,则 r′=r+(Δx,Δy)=(x0+Δx,y0+Δy,v,h) 。 (13) 3.3.3 融合 融合BRISK和CamShift的跟踪区域用r″表示,则 r″=α×r+(1-α)×r′ (14) 式中,权系数α介于0~1之间。 实验选用HERO运动相机拍摄视频,分别用CamShift算法、BRISK算法和改进算法(基于BRISK和CamShift的鲁棒目标跟踪算法)进行对比测试,视频帧频率为25帧/s,分辨率为1920×1080。 实验是在VS2010开发平台上,利用VC++语言和开源代码OpenCV联合编程实现。其中硬件系统:处理器为Inter(R)Core(TM) i3 CPU M390@2.67 GHz,内存为4.00 GB,硬盘为500 GB,操作系统为Windows 7。实验分别在尺度变化、旋转变化、背景变化和遮挡等外界干扰条件下进行。 在目标尺度发生变化的情况下,3种算法对目标的跟踪效果如图3所示。 图3 尺度变化条件下的跟踪结果Fig.3 Tracking results when target scale changes 图3考虑了第110帧(目标缩小0.8倍)、第158帧(目标缩小0.6倍)、第310帧(正常尺度)和第413帧(目标扩大1倍)4种情况下3种方法的跟踪效果。结果显示,CamShift算法和BRISK特征匹配算法对尺度均较为敏感,尤其是大尺度变化下(如缩小0.6倍和扩大一倍)跟踪不稳定。虽然改进算法的跟踪效果有所提升,但是在大尺度变化下仍达不到满意的效果。 在目标发生旋转变化的情况下,3种算法对目标的跟踪效果如图4所示。 图4考虑了第90帧(正常)、第270帧(目标旋转10°)、第352帧(目标旋转30°)和第420帧(目标旋转45°) 4种情况下3种方法的跟踪效果。结果显示,CamShift算法在大旋转条件下跟踪效果不理想(如第352帧和第420帧),但是BRISK特征匹配跟踪算法对目标旋转具有较好的鲁棒性,所以,该改进算法对目标的旋转变化具有较好的鲁棒性。 图4 旋转变化条件下的跟踪结果Fig.4 Tracking results when rotating angle changes 在目标背景发生变化的情况下,3种算法对目标的跟踪效果如图5所示。 图5 背景变化条件下的跟踪结果Fig.5 Tracking results when background changes 图5考虑了第189帧(正常)、第363帧(目标刚刚进入背景变化区域)、第456帧(目标完全进入背景变化区域)和第541帧(目标将驶出背景变化区域)4种情况下3种方法的跟踪效果。结果显示,当背景与目标的颜色相近时,对CamShift的跟踪效果影响较大。而BRISK特征匹配的跟踪方法对背景变化具有一定的抗干扰性,所以当跟踪过程中背景发生变化时,改进算法能够保持较好的跟踪效果。 在目标发生遮挡变化的情况下,3种算法对目标的跟踪效果如图6所示。 图6 遮挡变化条件下的跟踪结果Fig.6 Tracking results when shading changes 图6考虑了第447帧(目标小部分进入遮挡区域)、第460帧(目标大部分进入遮挡区域)、第484帧(目标小部分驶出遮挡区域)和第491帧(目标大部分驶出遮挡区域)4种情况下3种方法的跟踪效果。结果显示,当目标进入遮挡区域一半时,CamShift算法失效,跟踪中断且无法继续跟踪,而BRISK特征匹配的跟踪算法对遮挡问题具有较好的鲁棒性,只有当目标全部遮挡才会跟踪失效,但是当目标驶出遮挡区域时,该算法可以再次实现自动跟踪。所以,改进算法能够实现目标遮挡问题的有效跟踪。 以相似背景对目标的干扰测试视频为例,用目标模板与候选模板的相似度(即Bhattacharry系数)[11]作为目标跟踪准确度的衡量标准。Bhattacharry系数为0~1之间的一个数值,该数值越大,表示目标模板与候选模板的相似程度越高,即跟踪准确性越高。测试结果如图7所示。 图7 Bhattacharry系数对比结果Fig.7 Contrast results of Bhattacharry 测试结果表明,跟踪目标进入与目标相似的背景环境时,Bhattacharry系数都有所下降,跟踪准确性下降。图7中第350帧目标进入背景干扰环境,第450帧驶出干扰环境。由此可见,当目标进入相似背景环境时,3种方法的跟踪精度都出现了一定程度的下降,尤其是CamShift算法明显下降。由于BRISK特征匹配跟踪算法对外界干扰具有较好的鲁棒性,所以Bhattacharry系数下降较小,但是由于BRISK特征匹配跟踪算法模板不能实时更新,所以其跟踪准确性整体处于下降趋势。本文改进算法,由于对背景的变化敏感性较弱,所以对目标的跟踪具有较好的准确性。 通过处理视频中一帧图像所用时间的平均值对算法的实时性进行测试,测试结果如表1所示。 表1 实时性测试表 由表1可知,CamShift虽然对跟踪目标的尺度、旋转、背景和遮挡变化较敏感,但是该跟踪算法具有较好的实时性;BRISK特征匹配跟踪算法对外界变化具有较强的鲁棒性,但是实时性较差;而本文融合CamShift和BRISK算法的改进算法能基本满足实时性要求并且对外界干扰具有较好的鲁棒性。 针对CamShift目标跟踪算法对跟踪过程中背景变化、尺度变化、旋转变化和目标被遮挡条件下跟踪效果较差的问题,提出了一种基于BRISK特征匹配和CamShift相融合的改进目标跟踪算法,并分别对CamShift算法、BRISK算法和本文改进算法的性能进行了测试。 实验结果表明,改进算法显著增强了CamShift算法对于背景变化、目标尺度变化、目标旋转变化和目标被遮挡条件下跟踪的鲁棒性和基于特征匹配目标跟踪算法的实时性,并提高了CamShift和BRISK跟踪算法的跟踪准确性。 [1] 杨辉,刘军,阮松.基于MeanShift算法视频跟踪研究[J].计算机工程与设计,2013,34(6):2062-2066. [2] 程文山.基于肤色分割和CamShift的手势识别研究[D].武汉:华中师范大学,2009. [3] 赵文倩,匡逊君,李明富.基于改进的CamShift运动目标跟踪算法的研究[J].信息技术,2012(7):164-169. [4] 李明锁,井亮,邹杰,等.结合扩展卡尔曼滤波的CamShift移动目标跟踪算法[J].电光与控制,2011,18(4):1-3. [5] 覃跃虎,支琤,徐奕.基于三维直方图的改进CamShift目标跟踪算法[J].现代电子技术,2013,37(2):29-33.[6] 王巍,孟朝晖.一种改进的CamShift目标跟踪方法[J].信息技术,2015(1):85-88. [7] 蔺海峰,马宇峰,宋涛.基于SIFT特征目标跟踪算法研究[J].自动化学报,2010,36(8):1204-1208. [8] LEUTENEGGER S,CHLI M,SIEGWART R.BRISK:binary robust invariant scalable keypoints[C]//Proceedings of the IEEE International Conference on Computer Vision(ICCV),2011:2548-2555. [9] 何林阳,刘晶红,李刚,等.改进BRISK特征的快速图像配准算法[J].红外与激光工程,2014,43(8):2722-2727. [10] 邓集洪,魏宇星.基于局部特征描述的目标定位[J].光电工程,2015,41(1):58-63. [11] 刘玉.基于特征点的运动目标跟踪技术研究[D].南京:南京航空航天大学,2011. ARobustTargetTrackingMethodBasedonBRISKandCamShift LIU Ya-wei, LI Xiao-min (Department of UAV Engineering,Ordnance Engineering College,Shijiazhuang 050003,China) A target tracking method based on BRISK feature matching and CamShift is proposed under the framework of CamShift target tracking.In this method,both the color features and local features are used to locate the targets for realizing accurate target tracking.Compared with traditional CamShift,this method can keep the real-time performance,while improving the sensitivity to the changes of background,dimensions,rotating and shading,and the oneness of the characteristics of the target tracking.The contrast experimental results show that: 1) The tracking method proposed is faster than the method based only on the feature matching; 2) Compared with CamShift,it has higher robustness to the changes of background,dimensions,rotating and shading; and 3) The precision of tracking is improved. target tracking; robustness; CamShift; BRISK TP391 A 1671-637X(2017)03-0041-05 2016-03-01 2016-04-16 “十二五”装备预先研究项目(51325050101) 刘亚伟(1991 —),男,河北唐山人,硕士生,研究方向为无人机目标识别与跟踪技术。3 基于BRISK和CamShift的鲁棒目标跟踪算法
3.1 CamShift存在问题及改进方法
3.2 改进算法的实现
3.3 改进算法关键技术简介
4 实验结果及分析
4.1 目标发生尺度变化的情况下CamShift算法、BRISK算法和改进算法的跟踪效果
4.2 目标发生旋转变化的情况下CamShift算法、BRISK算法和改进算法的跟踪效果
4.3 目标发生背景变化的情况下CamShift算法、BRISK算法和改进算法的跟踪效果
4.4 目标发生遮挡变化的情况下CamShift算法、BRISK算法和改进算法的跟踪效果
4.5 改进算法跟踪准确性测试
4.6 算法实时性测试
5 结论