五点法求解相机的相对位姿

ref:An Efficient Solution to theFive-Point Relative Pose Problem

1. 问题描述

对极几何是算法的基础,用来描述两个相机视图之间的几何关系。

  • 基本矩阵: 一个 3x3 的秩为 2 的矩阵,包含了两个相机的内参和相对位姿(旋转 R 和平移 t)信息,满足如下方程,其中 x 和 x' 是一对匹配的特征点在两个图像上的归一化相机坐标(或像素坐标):x'ᵀ * F * x = 0

  • 本质矩阵: 一个 3x3 的秩为 2 的矩阵,假设相机已经被标定(已知内参矩阵 K),矩阵只包含相对位姿信息(R 和 t)。它与基本矩阵的关系是:E = K'ᵀ * F * K,约束方程是:x'ᵀ * E * x = 0 (这里的 x 是归一化相机坐标)

  • 最终目标:从一系列匹配点对 (x, x') 中,求解出 E 或 F,然后从 E 或 F 中分解出旋转矩阵 R 和平移向量 t。

2. 五点法原理

作为视觉SLAM领域的主流算法,非常适用于已知内参的相机(如手机、自动驾驶汽车上的相机),并且在任何场景下(包括看似"退化"的场景)都需要鲁棒估计位姿的情况。

  1. 求解本质矩阵 E:五点法专门用于求解本质矩阵 E,直接工作在已知相机内参的前提下,使用归一化相机坐标。

  2. 自由度:本质矩阵 E 有 5 个自由度(3个来自旋转,2个来自平移方向,平移的尺度无法确定),理论上最少需要 5 对匹配点来求解。

  3. 数学过程:将 x'ᵀ * E * x = 0 方程展开,虽然 E 有 9 个元素,但由于尺度不变性和内在约束(秩为 2,行列式为 0),它只有 5 个自由度,每个点对可以提供一个方程,用 5 个点构建一个线性方程组,但由于方程是非线性的,最终会转化为一个 10次方程的求解问题,最多可以得到 10 个可能的实数解。

  4. 筛选正确解:将这 10 个可能的 E 矩阵代入更多的匹配点,选择那个使得大部分点满足 x'ᵀ * E * x ≈ 0 的解。

  5. 分解位姿:从最终确定的 E 中,通过 SVD 分解恢复出 4 组可能的 (R, t) 组合。再通过点必须在两个相机前方(正深度) 的约束筛选出唯一正确的位姿。

3. 对比其他点数

  • 八点法:作为最简单的线性方法,是OpenCV视觉库的标准实现。原理是将 x'ᵀ * F * x = 0 或 x'ᵀ * E * x = 0 方程改写为关于矩阵元素的线性方程,每个点对提供一个线性方程,F 有 7 个自由度,但八点法通过最小二乘直接求解,因此,需要至少 8 个点来避免欠定问题,无法处理纯旋转或所有点共面的退化场景。

  • 七点法:使用 7 对点,可以构建一个 7x9 的矩阵,解是 2维零空间的基础向量 F1 和 F2 的线性组合:F = α * F1 + (1-α) * F2。利用 F 矩阵秩为 2 的约束 det(F) = 0,代入线性组合得到一个关于 α 的三次方程,最多可得到 3 个实数解,然后从最多3个解中筛选出正确的 F,同样无法处理退化场景。

  • 六点法:用于在已知部分运动参数的情况下,减少了自由度,从而可以用更少的点求解。比如,在平面假设下,使用 6 个点通过最小二乘来更鲁棒地估计单应性矩阵 H,然后从 H 中分解出 R 和 t

默认条件下,不同点数平移误差随噪声变化的对比结果:a. 最小值横向运动案例b. 最小值纵向运动案例c. 100点横向运动案例d. 100点纵向运动案例

相关推荐
不懒不懒5 小时前
【基于 PyQt5 + PaddleOCR 的工业视觉型号检测系统开发】
数码相机
steven_yzx11 小时前
自动驾驶相机坐标系转换
人工智能·数码相机·自动驾驶
steven_yzx11 小时前
自动驾驶相机坐标系转换2
人工智能·数码相机·自动驾驶
steven_yzx12 小时前
什么是IPM
数码相机·自动驾驶
AGV算法笔记1 天前
CVPR 2025顶级SLAM论文精读:MASt3R-SLAM如何用单目相机实现实时稠密三维重建?
深度学习·数码相机·机器人视觉·slam·三维重建·agv
格林威1 天前
面阵相机 vs 线阵相机:堡盟与海康相机选型差异全解析 附C++ 实战演示
开发语言·c++·人工智能·数码相机·计算机视觉·视觉检测·工业相机
三维频道2 天前
工业级三维扫描实测:汽车灯具复杂结构件的全尺寸 3D 测量方案分析
java·人工智能·python·数码相机·3d·汽车·汽车轻量化制造
杀生丸学AI2 天前
【动态重建】SparseCam4D:基于稀疏相机实现时空一致的4D重建技术
数码相机·aigc·扩散模型·图像编辑·视觉大模型·点云分割
爱吃巧克力的程序媛2 天前
计算机图形学---如何理解模型矩阵、视图矩阵、投影矩阵
数码相机·线性代数·矩阵
轻口味2 天前
HarmonyOS 6 轻相机应用开发4:物品分类功能实现
数码相机·分类·harmonyos