DET - Multi Object Detection

September 4, 2020 ยท View on GitHub

DET_PIC

Requirements

Usage

  1. Compile the matlab evaluation code
matlab matlab_devkit/compile.m
  1. Run
python DET/evalDET.py

Evaluation

To run the evaluation for your method please adjust the file DET/evalDET.py using the following arguments:

benchmark_name: Name of the benchmark, e.g. MOT20Det
gt_dir: Directory containing ground truth files in <gt_dir>/<sequence>/gt/gt.txt
res_dir: The folder containing the tracking results. Each one should be saved in a separate .txt file with the name of the respective sequence (see ./res/data)
save_pkl: path to output directory for final results (pickle) (default: False)
eval_mode: Mode of evaluation out of ["train", "test", "all"] (default : "train")

eval.run(
    benchmark_name = benchmark_name,
    gt_dir = gt_dir,
    res_dir = res_dir,
    eval_mode = eval_mode)

Visualization

To visualize your results or the annotations run python DET/DETVisualization.py

Inside the script adjust the following values for the DETVisualizer class:

seqName: Name of the sequence
FilePath: Data file
image_dir: Directory containing images
mode: Video mode. Options: None for method results, raw for data video only, and gt for annotations
output_dir: Directory for created video and thumbnail images

Additionally, adjust the following values for the generateVideo function:

displayTime: If true, display frame number (default false)
displayName: Name of the method
showOccluder: If true, show occluder of gt data
fps: Frame rate

visualizer = DETVisualizer(seqName, FilePath, image_dir, mode, output_dir )
visualizer.generateVideo(displayTime, displayName, showOccluder, fps  )

Data Format

p> The file format should be the same as the ground truth file, which is a CSV text-file containing one object instance per line. Each line must contain 10 values:

<frame>, <id>, <bb_left>, <bb_top>, <bb_width>, <bb_height>, <conf>

The world coordinates x,y,z are ignored for the 2D challenge and can be filled with -1. Similarly, the bounding boxes are ignored for the 3D challenge. However, each line is still required to contain 10 values.

All frame numbers, target IDs and bounding boxes are 1-based. Here is an example:

1, -1, 794.27, 247.59, 71.245, 174.88, 4.56
1, -1, 1648.1, 119.61, 66.504, 163.24, 0.32
1, -1, 875.49, 399.98, 95.303, 233.93, -1.34
...

Citation

If you work with the code and the benchmark, please cite:

MOT 17 Det

@article{MOT16,
   title = {{MOT}16: {A} Benchmark for Multi-Object Tracking},
   shorttitle = {MOT16},
   url = {http://arxiv.org/abs/1603.00831},
   journal = {arXiv:1603.00831 [cs]},
   author = {Milan, A. and Leal-Taix\'{e}, L. and Reid, I. and Roth, S. and Schindler, K.},
   month = mar,
   year = {2016},
   note = {arXiv: 1603.00831},
   keywords = {Computer Science - Computer Vision and Pattern Recognition}
}

MOT 20 Det

@article{MOTChallenge20,
    title={MOT20: A benchmark for multi object tracking in crowded scenes},
    shorttitle = {MOT20},
   url = {http://arxiv.org/abs/1906.04567},
   journal = {arXiv:2003.09003[cs]},
   author = {Dendorfer, P. and Rezatofighi, H. and Milan, A. and Shi, J. and Cremers, D. and Reid, I. and Roth, S. and Schindler, K. and Leal-Taix\'{e}, L. },
   month = mar,
   year = {2020},
   note = {arXiv: 2003.09003},
   keywords = {Computer Science - Computer Vision and Pattern Recognition}
}

Contact

If you find a problem with the code, please open an issue.

For general questions, please contact Patrick Dendorfer (patrick.dendorfer@tum.de) or Aljosa Osep (aljosa.osep@tum.de)