核心思想
两个核心概念:
-
可微泊松求解器:已知带法向的点云,求出其indicator function(每一点是是在外面还是在里面),继而可通过marching cube求出mesh。(实质是把泊松求解的过程可微化了)
-
SAP:这样,带法向的点云配合可微泊松求解器,就可以作为一种3D shape的representation。
- 比如,传统的neural implicit representation常用occupancy funciton作为3D representation。 即用一个函数来表达3维表面,该函数将实空间任意一点,映射到01之间,表示在表面的里/外(前/后)。(后续可以通过marching cube求出mesh)
- 而SAP就是用带法向的点云来表达三维表面。后续通过可微泊松求解器求出隐式场,再通过marching cube求出mesh。
为什么可微就这么重要呢?因为这样他就可以用optimizer去优化,来抵抗传统泊松法向敏感的问题。
- 比如我们传统的泊松求解,需要已知法向,但如果点云质量不好,法向也就很不准,对结果质量有较大影响。
- 那可微的话怎么解决这个问题呢,作者提出2种可能的方式。
两种应用举例
Optimization-based 3D Reconstruciton from unoriented point cloud
输入无法向点云target,通过优化,输出隐式场进而得到mesh
- 用一个球体的带法向点云p作为初始化,这样他就有法向,可以用可微泊松求解器求出隐式场,进而得到mesh)
- 将mesh sample一下,和输入的无法向点云求loss
- 用这个loss反向传播,不断迭代,来优化p
Learning based 3D reconstruction from unoriented point cloud
- 如前文所述,传统方法如occupancy network,求的是一个函数,将实空间任意一点映射到01之间,来表达三维表面。网络是二分类网络,用来拟合这个函数。
- SAP是用带法向点云表达三维表面的形状,故网络需要学到的就是带法向的点云。
- 所以网络可以设计为,输入无法向带噪音点云,输出offset和normals,即将其位置调整得更好,同时输出法向。后续就可以用可微泊松求解器和marching cube求出mesh。
- 有趣的是,每个点可以求多个offset,有点上采样的意思。作者发现越多offset效果越好。
SAP的优势和局限性
- 传统方法inference很慢。SAP就很快。
- 传统方法难以初始化(整个实空间的函数),而SAP直接能拿原始输入点云作为初始化,导致他收敛速度很快。
- 质量更高。SAP和原始输入对比作为loss,可以得到更多细节。
问题: cubic memory 。只能应用于较小场景。
其他细节
在optimization-based method中,最终的mesh结果是256^3的精度,oriented points 有20000个。
在learning-based method中,输入点云点的个数是2500-3000 (似乎是因为可以上采样一下。)