轮廓模型

  01 Jan 2015


Snake模型主动轮廓模型(蛇模型)

Snake模型是一种参数活动轮廓模型,一条可变形的参数曲线及相应的能量函数,以最小化能量目标函数为目标,控制参数曲线变形,具有最小能量的闭合曲线就是目标轮廓。首先需要在感兴趣区域的附近给出一条初始曲线,接下来最小化能量泛函,让曲线在图像中发生变形并不断逼近目标轮廓。

Kass等提出的原始Snakes模型由一组控制点:v(s)=[x(s), y(s)] s∈[0, 1] 组成,这些点首尾以直线相连构成轮廓线。其中x(s)和y(s)分别表示每个控制点在图像中的坐标位置。 s 是以傅立叶变换形式描述边界的自变量。在Snakes的控制点上定义能量函数(反映能量与轮廓之间的关系):

其中第1项称为弹性能量是v的一阶导数的模,第2项称为弯曲能量,是v的二阶导数的模,弹性能量和弯曲能量合称内部能量(内部力),用于控制轮廓线的弹性形变,起到保持轮廓连续性和平滑性的作用;第3项是外部能量(外部力),在基本Snakes模型中一般只取控制点或连线所在位置的图像局部特征例如梯度,例如梯度:,当轮廓C靠近目标图像边缘,那么C的灰度的梯度将会增大,总的能量就会变小。

缺点:

  1. 没有一种明确的方法来指导如何确定能量参数的取值(重点);

  2. 对初始位置敏感,需要依赖其他机制将Snake放置在感兴趣的图像特征附近,当初始轮廓目标较远时,往往收敛到局部最小值,而不是真是的轮廓;

  3. 很难控制曲线的拓扑变化,不能自动分裂取提取多个目标的轮廓。


测地线活动轮廓模型(Geodesic Acitve Contour Model,GAC)

算法步骤:

  1. 输入一个图像 ,利用高斯滤波法对这个原始图像进行平滑,对平滑后的图像 梯度运算,得到边缘停止函数

  2. 定义初始轮廓线;

  3. 设定迭代次数,曲线依据水平集演化方程进行演化;

  4. 设定重新初始化的次数和周期,在水平集演化过程中,周期性地对水平集进行初始化,随后按重新初始化后的水平集方程继续演化,到下次周期时再次对其重新初始化,直到满足迭代次数为止。


几何活动轮廓模型和参数活动轮廓模型的比较

参数活动轮廓模型和几何活动轮廓模型都属于变形轮廓的范畴,但是由于其基础理论和曲线的演化原理不同,它们有着不同的特点。

  • 参数活动轮廓模型用参数显式的表示曲线,这样可以结合先验知识人为的修改曲线的内部能量和外部能量,以免模型陷入局部极小值。模型通过内能控制轮廓线的连续性和光滑性,能在一定程度上克服图像的噪声和边缘狭缝。但是参数活动轮廓模型对初始曲线的选取依赖性很大,由于外力的分布特点,初始曲线的位置直接影响到最终轮廓线的准确与否。模型不能自动的实现分裂与合并,因为曲线参数只能定义一条闭合的曲线不可能将曲线分割成两条。

  • 与参数活动轮廓模型相比较,几何活动轮廓模型需要确定的参数较少,比较容易实现,能实现模型自动的拓扑改变,轮廓线能自动的进项分割和合并。但是不能在模型上实现交互的操作,不能结合先验知识。