This repository contains both the rendering of motion blur and evaluation of the results when running on these datasets ORB-SLAM3 and DM-VIO. The results were presented in my thesis.
At first a file structure was created as:
└── Results folder
| └── Dataset sequence
| └── dm_vio
| | └── ev: specific folder name: eg. without_pc
| | └── sensor_config: withimu or withoutimu
| | └── run_X
| | ├── <resultfile>.txt
| | └── photometricerror.txt
| └── orb_slam
| | └── ev: specific folder name: eg. without_pc
| | └── sensor_config: withimu or withoutimu
| | └── run_X
| | ├── <resultfile>.txt
| | └── photometricerror.txt
| └── Groundtruth files
| └── withimu
| └── groundtruth.txt
| └── withoutimu
| └── groundtruth.txt
The implementation is based on a rotational trajectory method that uses the ground truth provided in TUM VI dataset. The code is given in src rotational_motionblur.py.
Guassian blur was rendered to compare to the motion blur, and the short code-snippet is presented in gaussian_blur.py
The results were evaluated mainly in the scripts evaluation.py and eval_funcs.py.
To take into account the groundtruth was transformed into the camera frame for the Monocular configuration in transform_groundtruth.py.