person-re-ranking

by zhunzhong07

zhunzhong07 /person-re-ranking

Person Re-ranking (CVPR 2017)

479 Stars 164 Forks Last release: Not found 80 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Re-ranking Person Re-identification with k-reciprocal Encoding

================================================================

This code has the source code for the paper "Re-ranking Person Re-identification with k-reciprocal Encoding". Including:

  1. IDE baseline
  2. Re-ranking code
  3. CUHK03 new training/testing protocol

If you find this code useful in your research, please consider citing:

@article{zhong2017re,
  title={Re-ranking Person Re-identification with k-reciprocal Encoding},
  author={Zhong, Zhun and Zheng, Liang and Cao, Donglin and Li, Shaozi},
  booktitle={CVPR},
  year={2017}
}

The neighbor encoding method of our paper is inspired by the reference [2]. If you use the re-ranking code in your paper, please also cite:

@article{bai2016sparse,
  title={Sparse contextual activation for efficient visual re-ranking},
  author={Bai, Song and Bai, Xiang},
  journal={IEEE Transactions on Image Processing},
  year={2016},
  publisher={IEEE}
}

================================================================

Two python version of re-ranking fcuntions are added in the 'python' folder.

  1. rerankingfeature.py: re-ranking with original feature, Euclidean distance is used. Thanks Hao Luo !
  2. rerankingranklist: re-ranking with given distance matrices, handle the difference of / division between python 2 and 3. Thanks huang houjing !

Pytorch re-implementation

[Baseline + CamStyle + Random Erasing + Re-ranking]

[PersonreIDbaseline + Random Erasing + Re-ranking]

================================================================

The new training/testing protocol for CUHK03

[Dataset and state-of-the-art]

================================================================

IDE Baseline + Re-ranking

Requirements: Caffe

Requirements for

Caffe
and
matcaffe
(see: Caffe installation instructions)

Installation

  1. Build Caffe and matcaffe ```Shell cd $Re-ranking_ROOT/caffe

    Now follow the Caffe installation instructions here:

    http://caffe.berkeleyvision.org/installation.html

    make -j8 && make matcaffe ```

  2. Download pre-computed imagenet models, Market-1501 dataset and CUHK03 dataset

    Shell
    Please download the pre-trained imagenet models and put it in the "data/imagenet_models" folder.
    Please download Market-1501 dataset and unzip it in the "evaluation/data/Market-1501" folder. 
    Please download CUHK03 dataset and unzip it in the "evaluation/data/CUHK03" folder.
    

Training and testing IDE model

  1. Training ```Shell cd $Re-rankingROOT # train IDE ResNet50 for Market-1501 ./experiments/Market-1501/trainIDEResNet_50.sh

# train IDE ResNet50 for CUHK03 ./experiments/CUHK03/trainIDEResNet50labeled.sh ./experiments/CUHK03/trainIDEResNet50detected.sh

2. Feature Extraction
Shell cd $Re-rankingROOT/evaluation # extract feature for Market-1501 matlab Market1501extract_feature.m

# extract feature for CUHK03 matlab CUHK03extractfeature.m ```

  1. Evaluation ```Shell # evaluation for Market-1501 matlab Market1501evaluation.m

# evaluation for CUHK03 matlab CUHK03_evaluation.m ```

Results

You can download our pre-trained IDE models and IDE features, and put them in the "output" and "evaluation/feat" folder, respectively.

Using the above IDE models and IDE features, you can reproduce the results with our re-ranking method as follows:

  • Market-1501

|Methods |   [email protected] | mAP| | -------- | ----- | ---- | |IDEResNet50 + Euclidean | 78.92% | 55.03%| |IDEResNet50 + Euclidean + re-ranking | 81.44% | 70.39%| |IDEResNet50 + XQDA | 77.58% | 56.06%| |IDEResNet50 + XQDA + re-ranking | 80.70% | 69.98%|

For Market-1501, these results are better than those reported in our paper, since we add a dropout = 0.5 layer after pool5.

  • CUHK03 under the new training/testing protocol

| | Labeled | Labeled| detected | detected| | -------| ----- | ---- |---- |---- | |Methods | [email protected] | mAP| [email protected] | mAP| |BOW + XQDA [1] | 7.93% | 7.29%|6.36% | 6.39%| |BOW + XQDA + re-ranking | 8.93% | 9.94%|8.29% | 8.81%| |LOMO + XQDA [3] | 14.8% | 13.6%|12.8% | 11.5%| |LOMO + XQDA + re-ranking | 19.1% | 20.8%|16.6% | 17.8%| |IDECaffeNet + Euclidean | 15.6% | 14.9%| 15.1% | 14.2%| |IDECaffeNet + Euclidean + re-ranking | 19.1% | 21.3%|19.3% | 20.6%| |IDECaffeNet + XQDA | 21.9% | 20.0%|21.1% | 19.0%| |IDECaffeNet + XQDA + re-ranking | 25.9% | 27.8%|26.4% | 26.9%| |IDEResNet50 + Euclidean | 22.2% | 21.0%|21.3% | 19.7%| |IDEResNet50 + Euclidean + re-ranking | 26.6% | 28.9%|24.9% | 27.3%| |IDEResNet50 + XQDA | 32.0% | 29.6%|31.1% | 28.2%| |IDEResNet50 + XQDA + re-ranking | 38.1% | 40.3%|34.7% | 37.4%|

References

[1] Scalable Person Re-identification: A Benchmark. Zheng, Liang and Shen, Liyue and Tian, Lu and Wang, Shengjin and Wang, Jingdong and Tian, Qi. In ICCV 2015.

[2] Sparse contextual activation for efficient visual re-ranking. Bai, Song and Bai, Xiang. IEEE Transactions on Image Processing. 2016

[3] Person re-identification by local maximal occurrence representation and metric learning. Liao S, Hu Y, Zhu X, et al. In CVPR. 2015

Contact us

If you have any questions about this code, please do not hesitate to contact us.

Zhun Zhong

Liang Zheng

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.