基于Kalman滤波与Camshift算法的水面目标跟踪

2019-06-19 02:33卢道华汪建秘王佳
现代电子技术 2019年11期
关键词:跟踪检测

卢道华 汪建秘 王佳

摘  要: 根据水面监控图像的特点,对运动载体采集到的水面视频图像进行处理,从而实现对运动目标的跟踪。首先,利用Haar分类器检测出水面的运动目标,并用检测结果初始化Camshift跟踪器的搜索窗口;然后,运用Kalman滤波器与Camshift组合算法实现对运动目标的跟踪。其中,利用Kalman滤波算法预测目标在下一帧中出现的位置,Camshift算法用来跟踪目标,以此减小搜索范围,提高跟踪效率。实验结果表明,该算法能够实现对水面运动舰船的检测并进行有效跟踪。

关键词: 水面目标; 检测; 跟踪; Kalman滤波器; Camshift算法; 状态向量

中图分类号: TN850.6?34; TP391                   文献标识码: A                    文章编号: 1004?373X(2019)11?0068?04

Abstract: According to the characteristics of the water surface monitoring image, the water surface video images collected by the motion carrier are processed to realize the tracking of the moving target. The Haar classifier is used to detect the moving target on the water surface, and the detection results are used to initialize the search window of Camshift tracker. The Kalman filter and Camshift combination algorithm is used to track the moving targets, in which the Kalman filtering algorithm is used to predict the location of the target appeared in the next frame, and the Camshift algorithm is used to track the targets to reduce the search range and improve the tracking efficiency. The experimental result shows that the algorithm can effectively detect and track the ships on the water surface.

Keywords: water surface target; detection; tracking; Kalman filter; Camshift algorithm; state vector

0  引  言

運动目标跟踪技术一直以来都是计算机视觉的核心课题,也是智能监控系统的关键技术之一。水面运动载体采集到的视频流包含丰富的图像信息,但容易受到大雾、风浪及光照强度等因素的影响。因此,对水面目标进行跟踪具有一定的挑战性。

近年来,国内外许多文献对海面目标检测跟踪技术进行了研究。文献[1]提出将Kalman滤波器和Mean?Shift跟踪器相结合的跟踪方法,充分发挥Kalman滤波器的预测功能和Mean?Shift跟踪器的搜索功能,在一定程度上减少了计算量,提高了跟踪的精度与实时性。文献[2]先提取视频图像内的海天线区域,在海天线区域内先检测目标再进行跟踪。文献[3]提出基于红外成像技术的目标跟踪方法。文献[4]提出基于水平集的目标跟踪,分别研究了运动轨迹的生成、空间平滑与轮廓提取等。

本文采用Camshift跟踪算法融合Kalman滤波器对水面目标进行跟踪,利用Kalman滤波器预测下一帧视频图像中运动目标的位置,以此位置为中心确定Camshift算法进行目标跟踪的搜索区域[5]。

1  Camshift算法

Camshift算法是Bradski在Mean?Shift算法的基础上提出来的[6]。该算法的基本思想是在视频图像中利用运动目标的颜色特征对其跟踪窗口的尺寸及位置进行确定,并能自适应地调整跟踪窗口的尺寸以适应运动目标大小的变化。

Camshift算法的实现过程如下:

1) 获取一帧视频图像,将其RGB颜色模型转换成HSV颜色模型,并提取其H分量。

2) 初始化跟踪窗口,使运动目标包含其中。

3) 计算跟踪窗口的H分量的颜色直方图,并对其进行归一化处理,得到颜色概率分布图。

4) 计算跟踪窗口的零阶矩、一阶矩。

6) 根据式(5)求出质心点坐标([xc,yc]),移动跟踪窗口,将其中心位置移动到质心位置。

7) 判断跟踪窗口的移动距离是否大于设定的阈值。若是,则返回步骤4)~步骤6)重新计算移动后的窗口质心点,对跟踪窗口进行再次移动,直到跟踪窗口移动的距离小于设定的阈值,或者达到最大的循环运算次数,则认为满足收敛条件;若否,则进入下一帧视频图像进行新一轮的目标跟踪。在新的视频图像中,将利用当前帧的窗口质心点与零阶矩,重新设置跟踪窗口的尺寸及位置。如此循环迭代,就能完成对运动目标的跟踪。

Camshift跟踪算法在单独使用时容易受到外界因素的干扰,如视频图像中出现大面积与运动目标相近的颜色或者运动目标被遮挡等情况。利用Kalman滤波器对运动目标的位置进行预估[7],可以在一定程度上解决这个问题。

2  Kalman滤波器

Kalman滤波器于20世纪60年代末被提出,在目标跟踪领域具有良好的应用前景。该算法的实质是根据系统的观测值更新状态向量,是一种对随机信号进行最优估计的实时递推算法,滤波器通过输入的系统观测量对随机信号进行估计,估计后得到的信号作为滤波器的输出[8]。图1为Kalman滤波器的原理简图。

Kalman滤波预测算法的两个重要方程如下:

式中:[Xk]与[Xk-1]分别表示[k]与[k-1]时刻的状态向量;[Zk]表示[k]时刻的系统状态观测向量;[A]表示系统状态转移矩阵;[H]表示系统观测矩阵;[W(k)]与[V(k)]分别表示服从正态分布的状态噪声与观测噪声,二者的协方差矩阵分别为[Q]与[R]。

图1  Kalman滤波器的原理简图

Kalman滤波算法包括预测与更新两个阶段。

1) 系统预测阶段

状态预测方程:

Kalman滤波器的引入能够有效地预测出运动目标在下一帧视频图像中可能出现的位置,在很大程度上解决了目标运动速度过快,少量相似背景颜色干扰,目标被部分遮挡等问题而引起的跟踪失败。

3  Camshift算法融合Kalman滤波器的目标跟踪

基于Kalman滤波器的Camshift跟踪算法同Camshift算法一样,都是基于目标颜色概率模型的跟踪原理[9]。

本文对跟踪算法进行改进,通过事先训练好的Haar分类器实现对水面运动舰船的检测与定位,并将检测结果初始化为Camshift跟踪算法的搜索窗口,以此来取代人工选择目标的过程,进而提高对目标的跟踪效率。跟踪过程中当目标消失时,Haar分类器重新对目标进行检测,初始化搜索窗口,直到跟踪结束。

图2  Camshift与Kalman结合算法流程图

Camshift算法融合Kalman濾波器的目标跟踪过程如下:

1) 对视频图像中的舰船进行检测。

2) 初始化Kalman滤波器。

3) 把目标检测结果初始化为Camshift算法的搜索窗口。

4) 计算搜索窗口内目标的颜色概率分布图。

5) 计算搜索窗口的质心点,并把窗口中心点移动至质心点位置,判断是否收敛。如果不收敛,则返回重新计算质心点,直至满足收敛条件;如果收敛,则输出质心点。

6) Kalman滤波器预测下一帧视频图像中目标的质心位置。

7) 重复步骤4)~步骤6),直到跟踪结束。

4  实验结果与分析

为了验证该算法的可行性,使用Visual Studio 2010结合OpenCV 2410开源视觉库对其进行验证。视频跟踪结果如图3所示。

图3  跟踪结果图

根据图3可以看出,该算法能够对水面运动的船只进行有效跟踪。图3a)为Haar分类器在第一帧视频图像中检测出的目标结果。在把检测结果初始化给Camshift跟踪器的搜索窗口时,可以以矩形对角线的交点为中心,适当缩小矩形的尺寸,这样可以使初始化后的跟踪窗口内包含目标信息的比率更高,有利于提高Camshift算法的跟踪精度,且在下一帧图像中跟踪窗口的尺寸可以自适应地根据目标的大小进行调整。对比图3b)~图3d)可以看出,当船只以各种角度出现时都能够对其进行跟踪。对比图3e)、图3f)可以看出,在一定距离范围内,该算法也能实现对目标的跟踪。

在对视频图像进行目标检测时,需提前训练好Haar分类器,这是至关重要的一步,Haar分类器的检测结果将直接影响目标跟踪的成败。

5  结  语

根据水面监控系统采集的视频图像,本文提出的Camshift算法融合Kalman滤波器能够实现对水面目标的跟踪功能,取得了较好的跟踪效果。但当目标距离较远时,本文算法无法做到稳定跟踪,需做进一步研究。

参考文献

[1] 曾文静.基于光视觉无人艇水面目标检测与跟踪研究[D].哈尔滨:哈尔滨工业大学,2013.

ZENG Wenjing. Research on detection and tracking of water surface target based on optical vision [D]. Harbin: Harbin Institute of Technology, 2013.

[2] 毕文.海上目标监测跟踪算法研究及其在DSP硬件平台的实现[D].烟台:烟台大学,2009.

BI Wen. Research on the tracking algorithm of marine target monitoring and its implementation in DSP hardware platform [D]. Yantai: Yantai University, 2009.

[3] 刘松涛.舰船红外成像目标实时识别与跟踪系统研究[J].系统工程与电子技术,2005,27(8):1405?1408.

LIU Songtao. Research on real?time recognition and tracking system of ship infrared imaging target [J]. System engineering and electronic technology, 2005, 27(8): 1405?1408.

[4] SZPAK Z L, TAPAMO J R. Maritime surveillance: tracking ships inside a dynamic background using a fast level?set [J]. Expert systems with applications, 2011(38): 6669?6680.

[5] 牛春峰,刘世平,王中原.制导炮弹飞行姿态的卡尔曼滤波估计方法[J].中国惯性技术学报,2012,20(5):510?514.

NIU Chunfeng, LIU Shiping, WANG Zhongyuan. Approach of Kalman filtering estimation of guided projectile attitude [J]. Journal of Chinese inertial technology, 2012, 20(5): 510?514.

[6] BRADSKI G R. Computer vision face tracking for use in aperceptual user interface [J]. Intel technology journal, 1998, 2(2): 1?15.

[7] 王江涛.基于视频的目标检测跟踪及其行為识别研究[D].南京:南京理工大学,2008.

WANG Jiangtao. Research on video based target detection tracking and its behavior recognition [D]. Nanjing: Nanjing University of Science and Technology, 2008.

[8] 张江山,朱光喜.一种基于Kalman滤波的视频对象跟踪方法[J].中国图象图形学报,2002,7(6):606?608.

ZHANG Jiangshan, ZHU Guangxi. A video object tracking method based on Kalman filtering [J]. Journal of image and graphics, 2002, 7(6): 606?608.

[9] 钱永青,谢勤岚.结合Camshift和Kalman预测的运动目标跟踪[J].计算机工程与科学,2010,32(8):81?83.

QIAN Yongqing, XIE Qinlan. Moving target tracking combined with Camshift and Kalman prediction [J]. Computer engineering and science, 2010, 32(8): 81?83.

猜你喜欢
跟踪检测
“不等式”检测题
“一元一次不等式”检测题
“一元一次不等式组”检测题
“几何图形”检测题
“角”检测题
工程建设手续办理流程跟踪与规划移动应用研究
跟踪学情,及时调整教学策略
小波变换在PCB缺陷检测中的应用
基于视频的手写数字识别