LeeRock / research-ms-loss

MS-Loss: Multi-Similarity Loss for Deep Metric Learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License: CC BY-NC 4.0

Multi-Similarity Loss for Deep Metric Learning (MS-Loss)

Code for the CVPR 2019 paper Multi-Similarity Loss with General Pair Weighting for Deep Metric Learning

Performance compared with SOTA methods on CUB-200-2011

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

Prepare the data and the pretrained model

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/.

Installation

pip install -r requirements.txt
python setup.py develop build

Train and Test on CUB200-2011 with MS-Loss

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).

Contact

For any questions, please feel free to reach

github@malong.com

Citation

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}
}

License

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.

About

MS-Loss: Multi-Similarity Loss for Deep Metric Learning

License:Other


Languages

Language:Python 99.9%Language:Shell 0.1%