活动轮廓模型[1](Active Contour Model)其最初是由变形模型(Deformable Model)演化而来的。而“变形模型”的概念则出现的更早。Demetri Terzopoulos在其文献[2,3]中阐述了该模型,实际上他也是经典的活动轮廓模型【1】的提出者之一。在google学术中搜索关键词“deformable models”时,会显示很多这位学者的关于变形模型的论文,这里不再赘述。
根据曲线的表示形式,活动轮廓模型大致上可以分为两类:基于参数的活动轮廓模型和基于水平集方法的活动轮廓模型。
基于参数的活动轮廓模型中,将曲线以参数的形式来表示,这是一种显式的表示方式。而在基于水平集方法的活动轮廓模型中,将曲线以高一维的水平集函数的某水平集(即等高线)来表示,这是一种隐式的表示方式。
1)、在基于参数的活动轮廓模型中,有两种模型设计方式,一种是直接设计曲线演化方程,即以动态曲线方程的形式来设计模型,另一种是以能量函数的形式来设计模型。对于后者,模型首先给出一个关于曲线的能量函数,然后最小化该能量函数时,可使曲线从初始位置开始演化。当能量函数达到最小值,即稳定状态时,曲线刚好运动到目标边界处。在求解方面,一般都是根据能量函数得到其欧拉-拉格朗日方程(Euler-Lagrange formulation)。也就是说,使该能量函数取得最小值的曲线一定满足欧拉-拉格朗日方程。其原理有些类似求一个方程的最小值一样。然后再根据欧拉-拉格朗日方程得到曲线的演化方程。虽然有两种设计形式,但最终都是得到动态曲线方程。
如最早的Snake模型[1],即是给出一个关于曲线的能量泛函:
(1)
使能量函数(1)取得最小值的曲线,一定满足欧拉-拉格朗日方程: