基于粒子滤波与神经网络的目标遮挡跟踪

2021-01-14 02:08韩宇星丁刚毅
计算机集成制造系统 2020年12期
关键词:状态方程色度直方图

韩宇星,丁刚毅

(北京理工大学 软件学院,北京 100081)

0 引言

在工业生产、国防军事、智能监控以及无人驾驶等诸多领域中均涉及目标识别与跟踪技术[1-4]。由于跟踪场景的复杂性,跟踪过程中存在大量的干扰及随机因素,如,光照变化、尺寸变化、目标遮挡等[5-6],这些因素对目标跟踪方法提出了苛刻的要求。对于复杂背景中的目标跟踪,相关匹配方法具有较好的目标识别性能[7-9],但相关匹配计算量较大,且匹配结果通常对目标尺寸和旋转变化较为敏感,不适用于复杂运动情况下的跟踪。基于压缩感知的目标跟踪方法(Compressive Tracking, CT)采用贝叶斯分类器实现目标定位,具有机理简单、定位速度快的特点[10],但跟踪结果通常也不具有尺度不变性,且跟踪鲁棒性不强。核相关滤波跟踪(Kernelized Correlation Filter, KCF)方法在跟踪过程中通过训练目标检测器实现目标位置的定位,并利用检测结果更新检测器,同样具有较高的运算速度[11],但由于跟踪过程中目标框尺寸固定,容易因目标框漂移而导致跟踪失败。基于核密度估计的Meanshift和Camshift跟踪方法对目标的尺寸和旋转变化均具有良好的鲁棒性[12-13],尤其当目标颜色与跟踪背景有显著性差异时,算法具有良好的跟踪性能。但由于采用颜色直方图模型描述目标,算法存在对光照变化的敏感性,此外,上述跟踪方法均缺少应对目标遮挡的跟踪机制。这也是现有跟踪方法普遍存在的问题,即当目标发生遮挡时,由于目标特征的丢失而导致跟踪失败。卡尔曼滤波方法由于能够实现目标状态的最优估计,可以与各种跟踪方法相结合以保证跟踪结果具有一定的抗遮挡性能[14-15]。但当遮挡时间较长时,卡尔曼滤波预测误差的累积会导致预测位置远离实际位置,这样,当目标移出遮挡区后也会因无法定位目标而导致跟踪失败。粒子滤波具有较好的搜索能力和预测性能,采用粒子滤波可以给出目标的多个粒子预测位置,有助于在一定范围内实现目标搜索,这样,当目标再次出现时,粒子滤波具有更强的目标发现能力,有利于提高跟踪过程的鲁棒性[16-17]。不过,与卡尔曼滤波一样,粒子滤波也需建立目标的状态方程和观测方程,当目标被完全遮挡后,由于无法获得目标的观测值,只能依靠状态方程实现目标位置的预测估计,当目标遮挡时间较长时,预测误差的累积同样会逐渐增大,造成预测位置与实际位置偏差过大而导致跟踪失败。此外,由于缺少先验知识,状态方程和观测方程的方差等参数通常只能按照经验选取,由此可能造成参数设置与实际跟踪过程不符,从而导致预测性能降低。

为了提高遮挡情况时目标跟踪的稳定性,结合Camshift跟踪方法,提出了融合神经网络预测的粒子滤波跟踪策略,根据目标历史运动信息建立目标的状态方程,采用神经网络建立目标运动的观测模型,由此提高粒子滤波对位置估计的准确性,从而改善目标跟踪性能。此外,为了提高Camshift目标跟踪方法对光照变化的鲁棒性,建立了基于色度等级核函数的直方图模型,弱化了色度等级划分对目标模型的影响,有效抑制了色度漂移对目标模型的干扰,提高了光照变化情况下目标模型的稳定性。

1 改进目标直方图模型

目标跟踪方法通常要根据目标的特征建立其目标模型。采用不同的特征对目标进行描述可建立不同的模型。对于实时跟踪方法,通常要求目标模型的计算量不能太大,且对目标的平移、旋转以及缩放应具有良好的不变性。因此,色度直方图模型在Meanshift和Camshift等具有良好实时性的跟踪算法中得到了广泛应用。而在跟踪过程中,可采用Bhattacharyya系数或Hellinger距离来衡量目标模板直方图与跟踪场景候选区直方图的相似度。但是,在建立直方图过程中,需要对色度进行等级划分,而在跟踪过程中,光照变化对色度直方图模型会产生较大影响,例如,同一像素点在不同光照下会被统计入不同的色度等级中,从而造成目标直方图模型因光照变化而不稳定。为了提高目标直方图模型对光照变化的鲁棒性,本文提出基于色度核函数的改进直方图模型。

在色度、饱和度、明度(Hue, Saturation, Value, HSV)颜色空间中,选取色度(Hue,H)作为颜色特征分量,将色调特征划分为m个等级,设目标模板的中心坐标为(x0,y0),模板中第i个像素点的坐标为(xi,yi),i=1,2,…,s;其色度特征等级值为b(xi,yi),传统直方图模型q={qu},u=1,2,…,m可表示为:

(1)

式中δ函数为克罗内克函数,利用其实现各色度等级的像素点统计。当像素点(xi,yi)处的色度等级值b(xi,yi)=u时,δ函数输出为1,否则为0。由于场景图像采集过程中,光照会发生不确定性变化,像素点(xi,yi)处的色度值会因光照变化而产生一定的变化,从而使其色度等级值b(xi,yi)发生变化,这样,当采用δ函数进行直方图统计时,光照变化会造成直方图模型的不稳定,即同一像素点在不同时刻因其色度值不同而被划分到不同的色度等级中。为了提高模型对光照变化的鲁棒性,提出采用核函数代替δ函数的改进直方图模型,即

(2)

式中:k为高斯核函数,h为核函数参数,与式(1)相比,式(2)采用高斯核函数k替代δ函数,这样,在直方图模型统计过程中,尽管同一像素点因光照变化会被划入不同色度等级中,但由于各像素点对所有色度等级的直方图统计值均有贡献,与式(1)的目标直方图模型相比,式(2)直方图模型弱化了色度等级划分阈值的作用,提高了模型对光照变化的鲁棒性,有利于实现目标的稳定跟踪。

2 目标遮挡跟踪策略

2.1 遮挡的判定

(3)

根据Bhattacharyya系数,可计算二者Hellinger距离为:

(4)

Bhattacharyya系数越大,Hellinger距离越小,表示两直方图模型越相似,对于不同帧下同一目标的直方图模型,应具有较小的Hellinger距离。如果在跟踪过程中,目标被遮挡,此时由于目标消失而产生错误识别,会造成模板与定位区域直方图的Bhattacharyya系数显著减小、Hellinger距离显著增大,据此可作为判断目标遮挡发生的条件,当目标发生遮挡时,本文提出融合神经网络预测的改进粒子滤波方法实现目标状态估计。

2.2 粒子滤波

粒子滤波方法采用蒙特卡洛积分来实现递推贝叶斯滤波器,其工作过程包括预测和更新两个阶段。当粒子的数量足够多时,状态的概率密度函数就可采用粒子的概率密度函数进行逼近,这样,粒子滤波就能够获得最优贝叶斯估计的效果。设t-1时刻的目标状态为xt-1,则t时刻的状态xt可采用后验概率密度p(xt|zt)进行估计。后验概率密度p(xt|zt)利用加权后验样本集表示为:

(5)

(6)

其中

(7)

(8)

粒子滤波过程中,需要建立系统的状态方程和观测方程。通常,目标运动的状态方程可根据目标的历史运动信息建立。设sk,vk,ak和jk分别为k时刻目标的位置、速度、加速度以及加加速度,设状态向量Xk=[skvkak]T,则系统的状态方程和观测方程可建立为:

(9)

(10)

其中:Zk为观测向量,Vk为观测噪声向量。式(9)和式(10)所建立的状态方程和观测方程是基于牛顿运动学方程所建立的,当目标发生遮挡时,由于目标运动的随机性,采用式(9)的状态方程进行目标的位置预测会存在一定的误差。当遮挡时间较长时,误差累计将会逐渐增大。而利用式(10)所建立的观测方程仅是将状态值作为观测值使用,并未引入新的有用的状态预测信息,因此,对状态方程所产生的位置预测误差并无有效的补偿作用。

为了提高位置预测的有效性,采用神经网络建立目标运动的观测模型,利用粒子滤波将机理不同的状态方程与观测模型进行融合,提高目标位置预测过程的信息利用量,实现预测误差的补偿,从而改善目标状态预测性能。

2.3 状态方程和观测模型的建立

考虑到目标在运动过程中会发生一定的尺度变化,因此将目标尺寸也作为状态变量。根据相邻帧间目标位置信息,采用后向差分方法可得:

(11)

(12)

这样,同时考虑目标位置和尺寸信息,目标运动的迭代方程可重建为:

(13)

考虑到目标在跟踪过程中,状态变量可能出现持续增加或持续减小的现象,为了提高网络的泛化能力,采用预测状态增量的方式构建RBF网络模型作为观测模型,即

(14)

由于状态方程和观测模型中都含有噪声,传统方法中,噪声的方差等参数通常根据经验选取,这可能造成所选择的参数与实际系统不符,从而影响滤波效果。本文根据目标历史状态数据建立状态方程和观测模型,因此状态方程和观测模型中的噪声参数可按照历史数据统计求得。设状态方程和观测模型中的各噪声均为独立高斯白噪声,其方差可根据未遮挡时计算值与目标定位之间的偏差统计求得。当目标在未被遮挡的情况下,采用状态方程和观测神经网络分别实现位置预测,根据预测结果与实际目标位置的定位偏差估算状态方程和观测模型的方差,从而提高参数选取的有效性,有利于改善滤波效果。

2.4 有遮挡目标跟踪策略

选择Camshift作为目标跟踪方法,结合粒子滤波方法实现有遮挡情况下目标的跟踪,其流程图如图1所示。

结合粒子滤波方法实现有遮挡情况下的目标跟踪策略步骤描述如下:

步骤1根据式(2)建立目标模板的直方图模型,采用式(13)和式(14)建立系统的状态方程和观测模型。

步骤2获取下一帧场景图像,利用状态方程迭代计算状态值,利用RBF观测模型计算观测值,采用Camshift跟踪方法在当前场景内定位目标。

步骤3计算模板与目标定位区的Bhattacharyya系数和Hellinger距离。如果Hellinger距离大于阈值,则判定为目标发生遮挡,转入步骤4进行粒子滤波目标状态估计;否则,判定目标未发生遮挡,将当前定位位置确定为目标位置,更新模板及状态值,并训练观测模型,根据状态值和观测值与目标状态偏差更新状态方程和观测模型中噪声的方差。

步骤4粒子滤波状态估计。

(3)更新粒子权值。

(15)

式中σi为第i个观测模型的方差。粒子权重的递推公式计算为:

(16)

归一化的权重结果为:

(17)

计算各粒子与模板的Hellinger距离,如果最小Hellinger距离小于阈值,则退出粒子搜索,重新定位目标,否则转(4)。

(4)重采样计算。

(5)目标状态估计为:

(18)

(6)t=t+1,返回步骤2。

由于观测模型采用4个独立的RBF神经网络实现目标状态的增量预测,各观测模型的观测噪声可视为独立分布,因此采用式(15)计算概率采样。RBF神经网络根据目标运动的历史信息实现目标位置的预测,引入了不同于状态方程机理的新信息。利用粒子滤波将状态方程计算的目标状态和观测模型预测的目标状态进行融合,提高了滤波过程中的信息利用率,有利于提高遮挡情况下目标状态估计的准确性。同时,由于粒子按照概率分布在场景中,扩大了目标搜索范围,提高了遮挡结束后目标再定位的有效性,能够提高目标跟踪方法的可靠性。

3 实验结果与分析

3.1 目标模型的光照敏感性

为了测试式(2)直方图模型对光照变化的敏感性,选择Visual Tracker Benchmark标准视频库中的David视频进行测试。该视频中的人体目标在明暗显著不同的光照下运动,光照变化对直方图模型影响很大,分别采用传统方法和改进方法建立目标直方图模型,并计算跟踪模板与相邻帧中目标区的Hellinger距离,每隔6帧更新一次模板,共完成200帧的Hellinger距离计算,该过程中,目标从黑暗处移动至光亮处。图2给出了两种方法所得Hellinger距离的变化结果。

图2中,实线为采用传统直方图建模方法所计算的跟踪模板与场景目标的Hellinger距离;虚线为采用改进直方图建模方法所得Hellinger距离。由实验结果可知,采用改进直方图建模方法,模板与场景目标区域之间具有更小的Hellinger距离,Hellinger距离平均值由0.117下降至0.094,降低了19.66%,因此,采用改进直方图建模方法能够提高模板与目标区的相似性,对于在不同光照条件、不同场景中的同一目标,改进直方图建模方法对光照变化具有更好的鲁棒性,有利于提高跟踪方法的可靠性。

3.2 目标遮挡跟踪实验

对Visual Tracker Benchmark标准视频库中的David3视频中的人体目标进行遮挡跟踪。目标在第84帧、第85帧以及第187帧至第190帧之间发生短时遮挡,分别采用Kalman滤波、粒子滤波以及改进粒子滤波实现遮挡情况下的目标状态的最优估计,所得结果如图3所示。

图3中:浅灰色框为卡尔曼滤波估计结果、深灰色框为粒子滤波估计结果、白色框为改进粒子滤波估计结果。从实验结果可见,由于目标发生遮挡时间较短,上述3种方法均能实现遮挡情况下的目标状态估计,但改进粒子滤波方法由于融合了神经网络的预测信息,能够给出更准确的状态估计,当目标再次出现时,能够快速完成目标的重定位。

采用上述3种方法对较长时间遮挡情况下的目标进行跟踪,如图4所示,移动的行人经过车辆后身体被遮挡,将行人身体设定为跟踪目标进行跟踪,以行人的头部作为目标的基准位置,所得跟踪结果如图4所示。

由图4跟踪结果可见,随着遮挡时间的增加,3种方法的状态估计误差逐渐增大,粒子滤波和卡尔曼滤波方法仅依靠状态方程的运动信息进行状态估计,误差累积逐渐增加,最终导致预测位置与目标位置偏差过大,当目标移出遮挡区后也无法再次定位到目标,从而导致跟踪失败。而本文方法的观测方程采用RBF网络建立,利用神经网络的泛化能力给出观测模型的预测状态,利用粒子滤波实现与状态方程的运动信息融合,所得预测结果的准确性有了较大的提升,尽管预测位置与目标实际位置也有偏差,但偏差较小,当目标移出遮挡区后,利用粒子的搜索能力,实现了目标的重新定位,提高了遮挡情况下目标跟踪的可靠性。

采用上述3种方法对某实际复杂交通路口中的运动目标进行跟踪,骑车人通过该路口时身体被运动车辆所遮挡,以骑车人的身体作为目标,以其所带白帽作为目标的基准位置,跟踪结果如图5所示。

图5中,交通场景复杂,跟踪目标及遮挡车辆均做转弯运动,增加了目标运动状态的复杂性。随着遮挡时间的增长,由于状态方程自身的误差累积,粒子滤波和卡尔曼滤波方法的预测误差逐渐增大,遮挡结束后预测位置远离目标实际位置,造成无法重新定位目标。而本文方法采用与状态方程机理不同的RBF神经网络建立观测模型,利用粒子滤波实现了不同预测机理的误差补偿,降低了预测误差,遮挡结束后,目标实际位置仍处于粒子的搜索范围内,因此可实现目标的重定位,完成遮挡情况下的目标跟踪。

上述实验的目标状态估计性能比较如表1所示。

表1 目标状态估计性能比较

由表1给出的目标状态估计误差可见,当目标遮挡时间很短时,3种状态估计方法的性能相差不明显,本文方法状态估计的准确性略优于卡尔曼滤波方法和粒子滤波方法。而当目标发生较长时间遮挡时,状态方程所产生的预测误差逐渐增加,导致卡尔曼滤波和粒子滤波估计的平均误差和最大误差明显升高。本文方法利用粒子滤波将基于RBF网络的观测模型与状态方程相融合,实现了不同预测机理的预测补偿,能够明显提高目标状态估计的准确性。

4 结束语

针对遮挡情况下的目标跟踪问题,本文结合Camshift跟踪算法,提出了改进的粒子滤波跟踪策略。利用色度核函数建立目标模型的直方图,弱化了色度等级划分阈值的作用,提高了目标模型对光照变化的鲁棒性,有利于实现目标的稳定跟踪。采用RBF神经网络建立粒子滤波的观测方程,将RBF网络的预测值与状态方程的计算值进行融合,提高粒子滤波状态估计的准确性,减小了目标位置估计的偏差,提高了目标重现时的定位准确性。仿真实验结果表明,改进的直方图模型能够提高光照变化情况下模板与目标区的相似性,从而减小光照变化对跟踪结果的影响。改进的粒子滤波方法能够提高遮挡区目标状态估计的准确性,尤其当目标发生较长时间遮挡时,算法跟踪的可靠性能够得到明显提升。此外,由于深度学习在目标检测与识别领域取得了快速的发展,因此,将深度学习网络与粒子滤波相结合,构建高性能的抗遮挡目标跟踪方法是未来的研究方向。

猜你喜欢
状态方程色度直方图
符合差分隐私的流数据统计直方图发布
LKP状态方程在天然气热物性参数计算的应用
第一性原理计算研究LiCoPO4和LiMnPO4的高压结构和状态方程
用直方图控制画面影调
基于随机与区间分析的状态方程不确定性比较
中考频数分布直方图题型展示
基于改进色度模型的非接触式心率检测与估计
圆投影及直方图不变矩在多视角产品检测中的应用
景德镇早期青白瓷的器型与色度
如何提高苹果的着色度