04L型匹配和T型匹配的核心算法,【位姿估计 | 视觉SLAM | 笔记】常见位姿估计算法的比较 | CV中的“前端”是什么?

常见位姿估计算法

● 三角测量    得到点P的世界坐标

● PnP           求解 R和T

● ICP问题     求解 R和T

三角测量

根据前后两帧图像中匹配到的

● 特征点像素坐标

● 两帧之间的相机运动R(旋转)、T(平移)

                                                                ↓ 计算出 ↓

特征点三维空间坐标

通俗的讲,

当有两个相对位置已知的相机同时拍摄到同一物体时,

待解决问题:如何根据 两幅图像中的信息 估计出→ 物体的实际位姿,

即通过三角化获得二维图像上对应点的三维结构,这正是三角测量要解决的问题。

图1 三角测量基本原理示意图

已知量

● 相机坐标系OL与OR的关系

● 已知pl和pr 

↓求↓

点P的三维空间坐标

PnP问题 (2D-3D)

PnP(Perspective-n-Point)是根据图像中

● 特征点的二维像素坐标

● 及其对应的三维空间坐标

↓来估计↓

相机在参考坐标系中位姿

直观来讲,当相机观察到空间中的某一物体时,

已知在某一参考坐标系下的位置和姿态,

待解决问题:如何通过图片中物体的成像判断出相机此时在参考坐标系下的位姿?

即利用

● 已知三维结构

● 图像的对应关系

↓求解↓

相机与参考坐标系的相对关系(相机的外参)

PnP是一类问题,针对不同的情况有不同的解法,常见的算法有:P3P、DLT、EPnP、UPnP等。以下为DLT(直接线性变换算法)的描述

图2 PnP示意图

如图3所示,考虑空间中某个点P,

点P在世界坐标系Ow中的齐次坐标为 

P=[x,y,z,1]T

其投影到图像中的像素坐标为

p=[u,v,1]T

假设此时相机坐标系Oc与世界坐标系Ow

之间的相对位姿关系由R、T来描述,则有:

公式1

其中的 R = [r1 r2 r3] = 

T = 

即为需要求解的旋转矩阵与平移向量,两者统称为相机外参。

通过 相机的外参 可以将 

世界坐标系下的点 

↓转换到↓ 

相机坐标系下表示

通过 相机的内参 可以将

相机坐标系下的点

↓ 转换到↓ 

像素坐标系下表示

为了简化表示,暂时不考虑 相机内参(因为内参是已知且不变的),并令

并令矩阵T(3x4) = [R | T] =

则公式1式可表示为:

用最后一行把 s 消去(s=τ3*P),得到两个约束

于是有:

可以看到,

● 每个特征点提供了两个关于T34的线性约束,而T34中共有12个未知数(对应12个维度),

至少需要6对匹配点实现对T(3x4)的线性求解,即算出R和T。

● 匹配点数大于6,SVD最小二乘解

● 缺点:T矩阵看成12个未知数,忽略了他们之间的联系

ICP问题 (3D-3D)

根据前后两帧图像中

匹配好的特征点在相机坐标系下的三维坐标

↓求解↓

相机帧间运动

直观来讲,当相机在某处观察某一物体时,

已知相机此时与物体之间的相对位姿关系;

当相机运动到另一处,

我们亦知道此时相机与物体的相对位姿关系,

那么,

待解决问题:如何通过这两次相机与物体的相对位姿关系来确定相机发生了怎样的运动?

在ICP问题中,图像信息仅仅用来做特征点的匹配,而并不参与视图几何的运算。

也就是说,ICP问题的求解用不到相机的内参与特征点的像素坐标。

图3 ICP示意图

如图3所示,设空间中一点P在相机坐标系OL下的坐标为POL=[xl,yl,zl]T,在相机坐标系OR下的坐标为POR=[xr,yr,zr]T,OL经过运动R、T到达OR,则POL与POR 之间的关系为:

写成齐次变换的形式:

由此可见,每一个点P可以得到3个约束,那么理论上至少需要4个点就可以求得相机的运动R、T。

前端与后端

要想得到正确的结果,前提是

准确的特征匹配

理想的相机内参(包括针孔模型参数和畸变参数)

然而事实上,我们得到的往往是

有误差或者有噪声的结果

所以通常称前面的工作为前端,

因为后面还有很多事情要做,那就是后端的优化。

参考

《视觉SLAM中的对极约束、三角测量、PnP、ICP问题》https://blog.csdn.net/lixujie666/article/details/82262513

《对极几何,PnP,ICP 和BA之间的关系》https://blog.csdn.net/zhengbq_seu/article/details/81702070

《PnP(3D-2D)、ICP(3D-3D)》http://www.pianshen.com/article/1505324041/

《PnP问题系列通俗易懂详解(一)DLT(直接线性变换算法)》https://blog.csdn.net/xiaowuboshi/article/details/85266958

基于内容的发布订阅系统的一种快速匹配算法-AET-电子技术应用『ACM--算法--KMP』信息竞赛进阶指南--KMP算法(模板 ...医疗软件产品技术审评规范(2017版)【干货】一文读懂智能对话系统,当前研究综述和未来趋势 ...使用AOP - 廖雪峰的官方网站OpenCV官方文档_w3cschool擦拭法 - 廖雪峰的官方网站StringBuilder - 廖雪峰的官方网站(答案2)字节跳动算法题+智力题+场景题100题_笔经面经 ...双目立体匹配步骤详解字符串匹配(BF,KMP,BM)字符串匹配的Sunday算法--性能上超过KMPBM算法KMP 解决串的模式匹配问题【字符串匹配】KMP算法之道带花树算法--一般图最大匹配sift是图像匹配的非常经典的算法图像匹配 | 论文与方法整理km算法ZZL字符串匹配算法Siamese Network (应用篇1) :孪生网络特征用于图像匹配 ICPR2016《基于压缩传感的匹配追踪重建算法研究》读书笔记全面综述:图像特征提取与匹配技术RANSAC算法理解Matlab车牌识别系统字符串单模板匹配学习笔记(一)kmp算法OpenCV边缘检测算法二分图匹配算法总结(phoenixinter)SIFT图像匹配iptables --algo 字符串匹配算法 bm kmp二分图 KM算法(求二分图带权值的最大匹配woff字体图元结构剖析,自定义字体的制作与匹配和识别在医学图像分析中使用ICP算法进行点云配准视觉里程计 第二部分:匹配、鲁棒、优化应用目标跟踪之Lukas-Kanade光流法对ZZL字符串匹配算法的改 ——ZZL最短匹配定理最大二分图匹配(匈牙利算法)python基础教程:python实现括号匹配的思路详解
01人物故事05次方怎么算07年麦当劳全明星赛名单042工序交接检查记录00后护士出征抗击疫情04年停尸房集体诈尸事件0202年二手米八打游戏怎么样06第六章躯体疾病所致精神障碍doc地球和地球仪解析地球和地球仪ppt课件下载铁氟龙水管铁氟龙气管进口ptfe管尼康Z6Z7SB四川铁路交通图高清版P2P平台有哪些盈利模式03明星八卦04年有哪些流行歌miui国际版官网小米8能不能刷国际版060骤雨079征服欲2更02的爱恋动漫精彩剪辑02的爱恋我愿用我的一切守护你至永恒