level set
水平集的思想是将演化的曲线看成高一维(三维曲面)函数的零水平集,这样,曲线的演化过程就可以用三维曲面在不同水平高度的投影的集合表示。演化过程可以用三维的符号距离函数(SDF)来描述,SDF方程在某种条件下属于Hamilton–Jacobi类型的偏微分方程,因而SDF方程的求解类似于Hamilton–Jacobi的求解,借助双曲型偏微分方程的熵守恒(entropy-satisfying schemes)求解模型,求解此SDF方程,能够实现自动处理曲线演化过程中出现的拓扑结构上的变化,如曲线的角点,演化中出现的交汇、分叉等等。
1水平集方法基本原理
假设是Ω2R空间内的开区域,其边界为Ω∂。定义其上的图像为,又假设为上的演化曲线,所包围的区域为0uRu→Ω:0CΩω,也即有:Ω⊆ω,ω∂=C,定义高一维函数为上的随时间变化的符号距离函数Ωdtyx±==)0,,(φ,其中是时刻的点到曲线上最近点的距离,d的符号取决于点的位置,如果点位于曲线内,则取负号,如果点位于曲线外,则d取正号,如果点恰好位于曲线上,则为零。随着时间的变化,d0=t),(yx),(yx),(yxd),(yx),(yxddty,函数的零水平集将跟踪曲线的演化过程。
为求解以上方程,对其两边求取的导数,得到: tφφ∇=∂∂Ft
初始条件为),()0,,(0yxyxφφ=,其中}0),(|),{(0=yxyxφ的点集合给出了初始水平集的位置。为演化曲线在点处的演化速度,其方向点处曲线的外法线向量的方向。如果只与),(yxF),(yx),(yxF),(yxφφ有关,则此方程即为标准Hamilton-Jacobi方程。
Osher的水平集方程具有很多优点,(1):只要F保持光滑,),,(tyxφ就会是一个光滑函数。因而在曲线C的演化过程中,其拓扑结构是由零水平集自动更新实现的,演化过程中曲线的拓扑结构可能发生变化,曲线可能交汇、分叉,不需要人为控制其拓扑结构,如图3.1 所示,曲线的汇合、分叉是自动进行的。(2):曲线的几何特性可以很容易的通过水平集函数C),,(φ得到,例如曲线C上点处的法线向量即为),(yx),,(tyxφ的梯度,其方程为:φ∇=nv;而曲线C上点处的曲率即为点处单位法向量的散度,可以通过式(1)求得: ),(yx),(yx2/32222)(2divyxxyyxyyxyxxKφφφφφφφφφφφ++−=⎟⎟⎠⎞⎜⎜⎝⎛∇∇= (1)
(3):以上公式很容易由二维直接推广到三维。方便直接对三维数据进行分割。