文档介绍:Snake模型是一种可变形模型,可变形模型提供了一种高效的图像分析方法。结合了几何学,物理学,以及近似理论。它通过从样本图像中获得图像的先验知识,比如,大小,形状等,对待处理图像进行目标的分割与检测。
    可变模型分为参数可变形模型和几何可变形模型,参数可变模型以显式的参数描述物体轮廓曲线或曲面,此类可变形模型允许模型进行随时的人机交互,并且表述紧凑,利于算法的实时性的实现。而几何可变形模型则是基于曲线演化理论以及水平集方法实现的,曲线的参数仅在在模型变形之后用于显示。Snake就是一种参数可变形模型,也称为参数活动轮廓模型(Active Contour Models).
Snake模型在ROI(感兴趣区域)中定义了带有能量参量的样条曲线或曲面,在外部能量参量和内部能量参量的共同作用下,初始曲线或曲面会发生形变,逐渐逼近目标轮廓,在能量最小的时候得到目标轮廓曲线或曲面。
  二维情况下,带有能量参量的样条曲线可表示为:  C(r)= (x(r),y(r))   r ∈[0,1];
曲线的能量定义如下:
             
 
          其中,曲线C的一阶导数项控制着曲线的伸缩,称为弹性能量项;曲线C的二阶导数项控制着曲线的弯曲,称为刚性能量项。
    而一阶导数项和二阶导数项共同组成了曲线的内部能量,α(r)和β(r) 决定弹性能量和刚性能量的大小。曲线的外部能量则是由
  图像能量和约束能量构成。一般图像能量是从图像数据中获得的,比如灰度,灰度梯度等。如图像I(x,y)的图像能量可有如下描述公式:
           
               
其中G(σ)是标准差为σ的的二维高斯函数,k(r)是权重系数。σ决定了图像的平滑效果,σ越大,目标的轮廓线会越模糊,轮廓的范围越大,这样会更方便的检测到轮廓。而约束能量则是在和用户交互的时候确定的,使模型根据特征能更有效的检测到目标的轮廓。
              由变分原理及欧拉公式可得,使能量E(snake)最小化的曲线应满足下面的式子:
                                   
 
              我们可以将Snake模型和物理中的力学模型结合,将上式看成是平衡力等式,
                                    Fint  + Fext = 0
          其中,内力
                                      Fint = α(r)C'(r)- β(r)C''(r)
                    外力          Fext = -▽Eext
                 为求出能量最小方程的解,可加入时间参量t,使模型动态化,即C(r),变成C(r,t),即需求解偏微分方程:
                                      
              当C(r,t)收敛到轮廓线时,就不再变化,此时其关于时间t的导数为0,即可变为上述方程。
            Snake模型的力学解释
            若从力学的角度对Snake模型进行