【算法】跑ORB-SLAM3遇到的问题、解决方法、效果展示(环境:Ubuntu18.04+ROS melodic)
文章目录
- 一、`./build.sh`编译ORB-SLAM3出现的各种问题
- 1、问题:OpenCV > 4.4 not found
- 2、问题:error: ‘slots_reference’ was not declared in this scope
- 二、ORB-SLAM3 效果展示
- 1、编译`./build.sh`成功
- 2、发现源码里没有euroc_examples.sh文件
- 3、测试EuRoC数据集上的效果
- (2)视频序列:MH_01_easy
- (3)视频序列:MH_03_medium
- (3)视频序列:V1_01_easy
- (4)使用IMU数据时可能出现的问题:
- (5)单目、双目、单目+IMU、双目+IMU精度对比
- 4、测试TUM-VI数据集上的效果
- (2)视频序列:dataset-room1_512_16
- (3)视频序列:dataset-corridor1_512_16
- (4)视频序列:dataset-magistrale1_512_16
- (5)视频序列:dataset-outdoors1_512_16
- (6)运行问题:Fail to track local map!
- 三、其他问题及本地相机运行参考
一、./build.sh
编译ORB-SLAM3出现的各种问题
1、问题:OpenCV > 4.4 not found
编译build.sh时报错:OpenCV > 4.4 not found
解决方法
(1)找到ORB_SLAM3文件夹下的CMakeList.txt 中的find_package(OpenCV 4.4)
位置,修改为:
LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)find_package(OpenCV 3 REQUIRED)if(NOT OpenCV_FOUND)message(FATAL_ERROR "OpenCV > 4.4 not found.")
2、问题:error: ‘slots_reference’ was not declared in this scope
Pangolin最新版本导致的bug,报错error;如果跑ORB-SLAM2、ORB-SLAM3不要用最新版的Pangolin进行编译安装,会导致error: ‘slots_reference’ was not declared in this scope或者cannot findind Eigen3.cmake,我就是安装了最新版然后编译ORB-SLAM2库的时候报了一大堆错,改环境跟代码花了一天时间都没有搞定,最后发现是这个问题,欲哭无泪www
解决方法
1、卸载最新版Pangolin,进入Pangolin文件夹的build里边,执行
sudo make uninstall
2、安装Pangolin v0.5的版本。
安装链接:https://github.com/stevenlovegrove/Pangolin/tree/v0.5
3、安装步骤
cd Pangolin
mkdir build && cd build
cmake ..
cd ..
cmake --build .
sudo make install
参考链接:https://codingnote.cc/p/484790/
二、ORB-SLAM3 效果展示
1、编译./build.sh
成功
2、发现源码里没有euroc_examples.sh文件
好不容易build.sh编译完要测数据了,然后发现源码里没有euroc_examples.sh,然而README里是这么说的:
直接裂开,虚空examples,一查发现有同行说是新版的ORB-SLAM3库里没有了,于是赶紧找找有没有前辈下载下来了euroc_examples.sh这个文件,然后就找到了个github里头是有这个文件的,这个github还是ORB-SLAM3的详细注释版,以后要看懂代码的话少不了它,链接先放这了
https://github.com/electech6/ORB_SLAM3_detailed_comments
3、测试EuRoC数据集上的效果
(1)EuRoC数据集由两个针孔摄像头(pinhole)和一个惯性传感器(IMU)记录得到,以下只展示测试的部分视频序列的部分结果
(2)视频序列:MH_01_easy
MH_01_easy 双目 效果
Eval命令行示例:
echo "Launching MH01 with Stereo sensor"
./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml "$pathDatasetEuroc"/MH01 ./Examples/Stereo/EuRoC_TimeStamps/MH01.txt dataset-MH01_stereo
echo "------------------------------------"
echo "Evaluation of MH01 trajectory with Stereo sensor"
python evaluation/evaluate_ate_scale.py evaluation/Ground_truth/EuRoC_left_cam/MH01_GT.txt f_dataset-MH01_stereo.txt --plot MH01_stereo.pdf
和GroundTruth轨迹对比的Eval结果:
absolute_translational_error.rmse 0.025333 m
absolute_translational_error.mean 0.022465 m
absolute_translational_error.median 0.022143 m
absolute_translational_error.std 0.011709 m
absolute_translational_error.min 0.000709 m
absolute_translational_error.max 0.072913 m
(3)视频序列:MH_03_medium
MH_03_medium 双目 效果
MH_03_medium 单目+IMU 效果
(3)视频序列:V1_01_easy
V1_01_easy 双目 效果
V1_01_easy 单目+IMU 效果
(4)使用IMU数据时可能出现的问题:
(4-a)跟踪局部地图失败,需要等SLAM系统重新初始化
Fail to track local map!
IMU is not or recently initialized.
Reseting active map...
SYSTEM-> Reseting active map in monocular case`
(4-b)IMU加速度不足 not enough acceleration
(5)单目、双目、单目+IMU、双目+IMU精度对比
以MH_01_easy视频序列为例,双目或单目+IMU精度最高,单目偏差离谱(由于没有尺度因子,存在零点漂移)
4、测试TUM-VI数据集上的效果
(1)TUM-VI数据集由两个鱼眼摄像头(fisheye)和一个惯性传感器(IMU)记录得到,以下只展示测试的部分视频序列的部分结果
(2)视频序列:dataset-room1_512_16
dataset-room1_512_16 单目+IMU 效果
dataset-room1_512_16 双目+IMU 效果
(3)视频序列:dataset-corridor1_512_16
dataset-corridor1_512_16 单目+IMU 效果
dataset-corridor1_512_16 双目+IMU 效果
(4)视频序列:dataset-magistrale1_512_16
dataset-magistrale1_512_16 单目+IMU 效果
(5)视频序列:dataset-outdoors1_512_16
dataset-outdoors1_512_16 单目+IMU 效果
→ A.不忽略20米外的远处特征点,运行至户外大天空场景时可见算法跟踪到的红框内有很多天空点,会导致算法发散,对地图点的定位失败
→ B. 忽略20米外的远处特征点后最终建图效果,跑到最后不知为啥总会Shutdown,没能看到闭环检测后的效果,具体后面得再找找原因,
dataset-outdoors1_512_16 双目+IMU 效果
→ A.(1)不忽略20米外的远处特征点,运行至户外大天空场景时可见算法跟踪到的红框内有很多天空点,会导致算法发散,对地图点的定位失败
(2)运行到后边越来越卡顿,这是由于地图太大,缓存都吃满了
→ B.(1)忽略20米外的远处特征点,可见户外大天空场景下许多天空点都被滤除了,算法不会发散,匹配点集中在20米内
(2)这个是我跑的,在远、大场景不做闭环时,最后可能存在累计漂移
(3)我跑到最后不知为啥总会Shutdown,没能看到闭环检测后的效果,具体后面得再找找原因,最终建图效果可参照别人的结果
(4)忽略20米外的特征点后不会爆内存
(6)运行问题:Fail to track local map!
跟踪局部地图失败,等待系统执行重定位Relocalize或重新建图new map即可
三、其他问题及本地相机运行参考
https://blog.csdn.net/hhz_999/article/details/120473659
https://blog.csdn.net/qq_36804414/article/details/109241264
https://blog.csdn.net/qq_36804414/article/details/109248693
【算法】跑ORB-SLAM3遇到的问题、解决方法、效果展示(环境:Ubuntu18.04+ROS melodic)相关推荐
- 【算法】跑ORB-SLAM遇到的问题、解决方法、效果展示(环境:Ubuntu18.04+ROS melodic)
文章目录 一.cmake编译ORB-SLAM库报错 1.问题:cmake 后出现rosdep错误 rosdep init / rosdep update问题 2.问题:cmake 后出现opencv2 ...
- ios 底部用定位 fixed。在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去。解决方法...
ios 底部用定位 fixed.在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去.解决方法 $("input").focus(function() ...
- ubuntu18.04 ROS安装配置及常见问题得解决
目录 1 更改Ubuntu软件源: 2 设置软件源 3 设置密钥 4 安装过程及问题解决 4.1 安装 4.2 初始化 4.2.1 初始化过程报错 4.3 更新 4.4 安装rosinstall 4. ...
- 算法概述---过拟合和几种解决方法
1 过拟合问题 什么是过拟合? 一种扭曲的曲线,不停上下波动: 另一种说法,算法具有高方差,然后模型太过庞大,变量太多 千方百计的拟合训练集,导致无法泛化到新的样本中. 泛化: 一个假设模型应用到新样 ...
- latex 插图位置跑在文档最后的解决方法
https://blog.csdn.net/lqhbupt/article/details/24812993
- 解决真机安装的Ubuntu18.04开机慢,关机关不了的问题
第一次上手整真机Ubuntu 18.04,用U盘安装的时候,在勾选上安装显卡以及第三方软件的选项时,下一步就会卡死,一直在等待加载,一开始因为是显卡驱动问题,之后再安装也可以.就没勾上选项安装成功之后 ...
- 【解决方法】ubuntu环境sudo安装时出现“XXX不在soduers中”,且su root 认证失败无法进入root,且sudo passwd root 时又不能使用sudo
问题:突然之间问题就出现了,毫无征兆.sudo apt install 安装时出现"XXX不在soduers中",且su root 认证失败无法进入root,且sudo passw ...
- mysql存入中文乱码解决方法(windows环境)
项目中要将抓取一些网页内容保存到mysql数据库中,当抓取的内容中包含中文时,在控制台打印出来的中文是正常显示的,但存入数据库表中时,显示乱码. 进入mysql命令行,执行以下命令: show var ...
- 【Oracle】ora-02391解决方法,生产环境测试通过
这个问题其实还是比较清晰的,就是在我们设置的profile中会定义对应session数限制,比如存在用户student,sessions_per_user为5,则student用户最多使用5个sess ...
最新文章
- linux升级OpenSSL
- python基础语法测评_Python基础语法知识点汇集
- 牛逼!Python函数和文件操作(长文系列第3篇)
- 使用Recast.AI创建具有人工智能的聊天机器人
- python socket之udp说明
- 深入理解卷积层,全连接层的作用意义
- JAVA进阶教学之(String类的构造方法)
- BugkuCTF-MISC题妹子的陌陌
- Linux 命令(117)—— gzip 命令
- [转]一张图帮你搞定职业规划
- Careercup - Facebook面试题 - 4907555595747328
- 视频格式mkv、mp4、avi、flv、mov、wmv、webm特点和区别
- Nacos 原理 Jraft Distro Grpc 持续跟新中...
- 使用TTP224触摸芯片时出现的一些问题
- 数据链路层的子层MAC层(图文详解)
- iOS:开发者账号申请
- 【论文阅读】ICLR 2022: Scene Transformer: A unified architecture for predicting future trajectories of ...
- 小小的PDF 攻防世界
- Unity 骨骼动画
- 职场人士需了解:职场文件删除了三种恢复方法
热门文章
- couchdb 视图操作_CouchDB 视图简介及增量更新视图的方法
- 开发板可以ping通百度IP,但是不能ping百度域名 提示ping: bad address 'www.baidu.com'
- .msi是什么文件呀?
- ERROR: Failed cleaning build dir for cryptography (mac环境)
- 滥用公司资源出书、策划婚礼? Meta二号人物受到内部调查
- Spring cloud Alibaba Nacos注册中心(2) NacosNamingService
- java对象克隆详解
- 模拟和矢量信号源进阶使用技巧
- VCF文件与vcftools简单介绍
- 港科夜闻|香港科大和香港科大(广州)26名研究人员成功获批2022年度国家自然科学基金青年科学基金项目...