轮廓跟踪(精选3篇)
轮廓跟踪 篇1
0 引言
设计鲁棒的目标跟踪方法是一项艰巨的任务,特别是考虑自然场景中可能发生的各种复杂变化,例如,目标外形和表面的变化、亮度变化、部分遮挡等。最近,自从Collins等人[1]提出“将跟踪看作是目标和背景的分类”这一思想后,基于分类的跟踪算法得到了广泛研究并表现出很好的性能[2,3,4,5,6,7]。Avidan[2]提出了将SVM和光流法相结合的支持向量跟踪算法,随后Avidan[3]又提出了集成跟踪算法,利用每个像素11维的颜色和方向梯度特征,采用Adaboost训练分类器并且在线更新,以实现鲁棒的跟踪。Grabner[4,5]等人提出了在线Adaboost特征选择方法,并将其应用于复杂背景学习、视觉跟踪和目标检测。为减小漂移问题,Grabner等人[6]随后又提出了基于在线半监督Boosting的鲁棒跟踪方法。但在上述方法中,目标被限制在一个矩形区域内,不能获得更精确的目标轮廓,为解决这一问题,本文引入快速水平集算法来获取目标轮廓。
水平集(Level Set)方法[8]由Osher和Sethian提出,它具有适应拓扑结构变化、自动分裂与合并等优良特性,在图像分割和视觉跟踪中得到了广泛应用[9,10,11]。最近,Shi等人[11]提出了快速水平集算法,能实现实时的目标轮廓跟踪,但算法侧重于计算效率和速度的研究,而在跟踪的鲁棒性方面有待进一步提高。
基于此,本文基于“将跟踪看作是目标和背景的分类”这一思想,在文献[3,11]工作的基础上,提出了一种将Adaboost集成学习和快速水平集算法相结合的集成轮廓跟踪方法。
1 集成轮廓跟踪算法总体框架概述
本文提出的集成轮廓跟踪方法总体框架如图1所示,算法采用基于Adaboost的集成学习方法来构建快速水平集算法的速度函数,然后采用本文提出的基于动态邻近区域的快速水平集(图中虚线框部分)来演化目标边界曲线以实现目标的轮廓跟踪。
总体的算法运行如下:以初始帧所选目标区域像素点为正样本,与目标区域邻近的背景带区域像素点为负样本,训练得到包含T个弱分类器的集合;在接下来的每一帧新图像到来时,以上一帧的轮廓跟踪曲线初始化当前帧,并用上一帧更新得到的强分类器H来分类用于描述轮廓曲线的链表Lin和Lout中的各像素点(其具体定义在本文第二节中给出),从而得到曲线演化的外部速度,然后采用基于动态邻近区域的快速水平集算法演化曲线,重复这一过程直到满足曲线演化停止条件并最终得到当前帧的目标轮廓,最后根据新的目标轮廓得到当前帧的正负样本并更新强分类器H。
在跟踪过程中,算法始终维护并更新一个弱分类器的集合,用于从背景中区分前景目标。弱分类器可以在任何时间增加或移除以反映目标或背景的动态变化,而时序相关性则通过持续地训练新的弱分类器并将它们加入到弱分类器集合中来保持。集成因此实现了两个目标:每一个弱分类器被调整到在特定帧中从背景中区分目标,并且集合作为一个整体保证了时序上的一致性。
2 Shi快速水平集算法简介
文献[11]提出的快速水平集算法采用双链表的方式来实现曲线的演化。该方法根据曲线的隐含描述,如图2(a)所示,定义曲线C内部邻域点链表Lin和曲线外部邻域点链表Lout如下:
其中:x、y为像素点,N4(x)即为像素点x的4邻域,Rfg、Rbg分别为曲线C的内、外部区域,且Rfg∪Rbg为整个图像平面。基于此,曲线C包围区域由链表Lin、Lout所完全确定,且曲线的任意演化过程可以简单地通过链表Lin、Lout之间的像素点交换来实现。如图2(b)所示,在点A处要将曲线外移,只需把点A从Lout调换到Lin中即可,类似地,仅需将点B从Lin调换到Lout来将实现曲线内移,因此该方法通过重复的调换操作,就能实现任意的目标边界。算法首先定义如下的水平集函数来近似符号距离函数:
其中:内部点指在曲线C内部但不属于Lin的像素点,外部点指在曲线C外部但不属于Lout的像素点。在根据式(1)、(2)对Lin、Lout和水平集函数φ(x)定义的基础上,定义了对链表Lin和Lout进行操作的两个基本程序switch_in(x)、switch_out(x),用于实现Lin和Lout之间像素点的调换。由于在该算法中每演化一次,曲线向内或向外移动一个像点,即具有固定的演化速度,因此只需知道曲线演化的方向即可,即只需得到速度函数的符号,若速度函数为正,则曲线向外演化,反之,曲线则向内演化,在文献[11]中用于跟踪的外部、内部速度的分别定义为
其中:p(v|Ωfg)、p(v|Ωbg)分别为背景差分后的所得图像中目标和背景的特征分布,G1为高斯平滑模板。由此,整个快速水平集算法采用基于Fext(x)和Fint(x)的曲线演化双循环实现,具体流程可见文献[11]。
3 基于动态邻近区域的快速水平集曲线演化
本节在Shi快速水平集方法的基础上,针对跟踪任务的特点,结合Adaboost集成分类器,实现基于动态邻近区域特性的快速水平集曲线演化算法,本文称之为DNRFLS算法(Dynamic Neighborhood Region Fast Level Set),即实现图1中灰色区域部分。
如图3所示,设图像中内部闭合曲线C是初始目标轮廓曲线,C的内部区域是目标,内部与外部曲线之间是由曲线C确定的邻近背景区域带,在此仍以Rfg、Rbg分别标识目标及其邻近背景区域,但Rfg∪Rbg不是整个图像平面。本文将背景区域带的宽度Wbg取为
其中:Area(Rfg)是目标区域的面积也就是目标区域像素点的个数,Length(C)为闭合曲线C的长度也就是曲线上像素点的个数,通过式(5)进行在线动态地背景带宽选择,能自适应地适应目标尺度的变化。
在文献[11]提出的快速水平集算法中,曲线进化外部速度Fext(x)直接决定着跟踪的效果。而其外部速度本质上就是一个分类判别函数,因此本文引入基于Adaboost的集成分类器来设计外部速度函数。
设跟踪过程中,由上一帧或初始帧中的样本集通过Adaboost训练得到的强分类器H(x)为
其中:x为像素点的d维特征矢量,即x∈Rd,ht(x)为训练得到的第t个弱分类器,αt为基于弱分类器ht的错误率et而分配的权值。类似于式(3),式(7)的分类判别函数可直接作为速度函数,若g(x)≥0,则该像素点分类为目标,反之则为背景。但仅用式(7)的速度函数易受到噪声的影响,造成曲线在演化过程中会产生较多冗余轮廓,为减少噪声影响及消除冗余轮廓,本文增加点x的空间邻域信息,即对g(x)进行加窗滤波处理。以x为中心,选取一窗口Wx,对g(x)进行滤波可得本文的外部速度函数:
本文算法的实现与文献[11]类似,由于在式(8)中我们增加了窗口滤波,与式(4)的内部速度相类似,在很大程度上保证了曲线的平滑性,因此文献[11]中的曲线平滑循环可去除。DNRFLS算法流程如下:
1)初始化:根据初始曲线C,按式(1)、(2)初始化φ(x)、Lin和Lout,规定最大迭代次数Nmax;
2)for k=1:Nmax do
a)根据曲线C获得目标区域Rfg及背景带区域Rbg;
b)朝外进化:遍历Lout,由式(8)计算Lout中每一点x的外部速度Fext(x),若Fext(x)≥0,则switch_in(x);
c)Lin冗余点消除:遍历Lin,对于每个像素点x∈Lin,若满足∀y∈N4(x)且φ(y)<0,则将x从Lin中删除,并设置φ(x)=-3;
d)朝内进化:遍历Lin,由式(8)计算Lin中每一点x的外部速度Fext(x),若Fext(x)<0,则switch_out;
e)Lout冗余点消除:遍历Lout,对于每个像素点x∈Lout,若满足∀y∈N4(x)且φ(y)>0,则将x从Lout中删除,并设置φ(x)=3;
f)停止条件判断:若满足(Fext(x)<0∀x∈Lout且Fext(x)>0∀x∈Lin)则停止曲线演化,否则转到2)。
基于动态邻近区域的快速水平集算法与原有算法相比的主要特点是:Rfg和Rbg是图像平面的一部分,且在曲线演化过程中二者的大小都是在动态发生变化的;采用基于Adaboost的集成分类器来构建外部速度,增强了目标轮廓提取的准确性,并通过加窗滤波提高了抗噪性能。
4 集成轮廓跟踪算法流程
跟踪算法在d维特征空间中运行,每个像素x由归一化的d维特征矢量描述,即x∈Rd。本文中d=27,包括24维的Gabor纹理特征及3维的RGB颜色特征。其中灰度图像f(x,y)的Gabor纹理特征计算如下:
其中:“*”表示卷积运算,ψu,v(z)为二维Gabor滤波器组[12]:
其中:z=(x,y)代表像素的位置,||·||代表范数运算;参数u和v分别代表Gabor滤波器的方向和尺度,σ则决定了窗口宽度和波长的比例关系;方括号中的第一项是交流分量,第二项则为补偿直流分量,用以消除滤波器响应对图像亮度绝对值变化的依赖性;小波向量ku,v为ku,v=kvexp(iφu),其中kv=kmax/fv,φu=πu/U,kmax是最大频率,f是尺度因子,U是Gabor滤波器方向总个数。二维Gabor滤波器是一组具有高斯包络的平面波,能够精确地提取图像的局部特征,且对位移、形变、旋转、尺度变化和光照变化都有一定的容忍能力。这样,由不同尺度v∈1{,…,V}和不同方向u∈1{,…,U},通过式(10)、(11)即可得到灰度图像的不同尺度和不同方向的Gabor纹理特征。
本文提出的集成轮廓跟踪算法总体流程如下:
1)初始化(用于第一帧):
a)根据初始化曲线C0及式(5)确定目标R0fg和背景R0bg并提取样本集{xi,yi}N0i=1,其中xi∈Rd,yi∈{-,1+}1为样本xi的标定,初始化权值{iw}N0i=1为1/N0;
b)Fort=,1…,T(训练得到各弱分类器)
(1)归一化样本权值{wi}N0i=1,在{xi,yi}N0i=1上用弱学习算法训练生成弱分类器ht(x):Rd→{-,1+}1;
(2)计算th的错误率et=∑N0i=1wi|ht(xi)-yi|,权值αt=1(/)2log[(1-et)/et],并更新样本权值wi=wiexp(αt|ht(xi)-yi|);
c)运行DNRFLS算法得到C1。
2)while(1)
a)输入第j(j=2,3,…)帧图像,以Cj-1作为第j帧初始目标轮廓;
b)运行DNRFLS算法得到第j帧的轮廓Cj及其对应的目标区域Rjfg,根据式(5)确定背景区域Rjbg;
c)根据新的曲线Cj提取样本集{xi,yi}Nji=1,并初始化样本权值{iw}Nji=1为1/Nj;
d)Fort=,1…,K(保留K个最好的弱分类器并更新它们的权值)
(1)归一化样本权值{wi}Nji=1,并从{h1(x),…,hT(x)}中选择错误率et最小的弱分类器ht(x);
(2)更新弱分类器权值αt和样本权值{wi}Nji=1,并从{h1(x),…,hT(x)}中移除ht(x);
e)Fort=K+1,…,T(增加T-K个新的弱分类器)
(1)归一化样本权值{wi}Nji=1,在{xi,yi}Nji=1上用弱学习算法训练生成弱分类器ht(x):Rd→{-,1+}1;
(2)计算et=∑Nji=1wi|ht(xi)-yi|和αt=1(/2)log[(1-et)/et],更新样本权值{wi}Nji=1;
f)j=j+1,若图像输入结束则退出;否则,转向(2)。
需要指出的是,根据式(2),在跟踪结果中只需将φ(x)<0的图像部分保留即可得到分割出的目标部分。
5 实验结果
为验证本文算法的有效性,对两种典型视频序列进行了跟踪实验。实验均采用Matlab 7.01开发环境及Matlab编程语言实现,在Windows XP SP3,CPU为Intel Pentium M 1.5 GHz,内存为512 MB的PC上完成。实验中,Gabor滤波器大小为16 pixels×16 pixels,V=3,U=8,σ=π/2,f=2,kmax=π/2;其它参数设置如下:T=6,K=4,Nmax=25,Wx=[1/16 1/8 1/16;1/8 1/4 1/8;1/16 1/8 1/16]。实验结果如表1和图4所示。
Egtest05视频序列跟踪实验,如图4(a)所示,该视频序列中摄像机是运动的,在第52帧时存在部分遮挡及光照条件的变化,且跟踪过程中目标发生旋转变化,而基于Adaboost的集成分类器通过自适应调整并更新各弱分类器能适应目标及背景区域的变化,实现稳定的跟踪。图4(e)中给出了目标的运动轨迹,由于摄像机是运动的,轨迹以目标质心的行列坐标值分别给出。
Sweden视频序列跟踪实验,如图4(b)所示,该视频序列的显著特点是在图像中存在两个类似的非刚体目标,且目标尺度逐渐变大。由于水平集算法在处理曲线的分裂和合并上的天然优势,使本文算法能实现两个目标的同时跟踪并适应目标的尺度变化,而无需采用两个相互独立的文献[3]中的算法来进行跟踪。图4(f)给出了目标质心的运动轨迹,从图中看到在行坐标为150、列坐标为80~120之间位置处多次发生了目标的分裂和合并。
图4(c)给出了Egtest05序列在发生光照变化及部分遮挡时H(x)的调整变化,图4(d)给出了Sweden序列在目标尺度逐渐增大时H(x)的调整变化。从图中看出,当目标及背景区域发生变化时,本文算法通过自适应调整并更新各弱分类器,从而使得到的强分类器H(x)能迅速适应该变换,实现稳定而鲁棒的跟踪。
表2给出了实验中部分跟踪结果的各弱分类器的分类错误率及其权值,分类错误率小的弱分类器被赋予更大的权值,以保证所得到的强分类器的分类正确性。在算法的处理速率上,由于本文为实现鲁棒和准确的轮廓跟踪,在特征选择上采用了多尺度、多方向的Gabor纹理特征,且采用水平集算法来获取目标轮廓,因而本文算法与文献[3]相比处理速率慢,如表1所示。
6 结论
本文将跟踪看作是一个二分类问题,提出了一种基于Adaboost集成学习和快速水平集的集成轮廓跟踪算法。本文算法的主要特点包括:1)提出了基于动态邻近区域特性的快速水平集曲线演化算法,根据“将跟踪看作是目标和背景的分类”这一思想,将Adaboost集成分类方法应用于快速水平集,以实现目标轮廓跟踪;2)在特征选择上,通过采用多尺度和多方向的Gabor纹理特征,能更好地适应光照变化、目标旋转及尺度变化;3)弱分类器的集合被在线训练并更新,使跟踪器能适应目标或背景表面的动态变化,提高跟踪的稳定性和鲁棒性。实验结果表明,本文算法在摄像机运动、光照变化、部分遮挡或目标尺度变化等情况下,能实现刚体或非刚体目标的轮廓跟踪。
参考文献
[1]Collins T R,Liu Y,Leordeanu M.Online Selection of Discriminative Tracking Features[J].IEEE Trans.on PAMI(S0162-8828),2005,27(10):1631-1643.
[2]Avidan S.Support vector tracking[J].IEEE Trans.on PAMI(S0162-8828),2004,26(8):1064-1072.
[3]Avidan S.Ensemble tracking[J].IEEE Trans.on PAMI(S0162-8828),2007,29(2):261-271.
[4]Grabner H,Bischof H.On-line boosting and vision[C]//Proc.CVPR’06,New York,June17-22,2006:260-267.
[5]Helmut Grabner,Christian Leistner,Horst Bischof.Real-Time Tracking via On-line Boosting[C]//Proc.BMVC2006,Edinburgh,September4-7,2006:47-56.
[6]Helmut Grabner,Christian Leistner,Horst Bischof.Semi-Supervised On-line Boosting for Robust Tracking[C]//Proc.ECCV2008,Marseille,October12-18,2008,5302:234-247.
[7]Wang J,Chen X,Gao W.Online selecting discriminative tracking features using particle filter[C]//Proc.CVPR’05,San Diego,June20-25,2005,2:1037-1042.
[8]Osher S,Sethian J.A.Fronts propagating with curvature dependent speed:Algorithms based on Hamilton-Jacobi formulation[J].Comput.Phys(S0021-9991),1988,79:12-49.
[9]Yilmaz A,Li X,Shah M.Contour-Based Object Tracking with Occlusion Handling in Video Acquired Using Mobile Cameras[J].IEEE Trans.on PAMI(S0162-8828),2004,26(11):1531-1536.
[10]Mohand Sad Allili,Djemel Ziou.Object tracking in videos using adaptive mixture models and active contours[J].ELSEVIER:Neuro computing(S0925-2312),2008,71:2001-2011.
[11]Shi Yong-gang,William Clem Karl.A Real-Time Algorithm for the Approximation of Level-Set-Based Curve Evolution[J].IEEE Trans.on Image Processing(S1057-7149),2008,17(5):645-656.
[12]Tai Sing Lee.Image representation using2D gabor wavelets[J].IEEE Trans.on PAMI(S0162-8828),1996,18(10):959-971.
轮廓跟踪 篇2
近年来,人脸检测和跟踪技术在视觉监测、基于内容的检索等领域都有很重要的应用价值,已经成为一个独立的课题备受国内外专家和学者的关注,人脸跟踪也因此得以快速发展[1]。人脸跟踪中的两大关键因素就是跟踪线索的选择与表达,以往很多人利用单一的人脸信息作为目标特征进行跟踪实验,发现单独利用单一的人脸信息进行跟踪无法达到可靠的效果,所以本文提出结合颜色和轮廓共同作为人脸跟踪线索。因为颜色容易受到光照的影响,引入用直方图来描述人脸轮廓[2]的方法能有效缓解此问题,并且采用自适应调整描述人脸轮廓的特征点的个数,保证了跟踪的效率。本文选取粒子滤波算法作为跟踪算法,既摆脱了Kalman和扩展Kalman为解决非线性滤波问题随机量必须满足高斯分布的制约,又能表达比高斯模型更广泛的分布,也对变量参数的非线性特性有更强的建模能力,实用性强。同时,由于随机样本(粒子)有效地表达了跟踪目标的不确定性,从而保证跟踪的鲁棒性[3]。本文还采用了实时更新跟踪模板的方法,有效解决了背景中的肤色干扰和复杂背景干扰。实验证明本文提出的新算法在人脸跟踪方面具有很好的鲁棒性。
1 粒子滤波
粒子滤波的核心思想是通过一组加权采样集来表示概率分布,而且它的表示精度可以随着粒子个数的增加达到足够高,最终可以无限接近最优贝叶斯估计。
假设{xti,wti}(i=1,…,N),为后验概率密度P(xt|yti)的随机粒子,粒子的权值都经过归一化处理,那么在t时刻目标的位置的后验概率密度可以表示为
利用重要性采样原理对权值进行选择,假设粒子来自重要性密度函数q(xti|xi0:t,zt),则权值更新为
当粒子数足够大时,估计值近似于真实的后验概率,即可以用状态转移概率密度函数作为重要性密度函数。此时式(2)可以表示为
但是,这样估计的状态存在偏差,因为如果存在伪目标,这种估计均值其实是真实目标和伪目标的混合值,所以有必要设定一个阈值,来去除伪目标的干扰。本文是利用高概率区域内粒子的权值来估计跟踪目标的状态,并且在高概率区域内进行粒子重采样,即设定每个粒子匹配的相似度T作为阈值(本文T=0.7),利用相似度大的粒子的权值估计目标的位置,然后根据估计出的目标位置和相似度较大的粒子的权值进行重采样,那么就消除了伪目标的影响,可以近似为在真实目标范围内进行估计均值[4]。
2 跟踪线索
在图像序列中,可用于人脸目标跟踪的信息线索很多,而且各有特点,对不同的环境有着不同的鲁棒性,为了提高跟踪的可靠性,往往需要结合多种信息来完成复杂的跟踪任务[5]。通常要求选取的跟踪线索最好能够独一无二,以方便特征空间的建模,但是色彩易受到光照、背景等外在因素的影响,所以需要使用其他特征线索来辅助修正颜色线索的不足[6]。本文算法就是选择了以颜色为主要跟踪线索,辅以轮廓,实现了更好的人脸跟踪。
2.1 颜色
色彩特征一般需要借彩色空间模型进行描述[7],而最常用的色彩空间有LUV、RGB、HIS、HSV等多种可供选择[8]。由于RGB是色彩图像处理过程中最常用的色彩描述空间,同时考虑到LUV、HSV等色彩空间都存在噪声敏感的问题,所以根据应用场景和跟踪目标的性质,本文选择了RGB色彩空间。
本文在RGB颜色空间,对R、G、B三个分量均等划分,采用888量化形式将色彩灰度化,实现色彩描述由三维转化成一维,然后在前述工作的基础上统计不同色彩的频率,建立目标区域的颜色分布概率直方图,采用颜色直方图来描述目标人脸。
假设P0是目标灰度直方图模板,用于与观测值的比较,实现相似程度和权值的确定。设两个经过归一化的离散颜色直方图(模板图像颜色直方图和粒子颜色直方图)的密度为P0={P0(u),u=1,…,m}和P={P(u),u=1,…,m},由于Bhattacharyya系数可以反应两个颜色直方图匹配程度。所以,本文采用Bhattacharyya距离来度量目标区颜色直方图与人脸模型颜色直方图之间的相似性[9]。具体表示如下:
式中:ρ[Hoc,Hfc]是离散Bhattacharyya系数,ρ的变化区间在[0,1]内,ρ越大,两个直方图就越接近,即dc越小两个直方图越接近,当dc=0时,则意味着完全匹配。
为了提高跟踪的效率和精确度,本文提出了实时更新颜色线索的模板信息的方法。首先提取并保存目标人脸的模板信息,其中包括人脸的正面、侧面、后面、轮廓四个直方图矩阵信息,用于更新模板。由于人转身,不管是正面转向背面,还是背面转向正面,都要先经过侧面,所以,在实时更新模板的时候首选是侧面,然后选择正面或者背面。实验证明,此方法在目标人脸旋转,甚至在人背向摄像头运动的时候,仍然能够很好的跟上目标。
在复杂背景场景下,跟踪的目标模型中不可避免包含一些背景像素,这些不可避免的背景像素往往容易造成跟踪的偏差,这些偏差得不到及时的矫正,在后续的跟踪过程中会造成更大的误差,误差的积累最终会导致跟踪的失败,所以本文引进一种利用目标外围环中的背景信息来抑制背景像素的影响[10]。
假设目标人脸在大小比为1:1.2的两个同心椭圆内,内椭圆的归一化的颜色直方图为M,同心椭圆环的归一化的颜色直方图为H,依据背景概率分布H来修正原目标的概率分布M,达到抑制背景影响的目的。即通过一个函数f(M,H)来调整概率分布M中的各项特征系数,过程如下:
这里k是为了防止函数值为负无穷大或者除数为0的情况,本文设置k为110-11。函数f实现的功能是:在M和H同像素的位置上,若H分布中值较大,说明该像素在目标分布M中较多地描述了背景信息,应该被抑制,反之,若H分布中值较小,说明该像素在目标分布M中不属于背景信息,应该被保留。实验证明本方法很好地抑制了目标中背景像素的影响,从而突出了目标,提高了跟踪的准确度。
2.2 轮廓
除了色彩,边界是目标第二明显特征。尤其重要的是边界对光照变化不敏感,色彩特征对光照变化敏感,轮廓刚好可以弥补颜色在人脸跟踪过程中的不足。本文对轮廓描述主要参考Berkeley加利福尼亚大学的Belongie等提出的形状上下文的概念。轮廓上某一特征点的描述是指在一指定极坐标系中轮廓上的其他特征点相对于该点的矢量长度和转角的统计直方图[11]。本文所指的轮廓是指人脸的外围形状,所以先要对该区域进行边缘检测[12],并对检测到的边缘进行抽样。为了抽样方便,本文特征点由图像的检测边缘均匀抽样获得。假设边界点中选取的点集为P={p1,p2,…,pn},n值越大,特征点的描述就越清楚,但是同时也增大了计算量,降低了跟踪效率,所以本文参考粒子滤波中粒子数自适应调整的方法,实现了边界点的自动确定。
首先给定一个n值,进行边界点的选取,然后根据选取的边界点计算目标的质心坐标(xg,yg):
式中:P表示待计算的目标,I(x,y)表示目标的灰度值。然后还要给定一个阈值(本文选取=3),计算当前n值求得的质心与原目标质心的距离差,当这个差小于,则选取当前的n值为本次抽样值[13]。确定了抽样值,接着要将抽样得到的特征点转换成极坐标形式,即用方向和长度来表示不同的特征点。本文设置的方向参数为12,即将圆周分成12份,长度参数为7,即将圆周的半径平局分成7份。在点集P={p1,p2,…,pn}中,对于任意一点pi与剩下的n-1个特征点所构成的形状直方图的公式如下:
(x0,y0)表示极坐标的原点,通过上式可以计算出,除pi外的其余n-1个特征点相对于pi的极坐标,然后统计这些坐标群落在根据之前设置的转角参数和长度参数划分的格子的每一个格子里的点数,得到的便是pi的轮廓分布,最后还要再使用经验密度方法进行归一化处理,得到归一化的轮廓分布,依此计算n个特征点的直方图,可以表示成:
假设目标轮廓特征点为J个,同上式描述方法,可以表示为
接下来要计算人脸轮廓分布与原目标轮廓分布的相似性,因为对于原目标轮廓分布的任意一个特征点的直方图分布,都能在某时刻粒子提取的轮廓分布中找到与之最接近的,所以可以用X2距离来表示两个直方图的相似度,即:
本文将目标区域和人脸模型总的轮廓相似度定义为所有特征点匹配指标之和。
3 人脸跟踪实现
3.1 动态模型
在本系统中,被跟踪的人脸我们称之为目标,在每一视频序列当中被跟踪的目标可以用一个状态变量来描述[14]。
其中:(x,y)代表每一视频序列中剪切下来的包围了人脸椭圆框的中心坐标,而(l,h)代表椭圆的长轴和短轴,如果在不严重影响目标跟踪的准确性的情况下,固定长短轴之比能够减小程序的复杂度,但是可能增加数据量,影响跟踪的速度,所以本文采用可以大小变化的椭圆跟踪标识框。为了便于陈述,我们将椭圆坐标中心和椭圆长短轴分开表示,假设如下:
粒子的运动过程模型我们采用最常用二阶自回归过程来描述,这个简单的模型能够很好地模拟出大多数的物体运动状态,其具体表示如下:
假设Xt服从高斯分布,X0:t-1指的是粒子从0到t-1时刻状态序列,Xt-1表示的是粒子t-1时刻的状态,Xt-1-Xt-2表示的是t-1时刻和t-2时刻的状态偏移量,Q表示的是期望为0的高斯分布的协方差矩阵。P(Xt|X0:t-1)通过Xt-1、Xt-1-Xt-2和Q三个变量描述t时刻所有粒子的分布状态。
3.2 观测模型
本文人脸跟踪算法中采用了两种跟踪线索,所以,对于每一次的粒子滤波的观测量都不是一定相同的,需要对应选择。其中
目标区域颜色观测量:
目标区域轮廓观测量:
为了提高跟踪的速度,本文设计的人脸跟踪是以颜色跟踪为主,轮廓跟踪为辅,所以,假设一条线索所提供的观测量在统计上相互独立,则结合t时刻状态Xt下的颜色直方图与参考颜色直方图的相似性,当颜色的相似度低于阈值(本文取0.7),那么状态Xt粒子的权重为Ws(Zs|Xt),否则为Wc(Zc|Xt)。
3.3 本文算法实现步骤
本文的一次帧间人脸跟踪过程就是通过t-1时刻粒子状态集合,包括t-1时刻目标位置和粒子的权值,估计t时刻粒子的状态集合,本文人脸跟踪的大概过程如下:
1)首先根据重要性函数进行采样。当t=1时,初始化粒子权值为1/N。
2)设匹配相似度的阈值为T(本文T=0.7),按照阈值筛选出的粒子,选择加权粒子集。如果都小于T,更新目标模板,重新计算观测量和模型的匹配度,更新粒子的权值;如果粒子的权值仍然都小于T,则选择轮廓跟踪。完成一帧轮廓跟踪,返回颜色跟踪。
3)估计目标位置。
4)更新权值。
5)根据筛选的加权粒子集,在高概率区域内进行重采样。如此重复更新目标位置和粒子权值的状态。
4 跟踪实验结果分析
为了验证本文算法的有效性及快速性,本文特别选取了具有针对性和代表性的视频图像序列进行试验,该视频序列是专门用来进行人脸跟踪的视频序列,其中包含了如人脸肤色、光照变化、背景干扰等环境复杂的图像,因此利用此视频序列进行人脸跟踪实验验证,有较强的合理性和较大说服力。在实验平台的选择上,本文所提算法的实验是在Intel(R)Celeron(R)U3400 1.07 GHz的个人电脑上运行的,软件环境采用MATLAB 7.1。
为了实现人脸跟踪过程鲁棒性和跟踪效率的均衡,同时验证进一步提高跟踪准确度的必要性,首先本文利用传统的粒子滤波算法在只有颜色一个跟踪线索的情况下不同粒子数的人脸跟踪实验。实验结果如图1所示。我们可以看出,当粒子数较多(粒子数为200)时能够实现效果良好的人脸跟踪,但是跟踪效率很低(耗费时间为29.4 s);减少粒子数目(粒子数为100)后,较之前跟踪准确性误差增大,人脸旋转时候已经跟不上目标了,同时,跟踪耗费时间开始明显减少(耗费时间为9.5 s)。当进一步减少粒子数目(粒子数为50)时,跟踪误差进一步增大,在光照发生变化、人脸旋转的时候不能准确跟踪,而且,在正常情况下,人脸大小的调节也已经不准确。同时,完成时间只有稍微减少(耗费时间为5.7 s)。
由以上比较可以看出,粒子滤波人脸跟踪的优良准确度是通过耗费高性能计算资源以及时间来实现的。如果改进算法,使粒子数为100的时候的跟踪效果和粒子数为200个时候的效果一样或者更好,就相当于将时间增快了接近20 s,大大提高了跟踪的效率,很好地实现了跟踪准确度和效率的均衡,满足了实时跟踪的要求。所以,改进基于颜色的粒子滤波算法实现粒子数100或者更少粒子情况下还能准确跟踪是非常有必要的。
本文第二个实验是为了验证本文添加了轮廓作为跟踪线索后的新算法能够很好地克服光照对人脸跟踪的影响,以及人脸旋转的时候,新的算法仍然能够准确跟踪人脸。如图2所示,在同样粒子数目(粒子数目为100)的情况下,如图2第126帧和146帧,在光线突变和背景干扰较大的时候,本文结合了轮廓形状的粒子滤波人脸跟踪性能明显优于传统基于颜色的粒子滤波人脸跟踪。而且,在第70帧,人脸旋转的时候,传统算法已经跟不上人脸,而本文实时更新模型的算法仍然能够很好跟踪人脸。新算法跟踪耗时约为10.17s,这个耗时的稍微增加几乎可以忽略不计。
本文算法还对因背景存在与人脸类似像素信息造成干扰的情况采取了抑制措施,所以接下来本文做了第三个实验,论证本文在具有相似背景情况下本文算法的优越性。如图3所示可以看出在较强的类人脸背景干扰下,跟踪出现明显误差,而同样粒子数目的本文算法在相同的较强类人脸背景干扰下仍然能够实现良好的跟踪。
以上人脸跟踪准确度的比较都是基于人眼直观观察的,为了进一步说明问题,在以上实验基础上,本文还利用数据进行了验证。因为当粒子数足够多的时候,估计值可以近似为真实值。本文不断增加粒子数观察跟踪的情况,发现达到5 000个粒子的时候,跟踪路径基本接近真实轨迹,所以本文选取5 000个粒子时跟踪的路径,假设其为真实路径,选取基于颜色直方图的粒子滤波人脸跟踪算法粒子数分别为200、100、50时候跟踪路径与真实路径进行误差分析,同时选取了本文算法粒子数为100时候跟踪路径和真实路径的误差分析,四者的误差分析比较结果如图4和图5,图4是视频序列的横向跟踪百分比误差,图5是视频序列的纵向跟踪百分比误差,坐标系中,横轴表示视频序列帧数,纵轴表示跟踪百分比误差,其中跟踪误差定义为
其中:pre是指目标人脸的真实位置,pob是指利用跟踪算法得出的目标位置观察值。pre是指相邻两帧目标人脸真实位移。
跟踪百分比误差定量分析了人脸跟踪的效果。如图4和图5,表示本文新的人脸跟踪算法的轨迹线几乎没有什么大的波动,而且不论横向还是纵向的百分比误差都是很接近横向坐标轴的,表明该算法跟踪准确度很高。其次是200个粒子的传统粒子滤波算法、100个粒子的传统粒子滤波算法、50个粒子的传统粒子滤波算法,对照试验的图像序列,发现这些曲线的波动比较大的点,刚好是出现类人脸背景干扰、人脸旋转或者光照影响的时候。所以,曲线距离横轴的距离以及曲线波动点进一步证明,本文新算法在光照影响、人脸旋转以及类人脸背景干扰情况下较传统粒子滤波算法有很大的优势。
5 结论
本文针对现实的人脸跟踪问题,首先分析对比验证当前已有跟踪算法技术的特点及不足,然后将跟踪器设计和跟踪线索选择两方面作为切入点,针对视频跟踪的非线性和非高斯的特点,以及颜色线索的优越性和直方图描述对平移、尺度变化的高鲁棒性,本文选择了粒子滤波作为整个人脸跟踪算法设计的基本框架,添加颜色直方图作为跟踪的基本线索。为了克服人脸旋转问题,本文采取更新人脸模板的方法来提高人脸旋转时跟踪的鲁棒性,同时为了克服背景相似颜色的干扰,借助了椭圆环像素概率的比较方法进行抑制。由于跟踪过程中的光照影响,本文提出了使用轮廓分布作为人脸跟踪的辅助线索;为了减少状态估计的偏差,利用高概率粒子估计跟踪目标的状态,在高概率区内进行粒子重采样;最后选择权威视频序列进行实验,验证了所提算法的有效性和准确性。
摘要:实际人脸跟踪过程中,光照和姿态的变化、背景颜色干扰等因素都会极大地削弱颜色特征的有效性,从而造成跟踪的不稳定。针对该问题,本文提出了一种以颜色和轮廓分布为线索的粒子滤波人脸跟踪算法。该算法主要有三个方面的特点:第一,在粒子滤波基本框架下,引入新的用直方图描述人脸轮廓的方法,有效解决了光照、人脸旋转、部分遮挡问题对跟踪的影响,并且能及时有效地重新捕获由于大面积遮挡等原因而丢失的目标。同时采用实时调整每帧图像特征点个数,有效提高了跟踪效率。第二,针对背景干扰问题,提出了一种抑制相似背景颜色干扰的方法。第三,本文还提出实时更新模板的方法来提高跟踪的准确性。实验证明本文算法对人脸跟踪具有很好的效果。
轮廓跟踪 篇3
Snake主动轮廓模型[3]将目标形状信息利用轮廓描述,能够形成连续、闭合的光滑轮廓线,于1987年由Kass等人提出。该模型有较强的抗噪能力,定义能量函数描述灰度、轮廓信息,利用边缘特征,在收敛于自身能量极小值过程中不断地迭代逼近真实轮廓。但该模型存在动态规划时间开销大、对初始位置敏感的问题。连续自适应均值漂移Camshift算法[4,5]是一种无需参数的基于核密度的快速模式匹配算法,计算简单、实时性高,虽可自适应目标大小调整跟踪窗,但仅通过矩形或椭圆跟踪窗无法描述目标轮廓信息,从而影响后续目标分类和行为识别,且在复杂环境中该算法易受到干扰。
本文针对城市道路交通环境,提出了基于Snake主动轮廓模型联合基于Chamshift区域模型的目标跟踪方法。新方法具有较好的抗环境干扰特性,在目标运动过程中,通过多尺度小波改进的Snake主动轮廓模型准确对物体进行精确轮廓检测,同时利用Camshift算法将颜色、纹理特征融合跟踪目标,提高了监控系统中城市道路车辆辨识能力,使跟踪具有更好的鲁棒性。
1 Snake活动轮廓模型
Snake模型参数化描述为v(s)=(x(s),y(s)),s∈[0,1],通过参数化曲线和曲面表示变形,曲线参数为s,轮廓点坐标为(x,y)。总能量公式表示如下
式中:内能为,通过曲线弹性能量和刚性能量内能组成,其分别利用一阶及二阶导数项控制。外能为,由约束能量和图像能量构成,γ(s)是权重系数,Gσ(x,y)是二维高斯平滑滤波器,如式(2)所示。I(x,y)为灰度信息。经过内能、外能的共同作用,轮廓曲线渐渐向图像边缘收敛,从而获得最小曲线能量。Esnake达到最小时,轮廓收敛于目标边缘。
1.1 轮廓离散化
以曲线控制点集合描述轮廓曲线v(s)。控制点之间的关系应符合如下公式
式中:vi-1和vi+1是曲线上vi邻接的2个控制点,第i+1个控制点为vi,vi=(xi,yi),V=(v0,v1,…,vi-1,vi,…,vn-1),i=0,1,…,n-1。
内部能量函数微分形式表示如下
外部能量函数表示如下
利用Sobel算子计算图像梯度!I(x,y),vi处的图像梯度为gi。因此,积分形式的曲线能量函数表示如下
1.2 Snake模型改进
为了解决传统Snake模型迭代过程运算量大、对初始位置敏感、抗噪能力较差的问题,利用文献[6]提出的多尺度小波能量方法,得到公式
式中:vi为蛇点,n(vi)为内法线矢量。令k是方向参数,其值为1或-1。选择尺度为2j,多层小波变换图像,新外力表示如下
水平方向的高频为w12j,dI(x,y),垂直方向的高频为w22j,d·I(x,y),构造金字塔方法如下:
1)第一层为
2)采样后,图像符合
3)使j=j+1,J为最大层的层数,j<J时,转到2),j=J时结束。
给定模型参数后,初始轮廓离散成2M-J+1投影在尺寸为2N-J+1×2N-J+1的图像上,由粗尺度收敛于高尺度。由于改进算法使得复杂细节变平滑,因此蛇点数量降低,运算时间降低,迭代的次数也随之减少。多尺度小波变换的Snake主动轮廓模型提取方法通过结合小波边缘检测,在减少对初始位置敏感性的同时节省了时间开销。
2 运动目标轮廓检测
Camshift算法选择HSV颜色模型作为跟踪特征减少了光照影响,利用图像颜色概率密度的分布特征跟踪目标,通过搜索窗二阶矩估计目标大小、方向角从而自适应调节窗口大小和角度。算法计算简单,匹配速度快,实时性高,但复杂环境易受相近颜色干扰。所以本文利用Camshift算法将颜色和纹理多类特征融合,提高目标识别率,取Camshift算法搜索框区域和高斯背景建模后的相同位置区域求差,获取目标初始边缘后进一步利用形态学及多尺度小波变换的Snake主动轮廓模型搜索目标轮廓,精确提取运动目标。
2.1 纹理特征融合的Camshift
纹理特征相对运动目标较为稳定,体现了图像灰度级空间分布的特性。本文采用Tan、Bill提出的对噪声有良好的抗噪能力的LTP局部三值模式纹理模型[7,8],解决了运动车辆颜色相近时容易相互干扰的问题。融合过程如下:
选取初始大小为s,位置中心为(xc,yc)的搜索窗口,内部像素为{xi,i=1,2,…,n},窗口中心y,宽h,在以(xc,yc)为中心的搜索窗1.5倍范围内,用直方图分别描述不同特征空间,建立候选目标、目标模板的特征概率密度分布函数如下
式中:uj为特征向量,K为特征种类,j为第j类特征空间,脉冲函数为δ,归一化系数为Cj。其中第i帧目标的特征分布为,特征分布相似度大小利用Bhattacharrya系数进行度量
k权重按照下式修改,a1,a2,…,ak是权重系数,,m为量化级别,进行多特征加权
利用建立的多特征模板,不同特征设置不同的权值,提高了前景和背景的区分能力,保证了跟踪的稳定性。
2.2 运动目标轮廓提取
利用纹理特征融合的Camshift算法获取每帧中运动目标的中心位置(xc,yc),同时根据搜索窗大小提取前景矩形区域,并将相同区域的高斯模型统计的背景图像也提取出来,两者相减,即得到初始目标边缘。由于光线被目标遮挡时会存在阴影,影响轮廓提取准确度,因此本文根据颜色模型的特性,利用HSV颜色空间去除阴影。从RGB到HSV转换过程如下
HSV颜色空间中H和S通道对阴影区域不敏感,V通道比较敏感,利用将饱和度S、色度H同亮度分量V分离,仅使用饱和度和色度来反应运动目标的本质特性进行聚类可以较好地消除阴影。
如图1所示,图1a为根据Camshift算法的当前帧搜索窗大小提取的矩形区域通过高斯背景模型重建的背景区域,图1b为相同区域的前景区域,图1c中白色区域为前者背景差后进行形态学腐蚀膨胀后的目标区域,根据图1c获取运动目标如图1d所示,图1e为对目标区域进行边缘检测后初始边缘轮廓,图1f为利用多尺度小波变换的Snake模型提取并通过HSV颜色空间去除阴影后寻找到的目标精确轮廓。
3 实验验证
对部分路段车辆视频通过改进算法进行实验分析。图2为本文部分跟踪结果,可以看出,由于将Snake主动轮廓模型联合Camshift区域模型,并融合了LTP纹理模型,在跟踪过程中利用图像空间分布特性,跟踪准确且轮廓清晰,能自适应仿射变换,且在光照变换情况下仍有较好鲁棒性。
表1列出了对8组视频中不同的运动目标分别用传统Camshift算法和本文算法进行跟踪准确率和耗时比较的情况。从跟踪准确率上看,由于本文融合了纹理特征,跟踪过程较为稳定,准确率较高,而原Camshift算法由于仅用颜色模型,当目标和环境中其他物体颜色接近时较为敏感,易被干扰,因此在复杂环境中易导致跟踪失败,准确率较低。从平均耗时上看,本文算法由于融合了LTP纹理特征,且目标分割后对其实施Snake主动轮廓迭代搜索及阴影去除,因此在跟踪过程中平均每帧的耗时稍高于原Camshift算法,但仍符合监控系统实时性的要求。
4 小结
本文提出了基于Snake主动轮廓模型联合Chamshift区域模型的目标跟踪方法。在目标跟踪过程中,对原Camshif算法中使用的HSV颜色模型融合纹理特征进行跟踪,在搜索窗区域,利用高斯模型建立的背景图像和前景图像获取目标初始轮廓,同时利用多尺度小波改进的Snake主动轮廓模型进一步对物体轮廓检测,去除阴影区域,较好地描述了物体的真实轮廓,使跟踪具有更好的鲁棒性,为交通视频监控系统中进一步的目标分类打下良好基础。
参考文献
[1]甘玲,潘小雷.一种应用于交通环境中的运动车辆跟踪方法[J].重庆邮电大学学报:自然科学版,2013,25(3):408-411.
[2]王相海,方玲玲,丛志环.卡尔曼粒子滤波的视频车辆跟踪算法研究[J].中国图象图形学报,2010,15(11):1615-1622.
[3]KASS M,WITKIN A,TERZOPOULOS D.Snake:active contour models[J].International Journal of Computer Vision,1988,1(4):321-331.
[4]邬大鹏,程卫平,于盛林.基于帧间差分和运动估计的Camshift目标跟踪算法[J].光电工程,2010,37(1):55-60.
[5]SORN S.CAMSHIFT-based algorithm for multiple object tracking[C]//Proc.9th International Conference on Computing and Information Technology.[S.l.]:IEEE Press,2013:301-310.
[6]马波,张田文,李培华.基于改进外部力的多尺度蛇算法[J].计算机学报,2003,26(5):563-568.
[7]TAN Xiaoyang,TRIGGS B.Enhanced local texture feature sets for face recognition under difficult lighting conditions[C]//Proc.Analysis and Modeling of Faces and Gestures.Rio de Janeiro,Brazil:[s.n.],2007:168-182.