Code for the CVPR 2019 paper Multi-Similarity Loss with General Pair Weighting for Deep Metric Learning
Rank@K | 1 | 2 | 4 | 8 | 16 | 32 |
---|---|---|---|---|---|---|
Clustering64 | 48.2 | 61.4 | 71.8 | 81.9 | - | - |
ProxyNCA64 | 49.2 | 61.9 | 67.9 | 72.4 | - | - |
Smart Mining64 | 49.8 | 62.3 | 74.1 | 83.3 | - | |
Our MS-Loss64 | 57.4 | 69.8 | 80.0 | 87.8 | 93.2 | 96.4 |
HTL512 | 57.1 | 68.8 | 78.7 | 86.5 | 92.5 | 95.5 |
ABIER512 | 57.5 | 68.7 | 78.3 | 86.2 | 91.9 | 95.5 |
Our MS-Loss512 | 65.7 | 77.0 | 86.3 | 91.2 | 95.0 | 97.3 |
Download the dataset from CUB, put it in the ./resource/datasets/ folder, and build data list (train.txt test.txt) as below:
train/020.Yellow_breasted_Chat/Yellow_Breasted_Chat_0075_21715.jpg,0
train/020.Yellow_breasted_Chat/Yellow_Breasted_Chat_0012_21961.jpg,0
train/043.Yellow_bellied_Flycatcher/Yellow_Bellied_Flycatcher_0008_42703.jpg,1
train/043.Yellow_bellied_Flycatcher/Yellow_Bellied_Flycatcher_0009_795510.jpg,1
train/043.Yellow_bellied_Flycatcher/Yellow_Bellied_Flycatcher_0003_795487.jpg,1
Download the imagenet pretrained model of bninception and put it in the folder: ~/.torch/models/.
pip install -r requirements.txt
python setup.py develop build
sh run_cub.sh
Trained models will be saved in the ./output/ folder if using the default config.
Best recall@1 higher than 66 (65.7 in the paper).
For any questions, please feel free to reach
github@malong.com
If you use this method or this code in your research, please cite as:
@inproceedings{wang2019multi,
title={Multi-Similarity Loss with General Pair Weighting for Deep Metric Learning},
author={Wang, Xun and Han, Xintong and Huang, Weilin and Dong, Dengke and Scott, Matthew R},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
pages={5022--5030},
year={2019}
}
MS-Loss is CC-BY-NC 4.0 licensed, as found in the LICENSE file. It is released for academic research / non-commercial use only. If you wish to use for commercial purposes, please contact bd@malong.com.