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

相关推荐
夜思红尘7 小时前
算法--双指针
python·算法·剪枝
散峰而望7 小时前
【算法竞赛】C++函数详解:从定义、调用到高级用法
c语言·开发语言·数据结构·c++·算法·github
CoderCodingNo7 小时前
【GESP】C++五级真题(贪心思想考点) luogu-B4071 [GESP202412 五级] 武器强化
开发语言·c++·算法
我有一些感想……7 小时前
An abstract way to solve Luogu P1001
c++·算法·ai·洛谷·mlp
前端小L7 小时前
双指针专题(三):去重的艺术——「三数之和」
javascript·算法·双指针与滑动窗口
weixin_468466858 小时前
YOLOv13结合代码原理详细解析及模型安装与使用
人工智能·深度学习·yolo·计算机视觉·图像识别·目标识别·yolov13
智者知已应修善业8 小时前
【求等差数列个数/无序获取最大最小次大次小】2024-3-8
c语言·c++·经验分享·笔记·算法
kylezhao20199 小时前
C# 语言基础(变量、数据类型、流程控制、面向对象编程)
开发语言·计算机视觉·c#·visionpro
LYFlied9 小时前
【每日算法】LeetCode 416. 分割等和子集(动态规划)
数据结构·算法·leetcode·职场和发展·动态规划
多米Domi0119 小时前
0x3f 第19天 javase黑马81-87 ,三更1-23 hot100子串
python·算法·leetcode·散列表