一、三维视觉概述:从二维图像到三维世界的跨越

1.1 我们为什么要做三维视觉?

说实话,我入行这么多年,被问得最多的问题就是:

「二维图像已经能做人脸识别、目标检测了,为什么还要折腾三维?」

这个问题,我当年也问过我的导师。

他给我举了个例子:你让一个二维视觉系统去抓取桌上的杯子,它只能告诉你「杯子在像素坐标(320, 240)的位置」。但机械臂需要知道的是——杯子距离基座多远?杯口朝哪个方向?抓取力该用多大?这些,二维图像给不了。

说白了,二维视觉看到的是「投影」,三维视觉理解的是「本体」。

我在做自动驾驶项目时遇到过一件事:一辆车的摄像头明明检测到了前方的行人,但因为没有深度信息,无法判断行人距离车辆是5米还是50米。结果紧急制动系统误触发,差点造成追尾。嗯,这就是典型的「看到了,但没理解」。

核心认知:三维视觉不是二维视觉的替代品,而是它的「升维」——从像素级的感知,走向物理级的理解。

1.2 三维视觉到底在解决什么问题?

我个人习惯把三维视觉的任务拆成三个层次:

  1. 感知层:从传感器数据中恢复三维结构。比如用双目相机算深度,用激光雷达打点云。
  2. 理解层:给三维数据赋予语义。比如这个点云是「路面」,那个网格是「车辆」。
  3. 推理层:基于三维理解做决策。比如「前方障碍物距离太近,需要绕行」。

你想想看,这三个层次其实对应了人类的视觉系统:眼睛看(感知)、大脑认(理解)、身体动(推理)。

我在做AR导航项目时,最头疼的就是「感知层」和「理解层」之间的鸿沟。明明重建出了很漂亮的三维地图,但算法就是分不清哪是墙、哪是地板。后来我换了个思路——把语义信息直接嵌入到重建过程中,效果反而好了很多。

1.3 从二维到三维:跨越了什么?

这个问题,我建议你从「信息维度」的角度去理解。

维度 二维图像 三维数据
空间信息 像素坐标 (u, v) 三维坐标 (x, y, z)
尺度信息 相对尺度(近大远小) 绝对尺度(真实米制)
遮挡关系 无法直接获取 可通过深度排序
几何属性 边缘、纹理 法向量、曲率、体积

说白了,二维图像丢失了一个最重要的信息——深度。而深度,恰恰是连接「视觉」和「物理世界」的桥梁。

我曾经踩过一个坑:用单目相机做三维重建,结果重建出来的模型比例完全不对——一个杯子看起来跟房子一样大。为什么?因为没有尺度信息。后来我加了IMU做尺度恢复,才解决了这个问题。

避坑指南:如果你刚开始接触三维视觉,建议先从「带深度传感器的数据」入手(比如RGB-D相机、激光雷达),等理解了三维数据的特性,再挑战「从单目图像恢复三维结构」这种更难的课题。

1.4 课程目标:你能学到什么?

这门课的目标很明确——让你从「会用三维工具」变成「理解三维原理」。

具体来说,学完这门课,你应该能做到:

  • 理解核心算法:SFM、SLAM、立体匹配、点云配准、网格重建……这些算法背后的数学原理和工程实现,你都能讲清楚。
  • 动手搭建系统:从传感器标定、数据采集,到三维重建、语义分割,再到场景理解,你能独立搭建一套完整的三维视觉pipeline。
  • 解决实际问题:遇到「重建精度不够」「语义分割不准」「SLAM漂移」这类问题,你能快速定位原因并给出解决方案。

我个人觉得,学三维视觉最忌讳的就是「只调包,不调参」。你想想看,如果连PnP算法为什么比EPnP更稳定都说不清楚,那遇到项目中的坑,你根本不知道怎么填。

1.5 学习路径:我建议你这样走

这门课一共30章,我把它分成了四个阶段:

  1. 基础篇(第1-8章):数学基础、相机模型、传感器原理、坐标系变换。这部分很枯燥,但绕不过去。
  2. 重建篇(第9-16章):SFM、立体匹配、点云处理、网格重建。你会亲手从零实现一个三维重建系统。
  3. 理解篇(第17-24章):语义分割、实例分割、场景图生成、动态场景理解。这部分是「三维+AI」的交叉领域。
  4. 实战篇(第25-30章):SLAM系统搭建、AR应用开发、自动驾驶感知、工业检测。全是真实项目案例。

我的建议是:不要跳着学。尤其是基础篇,很多同学觉得「相机模型有什么好学的」,结果到了后面做标定,连内参矩阵和外参矩阵的关系都搞不清楚。嗯,我当年也犯过这个错。

重要提醒:三维视觉的学习曲线比较陡。前几章可能会让你觉得「这跟三维有什么关系」,但请坚持住。等你真正理解了「三维空间中的几何约束」,你会发现所有算法都是相通的。

1.6 本章知识体系

下面这张图,是我梳理的「三维视觉知识体系」。你可以把它当作整个课程的地图:

三维视觉知识体系 传感器输入 数学基础:坐标系 · 变换 · 优化 核心算法 SFM · SLAM · 立体匹配 · 点云配准 · 网格重建 语义理解:分割 · 识别 · 场景图 应用场景 自动驾驶 · AR/VR · 机器人 · 工业检测 · 数字孪生 数据流方向

这张图其实揭示了一个规律:三维视觉的每一层都依赖下一层。传感器数据不准,后面的算法再牛也白搭。基础数学没搞懂,核心算法就是黑盒子。

所以,我的建议是:踏踏实实走完每一层。不要急着跳到应用层去调API,先把底层逻辑吃透。

1.7 写在最后

三维视觉这条路,说难也难,说简单也简单。

难在它涉及的知识面太广——数学、计算机视觉、图形学、传感器技术、甚至机械控制。简单在它的核心思想其实很纯粹——用几何约束去理解物理世界。

我做了十年三维视觉,最大的体会是:不要被算法名字吓到。什么SFM、ICP、NDT,拆开来看,无非就是「找对应点」+「解方程」这两个步骤。

好了,第一章就到这里。从下一章开始,我们会正式进入数学基础。别怕,我会用最「人话」的方式讲给你听。


公众号:蓝海资料掘金营,微信deep3321