Home

Awesome

Coarse-to-Fine: Learning Compact Discriminative Representation for Single-Stage Image Retrieval

Official Pytorch Implementation of the paper "Coarse-to-Fine: Learning Compact Discriminative Representation for Single-Stage Image Retrieval"<br> accept to ICCV 2023 <br>

Overall architecture

<p align="middle"> <img src="assets/framework.png"> </p>

Codes

Requirements

pip install -r requirements.txt

Data preparation

Download Google Landmarks dataset into datasets/images. Unzip the files and make the dataset structures as datasets/data/landmark/train_list.txt.

Download ROxford5k and RParis6k into datasets/images. Unzip the files and make the directory structures as follows.

datasets
  └ images
      └ roxford5k
        └ gnd_roxford5k.pkl
        └ jpg
      └ rparis6k
        └ gnd_rparis6k.pkl
        └ jpg

model weights

You can download pretrained weights from pemetric and download our model weights from Google Drive

Training

Set datapath, model, training parameters in configs/resnet50_cfcd_s1_8gpu.yaml and run

sh run_train.sh

Evaluation

  1. ROxf and RPar feature extraction, and run
sh evaler/run_extractor_roxford_rparis.sh
  1. 1M distractor feature extraction, and run
sh evaler/run_extractor_revisitop1m.sh
  1. Eval on ROxf, RPar and +1M, and run
sh evaler/run_evaluate.sh

🙏 Acknowledgments

Our pytorch implementation is derived from DOLG, Revisiting Oxford and Paris and FIRe. We thank for these great works and repos.

✏️ Citation

If the project helps your research, please consider citing our paper as follows.

@inproceedings{zhu2023coarse,
  title={Coarse-to-Fine: Learning Compact Discriminative Representation for Single-Stage Image Retrieval},
  author={Zhu, Yunquan and Gao, Xinkai and Ke, Bo and Qiao, Ruizhi and Sun, Xing},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={11260--11269},
  year={2023}
}