Landmark2019-1st-and-3rd-Place-Solution

pipeline

The 1st Place Solution of the Google Landmark 2019 Retrieval Challenge and the 3rd Place Solution of the Recognition Challenge.

We have published two papers regarding our solution. You can check from:

Environments

You can reproduce our environments using Dockerfile provided here https://github.com/lyakaap/Landmark2019-1st-and-3rd-Place-Solution/blob/master/docker/Dockerfile

Data

Dataset statistics:

Dataset (train split) # Samples # Labels
GLD-v1 1,225,029 14,951
GLD-v2 4,132,914 203,094
GLD-v2 (clean) 1,580,470 81,313

Prepare cleaned subset

(You can skip this procedure to generate a cleaned subset. Pre-computed files are available on kaggle dataset.)

Run scripts/prepare_cleaned_subset.sh for cleaning the GLD-v2 dataset. The cleaning code requires DELF library (install instructions).

exp

Model training and inference are done in exp/ directory.

# train models by various parameter settings with 4 gpus (each training is done with 2 gpus).
python vX.py tuning -d 0,1,2,3 --n-gpu 2

# predict
python vX.py predict -m vX/epX.pth -d 0
# predict with multiple gpus
python vX.py multigpu-predict -m vX/epX.pth --scale L2 --ms -b 32 -d 0,1

Results (retrieval challenge)

Place Team Private Public
1st smlyaka (ours) 37.23 35.69
2nd imagesearch 34.75 32.25
3rd Layer 6 AI 32.18 29.85

Reference