基于改进Camshift和Kalman滤波的目标跟踪算法

2017-07-05 15:22李蕊岗
网络安全与数据管理 2017年12期
关键词:鲁棒性滤波颜色

李蕊岗,张 明

(上海海事大学 信息工程学院,上海 201306)



基于改进Camshift和Kalman滤波的目标跟踪算法

李蕊岗,张 明

(上海海事大学 信息工程学院,上海 201306)

在移动目标跟踪过程中,可能会受到种种干扰而导致目标不能有效地被跟踪。为了解决在跟踪运动目标过程中受到外界影响的缺陷,采用了一种Camshift和Kalman滤波结合的目标跟踪算法。算法能有效克服运动目标被遮挡或相似颜色运动目标干扰使目标跟踪丢失的缺陷。实验结果表明:本文提出的算法用于跟踪运动目标具有很好的鲁棒性。

Camshift;Kalman滤波;目标跟踪

0 引言

近几十年来,连续准确地对移动目标的跟踪已成为图像处理领域中最大的挑战之一。大多数的研究方法使用Meanshift算法、Camshift算法和Kalman滤波等。Meanshift算法的特点是无参和快速模式匹配,它通过较少的迭代次数快速找到与目标最相似的位置。可是Meanshift没有自适应的相关机制,当目标尺寸变化较大时,由于其固定不变的核函数,会导致尺度定位不准确,最后导致跟踪失败。Camshift算法是基于Meanshift的改进算法。Camshift算法的目标跟踪建立在对目标颜色信息的获取、理解和匹配的基础上,通过素材中运动物体的颜色信息来达到追踪的目的。由于Camshift针对一个视频序列进行处理,从而能及时改变跟踪窗口的大小,实现了对目标模型的自动更新,大大改善了跟踪效果。但是由于Camshift算法是对直方图反投影所形成的二值图像进行处理的,如果背景发生动态变化或者出现遮挡,那么此二值图像的噪声就很多,这时Camshift算法的鲁棒性就比较差。为解决这种问题,提高目标实时追踪的鲁棒性,本文提出了Camshift和Kalman线性结合的目标跟踪算法,在外界因素影响较小的时候,Camshift算法可以得到比较好的结果;在外界因素影响比较严重的情况下,Kalman算法的效果比较好,所以在不同的外界影响下,通过权系数选择合适的算法,来对目标进行有效的追踪。这样就可以有效地克服不同的干扰。

1 Camshift算法

Camshift算法[1](Continuously Adaptive Mean Shift Algorithm)即连续自适应的Meanshift算法。Camshift在Meanshift算法的基础上实现了对窗口大小自动控制。

1.1 Meanshift

Meanshift算法[2]是一种无需参数和快速模式匹配的核密度估计法,通过较少次迭代快速找到目标的位置。算法过程为:

(1)计算素材相对与模型直方图的反向投影,生成概率图像I(x,y)。

(2)计算零阶距:

(1)

计算一阶距:

(2)

计算搜索窗的质心:

xc=M10/M00;yc=M01/M00

(3)

(3)调整搜索窗大小:

长度:1.2s

(4)比较新旧搜索点,如果两次移动偏量大于某个阈值,则重复步骤(2)和(3),否则,返回,算法结束,停止计算。

1.2 Camshift

为了克服Meanshift的缺点,Camshift在Meanshift算法的基础上实现了对窗口大小的自动控制。其算法过程为:

(1)加载视频图像,对搜索窗口进行初始化;

(2)对当前帧的图像进行反向投影,获取其颜色概率分布;

(3)由上面的Meanshift算法对当前搜索窗的大小和位置进行处理,返回跟踪目标的零阶矩M00;

(4)把新的搜索框信息作为下一帧视频的搜索窗,将得到的迭代窗口中心作为其初始位置,执行步骤(3),若是视频结束,则返回。

2 Kalman滤波

扩展卡尔曼滤波器是一种简单常用的状态估计快速算法,即使在存在噪声的情况下,也能快速预测出物体的位置坐标及速度。Kalman滤波器[3]是一种算状态估计过程的最优的递归滤波器[4]。它可以通过过去的状态来修正当前的状态。Kalman 滤波是一种递归的估计。Kalman滤波分为2个步骤:预测(predict)和修正(correct)[5]。

(1)预测

状态预测:

xk=Fxk-1+Bυk-1

(4)

估计协方差预测:

Pk=FPk-1FT+Q

(5)

(2)更新

Kalman增益:

Kk=PkHT(HPkHT+R)-1

(6)

状态估计更新:

xk=xk+Kk(Zk-Hxk)

(7)

状态协方差更新:

Pk=(1-KkH)Pk

(8)

3 改进的Camshift结合Kalman的目标跟踪跟踪

当运动目标容易受到外界的影响时,Camshift算法不能对目标进行有效的跟踪,使其运行效率较低。为了克服这一缺陷,本文采用了将Kalman算法进行线性加权结合Camshift算法的方法。即使存在外界干扰,它也能够比较准确地预测目标的位置信息。在算法执行过程中只对搜索框部分有效,这样大大提高了算法的效率。下面介绍一下采用权系数为α的线性公式:

Fn=αXn+(1-α)Yn

(9)

其中,Fn是对运动目标推测的最终位置,Xn是Kalman算法对运动目标的位置的推测,Yn是Camshift算法对运动目标的位置的推测,而α(0<α<1)是权系数,根据外界影响源的不同取不同的数值:当出现遮挡、干扰源或者出现与待跟踪目标非常相似的干扰目标时,权系数就会较大,本文取值为0.9,则Kalman算法计算的结果就为最终结果。当外界影响较低时,此时的权系数比较小,本文取值为0.1,就Camshift算法预测的位置为主。外界影响的高低根据检测到的运动目标和目标模板的颜色分布的比值来确定。算法的执行流程如图1所示。

图1 算法执行流程图

通过图1的算法执行流程可知,当预测结果与目标模板对比的值小于0.85时,说明运动目标受到外界的影响比较严重,这时权系数的取值要大一些,则Kalman 算法计算的结果就为最终结果,当对比的值大于0.85时,说明运动目标受到的外界影响比较少,权系数的取值就小一些,则Camshift算法计算的结果就为最终结果。

4 实验结果及分析

本文算法是在Visual Studio 2008及Open CV2.1函数库编写的软件平台上实现的。实验分为两部分,第一部分为在外界影响的情况下特别是当目标颜色相近的情况下与只采用Camshift算法的追踪效果进行对比,来验证本文提出算法的跟踪效果,如图2和图3所示。第二部分为当移动目标出现严重遮挡时,来验证改进算法的效果,如图4所示。

图2为只用Camshift算法的目标跟踪,可以发现,此时的搜索框比较大,对单个物体以及颜色差异比较大的物体的跟踪效果比较好。可是当出现颜色极其相似的移动目标时跟踪效果不好,造成跟踪失效,并且跟踪框的跳动比较厉害。图3为使用加权的Camshift算法结合Kalman算法进行的跟踪,可以发现使用本文提出的改进算法解决了跟踪失效的缺陷。

图4是当追踪目标在有遮挡的情况下的追踪效果。结果显示在图中矩形为跟踪窗口,白色十字表示目标质心。

图2 干扰下Camshift算法的目标跟踪

图3 改进后有干扰下的车辆跟踪

可以看到船只被部分封锁,直到完全封锁,然后从障碍物完全分离。当跟踪目标被遮挡时,跟踪窗口和实际位置有一定的偏差,但之后很快调整窗口位置准确跟踪目标的位置,从结果可以看出本文提出的加权结合算法在追踪目标发生遮挡的情况下具有较强的鲁棒性。

5 结论

对于移动目标的追踪只使用Camshift算法显然没有较强的鲁棒性,在目标处于干扰或遮挡的情况下会出现目标丢失的情况。本文采纳Camshift联合Kalman滤波加权的目标跟踪算法,解决了颜色相近目标干扰和遮挡的问题,对追踪目标的后续状态具有较强的预测能力。经过实验发现本文提出的算法在追踪目标出现干扰或者遮挡的情况下具有较强的鲁棒性,但是当背景比较复杂的时候还是会出现跟丢的情况,这正是下一步的研究重点。

[1] 伍友龙,朱志勇.基于Camshift与Kalman的目标跟踪算法[J].微计算机信息,2010,26(33):23-24.

[2] Zhang Rui,Zhang Sizhu,Yu Songyu.Moving objects detection method basedon brightness distortion and chromaticity distortion[J].IEEE Transactions on Consumer Electronics, 2007,53(3):1177-1185.

[3] 梁娟,项俊,侯建华.基于Camshift和Kalman滤波的自动跟踪算法[J].微型机与应用, 2011,30(27):28-31.

[4] BRADSKI G R.Computer vision face trackingfor use in a perceptual user interface [J].Intel Technology Journal, 1998,2(2):1-15.

[5] 吴慧敏,郑晓势.改进高效Camshift跟踪算法[J].计算机工程与应用,2009,45(27):178-180.

A target tracking algorithm based on improved camshift and kalman filter

Li Ruigang, Zhang Ming

(The Information Engineering Department, Shanghai Maritime University, Shanghai 201306)

In the moving target tracking process, the target may be affected by a variety of interference, so it can not be effectively tracked. Therefore, in order to solve the defects of external influence in the tracking process, this paper uses a combination of Camshift and Kalman filter to improve the target tracking algorithm. The improved algorithm can effectively overcome the defects that moving target is obscured or similar color moving target interference leads to the target tracking lost. The experimental results show that the proposed algorithm for moving target tracking has good robustness.

Camshift; Kalman filter; target tracking

TP393.08

A

10.19358/j.issn.1674- 7720.2017.12.012

李蕊岗,张明.基于改进Camshift和Kalman滤波的目标跟踪算法[J].微型机与应用,2017,36(12):39-41.

2016-12-22)

李蕊岗(1992-),男,在读硕士研究生,主要研究方向:图像处理技术与模式识别开发。

张明(1957-),男,博士,教授,主要研究方向:多媒体信息处理、计算机视觉、人工智能等。

猜你喜欢
鲁棒性滤波颜色
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
特殊颜色的水
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于四元数互补滤波的无人机姿态解算