
ORB_SLAM
文章平均质量分 89
EyeToTheWorld
快毕业的硕士生,以后从事图像处理方面的工作,还在读研的小伙伴,能不入坑slam就别入了。切记!
展开
-
CL关于ORB_SLAM的那些事(Frame)
Frame部分的学习Frame中主要包括了不同传感器下的帧构造函数、提取ORB特征、计算词袋、设置传感器的姿态、更新位姿矩阵、获取传感器的中心、获取旋转矩阵的逆矩阵、判断地图点是否再被观测用于跟踪、计算关键点是否越过了栅格、获取关键点所在的区域、计算双目传感器的匹配、从深度图中计算得到右图的像素点位置、将关键点重投影到三维世界坐标系、获取去畸变的关键点、计算去畸变图像的边界、将特征点分配到某一个...原创 2019-08-07 22:10:38 · 658 阅读 · 1 评论 -
CL关于ORB_SLAM的那些事(KeyFrameDatabase)
KeyFrameDatabase部分的学习总结倒数几个cpp文件了,让我们争取一天之内,把剩余的都看完吧,加油加油!400行代码,走起.h文件头文件中包含的头文件有:vector、list和set的容器KeyFrame.hFrame.hORBVocabulary.h头文件中维护的变量(protected)有:ORB词汇描述的指针存放list的容器,list内存放的是关键帧的...原创 2019-09-17 15:51:26 · 292 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(LocalMapping)
LocalMapping部分的学习总结刚刚看完关于Sim3方面的代码,那就趁热打铁继续阅读关于局部地图部分的代码吧,开始吧!.h部分的阅读头文件中包含的头文件有:KeyFrame.hMap.hLoopClosing.hTracking.hKeyFrameDatabase.hmutex 线程锁的头文件头文件中维护的变量都是protected的,有:是否是单目的标志位线程锁...原创 2019-09-16 19:01:45 · 423 阅读 · 1 评论 -
CL关于ORB_SLAM的那些事(Sim3Solver)
Sim3Solver部分的学习总结刚刚看完关于PnP方面的代码,那就趁热打铁继续阅读关于Sim3Solver部分的代码吧,开始吧!.h部分的阅读该头文件里包含了关键帧的头文件维护的变量(protected)有:两个关键帧指针存放1帧坐标系下的3D点坐标的容器存放2帧坐标系下的3D点坐标的容器存放1帧内的MapPoints的容器存放2帧内的MapPoints的容器存放两帧匹配上的MapP...原创 2019-09-15 10:39:07 · 904 阅读 · 2 评论 -
CL关于ORB_SLAM的那些事(PnPsolver)
PnPsolver部分的学习总结之前看的代码基本都是整个部分的功能,今天开始看一些求解器的cpp,主要就是两个吧,PnPsolver还有Sim3Solver。,开始吧!.h部分的浏览包含的头文件有,opencv、MapPoint.h、Frame.hPnPsolver类维护的变量(都是私有的):double uc, vc, fu, fv:内参?double * pws, * us, *...原创 2019-09-08 16:11:53 · 1159 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(LoopClosing)
LoopClosing部分的学习总结今天来看闭环检测部分的代码,上一次把优化部分的代码都看了一遍,对于g2o方面的使用以及后端优化的图构建都有了一定的了解,今天来看闭环检测部分,来了解一下前端到底从啥时候开始触发闭环优化。.h文件浏览打开头文件,其中包括了KeyFrame.hLocalMap.hMap.hORBVocabulary.hTracking.hKeyFrameData...原创 2019-08-27 21:48:19 · 365 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(Initializer)
Initializer部分的学习总结看了这么多天孤零零的cpp文件之后,我们今天小小了解一下SLAM部分比较重要的一个模块,那就是初始化,ORB SLAM也是第一个提出自动初始化的开源系统。话不多说,进入我们的主题。打开.h文件,里面只包含了Frame的头文件,所以我们在看这一部分的代码时,就不存在我们没接触的函数了。Initializer类中包含的函数功能有:构造函数,函数的参数列表:...原创 2019-08-17 15:43:59 · 390 阅读 · 5 评论 -
CL关于ORB_SLAM的那些事(Tracking)
关于Tracking部分的学习总结看完了ORB SLAM的初始化部分,下面我们就来看一下Tracking部分。这也是整个ORB SLAM系统中比较重要的一个部分,话不多数说,开始吧。头文件部分这里面包含了opencv关于特征的两个头文件、可视化view.h、FrameDrawer.h、Map.h、局部地图LocalMapping.h、闭环检测LoopClosing.h、Frame.h、ORB...原创 2019-08-21 22:49:05 · 494 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(Optimizer)
Optimizer部分的学习总结之前我一直对优化这一部分的内容是逃避的,因为我觉得优化这部分可能不适合我现在的水平去研究,之前只是了解了一些基本的优化算法,但是现在发现,逃不了,感觉必须要拿出真功夫啃一啃这一部分的东西,先不说用起来,起码自己能看懂代码,知道其中的来龙去脉,话不多说,这就开始吧!浏览头文件,了解维护变量和函数方法打开...原创 2019-08-25 16:33:27 · 474 阅读 · 2 评论 -
CL关于ORB_SLAM的那些事(MapPoint)
MapPoint部分的学习昨天在匹配方面一直提及MapPoint,它到底是何方神圣呢,其实从可视化的角度来讲,MapPoint就是我们运行ORB SLAM时在界面上看到的那些地图点,红色黑色的,接下来让我们深入了解一下这个类中都封装了什么函数,维护了哪些变量。打开头文件,可以看到包括了KeyFrame、Frame和Map三个头文件。其中实现的函数有:两个构造函数,一个用于关键帧,另一个用于...原创 2019-08-12 10:54:41 · 1160 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(ORBmatcher)
ORBmatcher部分的学习昨天读了关键点提取的每一行代码,今天当然是读匹配方面的代码了,开始今天的学习,现在是北京时间2019年08月09日上午7点49分。按照规矩,先来看一下,该类中维护的变量和方法。这里面就只有一个ORBmatcher的类,今天注意了一下该头文件内所包含的其他头文件,有MapPoint、KeyFrame和Frame,哪里会用到呢?接着往下看…自己提供的匹配构造函数...原创 2019-08-10 22:35:02 · 666 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(KeyFrame)
KeyFrame部分的学习总结原创 2019-08-14 11:11:14 · 922 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(ORBextractor)
ORBextractor部分的学习在ORBextractor中包括定义的两个类ExtractorNodeORBextractor在ExtractorNode中,维护的是四叉树的数据结构,后面在关键点均匀化时,会用到其中的DvideNode函数。今天的主角ORBextractor类枚举类包括harris角点和fast角点的得分类本身的构造函数和析构函数重载的()运算符,进行关键...原创 2019-08-08 22:34:28 · 462 阅读 · 0 评论 -
CL关于ORB_SLAM的那些事(System)
System部分的学习和总结这一篇博客是对整个ORB SLAM整个框架的描述以及数据流动的过程,包括关跟踪部分,关键帧的维护,闭环检测以及地图的维护。这也就意味着关于ORB SLAM部分的学习也将进入尾声,进入实操魔改阶段。对于这张图太熟了,每个了解过ORB SLAM的人都看过这张图,今天我们来通过这张图来学习整个系统的框架。System.cc的文件里,涉及到了构造函数的初始化。输出系统...原创 2019-09-20 09:45:59 · 229 阅读 · 0 评论