SLAM篇
文章平均质量分 63
SLAM相关算法、程序、学习笔记
warningm_dm
这个作者很懒,什么都没留下…
展开
-
[学习笔记-SLAM篇]ORB-SLAM3自制数据测试注意点
ORBSLAM3自制数据的制作及运行。原创 2022-04-17 17:51:33 · 1933 阅读 · 8 评论 -
[学习笔记-SLAM篇]KITTI数据集简单记录
参考:kitti数据集使用-rosbag-rviz这是一个使用实例,大佬出品。详解KITTI数据集含有介绍和国内镜像。原创 2021-10-30 17:08:02 · 810 阅读 · 0 评论 -
[学习笔记-SLAM篇]评估指标
参考:视觉SLAM基础:算法精度评价指标(ATE、RPE)写的很详细,暂时先不整理了。有一个地方,要输出ape的旋转部分的时候,添加指令-r rot_part。原创 2021-10-27 20:56:26 · 566 阅读 · 0 评论 -
[学习笔记-SLAM篇]ubuntu18.04配置ORB-SLAM3纠错篇
配置方法参考:https://blog.csdn.net/jihaoweizzz/article/details/109824857下述问题均为执行./build.sh时出现的报错。1. LocalMapping.cc:628:49: error: no match for ‘operator/’ORB_SLAM3/src/LocalMapping.cc:628:49: error: no match for ‘operator/’ (operand types are ‘cv::Matx<原创 2021-10-08 09:54:39 · 434 阅读 · 0 评论 -
[学习笔记-SLAM篇]RGB-D SLAM配置
一起做RGB-D SLAM (1)1.opencv已经安装了其他版本,不清楚兼容问题。原创 2021-10-05 10:44:05 · 285 阅读 · 0 评论 -
[学习笔记-SLAM篇]Ubuntu下使用VS Code编译调试ORB-SLAM3
参考1.Ubuntu下 VSCODE ORBSLAM2和3 DEBUG调试2.Ubuntu系统下使用VS Code编译调试C++程序并添加外部库原创 2021-09-01 11:41:18 · 2973 阅读 · 4 评论 -
[学习笔记-SLAM篇]ORB-SLAM3论文大纲
草稿整理1.orbslam发展历程ORB-SLAM3的研究历史2.摘要2个第一个系统(第二个运用全局信息主要的创新点)可以在bundle adjustmen中利用视差较大的帧来增长BA求解的准确性(由于当视察较小时,求解不许确,且优化容易进入局部极值)BA优化就是一种通过最小化重投影误差计算最优位姿矩阵和地标点坐标的方法Bundle Adjustment简述2个创新点主要的创新点3.文章共8个小节4.引言1)数据关联模型2)主要创新点...原创 2021-08-24 10:56:42 · 174 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch11
冲冲冲,胜利就在眼前(虽然这本书大概会反复学习)。视觉SLAM十四讲第11讲11.1 理论部分11.2 实践部分第11讲11.1 理论部分回环检测,虽然说和视觉里程计有些联系,但一般还是比较独立的。1)回环检测回环检测一般用于消除累积误差,构建全局一致的轨迹和地图,也在重定位模块中得到重要应用。一般有2种方法:① 基于里程计的几何关系,② 基于外观的几何关系。目前常用的是基于外观的方法,主要通过两幅图像的相似性确定回环检测关系。计算图像的相似性,一般是计算图像的相似性评分。该评分主要与准确原创 2021-08-12 11:15:44 · 722 阅读 · 1 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch10
学学停停,发现学是学不完的,但是好歹还想学。没有视频资料了(高博的),自学成才(不是)。视觉SLAM十四讲第10讲10.1 理论部分9.2 实践部分第10讲10.1 理论部分这一部分算是对第9讲的补充吧。1)BA基本问题之前说过,BA是一种批量处理的非线性优化方法,因此BA的规模是一个不可避免的问题。下面是常见的几种控制规模的方法。① 从普通帧中选出关键帧,仅构造关键帧与路标点之间的BA。但关键帧数目过多规模同样会增大。② 滑动窗口法,仅保留离当前时刻最近的N个关键帧。但若相机静止不动,原创 2021-08-11 16:55:45 · 716 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch9
和第6讲状态估计一样,太多数学推导了,抽象的东西没那么多,但是更令人头大了。具体的推导还是有亲自计算的必要的,不过整体思路整理也很必要。注:1)学习视频:【高翔】视觉SLAM十四讲。视觉SLAM十四讲第9讲9.1 理论部分9.2 实践部分第9讲9.1 理论部分前端传输过来的地图点、相机运动这些数据都是粗糙的,虽然构建了运动方程(纯视觉SLAM没有)和观测方程,但含有误差,因此需要后端进行优化。后端优化的方式就是进行状态估计。1)状态估计在视觉SLAM中,我们需要优化(待估计)的量是原创 2021-08-03 18:14:15 · 1171 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch8
第8讲和第7讲内容都是前端的原理,这一讲主要集中于直接法。已近暂时放弃实践了,先把理论梳理完吧。反正就,学习的时候想摸鱼,摸鱼的时候闲不住,太难了。注:1)学习视频:【高翔】视觉SLAM十四讲。视觉SLAM十四讲第8讲8.1 理论部分8.2 实践部分第8讲8.1 理论部分7-8讲均是视觉里程计的内容,主要区别在于前端原理不同,分别对应特征点法和直接法。此外计算相机的运动,依据点的关系不同,采用不同方法。2D-2D:对极几何;3D-3D:ICP;2D-3D:PnP。1)特征点法前原创 2021-07-30 20:39:14 · 942 阅读 · 0 评论 -
[学习笔记-SLAM篇]RGB-D SLAM测试数据集
素材篇哈。发现RGB-D的SLAM数据集很少,奇怪,TUM就这么够用??1. TUM RGB-D数据集传送门:RGB-D SLAM Dataset and Benchmark简介:一个包含RGB-D数据和地面真实数据的大数据集,目的是为视觉里程计和视觉SLAM系统的评估建立一个新的基准。我们的数据集包含了一个微软Kinect传感器的颜色和深度图像,沿着传感器的地面真实轨迹。数据以全帧率30 Hz和传感器分辨率640x480记录。深度因子5000。地面真实轨迹是由一个高精度的运动捕捉系统与8个高速跟原创 2021-07-16 18:36:48 · 1710 阅读 · 1 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch7
前面的内容基本都是基础内容,从第7讲开始变为实践应用,其实就是具体在SLAM中是如何完成各线程内容的。按理说是实践部分,但还是坚持不实践呢。注:1)学习视频:【高翔】视觉SLAM十四讲。视觉SLAM十四讲第7讲7.1 理论部分7.2 实践部分第7讲7.1 理论部分7-8讲均是视觉里程计的内容,主要区别在于前端原理不同,分别对应特征点法和直接法。1)前面我们得到了运动方程(由SE(3)SE(3)SE(3)描述【讲3】,李代数优化【讲4】)和观测方程(由针孔模型给定【讲5】),其中涉及到原创 2021-07-14 21:38:26 · 1658 阅读 · 0 评论 -
[学习笔记-SLAM篇]Ubuntu16.04+ROS下配置ORB-SLAM3——后续
作为一篇后记,就主要做补充之用。索引1.编译不显示warning2.LocalMapping报错3.KannalaBrandt8报错1.编译不显示warning编译的过程中有报错,但是一贯的,warning太多了,所以修改一下,便于找错。参考ubuntu18.04配置ORB-SLAM3。将ORB-SLAM3的CMakeLists.txt中的-Wall后面加上-w,可屏蔽编译的warning2.LocalMapping报错终端显示CMakeFiles/ORB_SLAM3.dir/build原创 2021-07-01 10:05:54 · 1278 阅读 · 0 评论 -
[学习笔记-SLAM篇]Ubuntu16.04+ROS下配置ORB-SLAM3
这篇博客参考性可能不是很强,一方面之前配过ROS,所以这部分会省略,一方面之前也配过ORB-SLAM2,相关依赖项不会重新配置,不过可以参考[学习笔记-SLAM篇]Ubuntu16.04+ROS下配置mynteye版本ORB-SLAM2,一起对应结合着配置,这个里面有ROS和ORB-SLAM2(mynteye版)的安装过程。主要参考内容是代码里的README.md。考虑到要结合ROS安装,所以东西都是安装在ROS的src文件夹下的,也就是说要先安装ROS。目录一、安装安装ROS kinect二、安装原创 2021-06-29 11:07:11 · 1096 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch6
有些别的事情中断了学习,现在重新拾起来哈。果然,很多事情还是一鼓作气的好,不然节奏会乱掉。注:1)学习视频:【高翔】视觉SLAM十四讲。视觉SLAM十四讲第6讲6.1 理论部分6.2 实践部分第6讲6.1 理论部分本讲主要是状态估计的问题,大佬以非线性优化为主,也是现在视觉SLAM主流的方向。1)状态估计前面我们得到了运动方程(由SE(3)SE(3)SE(3)描述【讲3】,李代数优化【讲4】)和观测方程(由针孔模型给定【讲5】),其中涉及到相机位姿xxx、地标点yyy(前2者合称位姿原创 2021-06-25 15:58:26 · 1079 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch5
本讲主要是相机模型相关的内容,理解比较容易。注:1)学习视频:【高翔】视觉SLAM十四讲。视觉SLAM十四讲第5讲5.1 理论部分5.2 实践部分第5讲5.1 理论部分前面主要围绕位姿进行讨论(求解及优化相关),这一讲主要针对观测问题,与相机模型有关。1)相机模型单目相机模型主要使用针孔模型;注:图片来源:针孔相机模型和相机镜头畸变模型。依据相似三角形并去掉负号,结合单位变换(像素与米之间的转换)、图像原点在像素系的平移,可以得到相机系与像素系之间的关系——内参矩阵K\原创 2021-06-23 18:13:42 · 1059 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch4
这一章的数学概念涉及很多,梳理清楚很重要。注:1)学习视频:【高翔】视觉SLAM十四讲。视觉SLAM十四讲第4讲4.1 理论部分第4讲4.1 理论部分概念的东西很多,但主要还是围绕李群和李代数展开。1)李群&李代数基础一种集合加上一种运算的代数结构称为群,满足“封结幺逆”性质。之前所提及的特殊正交群SO(3)SO(3)SO(3)、特殊欧式群SE(3)SE(3)SE(3),均是一种集合加上一种运算(矩阵乘法,这2个群均对加法不封闭);由李群引入李代数:首先我们有一个旋转矩阵R(原创 2021-06-21 21:15:28 · 626 阅读 · 0 评论 -
[学习笔记-SLAM篇]ORB-SLAM2编译调试(2)
算法可以正常运行,但是运行到一般突然屏幕变灰,终端显示下面的错误。Framebuffer with requested attributes not available.Using available framebuffer. You may see visual artifacts.参考ORBSLAM运行时错误,先将ORB_SLAM2中CmakeLists中的-march=native,以及ORB_SLAM2/Thirdparty/g2o中CmakeLists中的-march=native删掉,再在原创 2021-06-19 22:58:31 · 4206 阅读 · 12 评论 -
[学习笔记-SLAM篇]ORB-SLAM2编译调试(1)
许久没有修改过程序再重新编译,偶然修改后居然编译的时候报错,为免后续错误重犯,也为记录,开一个ORB-SLAM2程序编译调试集。在ORB_SLAM2/build下执行make命令时,由于下面的错误而终止编译。error: ‘usleep’ was not declared in this scope上网检索后发现是一个头文件没有加上,需要在相关.cc文件中加入下面的指令。#include <unistd.h>需要添加的文件如下。ORB_SLAM2/src中的LocalMappin原创 2021-06-19 21:22:37 · 404 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch3
一鼓作气哈。还学了一点latex编写技巧,技能max。注:1)学习视频:【高翔】视觉SLAM十四讲。视觉SLAM十四讲第3讲3.1 理论部分3.2 实践部分第3讲3.1 理论部分这一部分要点如下。1)线性代数基础向量内积:a⋅b=aTb=∑i=13aibi=∣a∣∣b∣cos<a,b>\pmb{a}·\pmb{b}=\pmb{a}^T\pmb{b}=\sum_{i=1}^3a_ib_i=|\pmb{a}||\pmb{b}|cos<\pmb{a},\pmb{b}>原创 2021-06-17 16:14:36 · 596 阅读 · 0 评论 -
[学习笔记-SLAM篇]视觉SLAM十四讲ch1-2
反向学习,最基础的才想起来学。主学习思路整理,不利于作为大家的学习资料,有什么问题可以交流讨论。注:1)学习视频:【高翔】视觉SLAM十四讲;2)视频不同步问题参见评论区。视觉SLAM十四讲第1讲第2讲2.1 理论部分2.2 实践部分第1讲其实这一讲没什么干货,就是一些简单介绍。SLAM是一种估计自身运动并建立环境模型的技术;参考文献介绍了几个,其中重量级《Multiple View Geometry in Computer Vision》;代码链接:https://github.原创 2021-06-17 11:16:01 · 326 阅读 · 0 评论 -
[学习笔记-SLAM篇]KITTI数据集轨迹说明
KITTI数据集做SLAM的话应该都有所耳闻,但过于庞大的压缩包以及运行一次就可能卡住的风险以及不知轨迹几何所以随机运行的偶然性···让我决定整理一下KITTI的轨迹,便于选择对应序列测试。考虑到pose真值中只有11(00-10)个轨迹真值,在官网上又找到了5(11-15)个序列轨迹,整理了16个轨迹。如果想自己运行的话,最下提供了参考的代码,不过KITTI的真实轨迹包要下载一下。推荐使用情况见下面,但仅从轨迹结果考虑,没有结合环境、路况等等信息,在选择的时候还需多方考虑。注:1)若仅测试算原创 2021-06-16 21:23:50 · 8116 阅读 · 34 评论 -
[学习笔记-SLAM篇]Ubuntu16.04+ROS下配置mynteye版本ORB-SLAM2
最早配置,最晚整理。一开始没用ROS,对linux什么都不懂的情况下不知道如何将ORB放在ROS下再重新编译,反正就是一团糟,索性直接删掉,重新安装。下面就是重新配置的过程整理。目录一、安装ROS kinect二、安装依赖项三、安装Pangolin四、安装eigen五、安装ORB-SLAM2六、测试6.1 标准数据集测试6.2 bag包测试6.3 ros实时测试一、安装ROS kinect安装过程可以参见[学习笔记-SLAM篇]Ubuntu16.04下配置VINS-Mono,一毛一样的哈。二、安原创 2021-05-29 20:36:09 · 223 阅读 · 0 评论 -
[学习笔记-SLAM篇]ORB-SLAM2运行自己的bag
材料:1).bag数据包 * 12)安装在ROS的src下,ORB-SLAM2算法 * 1如何按步骤安装ROS以及ORB算法,这里就不赘述了,有时间整理一个完整版。料理(不是):Step 1 :查看节点// 在放置.bag的文件夹下开终端,运行下面指令,其中xxx是bag的名称rosbag info xxx.bagStep 2 :修改节点// 要修改的程序都在Examples/ROS/ORB_SLAM2/src下// 单目数据集就改ros_mono.cc,双目数据集就改ros_st原创 2021-05-29 19:57:30 · 1951 阅读 · 0 评论 -
[学习笔记-SLAM篇]自制EuRoC数据集
本想测试一下算法,用自制的数据集,结果就在心累和自我怀疑之中反复横跳…以双目纯视觉为例,名称建议参考。自制数据集命名为 made1)数据集包含2个图片文件夹 left 和 right、一个时间戳 timestamp.txt 文件2)每个图片文件夹内含一个图片文件夹 data 和一个 data.dsv 文件3)左右图片数目要相同,名称要相同,格式均为 png 格式,均以时间戳命名,即图片名称与时间戳文件的内容对应4)每个 data.dsv 文件中含有时间戳,以及与时间戳对原创 2021-05-12 18:26:54 · 2661 阅读 · 18 评论 -
[学习笔记-SLAM篇]Ubuntu16.04下配置VINS-Mono
安装环境Ubuntu16.04 + ROS kinect + OpenCV3.2.0目录一、安装ROS kinect1. 安装ROS2. 工作空间建立OpenCV安装Eigen安装一、安装ROS kinect注:不同版本的ubuntu系统安装的ros版本号也不同,参见下图进行选择。1. 安装ROS#先换源,阿里云或者清华都可以,然后把更新的三个框都选上#在桌面打开终端#设置sources.listsudo sh -c 'echo "deb http://packages.ros..原创 2021-01-05 18:56:18 · 823 阅读 · 0 评论 -
[学习笔记-SLAM篇]基础函数findEssentialMat
findEssentialMat求取本征矩阵,使用RANSAC方法,进一步排除失配点。Mat findEssentialMat( InputArray points1, InputArray points2, InputArray cameraMatrix, int method = RANSAC, double prob = 0.999, double threshold = 1.0,原创 2020-12-23 14:53:11 · 6965 阅读 · 5 评论 -
[学习笔记-SLAM篇]Ubuntu16.04下配置PL-SLAM(stereo)
近期学习配置PL-SLAM(stereo),搜索了很多资料,对照着进行配置,确实问题还比较多。不过终于还是配置出来了,也进行了测试,现将配置过程整理出来,造福大家。在正式配置前可以先浏览Ubuntu 16.04 下 PL-SLAM (Stereo) 的安装和使用,对大概流程有所了解。接下来就开始正式配置了。因为部分项目需要依赖于前一个安装的项目,所以最好按照顺序进行,后面也会指出需要注意顺序的...原创 2020-04-10 12:07:23 · 3136 阅读 · 19 评论