孙奔奔
摘 要:针对汽车多目标跟踪,提出了基于自适应阈值ViBe算法和粒子滤波的汽车多目标跟踪方法。通过ViBe算法提取运动车辆前景区域,对每个运动车辆目标创建独立的粒子滤波器,使用Harris算法计算角点数,以初始化粒子数,通过粒子滤波对车辆进行跟踪。该方法经实验验证,鲁棒性较好。
关键词:ViBe算法;粒子滤波;多目标跟踪;Harris算法;鲁棒性;前景检测
中图分类号:TP391文献标识码:A文章编号:2095-1302(2020)04-00-02
0 引 言
图像处理在车辆跟踪方面具有广泛的应用。常用的检测算法如帧间差分法、光流法、背景差分法等[1],其特点如下所示:
(1)帧间差分法对于目标运动快慢较为敏感;
(2)光流法在复杂背景下的目标跟踪准确性好,但计算复杂,且抵抗噪声能力较差[2];
(3)背景差分法适用于噪声干扰等复杂场景,在目标检测中鲁棒性强[3-5],如GMM(混合高斯模型)背景差分,建模初始化和参数估计时间长[6]。
在跟踪方法中,常用的跟踪算法有Camshift,Kalman滤波,粒子滤波法等[7],其特点如下所示:
(1)基于Camshift的方法仅能够对颜色模型进行跟踪,一旦模型颜色相近就会出现误跟踪的情况;
(2)Kalman滤波方法只能用于线性跟踪的场景,无法解决车辆出现突然停止等速度突变的情况;
(3)粒子滤波法通过随机样本描述概率分布,处理非线性非高斯情况效果较好[8-9]。
本文采用背景差分法中的ViBe算法解决多目标跟踪问题。通过自适应阈值改进的ViBe算法具有速度快、适应光照变化等优点。提取运动目标前景区域,对每个运动车辆目标创建独立的粒子滤波器,通过计算Harris角点数来初始化粒子数,对车辆进行跟踪,解决粒子滤波计算量大的问题。
1 算法描述
1.1 自适应阈值ViBe算法
ViBe算法主要包括三个方面,即模型的初始化方法、模型的背景检测、模型的更新策略。
1.1.1 模型的初始化
通过一帧图像即可完成ViBe的初始化。利用相近像素点拥有相近时空分布的特性,填充像素样本集[10]。对于一个像素点而言,随机选择其邻域点的像素值作为它的模型样本值。
式中:t=0为初始时刻;NG(x)为邻域点;M0(x)为背景样本集;v0(y)为样本值。
1.1.2 背景检测过程
以颜色模型计算失真值,如图1所示。
式中,δ为颜色失真值。
自适应阈值方法中,阈值大小与样本集的方差成正比,样本集方差越大,说明背景越复杂,判定阈值就越大。其中,0.5σm区间在[20,40]范围内。当计算某像素点的δ小于20,且在欧式距离上匹配度低于阈值的数目超过2个时,判断该点为背景点。
1.1.3 背景模型更新策略
ViBe算法采用无记忆更新策略,在每次确定需要更新像素点的背景模型时,以新的像素值随机取代该像素点样本集的一个样本值。
当像素点V(x)被分类为背景时,随机选择该像素点背景样本集M(x)中的一个值,以V(x)替换。同时,对V(x)邻域的背景模型样本值也以等概率的方式进行更新。经过Δt时间后,模型样本值随时间变化的概率为:
1.2 粒子滤波
粒子滤波通过随机选取粒子以保持粒子的多样性,但此举会导致全局搜索而降低效率。本文将粒子滤波应用在ViBe前景提取的车辆区域的固定框内初始化粒子集,缩小了计算范围,提高了运算速率。
2 算法处理过程
算法处理过程如下:
(1)选择前50帧图像,采用背景差分法进行背景更新,防止视频中的运动车辆造成鬼影问题;
(2)采用自适应ViBe算法检测运动目标,通过Sobel检测算法去除阴影并对轮廓内的图像做种子搜索算法运算来填充空洞,对进入视频中的运动物体进行跟踪,得到运动目标的前景,对完整进入视频的車辆确定最小外围矩形,并框选出目标区域;
(3)对目标车辆分配不同的粒子滤波器,通过Harris算法对框内的车辆目标进行角点检测,将角点数目作为粒子数,初始化粒子集;
(4)状态转移,计算上一阶段多次重采样获得的粒子的下一时刻位置;
(5)归一化权值,即;
(6)对新位置进行预测,待所有粒子相似度加权后,将结果作为目标可能的位置;
(7)对目标轨迹进行重采样,根据粒子权重对粒子进行筛选,重新分布粒子;
(8)获取下一帧图像。
车辆跟踪流程如图2所示。
3 实验及结论
图3所示为自适应阈值ViBe算法通过前景提取绘制出的两车辆最小外界矩形。计算前景区域内的Harris角点作为粒子滤波器的初始粒子数,分别为175(左)和152(右),带入粒子滤波器对两车辆进行跟踪。跟踪过程中选取300帧视频中的第190帧,第213帧,第237帧,发现跟踪框能够实时跟踪车辆位置,如图4所示。本文为每个车辆分配不同的粒子数目,并且粒子数目远小于全局粒子滤波的数目,以有效减少计算量,提高跟踪效率。试验表明,本方法对车辆跟踪具有很好的鲁棒性。
4 结 语
本文对公路场景中多车辆的跟踪情况,提出将自适应阈值的ViBe算法和粒子滤波相结合,以实现对多目标的检测和跟踪。试验结果表明,本文方法对于多目标的跟踪和检测具有很好的效果。下一阶段将继续优化程序以加快检测和跟踪速率。
参考文献
[1]曾巧玲,文贡坚.运动目标跟踪综述[J].重庆理工大学学报(自然科学版),2016,30(7):103-111.
[2] BARNICH O,DROOGENBROECK M V. ViBe:a universal background subtraction algorithm for video sequences [J]. IEEE transactions on image processing,2011,20(6):1709-1724.
[3]厉丹,鲍蓉,孙金萍,等.多分辨率LK光流联合SURF的跟踪方法[J].计算机应用,2017,37(3):806-810.
[4]欧阳梓标,牛燕雄,谢朋言.一种改进的基于ViBe的运动目标检测方法[J].半导体光电,2018,39(2):260-263.
[5]徐文瀚,程石磊.基于改进ViBe算法的前景检测[J].电子技术与软件工程,2017(16):82-83.
[6] KAEWTRAKULPONG P. An improved adaptive background mixture model for real-time tracking with shadow detection [Z]. Video based surveillance systems:computer vision and distributed processing,2001.
[7]王辉,宋建新.一种基于阈值的自适应ViBe目标检测算法[J].计算机科学,2015(z1):154-157.
[8]李明杰,刘小飞,张福泉,等.基于粒子滤波和背景减除的多目标检测与跟踪算法[J].计算机应用研究,2018,35(8):272-275.
[9] LIU F,XUAN S,LIU X. Video target tracking based on a new adaptive particle swarm optimization particle filter [C]// International Conference on Intelligent Computing. Springer,Berlin,Heidelberg,2013.
[10]張红瑞,马永杰.融合混合高斯模型的改进的ViBe算法[J].西北大学学报(自然科学版),2017,43(3):361-366.