从零实战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的主要流程简写就是如下步骤

相关推荐
学编程的小程3 小时前
LeetCode216
算法·深度优先
leeyayai_xixihah3 小时前
2.21力扣-回溯组合
算法·leetcode·职场和发展
01_3 小时前
力扣hot100——相交,回文链表
算法·leetcode·链表·双指针
萌の鱼3 小时前
leetcode 2826. 将三个组排序
数据结构·c++·算法·leetcode
Buling_03 小时前
算法-哈希表篇08-四数之和
数据结构·算法·散列表
AllowM3 小时前
【LeetCode Hot100】除自身以外数组的乘积|左右乘积列表,Java实现!图解+代码,小白也能秒懂!
java·算法·leetcode
RAN_PAND4 小时前
STL介绍1:vector、pair、string、queue、map
开发语言·c++·算法
fai厅的秃头姐!6 小时前
C语言03
c语言·数据结构·算法
lisanndesu6 小时前
动态规划
算法·动态规划
myprogramc6 小时前
十大排序算法
数据结构·算法·排序算法