一种自动提取目标的主动轮廓法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第31卷第5期 光 子 学 报 V o l.31No.5 2002年5月 ACTA PHOT ONICA SINICA M ay2002
一种自动提取目标的主动轮廓法
李熙莹 倪国强
(北京理工大学光电工程系,北京100081)
摘 要 提出一种新的广泛应用于数字图象分析和计算机视觉的主动轮廓(Snake)模型,引入作用方向可以自适应变化的外加强制力,使控制点能够不依赖于初始轮廓而快速地收敛
到目标的真实轮廓;初始轮廓自动确定;控制点的数目可以自适应地改变;能够在背景比较
复杂的图象中实现对目标轮廓的提取.用该模型对空中目标的红外图象进行的实验结果表
明其具有很好的鲁棒性和实用性.
关键词 主动轮廓法;Snake;红外图象;轮廓提取
0 引言
主动轮廓模型又称为Snake模型,是由Kass 于1987年提出的1,它融合了分割过程的三个阶段,使得检测得到的目标边界就是一光滑连接的曲线.其主要思想是定义一个能量函数,在Snake由初始位置向真实轮廓逐渐靠近时,寻找此能量函数的局部极小值,即通过对能量函数的动态优化来逼近目标的真实轮廓.此能量函数主要由内部能量函数及外部能量函数组成.内部能量函数考虑包络本身的连续性和各点曲率的大小;外部能量函数则主要涉及到图象的一些具体情况,如图象灰度变化的梯度等因素.
Kass的Snake模型中,用参量表示轮廓线v(s)=(x(s),y(s))(s为轮廓弧长),其能量函数定义为
E*snake=∫10E snake(v(s))d s
=∫10[E int(v(s))+E image(v(s))+E con(v(s))](1)式中,E int表示主动轮廓线的内部能量,也叫内部力;E image表示图象作用力产生的能量,也叫图象力;E con表示外部限制作用力产生的能量,叫约束力.后两项和称为外部能量E ext=E image+ E con.内部力起到平滑轮廓、保持轮廓连续性的作用;图象力表示轮廓点与图象局部特征吻合的情况;约束力是各种人为定义的约束条件.
Kass的算法存在要求外力可微、不稳定、控制参量无法确定、计算量大和时间开销大等缺点.
Amini2、William s3等人改进了Kass的算法,引入硬强制力,且大大提高了运行速度(Amini的算法运算量为O(m3n)Williams的Gr eedy算法运算为O(mn),m为迭代的领域大小,n为Snake控制点的数目).不过,它们仍存在一些问题,如迭代效果依赖于初始轮廓点的选取;控制点在迭代中向高曲率边缘堆积;控制点数目固定不变,不能随目标大小变化调节等.有许多研究者针对原始Snake的缺点进行了模型改进或算法改进,如对角点判定的阈值选取方法加以改进、按照一定的规则调节控制点间距、采用不同的图象特征能量模型4,5等,不过对于初始轮廓点依然敏感或运算比较复杂。
本文以William的Greedy算法为参考,提出了一种自动的主动轮廓法(Auto-Snake),引入作用方向可自适应变化的外加强制力,从而使控制点能快速地收敛到目标的真实轮廓,不依赖于初始轮廓;初始轮廓自动确定,无需人工干预;控制点的数目可以自适应地改变;明确了各个参量的选择.该算法不仅继承前人算法的优点,而且保证算法快速收敛,适用于多种场合,在背景比较复杂的图象中也可以实现对目标轮廓的提取.
1 K ass的主动轮廓法能量模型
Kass和Snake模型中,内部能量可表示为轮廓对弧长的一阶导数项v s(s)和二阶导数项v ss(s)
的组合
E int=(( (s) v s(s) 2+ (s) v ss(s) 2)/2(2)
式中,一阶项系数 控制轮廓的连续性约束,若较小,则内部力对轮廓的连续程度不敏感,在轮廓线存在缺口时,将有较大的值;二阶项系数 控制平滑程度约束,若较小,则内部力对轮廓的平滑程度不敏感,其在轮廓线曲率变大时将有较大值,在一点为0时允许Snake变得二阶不连续并演变成一个角点.
图象力为直线、边缘和界限能量的线性组合为
E image=W line E line+W edge E edge+W term E ter m(3)
式中各项均可以从图象I(x,y)算出.W line、W edge和W term为特征系数,E line是线能量,等于图象亮度(灰度)E line=I(x,y);通过线性特征系数W line的正负,可以使Snake靠近亮线或暗线.E edge 是边缘能量,也可由一个非常简单的函数表达,即E edge=- I(x,y) 2;边缘特征系数W edge控制对轮廓所在区域的强度梯度的约束.E term是用高斯函数平滑过的图象中各级轮廓线的曲率,由曲率特征系数W edge决定其影响.
式(1)的离散形式可以写为
E*Sn ake= n i=1[E int(i)+E ext(i)](1)式中n是Snake控制点的数目.用有限差分 v i-v i-1 逼近弧长的一阶导数项v s(s),用有限差分 v i+1-2v i+v i-1 逼近弧长的二阶导数项v ss(s),即可得到E in t(i)的离散形式.
2 自动Snake算法
本文提出的用于红外图象的自动分割的主动轮廓法的能量函数(离散形式)为
E= n i=0[E int(i)+E image(i)+E cont(i)](5)式中,n为控制点数目.
第一项为Snake的内部能量,E int(i)= (i)・E int1(i)+ (i)E int2(i).E int1和E int2分别对应于式(2)中的一阶项和二阶项,即一阶连续性强制力和二阶连续性强制力. (i)与 (i)分别为离散的一阶项和二阶项系数.在Kass的算法中,使用 v i -v i-1 2作为E in t1的离散近似会造成曲线收缩,并使控制点汇聚到轮廓线中曲率高的部分,所以这里采用以下离散近似形式
E int1= d-- v i-v i-1 (6)式中d-是各控制点间的平均距离.这样,接近平均距离的那些点将拥有较小能量值,从而促使轮廓线上的各点趋于均匀分布.二阶连续性强制力E int2仍采用Kass形式,即
E int2= v i-1-2v i+v i+1 2(7)这里,为了平衡各项的影响,E int1(i)和E int2(i)分别除以其在领域中的最大值归一化到[0,1]区间.
第二项E image控制图象特征,E image(i)= (i)E mag(i),E mag(i)为图象梯度幅度能量, (i)为梯度幅度系数.由于要提取目标轮廓,于是仅采用梯度幅值作为图象力,使图象梯度大处(可能为目标边缘)能量小.图象中每一点的梯度幅值为整数,取值在0~255之间.为了突出梯度幅值的作用,采用类似E int1的归一化方法是不行的.这里,对每一个控制点(该点的梯度幅值为mag),寻找其邻域内的最大和最小梯度幅值max mag和minmag,用公式(minmag-m ag)/(maxm ag-minmag)来归一化图象力.此外,对于领域内梯度幅值接近的情况,为避免图象力产生大的差异,规定如果maxm ag-minmag<5,则令最小值minmag=max mag-5.
原始的主动轮廓模型的一个主要缺点就是Snake对初始位置的依赖性很大,当初始轮廓离目标较远时,往往收敛到局部最小值,而不是真实轮廓.这里,采用了一个外加的控制力E cont= (i)E r(i)(E r(i)为距离能量, (i)是系数),在控制点距离目标边缘较远时驱动控制点快速地向真实轮廓靠近,从而使Snake不依赖于初始位置的选取.
外加的控制力是这样设计的:以所有控制点的重心为轮廓中心(X c,Y c),计算控制点及其邻域点到中心的距离r,控制力E cont的大小与1/r2(= E r)成正比,E cont的方向(符号)由控制点是否在目标内决定——若在目标内,则向外移动,距离r变大,符号为正;反之向内移动,r变小,符号为负,即控制点在目标外时推动其向目标内移动,而控制点在目标内时向目标外移动;此外,使E cont在控制点远离目标边缘时起作用,而接近边缘时不加考虑.这里,auto-snake算法通过取邻域内象素灰度值平均值再根据门限判断其系数 ,从而决定了E cont的方向和在能量计算中的影响.
由于红外图象中目标区与背景区一般有比较明显的灰度差别,目标区与背景区在边缘处有一
607
5期 李熙莹等.一种自动提取目标的主动轮廓法