您好,欢迎访问三七文档
Snake,Shape,andGradientVectorFlow姓名:崔光民学号:I201122047专业:计算机应用技术Snake,Shape,andGradientVectorFlowChenyangXu,StudentMemberIEEE,andJerryL.Prince,SeniorMember,IEEE摘要Snake,即活动轮廓,广泛地用于计算机视觉和图像处理应用,特别对于配置对象的轮廓。但是对于凹轮廓怎么进行初始化、怎么向它收敛,这两个问题仍然影响这个方法的应用。本文提出了把新的外部力(externalforce)引进到活动的轮廓,以解决上述两个问题。这个外部力叫梯度向量流(gradientvectorflow-GVF),以灰度的梯度向量扩散或者图像的二值边缘映射。这种外部力跟传统的snake外部力根本不一样,因为传统的snake外部力不能写成某种保守函数的负梯度。除此之外,与这种外部力对应的snake,不是由别的公式,而是由平衡力条件直接构成。把这个方法用于二维(2D)对象和三维(3D)对象,这实验证明了GVF方法的捕捉范围比较大,而且让snake变形到凹轮廓。索引活动轮廓模型(Activecontourmodels),可变型的曲面模型(deformablesurfacemodels),梯度向量流(gradientvectorflow),图像分割(imageprocessing),外形表现和向量(shaperepresentationandvector),snake。1.前言Snake[1],即活动的轮廓,是在图像领域中定义的曲线,它受到内部力(internalforce)和外部力(externalforce)的影响。内部力是由曲线本身引起的,而外部力是用图像资料进行计算的。内部力和外部力使得snake适应对象轮廓或者图像的特征。Snake用于很多方面:例如,边缘检测[1]、形态模型化[2],[3]、分割[4],[5]、运动跟踪[4],[6]。按文献,把活动轮廓可以分成两个类:参数活动轮廓(parametricactivecontours)[1]和几何活动轮廓(geometricactivecontours)[7]-[9]。本文仅关注参数活动轮廓。参数活动轮廓在图像内部产生一种参数曲线,并且使它向想要的特征,例如边缘,变形。一般,这种变形是由保守力引起的。保守力是势函数的负梯度。除此以外,类似于压力的其他力跟保守力在一起构成外部力。以外,还有内部力保持曲线。对参数活动轮廓算法,存在两个难题。第一,是要在边缘附近进行初始化,否则会收敛到错结果。有若干方法,它包括多重分辨率方法[11]、压力方法[10]和距离势力[12]。这思路用于增加外部力的捕捉域并使得曲线向想要的轮廓变形。第二,是很难把活动轮廓向凹地方拉开。有若干方法提出来,例如压力方法(pressureforces)[10]、控制点方法(controlpoints)[13]、领域适应(domain-adaptivity)[15]、指向性吸引方法(dirctionalattraction)[14]和solenidal方法,但是不能解决这个问题。但是,大多数方法仅解决了某一个问题,却造成新的问题。例如,多重分辨率方法涉及捕捉域的问题,但是没提出怎么向别的分辨率过去。至于压力方法,它把曲线向凹轮廓推进,但是不能太强推,否则“弱”边缘会断裂[17]。还有,为了推出或者推进,要进行初始化,这时,初始化条件很严格。本文,对上述两个问题,提出了活动轮廓模型中的新形式的外部力。它叫做梯度向量流(GVF-gradientvectorflow),是把某种能量函数最小化的密度大的向量场。用一双可分离的篇微方程式求这个最小化问题的解,它使得灰度或者由图像算出来的二值化边缘映射的梯度向量扩散。以GVF作为外部力的活动轮廓叫做GVFsnake。这种外部力跟传统的snake外部力根本不一样,因为传统的snake外部力不能写成某种保守函数的负梯度。因此,它不能用标准能量最小化方式表示,但是能用平衡力条件直接表示。GVF的一个特点是对初始化不太敏感,并且稳定地收敛于凹轮廓。从本文容易看出,在对象内部初始化也可以,在外面也可以,穿过对象也都可以。和压力方法不同,GVFsnake不需要关于变形方向的先验(prior)信息,也就是说膨胀还是收缩。还有,GVFsnake的捕捉域很大。这个区域是用扩散处理求得的,不使得边缘模糊,所以不需要多重分辨率方法。与GVF的思路最接近的外部力模型是Cohen和Cohen[12]的距离保守力。与GVF一样,采用图像的边缘映射并提供很大的捕捉域。但是,和GVF不一样,把snake不能推进凹轮廓去。可见,采用与GVF类似的非保守外部力,是活动轮廓模型的以后研究方向。注意,本文的部分内容出现在会议论文[18]中。2.背景1)参数snake模型(ParametricSnakeModel)传统的snake以曲线()[()()][]表示,这个模型在图像的空间域最小化如下的函数𝐸∫1210[𝛼|′()|2+𝛽|′′()|2]+𝑬ext(())𝑑(1)这里,𝛼和𝛽是分别控制snake张度和刚性,′()和′′()分别表示关于的一阶、二阶偏导数。外部能量函数𝐸ext由图像导出,以使得它在边缘类似的特征有更小的值。灰度图像𝑰()是连续位置变量()的函数,并且传统的外部能如下𝑬ext(1)()−|∇𝑰()|2(2)𝑬ext(2)()−|∇[𝐺σ()∗𝑰()]|2(3)让活动轮廓推向阶梯边缘[1],这里,𝐺σ()是带有标准偏差σ的二维Gaussian函数,∇是梯度算子。如果图像只包括线图形(白色上的黑色),适当的外部力会包括下列的公式[10]𝑬ext(3)()𝑰()(4)𝑬ext(4)()𝐺σ()∗𝑰()(5)从这些定义,容易看出,σ越大,轮廓也越模糊。但是这么大的σ也会用于增长活动轮廓的捕捉范围。使得函数E最小化的snake满足Euler方程式αx′′(s)−βx′′′′(s)−∇𝑬ext。(6)可以把它看成一种力平衡方程式𝐅int+𝐅ext(p)(7)这里,𝐅intαx′′(s)−βx′′′′(s),𝐅ext(p)−∇𝑬ext。内部力𝐅int阻止拉伸和弯曲,而外部保守力(externalpotentialforce)𝐅ext(p)把snake推向理想的图像边缘。为了得到公式(6)的解,引入除了s以外,还依赖时间t的函数,也就是(),以让snake动态。下次,函数x的偏导数由公式(6)算得,如下:𝐗𝑡(s)αx′′(s)−βx′′′′(s)−∇𝑬ext。(8)当解𝐗(s)稳定的时候,𝐗𝑡(s)项消失,可以得到方程式(6)的解。把方程式离散化,并把它的离散系迭代解下去,可以得到方程式(8)的数值解(cf.[1])。一般来说,确定snake模型的时候,大多采用下列的两个参数中的一个;一个是乘以𝐗𝑡,以控制时空间步长大小(temporalstep-size)的,另一个是乘以∇𝑬ext,以允许单独控制外部力的强度。本文中,我们把外部力规则化,以使它的最大值为一,并且在所有的是实验,采用单位的时空间步长大小。2)传统snake的情况图1给出了传统snake的例子。图1(a)给出了U-型对象的64×64像素的线图形,它上面有凹轮廓。图片上还有表示传统snake(𝛼.6𝛽.)的迭代过程的曲线序列,它的初始化在对象的外面而在保守力场的捕捉区域内进行。保守力场为𝐅ext(p)−∇𝑬ext(4),σ.像素时的结果如图1(b)。用snake公式的Euler方程式求得图1(a)的最后解,但凹区域仍保持分离。Snake粗收敛的原因在图1(c)中说明了,图片上给出的是凹轮廓里面的外部力场。虽然外部力正确指向对象的边缘,但是在凹轮廓的内部,却指向水平的相反方向。因此,活动轮廓向U-型对象的“手指”部分拉开,但是不能向凹里的部分前进。这里没有参数𝛼和𝛽能解决这个问题。关于传统snake公式重要的另一个问题是捕捉区域的限制,通过图1(c),很容易看出这点。图中,我们能看到外部力的大小在边缘附近很快消失。在方程式(5)中,σ增大的时候,区域也增长,但是轮廓的细节越来越模糊和不清楚,最后对于太大的σ,凹部分本身最终被抹去。Cohen和Cohen[12]提出了一种外部力模型,这个模型明显地增加了传统snake的捕捉区域。这些外部力是某种势函数的负梯度,这种势函数由Euclidean(或者chamfer)距离映射计算。这些力叫距离保守力,以区别于第二节A中说明的传统保守力区分。图2给出了基于保守力的snake工作性能。图2(a)给出了U-型对象,同时给出了一系列的轮廓,显示snake从离对象很远的初始到最后状态怎么变化。图2(b)上,在离对象很远的地方,距离保守力的向量的大小仍然很大,这说明了基于这种外部力模型的捕捉区域为什么那么大。从图2(a),容易看出,这种snake也仍然不能收敛到轮廓的凹部分。把距离保守力放大到图2(c),仔细观察,可以说明这个原因。可以看到与传统保守力一样,这些力仍然指向水平的相反方向,也就是说能把snake拉开,而不能拉到凹轮廓的里面。可见,Cohen和Cohen的修正方法是对距离映射进行非线性变换[12],只能变更力的大小,而不能变更它的方向。因此,关于收敛到凹轮廓的问题,用距离保守力也不能解决。3)一般化的平衡力方程式图1(a)和2(a)上的两种snake解分别满足关于该能量模型的Euler方程式(6)。因此,收敛到对象函数(1)的局部最小会产生很粗的结果。有学者直接用平衡力方程式定义snake,得到了这个问题的解,这里把标准外部力𝐅ext(p)换成更一般化的外部力𝐅ext(g):𝐅int+𝐅ext(g)。(9)𝐅ext(g)的选择对snake的实行和行为有很大影响。一般来说,外部力𝐅ext(g)可以分成两个部分:静态和动态。静态力由图像数据计算,所以在snake过程中保持不变。标准snake保守力是静态外部力。动态力在snake过程中会发生变化。本文提出了新形式的静态外部力,它不随时间的变化,也不依赖snake本身的位置。Helmholtz理论主张把最一般的静态向量场分成两个分量:无旋(curl-free)分量和无源(divergence-free)分量。静态无旋场由势函数的梯度表示,所以外部保守力在平衡力方程式以静态无旋的形式出现。因此,允许包含无旋和无源这两个分量,就可以得到更一般的静态场。本文提出了一种更合适地设计外部力场的方法,这个力场包含期望的两个特点,即更大的捕捉域,以及存在指向凹轮廓的力。推到的公式产生外部力场,这个力场会包含无旋和无源这两个分量。3.梯度向量流Snake上述方法以snake设计的出发点,采用了平衡力方程式(7)。下面,提出了新的静态外部力场𝐅ext(g)𝐯(),这个力场叫gradientvectorflow(GVF)场。由式(8)得到下面的方程式𝐗𝑡(s)αx′′(s)−βx′′′′(s)−𝐯(10)满足上面的方程式的参数曲线,叫GVFsnake。与传统snake一样,经过离散化和迭代,可以求数值解。1)边缘映射首先定义由图像𝑰()导出的边缘映射𝑓()(edgemap𝑓()),它的特点是在边缘附近更大。可以采用在图像处理文献提到的任何一种灰度映射或者二值边缘映射(cf.,[20]);例如,可以采用𝑓()−𝑬ext(𝑖)()(11)这里,𝑖234。本文中,边缘映射的三个特点非常重要。第一,边缘映射的梯度∇𝑓带有指向边缘的向量,在边缘上垂直于边缘。第二,这些向量只在离边缘很近的地方有较大的大小。第三,在各向同性的区域,就是说𝑰()近于常数的区域内,∇𝑓也近于零。考虑以边缘映射的梯度作为外部力,对传统的snake,会产生什么样的影响?因为第一个特点,如果在边缘附近进行初始化,那条snake就在离边缘很近的地方稳定。这是想要的性
本文标题:Snake--Shape--and-Gradient-Vector-Flow(报告)
链接地址:https://www.777doc.com/doc-2342095 .html