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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a6333230/article/details/81220636

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

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

其实之前讲解的level取0,那么为啥要取0和为什么最后会到0呢???我个人理解,其实就是让我们的函数三维的没有第三维。这样写比较方便,也很好被接受x2+y2+1=0,这样多好看。

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

大家仿佛都有意避开了一些东西,我们的三维是咋来的,这里可以摊开了说,第三维是图像来的和先验速度为法线来的。

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

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

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

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

这样就能理解了我们为什么要找F,这个F就代表了曲线变化的快慢,靠近边缘变化慢,远离边缘变化快。它加上法线方向,就表示了曲线的演变。

猜你喜欢

转载自blog.csdn.net/a6333230/article/details/81220636