- Multi-Tracked Paths (MTP)
- -------------------------
+ Multi-Tracked Paths (MTP)
+ -------------------------
* INTRODUCTION
2011.
This implementation is not the reference implementation used for the
-experiments presented in this article.
+experiments presented in this article. It uses a Dijkstra with a
+Binary Heap for the min-queue, and not the optimal Fibonacci heap.
* INSTALLATION
If you now execute
- ./mtp tracker.dat
+ ./mtp --verbose --trajectory-file result.trj --graph-file graph.dot < tracker.dat
It will load the file tracker.dat saved by the previous command, run
the detection, save the detected trajectories in result.trj, and the
family it computes eventually is globally optimal, even if the
computation is iterative.
-The MTPTracker is defined by
+The MTPTracker takes as input
(1) a spatial topology composed of
log( P(Y(l,t) = 1 | X) / P(Y(l,t) = 0 | X) )
where Y is the occupancy of location l at time t and X is the
- available observation.
+ available observation. Hence, this score is negative on locations
+ where the probability that the location is occupied is close to
+ 0, and positive when it is close to 1.
-From this setting, MTPTracker has methods to compute the best set of
+From this parameters, an MTPTracker can compute the best set of
disjoint trajectories consistent with the defined topology, which
maximizes the overall detection score (i.e. the sum of the detection
-scores of the nodes visited by the trajectories). If no trajectory of
-total positive detection score exists, this optimal set of
-trajectories will be empty.
-
-The MTPTracker is a wrapper around the MTPGraph class. From the
-defined spatial topology and number of time steps, it builds a graph
-with one source, one sink, and two nodes per location and time. The
-edges from the source or to the sink, or between these pairs of nodes,
-are of length zero, and the edges between the two nodes of such a pair
-have negative lengths, equal to the opposite of the corresponding
-detection scores. This structure also ensures that the trajectories
-computed by the MTPTracker will be node-disjoint, since the
-trajectories computed by the MTPGraph are edge-disjoint.
+scores of the nodes visited by the trajectories). In particular, if no
+trajectory of total positive detection score exists, this optimal set
+of trajectories is empty.
+
+An MTPTracker is a wrapper around an MTPGraph. From the defined
+spatial topology and number of time steps, it builds a graph with one
+source, one sink, and two nodes per location and time. The edges from
+the source or to the sink, or between these pairs of nodes, are of
+length zero, and the edges between the two nodes of such a pair have
+negative lengths, equal to the opposite of the corresponding detection
+scores. This structure ensures that the trajectories computed by the
+MTPTracker will be node-disjoint, since the trajectories computed by
+the MTPGraph are edge-disjoint.
The file mtp_example.cc gives a very simple usage example of the
MTPTracker class by setting the tracker parameters dynamically, and
--
François Fleuret
-October 2012
+December 2012