Skip to content

open-mmlab/OpenUnReID

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
July 1, 2020 22:02
January 15, 2021 18:24
March 8, 2021 15:17
June 14, 2021 16:43
July 2, 2020 23:42
July 1, 2020 22:02
July 1, 2020 22:02
October 13, 2020 23:54
July 31, 2020 00:52

OpenUnReID

Introduction

OpenUnReID is an open-source PyTorch-based codebase for both unsupervised learning (USL) and unsupervised domain adaptation (UDA) in the context of object re-ID tasks. It provides strong baselines and multiple state-of-the-art methods with highly refactored codes for both pseudo-label-based and domain-translation-based frameworks. It works with Python >=3.5 and PyTorch >=1.1.

We are actively updating this repo, and more methods will be supported soon. Contributions are welcome.

Major features

  • Distributed training & testing with multiple GPUs and multiple machines.
  • High flexibility on various combinations of datasets, backbones, losses, etc.
  • GPU-based pseudo-label generation and k-reciprocal re-ranking with quite high speed.
  • Plug-and-play domain-specific BatchNorms for any backbones, sync BN is also supported.
  • Mixed precision training is supported, achieving higher efficiency.
  • A strong cluster baseline, providing high extensibility on designing new methods.
  • State-of-the-art methods and performances for both USL and UDA problems on object re-ID.

Supported methods

Please refer to MODEL_ZOO.md for trained models and download links, and please refer to LEADERBOARD.md for the leaderboard on public benchmarks.

Method Reference USL UDA
UDA_TP PR'20 (arXiv'18)
SPGAN CVPR'18 n/a
SSG ICCV'19 ongoing ongoing
strong_baseline Sec. 3.1 in ICLR'20
MMT ICLR'20
SpCL NeurIPS'20
SDA arXiv'20 n/a ongoing

Updates

[2020-08-02] Add the leaderboard on public benchmarks: LEADERBOARD.md

[2020-07-30] OpenUnReID v0.1.1 is released:

  • Support domain-translation-based frameworks, CycleGAN and SPGAN.
  • Support mixed precision training (torch.cuda.amp in PyTorch>=1.6), use it by adding TRAIN.amp True at the end of training commands.

[2020-07-01] OpenUnReID v0.1.0 is released.

Installation

Please refer to INSTALL.md for installation and dataset preparation.

Get Started

Please refer to GETTING_STARTED.md for the basic usage of OpenUnReID.

License

OpenUnReID is released under the Apache 2.0 license.

Citation

If you use this toolbox or models in your research, please consider cite:

@inproceedings{ge2020mutual,
  title={Mutual Mean-Teaching: Pseudo Label Refinery for Unsupervised Domain Adaptation on Person Re-identification},
  author={Yixiao Ge and Dapeng Chen and Hongsheng Li},
  booktitle={International Conference on Learning Representations},
  year={2020},
  url={https://openreview.net/forum?id=rJlnOhVYPS}
}

@inproceedings{ge2020selfpaced,
    title={Self-paced Contrastive Learning with Hybrid Memory for Domain Adaptive Object Re-ID},
    author={Yixiao Ge and Feng Zhu and Dapeng Chen and Rui Zhao and Hongsheng Li},
    booktitle={Advances in Neural Information Processing Systems},
    year={2020}
}

Acknowledgement

Some parts of openunreid are learned from torchreid and fastreid. We would like to thank for their projects, which have boosted the research of supervised re-ID a lot. We hope that OpenUnReID could well benefit the research community of unsupervised re-ID by providing strong baselines and state-of-the-art methods.

Contact

This project is developed by Yixiao Ge (@yxgeee), Tong Xiao (@Cysu), Zhiwei Zhang (@zwzhang121).