Python module for multiple hypothesis tracking. Based on the article:
C. Kim, F. Li, A. Ciptadi and J. M. Rehg, "Multiple Hypothesis Tracking Revisited," 2015 IEEE International Conference on Computer Vision (ICCV), Santiago, 2015, pp. 4696-4704. doi: 10.1109/ICCV.2015.533 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7410890&isnumber=7410356
Note: This implementation utilizes motion scoring only (no appearance scoring)
Install the latest version of Python 3
$ pip install openmht
Format the input CSV columns with frame number and pixel positions using the examples under SampleData/ as a reference. The U,V values represent the 2D positions of objects/detections in that frame. A value of None in the output CSV indicates a missed detection. The Track column indicates the final track ID for a detection.
Modify parameters by editing the file params.txt:
image_area: The image (frame) area in pixels (Default: 307200)
gating_area: Gating area for new detections (Default: 1000)
k: Gain or blending factor (Default: 0)
q: Kalman filter process variance (Default: 0.00001)
r: Estimate of measurement variance (Default: 0.01)
n: N-scan branch pruning parameter
OpenMHT takes 3 parameters: The input CSV, output CSV, and parameter file paths.
$ python -m openmht /Path/To/InputDetections.csv /Path/To/OutputDetections.csv /Path/To/ParameterFile.txt
Input | Output | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|