All Projects → Simon4Yan → Learning Via Translation

Simon4Yan / Learning Via Translation

Licence: mit
Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity for Person Re-identification (https://arxiv.org/pdf/1711.07027.pdf). CVPR2018

Programming Languages

matlab
3953 projects

Projects that are alternatives of or similar to Learning Via Translation

Self Similarity Grouping
Self-similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-identification (ICCV 2019, Oral)
Stars: ✭ 171 (-15.35%)
Mutual labels:  domain-adaptation, person-reidentification
Generalizing Reid
Repository of the paper "Generalizing Person Re-Identification by Camera-Aware Instance Learning and Cross-Domain Mixup"
Stars: ✭ 28 (-86.14%)
Mutual labels:  domain-adaptation, person-reidentification
Eanet
EANet: Enhancing Alignment for Cross-Domain Person Re-identification
Stars: ✭ 380 (+88.12%)
Mutual labels:  domain-adaptation, person-reidentification
Shot
code released for our ICML 2020 paper "Do We Really Need to Access the Source Data? Source Hypothesis Transfer for Unsupervised Domain Adaptation"
Stars: ✭ 134 (-33.66%)
Mutual labels:  domain-adaptation
Domain Adaptive Faster Rcnn Pytorch
Domain Adaptive Faster R-CNN in PyTorch
Stars: ✭ 135 (-33.17%)
Mutual labels:  domain-adaptation
Person Reid Gan Pytorch
A Pytorch Implementation of "Unlabeled Samples Generated by GAN Improve the Person Re-identification Baseline in vitro"(ICCV17)
Stars: ✭ 147 (-27.23%)
Mutual labels:  person-reidentification
Cbst
Code for <Domain Adaptation for Semantic Segmentation via Class-Balanced Self-Training> in ECCV18
Stars: ✭ 146 (-27.72%)
Mutual labels:  domain-adaptation
Dise Domain Invariant Structure Extraction
Pytorch Implementation -- All about Structure: Adapting Structural Information across Domains for Boosting Semantic Segmentation, CVPR 2019
Stars: ✭ 129 (-36.14%)
Mutual labels:  domain-adaptation
Reid Mgn
Reproduction of paper: Learning Discriminative Features with Multiple Granularities for Person Re-Identification
Stars: ✭ 145 (-28.22%)
Mutual labels:  person-reidentification
Dta.pytorch
Official implementation of Drop to Adapt: Learning Discriminative Features for Unsupervised Domain Adaptation, to be presented at ICCV 2019.
Stars: ✭ 144 (-28.71%)
Mutual labels:  domain-adaptation
Dann py3
python 3 pytorch implementation of DANN
Stars: ✭ 164 (-18.81%)
Mutual labels:  domain-adaptation
Cdcl Human Part Segmentation
Repository for Paper: Cross-Domain Complementary Learning Using Pose for Multi-Person Part Segmentation (TCSVT20)
Stars: ✭ 143 (-29.21%)
Mutual labels:  domain-adaptation
Naic person reid dmt
This is Top 3 Code for the Person ReID Compitition of NAIC
Stars: ✭ 137 (-32.18%)
Mutual labels:  person-reidentification
Squeezesegv2
Implementation of SqueezeSegV2, Improved Model Structure and Unsupervised Domain Adaptation for Road-Object Segmentation from a LiDAR Point Cloud
Stars: ✭ 154 (-23.76%)
Mutual labels:  domain-adaptation
Combogan
Stars: ✭ 134 (-33.66%)
Mutual labels:  domain-adaptation
Crst
Code for <Confidence Regularized Self-Training> in ICCV19 (Oral)
Stars: ✭ 177 (-12.38%)
Mutual labels:  domain-adaptation
Neuraldialog Zsdg
PyTorch codebase for zero-shot dialog generation SIGDIAL 2018, It is released by Tiancheng Zhao (Tony) from Dialog Research Center, LTI, CMU
Stars: ✭ 131 (-35.15%)
Mutual labels:  domain-adaptation
Attribute Aware Attention
[ACM MM 2018] Attribute-Aware Attention Model for Fine-grained Representation Learning
Stars: ✭ 143 (-29.21%)
Mutual labels:  person-reidentification
Bnm
code of Towards Discriminability and Diversity: Batch Nuclear-norm Maximization under Label Insufficient Situations (CVPR2020 oral)
Stars: ✭ 192 (-4.95%)
Mutual labels:  domain-adaptation
Person Reid 3d
🗽 Parameter-Efficient Person Re-identification in the 3D Space 🗽
Stars: ✭ 193 (-4.46%)
Mutual labels:  person-reidentification

Learning-via-Translation

Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity for Person Re-identification (https://arxiv.org/pdf/1711.07027.pdf)


Framework Overview

Learning via translation for domain adaptation in person re-ID consists of two steps:

1. Source-target image translation

The first step is to translate the annotated dataset from source domain to target domain in an unsupervised manner.

For more reference, you can find our modified training code and generating code in ./SPGAN. We wrote a detailed README. If you still has some question, feel free to contact me ([email protected]).

2. Feature learning

With the translated dataset that contains labels, feature learning methods are applied to train re-ID models.

Feature Learning

The code for re-ID feature learning is mainly modified from IDE.

Train

  1. Train baselines:
 cd $IDE_ROOT
  # train IDE on Market-1501
  ./experiments/market/train_IDE_ResNet_50_baseline.sh  
  # train IDE on DukeMTMC-reID
  ./experiments/duke/train_IDE_ResNet_50_baseline.sh
  # The IDE models for Market-1501 and DukeMTMC-reID are saved under: "out/market_train" and "out/duke_train", respectively
  # If you encounter this problem: bash: ./experiments/market/train_IDE_ResNet_50_baseline.sh: Permission denied
  # Please execute: chmod 777 -R experiments/
  1. Train IDE models trained on the translated images:
 cd $IDE_ROOT
  # train IDE on Market-1501
  ./experiments/market/train_IDE_ResNet_50_domain.sh  
  # train IDE on DukeMTMC-reID
  ./experiments/duke/train_IDE_ResNet_50_domain.sh

Feature Extraction

# 1. Market-1501:
cd $IDE_ROOT/market_evaluation
Run Matlab: extract_feature.m
# The IDE features are saved under: "market_evaluation/feat"
# 2. DukeMTMC-reID:
cd $IDE_ROOT/duke_evaluation
Run Matlab: extract_feature.m
# The IDE features are saved under: "duke_evaluation/feat"

Evaluation

  Run Matlab: baseline_evaluation_IDE.m

Trained Model

  • Baseline models

    IDE_Market and IDE_Duke: Onedrive; Baidu Yun

  • IDE models trained on the translated images:

    IDE_Market2duke (SPGAN) and IDE_Duke2Market (SPGAN): Onedrive; Baidu Yun

Results

(see more details in paper)

Contributing

If you have an implementation for a different framework, or an enhanced version of the current code, feel free to contribute to the repository. For any issues related to the code you can use the issue tracker from GitHub.

References

[1] W. Deng, L. Zheng, Q. Ye, G. Kang, Y. Yang, and J. Jiao. Image-image domain adaptation with preserved self-similarity and domain-dissimilarity for person re-identification. arXiv preprint arXiv:1711.07027, 2017.

[2] L. Zheng, Y. Yang, and A. G. Hauptmann. Person reidentification: Past, present and future. arXiv preprint arXiv:1610.02984, 2016.

@inproceedings{image-image18,
 author    = {Weijian Deng and
              Liang Zheng and
              Qixiang Ye and
              Guoliang Kang and
              Yi Yang and
              Jianbin Jiao},
 title     = {Image-Image Domain Adaptation with Preserved Self-Similarity and Domain-Dissimilarity
              for Person Re-identification},
 booktitle = {CVPR},
 year      = {2018},
}

License

The code is released under the MIT License. See the attached LICENSE file.

Frequently Asked Questions

Q1: The direct transfer performance using pytorch is much lower than caffe.

Ans: We find the BN is the key factor to this gap, and see more in here.

Q2: Train IDE or IDE+ by using pytorch?

Ans: Yes, we recommend Person_reID_baseline_pytorch. Note that bn needed to be fixed (see Q1).

(We also give a simple code of IDE and IDE+ here, which is modifed from Person_reID_baseline_pytorch).

Q3: The pytorch vision of "Learning via translation".

Ans: Yes, please see here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].