2024年6月14日发(作者:)

Snake模型算法的基本思想数学模型及工作原理

Snake模型是由Kass等人首次提出的算法,广泛地应用于计算机视觉及图像处理中

的各个领域,如边缘检测、图像分割、运动跟踪等,特别应用于图像中感兴趣目标轮廓的

提取。Snake模型引入高层知识,在处理局部间断的边缘时,提取效果比传统轮廓提取方

法要好。

1 Snake模型的基本思想

Snake模型又称为主动轮廓线模型(active eontour model),其基本思想是依据图像

信息进行曲线(曲面)演化,使其最终找到目标物体的边界。这种方法将分割问题转化为最

优化问题,利用闭合曲线(或曲面)形变的特定规律,定义度量闭合曲线(曲面)形变的能量函

数,通过最小化能量函数使曲线(曲面)逐渐逼近图像中目标物体的边缘。

Snake模型能量函数的设计原则是:有利属性要能导致能量缩小。有利属性包括曲线(曲

面)连续、平滑、与高梯度区域的接近以及其他一些具体的先验知识。这样,活动轮廓在取

值范围内移动时,就能在能量函数的指导下收敛到局部边界,而且能保持曲线(曲面)的连

续和平滑。Snake模型是在曲线(曲面)本身的内力和图像数据的外部约束力作用下的移动

的变形轮廓。作用在Snake模型上的力依据轮廓所在的位置及其形状决定如何在空间局部

的变化。内力和外力的作用是不同的:内力起平滑约束作用,外力则引导Snake模型向图像

特征移动。

2 基于Snake模型的轮廓提取方法

对于传统的轮廓提取方法,首先要进行基本的边缘检测,然后进行边缘连接、二值化

之后,继而进行轮廓跟踪处理。在边缘检测时,易受局部噪声影响而产生虚假边缘,或者

是不连续的间断边缘,无法保证分割或者提取的结果就是连续光滑的闭合轮廓;此外,基于

底层信息的轮廓跟踪,一方面对二值化过程的依赖性比较大;另一方面,对于间断的边缘,

使用上述简单方法将会跟踪失败。这些都是传统计算机视觉中分层处理模型所无法解决的

问题。

Snake模型为解决轮廓提取任务提供了新的思维方法。有别于传统的轮廓提取方法,

Snake模型试图从全新的角度来实现目标轮廓提取的任务。传统轮廓提取方法通常是首先

计算图像的梯度,提取出具有较大梯度值的像素点作为边缘点,然后依据某种跟踪准则将

边缘点连接成目标轮廓线;而Snake模型采用另外的策略进行轮廓提取:一开始即建立一个

连续光滑的闭合轮廓曲线,将此曲线设置在感兴趣目标轮廓附近,在某种图像力场的作用

下将此轮廓曲线定位到图像中具有较大梯度值的区域,轮廓曲线的最终位置将是对模型相

关能量函数最小化的结果。nake模型的独特性在于:它可以通过综合利用从图像数据中得

到的限制(自底向上)和各种先验知识(自上向下),把几何、估计理论、高层知识约束联系起

来,保证提取出的目标轮廓是连续光滑的闭合曲线。

3 Snake模型的数学模型

Snake模型是在内部约束力和外部约束力作用下移动的变形轮廓线。它可以表示为定

义在s∈[0,l]上的参数曲线,即:v(s)=(x(s),y(s))。与模型相关的能量函数记为E

snake

。E

snake

定义如下:

E

snake

E

v

s



dsE

int

v

s



E

ext

v

s



0

1

(1)

E

int

为snake模型的内部能量函数,定义为:

2

1

'

2

''

E

int

v

s



v

s

v

s

ds

0

2



(2)

1

E

ext

为Snake模型的外部能量函数,定义为:

E

int

v

s



E

img

v

s



E

constaint

v

s



(3)

''

'



v

vs

在内部能量公式(2)中,、

s

分别为曲线的一阶导数和二阶导数。E

int

定义了一个

可伸长和可弯曲的轮廓(v(s))的内部变形能量,它包括两个参数: α控制轮廓的“应力”,它

是施加于Snake轮廓曲线上相邻两点的连续约束项系数,作用是调节Snake的伸缩力;β

控制轮廓的刚度。这些参数操纵着模型的物理行为和局部连续性,E

int

体现了对Snake轮

廓曲线连续性和平滑性的约束。内部能量函数中加权系数α和β的选择,与图像噪声分布有

关,噪声越大,α和β的值也应该越大,以使Snake轮廓曲线可以跨越噪声所造成的局部极

小值位置。同时,α和β的相对分布又决定着轮廓收敛的性能。由于a控制着轮廓曲线一阶

导矢模分量,α越大,轮廓收缩的速度越快;而刀控制着轮廓曲线二阶导矢模分量,β越大,

轮廓越平滑。当选择α=0时,允许Snake轮廓曲线出现间断点,即不连续的轮廓曲线。因

此,通过合理地选择α和β的值,可以使轮廓收敛至图像中比较合理的位置。

.公式(3)定义的E

ext

是外部能量函数,它决定着Snake轮廓曲线的移动方向,不同的

外部能量函数引导Snake轮廓曲线收敛到图像不同的特征区域。一般而言,外部能量函数

主要由两部分组成:图像:图像能E

img

和约束力能E

constraint

。E

img

表示由图像力产生的图像

能,它与图像特性有关,E

img

在图像的非边缘处具有较大数值,而在边缘处数值较小。这

样,由此图像能构成的Snake模型能量函数在最小化的过程中,很容易使离散化的Snake

控制点到达边缘时便不再离开边缘,完成对目标轮廓的精确定位。控制能E

constraint

表示外

部约束力能,只有在解决某种具体问题时才予以考虑。

4 Snake模型的工作原理

Snake模型是一条参数化的曲线,用来表征某种显著的图像特征(如:感兴趣的目标轮廓

等)。模型的工作原理是:在对snake模型进行适当的初始化之后,轮廓曲线在来自模型自

身的内力和来自模型以外的外力的共同约束下,进行“主动”地变形和位移。其中内力约

束轮廓曲线的形状特性,外力指导曲线的行为,将其拖向显著的图像特征。模型与某一恰

当定义的能量函数相关联,在模型向显著图像特征收敛的过程中,通过实现此能量函数的

最小化来实现提取显著图像特征的任务。snake模型的运动过程就是寻找凡*最小值的过

程。对于Snake能量函数E

snake:

2

1

'

2

''

v

s

v

s

p

v

s



ds

0

2



(4)

1

E

snake

当E

snake

达到最小化时,使用欧拉一拉格朗日方程进行求解,可以得到如下方程:

''''''



s

p

v

s



0

(5)

vs

v

从这个角度上看,能量最小化方程还可以视为力平衡方程:

F

int

F

ext

(6)

其中,F

int

表示Snake模型受到的内力作用,它控制曲线的收缩以及平滑等内部特性;

凡表示模型所受到的外力作用,外力指导Snake模型曲线收敛到真实的目标轮廓。因此可

以从力的平衡角度对Snake模型的工作原理进行解释:Snake轮廓曲线在外力F

ext

的吸引下

不断地向真实目标轮廓移动;内力F

int

在保持对snake形状约束的同时,随着Snake轮廓曲

线的移动而变化,最终内外力之和为零,达到平衡状态。此时,Snake轮廓曲线就停留在

真实的目标轮廓上,完成提取目标轮廓的任务。