2.1 Classical Multiple Object Tracking Algorithms
2.1.2 The Multiple Hypothesis Tracking Filter
The multiple hypothesis tracking filter (MHT) filter, in contrast to the PHD filter, is an example of an association-based method for multiple object tracking. Like most multiple object tracking filters, the MHT filter receives detections in scans, with a scan containing a set of detections received at a given time. The MHT filter assumes that, for any given scan, each detection is associated with at most one object and each object is associated with at most one detection [23, p. 108].
2
The ones corresponding to the ground truth measurement updates.
3This is due to the fact that the integral of a Gaussian distribution (over the entire space) is equal to the
weight of the Gaussian. The integral of a Gaussian mixture is therefore equal to the sum of the weights of the individual components.
There are two main variations of the MHT filter - the track-oriented MHT (TOMHT), and the hypothesis-oriented MHT (HOMHT) [24, p. 200]. The hypothesis-orientated MHT is more similar to the model that was developed in this work and we will therefore only focus on this variation here. We will be referring to this specific variation when using the ‘MHT’ acronym. The MHT filter, in theory, considers all possible combinations of measurement to track associations, known as association hypotheses, for a given set of measurements and tracks at a specific time. These association hypotheses are used initially as the starting points for more complex hypotheses, spanning multiple time frames. These hypotheses are then extended (in length and number) with new association hypotheses when new measurements are received. The different hypotheses can be represented by a tree.
An example of a hypothesis tree is shown in Figure 2.1 below. For this example we will assume that there is one existing track and that a scan with two measurements has been received. The first node (in the top layer) in this example represents our starting hypothesis (one existing track). The second layer shows that the measurement y0 can be clutter (associated to the clutter
‘track’ - node 0), or it can be associated with the existing track (node 1), or it can be associated with a new track (node 2). The third layer shows the possible associations for y1, conditioned
on the associations in the layer above. This process of enumerating all the possible associations is then repeated for each hypothesis when a new scan is received. Each node in the graph therefore corresponds to an association hypothesis. Each descending path through the entire graph corresponds to a complete hypothesis about all measurements received thus far. This will be referred to simply as a ‘hypothesis’. Since all nodes (except for the root node) in the graph will have exactly one parent (neighbour in the layer above it), each node in the bottom layer can also be viewed as representing a complete hypothesis. Node 3 on the right in the last layer, for example, represents the hypothesis that both y0 and y1 are associated with new objects. If
a new set of measurements is received at a later time, each of the nodes in the bottom layer will serve as starting points from which the individual hypotheses are extended. The process described above is then repeated at each of these nodes, using the new set of measurements to extend the hypotheses. Note that, in this example, a node in the second layer cannot have the same number as its neighbours in the third layer, except if it is clutter. This is due to the fact that y0 and y1 are in the same scan and the assumption that there is only one valid association
between a track (including the clutter track) and a measurement. Neighbouring nodes in layers that represent measurements from different scans will therefore be allowed to have the same object number.
Figure 2.1: Example of an MHT hypothesis tree. yi is the i’th measurement in the scan and
the node numbers in the corresponding row indicate the track with which yi is associated in the
specific hypothesis. The number 0 tracks represent the clutter track. The blank node at the top of the graph represents the initial hypothisis. (Note that this is not a PGM.)
The tree in Figure 2.1 can be represented by Table 2.1 below. In this table, each column corresponds to an association hypothesis. The entries in the first column indicate which track the measurement y0is associated with in each hypothesis, and the second row similarly shows the
y1 track associations. Each column therefore corresponds to a hypothesis. These types of tables
are typically used as matrices in implementations of the MHT filter. Note that the invalid association combinations are marked in red. These will not be considered in the hypothesis evaluation and can be removed from the table. We will use this table representation in the rest of this example. This example (including Figure 2.1 and Table 2.1) was adapted from the example in the Multiple Hypothesis Tracking Implementation [24] document.
a0 0 0 0 1 1 1 2 2 2 2
a1 0 1 2 0 1 2 0 1 2 3
Table 2.1: MHT filter hypothesis table (corresponding to the tree in Figure 2.1). The disallowed association hypothesis combinations are marked in red.
In practice, these tables can of course grow intractably large. In order to avoid an unbounded increase in the number of hypotheses that need to be managed, the MHT typically only considers hypotheses over a fixed number of scans to be formed. This number is known as the window size [24, p. 204]. If the window size is equal to n, we can evaluate hypotheses formed over n time steps and find the most likely one to use as a starting point for forming new hypotheses. Another method for managing the number of hypotheses periodically removes the least likely hypotheses from the set of hypotheses to be considered. In order to evaluate the probability of each hypothesis in any of these methods, the state distributions need to be updated continuously. Since each hypothesis has at most one measurement associated with a certain target at every time step, the normal Kalman filter equations can be used to update the state distributions of the individual targets at each time step [24, p. 204]. The MHT algorithm with Kalman filter updates and subsequent calculation of hypothesis probabilities is shown below.
MHT Recursion [23, pp. 125,129] Inputs:
yK = {y1, ..., yK} : the measurements in the first K scans
P (Xn,κk ) : prior for track (index) n, at time step k, in hypothesis κ H(k − 1) : all hypotheses generated using y1,...,yk−1.
for k = 0 : K do
Extend all hypotheses H(k − 1) with new association hypotheses Γk (A) Compute Updated Distributions:
for γ ∈ Γk do with:
ν : corresponding hypothesis (in H(k − 1)) being extended by γ n, nT : target index and number of targets
mk : number of measurements in scan k
dν : number of associations in ν
ykm : the measurement associated with Xn,νk in γ (if any) Pd, Pc : detection and clutter probabilities
yk : the measurements in the k’th scan
α(γ|yK) : association probabilities of hypothesis γ given yK d : dimension of the X state distribution.
α(ν) : association probability of hypothesis ν for n = 0 : nT do state prediction: P (Xn,νk ) = Z Rd P (Xn,νk |Xn,νk−1)P (Xn,νk−1)dXn,νk−1 measurement update (if applicable):
P (Xn,νk |ykm) = 1 P (Yk
m= ykm)
P (Ymk = ykm|Xn,νk )P (Xn,νk ) end
(B) Compute Association Probabilities (α): β(γ) = α(ν)P (γ)(1 − Pd)nT−dν mk Y m g(ykm) with g(ykm) = ( Pc(ykm), if clutter PdR P (Ymk = ykm|Xn,νk )P (Xn,νk )dXn,νk , otherwise α(γ|yK) = P β(γ) γ0∈H(k)β(γ0) end end
In the above algorithm we can see the standard Kalman filter state prediction and mea- surement update steps. These steps are, as mentioned earlier, performed for all target states in all hypotheses. Additionally, the algorithm requires the probabilities of each hypothesis to also be updated. An updated hypothesis probability is calculated by multiplying the previous hypothesis probability with the new association hypothesis probability, and then normalising this probability with respect to all updated hypotheses. The above algorithm therefore gives a set of updated hypotheses and their corresponding state distributions, as well as a distribution over the updated hypotheses at each time step. As discussed earlier, the above algorithm will typically yield an intractable number of hypotheses and it is therefore necessary to limit the hypotheses to a manageable number.
The MHT filter can produce individual target tracks because the target identities are explic- itly maintained in the various hypotheses. This represents an advantage over the PHD filter, but also requires more computationally expensive calculations.