水平集算法报告
水平集方法
水平集方法的主要思想是将不断变形的维曲线(面)作为零水平集嵌入到更高一维的维函数中,由封闭超曲面的演化方程可以得到函数的演化方程,而嵌入的封闭曲线(面)则总是保持为函数的零水平截面上的点集,因此,只要获取演化函数在零水平截面上点集的位置,也就得到了变形曲线(面)的演化结果。
如图1,一条曲线在运动过程中分裂为两条曲线,这样的拓扑结构变化不可能用一条连续的参数化曲线的运动来表示。然而,上述曲线的拓扑结构变化却可以表示成一个连续变化的曲面与一个固定的平面的交线的变化,曲面本身不发生拓扑结构的变化,从而使复杂的曲线运动过程变为更高一维的函数的演化过程。
图1
该图同时也模拟了水平集演化的过程。给定一个初始的封闭曲线,该曲线可以沿着其法线方向朝外或朝内以一定的速度演化,引入时间变量,则可以形成随时间变化的曲线族。可以把该曲线族看作是更高维空间曲面函数的零水平集,此时(水平集函数)在切面上的虚线即为隐含的曲线,其对应着二维平面上的封闭曲线。由于是以一种隐含方式来表达闭合曲线的,因此在处理该曲线的演化问题时,水平集方法并不是去追踪演化后曲线的位置,而是遵循演化规律即水平集演化方程,来不断的更新水平集函数,从而使零水平集发生变化,从而达到演化隐含在水平集函数中闭合曲线的目的。这种方式的最大优势是:即使隐含在水平集函数中的闭合曲线发生了拓扑结构的变化,水平集函数仍然保持为一个有效的函数,并存在稳定的解。同样,这一策略对于更高维度的空间同样适用。
推导过程
设是单位法向矢量,则曲线演化方程可以写为:
(1)
给定水平集函数,则时刻演化的曲线为其零水平集