This GUI application is designed to test the performance of DIFODO (visual odometry method) with the TUM/Freiburg datasets (which have been adapted/included in MRPT as rawlog files here). Only the ground truth and the depth images are used.
A configuration file can be used to customize the most important parameters of the method (there is an embedded config file that is loaded by default but you should at least change the rawlog file path). These parameters are:
* downsample -> This parameters allows to downsample the camera images before building the gaussian pyramid (useful mainly to increase speed).
* rows and cols ->The resolution of the finest level of the pyramid (coarse-to-fine scheme).
* ctf_levels -> The number of pyramid levels (coarse-to-fine scheme).
* filename -> Absolute path of the rawlog file.
2. Underlying classes
This application uses the following main classes from the MRPT C++ library:
- mrpt::vision::CDifodo: Visual odometry main class.
- mrpt::opengl::COpenGLScene: To display the camera trajectory.
- mrpt::obs::CRawlog: Necessary to load the dataset.
- mrpt::obs::CObservation3DRangeScan: Necessary to load the range images of the dataset.
Other dependencies (also embedded in the MRPT):
The source code for this application is in the directory “apps/DifOdometry-Datasets” of the MRPT tree.
3. Command line options
Although this is mainly an interactive program with a GUI and doesn’t need any argument to be run, some useful functionalities can be called by means of command line arguments. By invoking DifOdometry-Datasets –help you will obtain the list of accepted arguments:
DifOdometry-Datasets [-h] [-c] [-cc ] [-s]
Display usage information and exit.
-c, --config FILE.txt
Load FILE.txt as config file (instead of using default parameters).
-cc, --create-config FILE.txt
Save the default config parameters as FILE.txt and exit.
-s , --save-logfile
Enable saving a logfile with results of the experiments including:
- Frame to frame rotational and translational error
- Absolute rotational and translational error
- Execution time
- Number of valid points