MATLAB code of our NCAA 2020 paper:
"Visual Localization Under Appearance Change: Filtering Approaches" - NCAA 2020. Anh-Dzung Doan, Yasir Latif, Tat-Jun Chin, Yu Liu, Shin-Fang Ch’ng, Thanh-Toan Do, and Ian Reid. [pdf]
If you use/adapt our code, please kindly cite our paper.
Comparison results on Oxford RobotCar dataset [3] between PoseNet [1], MapNet [2], and our method
[1] Alex Kendall, Matthew Grimes, and Roberto Cipolla, "PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization", in CVPR 2015.
[2] Samarth Brahmbhatt, Jinwei Gu, Kihwan Kim, James Hays, and Jan Kautz, "Geometry-Aware Learning of Maps for Camera Localization", in CVPR 2018.
[3] Will Maddern, Geoffrey Pascoe, Chris Linegar, and Paul Newman, "1 Year, 1000km: The Oxford RobotCar Dataset", The International Journal of Robotics Research (IJRR), 2016.
- VLFeat library, version 0.9.21 (http://www.vlfeat.org/)
- yael library (http://yael.gforge.inria.fr/)
- Piotr's Computer Vision Matlab Toolbox (https://pdollar.github.io/toolbox/)
- Some codes adapted from Akihiko Torii and Relja Arandjelovic (http://www.ok.ctrl.titech.ac.jp/~torii/project/247/)
We included, compiled and tested all 3rd-party libraries on MATLAB R2018a, Ubuntu 16.04 LTS 64 bit
-
For precomputed features, please download work_dir.zip from here and unzip it to the source code's directory.
-
If you want to extract features from original images, please download original images from here.
- Unzip
2014-06-26-08-53-56.zip
,2014-06-26-09-24-58.zip
, and2014-06-23-15-41-25.zip
todataset/alternate/
- Unzip
2014-11-28-12-07-13.zip
,2014-12-02-15-30-08.zip
, and2014-12-09-13-21-02.zip
todataset/full/
- Unzip
-
Projection and whitening matrices are adapted from DenseVLAD paper of Torii et al. (http://www.ok.ctrl.titech.ac.jp/~torii/project/247/)
Currently, we only publish the code to test Oxford RobotCar dataset with alternate (1km) and full (10km) routes. We will publish code for GTA dataset soon
Run extractFeatures.m
to extract features.
Note that please change the route
variable to alternate
(1km) or full
(10km)
- Run
doMCVL.m
to perform visual localization with MCVL.doHMM.m
to perform visual localization with HMM.
- Note that please change the
route
variable toalternate
(1km) orfull
(10km)
After finishing, it will show mean/median errors, and plot the predicted trajectory same as Figure 8d and 8g within the paper
If you have any questions, feel free to contact me