一、三维重建概述

三维重建,说白了就是给现实世界拍一张「立体照片」。

我刚开始接触这个领域时,觉得它特别玄乎。后来做了几个项目才明白——它本质上就是通过二维图像或传感器数据,还原出物体的三维几何信息。你拍一张照片,得到的是像素;你拍一百张照片,经过算法处理,就能得到点云、网格、甚至带纹理的模型。

嗯,这里要注意:三维重建 ≠ 三维建模。建模是人在软件里手动捏出来的,重建是从真实数据里自动算出来的。两者有本质区别。

1.1 三维重建的定义

官方定义很绕,我用自己的话总结:

三维重建 = 从多视角图像、深度图、激光扫描等数据中,恢复物体或场景的三维几何结构与外观信息。

输出的东西通常有三种形式:

  • 点云:一堆三维坐标点,每个点带颜色或法向量
  • 网格:三角形面片组成的表面,更光滑
  • 体素:三维像素,像乐高积木一样堆叠

我个人习惯把点云当作「原始素材」,网格当作「精修成品」。项目里经常是先出点云,再转网格,最后贴纹理。

核心公式(简化版)

输入:{I₁, I₂, ..., Iₙ} 多视角图像 → 特征匹配 → 三角测量 → 输出:{P₁, P₂, ..., Pₘ} 三维点云

1.2 应用领域

三维重建不是实验室里的玩具,它已经渗透到很多实际场景中。我挑三个最有代表性的说说:

AR/VR

你玩过苹果的AR测距吗?手机扫一下桌面,就能量出长度。这背后就是实时三维重建。我在2020年做过一个AR家装项目,用户拿手机扫客厅,自动生成户型图,然后往里面摆虚拟家具。说实话,那时候精度还不够,扫出来的墙角经常是歪的。但这两年随着NeRF和深度传感器的普及,效果已经好太多了。

自动驾驶

自动驾驶车顶那个旋转的激光雷达,每秒发几百万个激光点,扫出周围环境的点云。然后算法实时重建出道路、行人、车辆的三维结构。我记得有一次调试路测数据,发现重建出来的自行车道总是少一块——后来发现是算法对细长物体处理不好。这个坑我踩过,后面讲MVS时会细说。

文物保护

这个领域我特别有感触。2021年我参与过一个敦煌莫高窟的数字化项目,用相机拍了上千张照片,重建出洞窟的完整三维模型。你想想看,那些壁画在慢慢褪色、脱落,但数字模型可以永久保存。当时我们重建一尊佛像,花了整整两周时间调参数——因为佛像表面反光太强,SFM算法老是匹配失败。最后用了偏振片才搞定。

领域 典型应用 常用技术 我的踩坑点
AR/VR 空间定位、虚拟物体放置 SLAM、深度传感器 光照变化导致特征丢失
自动驾驶 环境感知、障碍物检测 激光雷达+多视图 细长物体重建不全
文物保护 数字化存档、虚拟修复 SFM、MVS、摄影测量 高反光表面匹配失败

1.3 技术路线总览

三维重建的技术路线,我把它分成三大流派。你想想看,就像去一个地方可以坐飞机、高铁、自驾一样,每种方法各有优劣。

我的建议:初学者先学SFM,再学MVS,最后接触NeRF。别一上来就搞NeRF,数学基础不够容易劝退。

SFM(运动恢复结构)

SFM是三维重建的「老祖宗」。它的核心逻辑很简单:从一堆照片里找出共同的特征点,然后算出相机的位置和物体的三维坐标。

我曾经用SFM重建一个室内场景,拍了200张照片,跑了整整一夜。第二天一看,点云稀疏得可怜——因为墙面太白,特征点太少。后来我学乖了,拍照时故意放一些纹理丰富的物体在场景里。

SFM的典型流程:

  1. 特征提取(SIFT、ORB)
  2. 特征匹配(暴力匹配或FLANN)
  3. 几何验证(RANSAC剔除误匹配)
  4. 增量式重建(逐张添加图像)
  5. 全局优化(BA光束法平差)

MVS(多视图立体)

SFM输出的是稀疏点云,MVS的任务就是把它变密。说白了,SFM给你画了个骨架,MVS往上填肉。

MVS的核心思想是:既然知道了相机位置,那就可以在图像之间做密集匹配,每个像素都算出深度值。我做过一个对比实验:同一组数据,SFM只产出5万个点,MVS能产出2000万个点。差距就是这么大。

但MVS也有坑——它对纹理重复的区域特别头疼。比如一面红砖墙,每块砖长得一样,MVS就会匹配错乱,产生「飞点」。我曾经在项目里遇到这种情况,最后不得不手动剔除这些噪点。

NeRF(神经辐射场)

NeRF是2020年火起来的技术,它用神经网络隐式地表示三维场景。你给它一组照片,它学出一个函数:输入一个三维坐标和视角方向,输出颜色和密度。然后从任意角度渲染,都能得到逼真的图像。

我第一次跑通NeRF时,真的被震撼到了——那种从稀疏照片中「脑补」出完整细节的能力,传统方法完全做不到。但NeRF也有硬伤:训练慢(一个场景要几小时)、不能处理动态场景、对光照敏感。

避坑指南:我曾经在NeRF项目里用了低分辨率图像(512x512),结果渲染出来的细节全是糊的。后来换成1024x1024,效果天差地别。NeRF对输入质量极其敏感,拍照时一定要保证清晰度和重叠率。

1.4 技术路线对比

技术 输出类型 精度 速度 适用场景
SFM 稀疏点云 中等 相机标定、大场景
MVS 密集点云 中等 精细建模、文物扫描
NeRF 隐式场 极高(渲染) 新视角合成、AR/VR

1.5 知识体系总览

下面这张图是我自己画的,把本章的核心逻辑串起来了。你看一遍,应该能对三维重建有个整体印象。

三维重建知识体系总览 输入数据 SFM 运动恢复结构 MVS 多视图立体 NeRF 神经辐射场 稀疏点云 密集点云 隐式场/新视角 AR/VR 自动驾驶 文物保护 输入 → 技术路线 → 输出 → 应用场景 三种技术可组合使用,例如 SFM + MVS 是经典管线

这张图把本章的核心逻辑串起来了。你从输入数据出发,选择合适的技术路线,得到对应的输出,最后落地到具体应用。我个人建议初学者先走SFM+MVS这条线,因为成熟、稳定、资料多。NeRF虽然炫酷,但坑也多,等基础打牢了再碰不迟。


专注资料整理