从零实战SLAM-第七课(多视角几何)

在七月算法报的班,老师讲的蛮好。好记性不如烂笔头,关键内容还是记录一下吧,课程入口,感兴趣的同学可以学习一下。


特征匹配之后,得到了特征点之间的对应关系。根据图像数据的特征,估计位姿变换的方法有以下三大类。

❖ 如果只有两个单目图像,得到 2D-2D 间的关系 ----对极几何

❖ 如果匹配的是帧和地图,得到 3D-2D 间的关系 ----PnP

❖ 如果匹配的是 RGB-D图,得到 3D-3D 间的关系 ----ICP

对极几何的示意图

其中,P为三维空间中的一个路标,P在图像𝐼1与𝐼2的投影: 𝑝1, 𝑝2;相机1到相机2的变换: 𝑇12;𝑂1𝑃,𝑂2𝑃在对方图像上的投影: 𝑒2𝑝2(𝑙2),𝑒1𝑝1(𝑙1);𝑂1𝑂2与两个图像的交点: 𝑒1, 𝑒2

以下是对极几何中几个名词术语的定义。

Epipolar Line: 𝑙1, 𝑙2; ----极线

Baseline: 𝑂1𝑂2; ----基线

Epipoles: 𝑒1𝑒2; ----极点

Epipolar Plane: 𝑂1𝑂2𝑃 ----极平面

P在两个平面上的投影关系如下

对极约束刻画了O1 O2共面的关系:

两步计算位姿:

  1. 由匹配点计算𝐸或𝐹;

  2. 由𝐸或𝐹恢复𝑅,𝑡;

本质矩阵:

八点法的数学公式:

通过奇异值分解,计算可得四个解,只有第一种是真正的解。

八点法的缺点:

❑ 纯旋转问题:𝑡 = 0时无法求解;

❑ 在特征点共面时会退化。

单应矩阵

PnP的作用:已知3D点的空间位置和相机上的投影点,求相机的旋转和平移(外参)。

常用的方法包括:Direct Linear Transform、Bundle Adjustment等

Direct Linear Transform的计算过程

Bundle Adjustment的计算过程

ICP

先求出两个点云的质心,再做计算的优化

目标公式可以简化成如下形式

ICP的主要流程简写就是如下步骤

相关推荐
此生决int8 分钟前
算法从入门到精通——前缀和
c++·算法·蓝桥杯
大大杰哥25 分钟前
leetcode hot100(4)矩阵
算法·leetcode·矩阵
小白|29 分钟前
cmake:昇腾CANN构建系统完全指南
java·c++·算法
nebula-AI29 分钟前
人工智能导论:模型与算法(未来发展与趋势)
人工智能·神经网络·算法·机器学习·量子计算·automl·类脑计算
炽烈小老头31 分钟前
【每天学习一点算法 2026/05/21】课程表
学习·算法
luoganttcc35 分钟前
大模型是否即将到达算法极限
算法
叶小鸡1 小时前
小鸡玩算法-力扣HOT100-动态规划(上)
算法·leetcode·动态规划
LuminousCPP1 小时前
数据结构 - 线性表第三篇:基于顺序表实现 C 语言通讯录(基础功能篇)
c语言·数据结构·经验分享·笔记·算法
_日拱一卒1 小时前
LeetCode:114二叉树展开为链表
java·开发语言·算法
无小道1 小时前
Redis——哈希类型相关指令
redis·算法·哈希算法