ORBSLAM2
文章平均质量分 91
三轮车的视觉进阶_
为什么我的眼里常含泪水,因为我还有一个算法不会......
展开
-
三角测量及在SLAM中的使用
这篇文章主要参考《SLAM十四讲》和《多视觉几何》两本书关于三角测量的原理和推导内容,以ORBSLAM2和ORBSLAM3为例,说一下三角测量的应用,有不对的地方,欢迎指正交流~~以单目初始化为例,得到两张图像的匹配点之后,第一步就是计算H矩阵或者F矩阵,并从这两个矩阵中恢复出这两帧之间相机的运动,也就是R,t有了相机的位姿,接下来就是恢复3D点,即通过两帧图像中对应的匹配点的像素坐标x1,x1'和相机的位姿R,t,计算得到其对应的在三维世界中的坐标X;这里要和PnP做一下区分,PnP也是两帧.原创 2021-02-20 15:00:48 · 3142 阅读 · 0 评论 -
信息矩阵
1. 协方差矩阵Cartographer 中的协方差矩阵和信息矩阵1:运动方程有协方差矩阵R,观测方程有协方差矩阵Q。它们表示的意义是,到当前时刻t为止,所有测量的样本的协方差矩阵,用来衡量本次测量的不确定性。2:信息矩阵是协方差矩阵的逆,用来表示本次测量的可靠性,即不确定越小,则可靠性就越大。3:因此,公式推导里出现的相邻两个状态之间的协方差矩阵,实际上是到当前状态为止,之前所有样本的协方差矩阵。也就是说协方差矩阵随着样本的增加在不断的更新。2. 信息矩阵和协方差矩阵首先,.原创 2021-01-15 18:01:03 · 4503 阅读 · 0 评论 -
【小白冲冲冲!!!】37. ORBSLAM初始化时为什么要同时初始化H矩阵和F矩阵?
主要是针对初始化时不同的图像中不同的状态, H矩阵适用与特征点都处于同一个平面或者发生纯旋转时的状况, 这种状态时F举矩阵退化, 因此需要使用H矩阵; 而F矩阵适用于特征点在不同深度的情况;接下来总结一下关于F矩阵,H矩阵和E矩阵的一些相关的知识点:首先来说E矩阵,也就是本质矩阵, 本质矩阵有几个很重要的特性:本质矩阵在不同尺度下都是等价的; 对E乘以任意的非常数之后, 对极约束依然满足; 本质矩阵的奇异值必定是[a, a, 0]的形式, 这称为本质矩阵的内在性质; 因为旋转和平移各有三个自由原创 2020-12-12 15:22:37 · 541 阅读 · 0 评论 -
【回环检测】如何理解loopClosing中的连续性检测
在连续性检测中会用到几个变量如下,可以先理解一下这几个变量之间的关系如图:总结:回环部分对候选帧的检测其实可以理解为静态检测和动态检测;静态检测也就是对于图片相似度的检测,通过候选帧及其共视帧的commonwords 和score进行选择,保存下来的帧都具有静态一致性;空间上的连续性检测主要是动态检测,用于筛选那些落单的相似帧,通俗来讲就是这一候选、帧与当前帧相似,但是走两步之后就不一定相似了(传说中的没病走两步),怎么实现走两步的效果检测呢?那就是看簇与簇之间有没有共同帧了;PS:簇 = 候.原创 2020-07-28 09:50:39 · 777 阅读 · 0 评论 -
ORBSLAM的ORB特征到底从哪儿来?
ORBSLAM中的主要使用了ORB特征,也就是FAST特征+BRIEF描述子的组合,具体这两种方法就不详细介绍了,这里主要说一下每个特征对应的描述子在ORBSLAM中的维护方式;首先需要说明的是每个frame都有自己对应的找到的feature,在进行特征提取前会先初始化一个Extractor,也就是:void Frame::ExtractORB(int flag, const cv::M...原创 2020-01-09 21:40:18 · 470 阅读 · 0 评论 -
ORB_SLAM2中的疑难杂症
用ORB_SLAM也有一段时间了,基于该project也做了不少的开发,期间遇到了一些bug,在这里总结一下,在github上的issue中也有,只是issue数量太大,所以总结出一个关于代码错误的几个方面(主要是在遇到的时候也不敢相信,毕竟是大牛的作品):1. Reset() 的时候会遇到段错误,很偶尔遇到的一个问题,主要原因是双目的初始化函数StereoInitialization() 中...原创 2020-01-09 20:53:21 · 881 阅读 · 0 评论 -
传统ORB-SLam中位姿优化中雅克比矩阵讲解
由于之前的鱼眼orbslam只有单目部分,所以在优化时也只是用了单目位姿优化和三维坐标点优化,并没有将双目的优化添加进去,不知道是否对结果有影响;这里添加双目的优化部分,主要是将添加雅克比矩阵;orbslam中的优化部分使用了g2o库,具体的详细讲解可以参考https://zhuanlan.zhihu.com/p/58521241 讲解的很详细这里不加赘述,主要从单目的雅克比矩阵讲解,...原创 2019-08-31 11:16:24 · 2362 阅读 · 0 评论 -
详细解读ORBSLAM中的描述子提取过程
一直都在基于ORBSLAM做一些相关的开发,只知道进来的图片会直接提取出BRIEF描述子,但是都没有详细地看过它具体的提取过程,今天仔细研究了一下代码和相关理论,弄清楚之后感觉神清气爽,部分内容查找有些费劲,所以特此整理出来,希望对需要的人有所帮助。1. 前言ORBSLAM中使用的ORB特征是FAST特征和BRIEF描述子的集合,详细的FAST特征的提取过程这里大概说一下,方便后面对描述子的理解;FAST特征的提取过程:1. 构建高斯金字塔:ComputePyramid() 第一层.原创 2020-07-21 21:09:04 · 2960 阅读 · 0 评论