This repository contains implementation of the following paper:
Deep Metric Learning to Rank
Fatih Cakir*, Kun He*, Xide Xia, Brian Kulis, and Stan Sclaroff (*equal contribution)
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019
FastAPLoss from pytorch-metric-learning
- Matlab: see
matlab/README.md
- PyTorch: see
pytorch/README.md
- Stanford Online Products
- Can be downloaded here
- In-Shop Clothes Retrieval
- Can be downloaded here
- PKU VehicleID
- Please request the dataset from the authors here
- We provide trained MatConvNet models and experimental logs for the results in the paper. These models were used to achieve the results in the tables.
- The logs also include parameters settings that enable one to re-train a model if desired. It also includes evaluation results with model checkpoints at certain epochs.
-
Table 1: Stanford Online Products
- FastAP, ResNet-18, M=256, Dim=512: [model @ epoch 20, log]
- FastAP, ResNet-50, M=96, Dim=128: [model @ epoch 30, log]
- FastAP, ResNet-50, M=96, Dim=512: [model @ epoch 28, log]
- FastAP, ResNet-50, M=256, Dim=512: [model @ epoch 12, log]
-
Table 2: In-Shop Clothes
- FastAP, ResNet-18, M=256, Dim=512: [model @ epoch 50, log]
- FastAP, ResNet-50, M=96, Dim=512: [model @ epoch 40, log]
- FastAP, ResNet-50, M=256, Dim=512: [model @ epoch 35, log]
-
Table 3: PKU VehicleID
- FastAP, ResNet-18, M=256, Dim=512: [model @ epoch 50, log]
- FastAP, ResNet-50, M=96, Dim=512: [model @ epoch 40, log]
- FastAP, ResNet-50, M=256, dim=512: [model @ epoch 30, log]
(M=mini-batch size)
-
- PyTorch code is a direct port from our MATLAB implementation. We haven't tried reproducing the paper results with our PyTorch code. For reproducibility use the MATLAB version.
- Note that the mini-batch sampling strategy must also be used alongside the FastAP loss for good results.
For questions and comments, feel free to contact: kunhe@fb.com or fcakirs@gmail.com
MIT