三维重建基础:从单目到多目、主动与被动方法、结构光在其中的定位与优势
三维重建是计算机视觉与光学测量交叉领域的核心命题,其目标是从二维图像或光学信号中恢复物体表面的三维几何信息。在工业检测、逆向工程、医疗整形、AR/VR、自动驾驶等场景中,三维点云或深度图的精度、速度与鲁棒性直接决定了应用系统的上限。本章将从成像模型出发,梳理单目、双目、多目视觉的数学本质与工程局限,对比主动与被动两类方法的适用边界,进而明确结构光技术在精度、成本与实时性之间的独特平衡点。
上图从方法论维度将三维重建划分为被动与主动两大阵营。被动方法依赖环境光或物体自身纹理,通过图像特征匹配计算深度;主动方法则通过投射可控光源(激光、红外点阵、条纹)主动标记空间位置,从而降低匹配歧义。结构光属于主动方法中“面结构光”分支,它不像激光线扫描那样逐点逐线获取数据,而是通过一次投影覆盖整个视场,在速度与精度之间取得了工程上最实用的平衡。
2.1 核心原理:从三角测量到编码策略
所有光学三维重建的几何基础都是三角测量原理。以双目视觉为例,两个相机从不同视角观察同一空间点P,该点在左右图像上的投影坐标分别为pL和pR,视差d = |pL - pR|。根据相似三角形关系,深度Z与视差d成反比:Z = f·B/d,其中f为焦距,B为基线距。结构光技术将其中一个相机替换为投影仪,投影仪投射已知编码图案,相当于“已知特征”的虚拟相机,从而将匹配问题从“图像特征匹配”转化为“编码解码问题”。
结构光编码策略可分为三类:时间多路复用编码(如相移法、格雷码)、空间邻域编码(如De Bruijn序列、随机点阵)、直接编码(如连续灰度/彩色梯度)。时间编码精度最高,但需要投射多帧图案,适用于静态场景;空间编码单帧即可重建,适合动态场景但分辨率受限。实际工业产品常采用“格雷码+相移”混合方案:格雷码提供相位级次,相移提供亚像素级相位精度。
2.2 判断方法:如何选择合适的三维重建方案
在实际项目选型中,需要从精度、速度、成本、环境鲁棒性四个维度进行权衡。下表给出了主流方法的量化对比,可作为方案初筛的依据。
| 方法类型 | 精度范围 | 单帧速度 | 硬件成本 | 弱纹理鲁棒性 | 典型场景 |
|---|---|---|---|---|---|
| 单目SfM/深度学习 | 毫米~厘米级 | 实时(推理) | 低(单相机) | 差(依赖纹理) | 手机AR、无人机测绘 |
| 双目/多目视觉 | 0.1mm~1mm | 实时(GPU加速) | 中(双相机+标定) | 差(无纹理区域失效) | 机器人导航、自动驾驶 |
| 激光线扫描 | 0.01mm~0.1mm | 慢(逐线扫描) | 高(精密运动平台) | 优(主动标记) | 逆向工程、精密测量 |
| ToF相机 | 1mm~10mm | 实时(30fps) | 中(红外光源+传感器) | 优(不受纹理影响) | Kinect、工业避障 |
| 结构光(面投影) | 0.02mm~0.5mm | 0.1~30fps | 中(投影仪+相机) | 优(主动编码) | 工业检测、人脸扫描 |
选择流程建议遵循以下步骤:首先判断被测物体是否具有丰富纹理——若为纯色塑料、金属反光面或人体皮肤,应优先考虑主动方法;其次评估精度需求——亚毫米级精度基本排除ToF和单目方案;再次考虑场景是否允许多帧采集——若物体静止,可采用时间编码结构光获得最高精度;最后核算硬件预算与部署空间,投影仪+相机的体积通常大于单目或双目方案。
2.3 案例拆解:结构光在手机3D人脸识别中的工程实现
以某品牌手机前置3D深感相机为例,其核心模块包含:红外点阵投影器(DOE衍射光学元件)、红外相机(850nm)、泛光照明器(Flood Illuminator)和RGB相机。系统工作流程如下:
- 标定阶段:出厂前对投影器-红外相机- RGB相机进行联合标定,获取内参、外参及投影器与相机之间的旋转平移矩阵。标定板采用陶瓷漫反射板,在暗室中采集30组不同姿态的格雷码+相移图案,重投影误差控制在0.05像素以内。
- 采集阶段:用户面部靠近时,泛光照明器先点亮,红外相机拍摄一张低噪声图像用于人脸检测;随后点阵投影器投射约30000个红外光斑,红外相机同步采集编码图像。
- 解码与重建:通过光斑的形变程度计算视差,结合标定参数生成深度图。由于光斑图案经过DOE设计为伪随机分布,局部窗口匹配具有唯一性,即使在人脸无纹理区域(如额头、脸颊)也能稳定匹配。
- 后处理:深度图经双边滤波去除边缘噪声,再与RGB图像对齐,用于活体检测(判断是否为真人平面照片)和3D人脸模型构建。
该方案的关键指标:深度精度在30cm距离处达到0.3mm,点云密度约3万点,单帧处理时间小于50ms。工程难点在于DOE衍射效率控制(避免杂散光)和温度漂移补偿(投影器发热导致光斑位置偏移,需内置温度传感器进行实时校正)。
2.4 常见误区与总结复盘
误区一:认为结构光精度一定高于激光扫描。实际上,激光线扫描在单点精度上通常优于面结构光(0.01mm vs 0.05mm),但结构光在面采集效率上优势明显。若被测物体存在高光反射或深色吸光表面,两者都会失效,需喷涂显影剂或采用蓝光/红外波段。
误区二:忽略投影仪的非线性响应。投影仪的Gamma曲线会导致投射条纹并非理想正弦分布,直接解相会产生周期性误差。工程中必须对投影仪进行Gamma校正,或采用“三步相移+查表补偿”策略。
误区三:将结构光与ToF混为一谈。ToF通过测量光脉冲飞行时间计算距离,不依赖三角测量,因此没有基线遮挡问题,但精度受多路径干扰影响;结构光精度更高,但存在投影仪与相机之间的遮挡盲区,且对震动敏感。