All Projects → yanbeic → Deep-Association-Learning

yanbeic / Deep-Association-Learning

Licence: MIT license
Tensorflow Implementation on Paper [BMVC2018]Deep Association Learning for Unsupervised Video Person Re-identification

Programming Languages

python
139335 projects - #7 most used programming language
matlab
3953 projects
shell
77523 projects

Projects that are alternatives of or similar to Deep-Association-Learning

Awesome-Cross-Domain-Person-Re-identification
Awesome-Cross-Domain-Person-Re-identification
Stars: ✭ 17 (-75%)
Mutual labels:  unsupervised-learning, person-reidentification
FedReID
Implementation of Federated Learning to Person Re-identification (Code for ACMMM 2020 paper)
Stars: ✭ 68 (+0%)
Mutual labels:  person-reidentification
State-Representation-Learning-An-Overview
Simplified version of "State Representation Learning for Control: An Overview" bibliography
Stars: ✭ 32 (-52.94%)
Mutual labels:  unsupervised-learning
BIFI
[ICML 2021] Break-It-Fix-It: Unsupervised Learning for Program Repair
Stars: ✭ 74 (+8.82%)
Mutual labels:  unsupervised-learning
NTFk.jl
Unsupervised Machine Learning: Nonnegative Tensor Factorization + k-means clustering
Stars: ✭ 36 (-47.06%)
Mutual labels:  unsupervised-learning
machine-learning
Programming Assignments and Lectures for Andrew Ng's "Machine Learning" Coursera course
Stars: ✭ 83 (+22.06%)
Mutual labels:  unsupervised-learning
prescription-outliers
DDC-Outlier: Preventing medication errors using unsupervised learning
Stars: ✭ 18 (-73.53%)
Mutual labels:  unsupervised-learning
music-recommendation-system
A simple Music Recommendation System
Stars: ✭ 38 (-44.12%)
Mutual labels:  unsupervised-learning
kmeans
A simple implementation of K-means (and Bisecting K-means) clustering algorithm in Python
Stars: ✭ 18 (-73.53%)
Mutual labels:  unsupervised-learning
SimCLR
Pytorch implementation of "A Simple Framework for Contrastive Learning of Visual Representations"
Stars: ✭ 65 (-4.41%)
Mutual labels:  unsupervised-learning
RolX
An alternative implementation of Recursive Feature and Role Extraction (KDD11 & KDD12)
Stars: ✭ 52 (-23.53%)
Mutual labels:  unsupervised-learning
proto
Proto-RL: Reinforcement Learning with Prototypical Representations
Stars: ✭ 67 (-1.47%)
Mutual labels:  unsupervised-learning
adenine
ADENINE: A Data ExploratioN PipelINE
Stars: ✭ 15 (-77.94%)
Mutual labels:  unsupervised-learning
dbscan
DBSCAN Clustering Algorithm C# Implementation
Stars: ✭ 38 (-44.12%)
Mutual labels:  unsupervised-learning
spear
SPEAR: Programmatically label and build training data quickly.
Stars: ✭ 81 (+19.12%)
Mutual labels:  unsupervised-learning
machine learning from scratch matlab python
Vectorized Machine Learning in Python 🐍 From Scratch
Stars: ✭ 28 (-58.82%)
Mutual labels:  unsupervised-learning
AOS4ReID
Adversarially Occluded Samples for Person Re-identification, CVPR 2018
Stars: ✭ 32 (-52.94%)
Mutual labels:  person-reidentification
PlanSum
[AAAI2021] Unsupervised Opinion Summarization with Content Planning
Stars: ✭ 25 (-63.24%)
Mutual labels:  unsupervised-learning
SimCLR-in-TensorFlow-2
(Minimally) implements SimCLR (https://arxiv.org/abs/2002.05709) in TensorFlow 2.
Stars: ✭ 75 (+10.29%)
Mutual labels:  unsupervised-learning
Improved-Wasserstein-GAN-application-on-MRI-images
Improved Wasserstein GAN (WGAN-GP) application on medical (MRI) images
Stars: ✭ 23 (-66.18%)
Mutual labels:  unsupervised-learning

Deep-Association-Learning

Tensorflow Implementation of the paper Chen et al. Deep Association Learning for Unsupervised Video Person Re-identification. BMVC2018. You may refer to our poster for a quick overview.

Getting Started

Prerequisites:

  • Datasets: PRID2011 [3], iLIDS-VIDS [4], MARS [5].
  • Python 2.7.
  • Tensorflow version >= 1.4.0. (For model training)
  • Matlab. (For model evaluation)

Data preparation:

  1. Download ImageNet pretrained models: mobilenet_v1 [1], resnet_v1_50 [2].

  2. Convert image data to tfrecords. (Need to supply your paths in the following .sh file. Check the TODO comments in the .sh file.)

bash scripts/tf_convert_data.sh

Running Experiments

Training:

Train models and extract features. (Need to supply your paths in the following .sh file. Check the TODO comments in the .sh file.)

Model implementation include the following .py files:

  • train_dal.py: build and run the training graph.
  • association.py: build the anchor learning graph and compute the association losses.
  • network.py: define the network.
  • utils.py: data preparation.

For example, to train the DAL model using mobilenet_v1 on MARS, run the the following scripts.

bash scripts/train_MARS.sh

Note that you may modify the type of deep model by changing the flag --model_name (eg. --model_name=resnet_v1_50). You can also modify the number of gpus by changing the flag --num_gpus. (eg. --num_gpus=2).

Testing:

Test model performance in matlab. Evaluation codes are placed under the directory evaluation.

For examples, to test the DAL model performance trained on MARS in matlab, run the following command.

clear; model_name = 'mobilenet_b64_dal'; CMC_mAP_MARS

Citation

Please refer to the following if this repository is useful for your research.

Bibtex:

@inproceedings{chen2018bmvc,
  title={Deep Association Learning for Unsupervised Video Person Re-identification},
  author={Chen, Yanbei and Zhu, Xiatian and Gong, Shaogang},
  booktitle={Proceedings of the British Machine Vision Conference (BMVC)},
  year={2018}
}

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

References

[1] Howard et al. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications. arXiv 2017.
[2] He et al. Deep Residual Learning for Image Recognition. CVPR 2016.
[3] Hirzer et al. Person Re-Identification by Descriptive and Discriminative Classification. SCIA 2011.
[4] Wang et al. Person Re-Identification by Video Ranking. ECCV 2014.
[5] Zheng et al. MARS: A Video Benchmark for Large-Scale Person Re-identification. ECCV 2016.

Acknowledgements

This repository is partially built upon the tensorflow/models repository. The evaluation code (cmc & mAP) is partially borrowed from the MARS-evaluation repository.

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