董慧颖,赵 鹏
(沈阳理工大学 自动化与电气工程学院,沈阳 110159)
水面无人艇动态障碍目标视觉跟踪方法
董慧颖,赵 鹏
(沈阳理工大学 自动化与电气工程学院,沈阳 110159)
针对目前Camshift跟踪算法计算量大,实时性差的缺点,提出一种基于Kalman与Camshift相结合的方法,能够有效提高算法的实时性。通过目标分割算法得到目标物体的轮廓区域,计算出目标的质心,以目标质心坐标和运动速度作为Kalman滤波器输入预测出目标在下一帧中的位置,然后在预测位置附近用Camshift算法搜索和匹配,得到目标的精确位置信息,以此时得到的精确位置信息为Kalman滤波器的测量输入,参与到下一轮预测,依次循环进行下去。经过验证该方法在一定条件下有很好的准确性和实时性。
目标分割;Kalman滤波;Camshift;目标跟踪
作为全球贸易活动的重要渠道,海洋已经逐渐成为人类赖以生存的战略空间,围绕海洋的竞争也日趋激烈。海洋装备发展逐渐兴盛起来,其中无人艇的发展受到了世界各国的大力支持,无人艇相关技术发展尤为迅速。相对于陆地或天空领域,水面无人艇研究面临着独特的挑战。水面波光干扰、岸上背景变化巨大以及其不可预测性等问题都显著加大了无人艇跟踪技术的研究难度。
目标检测与跟踪在计算机视觉领域仍然是极富挑战性的研究方向之一。视觉跟踪具有非常广泛的应用价值,很多国家都投入了大量的人力、物力和财力进行该项研究。国内外学者已提出了很多运动目标检测与跟踪的方法,并在不同的应用领域取得了一定的效果。在交通上的应用,主要有车辆的异常检测、交通流量控制等,利用智能交通监控系统提高交通管控系统效率。在无人机导航中,将基于视觉的目标跟踪结果的位置和速度信息代替GPS所获得的速度和位置信息可有效地避免因GPS信号中断造成的飞行事故。
运动目标跟踪就是确定同一目标在图像序列不同帧中的位置,从而为得到目标的轨迹提供支持,对运动目标的跟踪已经有了大量的研究,如Jang等[1]利用区域的形状、纹理、色彩和边缘特征信息建立活动模板,使匹配能量函数最小化完成目标跟踪。桂阳[2]提出了一种基于卡尔曼滤波和金字塔算法相结合的跟踪方法,将跟踪对象分为海天区域内和海天区域外,在海天区域内的目标跟踪采取先检测后匹配的策略,而在海天区域外的目标采取先预测后搜索的策略进行跟踪。刘松涛等[3]开展了舰船红外成像目标跟踪研究,在对MAD跟踪算法和形心跟踪算法改进的基础上,提出了一种复合式跟踪算法。裴继红等[4]提出了基于红外成像的海面舰船识别与跟踪技术研究,给出了位置、形状辐射三类水面目标设别和相对应的六个模糊隶属度函数表达式。
文中采用以Kalman和Camshift相结合的跟踪方法,在水面杂波比较小的条件下能够较好地实现动态障碍物目标跟踪。相较于Camshift跟踪方法,此方法能够把Kalman跟踪和Camshift跟踪的优点很好地结合,很好地实现跟踪的准确性和实时性。
1.1 目标分割
目标检测理论经过多年发展,已经衍生出多种检测方法:背景差分法、帧差法、光流场法等[5-6]。这些方法是研究过程中最常见的方法,但是主要针对静态背景下或背景细微变化时动态目标检测。它们在动态背景下目标检测时并不适用,针对摄像机移动引起背景变化的情况,本文采用全运动估计和补偿的方法,结合帧差法实现目标检测。
如果把运动目标物体产生的运动定义为局部运动,那么摄像机引起的运动可以称之为全局运动。全局运动与局部运动的关系如图1所示。
图1 全局运动示意图
如图1,摄像机以速度v1向右水平移动,同时运动目标以速度v2向下移动,现在变成了复杂的运动目标的移动,所以全局运动估计和补偿就是基于这种理论实现的。
全局运动估计与补偿首先是估计视频序列中像素点运动矢量,然后校正到下一图像帧里。
f1(x,y,k)=H[f(x,y,k-1),V(x,y,k-1)](1)
式中:H表示校正算子;f(x,y,k-1)是指k-1第帧图像像素;V(x,y,k-1)为同一时刻点(x,y)的运动速度值;f1(x,y,k)表示校正后的数字图像。运动补偿和帧差运算后,通过阈值分割就能得到目标区域。
一般情况下,对灰度图像的区域分割就是先确定一个处于图像灰度范围的灰度阈值t,然后将图像中各个像素的灰度值都跟这个阈值相比较,并根据比较结构把像素分为两类,即
(2)
式中:f(x,y)是原图像灰度值;g(x,y)为分割后的二值化图像。由此可见,阈值化分割算法主要有两个步骤:
1)确定阈值。
2)将分割阈值与图像像素值比较实现分割。
最大类间方差法由Otsu提出,是在最小二乘法的基础上得到的[7-8]。这种方法简单,适用范围广。设原始图像灰度级为L,灰度为1的像素点数为ni,全部像素为N:
(1)计算输入图像归一化直方图,用
(3)用阈值将灰度级划分两类(A0,A1),A0和A1的发生概率ω0和ω1得
(3)
(4)
(5)
(6)
(5)计算类间方差
(7)
全阈值分割和最大类间方差方法分割,效果如图2所示。
图2 目标分割
图2中:图a、b为原图像帧;图c、d为全阈值分割;图e、f为最大类间方差法。
1.2 计算目标质心
由以上得到的轮廓很容易找到目标的最小外接矩形,通过外接矩形可以计算出目标区域外接矩形的形心,以此点粗略作为目标的质心,或直接求取质心。
(8)
(9)
xc=M10/M00,yc=M01/M00
(10)
式中:M00为零阶距;M10、M01为一阶距;xc、yc为质心坐标,质心获取如图3所示。
图3 质心提取和质心坐标
运动目标速度和坐标如表1所示。
表1 运动目标速度和质心 m/s
卡尔曼滤波器有五个如下递推公式:
1)一步预测均方误差:
(11)
2)滤波增益矩阵:
(12)
3)滤波均方误差阵:
(13)
4)状态滤波:
(14)
5)状态一步预测:
(15)
其中,卡尔曼的递推分为两个部分,如图4所示。
图4 卡尔曼递推过程
图像序列中相邻帧时间间隔Ti很小,因此运动目标质心的速度和位移具有连续性和稳定性。根据运动目标物体相邻帧之间连续性和稳定的特点,来预测质心在下一帧的位置。
X′(k)=Ak|k-1X(k-1)+W(k-1)
(16)
式中:X′(k)表示在第k帧中系统状态;W(k-1)为系统控制量输入;Ak|k-1表示状态转移矩阵。由于一个运动目标有很多的运动特性,但无法一一对比确认,因此选择目标物体的质心位移和速度等特性作为状态向量,X′(k)和W(k)表示如下:
(17)
式中:x(k)、y(k)为运动目标的质心坐标;x′(k)、y′(k)为运动目标质心的运动速度。Kalman滤波器参数初始化如下:由于采样时间Ts很小,因此可得状态转移矩阵Ak|k-1
(18)
Wk为均值为0的高斯白噪声,本文Wk的协方差矩阵Qk为
(19)
Vk也是均值为0的正态白噪声,Vk的协方差矩阵Rk为
(20)
卡尔曼算法是基于一系列假设预测系统状态,还需要观测值不断地纠正预测值:
Z(k)=HX′(k)+V(k)
(21)
式中:Z(k)表示观测向量;H为观测矩阵;V(k)为测量误差,其中:
(22)
由于系统的观测误差是一个随机白噪声,不能唯一确定,因此文中将给出大致范围的误差。
通过状态方程和运动参数的结合,可以预测目标物体在下一帧中的大致位置:
(23)
式中:xc(k)、yc(k)、xc(k-1)、yc(k-1)分别为物体在k、k-1帧中位置坐标。同时得到目标物体搜索范围:
(24)
这样可以有效减少Camshift算法的匹配范围,提高搜索速度,同时还能提高精度。
Camshift利用目标的颜色直方图模型见图5a,将图像转换为颜色概率分布图[9],见图5c。它可分为三个部分:
1)色彩投影图,见图5b;
2)Meanshift算法运用(在颜色概率分布图中选取搜索窗口、计算零阶矩和一阶矩、计算搜索窗质心、调整搜索窗大小、移动搜索窗的中心到质心);
3)Camshift迭代,将Meanshift算法扩展到连续图像序列,它将视频的所有帧做Meanshift算法搜索运算,并将上一帧的结果,即搜索窗口的大小和中心,作为下一帧Meanshift算法的搜索窗口初始值。
跟踪算法流程见图6。
预测结果和误差见表2。
表2 Kalman预测位置和误差
由于设计Kalman滤波器时使用的数学模型往往与真实情况不符,所以预测位置只是对模型状态最优估计,而不是对真实系统状态的最优估计,得到的也不是真实系统的最优滤波误差方差阵。因为Kalman滤波器输入噪声是高斯噪声,所以误差具有随机性,这点可以从表2中看出。
实验结果如下:跟踪轨迹如图7所示,图7中a、b、c、h、i、j为Kalman和Camshift结合的方法,而d、e、f、k、l、m为Camshift跟踪过程中的连续三帧,其中较大外界矩形为目标真实位置,而较小外界矩形是卡尔曼预测的目标位置或Camshift获得的目标位置。
图7 目标跟踪效果图
两种算法时间对比见表3。
表3 运行时间对比 s
由于引入了Kalman滤波预测,显著减少了搜索面积和搜索时间,从实验数据可以看出,该算法明显减少了处理时间,具有较好的实时性和鲁棒性。
针对复杂背景下水面动态障碍物的跟踪,采用运动估计和补偿与帧差法相结合的方法检测到目标物体,以目标质心坐标为卡尔曼状态输入,对目标物体轨迹进行预测,采用Camshift算法进行匹配精确定位。实验结果表明,该算法实时性更高。
[1]Jang D S,Choi H I.Active models for tracking moving objects[J].Pattern Recognition,2000,33(7):1135-1146.
[2]桂阳.舰船目标自动检测与跟踪测量系统研究[D].长沙:国防科学技术大学,2008.
[3]刘松涛,沈同圣,周晓东,等.舰船红外成像目标智能跟踪算法研究与实现[J].激光与红外,2005,35(3):193-195.
[4]裴继红,谢维信,刘上乾.舰船红外成象目标实时识别跟踪算法研究[J].光电工程,1995,22(5):21-31.
[5]屈晶晶,辛云宏.连续帧间差分与背景差分相融合的运动目标检测方法[J].光子学报,2014,43(7):219-226.
[6]郝毫刚,陈家琪.基于五帧差分和背景差分的运动目标检测算法[J].计算机工程,2012,38(4):146-148.
[7]李敏,罗洪艳,郑小林,等.一种改进的最大类间方差图像分割法[J].南京理工大学学报,2012,36(2):332-337.
[8]齐丽娜,张博,王战凯.最大类间方差法在图像处理中的应用[J].无线电工程,2006,36(7):25-26,44.
[9]杨艳,康戈文.基于光流法和颜色概率分布的特征点匹配[J].现代电子技术,2009(16):129-131.
(责任编辑:马金发)
Method of Visual Tracking for Water USV Dynamic Object
DONG Huiying,ZHAO Peng
(Shenyang Ligong University,Shenyang 110159,China)
Current track Camshift algorithm has computationally intensive and poor real-time shortcoming,and a Kalman and Camshift based on a combination of methods is proposed,which can effectively improve algorithm real-time performance.Contour area of target object is gotten by object segmentation algorithm,and target centroid is estimated.Target coordinates centroid and speed is taken as Kalman filter input to predicte target position in the next frame.In searching and matching,rough and coarse position in the vicinity is adopted by using Camshift to give precise target location information,which obtaines accurate position information for Kalman filter measurement input and participates in the next round prediction,and follows by cycle to proceed.Simulation results show that the proposed method has good accuracy and timeliness under certain conditions.
object segmentation;Kalman filter;Camshift;target tracking
2015-11-23
董慧颖(1962—),女,教授,研究方向:机器人。
1003-1251(2016)06-0077-05
TP391
A