1. 概述
在本篇文章中,我们将回顾计算机视觉中的两个核心概念:基础矩阵(Fundamental Matrix)与本质矩阵(Essential Matrix)。
这两个矩阵在描述图像对之间的几何关系中起着至关重要的作用,是实现各种计算机视觉算法(如三维重建、相机标定、图像校正等)的基础。
2. 基础矩阵与本质矩阵的数学原理
基础矩阵和本质矩阵是立体几何中常用的两个工具,用于描述两个图像之间的几何关系。这种关系可以来源于双目相机,也可以是单目相机在不同位置拍摄的图像。
假设我们有同一场景的两张图像,并且知道一些在两图中对应的点。例如,图像 A 中的点 对应图像 B 中的点
:
基础矩阵和本质矩阵包含了相机之间相对位置和方向的信息,这些信息可以从这些对应点中提取出来。
这两个矩阵都是 3×3 的齐次矩阵,且秩为 2。这种秩的缺失用于表达所谓的共面约束(coplanarity constraint),其数学表达如下:
(1)
(2)
其中:
- F 是基础矩阵
- E 是本质矩阵
- x′ 和 x″ 是同一空间点在两张图像中的投影坐标
这些共面约束方程对所有对应点都必须成立。
这两个矩阵通常是未知的,但可以通过一组对应点来估计。最常用的方法是 八点算法(Eight-point Algorithm),它至少需要 8 对对应点来直接估计 E 或 F。使用更多点可以提高估计的准确性。
✅ 一旦 F 或 E 被估计出来,就可以用于在图像之间搜索更多的对应点。
3. 基础矩阵与本质矩阵的区别
核心区别在于它们所编码的信息类型不同。
3.1 本质矩阵(Essential Matrix)
本质矩阵 E 描述的是两个相机之间的相对旋转和平移关系,即相机的姿态变化。它是一个纯几何的矩阵,不依赖于相机的内参(如焦距、主点等)。
✅ E 描述的是空间点在左相机坐标系下的坐标,如何通过旋转和平移映射到右相机图像上的坐标。
3.2 基础矩阵(Fundamental Matrix)
基础矩阵 F 在 E 的基础上,还包含了两个相机的内参信息。因此,F 描述的是图像像素坐标之间的映射关系。
✅ F 适用于未标定的相机(即不知道相机内参的情况下),而 E 适用于已标定的相机。
3.3 自由度(Degrees of Freedom)
- F 有 7 个自由度
- E 有 5 个自由度
这是因为 E 不考虑相机内参,自由度更少。
4. 应用场景
这两个矩阵在计算机视觉中有着广泛的应用,以下是一些典型场景:
✅ 结构从运动(Structure from Motion)
通过多个视角的图像重建三维场景结构。本质矩阵可用于估计相机之间的相对姿态,进而用于三角化重建三维点。
✅ 相机标定(Camera Calibration)
基础矩阵可用于估计相机的内参(如焦距、主点等),从而进行图像畸变校正(如径向畸变、切向畸变)。
✅ 图像校正(Image Rectification)
将双目图像投影到一个共同的图像平面上,简化立体匹配过程。基础矩阵可用于计算校正所需的单应变换(homography)。
5. 小结
基础矩阵和本质矩阵是计算机视觉中两个非常重要的几何工具:
对比项 | 基础矩阵(F) | 本质矩阵(E) |
---|---|---|
是否包含内参 | ✅ 包含 | ❌ 不包含 |
使用场景 | 未标定相机 | 已标定相机 |
自由度 | 7 DoF | 5 DoF |
主要用途 | 图像匹配、校正、标定 | 三维重建、运动恢复结构 |
理解它们的区别和应用场景,对于实现立体视觉、三维重建、SLAM 等任务至关重要。