倪郁东,王 晨
(1.合肥工业大学数学学院,安徽合肥 230009;2.合肥工业大学电气工程与自动化学院,安徽 合肥 230009)
由于尺度不变特征对旋转、尺度缩放和亮度变化具有不变性,部分学者将其应用到目标跟踪中.文献[5]提出一个基于Surf特征表达的跟踪算法,即通过建立一个表达局部特征与全局运动关系的生成模型.该算法对物体形变和光照变化都有较好的鲁棒性.文献[6]提出了将Meanshift与Sift相结合的跟踪算法,该算法虽然能解决局部遮挡问题,但却很难处理目标外观变化的情况.文献[7]采用Surf特征匹配方法跟踪目标,使用模板更新方法解决物体形变问题,并在匹配特征点较少时以Meanshift算法代替特征匹配完成跟踪.文献[8]将Surf特征和颜色特征进行融合,构造了一种全局Surf特征.跟踪中使用粒子滤波算法,并动态更新目标模板和特征点,实现了精确的跟踪效果.
与以上跟踪算法相比,论文提出的基于窗口的Surf特征提取方法在保持跟踪精度的同时,兼顾了算法的实时性.
Surf算法的特点体现在以下3个方面:使用Hessian矩阵检测特征值、以特征点邻域Haar[9]小波值分布取代Sift中梯度值分布来描述特征点局部信息、使用积分图完成图像卷积操作.
假设图像函数为f(x,y),则其Hessian矩阵如式(1)所示
为使特征点具有尺度不变的特性,在构造Hessian矩阵前需要对图像进行高斯滤波.高斯核已被证明是唯一的线性核[10],一幅图像在不同尺度的表示如式(2)所示
其中:G(x,y,s)是二维高斯核函数;方差s定义为尺度,尺度越大图像越模糊,尺度越小图像越清晰.
我开始忽悠,每个时代都有每个时代的困顿,也许在历史的进程里野蛮会战胜文明,但是要相信,文明的种子在这些市井之辈、读书之人甚至妓女乞丐的心中代代传承,文明不会消亡,总有一天它会变得更有力量。
图像在不同尺度的Hessian矩阵如式(3)所示
与使用高斯差分计算Lxx,Lxy和Lyy相比,积分图与箱式滤波器相结合的方法在精度上只有微小的损失,但在效率上却有相当大的提升.
Surf尺度空间被划分为不同的组,每一组内有一定层数,不同组内层数相同.每一组是用大小不断增加的箱式滤波器对输入图像以一定采样间隔卷积得到的一系列响应.采样间隔在组内保持不变,组间以两倍速率递增.
为使特征点具有旋转不变性,需要计算特征点的主方向.与Sift不同,Surf是统计特征点邻域内的Haar小波特征,将Haar特征总和最大的方向定为主方向,然后以特征点为中心,选取边长为20s(s为特征点所处的尺度)的正方形区域,以5s×5s为单位计算16个子区域的水平和垂直方向Haar小波响应d x,d y,最后计算每个子区域内的向量.这样每个特征点可以用一个64维的向量描述.相比Sift,Surf特征向量维数少了一半,使后期特征匹配中的速度大大加快.
跟踪窗口中除了跟踪目标,还包含复杂的背景信息.经过特征提取,背景中也会存在特征点.由于背景中的特征点是静止的,当相对运动目标上的特征点较多时,会减弱跟踪窗口的运动趋势,严重时导致跟踪失败.Kalman[11]滤波器不但能减小背景特征点的影响,还能预测目标的运动趋势.
Kalman滤波器的窗口位置系统状态为(xk,yk,vxk,vyk),状态向量分别是第k帧图像中跟踪窗口中心位置的横纵坐标位置和速度.状态转移矩阵定义如式(4)所示
其中:Δt为相邻两帧图像的时间差.
状态方程为
观测方程为
状态观测矩阵为
其中:wk和vk分别表示均值为零的白噪声序列.跟踪窗口大小滤波与窗口位置处理类似.
运动目标检测旨在利用连续图像信息,将运动的区域从背景图像中提取出来.常用的目标检测方法有帧间差分法、光流法和背景差分法.由于论文跟踪算法只需要检测运动目标在第一帧图像中的位置便可完成后续的跟踪任务,不必与实时图像作背景差分来检测运动区域,因此采用背景差分法.背景模型采用视频前30帧图像的像素的均值来生成.将得到的背景模型和第一帧图像分别进行滤波预处理,去除图像中的随机噪声.然后将二者做差分运算、二值化、去噪及形态学滤波处理得到完整的运动目标.最后通过最小外接矩阵框运算得到初始目标跟踪窗口的大小和位置.
目标跟踪是在连续视频帧间建立目标信息的对应关系.首先对前两帧图像的初始跟踪窗口内的图像分别作Surf特征提取,然后对两组特征点进行匹配.匹配采用最近邻法匹配法,相似性度量采用欧式距离.由于目标处于运动状态则两组特征点在同一跟踪窗口中会产生一定的位移.因此可以通过计算位移变化量来确定下一帧跟踪窗口的位置.
假定目标运动为刚体变换,可以用仿射变换表示目标的平移、缩放的变化.则前后帧跟踪窗口中匹配的特征点应满足式(8)
为消除特征点错配的影响,使用随机抽样一致性算法(RANSAC)对上式拟合.
为减小复杂背景特征点的影响,需要Kalman滤波器对仿射变换得到的位置信息进行滤波.首先利用第一帧图像跟踪窗口的位置对第2帧中跟踪窗口位置进行预测,然后用经过仿射变换计算得到的第2帧跟踪窗口的位置对预测位置进行修正,得到第2帧中跟踪窗口最终位置.循环往复,可以实现对跟踪窗口位置信息的跟踪,对跟踪窗口大小的处理类似.跟踪算法流程如图1所示.
图1 跟踪算法流程图Fig.1 The flow diagram of tracking algorithm
当目标被短暂遮挡,基于前后帧的特征匹配仍能对运动目标准确跟踪.如果目标位置和跟踪窗口长时间未发生变化,可认为目标静止不动或者被长时间遮挡住.为准确区分上述情况,需要建立目标特征库.如果当前窗口和模板库中特征点匹配数量较多,认为已经静止不动,较少则被认定为被长时间遮住.随后需要实时进行运动目标检测,找到视频图像中的运动部分进行跟踪.
实验采用320×240的视频序列,软件开发工具为Matlab.下图中,黑色边框为实时目标跟踪窗口,红色的十字为对窗口内图像进行特征提取并经过匹配得到的特征点.
如图2所示,在背景图像特征点相对较少的情况下,基于窗口的Surf目标跟踪算法能对目标进行很好的跟踪.
如图3所示,若目标所经过的背景中含有相对较多的特征点时,根据这些静止的背景特征点所计算的跟踪目标窗口的位置信息会趋于不变,窗口逐渐脱离目标,导致跟踪失败.
如图4所示,为减小背景特征点的影响,增强目标动态特征点的作用,论文采用Kalman滤波器对跟踪窗口的位置信息进行预测,通过实验,验证了此方法的有效性.
如图5所示,利用前后两帧图像的特征点之间的相对信息,使用仿射变换准确计算目标窗口大小的变化量的方法对尺寸发生变化的目标实现了准确跟踪.
图2 背景特征点较少时跟踪正常Fig.2 Tracking is normal with less background features
图3 背景特征点较多时跟踪失败Fig.3 Tracking is unnormal with more background features
图4 背景特征点较多,预测后跟踪正常Fig.4 Tracking is normal after processing with kalman
图5 缩放Fig.5 Scaling
图6 中实线和点线分别代表采用论文跟踪算法和Meanshift+Kalman算法得到的目标运动轨迹.可以看出,当帧数小于100时,目标所经过的背景与目标本身的颜色差别较大,两种算法均能准确跟踪目标,论文跟踪算法得到的运动轨迹更加平滑;当帧数大于100时,虽然有Kalman的预测作用,但是MeanShift+Kalman算法仍然跟踪失败.由此得出,当目标与背景的颜色相似度极高时,基于特征点的跟踪算法比基于颜色直方图的跟踪算法好.
图6 算法比较Fig.6 Algorithm comparison
基于窗口的Surf跟踪算法不需要对整幅图像进行特征变换,相比整幅图像特征提取然后进行特征匹配定位目标位置,速度上有了一定的提高,如图7所示.实验采用图5缩放实例,随着目标区域放大,每帧图像处理时间逐渐增加.
图7 目标缩放跟踪时间Fig.7 The tracking time when scaling
提出基于窗口的Surf目标跟踪算法,避免了对整幅图像进行Surf变换,进一步提高算法速度.采用Surf特征匹配进行目标跟踪,并采用Ransac算法建立映射关系,最后使用Kalman对跟踪窗口信息滤波,增强了对复杂背景的抗干扰能力,提高了算法的鲁棒性.
[1]胡明昊,任明武,杨静宇.一种基于直方图模式的运动目标实时跟踪算法[J].计算机工程与应用,2004(3):71-74.
[2]Lowe D.Object recognition from local scale-invariant features[C]∥International Conference on Computer Vision,1999:1150-1157.
[3]Lowe D.Distinctive image features from scale invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91 -110.
[4]Herbert B,Andreas E T.Speed-up robust features(surf)[J].Computer Vision and Image Understanding,2008(9):346-359.
[5]Wei H,Yamashita T,Lu H G,et al.Surf tracking[C]∥International Conference on Computer Vision,2009:145-151.
[6]Du K,Ju Y F,Jin Y L.Object tracking based on improved meanshift and sift[C]∥Ieee Conf on CECNet,2012:2716-2719.
[7]Zhou D,Hu D.A robust object tracking algorithm based on Surf[C]∥Wireless Communications& Signal Processing(WCSP),2013.
[8]Li R,Liu CX,Nian F Z.An object tracking algorithm based on global Surf feature[J].Journal of Information &Computational Science,2013,10(7):2159 -2167.
[9]黄帅,吴克伟,苏菱.基于Harris尺度不变特征的图像匹配方法[J].合肥工业大学学报:自然科学版,2011,34(3):379-382.
[10]Tony L.Scale-space theory:a basic tool for analyzing structures at different scales[J].Journal of Applied Statistics,1994,21(2):224 -270.
[11]张江山,朱光喜.一种基于Kalman滤波的视频对象跟踪方法[J].中国图象图形学报,2002,7(6):607-609.