Git Product home page Git Product logo

tracking_wo_bnw's Introduction

Tracking without bells and whistles

This repository provides the implementation of our paper Tracking without bells and whistles (Philipp Bergmann, Tim Meinhardt, Laura Leal-Taixe) [https://arxiv.org/abs/1903.05625]. All results presented in our work were produced with this code.

In addition to our supplementary document, we provide an illustrative web-video-collection. The collection includes examplary Tracktor++ tracking results and multiple video examples to accompany our analysis of state-of-the-art tracking methods.

Visualization of Tracktor

Installation

  1. Clone and enter this repository:
git clone --recurse-submodules https://github.com/phil-bergmann/tracking_wo_bnw
cd tracking_wo_bnw
  1. Install packages for Python 3.6 in virtualenv:

    1. pip3 install -r requirements.txt
    2. Faster R-CNN + FPN: pip3 install -e src/fpn
    3. Faster R-CNN: pip3 install -e src/frcnn
    4. Tracktor: pip3 install -e .
    5. PyTorch 0.3.1 for CUDA 9.0: pip install https://download.pytorch.org/whl/cu90/torch-0.3.1-cp36-cp36m-linux_x86_64.whl
  2. Compile Faster R-CNN + FPN and Faster R-CNN:

    1. Make sure the nvcc compiler with CUDA 9.0 is working and all CUDA paths are set (in particular export CPATH=/usr/local/cuda-9.0/include).
    2. Compile with: sh src/fpn/fpn/make.sh
    3. Compile with: sh src/frcnn/frcnn/make.sh
    4. If compilation was not successful, check README.md and issues of official Faster-RCNN repository for help.
  3. MOTChallenge data:

    1. Download MOT17Det, MOT16Labels, 2DMOT2015, MOT16-det-dpm-raw and MOT17Labels and place them in the data folder. As the images are the same for MOT17Det, MOT17 and MOT16 we only need one set of images for all three benchmarks.
    2. Unzip all the data by executing:
    unzip -d MOT17Det MOT17Det.zip
    unzip -d MOT16Labels MOT16Labels.zip
    unzip -d 2DMOT2015 2DMOT2015.zip
    unzip -d MOT16-det-dpm-raw MOT16-det-dpm-raw.zip
    unzip -d MOT17Labels MOT17Labels.zip
    
  4. Download object detector and re-identifiaction Siamese network weights and MOTChallenge result files for ICCV 2019:

    1. Download zip file from here.
    2. Extract in output directory.

Evaluate Tracktor++

In order to configure, organize, log and reproduce our computational experiments we structured our code with the Sacred framework. For a detailed explanation of the Sacred interface please read its documentation.

  1. Our Tracktor can be configured by changing the corresponding experiments/cfgs/tracktor.yaml config file. The default configuration runs Tracktor++ with the FPN object detector as described in the paper.

  2. Run Tracktor by executing:

python experiments/scripts/test_tracktor.py
  1. The results are logged in the corresponding output directory. To evaluate the results download and run the official MOTChallenge devkit.

Train and test object detector (Faster-RCNN + FPN)

We pretrained the object detector on PASCAL VOC and did an extensive hyperparameter cross-validation. The resulting training command is:

python trainval_net.py voc_init_iccv19 --dataset mot_2017_train --net res101 --bs 2 --nw 4 --epochs 38 --save_dir weights --cuda --use_tfboard True --lr_decay_step 20 --pre_checkpoint weights/res101/pascal_voc_0712/v2/fpn_1_12.pth --pre_file weights/res101/pascal_voc_0712/v2/config.yaml

Test the provided object detector by executing:

python experiments/scripts/test_fpn.py voc_init_iccv19 --cuda --net res101 --dataset mot_2017_train --imdbval_name mot_2017_train --checkepoch 27

Training the re-identifaction Siamese network

  1. The training config file is located at experiments/cfgs/siamese.yaml.

  2. Start training by executing:

python experiments/scripts/train_siamese.py

Publication

If you use this software in your research, please cite our publication:

@article{DBLP:journals/corr/abs-1903-05625,
    author    = {Philipp Bergmann and
                Tim Meinhardt and
                Laura Leal{-}Taix{\'{e}}},
    title     = {Tracking without bells and whistles},
    journal   = {CoRR},
    volume    = {abs/1903.05625},
    year      = {2019},
    url       = {http://arxiv.org/abs/1903.05625},
    archivePrefix = {arXiv},
    eprint    = {1903.05625},
    timestamp = {Sun, 31 Mar 2019 19:01:24 +0200},
    biburl    = {https://dblp.org/rec/bib/journals/corr/abs-1903-05625},
    bibsource = {dblp computer science bibliography, https://dblp.org}
}

tracking_wo_bnw's People

Contributors

phil-bergmann avatar timmeinhardt 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.