Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lichunshang/deep_ekf_vio
https://github.com/lichunshang/deep_ekf_vio
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/lichunshang/deep_ekf_vio
- Owner: lichunshang
- Created: 2019-01-21T21:12:19.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-08-02T09:02:26.000Z (over 1 year ago)
- Last Synced: 2024-05-21T12:40:42.523Z (8 months ago)
- Language: Python
- Size: 23.4 MB
- Stars: 94
- Watchers: 3
- Forks: 34
- Open Issues: 4
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
- Awesome-SLAM - Deep EKF VIO
README
# Deep EKF VIO
This is the continuation of using an EKF as part of an end-to-end learnable network (https://github.com/lichunshang/end_to_end_odometry)
to fuse vision and IMU. In this work
an robocentric EKF formulation is used as part of a deep CNN LSTM network to learn visual inertial odoemtry in an end to
end manner. Good results are obtained in the KITTI dataset, however it performs poorly in the EUROC MAV dataset due to
its CNN-LSTM not generalizing well to 3D motion on small amount of data. You can find more details regarding this work in
https://github.com/lichunshang/deep_ekf_vio/blob/master/docs/report.pdf including all the derivations and diagrams.
This repository started out as a fork to https://github.com/ChiWeiHsiao/DeepVO-pytorch, however it has been changed
extensively for our project.Note code is still in the process of being cleaned up...
## Dependencies:
See `docker/cuda10.1/Dockerfile` for list of dependencies## Example Usage:
Change parameters "/home/cs4li/Dev/deep_ekf_vio" to the appropriate directory in param.py
Help:
`python main.py -h`#### KITTI Folder Layout:
```
path_to_KITTI_dir/
- dataset/
- 2011_09_30/
- 2011_09_30_drive_0034_extract
- image_02
- oxts
- ...
- 2011_10_03/
- 2011_10_03_drive_0027_extract
- image_02
- oxts
- ...
```#### EUROC Folder Layout:
```
path_to_EUROC_dir/
- MH_01/
- mav0/
- 2011_09_30_drive_0034_extract
- cam0
- imu0
- state_groundtruth_estimate0
- ...
```#### Preprocessing:
Change parameters "/home/cs4li/Dev/deep_ekf_vio" to the appropriate directory the shell scripts`preprocess_kitti_seqs.sh` (need MATLAB with geographic lib installed)
`preprocess_euroc_seqs.sh`
#### Training:
Get the pretrain flownet weights from [here](https://drive.google.com/drive/folders/16eo3p9dO_vmssxRoZCmWkTpNjKRzJzn5).`python3 main.py --description --gpu_id 0`
#### Evaluation:
`python3 results_directory/main.py --gpu_id 0 --run_eval_only`## System Architecture:
![Alt text](docs/e2evio_system.png)