基础矩阵和本质矩阵

基础矩阵(Fundamental Matrix)和本质矩阵(Essential Matrix)是计算机视觉和立体视觉中极为重要的几何概念,它们分别描述了两个不同视点(通常是双目相机或连续拍摄的两张图像)下的点对之间的几何关系。

基础矩阵(Fundamental Matrix, F)

基础矩阵 F 是一个 3x3 的矩阵,它描述了在两个不同视点下观测到的同名点对之间的约束关系。在理想情况下,一对共轭的图像点(即立体匹配成功找到的对应点对)必须满足如下关系:

p 2 T F p 1 = 0 p_2^T F p_1 = 0 p2TFp1=0

其中 ( p 1 ) ( p_1 ) (p1) 和 ( p 2 ) ( p_2 ) (p2)分别是左、右相机图像上的齐次坐标点。基础矩阵 F 由两幅图像的相对运动参数(旋转和平移)确定,但不包含相机的内参数(如焦距、主点等)。它有七个自由度,因此,至少需要提供至少包含四个对应点对的数据才能唯一确定一个基础矩阵。

本质矩阵(Essential Matrix, E)

本质矩阵 E 是基础矩阵的一个特殊情况,专门用于双目相机或多视图立体视觉的情况。本质矩阵同样是一个 3x3 的矩阵,但它是在知道相机内参数(焦距、主点坐标相同且相机光轴平行)的基础上定义的。本质矩阵描述的是两个相机光心连线(基线)和三维空间中同名点构成的平面之间的关系。

本质矩阵由相对姿态(旋转矩阵 R 和平移向量 t)派生而来,具体形式可以表示为:

E = t × R E = t_\times R E=t×R

其中, ( t × ) (t_\times) (t×)是一个由平移向量 t 衍生出的反对称矩阵。

本质矩阵有五个自由度,因为它不包含相机的尺度信息,且受到旋转向量 r 的正交约束(r 的长度固定为单位长度)。与基础矩阵相似,通过至少四对匹配点可以估算出本质矩阵,并且通过分解本质矩阵可以得到相对姿态参数 R 和 t。

总的来说,基础矩阵和本质矩阵都是为了关联两个不同视点的图像点,从而为三维重建提供必要的几何信息。在实际应用中,例如在双目立体视觉中,往往先估计本质矩阵,然后进一步分解得到相机的姿态参数。而在不知道相机内参数的情况下,需要先计算基础矩阵,随后通过内参数进行转换以得到本质矩阵。

基础矩阵(Fundamental Matrix)和本质矩阵(Essential Matrix)的求解通常依赖于图像中的特征点匹配。以下是它们各自的求解步骤概述:

基础矩阵的求解

输入:
  1. 两幅图像中互相匹配的特征点对集合,每个点对表示为 (p1, p2),其中 p1p2 分别为第一幅图像和第二幅图像中的二维点,用齐次坐标表示。
求解过程:
  1. 八点法(8-point algorithm):是最常用的求解基础矩阵的方法之一,它需要至少4对匹配点。通过最小化满足基础矩阵约束的误差函数,可以求得基础矩阵的解。

  2. DLS(Direct Linear Solvers)TLS(Total Least Squares) 方法:这两种方法尝试解决因匹配点噪声而导致的问题,寻找最优的基础矩阵。

  3. RANSAC(Random Sample Consensus) 或其他迭代求解方法:对于含有大量错误匹配点的情况,可以使用RANSAC算法来找出最有可能正确的基础矩阵。

具体步骤:
  • 收集足够数量的匹配点对。
  • 应用上述方法之一,解算出满足约束条件的矩阵F。
  • 对于得到的矩阵,验证其秩为2,且满足基础矩阵的约束条件(即对于所有的匹配点对,满足 ( p 2 T F p 1 = 0 ) ( p_2^T F p_1 = 0 ) (p2TFp1=0))。

本质矩阵的求解

输入:
  1. 两台相机的内参数矩阵(焦距、主点坐标等),记为 K1K2
  2. 两幅图像中互相匹配的特征点对集合。
求解过程:
  1. 首先,使用上述基础矩阵的求解方法,基于匹配点对计算基础矩阵 F

  2. 通过相机内参矩阵将基础矩阵转换为本质矩阵 E,公式为:
    E = K 2 T F K 1 E = K_2^T F K_1 E=K2TFK1

    或者在两个相机具有相同内参数的情况下:
    E = K − T F K − 1 E = K^{-T} F K^{-1} E=K−TFK−1

  3. 对得到的 E 矩阵进行进一步处理,例如奇异值分解(SVD)来获取相机的旋转矩阵 R 和平移向量 t(注意:还需要进行一定的规范化处理以确定唯一的旋转和平移解)。

在实际应用中,由于噪声的存在和匹配点的不确定性,通常会结合RANSAC等算法来优化求解过程,筛选出符合模型的最佳匹配点集,并据此估计出最可靠的基础矩阵和本质矩阵。

相关推荐
AI的探索之旅2 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
拉你进_教堂2 天前
小龙虾技能之【Parkinson‘s & Epileptic Behavior Recognition Skill | 帕金森癫痫行为识别技能】简介
人工智能·计算机视觉·多模态大模型·openclaw小龙虾技能
PascalXie2 天前
人形机器人的“眼睛“:多目视觉方案怎么选?
计算机视觉·机器人
普密斯科技2 天前
替代传统影像仪,摄像头磨切片测量新方案实测
计算机视觉·集成测试·测量
YOLO数据集集合2 天前
天空红外小目标检测数据集 | 红外小目标 天空目标检测 无人机检测 鸟类识别 低空安防9099期
人工智能·目标检测·计算机视觉·目标跟踪·无人机·无人机视角·直升机检测
微三云 - 廖会灵 (私域系统开发)2 天前
企业大模型应用工程化思考:跳出 Demo 陷阱,构建「业务‑资产‑Agent」三层落地架构
人工智能·矩阵·重构
江屿风2 天前
【认识深度学习】【深度学习分类与计算机视觉任务要点解析】流食般投喂
大数据·人工智能·深度学习·计算机视觉·目标跟踪·自然语言处理·语音识别
tryxr2 天前
矩阵的几种基础变换
java·数据结构·算法·矩阵
浔溺2 天前
al+大数据每日学习笔记41
opencv·计算机视觉