
125、3D重建基础:从多视角几何到神经隐式表示上周调试一个机械臂抓取项目,视觉模块输出的点云在桌面上飘着一层“鬼影”,抓取位姿算出来直接怼到桌面以下。排查了半天,发现不是标定板的问题,也不是深度相机坏了——是重建算法把多视角的深度图融合时,位姿估计偏差累积了2厘米,整个场景就糊了。这种问题在纯几何方法里几乎无解,你调ICP参数调到怀疑人生,最后发现换个思路,用神经隐式表示反而稳得一批。这篇笔记不打算从针孔相机模型开始念PPT,那些教科书上都有。咱们直接从“为什么传统多视角几何在真实机器人场景里会崩”切入,然后一步步拆解怎么用神经隐式表示把重建这件事做成一个可微的、能端到端优化的过程。全程带代码,带踩坑记录,带那种“我当时要是早点明白这个道理就好了”的顿悟。多视角几何的“阿喀琉斯之踵”:误差像滚雪球一样传统SFM(运动恢复结构)和MVS(多视角立体)的流程,说白了就是:提取特征点 → 匹配 → 用对极几何算本质矩阵 → 三角化出3D点 → 光束法平差(BA)优化。这套流程在理想条件下精度很高,但到了机器人场景,三个致命伤:第一,特征点匹配在弱纹理区域直接罢工。你让机械臂去抓一个白色马克杯,杯身光滑得能当镜子,ORB特征提取出来全是噪声点。就算用SuperPoint这种学习型特征,在反光表面也容易飘。第二,误差传递是“链式爆炸”。每一帧的位姿估计都依赖前一帧,哪怕单帧误差只有0.5度,累积100帧就是50度,重建出来的场景早就扭曲成抽象艺术了。BA虽然能全局优化,但计算量随帧数指数增长,实时性根本扛不住。