GSLAM
3.0.0
|
As most benchmarks only provide datasets with or without ground-truth for users to perform evaluations by themselves.
GSLAM provides a build-in plugin and script tools for both computation performance and accuracy evaluation.
Benefit from the united interface of GSLAM, the evaluation tool can not only evaluate the accuracy but efficiency.
The recordings of memory usage and memory allocated numbers are started after the SLAM application loaded, and updated after every frame processed. CPU usage is updated when the process occupied CPU time increases a curtain value. Frame duration is measured by the time between current frame published and processed.
For a slam plugin such as orbslam, we want to evaluate it's localization precision. GSLAM provided an application named metric_traj for evaluation when running a slam, such as running orbslam with metric_traj:
This will save two file: 'orbslam_traj_vo.txt' and 'orbslam_traj_final.txt'. The vo trajectory subscribe topic "orbslam/curframe" and record the realtime tracking results. The final trajectory subscribes topic "orbslam/map" and outputs all keyframe poses.
Use metric_time to generate time logger file: slamname_metric_time.txt.
Use metric_cpu to generate cpu usage logger such as: orbslam_metric_cpu.txt.
Those metrics can work at the same time. Here below is the content of 'orbslam_metric_cpu.txt':
The first column is the frame id, the second colum is the corrosponding cpu usage.
To moniter the memory usage, we had to use another excuable 'gslam_evaluate" instead of 'gslam':
All other things remains the same. Here is the txt content, every line contains 'id memory_in_bytes memory_slices":