|
--- |
|
license: gpl-3.0 |
|
tags: |
|
- object-detection |
|
- computer-vision |
|
- sort |
|
- tracker |
|
- osnet |
|
--- |
|
|
|
<div align="center"> |
|
<h1> |
|
Torchreid-Pip: Packaged version of Torchreid |
|
</h1> |
|
<h4> |
|
<img width="700" alt="teaser" src="https://raw.githubusercontent.com/goksenin-uav/torchreid-pip/main/doc/logo.png"> |
|
</h4> |
|
</div> |
|
|
|
This repo is a packaged version of the [Torchreid](https://github.com/KaiyangZhou/deep-person-reid) algorithm. |
|
### Installation |
|
``` |
|
pip install torchreid |
|
``` |
|
|
|
### Model Description |
|
[Learning Generalisable Omni-Scale Representations for Person Re-Identification](https://arxiv.org/abs/1905.00953): |
|
[Omni-Scale Feature Learning for Person Re-Identification](https://arxiv.org/abs/1910.06827) |
|
[Torchreid: A Library for Deep Learning Person Re-Identification in Pytorch](https://arxiv.org/abs/1910.10093) |
|
|
|
|
|
### Overview |
|
##### 1. Import ``torchreid`` |
|
```python |
|
import torchreid |
|
``` |
|
##### 2. Load data manager |
|
|
|
```python |
|
datamanager = torchreid.data.ImageDataManager( |
|
root="reid-data", |
|
sources="market1501", |
|
targets="market1501", |
|
height=256, |
|
width=128, |
|
batch_size_train=32, |
|
batch_size_test=100, |
|
transforms=["random_flip", "random_crop"] |
|
) |
|
``` |
|
##### 3 Build model, optimizer and lr_scheduler |
|
|
|
```python |
|
model = torchreid.models.build_model( |
|
name="resnet50", |
|
num_classes=datamanager.num_train_pids, |
|
loss="softmax", |
|
pretrained=True |
|
) |
|
|
|
model = model.cuda() |
|
|
|
optimizer = torchreid.optim.build_optimizer( |
|
model, |
|
optim="adam", |
|
lr=0.0003 |
|
) |
|
|
|
scheduler = torchreid.optim.build_lr_scheduler( |
|
optimizer, |
|
lr_scheduler="single_step", |
|
stepsize=20 |
|
) |
|
``` |
|
##### 4. Build engine |
|
|
|
```python |
|
engine = torchreid.engine.ImageSoftmaxEngine( |
|
datamanager, |
|
model, |
|
optimizer=optimizer, |
|
scheduler=scheduler, |
|
label_smooth=True |
|
) |
|
``` |
|
##### 5. Run training and test |
|
|
|
```python |
|
engine.run( |
|
save_dir="log/resnet50", |
|
max_epoch=60, |
|
eval_freq=10, |
|
print_freq=10, |
|
test_only=False |
|
) |
|
``` |
|
Citation |
|
--------- |
|
If you use this code or the models in your research, please give credit to the following papers: |
|
```bibtex |
|
@article{torchreid, |
|
title={Torchreid: A Library for Deep Learning Person Re-Identification in Pytorch}, |
|
author={Zhou, Kaiyang and Xiang, Tao}, |
|
journal={arXiv preprint arXiv:1910.10093}, |
|
year={2019} |
|
} |
|
|
|
@inproceedings{zhou2019osnet, |
|
title={Omni-Scale Feature Learning for Person Re-Identification}, |
|
author={Zhou, Kaiyang and Yang, Yongxin and Cavallaro, Andrea and Xiang, Tao}, |
|
booktitle={ICCV}, |
|
year={2019} |
|
} |
|
|
|
@article{zhou2021osnet, |
|
title={Learning Generalisable Omni-Scale Representations for Person Re-Identification}, |
|
author={Zhou, Kaiyang and Yang, Yongxin and Cavallaro, Andrea and Xiang, Tao}, |
|
journal={TPAMI}, |
|
year={2021} |
|
} |
|
``` |