三维重建已经是一个被深入研究的问题,其中涉及到的知识包括基础的Multi-View Geometry(Multiple view geometry),State Estimation(State Estimation),优化理论,到图像处理/视觉中特征点检测、图形学中的几何表示和处理等等。属于Inverse Rendering的子课题。
经典的三维重建可以分为三步:
- 从多个视角的照片恢复出各视角的相机位姿,以及场景的稀疏结构——SfM
- 估计出各个视角的深度图,从而得到单视角的点云——MVS
- 融合各个视角的点云,并进行表面重建——Surface Reconstruction
这一技术路线已经有相当成熟的开源工作和产品,如Colmap,RealityCapture等。
端到端:
神经网络直接从输入图片(和相机参数)中做 SDF(Signed Distance Function:隐式表面表示),训练好网络后,用 Marching Cubes 等方法从隐式场提取三角网格
端到端方法的优势:
-
直接全局优化 → 所有参数一起训练,减少误差累积
-
细节恢复更好 → 对光照、材质变化有更强适应性
-
可扩展 → 容易加入法线、光照等附加信息(可和逆渲染结合)