李 瞳, 吴孙勇, 杨 标
(桂林电子科技大学 数学与计算科学学院,广西 桂林 541000)
随着科技水平的与日俱增,视频目标跟踪的研究应用在医疗、安防、军事以及生活等各个领域当中。常见的视频研究主要围绕着彩色视频目标,通过颜色和纹理等信息对视频目标进行处理,最终实现对视频目标的检测与跟踪。然而,在彩色视频的研究中,当遇到雾、霾、雨、雪等恶劣天气或夜间作业时,针对目标的处理过程就存在着一定的局限性。为了应对上述环境,并实现指定范围的全天候监控[1],国内外专家学者对红外视频目标进行了相关研究。红外目标跟踪是基于红外热像仪获取视频图像,因其信噪比低,与周围环境灰度值相差不大的特点,使得跟踪过程存在一定难度。
对于红外目标跟踪的研究,通常分为2大类:
1)红外弱小目标的跟踪。此类研究常用的是检测前跟踪(track before detect,简称TBD)算法[2]。TBD算法根据目标运动连续性这一特征,对目标所有可能的运动轨迹进行积累,通过目标特征对各条轨迹的后验概率进行判定,实现目标的跟踪。
2)红外面目标的跟踪。行人作为非刚体,具有形态不定[3]的特点,给跟踪过程带来了困难。华宇宁等[4]在一种无向图即马尔可夫随机场上实现了粒子滤波跟踪;王梅梅等[5]提出了一种基于目标灰度和运动特征的粒子滤波跟踪算法;吴敏等[6]实现了一种融合深度特征和梯度特征的特征融合红外目标跟踪算法;张绍明等[7]用有向梯度直方图来描述所要跟踪目标的特征,在粒子滤波的框架下实现了红外行人目标的跟踪。虽然粒子滤波可以解决非线性、非高斯条件下的多目标跟踪,但存在数据关联的问题,在目标数或虚警较多时,计算量会大幅增加,同时会影响目标状态的估计。
为了处理数据关联带来的问题,Mahler[8]提出了随机有限集的概念,可以在解决上述问题的同时,实现对多目标的有效跟踪。Reza等[9]在对视频多目标进行跟踪的过程中,通过核密度估计的方法对目标进行提取,用多伯努利滤波的方法实现对视频多目标的跟踪,其跟踪过程是通过粒子滤波来实现,用以拟合目标的后验概率密度,所以算法在效率上相对较差,同时在对目标的数目以及状态的估计上存在一定偏差。针对此类问题,采用BOX-PHD滤波估计目标状态,并提升计算效率。针对红外行人目标跟踪中红外图像信噪比低、粒子滤波实现计算量大、目标状态估计不准确等问题,使用箱粒子滤波[10]来处理。箱粒子滤波实现过程中,所需粒子数少,且存在杂波时仍然可以估计目标状态。本算法首先借用文献[9]中用于提取目标的核密度估计的方法对背景进行剔除,将所获红外行人目标的质心等状态信息作为量测信息,利用箱粒子滤波与概率假设密度[11-12]相结合的BOX-PHD滤波算法,实现目标跟踪过程的预测和更新。实验表明,本算法可有效提升运算效率,箱粒子滤波实现过程所需粒子数相对于粒子滤波少很多。由于行人目标不是点目标,目标产生的量测是区间量测,于是在实现行人目标跟踪时,使用箱粒子滤波中的区间分析[13]思想更为合适。实验结果表明,本算法对目标数和状态的估计较为准确。
为了获取红外目标的量测信息,通过核密度估计技术[9]将红外视频图像进行背景减除,一方面无需通过训练建立目标模板,另一方面不用直接对目标的类型或者外观进行预先假定,就能够有效地抑制背景或杂波带来的干扰。
本研究所处理的图像是红外视频图像,为了操作方便,计算简单,将红外视频图像的灰度值映射到[0,1],可得到第k帧灰度图像的像素点i的映射值:
di(k)=hi(k)/255,
(1)
其中hi(k)为第k帧灰度图像的像素点i的像素值。
为了通过核密度估计的方法实现对每个像素点的背景概率,首先设置一个大小为N0的栈,栈用于存放样本图像,将采样间隔设为K0,红外图像序列的采样时间分别为0、K0、2K0、…、(N0-1)K0。也就是说,在采样过程中,从原红外图像中的第1帧图像开始,每隔K0帧图像后提取当前帧图像,并存入栈中。当第k帧图像能被K0整除时,将该帧图像存入栈中,用于栈的更新,将该帧所要更新的图像放在栈的最前面,最先入栈的帧图像最先出栈,以此方式循环更新栈中的样本,用于消除背景轻度变化所带来的影响,并建立合适的背景模板来估计像素点的核密度。在栈中,图像的序号为
将栈中样本值N0设置为10,将样本采样间隔K0设置为10。
通过将当前帧图像与栈中图像依次作减操作,获取像素点i为背景的概率:
(2)
其中:di(k)为由式(1)所得的像素点i的映射值;kl为k时刻栈中第l-1帧图像,
(3)
σd,i(k)为k时刻像素点i的高斯核带宽。而在核密度估计过程中,带宽的选取非常重要,当样本数无限多时,带宽的选择对结果带来的影响并不明显,但在实际操作中,样本数是固定的,此时带宽的选择就显得尤为重要。核带宽的计算公式为
(4)
其中median表示取中值。
假设将像素点i通过核密度背景减除操作得到的该像素点为背景的概率为yi,将式(3)代入式(2),再进行归一化,则
(5)
通过背景减除操作获得的背景密度图可用y=[y1,y2,…,ym]来表示,m为背景密度图中像素点的总个数。在得到的背景密度图里获取前景目标,采用形态学操作来消除前景目标中散落的噪点,便于后续操作。通过对图像的连通区域分析来获取前景目标的状态信息,作为下一时刻目标量测值的输入。图1为背景减除操作处理后所获得的前景目标图像信息。
图1 原图与前景目标图
通过背景减除操作获得目标的状态信息后,通过引入BOX-PHD滤波算法实现红外视频目标的跟踪。
在红外视频目标跟踪中,所获量测不是常见的点量测,前景目标作为区域进行处理,而量测作为区间进行处理。箱粒子滤波较之传统的粒子滤波,箱粒子具有一定大小,且大小可控,其主要思想是传统的点粒子被最大误差已知的箱粒子所取代,是一种基于区间分析的方法。在有效处理量测的3个不确定性的同时,仅使用几十个箱粒子就可以实现类似于传统点粒子的跟踪效果,而点粒子则需要上千个粒子,因此箱粒子滤波能够在降低计算复杂度的同时提升计算效率。
2.2.1 初始化
(6)
(7)
其中bk-1为k-1时刻新生目标数的期望值。则k时刻所要传递的粒子状态集为
(8)
k时刻粒子总数为
Nk=Jk-1+Nk-1。
(9)
2.2.2 预测
新生初始化后,箱粒子由新生的部分和持续存活的部分构成。在预测过程中,通过状态转移矩阵[fk|k-1](·)及存活概率PS(·)分别对箱粒子集的状态和权值进行预测,即
(10)
(11)
2.2.3 更新
约束后箱粒子的似然函数为
(12)
在更新过程的最后,根据得到的似然函数来计算更新后的每个箱粒子的权值:
(13)
λk|k-1=λc([zj])+
(14)
2.2.4 重采样
在重采样中,由于滤波过程是用区间的方式进行目标跟踪,其重采样方法不同于传统的粒子滤波方法。本研究采用随机划分的重采样方法,可以有效地增多粒子多样性。先计算目标的期望数
即为真实量测的个数,再将选中的箱粒子随机划分为多个箱粒子,取代传统的复制方式。重采样后得到的新的箱粒子及权值为
其中Nk+1为重采样的箱粒子数。
2.2.5 目标状态估计
预测箱粒子所对应的各个区间量测的更新权值:
(15)
选用一列红外视频图像序列用于视频跟踪,为了操作简便,将用于更新栈中图像样本,并将样本进行提取和存储,且随核密度估计的实现过程对样本进行更新,在视频序列中有目标新生的情况出现。图2为文献[9]伯努利滤波算法与本BOX-PHD滤波算法对同一序列红外视频图像的跟踪结果。图2中从左到右分别为序列图像中的第2帧、第49帧和第83帧图像。从图2可看出,本算法在对红外行人目标的数目和状态的估计较为准确,文献[9]的算法在对目标数的估计上存在漏检的情况,在对目标状态的估计上不够准确。
图2 红外视频的实验结果
伯努利滤波算法与BOX-PHD滤波算法在对红外视频序列中的多行人目标估计的示意图如图3所示。从图3可看出,BOX-PHD滤波算法在对行人目标数目的估计效果较好且较稳定,这是因为BOX-PHD滤波算法在处理区间量测的问题上比较适用。
图3 2种算法目标数估计
图4 2种算法OSPA距离估计
采用最优子模式分配(OSPA)距离[14]对多目标的跟踪算法进行评价。该方法常被用在多目标跟踪算法的实验结果评价中,对红外视频多目标的跟踪结果也同样适用。
图4为伯努利滤波算法与BOX-PHD滤波算法OSPA距离估计的对比。从图4可看出,BOX-PHD滤波与伯努利滤波相比,OSPA距离显著降低,跟踪误差较小,这是因为BOX-PHD滤波采用的是区间量测的算法,对目标状态的估计上较为稳定。从图4还可看出,从第40帧图像开始,OSPA距离有一定程度的波动,这是因为有新生目标出现,但过了几帧之后,BOX-PHD滤波的OSPA距离又趋于稳定,这表明本滤波算法可以有效地处理目标新生的问题。
为了处理红外视频多行人目标纹理细节少、噪声强的问题,用核密度估计的方法结合BOX-PHD滤波算法实现跟踪,一方面可以提升跟踪过程的计算效率,另一方面可以有效估计目标状态,保证了算法的准确性和稳定性。通过核密度估计实现对目标的提取,将背景进行有效地滤除,并将目标的位置以及状态信息作为量测,用于后续跟踪。基于箱粒子PHD滤波的红外视频目标跟踪算法比伯努利滤波跟踪算法有更好的跟踪效果,同时实验结果表明,在对目标数的估计以及OSPA距离的计算上,本算法可以有效地实现红外视频多行人目标的跟踪。本算法在对目标数目以及状态的估计上有着更强的鲁棒性,且在运算上相比伯努利滤波算法具有更高的跟踪精度和计算效率。