和我这个普通人看一下泊松重建

Posted on 2018-07-12

三维重建这一块的先验知识我就不说了,主要有拟合法和组合法,今天我聊一下拟合法的三维重建。主要是《Poisson surface reconstruction》和《Screened Poisson Surface Reconstruction》

其中设计到的一些数学知识,比如,散度,梯度,在我的另一篇文章里会提到。

Implicit Function Fitting

为什么叫拟合法?这就不得不说到几何学中关于曲面表面的表达方式了。在一切几乎都可以用函数表达的几何学中,几何对象们都可以用函数表达,函数是定义域到值域的映射关系。而论文里又常见Equation–即方程这个词。方程是变量之间关系的等式。而隐函数,可以理解为满足了方程,而”隐藏”在方程中的函数关系。

隐式函数的图像,图像上的每个点都满足方程,但确不一定包含了满足方程的所有点。

举例:

改写为

其中

就是满足方程的一个隐函数,而

也满足。隐函数是一种对应关系,给了x,就有对应的,而隐函数是可以显化的,比如(3)(4)把y提到左边的做法,就是隐函数的显化。

隐函数是没有具体形式的,是隐藏在方程中的函数关系

为什么叫泊松重建?

回到正轨,传统的泊松重建就是在有向点云的基础上,空间中对于一个几何体表面(surface). 可以区分内外。比如泊松重建,它的效果是针对生成水密性的(watertight,我理解的就是封闭)的表面,所以就提出了一个指示函数(indicator function ), 注意下面这个图的下面那一堆Xm以及有倒三角的东西。。。利用这个指示函数的值来确定表里。

1531377405508.png

这个指示函数呢,是个分段函数。定义模型内部的值大于0,外部的值小于0,而为0的部分的等值面。提取出来就是几何目标模型的表面。

所以输入的点集是要有法向量的。说了半天,这个指示函数是怎么建立的呢?

数学预警分割线


有了具有法向的原始点集输入以后。1531378076165.png就是我们要构建的指示函数。

作者先是推演了一下指示函数的梯度和法向向量场的积分关系,然后通过给定的数据点集积分求和计算这个曲面积分。最后把这个梯度场转化为求解泊松方程,进而构建的指示函数。

其实看到这我是有点懵逼的,你指示函数都没给我呢,我怎么来求梯度场?

先是关于梯度场的一些理论性证明:

因为这个指示函数是一个分段的常函数。所以在表面边界处精确计算梯度场时,向量场会算出无穷值。所以就可以先用一个平滑滤波器对指示函数进行卷积。来计算平滑后的函数的梯度场。为了证明这个合理性,就引理证明了一下平滑后的指示函数的梯度和曲面法向场的关系。

经过很多数学性的证明。可以证明出平滑后的指示函数的梯度,和通过曲面法线场算的的向量场相等。

怎么估计这个向量呢?

现在只有点集,连曲面表面都没有啊,所以曲面积分是算不出来的,我们只有有向点集。但是作者用离散求和近似的方式去计算曲面积分。这样就算出的向量场。还记得前面的证明结论么,平滑指示函数的梯度等于平滑后表面法向场得到的向量场。

所以知道向量场后,就可以求指示函数了。

但是向量场是不可积的。所以没有精确解,只能近似,利用最小二乘估计,又引入散度算子组成泊松方程。

而求解泊松方程的过程,就找到了这个指示函数。

好了我们来总结一下:

泊松重建的关键是找到一个指示函数。指示函数的值确定了待重建目标的表里,通过求解这个指示函数找到函数值相同点,并提取出一个等值面,进而实现了重建。

作者有一个预设,且有一系列数学的证明,证明了指示函数的梯度等于结合表面法线场计算得到的向量场。这也是高斯散度理论。(理论如此,实际是求近似)

1531383077374.png

倒三角是梯度哟(希望到这里你还撑的住。)

但是,指示函数不知道,梯度不知道。

只能计算出向量场。所以应用散度算子这一媒介。转化成了一个泊松方程。

1531383254444.png

什么?你这个三角又变成正三角了?

两个三角会看着很迷惑,这是很多人学习后从入门到放弃的很大原因之一。再强调一下喽!

其中:

1531382467196.png是我们想要的函数,我们希望解出它来。

这个正三角,就是梯度的散度(也是拉普拉斯算子)

(正三角表示拉普拉斯算子–梯度的散度)。也就是1531382823012.png梯度的散度等于向量场的散度。

1531385638110.png

解这个泊松方程就能找到指示函数。方程的解采用拉普拉斯矩阵迭代求出 。

而后利用等值面提取。提取方法则是通过Marching Cube方法,但那就是另一篇文章了。

特点

  • 支持噪声和非均匀的数据
  • 有时会平滑过渡
  • 解算时间超线性(super-linea :也就是数据量越大,解算时间会更久)

还有优化后的重建方式?

具体的数学理论我已经无力再写。但在13年Tog上的一篇基于屏幕空间的泊松重建结果更好,不多说,上图:

screen_possion.png

红色的是传统泊松重建的方法,蓝色是优化后的,看最右的图像,曲线是大卫像眼部细节的剖面曲线,可以看到Screened Poisson Surface Reconstruction(蓝色)拟合的更好。

time_consume.png

效率也是没得说

2018-7.12.png

但是对于非水密性的点云重建曲面的时候,不是很合适。所以(Non-watertight reconstruction)也是他们的FutureWork之一。

extention.png

如果有机会你能读到这篇,感谢你的阅读,还有有什么不对,也欢迎指正。


蚊子再小也是肉~
本站总访问量 本站访客数