上一篇文章已经把怎么编译和运行ORB-SLAM3讲的差不多了:
EVO Evaluation of SLAM 4 — ORB-SLAM3 编译和利用数据集运行
接下来就是基于ORB-SLAM3运行的结果,利用EVO来评估其性能。
运行的ORB-SLAM3的代码是:
https://github.com/shanpenghui/ORB_SLAM3_Fixed.git
评估的主要依据ORB-SLAM3各个版本运行的结果来进行评估,下面分版本和数据集进行评估。
cd MH_01_easy/mav0/state_groundtruth_estimate0
evo_traj euroc data.csv --save_as_tum
evo_ape tum FrameTrajectory_TUM_Format.txt data.tum -p --plot -s --correct_scale -a --align -v --save_results orbslam3_stereo_ros_euroc.zip
结果:
evo_ape tum KeyFrameTrajectory.txt data.tum -p --plot -s --correct_scale -a --align -v --save_results orbslam3_mono_ros_euroc.zip
结果:
因为比较复杂,已经更新到代码中了,具体参见链接:ORB_SLAM3_Fixed
在本例中,使用的是非ros单目版本,Euroc MH_01_easy的数据集。
cd shells
./tum_vi.sh
Get the result file as :
f_dataset-mh_01_easy.txt
kf_dataset-mh_01_easy.txt
Process the ORB-SLAM3 result fileMove the result files above to the results folder
cd ORB_SLAM3_Fixed
cp f_dataset-mh_01_easy.txt results
cp kf_dataset-mh_01_easy.txt results
cd results
A.Change the file name in process_orbslam_result.py Line 6 and Line 25
Line 6-7
dataset_path = './'
file_name = 'f_dataset-mh_01_easy.txt'
B.Process calibration files
python3 process_orbslam_result.py
C.Check trjactory if it is correct
evo_traj tum raw.csv -p
D.Save trjactory into standard format
evo_traj tum raw.csv --save_as_tum
E.Compare itself(or other)
evo_traj tum raw.tum --ref=raw.tum -va -p -s
这里不用python脚本转换,可能evo升级了,最新的版本是不用转换的,运行脚本反而会出错。这里直接把gt的原文件转成tum就可以了。
rm -rf gt.csv
cp data.csv gt.csv
evo_traj euroc gt.csv -p
evo_traj euroc gt.csv --save_as_tum
evo_traj tum raw.tum --ref=gt.tum -v -a -p -s
evo_ape tum raw.tum gt.tum -v -a -p -s --save_results orbslam3_mono_unros_euroc_mh_01_easy.zip
evo_ape/evo_rpe中将结果保存为.zip文件后,可以利用evo_res对不同的结果进行比较。
例如:MH3.zip、MH3_2.zip均由evo_ape得到的,运行命令evo_res MH3.zip MH3_2.zip -v
./tum_rgbd.sh
evo_traj tum CameraTrajectory.txt -p
evo_traj tum CameraTrajectory.txt --save_as_tum
evo_traj tum groundtruth.txt -p
evo_traj tum groundtruth.txt --save_as_tum
evo_traj tum CameraTrajectory.tum --ref=groundtruth.tum -v -a -p -s
evo_ape tum CameraTrajectory.tum groundtruth.tum -v -a -p -s