一种改进的Camshift结合Kalman滤波的车辆跟踪定位算法

2016-05-19 11:13余江浩王林
电脑知识与技术 2016年8期

余江浩+王林

摘要:提出改进的Camshift算法结合Kalman滤波来检测跟踪交通拥挤情况下的车辆。Camshift是基于颜色的目标跟踪,当相同颜色车辆并排行驶时,Camshift算法容易丢失目标, Camshift结合kalman滤波的目标跟踪运用在道路交通检测也因为为背景不断更新而难以定位车辆。本文提出用改进自适应多高斯模型来对背景进行更新,进而再结合kalman滤波对运动目标估计预测来提高Camshift跟踪定位。实验结果表明改进后的算法跟踪定位车辆效果更好。

关键词:OpenCV;车辆跟踪;Camshift算法;kalman滤波

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)08-0162-02

随着大数据、互联网快速发展,产生了海量的数据,越来越多城市道路、高速公路上的网络摄像头视频数据越来越多。越来越多研究学者投入对道路交通车辆跟踪识别。Yilmaz等学者[1]、Wang[2]和Wu等学者[3]从单网络探头和多摄像机跟踪方面对目标跟踪算法进行较为详细的研究,Huang等学者[4]、Andr-eopoulos等学者[5]、Zhang等人[6]对图像中的目标分类识别算法进行了研究。通过对道路上车辆的速度研究,从相似车辆快速行驶到拥挤状态下的缓慢行驶。提出一种对数型加权方法来改进kalman滤波算法对目标的预测,提高对目标位置预测的准确率,进而改进修正Camshift预测目标的位置,得到更好的车辆跟踪效果。

1 传统的车辆跟踪算法

目前的车辆跟踪算法大都是改进的Kalman算法、粒子算法、均值漂移(Me-anshift)算法,本文采用改进后的Camshift结合kalman算法,能提高对运动车辆的实时跟踪,对速度时快时慢、车辆相似颜色和复杂背景下都能很好地进行车辆跟踪。

1.1 Kalman滤波

Kalman滤波是一种线性滤波与估计预测方法。Kalman滤波分为2个步骤[7],预测(predict)和修正(correct)。预测是基于上一时刻状态对下一时刻估计当前时刻状态,而修正则是综合当前时刻的估计状态与实际观测状态,估计出最优的状态。预测与修正的过程如下:

预测:

2 Camshift算法

Camshift算法[8]实际是自适应MeanShift的算法。它首次由Gary提出和应用在人脸识别。由于它是利用颜色的概率信息进行的跟踪,使得它的运行效率比较高。Camshift算法的过程由下面步骤组成[15]:

(1)根据搜索车辆确定初始车辆及其区域;

(2)计算零矩阵,x和y的一阶矩阵:

(3)确定车辆中心:(x0,y0);

(4)设定搜索区域颜色概率分布值,迭代搜索,直到其收敛或达到最大迭代次数。并保存零次矩;重复以上步骤。

3 基于非线性加权的Kalman滤波结合Camshift的车辆跟踪

车辆跟踪时,目标车辆与其他车辆没有形成大连通域,即使有噪声干扰,Camshift算法也能较好地对车辆进行实时跟踪定位,但是当交通拥堵形成大连通域后再分开或者相同颜色的车同时拥挤通过时,此算法不能准确地分辨待跟踪的车辆,本文首先使用混合高斯模型进行动态背景更新,同时引入具有计算量小、可实时计算特点的kalman滤波,利用非线性加权的二维Kalman滤波算法预测目标中心位置,进而不断修正Camshift的预测目标质心。下面是本文提出的一种线性加权,权值是非线性表达式。

4 实验结果及分析

实验表明,其他车辆目标干扰情况下,特别是当目标车辆颜色相近超车时,只用Cam-shift算法跟踪失败,引入改进的Kalman滤波算法后,增强了跟踪的稳定性。图2和图3是引入改进Kalman滤波结合Camshift算法前后的对比实验效果,从用矩形框锁定跟踪的目标可以看出,采用Camshift算法时搜索窗口较大,车辆较多时形成连通域后再分开时,目标车辆跟踪容易失败,跟踪窗口容易跳动。本文对算法的改进后,成功实现了车辆跟踪,排除了其他车道的干扰,且搜索窗口比较小,丢失后能二次搜索或者扩大区域搜索。

文中以Camshift算法输出的质心位置为测量信号,采用Kalman滤波算法校正目标中心位置,克服了Camshift算法的缺陷。改进后的Camshift算法结合Kalman 滤波能实时、准确地跟踪车辆,能有效地处理干扰和目标部分被遮挡等问题,为下一步的行为分析作基础。本文介绍了OpenCV函数库,搭建VS2013+OpenCV2.4.9开发平台。 提取单帧视频图像或者摄像头实时图像,采用各种算法对其进行图像预处理,并对处理效果进行分析比较;综合比较背景检测几种常用的方法,使用一种自适应混合高斯模型背景检测算法,在闭值选择方面使用OTSU闭值算法,得到较为精确的运动目标背景。但是对于背景复杂或者目标色度值很低的时候会出现跟丢的情况。由于研究时间和所学知识所限,我对本领域的相当一些内容了解还不够透彻,仍有很多难题需要解决,如阴影的去除,目标的重叠,以及目标与背景色彩相近时的辨别,以及程序移植到嵌入式系统中的问题,同时程序本身也需要进一步地修改完善。

参考文献:

[1] Kishore K, Mubarak K. Identification of 50 human action network video[J]. Computer vision and applications, 2013(5).

[2] 詹群峰. 基于OpenCV的视频道路车辆检测与跟踪[D].福建:厦门大学,2009.

[3] 黄凯奇,陈晓棠,康运锋,等.智能视频监控技术综述[J].计算机学报,2015(6).

[4] 陈晓棠.非重叠场景下的跨摄像机目标跟踪研究[D].中国科学院,2013.

[5] Wang Heng, Cordelia Schmid, Liu Chenglin. Dense motion trajectory and moving boundary descriptor for motion recognition. International Journal of computer vision,2013(1).