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

相关推荐
YuTaoShao2 小时前
【LeetCode 热题 100】141. 环形链表——快慢指针
java·算法·leetcode·链表
一只小灿灿3 小时前
前端计算机视觉:使用 OpenCV.js 在浏览器中实现图像处理
前端·opencv·计算机视觉
小小小新人121233 小时前
C语言 ATM (4)
c语言·开发语言·算法
你的冰西瓜4 小时前
C++排序算法全解析(加强版)
c++·算法·排序算法
এ᭄画画的北北4 小时前
力扣-31.下一个排列
算法·leetcode
荔枝味啊~5 小时前
相机位姿估计
人工智能·计算机视觉·3d
qq_526099135 小时前
图像采集卡选型详细指南
数码相机
绝无仅有5 小时前
企微审批对接错误与解决方案
后端·算法·架构
一起搞IT吧5 小时前
相机Camera日志实例分析之五:相机Camx【萌拍闪光灯后置拍照】单帧流程日志详解
android·图像处理·数码相机