主动轮廓模型

https://www.2cto.com/kf/201611/562269.html

1、主动轮廓模型

1988年,Kass等人提出了主动轮廓模型,将图像分割问题转换为求解能量泛函最小值问题,为图像分割提供一种全新的思路,称为研究的重点和热点。主动轮廓模型的主要原理通过构造能量泛函,在能量函数最小值驱动下,轮廓曲线逐渐向待检测物体的边缘逼近,最终分割出目标。由于主动轮廓模型利用曲线演化定位目标的边缘,因此也称为Snake模型。主动轮廓模型是当前应用最多的利用变分思想求解的图像分割方法。其最大优点是在高噪声的情况下,也能得到连续、光滑的闭合分割边界。按照能量函数构造方式的不同,可以将主动轮廓模型主要分为基于边缘和基于区域两类,同时也有一些研究人员提出了基于边缘和区域相结合的主动轮廓模型。

2、基于区域的主动轮廓模型

C-V是一个典型的区域主动轮廓模型,它以图像的像素灰度信息作为能量,巧妙的构造能量函数,然后通过求取能量函数的最小值,最终把目标分割出来。
假设待分割的图像为I,I0表示带分割的目标,Ib表示图像背景,C表示图像内的一条闭合曲线。则闭合曲线C把图像I分为曲线C内部区域和外部区域两个部分,其能量函数如下:
E(C)=Ein(C)+Eout(C)=∫inside(C)|I(x,y)?c0|2dxdy+∫outside(C)|I(x,y)?cb|2dxdy
Ein(C)
表示闭合曲线C的内部能量; Eout(C)表示闭合曲线C的外部能量;
I(x,y)表示图像内任一像素点的灰度;
c0表示内部区域的平均灰度;      cb表示外部区域的平均灰度用。
闭合曲线C与待分割目标的位置关系如下图所示:
https://www.2cto.com/uploadfile/Collfiles/20161105/20161105095319722.jpg
Figure 1.
闭合曲线C与待分割的四种位置关系
假设待分割图像I的背景均匀,目标内部也均匀。
(a)当曲线C位于分割曲线的外部,I(x,y)=c0,Eout(C)=0;I(x,y)≠cb,Ein(C)>0;E(C)>0;
(b)
当曲线C位于待分割目标的内部,I(x,y)≠c0,Eout(C)>0;I(x,y)=cb,Ein(C)=0;E(C)>0;
(c)
当曲线C的内部区域同时包含目标和背景,I(x,y)≠c0,Eout(C)>0;I(x,y)≠cb,Ein(C)>0;E(C)>0;
(d)
当曲线C恰好处于目标边缘时,I(x,y)=c0,Eout(C)=0;I(x,y)=cb,Ein(C)=0;E(C)=0;
因此可以通过求能量函数最小值实现图像目标的准确检测。
由于实际的图像的背景是不均匀的,并且背景和目标的对比度往往比较低,仅依靠能量函数的最小值无法准确的分割出目标。因此,ChanVese把曲线所围的面积和曲线长度作为能量项引入到能量函数中,得到C-V模型:E(C)=μL(C)+v?Area(inside(C))+λ1∫inside(C)|I(x,y)?c0|2dxdy+λ2∫outside(C)|I(x,y)?cb|2dxdy
L(C)
表示曲线C的长度;
μ表示长度系数,取值决定于被检测目标的尺寸大小,如果被检测目标较大,则μ的取值也较大,反之亦然;
Area(inside(C))表示曲线C所围的内部区域的面积;
v表示面积参数。
一般情况下取λ1=λ2=1,v=0C-V模型基于图像的能量分布,以能量函数取得最小值来驱动演化曲线向目标的边缘逼近,最终分割出目标。C-V模型摆脱了图像梯度的限制,对连续梯度或者目标边缘模糊的图像有很好的分割能力。

3、水平集方法(Level Set)

在二维平面内,显性表示的函数曲线在演化过程中无法随着目标的合并或者分裂进行拓扑变化,因此在表示目标拓扑变化方面,显性表示的二维函数曲线就无能为力。为了解决这个问题,1988年,OsherSethian用隐式参数函数表示演化曲线,进而提出了水平集方法。水平集方法的提出,最早是为了解决火苗在热力学方程下的膨胀、收缩、分裂等形状变化过程。由于水平集函数能够灵活地表示目标的拓扑变化,在图像分割邻域得到了广泛的应用。
水平集方法的基本原理是把目标曲线或者曲面作为零水平集嵌入到更高一维的水平集函数中,也即用零平面截取水平集函数得到的封闭曲线或者曲面来代替演化曲线或者曲面,随着水平集函数的变化,演化曲线或者曲面也随之改变,并能适应拓扑的变化。
在二维平面,如果隐式表示的闭合曲线为:C(x,y)=0,根据水平集原理,把此闭合曲线嵌入到三维水平集函数z=φ(x,y)中,则用z=0平面截此水平集函数的曲面,即可得到闭合曲线C(x,y)=0。如下图所示。
https://www.2cto.com/uploadfile/Collfiles/20161105/20161105095319723.jpg
Figure 1.
二维曲线的水平集表示


当三维水平集曲面z=φ(x,y)在驱动力的作用下发生变化时,其零水平集平面截得的闭合曲线C(x,y)=0也随之变化。
Mura缺陷分割中,设C-V模型的轮廓曲线为C,轮廓曲线在驱动力的作用下,随着时间的推移进行演化,可得到演化曲线集C(t)。根据水平集原理,把轮廓曲线嵌入到三维水平集函数φ(x,y,t),其零水平集可以表示为{φ(x,y,t)=0}。轮廓曲线随水平集函数演化过程如下图所示:

 

通过水平集方法推导,我们可以得到:
c0=∫ΩI(x,y)H(φ(x,y))dxdy∫Ω(1?H(φ(x,y)))dxdycb=∫ΩI(x,y)H(φ(x,y))dxdy∫ΩH(φ(x,y))dxdy?φ?t=δ(φ)[up(?φ|?φ|)+?λ1(I(x,y)?c0)2+λ2(I(x,y)?cb)2]
H(z)
Heaviside函数:
H(z)={10z≥0z<0
δ(z)
Dirac delta函数:
δ(z)=ddzH(z)

C-V模型是基于图像能量分布的,以能量函数取得最小值来驱动演化曲线向目标边缘靠近,最终分割出目标。C-V模型摆脱了图像梯度的限制,对连续梯度或者目标边缘模糊的图像有很好的分割能力。

4、改进的Chan-Vese模型

为了提高C-V模型的分割能力,把目标的平均灰度与背景的平均灰度的差的平方作为能量项加入模型中,该能量项表达式如下:Fm(c0,cb,C)=Area(inside(C))(c0?cb)2我们得到改进后的C-V模型的能量函数表达式如下:
F(c0,cb,C)==E(C)μL(C)+v?Area(inside(C))?(c0?cb)2+λ1∫inside(C)|I(x,y)?c0|2dxdy+λ2∫outside(C)|I(x,y)?cb|2dxdy

其中:?φ?t=δ(φ)[up(?φ|?φ|)+v(c0?cb)2?λ1(I(x,y)?c0)2+λ2(I(x,y)?cb)2]

3、半隐差分格式的水平集解法

由于水平集方法在图像处理领域的广泛应用,人们对水平集方法的数值实现也做了大量的研究,并且提出了许多求解方法。传统的求解方法如有限差分法,为了使轮廓曲线能够收敛至目标的边缘,一般采用较小的时间步长,导致曲线演化速度很慢。在曲线演化的过程中,零水平集表示轮廓曲线,因此可以在不更新整个水平集函数的情况下,只更新零水平集即可达到曲线演化的目的。基于此,人们又提出了许多水平集快速解法,如窄带法,快速行进法,AOS法等。
由于C-V模型的能量函数涉及了图像中所有像素点的灰度值,因此并不适合利用窄带法求解。快速行进法求解效率高,但演化曲线只能向单一的方向收敛,对于位置不定的mura缺陷分割,快速行进法应用受到了限制。AOS格式求解方法是无条件稳定,并且时间步长较大,但是求解过程中需要矩阵的求逆运算,不仅增加了运算量,还会影响分割结果的准确性。根据以上分析,本文构造具有无条件稳定特性的半隐差分格式对改进的C-V模型进行求解,在不降低模型分割能力的同时,提高分割的速度。

 

 

 

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值