We examined the DA impact per model architectures for VPR from previously unexplored angles. By designing a thorough empirical study, we revealed multiple essential insights:
- The effect of data augmentation is not universally applicable to all VPR models, and even with the same DA, performance may or may not be improved depending on the learning method.
- Even if the dataset, which already contains various realistic constraints, is used for learning, applying data augmentation in classification-based learning methods greatly improves performance.
- Using VPR-inductive biased DA in conjunction with cross-entropy loss makes it easier to optimize VPR performance.
After downloading the SF-XL dataset, simply run
python train.py \
--data_path PATH/TO/DATASET \
--backbone ResNet50 \
--pooling gem \
--fc_output_dim 4096 \
--train_aug RRC_RA \
--use_amp16You can test a trained model as such
python eval.py \
--dataset_folder PATH/TO/DATASET \
--test_queries queries_v2 \
--backbone ResNet50 \
--pooling gem \
--fc_output_dim 4096 \
--train_aug RRC_RA \
--resume_model PATH/TO/RESUME| Traning Configuration | Performance | ||||||
|---|---|---|---|---|---|---|---|
| Loss | Pooling | Training Dataset | Augmentation | SF-XL v1 | Pitts30k | Tokyo247 | Trained model |
| WSTRL | NetVLAD | Pitts30k | Base | 41.0 | 81.51 | 62.86 | link |
| RRC+CJ | 37.1 | 80.34 | 60.63 | link | |||
| RA | 40.6 | 81.32 | 62.86 | link | |||
| RA+CO | 41.1 | 81.28 | 62.86 | link | |||
| LMCL | GeM | SF-XL(small) | Base | 56.8 | 81.75 | 58.73 | link |
| RRC+CJ | 61.7 | 84.98 | 72.06 | link | |||
| RA | 63.5 | 86.28 | 69.84 | link | |||
| RA+CO | 63.4 | 86.74 | 70.79 | link | |||
If you questions regarding our code or dataset, feel free to open an issue or send an email to gist.acsl.suji@gmail.com
Parts of this repo are inspired by the following repositories:
Here is the bibtex to cite our paper