Home

Awesome

DOLG: Single-Stage Image Retrieval with Deep Orthogonal Fusion of Local and Global Features (ICCV 2021)

Pipeline

<p align="center"><img width="90%" src="imgs/figure2.png" /></p>

Performances

<p align="center"><img width="100%" src="imgs/result_overview.png" /></p>

modified results (should follow cropping results)

Roxf-M+1MRpar-M+1MRoxf-H+1MRpar-H+1M
DOLG-R50(with query cropping)81.2071.3690.0778.9962.5547.3479.2059.75
DOLG-R101(with query cropping)82.3773.6390.9780.4464.9351.5781.7162.95
DOLG-R50(w/o query cropping)82.3877.7890.9482.1662.9255.4880.4865.77
DOLG-R101(w/o query cropping)83.2278.9691.6482.8964.8357.8682.5667.34

+1M results is updated.

Codes

Requirements

pip install -r requirements.txt

Training

  1. Find datasets via symlinks from datasets/data to the actual locations where the dataset images and annotations are stored. Refer to DATA.md.

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

python train.py \
    --cfg configs/resnet101_delg_8gpu.yaml \
    OUT_DIR ./output \
    PORT 13001 \
    TRAIN.WEIGHTS ./pretrained/R-101-1x64d_dds_8gpu.pyth

Evaluation

  1. ROxf and RPar feature extraction, set ${total_num}=1 and run
python evaler/infer.py --cfg configs/resnet101_delg_8gpu.yaml
  1. 1M distractor feature extraction, set ${total_num} = n * ${gpu_cards} in configs/resnet101_delg_8gpu.yaml and run
sh scripts/run_extractor.sh configs/resnet101_delg_8gpu.yaml
  1. Eval on ROxf and RPar, refer README.md for data fetch and description. Groudtruth file and some examples are prepared in revisitop.

Wights

Citation

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

@InProceedings{Yang_2021_ICCV,
    author={Yang, Min and He, Dongliang and Fan, Miao and Shi, Baorong and Xue, Xuetong and Li, Fu and Ding, Errui and Huang, Jizhou},
    title={DOLG: Single-Stage Image Retrieval With Deep Orthogonal Fusion of Local and Global Features},
    booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month={October},
    year={2021},
    pages={11772-11781}
}

References

pycls(https://github.com/facebookresearch/pycls) pymetric(https://github.com/feymanpriv/pymetric) DELG(https://github.com/feymanpriv/DELG) Parsing-R-CNN(https://github.com/soeaver/Parsing-R-CNN)