水平集(简单理解,有些其他地方看不到)(针对图像分割)

从Level-set的字面意思能够理解到,set为集合,代表了一系列点集,一个函数上满足一定条件的一系列点集。例如:{x│f(x)=x2+1=2},set为{-1,1}。Level为水平,既函数的取值,代表了f(x)的值。
用二维(x,y)表示一维(x),二维线表示一维点,{x│f(x)=x2+1=2},Level为2,set为{-1,1}。
用三维(x,y,z)表示二维(x,y),三维面表示二维线,{(x,y)│f(x,y)=x2+y2+1=2},Level为2,set为{x2+y2+1=2}。
从三维上来看,f(x,y)的值代表着曲面上的一条曲线,因此我们能够看出f(x,y)就是我们的曲线方程(这里可以理解为,我们的x、y、z统一存在一个公式时,该公式是三维曲面公式,当我们把其中一个变量提取出来,用其他变量进行表示时,我们对该变量的研究也就下降了一维,从原来的三维曲面下降到了二维曲线。)
因此我们的f(x,y)对t求导时,也就相当于我们的曲线对t求导。这里我们其实已经潜在地定义了x、y都和t相关,都是t为自变量的函数。求导的本质意义为预测该状态在变量变化的下一个状态。这里的曲线在时间变量下是在扩张或是收缩的状态,曲线对t求导,意味着曲线在该时刻变化的快慢,也就是曲线变化的速度。针对曲线的变化,其变化速度方向是曲线的法线方向(这里会有疑问,我们平时采用的y=x2,看上去也是一条曲线,为什么它的变化方向却是曲线的切线方向。同时可以从上边的描述看到,这里我没有说曲线的变化方向,因为y=x2是一元函数,其变化指点的变化方向。z=x2+y2+1是二元函数,其变化指线的变化方向。这里的变化其实是一种预测,对于y=x2来说是预测在(x+Δx)时,y的取值。对于z=x2+y2+1来说是预测在(x+Δx,y+Δy)时,z的取值。)
{(x,y)│f(x,y)=x2+y2+1=2}这里的二元函数对t求导,最后结果为带有方向的速度。没有方向的速度为标量V,这里的速度方向为曲线的法线方向N ⃗,因此我们的导数可以表示为
水平集(简单理解,有些其他地方看不到)(针对图像分割)_第1张图片

上面写了一堆,是之前写的,应该对大家有帮助,下面写点新鲜的东西。
下面的东西我在知乎也发表过,为了方便,直接粘过来。

之前讲解的level取0,那么为啥要取0和为什么最后会到0呢???我个人理解,其实这里是让我们的函数三维的没有第三维。很好被接受的形式:x2+y2+1=0。

然后我要说的是,我们在变化的时候我们的水平没有变,就是我们切面没有动,只是构造的那个立体函数上下左右前后在动。

在图像研究领域,水平集的应用大家仿佛都有意避开了一些东西,我们的三维是咋来的,这里可以展开说,第三维是从图像和先验速度为法线来的。

也就是之前我们只是一个平面的环,那么怎么变成立体的山呢???

环函数+图像梯度类信息+法线方向先验=三维的山。

这样我们应该就可以理解了,我们如何让图像控制曲线演变速度呢?用梯度信息(边缘梯度大)

如何控制演变方向呢?用最优方向,法线方向。(曲线沿法线方向变化最快)

曲线的变化方向有了,之后需要找到F,这个F就代表了曲线变化的快慢,靠近边缘变化慢,远离边缘变化快。它加上法线方向,就表示了曲线的演变。

你可能感兴趣的:(数学基础)