谢泽奇, 张会敏, 张佳佳, 张云龙, 张善文
(1.郑州大学 西亚斯国际学院,河南 郑州 451150; 2.中国科学院 软件研究所 并行软件与计算科学实验室,北京 100190)
在全景视频序列中对运动目标进行快速有效的跟踪是计算机视觉领域极具挑战性的课题[1]。近年来,运动目标检测与跟踪的方法主要2种[2]:粒子滤波(particle filtering,PF)算法[3~5]和均值漂移(mean-shift,MS)算法[6,7]。传统的MS算法采用核函数直方图建模,核函数起着非常重要的作用,不但决定了参与MS迭代的样本数量和跟踪窗口大小,而且为特征引入了位置信息[8,9]。核函数加权也存在一定的局限性,如不适合跟踪纵横尺度差别较大的目标及增加迭代时的复杂度等。针对这一问题,近来出现一些采用非核函数的非参量估计方法,如文献[10,11]。
本文在传统MS算法的基础上,提出了一种基于全景图像的快速机动目标跟踪算法。主要特点是提取颜色直方图信息作为机动目标的基本特征。实验结果表明:算法跟踪目标的实时性好,具有持久跟踪的鲁棒性。
本文提出的快速机动目标跟踪算法的基本策略为:根据拍摄的视频帧序列,来依次确定每帧图像目标颜色直方图;利用Kalman滤波来预测目标搜索区域,再将后续每帧图像搜索区域内的场景依次转换为局部投影图,并把局部投影图中的每一个像素值作为密度;利用MS算法依次找到密度分布的最大值。算法的实现步骤描述如下:
1)全景视频帧序列图像预处理。利用色彩平衡算法对每帧图像色差进行处理,通过高斯滤波去除视频序列中的随机噪声,实现色彩平衡和高斯滤波。
2)利用帧间差分算法结合数学形态学提取算法描述如下:
a.从全景视频序列中依次选取2帧图像,定义为上一帧图像It-1(x,y)和当前帧图像It(x,y);
b.对当前帧图像与上一帧图像进行帧间差分运算,得到2帧序列的像素差值Dt(x,y)
Dt(x,y)=|It(x,y)-It-1(x,y)|
(1)
c.将差值Dt(x,y)与预定义的阈值Y进行比较,获取包含机动目标的二值化图像
(2)
d.利用数学形态学对提取的二值化图像进行先腐蚀后膨胀的开运算处理。
3)在初始帧中计算感兴趣目标对应的H分量直方图,依此确定目标框的大小和中心。利用目标颜色直方图模型建立直方图投影,将后续每帧视频序列的图像像素值计算直方图分布下的概率值,从而可得到目标出现概率的灰度图,即为反向概率投影图。该方法效果较好,而且计算量小、稳定性强[12]。其过程如下:
a.转换色彩空间模型。在HSV格式下分色处理不易受亮度的影响,因此,需将每帧序列图像从RGB色彩空间模型转换成HSV色彩空间模型;
b.计算H分量直方图。H分量直方图计算方法为:若采用m级直方图,其特征空间中特征值的个数为m,每个特征值对应的颜色特征为u,u=1,2,…,m,则m级直方图用qm表示。
令b:R2→{1…m},设xi为视频序列中单帧图像的像素点,b(xi)为该像素xi在计算的量化特征空间的排列序号,即直方图索引;δ(x)为Delta函数,利用δ[b(xi)-u]判断像素xi的颜色值是否等于第u个特征值,若等于,则其值为1;否则,其值为0。对每个像素点进行计算后可得出每个特征值频数为
(3)
c.直方图均衡。本文算法采用线性变换将每帧图像直方图像素范围从[0,qmax]归一化到[0,255],线性变换后得到的每个特征值为
(4)
d.计算直方图投影值[13]。每帧图像中单个像素xi对应的直方图投影值用bp(xi)表示,则将输入的每帧图像xi依次计算H分量直方图分布下的概率值,该值反映目标出现的概率,即反向概率投影图,其计算公式为
(5)
4)在每帧图像中,从Kalman预测目标中心位置开始逐步搜索点Ci,并以此为中心确定一个大于或等于目标框的候选目标搜索区域,然后计算该区域图像的投影图,从而确定目标的真实位置:
a.计算候选区域中心。由在当前候选区域的中心点Ci开始计算下一个中心点Ci+1,其计算公式为
(6)
(7)
式中x,y∈Ai为当前目标候选区域内各个像素的位置;bp(x,y)为该区域内各个像素对应的投影值;(Cxi+1,Cyi+1)为质点坐标。
b.迭代停止。若‖Ci+1-Ci‖<ε,则迭代停止;否则,令Ci=Ci+1,返回步骤(a)。
5)利用Kalman结合测量值Ci+1修正当前状态的估计值,利用Kalman预测目标位置减少迭代次数,并设置搜索范围避免全局投影。本文算法采用等速运动模型预测目标对象的中心位置。其计算步骤为:
a.设置初始值。对下列向量进行初始化,即初始化状态噪声方差矩阵Qk-1、初始误差方差矩阵Pk-1、测量噪声方差矩阵Rk-1和初始状态向量X0;
b.预测目标中心位置。预测状态向量估计值Xk,并将该Xk作为MS算法在当前帧的初始搜索点;
在Intel(R)Core(TM)i3的CPU、2GB内存、Windows 7旗舰版计算机上,采用VS2008和OpenCV2.1开发环境完成实验。实验序列为一段黄昏时分别拍摄在简单背景和复杂背景下直升飞机飞行的24位全景真彩视频图像,总长685帧,每帧分辨率为720×576。实验对算法2个性能进行指标评价[14]:1)目标检测与跟踪的准确性和抗干扰能力分析;2)目标检测与跟踪的实时性分析。
采用帧差法进行机动目标检测及二值化效果如图1所示。可以看出,该方法能够较完整准确地检测机动目标。
图1 帧差图及二值化效果
快速机动目标检测与跟踪实验结果如图2所示。其中最大概率的像素点(图2(a)矩形区域)在图2(c)所示概率投影图中用高亮度显示。从图2结果可以看出:本文算法利用候选区域中每个像素值来表示候选区域与目标模型的相似度,若某个候选区域中的像素值之和最大,则该候选区域即为当前帧中的目标位置。
图2 直方图投影示意
图3为全景图像的目标周围区域投影。其中,图3(a)为选择感兴趣的目标(矩形框中的飞机图像);图3(b)根据目标的运动规律在目标邻近区域设置投影区域的范围。从图3可以看出:本文提出的投影方案不但可以避免不必要的全图投影,减小计算量和迭代次数,而且抑制了目标周围与目标颜色相似的背景干扰。
图3 原始图和目标周围区域投影
图4为本文提出的算法的跟踪实验结果。其中,图4(a)为光线不足时全景视频的跟踪结果,可知,在光线不足情况下,本文提出的算法仍能够正确跟踪目标;图4(b)为光线不足时对复杂背景下全景视频的跟踪结果,在光线不足且背景复杂情况下,依旧能准确跟踪目标,具有较好的抗干扰性,在机动目标进行旋转、翻滚等各种复杂情况下,跟踪效果依然很好,具有较好的鲁棒性。
图4 本文算法不同条件下跟踪结果
为了验证快速机动目标检测与跟踪的实时性,采用视频序列同上,与传统MS算法、文献[11]算法进行比较。表1给出了3种算法的机动目标检测与跟踪时平均每帧的搜索时间。由表1可以看出:本文算法的搜索时间短,有效提高了目标的跟踪速度。
表1 3种算法实时性实验结果
主要结合Kalman滤波算法和MS算法实现了机动目标实时跟踪。实验结果表明:算法能够对机动目标在下一帧中的速度、位置等参数实现准确估计,提高了跟踪精度,具有较好地鲁棒性,而且跟踪时间短,能适应目标和背景的复杂变化,具有较好的应用前景。
参考文献:
[1] 徐 毓,金以慧,杨瑞娟.基于强跟踪滤波器的多目标跟踪方法[J].传感器与微系统,2002,21(3):17-20.
[2] 李 志,谢 强.一种基于改进粒子滤波的运动目标跟踪[J].计算机科学,2014,41(2):232-235,252.
[3] 谢天旭,何炳蔚.基于颜色特征与SIFT 特征自适应融合的粒子滤波跟踪算法[J].计算机应用研究,2013,30(11):3506-3509.
[4] 陈家波,赵勋杰,许 峥.基于梯度方向直方图特征和粒子滤波算法融合的目标跟踪[J].小型微型计算机系统,2012,33(8):1821-1824.
[5] 梁 楠,郭 雷,王 瀛.基于粒子滤波和自适应模型的目标跟踪算法[J].哈尔滨工业大学学报,2012,44(10):139-143.
[6] 崔诵祺,安建平,王爱华.机动目标模型匹配卡尔曼滤波载波跟踪算法[J].系统工程与电子技术,2014,36(2):376-381.
[7] 戴邵武,方 君,张文广,等.高超声速强机动目标改进IMM-CKF跟踪算法[J].传感器与微系统,2016,35(9):133-136,140.
[8] 赵红雨,吴乐华,史燕军,等.基于HSV颜色空间的运动目标检测方法[J].现代电子技术,2013,36(12):45-48.
[9] 席庆彪,董阳霞,刘慧霞.一种基于M-APF的实时UAV目标跟踪算法[J].系统仿真学报,2014,26(1):107-111,118.
[10] 胡 威.一种新的Mean Shift快速机动目标鲁棒跟踪方法[J].计算机应用与软件,2014,31(1):140-143.
[11] 伊力哈木·亚尔买买提.基于改进Mean Shift视频目标跟踪算法的研究[J].计算机测量与控制,2014,22(2):471-472,488.
[12] 徐 琨,贺昱曜,王卫亚.基于CamShift的自适应颜色空间目标跟踪算法[J].计算机应用,2009,29(3):757-760.
[13] 胡 波,陈 恳,徐建瑜,等.基于Kalman预测和Mean Shift算法的视频目标跟踪[J].光电子·激光,2009,20(11):1517-1522.
[14] 黄馨誉,胡士强,郑世友.基于PN学习的雷达目标鲁棒跟踪算法[J].传感器与微系统,2016,35(12):116-119.