APP下载

一种基于卡尔曼滤波器的多目标跟踪算法研究

2016-03-12内蒙古大学电子信息工程学院马世强

电子世界 2016年23期
关键词:卡尔曼格斗卡尔曼滤波

内蒙古大学电子信息工程学院 马世强

一种基于卡尔曼滤波器的多目标跟踪算法研究

内蒙古大学电子信息工程学院 马世强

针对卡尔曼单目标跟踪算法对RoboCup格斗机器人跟踪出现错误的问题,本文使用卡尔曼多目标跟踪算法对RoboCup格斗机器人进行追踪。卡尔曼多目标跟踪算法对图像中相同灰度值的前景像素进行检测,通过blob分析将相同的像素点进行连接,从而获得移动目标,再由卡尔曼滤波器对其进行运动估计。这一算法克服了视频抖动带来的干扰,解决了跟踪过程中格斗机器人移动速度快、极易发生形变等原因导致跟踪失败的问题,实现了对多个格斗机器人的跟踪。

高斯分布背景建模;卡尔曼跟踪算法;目标跟踪;图像处理

1.引言

动态目标跟踪广泛应用于智能交通、安全监控、人机交互、导弹制导等领域,它是模式识别与人工智能的一个非常重要的分支。动态目标检测是通过统计来获得背景模型,由当前的图像与背景图像所对应的像素点来寻找两幅图像的差异,当这一差值大于所设定的阈值之后,就将这一像素点认定为动态目标。动态目标跟踪是通过某一种人为规定的形式将检测出来的动态目标进行标定,其中标定形式包括点、矩形框、椭圆形框以及物体轮廓。

RoboCup是The Robot World Cup的缩写,RoboCup大赛于1997年首次在日本名古屋举行。RoboCup大赛分为RoboCup类人组、Robo-Cup救援组以及RoboCup标准平台组等多个项目。RoboCup武术擂台赛是以两个格斗机器人互相搏斗而进行的比赛,其中格斗机器人具有移动速度快、会产生形变且发生多次碰撞等特点,并且比赛视频由参赛人员手持相机拍摄,导致视频存在抖动以及背景变化等因素。传统的卡尔曼跟踪算法在跟踪格斗机器人的过程中会出现将整个抖动的视频画面当作一个移动目标来跟踪的问题,从而导致跟踪失败。为了解决卡尔曼单目标跟踪算法将整幅图像当成移动的目标,本文选择了卡尔曼多目标跟踪算法进行实验,获得了较为理想的跟踪结果。

2.视频拆帧处理

本文所使用的视频为参赛人员手持相机拍摄,视频具有以下几个特点:

RoboCup格斗机器人移动速度极快;

RoboCup格斗机器人的颜色、形状都不相同;

拍摄视频时场地内各区域光线不均匀;

视频存在抖动,且画面中有参赛人员的活动。

为了对目标进行检测跟踪,需要将视频拆帧,得到连续的图像序列,本文所使用的计算机为intel core i5处理器,应用软件为MATLAB R2013a,将视频导入MATLAB软件,通过MATLAB软件中的VIDEOREADER语句读取视频中的每一帧图像,并将图像序列保存到MATLAB软件中,方便后续处理。

3.卡尔曼跟踪算法简介与分析

3.1 卡尔曼滤波简介

卡尔曼滤波通过利用线性系统的状态方程以及其观测数据,从而对系统的状态进行最优化估计。卡尔曼在利用观测数据估计系统状态时,可以滤除观测时存在的噪声,因此这一过程也被看作是一个滤波过程。卡尔曼假设动态系统是均匀线性的,第n时刻的系统状态可由第n-1时刻的系统状态与某个矩阵的乘积来表示;同时观测中包含的噪声类型属于高斯噪声。卡尔曼由测量值构造出系统的状态向量,消除外界干扰,能够准确的估计出系统实际状态。

系统方程表达式如下:

Y(n)=AY(n-1)+Bu(n-1)+W(n-1)

实测方程表达式如下:

Z(n)=HY(n)+V(n)

其中,A、B、H为系统参数,W(n)为系统噪声,V(n)为测量噪声,W(n)和V(n)服从互不相关的正态分布,有:

W(n)~N(0,Q)

V(n)~N(0,R)

其中,Q为W(n)的协方差矩阵,R为V(n)的协方差矩阵。

3.2 卡尔曼单目标跟踪算法

在对目标进行跟踪时,目标所在的位置、速度以及加速度的测量常常存在着噪声的干扰,卡尔曼跟踪算法的跟踪过程可以有效滤除噪声的干扰,获得更为准确的目标位置。视频中相邻帧之间的时间间隔较短,动态目标的位置、速度以及加速度的改变较小,因此符合卡尔曼所需的均匀动态系统。

卡尔曼单目标跟踪算法在对目标进行跟踪时分成以下四部分:

(1)初始化卡尔曼滤波器,赋予系统位置、速度以及加速度的初值,当无法确定这一初值时,可以将初值设定为零,使用背景差分法对之后几帧图像中的目标进行检测,获得目标的观测值。

(2)将上一步获得的目标的观测值导入卡尔曼滤波器,计算当前时刻的预测值,并由当前时刻的预测值与实测值计算出系统的偏差值。

(3)通过偏差值与下一时刻的实测值计算出下一时刻的最优估计值,这一最优估计值即为卡尔曼跟踪算法对目标位置的预测。

(4)重复上述三个步骤,达到对目标进行实时跟踪的目的。

3.3 卡尔曼单目标跟踪结果

使用卡尔曼单目标跟踪算法对视频中的动态目标进行跟踪的结果如图1所示。

图1中绿色点状圆形框为跟踪窗口,从跟踪结果的对比观察可以看出图像序列的背景发生了移动,且图像中存在其他运动目标,这些因素导致卡尔曼单目标跟踪算法无法准确定位并跟踪格斗机器人,从而导致跟踪失败。为了克服背景带来的干扰,本文选择卡尔曼多目标跟踪算法对格斗机器人进行跟踪。

4.卡尔曼多目标跟踪算法

4.1 多目标跟踪

图1 卡尔曼单目标跟踪算法对格斗机器人的跟踪结果

图2 动态目标检测结果

图3 卡尔曼多目标跟踪算法对格斗机器人的跟踪结果

多目标跟踪一直是图像处理领域的重点与难点,多目标跟踪需要同时对多个移动的目标进行独立跟踪,多目标跟踪的难点在于视频中的移动目标会出现遮挡现象,某些目标会突然出现或消失,以及一些目标的速度或运动轨迹发生突变,这三种情况会严重影响多目标的跟踪。

4.2 卡尔曼多目标跟踪算法

为了解决卡尔曼单目标跟踪算法无法克服视频抖动及不能同时跟踪多个移动目标的问题,本文在其跟踪算法的基础上,加入了多个跟踪轨道,检测出的每个运动目标将由不同的轨道对其进行独立跟踪。

对目标的检测使用基于高斯混合模型的背景差分法,建立好背景模型后,将含有动态目标的单帧图像与背景模型进行做差,减掉背景部分,从而提取出图像中的前景目标。其中,高斯混合模型产生于数据的多个高斯分布,每一个高斯混合模型都由多个高斯分布线性叠加而成。通过背景差分法提取出前景后,前景信息较为复杂,当两个格斗机器人发生碰撞时,前景中会含有两者的粘连部分,为了将这样的前景部分加以区分,本文使用形态学中的腐蚀运算,且腐蚀操作的内核需要足够大,才能成功的将粘连的前景分割成独立的图像元素。本文分别使用直径为3及直径为10的腐蚀内核,得到的检测结果如图2所示。

由检测结果可以看出,腐蚀内核的尺寸越大,保留下的前景信息越小,当两个运动目标存在粘连时,能够将两者进行分割,但尺寸选取过大,会使目标信息丢失严重,因此需要选择合适的内核直径。

通过腐蚀操作,检测出多个运动目标,将它们分别导入卡尔曼滤波器的不同跟踪轨道,并对每一个轨道进行编号,方便识别并记录不同的目标,由以上操作,可以使卡尔曼滤波器满足同时对视频中多个目标进行跟踪的目的。

4.3 卡尔曼多目标跟踪算法结果

通过上述操作,得到跟踪的结果如图3所示。

通过实验结果可以看出,本文使用的卡尔曼多目标跟踪算法对场地中光线不均匀的问题具有不敏感性,同时克服了视频所存在的抖动问题,尽管格斗机器人的移动速度较快,甚至会发生碰撞以及形变,但卡尔曼多目标跟踪算法能够对比赛擂台上多个格斗机器人进行准确跟踪,避免了卡尔曼单目标跟踪算法在跟踪时发生的跟踪错误。

5.结论

RoboCup武术擂台赛中的格斗机器人移动速度快,容易发生形变,对格斗机器人进行跟踪具有一定的挑战性,本文通过对参赛者录制的视频进行分析,罗列了跟踪中会遇到的难点,并将视频拆成多帧图像序列。使用常规的卡尔曼单目标跟踪算法对目标进行跟踪,通过分析实验结果找出了卡尔曼单目标跟踪算法的局限性,在卡尔曼滤波器的基础上,改良了跟踪算法,使其能够克服视频抖动、机器人发生形变以及场地光线分布不均等问题,并能够同时对多个格斗机器人进行检测并跟踪,具有较好的跟踪实时性与准确性。

[1]杨阳,唐慧明.基于视频的行人车辆检测与分类[J].计算机工程,2014,40(11):135-138.

[2]陈远祥.视频图像运动目标跟踪技术的研究[D].江苏大学,2010.

[3]陈俊超,张俊豪,刘诗佳,陆小锋.基于背景建模与帧间差分的目标检测改进算法[J].计算机工程,2011,37(S1):171-173.

[4]马英辉,高磊,徐效文.基于Kalman预测和点模式匹配的多目标跟踪[J].现代电子技术,2013,36(14):27-30.

[5]王建东,王亚飞,张晶.基于卡尔曼滤波器的运动目标跟踪算法[J].数学通信,2009,36(6):53-57.

[6]金廷文.卡尔曼滤波在变形监测中的应用[J].中国港湾建设,2015,1(7):11-13.

[7]黄超群.基于混合高斯模型和Kalman滤波器的运动目标检测与跟踪[D].云南大学,2010.

马世强(1989—),河北廊坊人,硕士,现就职于国家电网公司运行分公司。

猜你喜欢

卡尔曼格斗卡尔曼滤波
状态变换扩展卡尔曼平滑算法在AUV水下航迹修正中的应用
奥登—卡尔曼歌剧脚本《酒神的伴侣》中的“神话方法”
张伟丽 格斗玫瑰
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
第八道格斗料理
基于有色噪声的改进卡尔曼滤波方法
格斗料理
基于卡尔曼算法的动力锂电池SOC估算
基于序贯卡尔曼滤波的OCT信号处理方法研究