Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SHI-Labs/Self-Similarity-Grouping
Self-similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-identification (ICCV 2019, Oral)
https://github.com/SHI-Labs/Self-Similarity-Grouping
computer-vision deep-learning domain-adaptation person-reidentification
Last synced: about 2 months ago
JSON representation
Self-similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-identification (ICCV 2019, Oral)
- Host: GitHub
- URL: https://github.com/SHI-Labs/Self-Similarity-Grouping
- Owner: SHI-Labs
- Created: 2019-08-03T23:54:00.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-09T04:12:08.000Z (over 4 years ago)
- Last Synced: 2024-08-10T07:01:17.315Z (4 months ago)
- Topics: computer-vision, deep-learning, domain-adaptation, person-reidentification
- Language: Python
- Homepage:
- Size: 1.89 MB
- Stars: 187
- Watchers: 8
- Forks: 43
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-few-shot-meta-learning - code - official (PyTorch)
README
# Self-similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-identificatio(SSG)
Implementation of the paper [Self-similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-identification](https://arxiv.org/abs/1811.10144), ICCV 2019 (Oral)The SSG approach proposed in the paper is simple yet effective and achieves the state-of-arts on three re-ID datasets: Market1501, DukdMTMC and MSMT17.
![Illustration of the Self-similarity Grouping.](./figs/framework.png)
## Running the experiments
### Step 1: Train on source dataset
Run `source_train.py` via
```shell
python source_train.py \
--dataset \
--resume \
--data_dir \
--logs_dir
```To replicate the results in the paper, you can download pre-trained models on Market1501, DukeMTMC and MSMT17 from [GoogleDrive](https://drive.google.com/file/d/1Z94qbsjuAQ9sLeEzURPstQxa3gluZIPJ/view?usp=sharing). There maybe some bugs in source_train.py, please refer to [DomainAdaptiveReID](https://github.com/LcDog/DomainAdaptiveReID) to obtained the pretrained model or just use the pretrained model provided by us.
And you can find all models after adaptation from [GoogleDrive](https://drive.google.com/file/d/1BUp1fbjKTZGjL8WGCx3yUp2GXD10EdxC/view?usp=sharing). Our models can be trained with __PyTorch 0.4.1__ or __PyTorch 1.0__.### Step 2: Run Self-similarity Grouping
```shell
python selftraining.py \
--src_dataset \
--tgt_dataset \
--resume \
--iteration \
--data_dir \
--logs_dir \
--gpu-devices \
--num-split
```
Or just command
```shell
./run.sh
```
### Step 3: Run Clustering-guided Semi-Supervised Training
```shell
python semitraining.py \
--src_dataset \
--tgt_dataset \
--resume \
--iteration \
--data_dir \
--logs_dir \
--gpu-devices \
--num-split \
--sample
```## Results
### Step 1: After training on source dataset
| Source Dataset | Rank-1 | mAP |
| :--- | :---: | :---: |
| DukeMTMC | 82.6 | 70.5 |
| Market1501 | 92.5 | 80.8 |
| MSMT17 | 73.6 | 48.6 |### Step 2: After adaptation
SRC --> TGT
Before Adaptation
Adaptation by SSG
Adaptation by SSG++
Rank-1
mAP
Rank-1
mAP
Rank-1
mAP
Market1501 --> DukeMTMC30.516.173.053.476.060.3
DukeMTMC --> Market150154.626.680.058.386.268.7
Market1501 --> MSMT17 8.62.731.613.237.616.6
DukeMTMC --> MSMT17 12.383.8232.213.341.618.3## Issues
* The pre-trained model is trained with Pytorch 0.4.1, there may be some error when loading it by Pytorch with higher version. This [link](https://github.com/CSAILVision/places365/issues/25#issuecomment-333871990) should be helpful
* The source_training.py codes may have some bugs, I suggest you directly using our pretrained baseline model. And I will fix the bugs soon.
* To reproduce results listed in paper, I recommend to use two GPUs with batch size of 32. And in general, the experimental results may have be a little different from the results listed in paper (+/-1%).## Acknowledgement
Our code is based on [open-reid](https://github.com/Cysu/open-reid) and [DomainAdaptiveReID](https://github.com/LcDog/DomainAdaptiveReID).
## Citation
If you find the code helpful in your resarch or work, please cite the following paper.
```
@InProceedings{Fu_2019_ICCV,
author = {Fu, Yang and Wei, Yunchao and Wang, Guanshuo and Zhou, Yuqian and Shi, Honghui and Huang, Thomas S.},
title = {Self-Similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-Identification},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {October},
year = {2019}
}
```