《电子技术应用》

基于边缘检测和改进Mean Shift算法的红外目标自动跟踪方法

作者:连 洁,韩传久
2008/7/3 17:15:40

    摘 要:提出了一种边缘检测与改进的Mean Shift算法相结合的红外目标" title="红外目标">红外目标跟踪方法。利用结合小波消噪的Canny边缘检测方法对初始帧进行目标检测;在目标被遮挡或丢失时,利用Kalman预测与形心定位方法修正Mean Shift的迭代跟踪过程。
    关键词: 红外目标  形心定位  自动跟踪  Kalman预测  Mean Shift

 

    红外目标跟踪" title="目标跟踪">目标跟踪是红外警戒系统、空载下视系统和红外寻的制导等军事领域中的关键技术之一。在红外目标跟踪中,感应器与目标运动的不稳定、目标状态的多变且缺乏先验信息、背景杂波和非目标运动的干扰等均给红外目标跟踪带来困难。
    Mean Shift算法是由Fukunaga和Hostetler于1975年首先提出的[1],它作为一种高效的模式匹配算法,已被成功地应用于实时性要求较高的目标跟踪系统中。引入计算机视觉领域后[2], Mean Shift算法在图像分割和跟踪中亦得到广泛应用[3]
    本文提出了一种结合目标边缘检测和改进Mean Shift算法的自动跟踪方案。一方面,根据目标检测结果提取目标形心坐标作为Mean Shift的起始位置,进行迭代匹配跟踪;另一方面,在目标被遮挡或丢失时,通过Kalman预测和目标形心定位修正当前帧目标初始位置。这种方法可成功地实现目标的实时跟踪,并对跟踪偏移有一定的稳健性。
1 Mean Shift跟踪算法
    Mean Shift目标跟踪算法主要利用目标的灰度和纹理特征的统计分布描述目标,并通过均值移位向量的梯度下降搜索达到目标跟踪。其跟踪过程是首先对目标模型的描述,以一定间隔的灰度值为单位,将取值为像素灰度值的特征空间分为m个特征值" title="特征值">特征值。在红外视频序列图像中跟踪目标,由于图像像素的值域是灰度空间,RGB分量相同。将其分成k个相等的区间,每个区间称为一个bin,构成特征空间,特征空间中特征值的个数(也就是bin的个数)m=256/k。在初始帧,包含目标的搜索窗口中,通过目标模型描述计算公式得出第u个特征值的概率。然后建立候选模型,运动目标在第二帧及以后的每帧中可能包含目标的区域称为候选区域,对候选区域的描述称为目标候选模型,求出候选模型的特征值u=1,…,m的概率密度。计算出相似性函数。为了使相似性函数最大,在当前帧中,以前一帧搜索窗口的位置作为当前帧搜索窗口的位置,设窗口中心为y0,在y0邻域内寻找局部最优目标位置y1。通过对相似性函数求最大值,可以推导出Mean shift向量。

   

    Mean Shift方法是以y0为起点,向两个模型相比灰度变化最大的方向移动,这优于一般算法中的盲目搜索。经反复迭代,最后得到在当前帧目标的最优位置y。详细算法介绍在此不予赘述,请参看文献[4]、[6]。
2 改进Mean Shift算法
    Mean Shift算法在目标模型描述上,特征值严格匹配,使得与目标中心位置灰度相近的在窗口边缘的灰度特征值丢失。其次,Mean Shift跟踪迭代过程没有一个匹配判断标准,容易错误迭代跟踪位置而没有纠正过程。针对Mean Shift在红外目标跟踪应用中的不足,本文做以下改进。
2.1 目标模型
    由于背景噪声影响和非刚性目标灰度形状不断变化甚至被遮挡,目标上可能部分灰度级缺失或者仅分布在离窗口中心较远的边缘位置。而窗口中心附近有大量与其相近灰度级的像素。这时可以认为该灰度级为目标特征的一部分,其概率密度(权重)应该较大。然而用原Mean Shift目标模型计算得到的该灰度级像素的概率密度为零或几近为零,因此丢失了部分目标特征。
    对此,本文在考虑像素位置加权的同时,利用核函数" title="核函数">核函数将像素灰度值匹配也赋予权值。改进后的目标模型的概率密度函数可用式(2)描述:

   

其中,核函数k1(x)选用二维Epanechikov核函数;k2(x)选用一维Gaussian核函数。k1(x)、k2(x)定义分别如下:

   

    式(2)中的参数σ表示允许灰度值匹配的最大差值,保证所取相似像素值在特征值u临近范围内,即差值大于σ时,权值为0,σ值满足σ≤m。式(2)中h仍旧表示核函数带宽。C2为归一化系数,保证

2.2 相似性度量" title="相似性度量">相似性度量函数
    由于目标模型与候选模型相似,二者的特征概率密度估计均可用式(2)分别定义。设目标模型描述为候选目标模型描述为

    为了度量目标模型和候选目标的特征概率密度分布的相似性,需要一种距离测度来定义两个离散分布之间的距离。基于Bhattacharyya系数,相似性度量函数定义如式(3)所示:

   

其中,

是Bhattacharyya系数的样本估计值。相似性度量函数运用离散密度,不受目标尺寸变化影响。d值越大说明目标与候选目标直方图模式差别越大。设度量值为θ,当d<θ时,认为目标模型没有发生变化,可以跟踪;反之,当d>θ时,判断为失去跟踪。
条件d<θ使得初始预测位置与目标实际位置距离较小,从而保证了Mean Shift算法每次迭代跟踪收敛到局部最优解。
3 Kalman预测起始点
    在相似性函数值较大的情况下,跟踪严重偏离目标,为了不影响下一帧初始目标模型的计算,必须对目标位置进行修正。在估计下一帧的跟踪起始点的步骤中,采用了Kalman滤波器进行运动预测。
    第1帧到第k-1帧中,Mean Shift计算的目标中心可以形成一个运动轨迹,将这些中心位置值作为Kalman滤波器的观测值。假设运动目标中心在X、Y轴上的运动是一个受随机加速度扰动的运动。令信号向量S(k)=[x(k) y(k) x′(k) y′(k)]T,其中x(k)、y(k)分别为目标中心在x、y轴上的位置分量,x′(k)、y′(k)分别为x、y轴上的速度。观测向量X(k)=[xc(k) yc(k)]T,其中xc(k)、yc(k)分别是目标中心x、y轴上的位置观测值。
    这样,Kalman滤波器算法包含的两个模型
    信号模型:S(k)=A(k-1)S(k-1)+B(k)W(k)

    观测模型:X(k)=C(k)S(k)+V(k)
    分别可以表示为式(5)和式(6):

   

其中,w(k)为加速度扰动项,v(k)为位移扰动项。设定初始值:t=1,X(-1)=[xs ys 0 0]T
    设定某个较大的相似度d以检测目标被遮挡的情况发生。当d>θ时,认定目标被遮挡,保留目标的特征分布,仅利用卡尔曼预测来完成跟踪,同时不断进行相似度比较,直到目标重新出现,d<θ。如果相似度持续较大的帧数过多,则认定目标跟踪丢失,转入目标检测过程。卡尔曼预测在开始几帧的值不太准确,经过若干帧左右才会收敛,此时的预测值才具有指导意义,因此设定一个较大的阈值去比较预测值与实际跟踪点的距离,判定是否收敛。

4 边缘检测定位
4.1 基于小波的Canny边缘检测算法[7]
    为了确定搜索窗口的初始位置,首先需要检测出初始帧所包含的目标。设红外序列图像的初始帧为第0帧。利用小波的Canny边缘检测方法,从复杂背景中提取出小目标的边缘。边缘提取结果连续闭合,符合Canny准则,为下一步目标形心计算做准备。算法流程及结果分别如图1、图2所示。

图1 结合小波的Canny算法流程图

 

 

4.2 形心计算
    由目标边缘计算形心,公式如下:

   

    其中,xi、yi分别为目标边缘点第i个像素的横、纵坐标值,N为目标边缘点的像素个数。由式(7)即可得出目标形心坐标

5 Mean Shift自动跟踪算法流程设计
    本文自动跟踪方法主要分以下几个部分。其设计流程如图3所示。

 

    (1)自动初始化:首先从视频流中读取图像数据。对读取的第一帧,通过基于小波消噪的Canny边缘检测方法进行目标检测,得到形心坐标,初始化Mean Shift算法的目标跟踪中心。设丢失帧计数变量为n,且n=0。
    (2)Mean Shift迭代跟踪:用式(2)计算窗口内目标初始位置的目标概率分布。同样,计算下一帧候选目标在相同位置的概率分布。其中在特征描述方式上使用了核函数级联形式。然后用式(1)计算Mean Shift矢量迭代至收敛点。
    (3)相似度判断:在每次的Mean Shift矢量迭代过程中,利用式(3)计算相似性度量函数d。当d达到一个稳定值后进行判断。设相似性度量为一个较大的值θ。若d<θ,说明目标与候选模型匹配,跟踪有效。得到的收敛点置为初始位置,丢失帧计数清零,继续计算目标初始分布,更新了目标模型,进行下一次Mean Shift迭代。若d>θ,说明目标跟踪框偏移目标较大,失去跟踪。为了纠正目标概率分布的描述,使核函数作用在目标中心上,保留此时的目标特征分布(即不更新目标模型),对丢失帧计数变量n进行累加计数。转用Kalman进行跟踪预测。
    (4)Kalman预测起始点:记当前帧为k。使用Kalman滤波对k+1的目标位置进行预测,然后输出跟踪点位置。计算k+1帧在此点的特征分布,之后与保留的目标特征分布进行Mean Shift迭代匹配。
    (5)目标重新检测:当Kalman预测跟踪的位置一直不能够与原目标特征分布匹配,所丢失的帧计数n超过设定值N时,则判断目标丢失,需要重新定位目标。此时返回自动初始化步骤,对目标进行定位,重新初始化Mean Shift跟踪。
6 实验结果与分析
    实验视频序列长度为420帧,每帧图像的大小为128×128像素,视频速率为10帧/秒。实验均在Celeron(R)2.26GHz,256MB内存的PC机上采用Visual C++6.0软件平台进行。灰度量化等级为32×32。
    原Mean Shift方法对视频跟踪结果如图4所示。设定目标模型的大小(核函数的半径h)为(h,h)=(5,5)。其中为便于观看,用白色十字叉丝标注目标跟踪的位置。实验在前30帧对目标跟踪效果较好。30~100帧,背景干扰较大,目标有时被遮挡,跟踪框在目标附近徘徊渐渐偏离目标;190帧以后,感应器突然抖动,跟踪偏离加大;300帧后,背景灰度突变时,跟踪框偏移更大,并停止跟踪。实验说明在目标遮挡、背景灰度骤变和感应器相对于背景和目标的不稳定快速运动下,Mean Shift方法容易丢失目标且不能恢复跟踪。


    采用本文所述Mean Shift红外目标自动检测跟踪方法对视频序列重新进行目标跟踪实验。本文Mean Shift处理的跟踪结果如图5所示。其中十字叉丝的交点为目标跟踪的位置。

 

    实验在前30帧对目标跟踪效果如原Mean Shift算法一样,跟踪定位准确。30~100帧,背景干扰较大、目标有时被遮挡的情况下,跟踪框在目标附近有小幅度的波动,但没有远离目标位置,仍可以实现对目标的跟踪;190帧以后,感应器突然抖动,跟踪框远离了目标。开始目标大部分还在核函数作用范围内,而到201帧时目标偏离较大,此时两帧目标模型的相似程度很小,转为Kalman预测目标位置。到205帧时,跟踪框内的特征分布依然与丢失前差别较大,目标没有跟踪上。可以看到,在206帧时,通过对目标边缘检测,重新定位,恢复了对目标的有效跟踪。在300帧以后,序列图像灰度突变,目标的灰度也有所变化,但改进的目标描述,使其仍能稳定准确地跟踪目标。实验对一帧平均处理速率约为72.7ms,实现了红外小目标的实时跟踪。本文方法有效地修正了跟踪偏移的情况,能够对红外目标实现实时稳健的跟踪。
    本文提出了一种基于改进的Mean Shift算法的红外目标自动跟踪方案。通过结合小波的Canny边缘检测算法对初始帧进行目标检测并计算目标的形心坐标,对Mean Shift算法进行自动初始化。使用了级联核函数的方法改进目标的描述方式,通过相似性度量函数,判断目标是否失去跟踪。在失去跟踪时,通过Kalman预测跟踪位置。在目标丢失的情况下,重新进行目标定位来获得稳定的跟踪。这种方法在跟踪偏移的情况下,能够调整算法的初始目标模型分布,从而修正Mean Shift的跟踪过程。实验结果表明,本文所提出的方案实现了对红外目标的实时自动检测跟踪,同时对于目标遮挡、丢失的情况是稳健的。
参考文献
[1]  FUKUNAGE K, HOSTETLER L D. The estimation of the gradient of a density function with application in pattern recognition [J]. IEEE Trans. on Information Theory, 1975,  21(1): 32-40.
[2]  CHENG Y. Mena Shift, mode seeking and clustering [J].IEEE Trans on Pattern Analysis and Machine Intelligence,1995,17(8):790-799.
[3]  COMANICIU D, MEER P. Mean shift analysis and application[J]. Proceedings of the Seventh IEEE International Conference Computer Vision, 1999, 2: 1197-1203.
[4]  COMANICIU D, RAMESH V, MEER P. Kernel-Based object tracking. IEEE Trans. on Pattern Analysis and Machine Intelligence, 2003,25(5):564-575.
[5]  程建,杨杰.一种基于均值移位的红外目标跟踪新方法[J].红外与毫米波学报,2005,24(3):231-235.
[6]  朱胜利. Mean Shift及相关算法在视频跟踪中的研究[D].浙江:浙江大学博士学位论文,2006.
[7]  连洁,韩传久,潘路. 基于Canny算法的红外小目标边缘检测方法[J]. 微计算机信息,2007,23(18):308-310.

继续阅读>>