ORB-SLAM3的Euroc数据集测试

(一)测试运行

不同模式测试过程(以MH_03为例)

1、pure mono

运行SLAM:

cd ORB-SLAM3/Example

#run slam
./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml "$pathDatasetEuroc"/MH03 ./Monocular/EuRoC_TimeStamps/MH03.txt dataset-MH03_mono

ORB-SLAM3的Euroc数据集测试_第1张图片

 利用ORB-SLAM3自带模块评估:

cd ORB-SLAM3/Example

#evaluate & plot
python ../evaluation/evaluate_ate_scale.py ../evaluation/Ground_truth/EuRoC_left_cam/MH03_GT.txt f_dataset-MH03_mono.txt --plot MH03_mono.pdf

运行结果(ORB_SLAM3_ate.rmse,scale,GT_ate.rmse): 

 由于单目的尺度未标定,故出现RMSE数值大的现象。

ORB-SLAM3的Euroc数据集测试_第2张图片

evo评估 (ate):

#plot trajct
evo_traj tum f_dataset-MH03_mono.txt --ref=MH03_groundtruth.txt -p -a -s


#evaluate ate
evo_ape tum f_dataset-MH03_mono.txt MH03_groundtruth.txt -p -a -s

运行结果: 

ORB-SLAM3的Euroc数据集测试_第3张图片

ORB-SLAM3的Euroc数据集测试_第4张图片

ORB-SLAM3的Euroc数据集测试_第5张图片

2、pure stereo

 运行SLAM:

cd ORB-SLAM3/Example

#run slam
./Stereo/stereo_euroc ../Vocabulary/ORBvoc.txt ./Stereo/EuRoC.yaml "$pathDatasetEuroc"/MH03 ./Stereo/EuRoC_TimeStamps/MH03.txt dataset-MH03_stereo

ORB-SLAM3的Euroc数据集测试_第6张图片

 利用ORB-SLAM3自带模块评估(ate):

cd ORB-SLAM3/Example

#evaluate & plot
python ../evaluation/evaluate_ate_scale.py ../evaluation/Ground_truth/EuRoC_left_cam/MH03_GT.txt f_dataset-MH03_stereo.txt --plot MH03_stereo.pdf

运行结果: 

ORB-SLAM3的Euroc数据集测试_第7张图片

evo评估 (ate):

#plot trajct
evo_traj tum f_dataset-MH03_stereo.txt --ref=MH03_groundtruth.txt -p -a -s


#evaluate ate
evo_ape tum f_dataset-MH03_stereo.txt MH03_groundtruth.txt -p -a -s

运行结果: 

轨迹图与投影图与上边基本一致,具体精度如下:

ORB-SLAM3的Euroc数据集测试_第8张图片

3、mono+IMU

  运行SLAM:

cd ORB-SLAM3/Example

#run slam
./Monocular-Inertial/mono_inertial_euroc ../Vocabulary/ORBvoc.txt ./Monocular-Inertial/EuRoC.yaml "$pathDatasetEuroc"/MH03 ./Monocular-Inertial/EuRoC_TimeStamps/MH03.txt dataset-MH03_mono_inertial

 利用ORB-SLAM3自带模块评估(ate):

cd ORB-SLAM3/Example

#evaluate & plot
python ../evaluation/evaluate_ate_scale.py ../evaluation/Ground_truth/EuRoC_left_cam/MH03_GT.txt f_dataset-MH03_mono_inertial.txt --plot MH03_mono_inertial.pdf

评估结果: 

evo评估 (ate):

#plot trajct
evo_traj tum f_dataset-MH03_mono_inertial.txt --ref=MH03_groundtruth.txt -p -a -s


#evaluate ate
evo_ape tum f_dataset-MH03_mono_inertial.txt MH03_groundtruth.txt -p -a -s

评估结果: 

ORB-SLAM3的Euroc数据集测试_第9张图片

4、stereo+IMU

   运行SLAM:

cd ORB-SLAM3/Example

#run slam
./Stereo-Inertial/stereo_inertial_euroc ../Vocabulary/ORBvoc.txt ./Stereo-Inertial/EuRoC.yaml "$pathDatasetEuroc"/MH03 ./Stereo-Inertial/EuRoC_TimeStamps/MH03.txt dataset-MH03_stereo_inertial

 利用ORB-SLAM3自带模块评估(ate):

cd ORB-SLAM3/Example

#evaluate & plot
python ../evaluation/evaluate_ate_scale.py ../evaluation/Ground_truth/EuRoC_left_cam/MH03_GT.txt f_dataset-MH03_stereo_inertial.txt --plot MH03_stereo_inertial.pdf

评估结果: 

evo评估 (ate):

#plot trajct
evo_traj tum f_dataset-MH03_stereo_inertial.txt --ref=MH03_groundtruth.txt -p -a -s


#evaluate ate
evo_ape tum f_dataset-MH03_stereo_inertial.txt MH03_groundtruth.txt -p -a -s

评估结果: 

ORB-SLAM3的Euroc数据集测试_第10张图片

(二)数据对比

ATE(全局误差)

由于:1.特征点提取后,要在distributeOctTree函数里用到了sort排序,应该是排序加入了不稳定因素,使得每次保留的特征点不一样;2.多线程:并行运行过程中,每次电脑的运行状况不同;3.算EPnP的ransac不是稳定的;导致每次运行结果都有变化,故以下结果中RMSE和SCALE取运行多次的均值。

数据 运动特征 模式

Max

(cm)

Min

(cm)

Median

(cm)

RMSE

(cm)

SCALE

MH_01

(easy)

length:80.6m

time:182s

回环多,速度慢

pure mono 10.4 0.3 3.0 3.6 --
pure stereo 6.3 0.2 2.7 3.1 1
mono+IMU 14.0 0.4 4.5 5.8 1
stereo+IMU 14.7 0.4 5.1 6.2 1

MH_02

(easy)

length:73.4m

time:150s

回环多,速度慢

pure mono 42 0.7 5.8 6.5 --
pure stereo 4.6 0 1.24 2.1 1
mono+IMU 11 0.4 3.4 4.6 0.999
stereo+IMU 8.8 0.1 2.7 3.8 1

MH_03

(medium)

length:130.9m

time:132s

回环多,距离长,速度快

pure mono 25.3 0.1 3.4 4.3 --
pure stereo 9.6 0.2 1.9 2.5 1
mono+IMU 13 0.6 5.4 6.3 0.995
stereo+IMU 10.7 0.5 3.9 5.2 0.995

MH_04

(difficult)

length:91.7m

time:99s

回环少,速度快,中间有段环境光度变化大

pure mono 40.5 2.1 8.8 13.2 --
pure stereo 25.7 1.1 9.5 12.75 1.008
mono+IMU 27.8 1.8 11.5 15.55 0.986
stereo+IMU 17.2 0.7 6.0 6.6 0.998

MH_05

(difficult)

length:97.5m

time:111s

与MH04相似

pure mono 23.6 0.6 5.3 6.4 --
pure stereo 16 0.4 3.9 5.4 0.994
mono+IMU 27.3 0.3 7.6 9.2 0.992
stereo+IMU 17.4 1.4 7.4 8.5 0.991

你可能感兴趣的:(slam,自动驾驶)