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

相关推荐
laocui116 分钟前
Σ∆ 数字滤波
人工智能·算法
yzx99101331 分钟前
Linux 系统中的算法技巧与性能优化
linux·算法·性能优化
蜉蝣之翼❉41 分钟前
opencv如何在仿射变换后保留完整图像内容并自动裁剪
opencv·计算机视觉
全栈凯哥1 小时前
Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解
java·算法·leetcode·链表
全栈凯哥1 小时前
Java详解LeetCode 热题 100(27):LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)详解
java·算法·leetcode·链表
SuperCandyXu1 小时前
leetcode2368. 受限条件下可到达节点的数目-medium
数据结构·c++·算法·leetcode
Humbunklung1 小时前
机器学习算法分类
算法·机器学习·分类
Ai多利2 小时前
深度学习登上Nature子刊!特征选择创新思路
人工智能·算法·计算机视觉·多模态·特征选择
T.D.C2 小时前
【OpenCV】使用opencv找哈士奇的脸
人工智能·opencv·计算机视觉
Q8137574603 小时前
中阳视角下的资产配置趋势分析与算法支持
算法