Giter VIP home page Giter VIP logo

reid_baseline's Introduction

ReID_baseline

A strong baseline (state-of-the-art) for person re-identification.

We support

  • easy dataset preparation
  • end-to-end training and evaluation
  • multi-GPU distributed training
  • fast data loader with prefetcher
  • fast training speed with fp16
  • fast evaluation with cython
  • support both image and video reid
  • multi-dataset training
  • cross-dataset evaluation
  • high modular management
  • state-of-the-art performance with simple model
  • high efficient backbone
  • advanced training techniques
  • various loss functions
  • tensorboard visualization

Get Started

The designed architecture follows this guide PyTorch-Project-Template, you can check each folder's purpose by yourself.

  1. cd to folder where you want to download this repo

  2. Run git clone https://github.com/L1aoXingyu/reid_baseline.git

  3. Install dependencies:

  4. Prepare dataset

    Create a directory to store reid datasets under this repo via

    cd reid_baseline
    mkdir datasets
    1. Download dataset to datasets/ from baidu pan or google driver
    2. Extract dataset. The dataset structure would like:
    datasets
        Market-1501-v15.09.15
            bounding_box_test/
            bounding_box_train/
  5. Prepare pretrained model. If you use origin ResNet, you do not need to do anything. But if you want to use ResNet_ibn, you need to download pretrain model in here. And then you can put it in ~/.cache/torch/checkpoints or anywhere you like.

    Then you should set this pretrain model path in configs/softmax_triplet.yml.

  6. compile with cython to accelerate evalution

    cd csrc/eval_cylib; make

Train

Most of the configuration files that we provide, you can run this command for training market1501

bash scripts/train_openset.sh

Or you can just run code below to modify your cfg parameters

CUDA_VISIBLE_DEVICES='0,1' python tools/train.py -cfg='configs/softmax_triplet.yml' DATASETS.NAMES '("dukemtmc","market1501",)' SOLVER.IMS_PER_BATCH '256'

Test

You can test your model's performance directly by running this command

CUDA_VISIBLE_DEVICES='0' python tools/test.py -cfg='configs/softmax_triplet.yml' DATASET.TEST_NAMES 'dukemtmc' \
MODEL.BACKBONE 'resnet50' \
MODEL.WITH_IBN 'True' \
TEST.WEIGHT '/save/trained_model/path'

Experiment Results

size=(256, 128) batch_size=64 (16 id x 4 imgs)
softmax? ✔︎ ✔︎ ✔︎ ✔︎
label smooth? ✔︎ ✔︎
triplet? ✔︎ ✔︎ ✔︎
ibn? ✔︎ ✔︎
gcnet? ✔︎
Market1501 93.4 (82.9) 94.2 (86.1) 95.4 (87.9) 95.2 (88.7)
DukeMTMC-reid 84.7 (72.7) 87.3 (76.0) 89.5 (79.7) 90.0 (80.2)
CUHK03

🔥Any other tricks are welcomed!

reid_baseline's People

Contributors

l1aoxingyu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.