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
dsE
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轮廓曲线就停留在
真实的目标轮廓上,完成提取目标轮廓的任务。


发布评论