Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Introduction

CMT (Consensus-based Matching and Tracking of Keypoints for Object Tracking) is a novel keypoint-based method for long-term model-free object tracking in a combined matching-and-tracking framework. Details can be found on the project page and in our publication. The Python implementation in this repository is platform-independent and runs on Linux, Windows and OS X.

License

CMT is freely available under the 3-clause BSD license, meaning that you can basically do with the code whatever you want. If you use our algorithm in scientific work, please cite our publication

@inproceedings{Nebehay2015CVPR,
    author = {Nebehay, Georg and Pflugfelder, Roman},
    booktitle = {Computer Vision and Pattern Recognition},
    month = jun,
    publisher = {IEEE},
    title = {Clustering of {Static-Adaptive} Correspondences for Deformable Object Tracking},
    year = {2015}
}

Dependencies

  • Python
  • OpenCV-Python (>= 2.4, < 3)
  • NumPy
  • SciPy
  • optional: ipdb (for debugging the code)

Note for Windows users: if you are unable to read video files, please follow this suggestion: http://stackoverflow.com/questions/11699298/opencv-2-4-videocapture-not-working-on-windows

Usage

usage: run.py [-h] [--challenge] [--preview] [--no-preview] [--no-scale]
               [--no-rotation] [--bbox BBOX] [--pause] [--output-dir OUTPUT]
               [--quiet]
               [inputpath]

Optional arguments

  • inputpath The input path.
  • -h, --help show help message and exit
  • --challenge Enter challenge mode.
  • --preview Force preview
  • --no-preview Disable preview
  • --no-scale Disable scale estimation
  • --with-rotation Enable rotation estimation
  • --bbox BBOX Specify initial bounding box. Format: x,y,w,h
  • --pause Pause after each frame
  • --skip N Skips N frames of the video input
  • --output-dir OUTPUT Specify a directory for output data.
  • --quiet Do not show graphical output (Useful in combination with --output-dir).

Object Selection

Press any key to stop the preview stream. Left click to select the top left bounding box corner and left click again to select the bottom right corner.

Examples

When using a webcam, no arguments are necessary:

python run.py

When using a video, the path to the file has to be given as an input parameter:

python run.py /home/cmt/test.avi

It is also possible to specify the initial bounding box on the command line.

python run.py --bbox=123,85,60,140 /home/cmt/test.avi

Use a sequence of numbered image files as an input:

python run.py sequence_dir/{:08d}.jpg

Here, {:08d} is a python format string that is expanded to 00000001.jpg, 00000002.jpg, etc.