首页IT科技inbreast数据集(【算法】跑ORB-SLAM3遇到的问题、解决方法、效果展示(环境:Ubuntu18.04+ROS melodic))

inbreast数据集(【算法】跑ORB-SLAM3遇到的问题、解决方法、效果展示(环境:Ubuntu18.04+ROS melodic))

时间2025-05-01 13:27:49分类IT科技浏览10038
导读:一、./build.sh编译ORB-SLAM3出现的各种问题 1、问题:OpenCV > 4.4 not found...

一                、./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
声明:本站所有文章                    ,如无特殊说明或标注                       ,均为本站原创发布                        。任何个人或组织   ,在未征得本站同意时                ,禁止复制                        、盗用       、采集            、发布本站内容到任何网站                        、书籍等各类媒体平台       。如若本站内容侵犯了原著者的合法权益                        ,可联系我们进行处理            。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
my wife my wish意思(My Wiki: How to read a properties file in a web application) Loj 507 接竹竿 题解