1. 概述

在本篇文章中,我们将回顾计算机视觉中的两个核心概念:基础矩阵(Fundamental Matrix)与本质矩阵(Essential Matrix)。

这两个矩阵在描述图像对之间的几何关系中起着至关重要的作用,是实现各种计算机视觉算法(如三维重建、相机标定、图像校正等)的基础。

2. 基础矩阵与本质矩阵的数学原理

基础矩阵和本质矩阵是立体几何中常用的两个工具,用于描述两个图像之间的几何关系。这种关系可以来源于双目相机,也可以是单目相机在不同位置拍摄的图像。

假设我们有同一场景的两张图像,并且知道一些在两图中对应的点。例如,图像 A 中的点 x′₁, x′₂, x′₃, x′₄ 对应图像 B 中的点 x″₁, x″₂, x″₃, x″₄

corresponding points

基础矩阵和本质矩阵包含了相机之间相对位置和方向的信息,这些信息可以从这些对应点中提取出来。

这两个矩阵都是 3×3 的齐次矩阵,且秩为 2。这种秩的缺失用于表达所谓的共面约束(coplanarity constraint),其数学表达如下:

(1)
x′ᵀ F x″ = 0
(2)
x′ᵀ E x″ = 0

其中:

  • 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 等任务至关重要。


原始标题:Difference Between Fundamental Matrix and Essential Matrix