主动轮廓模型主要用于解决图像中目标物体的分割操作。理论上是可以解决二维乃至多维的情况,不过最初的模型是在二维图像上建立的。
1 最初的主动轮廓模型 - snake模型:提出了基于能量最小化(energy minimization)框架的曲线变形方法。
基本思想是
1)在图像中初始化一个闭合曲线轮廓。形状任意,只要保证将目标物体完全包含在曲线内部即可;
- 2)然后构建能量方程。能量方程由两部分组成。一是以规范化曲线形状为目的的项,称为内能量(internal force);一是以靠近目标物体边缘为目的的项,称为外能量(external force)。
实际效果上来说,最小化内能量使得曲线不断向内部紧缩且保持平滑,而外能量则是保证曲线紧缩到目标物体边缘时停止;
3)根据能量方程,计算出表示曲线受力的欧拉方程(Euler equation)。按照曲线各点的受力来对曲线进行变形,直至受力为0。此时能量方程达到最小值,曲线收敛到目标物体边缘。
snake的缺点是:能量方程依赖于曲线方程的参数化,不是曲线的本征(intrinsic)表示。因此不能处理变形过程中的拓扑变化,从而不能用于检测多目标的情况。
2 基于snake模型的缺点,提出的改进模型:基于mean curvature motion equation的模型。
基本思想是将图像按照曲线量化为level set函数(最常用的是signed distance function)。level-set类似于等势线,一幅图像上所有level-set值等于某个常量的点构成一个闭合曲线。
因此,t时刻的曲线可以表示为: C(t) = {(x,y): u(t,x,y) = 0}
这样的曲线表示方法不依赖于参数化,因此是曲线的本征表示。
这样就将曲线的运动转化为zero level-set函数的运动。运动方程中也包含了曲线规范项和目标吸引项,与snake不同的是,这两项是相乘的形式。其中:
- 曲线规范项是level-set运动的基本速度,其值是曲线上各点的曲率。该项同时具有"shortening"和"smoothing"的作用,相当于snake模型中两项的共同作用。
- 目标吸引项是曲线上点在图像上的梯度值的单调递减函数,一般目标的边界梯度值较大,这样运动到目标边缘时,目标吸引项会急剧减小,使得曲线停止在目标边缘处。
该模型的缺点:曲线停止在目标边缘的条件是运动到边缘时速率为0,而这只在理想情况下才出现。因此曲线容易越过边界运动到物体内部。
3 Geodesic Active Contours:建立了上述两种模型之间的联系,并在第二种模型的基础上进行了改进,使得曲线可以停止在目标物体边缘。
首先论证了snake模型中,曲线规范项的第二项(曲线的二阶微分项)系数可以为0,这样的模型得到的结果与之前的snake模型相同。
然后证明了最小化这样的模型的能量方程等效于最小化欧式空间中某个曲线的加权长度值。最小化欧式空间中曲线的长度相当于snake模型的曲线规范项,而每个点的权值则是由该点处的图像梯度值决定的,也就是说这相当于目标吸引项。
最后将曲线的运动方程转换成为zero level-set函数的运动方程,得到的结果与2中结果相似,只是多了一项,该项可以保证曲线在目标边缘附近的运动方向总是指向边缘的。(因为不会在这里插入公式,就不详细说了,具体的可以看上面的那篇文献)。
来源:http://blog.sina.com.cn/s/blog_6ccd0a1101010ut4.html