基于kalman滤波的改进的Camshift算法及其在目标跟踪中的应用

2018-02-25 14:27董云云芦彩林鲍海燕
电子技术与软件工程 2018年12期
关键词:目标跟踪

董云云 芦彩林 鲍海燕

摘要 Camshift是一种使用颜色概率分布跟踪对象的改进的Meanshift算法,但当被跟踪物体与背景颜色相似或在杂乱的环境中目标被遮挡时会出现无法自动跟踪的缺陷。针对上述缺陷,提出一种将kalman滤波器与Camshift算法相结合的改进自动跟踪目标。首先,通过生成加权颜色直方图来精确表示目标,其次使用kalman滤波器预测下一帧的位置,最后,使用轮廓信息和直方图匹配实现精准跟踪。实验结果证明了改进的跟踪算法有很强的鲁棒性和可靠性。

【关键词】Camshift 卡尔曼滤波器 目标跟踪

1 引言

目标检测和跟踪是计算机视觉领域重要的研究课题之一,常用于视频监控,人脸识别,医学诊断,人机交互和智能感知等领域。目标跟踪用于检测、识别和分析视频中目标从前一帧到下一帧的变化情况,以此推断出目标在场景中的移动轨迹。目标跟踪大致可以分为三步;第一步是检测或选择视频中的感兴趣区域,即移动目标;第二步是对选出的目标进行跟踪;第三步分析并识别出移动目标的行为。

目前常见的跟踪算法主要分两大类,基于模板匹配的跟踪方法和基于状态估计的跟踪方法。基于模板匹配的跟踪算法主要有Meanshift和Camshift等;基于状态估计的跟踪方法主要有粒子滤波(ParticleFilter,PF)和卡尔曼滤波(Kalman)等。

Camshift连续自适应均值漂移‘11(Bradski,Oct; Allen等人,1998)是一种基于颜色的特征直方图跟踪算法,是一种快速的半自动的跟踪方法。Camshifi的局限性在于:

(1)算法需要手动选择目标区域,选择目标的过程会有偏差;

(2)如果目标离开视野或被遮挡,Camshift会失去目标踪迹或开始跟踪完全不同的对象;

(3)如果所跟踪的目标具有与背景相似的颜色,则会导致跟踪失败;

(4)目标运动速度过快会导致跟踪失败。

已有一些学者对Camshift进行了研究,YoungseopKin[1]通过光流选择和Camshift跟踪算法相结合,提出了一种新的目标跟踪与识别系统,在移动的环境中能够实现可靠的跟踪。GalandaruSwalaganata[3]提出将超分辨率成像技术应用到帧序列中进行Camshift算法的改进,实现快速的跟踪。湖南大学曹晓娟[4]提出将特征与概率相结合的改进的Camshift跟踪算法,可以提升车辆检测的准确性;江南大学[5]的刘超提出将背景减法引入Camshift算法中,实现运动目标的自动跟踪。

同时Kalman滤波主要是对运动目标进行预测,通过建立线性系统状态方程,实现对系统状态的估计。卡尔曼滤波的目标:当获得一个新的数据点时,递归地更新状态变量的信息。

本文结合Camshift算法和Kalman滤波,提出了基于kalman估计的改进的Camshift算法。为了抑制色彩干扰并实现稳健的跟踪,文中提出将kalman预测器用来预测下一帧目标的位置。实验结果表明,改进算法能提高跟踪效率,实现稳定跟踪。

2 基本方法及原理

2.1 Camshift算法

Camshift是对均值偏移跟踪方法Meanshift的改进。由于RGB色彩空间对光线变化敏感,Camshift算法将RGB颜色空间转换到HSV色彩空间以减少光线变化的影响。算法基本理论是首先获取跟踪目标,使用目标颜色直方图模型将图像变为颜色概率分布图,接着计算目标的大小和位置,然后定义下一个搜索帧的初始大小和位置。通过重复搜索和計算来进行连续的目标跟踪。Camshift算法表示如下:

在逐帧执行上述过程,Camshifi算法只需要计算搜索窗中像素的颜色概率分布,就可实现对运动目标的连续跟踪,程序流程参见图1。

然而,Camshift在跟踪目标与背景出现大面积相似颜色时跟踪效率较差。当发生明显的相似色彩干扰时,感知目标的大小将会扩大。这导致位置偏移取决于图像中相似颜色的区域。

2.2 Kalman滤波

Kalman滤波是一个动态系统状态的最小方差估计算法,可以用来估计目标的参数,例如位置或速度。根据运动物体的前一个位置估计物体最可能的当前位置。它包含如下预测和测量模型:

2.3 基于Kalman滤波的改进的Camshift跟踪算法

在目标检测时,发送初始窗口到Camshift,从RGB空间转换到HSV空间。提取H分量。计算颜色概率分布,反投影图像。在跟踪开始之前,使用形态学滤波器来过滤噪声。经过主滤波后,执行Camshift算法。完成第一次计算后,设置Camshift输出为Kalman估计器的初始值。算法执行期间,当Camshift输出和Kalman估计之间的差异大于预定义的丢失跟踪阈值时,则认为Camshift跟踪是不准确的,检测器将重新启动。

Camshift算法在简单的背景下会获得较好的效果,但是当背景复杂,目标与背景过分相似或者目标运动过快时,跟踪效果较差。Kalman滤波器是一种最佳递归算法,通过目标在当前帧的位置以及运动速度决定运动目标的下一帧的速度和位置。若能提前利用Kalman滤波对运动目标下一帧的位置进行预测,之后再调用Camshifi算法,将会取得较好的跟踪效果。如下所述为本文提出的基于Kalman滤波的改进的Camshift跟踪算法,算法框图如图2所示。

基于Kalman预测器的改进的Camshift跟踪算法如下:

初始化Kalman预测器

初始化搜索窗口的大小和位置

Camshift目标跟踪算法

判断目标是否被遮挡,如果是,转至step5,如果不是转至step9

输出目标位置和大小,作为观测值Zk

修改Kalman预测器的参数

预测下一帧目标的大小和位置,读取下一帧

设置搜索窗口的大小和位置,转至step3计算当前目标的面积

计算当前跟踪的面积,如果小于最小面积,继续,否则转至stepll

重置目标质心位置,转至step6

得到目标的大小和位置

Kalman预测器得到的目标的大小和位置作为观测值,转至step6

3 实验及结果对比

为了对比改进算法与传统Camshift算法,设计对照实现进行测试。处理器为InteI(R)Core(TM)i5-8250 CPU@1.60GHz, 内存为8GB,使用opencv库实现对所提取的对象的检测和跟踪。实验处理真实的视频监控场景。第一个测试序列选取马路上正常行驶的汽车视频数据,第二个测试序列选取商务区门口视频,第三个测试序列选取出现遮挡的橙子进行跟踪。

第一个测试序列,是从拍摄视频中跟踪“汽车”。图3 (a)给出了视频中使用Camshift算法的跟踪结果。图3(b)给出了使用本文中算法的跟踪结果。

比较图3 (a)与图3(b)可以看出,本文提出的算法的跟踪效果更好,发生遮挡的车辆可以分辨开来,而传统的Camshift算法跟踪时,红色车辆和黑色车辆作为一个目标进行跟踪。

第二个测试序列,是在较暗的光线下跟踪视频中的“行人”。图4 (a)给出了使用传统Camshift算法的跟踪结果。图4(b)给出了使用文中算法的跟踪结果。

比较图4 (a)和图4(b)可以看出,在光线较暗的情况下,当出现运动速度相同的行人时,传统Camshift算法进行跟踪时将两个行人认为是同一个目标。基于kalman滤波的改进的Camshift算法能分辨出斑馬线上是两个行人,并进行跟踪。

第三个测试序列,针对被遮挡目标,以及被遮挡后重新出现的目标进行跟踪。图5 (a)所示情况为目标完全显示,目标被部分遮挡,遮挡后重新出现的三种情况使用传统Camshift算法进行跟踪,图5 (b)为使用文中的算法在四种情况下进行跟踪的结果。

比较图5 (a)和图5(b)可以看出,使用传统的Camshift算法,同样可以实现目标的跟踪,但是当目标被遮挡时,只能识别出未被遮挡的部分,跟踪效果不好。图5 (b)为与5 (a)对应情况下使用改进的Camshift算法进行跟踪,因为结合了kalman预测器,可以判断目标何时被遮挡以及被遮挡的情况,保证跟踪结果的准确性;当目标被部分遮挡时,除了能够识别出未被遮挡的部分,还能使用kalman预测估计出被遮挡的部分。

4 结束语

文中提出了将Kalman滤波用于改进Camshift算法,并将其用于真实场景的目标跟踪。实验结果表明,文中算法能够较好的实现实时跟踪,在光线灰暗的场景中及其出现遮挡的情况下,也表现出较好的跟踪效果。但是目标运动速度过快或者在遮挡时间过长的情况下跟踪效果不是太好,作为下一步的研究计划。

参考文献

[1] Bradski G R.Computer Vision FaceTracking For Use in a PerceptualUser Interface [C]. IEEE Workshop onApplications of Computer Vision.IEEE.1998: 214-219.

[2] Kim Y,Han W,Lee Y H,et al. ObjectTracking and Recognition Basedon Reliability Assessment ofLearning in Mobile Environments [J].Wireless Personal Communications,2016,94 (02):1-16.

[3] Swalaganata G,Sulistyaningrum DR, Setiyono B.Super-resolutionimaging applied to moving objecttracking [C]. Journal of Physics:Conference Series. IOP Publishing,2017, 893 (01): 012062.

[4]曹晓娟,王文涛,宋晓琳等,基于多信息融合的车辆阴影检测与车辆跟踪算法[J].中南大学学报(自然科学版), 2015 (11): 4049-4055.

[5]刘超,惠晶,基于改进CAMShift的运动目标跟踪算法[J].计算机工程与应用,2 014,5 0 (11): 149-15 3.

[6] Kalman R E.A new approach tolinear filtering and predictionproblems. Journal of FluidsEngineering, 1960, 82 (01): 35-45.

[7]Gu S S,Liu J Y,Zeng Q H,et al.AKalman filter algorithm based onexact modeling for FOG GPS/SINSintegration[J]. Optik - InternationalJournal for Light and ElectronOptics,2 014, 125 (14): 3476-3481.

[8]Dong C,Shao C,Zhou X,et al. Kalmanfilter algorithm for short-term jam traffic predictionbased on traffic parametercorrelation [J]. Journal of SoutheastUniversity,2 014, 44 (02): 413-419.

[9] Karamali M,Khodabandeh M,KalogirouS A. et al.A distributed solarcollector field temperature profilecontrol and estimation using inletoil temperature and radiationestimates based on IterativeExtended Kalman Filter [J]. RenewableEnergy, 2017,101:144-155.

[lO]Dalwadi D C,Soni H B.A novel channelestimation technique of MIMO-OFDMsystem based on Extended Kalmanfilter [C]. Internat ional

Conferenceon Electronics and CommunicationSystems. 2017:158-163.

猜你喜欢
目标跟踪
多视角目标检测与跟踪技术的研究与实现
基于重采样粒子滤波的目标跟踪算法研究
智能视频技术在电力系统领域的应用
基于车牌识别的机混车道视频测速算法
自车速测量中的目标检测与跟踪技术
基于目标跟踪的群聚行为识别
图像跟踪识别技术在煤炭运量视频管理系统中的研究
基于SIFT的压缩跟踪算法