跳到主要内容

3D 视觉入门【选修】

本节定位

2D 视觉主要在平面图像里理解内容。
3D 视觉再往前走一步:

不仅要知道图里是什么,还想知道它在空间里离我们多远、朝向如何、结构怎样。

这也是它和普通 CV 最大的不同。

学习目标

  • 理解深度、点云和多视角几何的基本直觉
  • 理解 3D 视觉为什么比 2D 更难
  • 通过可运行示例建立深度估计最小直觉
  • 知道 3D 视觉常见应用场景

一、3D 视觉最核心的新问题是什么?

在 2D 图像里,很多时候只关心:

  • 类别
  • 位置

3D 视觉还会进一步关心:

  • 距离
  • 体积
  • 空间结构

一个类比

2D 更像看地图截图。
3D 更像真的站在场景里,想知道:

  • 这个物体离我多远

二、几个最常见的 3D 视觉概念

2.1 深度(Depth)

每个点离相机有多远。

2.2 点云(Point Cloud)

把场景表示成很多带三维坐标的点。

2.3 多视角几何

通过多个视角之间的对应关系,恢复三维结构。


三、先看一个最小深度直觉示例

def estimate_depth(focal_length, baseline, disparity):
if disparity == 0:
return float("inf")
return focal_length * baseline / disparity


focal_length = 800
baseline = 0.12

for disparity in [40, 20, 10]:
depth = estimate_depth(focal_length, baseline, disparity)
print({"disparity": disparity, "depth": round(depth, 4)})

3.1 这个例子最想表达什么?

它抓住了立体视觉最核心的一层直觉:

  • 视差越大,通常越近
  • 视差越小,通常越远

3.2 为什么这很重要?

因为它让“图像里的点”第一次和真实三维空间联系起来。


四、3D 视觉为什么更难?

4.1 数据更难拿

2D 图片很好收集,
3D 标注和深度数据通常更贵。

4.2 几何关系更复杂

你不只是处理外观,
还要处理:

  • 相机参数
  • 视角变化
  • 空间一致性

4.3 可视化和调试也更难

二维图像错误很直观,
三维结构错误往往更难肉眼看懂。


五、最常见误区

5.1 误区一:3D 视觉只是“多一个维度”

不止。
它带来的是新的几何问题。

5.2 误区二:2D 做好了自然就能做 3D

有帮助,但仍然要补空间几何直觉。

5.3 误区三:一开始就直接上复杂 3D 网络

更稳妥的方式通常是先把:

  • 深度
  • 视差
  • 点云

这些基础直觉立住。


小结

这节最重要的是建立一个判断:

3D 视觉的核心价值,是把图像理解从平面提升到空间结构,而这也让它天然比 2D 视觉多出一层几何难度。


练习

  1. 改一改 disparity,观察深度变化趋势。
  2. 为什么说 3D 视觉比 2D 视觉更依赖几何直觉?
  3. 点云为什么是一种很自然的 3D 表示?
  4. 想一想:哪些应用特别依赖 3D 视觉,而不是只要 2D 检测就够了?