2007年6月
文章编号:1001-9081(2007)06-1468-04
计算机应用
ComputerApplications
Vol.27No.6June2007
基于改进蛇模型的步态轮廓提取
李 潇,李 平,文玉梅,叶 波,郭 军
(重庆大学光电工程学院光电技术及系统教育部重点实验室,重庆400030)
(liping@cqu.edu.cn)
摘 要:提出了一种基于Snake模型的改进算法,不仅能够精确地搜索到图像轮廓,且程序运行速度较快。该算法在CMU数据库上进行了实验,结果表明提取出的步态轮廓完整且封闭,能有效地提高识别率。
关键词:运动目标;Snake模型;能量函数;梯度矢量流;贪婪算法中图分类号:TP391.41 文献标识码:A
Gaitcontourextractionbasedonimprovedsnakemodel
LIXiao,LIPing,WENYu2mei,YEBo,GUOJun
(KeyLaboratoryofOptoelectronicTechnologyandSystemsoftheEducationMinistryofChina,
ChongqingUniversity,Chongqing400030)
Abstract:AgaitcontourextractionmethodbasedonSnakemodelwasproposed,whichcansearchthecontournotonlycorrectlybutalsorapidly.TheexperimentstestedontheCMUdatabaseprovethatthegaitcontourcanbecompletelyandcloselyextractedbytheproposedmethod,andrecognitionrateisalsoincreasedeffectively.
Keywords:movingobject;Snakemodel;energyfunction;GradientVectorFlow(GVF);greedymethod
0 引言
步态识别是一种新的生物特征识别技术,它是通过人走路的姿势实现对个人身份的识别和认证。步态识别分析可以
划分为运动目标分割与分类、特征提取与表达、步态识别三个阶段。其中,运动目标分割的目的是从序列图像中将变化区域从背景图像中提取出来。运动区域的有效分割对于目标分类、特征提取、特征表达与最后的识别等后期处理是非常重要的,因为以后的处理过程仅仅考虑图像中对应于运动目标区域的像素。
现有的分割方法主要分为三类:帧间差分法、背景消减法
[1]
和基于运动场估计的方法。帧间差分是最为常用的运动目标检测和分割方法之一。将相邻两帧图像做差分运算,从相减后的图像中得到运动物体的信息。帧间差分法的特点是速度快,适用于实时性要求较高的应用环境;不足在于算法对环境噪声较为敏感,并且基于差分法的运动目标分割精度没有保证。背景消减法[2]是将包含运动目标在内的图像与背景图像相减,以得到运动目标区域。在运动目标和背景之间灰度或颜色存在差异情况下,背景消减法可以获得较好的目标提取效果。但对于动态场景存在如光照和外来无关事件的干扰,或者因运动目标和背景之间灰度或者颜色差异很小而难以获得有效分割阈值等情况下,将很难获得目标封闭的完整轮廓。基于运动场估计的方法[3]通过视频序列的时空相关性分析估计运动场,建立相邻帧对应关系,进而利用目标与背景表现运动模式不同进行运动目标的检测与分割。与差分法相比,运动场分析能够较好地处理背景运动的情况,适用范
围更广,但计算的复杂度远高于前者。
因此,由于背景的复杂性,通常情况下采用上述方法提取出的轮廓往往十分粗糙,甚至构不成封闭轮廓,造成图像残缺,这是目前步态识别率始终难于大幅度提高的重要原因。同时,对非封闭的残缺轮廓,一些学者采用人工交互与计算机自动定位相结合的方式进行修补,以得到更高的识别率,但由于步态序列所包含的图片数量极大,这样的工作将花费研究者大量的时间和精力且存在定位不准确的难题[4]。
近年来,一种称为Snake[5]的参数活动轮廓模型被广泛应用于边缘检测、图像匹配、区域分割、目标跟踪等多种领域,它依靠对能量函数的最小化实现自动搜索目标轮廓边缘。由于Snake模型曲线具有一定的硬度,得到的最终轮廓光滑、封闭,因此用于搜索步态轮廓时能纠正二值图像模板上的缺口(往往是由于前景与背景亮度一致造成的),在一定程度上可以解决上述目标轮廓的残缺问题。但原始的Snake模型存在一些性能上的缺陷,如:在能量极小化过程中的收敛速度较慢,不能很好的收敛到凹陷轮廓等[6],这些缺陷使它很难直接用于步态轮廓提取。
本文提出了一种改进的Snake模型对人体步态轮廓进行搜索:首先,采用背景消减的方法得到粗糙轮廓,然后以粗糙轮廓为处理对象,结合两种Snake模型———梯度矢量流
[7,8]
(GradientVectorFlow,GVF)模型和贪婪算法[9],搜索运动目标轮廓,得到封闭完整的轮廓线。算法在CMU[10]数据库上进行了实验,实验结果表明算法具有较好的处理效果,能够有效获得准确的目标轮廓,为后期目标识别奠定了良好的基础。
收稿日期:2006-12-18 基金项目:重庆市自然科学基金资助项目 作者简介:李潇(1982-),女,四川眉山人,硕士研究生,主要研究方向:图像处理、模式识别; 李平(1963-),男,重庆人,教授,博士生导师,主要研究方向:传感技术及无线传感器网络、智能结构和控制、信息获取和信号处理; 文玉梅(19-),女,重庆人,教授,博士生导师,主要研究方向:智能化光电仪器、传感技术、数字信号、图像处理; 叶波(1968-),男,江苏泰兴人,博士研究生,主要研究方向:计算机视觉信息处理; 郭军(1977-),男,重庆奉节人,硕士研究生,主要研究方向:图像处理、模式识别.
© 1994-2011 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第6期李潇等:基于改进蛇模型的步态轮廓提取
2
f(x,y)=|[Gσ(x,y)3I(x,y)]|
1469
(7)
本文提出的算法作出了以下新的尝试:
1)将Snake模型应用到步态识别的研究中来,并通过实验验证了模型的有效性;
2)将GVF模型和贪婪算法相结合,在对凹陷轮廓进行准确搜索的同时,提高了收敛速度。
f(x,y)就是Kass提出的边缘能量项(4)。采用变分法,得
1 算法原理
1.1 Snake模型原理
Snake模型
[5]
也称为参数活动轮廓模型。该模型从一个
封闭的初始曲线出发,在一定的约束下,通过逐步形变的搜索过程,最终获得一条预先定义的、一种能量函数最小化的轮廓
线。用V(s)=[x(s),y(s)](其中,s∈[0,1])表示Snake曲线,其能量函数为:
1
E=
0
[E(V(s))∫
int
+Eext(V(s))]ds(1)
Eint为内部能量,定义为:Eint=
1(s)|2+β|V″(s)|2][α|V′
2
到使式(6)最小化的梯度向量流vv(x,y),它满足欧拉方程:
2
μ2u-(u-fx)(f2x+fy)=0
(8)
2
μ2v-(v-fy)(f2)+f=0xy
fx,fy分别为f(x,y)对x,y的偏导。
GVF模型通过上述对外部能量项的改进,使Snake模型在极大程度上克服了不能收敛到凹陷轮廓边缘的缺陷,但迭代收敛过程速度慢的问题依然未能解决。1.3 贪婪算法
在确定能量函数后,需要对Snake曲线按照能量最小进行迭代。在传统算法迭代过程中,由于对曲线上的控制点进行逐点考察,时间复杂度为O(nm3)(其中,n为Snake曲线上控制点的个数,m是一个点可能移动的位置数)因此收敛速度较慢。为了提高收敛速度,文献[9]提出了一种贪婪算法,考察控制点i点相邻8邻域中的每个点的能量,以具有最小能量的点的位置作为i点的下一个位置,使Snake曲线迅速收敛到目标位置。但该算法采用边缘图像的梯度模作为外部能量,对存在凹陷的轮廓收敛效果较差。(2)
β分别为控制曲线张力和刚性的权重参数,式中,α、
(s)、(s)分别为V(s)对s的一、V′V″二阶导数。Kass将外部能量定义为:
2
Eext(x,y)=-|I(x,y)|
2 改进算法由于人体轮廓存在着较大的凹陷(如在行走时的双腿之间,摆动的手臂与身体之间),采用传统Snake模型无法收敛到轮廓实际边缘,因此选择针对凹陷轮廓的GVF模型进行搜索。GVF模型在收敛过程中采用传统Snake的变分法,时间复杂度为O(nm3),迭代速度较慢,为了提高迭代速度,本文将GVF模型的迭代过程采用贪婪算法的迭代原理进行,结合两种算法各自的优势,在保证对凹陷轮廓准确搜索的同时,提高收敛的速度。2.1 改进算法框架
原GVF模型采用变分法计算Snake曲线每一次迭代后控制点的坐标位置,而改进后的模型采用贪婪算法确定控制点坐标。按照贪婪算法,需计算控制点8邻域每点的能量值,找出其中能量最小的点。式(1)中的内部能量如(2)所示,离散化该式,在Snake曲线上设置n个控制点,将曲线分为n段,用zi表示曲线上的第i个点,离散后的一阶项为|zi-zi-1|2,该项控制Snake曲线的收缩。为了避免Snake曲线聚集在局部强边缘区,文献[9]提出了将d-|zi-zi-1|作为一阶项,d为控制点间的平均距离,这样,点间距与平均距离最相近的点具有最小能量值,每迭代一次重新计算一次d。离散化二阶项为
2
|zi-1-2zi+zi+1|,该项使Snake抵抗弯曲。将一阶项和二阶项均除以它们在8邻域点的最大值,以规范其大小在0~1的范围内。
在文献[9]的贪婪算法中,采用边缘图像的梯度模作为外部能量,该梯度模为指向边缘的矢量,且仅在边缘上有极小值。贪婪模型有捕捉边缘的能力,但梯度模中没有反映与边缘距离的信息。在均匀区域里,梯度模的值为0,即不存在将Snake曲线从均匀区域推向边缘的外力,导致贪婪算法中的Snake曲线只能捕捉与初始曲线相邻近的边缘,当初始曲线离物体轮廓边缘较远时,Snake曲线无法收敛到实际边缘处。
本文提出的改进算法以下式作为外部能量项:
2
(9)mvv=γ[vv(x,y)]
γ为外部能量权重,vv(x,y)由(8)推算得出。与梯度模相比,采用mvv作为外部能量引入了梯度矢量流的作用,能够扩
(3)(4)
或:
2
Eext(x,y)=-|[Gσ(x,y)3I(x,y)]|
I(x,y)为原始灰度图像,可看作是位置变量(x,y)的函
数。Gσ(x,y)是标准方差为σ的二维高斯函数,µ为梯度算子。
Snake模型的形变过程就是能量函数(1)的最小化过程,
在Snake曲线上设置n个控制点将曲线分为n段,由变分法原理和解Euler-Lagrange方程得到Snake模型的迭代公式如下:
XY
δtt+
=M=M
-1
δtt+-1
5Eext)5Xt5Eext(Yt-δt)
5Yt
(Xt-δt
(5)
M是一个对称的五对角循环矩阵,X,Y分别是Snake曲
线上各控制点横向x和纵向y坐标向量,δt为时间步长。
1.2 GVF模型
原始的Snake模型在应用中被证明存在着一些性能上的缺陷,比如Snake曲线不能很好地收敛到凹陷轮廓处,针对这一问题,文献[7,8]基于光流场原理,提出了一种GVF(梯度矢量流)模型。在迭代计算Snake曲线坐标前,通过求解偏微分方程组以获得GVF场,在迭代中用GVF场替代(5)式中的
(5Eext5Eext)项,使该模型能搜索到凹陷轮廓边缘。,GVF场是
5Xt5Yt
矢量场vv(x,y)=[u(x,y),v(x,y)](u(x,y),v(x,y)为指向轮廓边缘的矢量,以下分别简写为u,v),它的最小化能量泛函可表示为:
ε=
2
[μ(u∫∫
2x
+uy+vx+vy)+|f(x,y)||vv-f(x,
(6)
2222
y)|]dxdy
其中,第一项起平滑作用,ux,uy,vx,vy分别为u,v对x,y
的偏导数,参数μ是调整参数,它根据图像噪声的强弱设置,噪声越大,μ值越大,f(x,y)是图像I(x,y)的一个边缘图像:
© 1994-2011 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
1470 计算机应用2007年
大能量场的作用范围,对噪声也有更强的鲁棒性,还能够更好地引导变形曲线进入图像中的凹陷区域,因此能够解决贪婪模型对凹陷轮廓提取效果不佳的缺陷。
对mvv进行规范化,规范化公式如下:
(10)norm(mvv)=(min-mvv)/(max-min)
式中min为mvv中的最小值,max为mvv中的最大值。按照上述能量计算方法找到控制点8邻域中能量最小的点,以该点坐标作为控制点的移动位置,完成一次迭代。改进算法框架如图1所示。
了实验。CMU数据库是CamegieMellon大学在2001年建立的一个步态图像数据库,它包含了25个人以不同速度在不同方向上的行走视频图像。图3(a)为库中提供的原图,图3(b)为采用背景消减法和边缘检测后得到的轮廓边缘,图3(c)为本文提出的改进Snake模型在图3(b)的基础上搜索到的边缘,得到的边缘光滑且较完整。
图1 算法框架
2.2 图像预处理
由于步态图像的背景往往比较复杂,存在着很多干扰因素,影响对人体轮廓的提取;而Snake模型是一种针对图像边缘进行提取的方法,在干扰因素较多的环境中对边缘的搜索比较困难。因此,有必要在原图像中先提出人体的粗略轮廓线,然后再采用Snake模型对轮廓线进行较精确的搜索。
采用背景消减法对CMU数据库[10]提供的原图像进行轮廓提取,得到的粗糙轮廓如图2(a)所示,该轮廓背景中存在着比较多的噪声点,甚至人体部分也出现了比较严重的断裂,这将影响Snake曲线对轮廓的搜索。对该图像采用数学形态学中的膨胀、收缩、填充等操作使轮廓边缘平滑并填充内部空洞。选取图像中的最大目标,这样可以去除背景中的噪声点,得到的人体轮廓,如图2(b)所示。对经过上述操作处理的图像采用边缘检测算子检测轮廓边缘,作为Snake模型的搜索目标。为了加快程序运行速度,转换图像尺寸为200×200(原图像为486×0)。2.3 初始轮廓的选取
在Snake模型中,选取与真实边缘接近的初始轮
图3 比较结果
对某一轮廓的收敛过程如图4所示。图4(a)中内部曲
线(浅色细线)为采用边缘检测算子在二值图像上检测到的人体边缘轮廓,外部椭圆(深色粗线)为设定的初始轮廓。(b)~(e)表示初始轮廓逐步收敛过程中的不同阶段,分别为迭代至60次、100次、200次以及250次的结果。从图中可以看出,在迭代过程中,Snake曲线逐步向真实边界靠近。当Snake曲线上的控制点满足式(11)时,判断曲线能量达到最小值,迭代结束。
图4 收敛过程
ptsmoved ptsmoved为每个控制点在其8邻域内可移动至的位置个 数,如图5所示。i为当前控制点所在位置,数字1~8表示8邻域位置,若有三个位置处能量比当前位置能量小,则可移动至的位置个数为3,以此类推。threshold为设定的阈值,一般为2。(f)为最终搜索到的轮廓边缘线,从(f)中可以看出,最终得到的轮廓线光滑、完整,修补了原轮廓线上的缺口。 图2 对粗糙轮廓进行形态学处理前后对比 廓能更好地收敛到边缘位置。由于步态图像为视频序列图 像,除第一帧以外,其他帧均可采用其上一帧图像检测到的边缘作为初始轮廓线。本文采用椭圆为第一帧图像的初始轮廓。 图5 控制点位置i及其8邻域 在对运动轮廓提取时,理想的目标是获得单一连通的完整轮廓块,二值化图像中非连通的子块数目越少,越完整地提取了对象的轮廓,因此,考察二值图像中子块数目的多少可以作为衡量分割效果的一个标准;此外,因遮挡、消减、噪声等因素影响,二值化图像中运动目标区域内不可避免地出现信息 3 实验 为了验证算法的有效性,本文在CMU[10]数据库上进行 © 1994-2011 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 第6期李潇等:基于改进蛇模型的步态轮廓提取 共选取30个样本。识别结果如表2所示。 表2识别率的比较 轮廓提取算法背景消减法正确识别率 86.67% 1471 丢失,反映到二值化图像上,表现为原本灰度为1(白)的部分 出现灰度为0(黑)的信息丢失区。对于信息丢失的图像,可采用人工法进行修补,人工法虽然烦琐且工作量大,但是它却能够完整真实地提取运动目标轮廓。因此,可以以人工法提取的运动目标轮廓作为参考,通过考察各种算法提取的有效轮廓面积与人工法提取的有效轮廓面积之比,即有效面积比,来衡量各种算法获得有效信息的能力。 分别采用背景消减法、本文改进算法,对同一序列图像进行运动目标轮廓提取。实验结果如图6,图7所示,K为图像序列帧数,J为子块数目,R为运动目标有效面积比。 本文算法 100% 从表2中可以看出,与采用背景消减法得到的轮廓相比较,本文提取出的轮廓能有效地提高正确识别率,达到较好的识别效果。 4 结语 基于轮廓提取步态特征是目前步态识别最主流的方法,本文将GVF模型运用到步态轮廓提取中,在背景消减法得到的残缺轮廓基础上搜索到了较精确、完整的轮廓边缘,并改进算法提高了其收敛速度。算法实现简洁,需调整的参数少,在运动目标追踪、运动目标检测和基于步态的生物特征识别等领域可以获得有效运用。 在噪声存在条件下,算法搜索边缘时产生的误差会累积,影响到收敛结果,使边缘的搜索不精确。这是我们下一步研究工作将要解决的问题。致谢:本文实验所涉及的步态数据资料来源于CarnegieMellon大学CMU步态数据库,在此对该数据库的建立者表示感谢。 图6 运动目标的子块数目比较 参考文献: [1] LIPTONAJ,FUJIYOSHIH,PATILRS.Movingtargetclassification andtrackingfromreal2timevideo[J].IEEETransactionsonWork2shopApplicationofComputerVision,1998:8-14. [2] TOYAMAK,KRUMMJ,BRUMITTB,etal.Wallflower:princi2 plesandpracticeofbackgroundmaintenance[A].Greece,1999.255-261. [3] 李海明,陈新,吴芳,等.复杂背景下运动目标的光流区域提取方 In:Proceedings Kerkyra, ofInternationalConferenceonComputerVision[C]. 图7 运动目标有效面积比的比较从图6中可以看出,采用本文改进算法提取出的运动目标轮廓对应的子块数目大为减少,只有单一子块,目标提取比较完整;从图7中可以看出,由改进算法得到的运动目标有效面积比明显高于由背景消减法得到的有效面积比,提取的轮廓更加接近人工法提取的轮廓。 本文采用GVF模型和贪婪算法相结合,有效地提高了程序的运算速度,在Pentium(R)1.99GHz/248MRAM/ WindowsXp/Matlab6.1平台下完成对轮廓的迭代搜索实验, 法[J].福州大学学报(自然科学版),2001,29(4):101-103. [4] 徐晓刚,于金辉,马利庄.复杂物体轮廓提取[J].中国图象图形 学报,2001,6(5):455-459. [5] KASSM,WITKINA,TERZOPOULOUSD.Snakes:activecontour models[A].259-268. [6] 陈文娟,石民勇.蛇模型的综述[J].北京广播学院学报(自然科 InProceedingsofthe1stInternationalconferenceon computerVision[C].London.IEEEComputerSocietyPress,1987. 采用GVF模型和采用改进后的模型对一帧图像进行迭代的运算时间如表1所示。 表1 程序运算时间的比较模型名称 GVF模型 迭代次数 150次150次 运算时间/s 105.781057.7500 学版),2003,10(2):17-25. [7] PRINCEJL,XUC.Anewexternalforcemodelforsnakes[A].In Proc.1996ImageandMultidimensionalSignalProcessingWorkshop[C].1996.30-31. [8] XUC,PRINCEJL.Snake,shapesandgradientvectorflow[J]. IEEETransactionsonImageProcessing,1998,7(3):359-369.[9] WILLIAMS,DJ,SHAHM.Afastalgorithmforactivecontours [A].ComputerVision,1990. Proceedings,ThirdInternational Conferenceon4-7Dec[C].1990.592-595. [10]GROSSR,SHIJ.TheCMUmotionofbody(mobo)database[R]. TechnicalReportCMU-RI-TR-01-18,CarnegieMellonUni2versity,2001. [11]SARKARS,LIUZ,ROBLEDOI,etal.TheHumanIDGaitChal2 lengeProblem:DataSets,Performance,andAnalysis[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,2005,27(2):162-177. 本文提出的改进算法 实验中,除第一帧图像的初始轮廓为椭圆外,从第二帧图像开始,采用当前处理图像的前一帧中迭代所得轮廓线作为初始轮廓。因此,由于第一帧图像的初始轮廓离实际轮廓较远,Snake曲线收敛到实际边缘需要的迭代次数较多。以图4为例,需要250次左右,而其余帧的初始轮廓离实际轮廓比较接近,一般只需要60次左右的迭代即可收敛到实际边缘,除第一帧图像外,平均一帧图像的迭代时间为23.2143s。 为了更好地说明轮廓的完整封闭性对识别效果的影响,本文采用基准识别方法 [11] 分别对背景消减法得到的轮廓和 本文改进算法得到的轮廓进行了识别。实验中测试了CMU库中快速行走方式下的15个人。以单个人的单个行走周期为一个样本,在每个人的行走序列中选取两个周期,15个人 © 1994-2011 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务