level set 介绍3

来源:互联网 发布:淘宝店铺转让 编辑:程序博客网 时间:2024/05/15 23:46

2.4 曲线演化理论

只要有较为详细介绍水平集理论的资料在提到水平集概念时都会首先介绍曲线演化的理论,为何是这样那,其实仔细想想也不奇怪,主要原因我认为就是水平集方法很好的解决了平面上曲线演化的问题,基本思想也就是上面提到的水平集的基本思想。其二就是图像分割的过程就可以理解为曲线演化的过程,正如文献[4]所提到的那样图像分割可近似的看作图像平面上,闭合曲线在各种因素作用下运动的过程,这也许就是水平集为何能很好的应用到图像分割的本质所在。

我们取曲线外法线方向作为运动方向,如图 2(a),此时演化速度最快。但仅按此标准进行曲线演化往往会出现曲线在运动过程中自身相交的现象,易导致演化失败。图 2(b)为仅按法线方向演化的结果,出现燕尾现象,理想情况如 2(c)。为不使曲线在演化过程中出现燕尾现象,通常在演化速度中加入曲线的曲率项,由于使用了曲线的曲率信息,曲线在曲率大的地方具有较高的速度,这样有效的避免了燕尾现象。

   

(a)法线运动方向                   (b)燕尾型                          (c)理想演化过程

2

描述曲线几何特征的两个重要参数是单位法矢和曲率,单位法矢描述曲线的方向,曲率则表述曲线弯曲的程度。曲线演化理论就是仅利用曲线的单位法矢和曲率等几何参数来研究曲线随时间的变形。

上面所说到曲线演化我们可以使用一下的函数来表示:C(p,t) = (x(p,t), y(p,t)) p 是任意参数化变量,t是时间变量。这也是很容易理解的,曲线我们使用C(p)来表示,而演化其实就是在各个时间上的不同状态,所以就有了上面文献中经常提到的曲线演化方程。另一方面,速度可以分解为两个方向上的和速度。根据这个原理,加入时间参数C(p,t) = (x(p,t), y(p,t)) 可按照法线和切线进行分解,则曲线的演化过程可用如下的偏微分方程表示:

                                        1

其中α 和β 是曲线切线方向和法线方向的速度函数。可证明,对于任何速度函数(α,β)总存在对应的(0,β) 保证曲线的最终演化轮廓是相等的。因为切线方向的变形仅影响曲线的参数化,不改变其形状和几何属性,也可以说,任意方向运动的曲线方程总是可以通过重新参数简化为如下的形式

                           2

其中,V(C)是速度函数,决定曲线C 上每点的演化速度。我们熟悉的较为常用的几何曲线演化方程有:

                         3

对于上式,我们可以认为是表示曲线在作用力F的驱动下,朝法线方向N以速度v演化。而速度是有正负之分的,所以就有如果速度v的符号为负,表示活动轮廓演化过程是朝外部方向的,如为正,则表示朝内部方向演化,活动曲线是单方向演化的,不可能同时往两个方向演化。

这里注意, 其实是一个函数,这就是速度函数,不同的速度函数就得到了不同的曲线演化方程,如果速度函数和曲线的曲率有关,就是我们常说的曲率演化方程:

                            4

式中的α是正值常数;k是曲线的曲率。此时如果仔细思考我们可以得到下面的结论:任意形状的简单闭合曲线[3],这里有必要说一下简单闭合曲线的含义,正如文献[3]所说的那样,简单曲线就是没有交叉点的曲线。如下图所示:

3

简单曲线在上述偏微分方程的驱动下,将会逐渐变的平滑,并逐渐收缩成一个圆点,同参数化模型中的弹性内力的变形效果非常相似。听起来好像十分的奇怪,但是让我们仔细的想一下,也就没有什么奇怪的啦,为了解释方便,我们以下图为例:

a

b

4

根据数学上曲率的定义[10],图中a处和b处的曲率显然不同,a处的曲率大于b处的曲率,则有上面的公式4,我们可以容易的得到在ab处的演化速度是不同的,速度和ab处的曲率成正比,所以a处的曲线演化速度大于b处的曲线演化速度,所以就有只要ab的速度不同,曲线在ab两处的演化速度就不同,这样演化的结果就是ab两处的演化速度变为相同。此时你可以再考虑速度的方向问题,开始时候的方向如上图箭头所示的方向,综上两个方面的考虑,我们可以断定在曲线演化的某一个阶段一定会出现下图的情形:

5

好的,此时去想的演化方向都是一致的,即此后只要考虑速度的大小即可,根据曲率的定义很容易得出,圆的曲率是处处一致的,即此时演化的速度的大小和方向都一样的,那么必然会有最后曲线演化为一个点。

此外我们熟悉的就是常量演化方程:

                          6

式中 是决定演化速度和方向的常系数。该方法和参数活动轮廓模型中气球力有相同的变形效果,会导致曲线出现尖角,可能出现拓扑结构变化。为何那,其实我们按照分析曲率演化模型的方法分析常量演化方程就很容易得到,还是利用图4 来说明,假设图4就是曲线的起点,此时曲线上的各个速度的大小和方向都是相同的,所以在演化的某个阶段肯定会出现曲线的拉伸的状态,也就会出现尖角。

原创粉丝点击