+ Multi-Tracked Paths (MTP)
+ -------------------------
+
* INTRODUCTION
This is a very simple implementation of a variant of KSP applied to
-multi-target tracking dubbed "Multi-Tracked Paths" (MTP).
+multi-target, as described in
+
+ J. Berclaz, E. Turetken, F. Fleuret, and P. Fua. Multiple Object
+ Tracking using K-Shortest Paths Optimization. IEEE Transactions on
+ Pattern Analysis and Machine Intelligence (TPAMI), 33(9):1806-1819,
+ 2011.
It works with negative edge length and stops when it can not find any
path of negative total length, instead of fixing the total number of
of length zero, and the edge between the two nodes of such a pair has
a length equal to the opposite of the detection score.
-The file mtp.cc gives a very simple usage example of the MTPTracker
-class.
+The file mtp_example.cc gives a very simple usage example of the
+MTPTracker class by setting the tracker parameters dynamically, and
+running the tracking.
-The tracker data file one can read with MTPTracker::read has the
-following format (with L the number of locations and T the number of
-time steps):
+The tracker data file for MTPTracker::read has the following format,
+where L is the number of locations and T is the number of time steps:
---------------------------- snip snip -------------------------------
-L T
+int:L int:T
-allowed_motion_from_1_to_1 ... allowed_motion_from_1_to_L
+bool:allowed_motion_from_1_to_1 ... bool:allowed_motion_from_1_to_L
...
-allowed_motion_from_L_to_1 ... allowed_motion_from_L_to_L
+bool:allowed_motion_from_L_to_1 ... bool:allowed_motion_from_L_to_L
-is_an_entrance_1 ... is_an_entrance_L
+bool:is_an_entrance_1 ... bool:is_an_entrance_L
-is_an_exit_1 ... is_an_exit_L
+bool:is_an_exit_1 ... bool:is_an_exit_L
-detection_score_1_1 ... detection_score_1_L
+float:detection_score_1_1 ... float:detection_score_1_L
...
-detection_score_T_1 ... detection_score_T_L
+float:detection_score_T_1 ... float:detection_score_T_L
+---------------------------- snip snip -------------------------------
+
+The method MTPTracker::write_trajectories writes first the number of
+trajectories, followed by one line per trajectory with the following
+structure
+
+---------------------------- snip snip -------------------------------
+int:traj_number int:entrance_time int:duration float:score int:location_1 ... int:location_duration
---------------------------- snip snip -------------------------------
--