Authors' addresses: G. W. Pulford, QinetiQ, Cody Technology. Park, Bldg A7/G010, ... Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions ... over existing single-scan approaches, such as PDA. .... reports [32, 33] and a conference paper [34]. A ...... considered that were both free of track swaps and.
I. INTRODUCTION
Multihypothesis Viterbi Data Association: Algorithm Development and Assessment G. W. PULFORD, Senior Member, IEEE QinetiQ UK B. F. LA SCALA National Australia Bank Two algorithms for tracking in clutter, based on the Viterbi algorithm are presented: single-target Viterbi data association (ST-VDA) and multihypothesis VDA (MH-VDA). MH-VDA is designed specifically for multiple-target tracking (MTT), although ST-VDA still achieves good performance on MTT problems. The basic philosophy of both methods is to set up an optimisation problem for the sequence of measurement-to-target associations rather than directly seeking the target state estimates. The joint optimisation problem for the data association sequence is decomposed into a sequence of scalar optimisation problems by means of an approximate forward dynamic programming recursion to which the Viterbi algorithm is applicable. Once the data association problem is solved, the target state estimates can be retrieved by backtracking. The operation of the algorithms is easily visualised as a search on a trellis for the optimal path. For ST-VDA, nodes in the trellis correspond to measurements. For MH-VDA, nodes correspond to multitarget data association hypotheses. Conventional measurement gating is extended to work within this context. Results from simulations that compare the performance of ST-VDA and MH-VDA with four, standard, zero-scan-back tracking approaches are given. The performance assessment includes metrics for track loss and track swaps in a multiple crossing target context. The Viterbi data association (VDA) algorithms are shown to outperform the alternative algorithms. In particular the ST-VDA is found to have the best track swap performance, while MH-VDA has the lowest track loss figure. Average state estimation errors for both VDA algorithms are only about 10% larger than a Kalman filter with known data associations. While both variants of VDA are essentially batch processing approaches, the simulation results indicate that the algorithms can be implemented with a fixed processing lag of only a few scans without significant loss in performance.
Manuscript received October 27, 2007; revised July 7, 2008; released for publication November 23, 2008. IEEE Log No. T-AES/46/2/936800. Refereeing of this contribution was handled by S. Coraluppi. Part of this work was presented at the 9th International Conference on Information Fusion, 2006. Authors’ addresses: G. W. Pulford, QinetiQ, Cody Technology Park, Bldg A7/G010, Farnborough, Hampshire GU14 0LX, United Kingdom; B. F. La Scala, National Australia Bank, 500 Bourke St., Melbourne VIC 300, Australia. c 2010 IEEE 0018-9251/10/$26.00 °
The multiple-target tracking (MTT) problem for point targets consists of estimating the dynamical states of the targets given a sequence of measurement data relating to the states. The principal difficulty in the MTT problem arises from the unknown data association between the measurement data and the targets due to the presence of noise and clutter and the potential for missed detections. The many approaches that exist for solving this problem can be broadly characterised as either continuous- or discrete-state [1]. Continuous state-space approaches can be further categorised as enumerative and nonenumerative. Enumerative approaches, which entail the explicit consideration of data association hypotheses, include multihypothesis tracking (MHT) [2, 3], joint probabilistic data association (JPDA) [4], 0-1 integer programming [5] and assignment algorithms [6, 7]. In the case of deterministic target dynamics, often assumed in bearings-only tracking, batch algorithms, such as expectation-maximisation (EM) and numerical optimisation of the likelihood function, have been applied to obtain target parameter estimates under data association uncertainty [8, 9]. Nonenumerative state estimation approaches include probabilistic MHT (PMHT) [10], the symmetric measurement equation (SME) filter [11], event-averaged mean field [12], and Markov random field [13] methods. Sequential Monte Carlo or particle filters are a nonenumerative approach that uses random samples to represent the target state probability density function (pdf) in a nonparametric manner. Particle filters, which are well suited to state estimation with significant system nonlinearities, have been recently applied in MTT based on JPDAand PMHT-type assumptions [14, 15], although at present there appear to be few published comparisons with conventional techniques, an exception to this being [16]. Daum [17] suggests that particle filters still suffer from the “curse of dimensionality,” which may be problematic for the higher dimensional state spaces and target densities that can occur in practical applications. Random set theory has also been applied as a nonenumerative approach to MTT [18, 19]. Recent advances in this area have led to implementation of the so-called probability hypothesis density (PHD) filter using Gaussian mixtures, and promising results have been obtained in comparison with conventional MHT [20, 21]. The Viterbi algorithm [22, 23] is an established optimisation technique for discrete Markovian systems that has been extensively used in telecommunications and speech recognition [24]. In tracking, the Viterbi algorithm (VA) has been applied to estimation on discrete state spaces via the hidden Markov model (HMM) formalism [25, 26], but there are computational problems with multiple targets due
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2
APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
583
to the large number of discrete states that can result [27]. The VA has been employed in a number of multiframe or track-before-detect systems (e.g. [28]) and also to the manoeuvring target tracking problem [29]. A different approach to the manoeuvring target tracking problem based on the EM algorithm leads to an optimisation problem, whose solution is also obtained with the Viterbi algorithm [30]. The Viterbi algorithm is essentially a batch algorithm, although in practice, it may be used in a fixed-lag processing mode due to merging of paths in the trellis [23]. The application of the Viterbi algorithm in the single-target case was originally proposed by Quach and Farooq in [31], who considered a “maximum likelihood” (ML) formulation of the data association problem for a sonar application. The derivation of the forward dynamic programming recursion, omitted in [31], was presented in [32] and [33]. This work also extended the technique by incorporating gating and a target confidence model for automatic track maintenance. This version of the algorithm was called Viterbi data association (VDA) and was published in the open literature in [34]. The work was an outgrowth of research into the application of HMM estimation techniques in high frequency over-the-horizon radar, mooted in [35]. Extensions to manoeuvring target tracking and multiple surveillance region tracking were also carried out [36, 37]. Recently, the VDA technique has been extended to handle data association in a discrete multipath environment [38]. The essential idea of VDA is to create a trellis based on the measurements rather than on a set of discrete states, as in a HMM. Any path through the trellis corresponds to a sequence of data associations. The Viterbi algorithm is harnessed to determine the lowest cost path through the trellis, where the cost is a measure of the likelihood of the data association sequence. These techniques are not optimal for tracking because the sequence of data associations, conditioned on the estimated states, is not Markov. This contrasts with Morefield’s approach [5], which is optimal in the ML sense for the data association problem, but results in an NP-hard, 0-1 integer programming problem. The significant computational savings in VDA result from forcing data association conflicts, where two or more paths compete for the same node, to be resolved as soon as they occur. Nonetheless convincing results have been achieved over existing single-scan approaches, such as PDA. The original VDA algorithm of [34] has been used for MTT. Although, like other single-target tracking techniques, the technique is not ideally suited to tracking closely-spaced targets. The present article concerns the application of the Viterbi algorithm in an explicit multiple target context. Extensions of trellis-based ideas to MTT were considered in [39] and [40]. The K-best, 584
nonintersecting-paths algorithm of Wolf, Viterbi, and Dixon (WVD) is in fact a multiple track version of the VDA with an “energy-based” transition cost model. Castan˜ on transformed the WVD algorithm into a minimum cost network flow problem, which is amenable to solution via public domain combinatorial optimisation techniques (e.g., RELAX [41]). For a problem with an equal number of measurements (M) per scan and T scans, the K-best algorithm (with M ¸ K) has generic complexity (M!)2 (1 + K 3 )T= ((M ¡ K)!K!)2 , whereas Castan˜ on’s approach has complexity (MT)3 log(MTC), where C is an application-specific constant [39]. While the complexity of Castan˜ on’s algorithm grows more slowly with the number of measurements, the time-dependence of the algorithm is at worst T3 log T compared with a linear growth for the WVD algorithm (as pointed out in [40]). A further extension of the WVD algorithm was presented by Perry, Vaddiraju, and Buckley (PVB) [42], in which not only the most likely K nonintersecting paths, but the set of L best nonintersecting paths was sought. The List Viterbi algorithm covered in [43], [44], and [45] provides the means to accompish this. A common feature of the WVD and PVB approaches is that there is no explicit model for clutter or missed target detections. Furthermore, the link between the optimisation problem and the general MTT problem is unclear in [40] and [42]. For instance in [42] it is implied that the approach is optimal in the ML sense, which is not true since the target state sequences are unknown. A multitarget extension of the VDA technique was first presented in [46]. We refer to this technique as multihypothesis VDA, while the original VDA algorithm is referred to as single-target VDA (ST-VDA). Derivations for both the ST-VDA and the multihypothesis VDA (MH-VDA) algorithms are presented here using the accepted probabilistic framework for single-sensor target tracking problems (see, e.g., [47]). Like the ST-VDA, the forward dynamic programming recursion admits a sliding window processing architecture rather than the usual batch approach, which makes it more suitable for real-time computation. The ST-VDA has also been modified for manoeuvring target tracking in [48], using the interacting multiple model algorithm [49] as the target state estimator. One of the features of this paper is to develop a framework for performance assessment that accounts for data association errors that typically occur in MTT scenarios and that focuses on track retention performance. The need for various addditional metrics in the evaluation of multitarget tracking performance has been previously noted, for instance, in [50], [51], and [52]. This is an area frought with difficulty that is often only touched on in the tracking literature despite its practical importance. Many papers seek to
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
demonstrate algorithm superiority purely on the basis of state estimation error or tracking “snapshots.” One characterisation of MTT performance that has appeared in the context of PHD filtering (see, for example, [20]) is the Wasserstein multitarget miss distance. While this measure may be appropriate for gauging an algorithm’s ability to correctly estimate the number of targets present, it does not relate in an obvious manner to conventional metrics, such as track breakage and track seduction (which are more likely to be specified as system requirements). Moreover, measures that combine several different types of error into a single measure of performance may be misleading. Two major consequences of data association errors in MTT are track loss and track swaps. Track swaps are particularly pernicious since, instead of the track being deleted, it moves from one true target to another while retaining the same track identity. Although such errors are considered in the previous paper [46], they were assessed manually. The performance evaluation presented here gives concrete definitions for these metrics and also deals with their automatic computation from the output of a Monte Carlo simulation. This enables a reliable classification of tracker results in terms of retained, lost, and swapped tracks (see Section VC). A further benefit is that tracks with gross data association errors can be detected and excluded from the state estimation error computation. Failure to resolve closely spaced targets is taken into account in the simulations. The structure of the paper is as follows: Section II introduces notation and assumptions and presents some relevant background material. This section also contains a statement of the optimal data association problem for single- and multiple-target tracking. ST-VDA is covered in Section III. This section recaps earlier work presented in two technical reports [32, 33] and a conference paper [34]. A track existence model, which is important for automatic track maintenance, is also included in the ST-VDA derivation. Section IV deals with the extension to MH-VDA via multiple target data association hypotheses. This section is concluded with some remarks about the merging of paths in the Viterbi trellis and the connection between MH-VDA and MHT. Algorithm implementation and performance assessment are discussed in Section V, which also contains details of the logic used to detect track swaps. Simulation results are presented in Section VI. Comparative simulations are performed not only for the two VDA variants but also for a number of other common MTT approaches, including JPDA. Estimation error performance is compared with an “associated Kalman filter,” which has no data association errors.
II.
ESTIMATION THEORETIC BACKGROUND
A. Problem Setting. Single-Target Case Relevant background material is presented in this section, along with notational conventions that are used througout the paper. We first consider the problem of tracking a single, nonmanoeuvring point-target in clutter. This is distinct from the problem of tracking an extended target, e.g., one that has resolvable features. For simplicity we assume that the target dynamics can be described by a discrete-time, linear state space model. The extension to nonlinear dynamics is straightforward via linearisation [53] or using an unscented Kalman filter [54]. Thus the sampled target state dynamics are taken as1 x(k + 1) = F(k)x(k) + v(k),
v(k) » Nf0, Q(k)g
(1) where k is the discrete time index, x 2 Rnx is the target state vector, F(k) is a sequence of known nx £ nx system transition matrices, and v(k) is an IID2 zero-mean, white Gaussian noise process (the “process noise”) with known covariance matrix Q(k). In many sensor systems more than one measurement may be received at a given time; one of which may be from the target of interest, with the remainder being false alarms or clutter. The probability that the target is detected is denoted PD , which is assumed to be constant for each target. The detection process is taken to be independent in time. A statistical model of the clutter is also required for probability calculations. In what follows clutter is assumed to be uniformly distributed in the measurement space. The number of clutter detections mk within a region of volume V(k) is assumed to have a Poisson point mass function ¢
Pr(mk = m) = ¹(k) =
e¡¸V(k) f¸V(k)gm , m! m = 0, 1, 2, : : :
(2)
where ¸ is the clutter density per unit volume. More general clutter models can be accommodated (see for instance [55] and [56]). A scan Y(k) = fy1 (k), : : : , yMk (k)g is a variable length set of measurements or detections received at time k. We assume that the target measurement yj (k) 2 Rny , when detected, is linearly related to the target state via yj (k) = H(k)x(k) + w(k),
w(k) » Nf0, R(k)g (3)
1 Nf¹, Qg
denotes a multivariate Gaussian pdf with mean vector ¹ and covariance matrix Q. 2 Independent and identically distributed.
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
585
where H(k) is a sequence of known ny £ nx measurement matrices and where w(k) is an IID zero-mean, white Gaussian noise process (the “measurement noise”), with known noise covariance matrix R(k). The index j 2 f0, 1, : : : , Mk g can be thought of as the measurement-to-target data association, which is unknown. In a Bayesian framework, the single-target tracking problem for a batch of data of length K is to determine the probability density function of fx(1), : : : , x(K)g given measurements YK = fY(1), : : : , Y(K)g from scans 1 through K, or p(x(1), : : : , x(K) j Y(1), : : : , Y(K)). The optimal Bayesian (batch) estimator is obtained as the conditional mean of this pdf, whereas the sequential maximum a posteriori (MAP) estimator seeks the state sequence that maximizes this pdf. For a linear system with Gaussian noise, it is sufficient to determine the first two moments of the state pdf at each time conditional on the measurement data. Unfortunately, the unknown data associations result in a Gaussian mixture density with an exponentially increasing number of terms, which renders the optimal Bayesian filter [47] not practically realisable. When the sequence of measurement-to-target associations at each time is known, the optimal (Bayesian) estimator for the system given by (1) and (3) is the Kalman smoother. For the corresponding filtering problem, i.e., that of obtaining p(x(k) j yj1 (1), : : : , yjk (k)), k = 1, : : : , K, with known data associations (j1 , : : : , jk ), the optimal estimator is the Kalman filter. In this paper we refer to such an estimator as an associated Kalman filter. Note that when the target is not detected, the Kalman filter estimate is predicted but not updated. B. Optimal Data Association Problem. Single-Target Case The VDA approach can be thought of a suboptimal version of the data association problem considered by Morefield in [5]. In this formulation of the data association problem, data association hypotheses or “partitions” of the measurement data set are scored according to their likelihood, and the most likely partition is selected. Each partition associates or assigns measurements to tracks, and scoring is carried out by computing innovations on the sequence of Kalman filter target state estimates. Partitions must be feasible in the sense that, at a given time, at most one measurement may be assigned to a given target, and no two targets may be assigned the same measurement. In keeping with the notation established in [32] (which derives from PDA notation in [47]), we denote by μj (k), j = 0, : : : , Mk , the data association hypothesis 586
that at time k, that the target measurement is yj (k). The absence of a target detection corresponds to j = 0. It is convenient to consider a hypothesis μj (k) as partitioning the measurements Y(k) into target and clutter, or equally, as selecting the target measurement. Sequences of measurements can be selected from the data set Yk via joint association hypotheses. The hypothesis that measurement number ji in scan i is the target (i = 1, : : : , k) is represented as ¢
£jkk = μj1 (1) \ μj2 (2) \ ¢ ¢ ¢ \ μjk (k) and the corresponding sequence of target detections is Yk \ £jkk . Notionally, we can express the data association problem, as was done previously in [34] and [46], as max p(£jkk , Yk j X k ):
j1 ,:::,jk
(4)
When the target state sequence X k is known, as implied above, the maximisation can be expressed as a product of scalar maximisations via: max
j1 ,:::,jk
k Y i=1
p(yji (k) j x(k)) =
k Y i=1
max p(yji (k) j x(k)): ji
(5) Thus in this special case, the ML solution to the data association problem is trivial. Naturally, the target state sequence is not known in practice, and the decomposition in (5) is not directly useable. Instead of assuming a known state sequence, for every possible sequence of data association hypotheses, an associated Kalman filter or smoother can be used to generate a corresponding sequence of target state estimates and covariances. Considering filtered estimates we denote by ¥jk (k) the (updated) state estimate and error covariance at time k obtained by Kalman filtering along the sequence of measurements selected by £jkk , or, using conventional notation: ¥jk (k) = fxˆ jk (k j k), Pjk (k j k)g (6) where the vector subscripts indicate that the estimates are a function of the entire sequence of data association hypotheses. The sequence of state estimates and covariances to time k obtained in this manner is denoted ¥jkk = f¥j1 (1), : : : , ¥jk (k)g:
(7)
As suggested by Morefield the innovations with respect to the model (1) and (3), can be used to gauge the goodness of fit of different sequences of data association hypotheses £jkk . The optimal data association problem then consists of determining the sequence of association decisions fj1 , : : : , jk g that
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
maximizes the joint likelihood function:
write 2
max p(£jkk , Yk j ¥jkk )
j1 ,:::,jk
= p(μj1 (1), : : : , μjk (k), Y(1), : : : , Y(k) j ¥jkk )
(8)
where each index ji in the maximisation ranges over the set f0, 1, : : : , Mi g, i = 1, : : : , k. Note that only the predicted state estimates and their covariances are required to compute the innovations sequence. So for instance ¥jk¡1 (k ¡ 1) is used to compute the predicted measurement yˆ jk¡1 (k j k ¡ 1). We can therefore write the cost function in the equivalent form: max p(μj1 (1), : : : , μjk (k), Y(1), : : : , Y(k) j
j1 ,:::,jk
¥jk¡1 ): k¡1
(9)
The use of state estimates and covariances is called a “decision-directed” approach, as practised in adaptive equalisation [57]. This terminology stems from the fact that the unknown states in (4) have been replaced by sufficient statistics, namely the state estimates and covariances based on the actual data association decisions. The worst case computational complexity of an exhaustive search for the optimal data association sequence is of order (1 + M0 ) £ ¢ ¢ ¢ £ (1 + Mk ). It is not difficult to see that, even for small numbers of measurements per scan Mk , this procedure quickly becomes unworkable as the batch length k inceases. C. Problem Setting. Multiple-Target Case The multiple-target case is a straightfoward extension of the case in Section IIA. We assume throughout this paper that the number of targets T is fixed. As before we assume a linear system description and, for simplicity, that the target models have identical system, measurement, and noise covariance matrices. The state vector for target t, t = 1, : : : , T, is then given by xt (k + 1) = F(k)xt (k) + vt (k),
vt (k) » Nf0, Q(k)g: (10)
t
The target initial states x (0) are Gaussian and independent, and the process noise sequences are IID and independent between targets. (We use a superscript for multiple target states because a subscript is needed later to denote the state estimate at a given node in the trellis.) Suppose that at time k the measurement with index jt is from target t, then there holds yjt (k) = H(k)xt (k) + wjt (k),
wjt (k) » Nf0, R(k)g
3 2 F(k) x1 (k + 1) 7 6 6 .. 7=6 6 . 5 4 4 T
x (k + 1)
..
.
0 2 1 3 v (k) 6 . 7 7 +6 4 .. 5
F(k)
32
3 x1 (k) 76 . 7 76 . 7 54 . 5 xT (k)
vT (k)
2 6 6 4
yj1 (k) .. . yjT (k)
3
2
7 6 7=6 5 4
H(k)
0 ..
.
0 H(k) 2 j1 3 w (k) 6 . 7 7 +6 4 .. 5 :
32
3 x1 (k) 76 . 7 76 . 7 54 . 5
(12)
xT (k)
wjT (k)
This is the multiple-target version of the associated Kalman filter, which is not practically realisable since the associations are unknown and must be determined in order to estimate the target states. Naturally, the vectorised version in (12) is only required for estimation if the target states are not independent. Since the target detection probabilities are generally less than unity, at each time k, the scan may not contain measurements from all targets. D. Optimal Data Association Problem. Multiple-Target Case In order to define the optimal data association problem in the multiple-target case, we extend the single-target data association hypotheses in Section IIB to cover all targets. Thus we write μjk (k), jk = (j1 , : : : , jMk ) as a the joint association hypothesis that covers all measurements in scan k. The elements satisfy ji 2 f0, 1, : : : , Tg, i = 1, : : : , Mk where T is the assumed number of targets and where, at most, one measurement can be assigned to each target in a single hypothesis. The absence of a target index from jk indicates the hypothesis that the particular target was not detected. A sequence of joint data association hypotheses is denoted £Jkk , Jk = fj1 , : : : , jk g, where each element ji is a vector of length Mi as described in the preceding paragraph. With M measurements and T targets, the total number of association hypotheses at one time is given by minfM,Tg X T 'T (M) = PM (13) m Cm m=0
(11) where H(k) is a sequence of known ny £ nx measurement matrices. Given full knowledge of the measurement-to-target associations in the form “measurement jt is from target t,” t = 1, : : : , T, we can
0
M where PM m = M!=(M ¡ m)!, Cm = M!=((M ¡ m)!m!). Thus the total number of joint data association hypotheses in a length k sequence £Jkk is 'T (M1 ) £ ¢ ¢ ¢ £ 'T (Mk ).
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
587
As before the joint data association hypotheses are scored according to their innovations, which are computed from the associated Kalman filter (12) matched to the particular sequence of multitarget data associations. For hypothesis sequence Jk the state estimates and covariances at time k are denoted ¥Jk (k) = fxˆ Jt k (k j k), PJtk (k j k)gTt=1
(14)
and the sequence of state estimates and covariances to time k is denoted ¥Jkk = f¥J1 (1), : : : , ¥Jk (k)g:
(15)
The optimal multitarget data association problem can be stated as the search over the set of joint data association hypotheses for the one with the maximum likelihood: max p(£Jkk , Yk j ¥Jk¡1 ) k¡1
j1 ,:::,jk
) = p(μj1 (1), : : : , μjk (k), Y(1), : : : , Y(k) j ¥Jk¡1 k¡1 (16) where the last term in the state estimate sequence (15) has been dropped since it is not needed to compute the innovations. Needless to say the optimal multitarget data association problem posed here is computationally infeasible in most practical situations, although it can be used for track initiation. In Section III we derive a simple, suboptimal solution based on the computationally efficient VA. The VDA approach is also implementable in a sliding window mode. III. SINGLE TARGET VITERBI DATA ASSOCIATION ALGORITHM A. Data Association Problem Our description of the ST-VDA algorithm in this section draws on material from [32] and [33]. For completeness we include a target existence model [58], [59]. Although this model is not utilised in the simulations presented in this paper, it is important for real data applications that require automatic track maintenance. No target existence model was present in Quach and Farooq’s formulation [31]. At each time k we receive a scan of measurement data Y(k) = fy1 (k), y2 (k), : : : , yMk (k)g. The measurements yj (k) may be identified with the nodes in a trellis, as illustrated in Fig. 1. In this diagram rows consist of nodes representing measurements or, more generally, association hypotheses, and columns represent sampling times or layers, increasing to the right. In considering a transition from a node at time k ¡ 1 to a node at time k, we can make the following assertions: 1) Ek –the target exists; 2) E¯ k –the target does not exist; 588
Fig. 1. Data association trellis. Time increases to right. Nodes are listed vertically. Empty circles denote inactive nodes; full circles are active nodes. Nodes on dashed lines have just been eliminated.
3) Â0 (k)–none of the measurements in Y(k) is due to the target; 4) Âj (k)–measurement yj (1 · j · Mk ) is due to the target. The intersection of the association hypotheses Âj (k) with the target existence events Ek and E¯ k yields the set of all possible hypotheses at time k: μ¡1 (k) = Â0 (k) \ E¯ k = E¯ k = target does not exist μ0 (k) = Â0 (k) \ Ek = target exists but was not detected or not gated μj (k) = Âj (k) \ Ek = target exists, and the target measurement is yj (k), j = 1, : : : , Mk :
Following [58] we refer to the “all-clutter” hypothesis at time k as measurement y0 (k) or node 0 and to the nonexistence hypothesis as measurement y¡1 (k) or node ¡1. These extra “measurements” are considered to be included in each scan. As explained in Section IIB, the optimal data association problem consists of determining the sequence of association hypotheses £jkk = fμj1 (1), : : : , μjk (k)g that maximizes the likelihood function ) (17) max p(μj1 (1), : : : , μjk (k), Y(1), : : : , Y(k) j ¥jk¡1 k¡1
j1 ,:::,jk
where ¥jrr is the sequence of target state estimates and covariances at time r obtained from an associated Kalman filter based on the sequence of measurements £jrr \ Yr . Note that the indexes ji in the maximisation range from ¡1 to Mi , where Mi is the number of measurements in scan i. Equation (17) may be recast in the equivalent form ) min ¡ ln p(μj1 (1), : : : , μjk (k), Y(1), : : : , Y(k) j ¥jk¡1 k¡1
j1 ,:::,jk
(18)
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
which is easier to work with numerically when the likelihoods are exponential functions. To obtain an approximate dynamic programming recursion for the data association problem, we consider an arbitrary sequence of association hypotheses £ijk that includes node yi (k ¡ 1) at time k ¡ 1 and ends at yj (k) at time k.3 Suppose this path also includes yl (k ¡ 2), then £ijk = £lik¡1 \ μij (k), where £lik¡1 is the sequence of hypotheses corresponding to the path history ending at yi (k ¡ 1) and where μij (k) is the transition (μi (k ¡ 1), μj (k)) from node yi (k ¡ 1) to yj (k). Similarly, we partition the sequence of path-conditioned state estimates and covariances into “present” at time k ¡ 1 and “past” from time 1 to time k ¡ 2: ¥ik¡1 = f¥i (k ¡ 1), ¥lk¡2 g: Since the measurement noise is white and the measurement (3) only depends on the present state, it follows that p(£ijk , Yk j ¥ik¡1 ) = p(μij (k), Y(k) j £lik¡1 , Yk¡1 , ¥ik¡1 ) £ p(£lik¡1 , Yk¡1 j ¥lk¡2 ) = p(μj (k), Y(k) j μi (k ¡ 1), Yk¡1 , £lik¡1 , ¥i (k ¡ 1), ¥lk¡2 )p(£lik¡1 , Yk¡1 j ¥lk¡2 ) ¼ p(μj (k), Y(k) j μi (k ¡ 1), ¥i (k ¡ 1)) £ p(£lik¡1 , Yk¡1 j ¥lk¡2 )
(19)
where the approximation in the last line amounts to assuming that the state estimate and covariance at time k ¡ 1 and at node i do not depend on the sequence of data association decisions and state estimates prior to time k ¡ 1. We can now define a transition likelihood by ¢
a¯ ij (k) = p(μj (k), Y(k) j μi (k ¡ 1), ¥i (k ¡ 1))
(20)
where i 2 f¡1, 0, 1, : : : , Mk¡1 g is the source node index where and j 2 f¡1, : : : , Mk g is the destination node index. Note that the a¯ ij (k) are likelihoods and therefore do not generally sum to unity over j. We also define the maximum of the likelihood of the path to node j at time k as d¯ j (k). Employing the vector index notation from Section IIB, this is the same as d¯ jk (k) = max p(£jkk , Yk j ¥jk¡1 ), k¡1 j1 ,:::,jk¡1
jk = ¡1, 0, : : : , Mk
(21) where, ignoring gating constraints, the range of each jl index is ¡1, 0, 1, : : : , Ml . The optimal data association problem corresponds to finding the node jk at time k that has the maximum value of d¯ jk (k). 3 We depart from the vector index notation temporarily to focus on transitions from time k ¡ 1 to k.
Using (19) it follows that the quantities in (21) approximately satisfy the forward dynamic programming recursion d¯ j (k) =
max
i=¡1,0,:::,Mk¡1
a¯ ij (k)d¯ i (k ¡ 1),
j = ¡1, 0, : : : , Mk : (22)
Alternatively, we can seek the minimum cost path through the trellis by solving dj (k) =
min
i=¡1,0,:::,Mk¡1
aij (k) + di (k ¡ 1), j = ¡1, 0, : : : , Mk
(23)
where aij (k) = ¡ ln a¯ ij (k) is the incremental or transition cost and where d (¢) = ¡ ln d¯ (¢) is the i
i
cumulative or path cost. At each stage we need to keep track of the maximising argument in (22) to allow backtracking along the “optimal” path. Notice that (22) replaces the multidimensional maximisation in (21) by a sequence of one-dimensional maximisations. The VDA algorithm proceeds by computing the minimum cost path to each node at each time instant up to the final time K. At each stage a one-dimensional discrete minimisation is performed. The “optimal” sequence of associations, along with their corresponding state esimates and covariances, is then recovered by backtracking. This process can often be performed as a fixed-lag operation rather than as batch processing (Section IVD). The state estimate xˆ i (k ¡ 1 j k ¡ 1) at time k ¡ 1 and node i clearly depends on the entire set of data association decisions along the path, not just on the previous one. Thus the Markovian assumption used in (19) to derive (22) is not strictly true. This means that the VDA algorithm is a suboptimal solution to the data association problem defined in (8). The same remark applies equally to other techniques (e.g., [42]) that seek to replace the joint optimisation in (17) by a forward dynamic programming recursion, thus leading to a direct implementation on a trellis. The VDA technique would be of little use if it required the cost of every possible sequence of data associations to be evaluated. The dynamic programming recursion ensures that, for each existing path at time k ¡ 1 in the trellis, only one of the Mk possible extensions survives. Thus (Mk¡1 ¡ 1)Mk association sequences are pruned off each time a layer is added to the trellis. This ensures the computational efficiency of the algorithm. Further savings can be obtained by gating. B. Gating Gating serves to lessen the computational requirements of the VDA algorithm since it reduces
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
589
the number of possible source nodes that can transit to a given destination node. Without gating any node may transit to any other node at the next time instant, i.e., all transitions are considered feasible, no matter how unlikely. When properly tuned gating gives rise to a considerable saving in computation while having a negligible effect on performance. At time k ¡ 1 each path to node yi (k ¡ 1) in the Viterbi trellis, with the exception of the path ending on the y¡1 (k ¡ 1) node, has an associated target state estimate xˆ i (k ¡ 1 j k ¡ 1) and a covariance Pi (k ¡ 1 j k ¡ 1) given by the Kalman filter applied to the sequence of measurements fyi1 (1), yi2 (2), : : : , yi (k ¡ 1)g in its path history. (See (44).) We denote the set of nodes at time k ¡ 1 by Ak¡1 = f¡1, 0, 1, : : : , Mk¡1 g. Given a prior state estimate xˆ i (k ¡ 1 j k ¡ 1), i 6= ¡1, we calculate the predicted measurement yˆ i (k j k ¡ 1) and its covariance Si (k). The validation gate Gi (k ¡ 1) is then defined as 0
ny
Gi (k ¡ 1) = fy 2 R : (y ¡ yˆ i (k j k ¡ 1)) (Si (k)) £ (y ¡ yˆ i (k j k ¡ 1)) · °g,
¡1
0 · i · Mk¡1 (24)
where ° is a chi-squared random variable with ny degrees of freedom. We also define the (constant) gate probability PG as the probability that a measurement falls in the gate. (See [47].) The volume of the ellipsoidal validation region Gi (k ¡ 1) is denoted Vi (k ¡ 1). The gate region for the nonexistence node y¡1 (k ¡ 1) is taken to be the whole space Rny . We denote the index set of the measurements at time k contained in the ith gate Gi (k ¡ 1) as ¡i (k ¡ 1), thus ¡i (k ¡ 1) = fj : 1 · j · Mk , yj (k) 2 Gi (k ¡ 1)g [ f0, ¡1g, i 2 Ak¡1 :
(25)
Notice that the all-clutter and nonexistence nodes are included in the gates for all nodes at time k ¡ 1, so that transitions are always permitted to them. We define the gate index set for the ¡1 node as all measurements at time k, or ¡¡1 (k ¡ 1) = f¡1, 0, 1, : : : , Mk g = Ak . The set of validated measurements for node i at time k ¡ 1 is given by Yi (k) = fyj (k), j 2 ¡i (k ¡ 1)g,
i = 1, : : : , Mk¡1 :
In particular Y¡1 (k) = Ak . The number of measurements, in Yi (k), excluding y0 (k) and y¡1 (k), is denoted mki . For each destination node at time k, we must ascertain which source nodes at time k ¡ 1 may transit to it. We, therefore, define the index set of nodes at time k ¡ 1 which can transit to a given node j at time 590
Fig. 2. Transitions with gating. Possible transitions from node 1 at time k ¡ 1 and to node 1 at time k are shown. Minimum cost path to y1 (k) (boxed) has been selected.
k as ¢
¡j¡1 (k) =fi 2 Ak¡1 : j 2 ¡i (k ¡ 1)g = fi 2 Ak¡1 : yj (k) 2 Gi (k ¡ 1)g, j = ¡1, 0, : : : , Mk : For the j = 0 and j = ¡1 nodes at time k, we define ¡j¡1 (k) as the the set of nodes Ak¡1 . These notions are illustrated in the trellis diagram of Fig. 2, which depicts the process of going from time k ¡ 1 to time k. The set of nodes at time k ¡ 1 is Ak¡1 = f¡1, 0, 1, : : : , 4g. The gate for y1 (k ¡ 1) includes measurements y¡1 (k), y0 (k), y1 (k), and y4 (k), with gate index set ¡1 (k ¡ 1) = f¡1, 0, 1, 4g. Also shown is the set of possible transitions to node 1 (boxed) at time k, which is in this case ¡1¡1 (k) = f¡1, 0, 1, 2g. With gating taken into account, the dynamic programming equation (23) takes the form dj (k) = min aij (k) + di (k ¡ 1), i2¡j¡1 (k)
j = ¡1, 0, : : : , Mk (26)
where aij (k) is the transition cost from node yi (k ¡ 1) to node yj (k) and where di (k ¡ 1) is the lowest cumulative cost of any path to node yi (k ¡ 1). C.
Single-Target Transition Likelihood Evaluation
We now turn to the computation of the transition likelihoods a¯ ij (k), as defined by (20), when measurement gating is taken into account. The presence of validation gates does not alter the formulation of the VDA algorithm described before. However, we need to indicate which set of validated measurements is being used at each stage. We also note that only transitions to nodes within the particular gate are allowed at each time instant. Thus for the transition (μi (k ¡ 1), μj (k)) from node yi (k ¡ 1) to yj (k) to have non-zero probability, yj (k) must be in the validation region of yi (k ¡ 1). The expression for the transition likelihood is a¯ ij (k) = p(μj (k), Yi (k) j μi (k ¡ 1), ¥i (k ¡ 1)):
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
This can be decomposed as a¯ ij (k) = p(Yi (k) j μj (k), μi (k ¡ 1), ¥i (k ¡ 1)) £ Pr(μj (k) j μi (k ¡ 1), ¥i (k ¡ 1)) = ¯ij (k)p(Yi (k) j μj (k), μi (k ¡ 1), ¥i (k ¡ 1)) where the association probabilities are defined for i 2 Ak¡1 , j 2 ¡i (k ¡ 1) by ¢
¯ij (k) = Pr(μj (k) j μi (k ¡ 1), ¥i (k ¡ 1)):
(27)
The association probabilities can be evaluated in a manner similar to the PDA theory in [47] and [58]. The result is ¯i,¡1 (k) = ci¡1 ¹(mki )(1 ¡ PE (k j k ¡ 1)), i 2 Ak¡1
(28)
¯i,0 (k) = ci¡1 ¹(mki )(1 ¡ PD PG )PE (k j k ¡ 1), i 2 Ak¡1 ¯ij (k) = ci¡1
(29)
1 ¹(mki ¡ 1)PD PG PE (k j k ¡ 1), mki i 2 Ak¡1 ,
j 2 ¡i (k ¡ 1)
(30)
in which Vi (k ¡ 1) is the volume of the validation gate Gi (k ¡ 1). The computation of PE (k j k ¡ 1) is covered in Section IIID. Assuming that the clutter is uniformly distributed within each validation gate and that for each node i 6= ¡1 the pdf of the measurement prediction is Gaussian with mean yˆ i (k j k ¡ 1) and covariance Si (k), it is a simple matter to complete the derivation of the transition costs. For i 2 Ak¡1 , with k > 1, the transition costs are expressible as4 8 i ¡mi (Vk¡1 ) k ¯i,¡1 (k) j = ¡1 > > > > i ¡mi < (V ) k ¯ (k) j=0 a¯ ij (k) =
The path cost for each node at time k is indicative of the likelihood of the associated path. Since a model for track existence has been included, we can harness the path costs to define a path confidence measure by comparing this with the likelihood of a transition to the nonexistence node. We start by considering the posterior probability of the sequence of data association hypotheses ending at node jk and at time k, maximizing over the previous data association hypotheses: c˜ jk (k) = max p(£jkk j Yk , ¥jk¡1 ), k¡1 j1 ,:::,jk¡1
i > i > (Vk¡1 )¡(mk ¡1) ¯ij (k)PG¡1 Nfyj (k); yˆ i (k j k ¡ 1), Si (k)g > > :
(32) denotes a Gaussian pdf with mean ¹ and covariance S evaluated at the first argument.
jk = ¡1, 0, : : : , Mk :
Applying Bayes’ Rule gives the following upper bound on cj (k) d¯ j (k) ¢ = cj (k) (33) c˜ j (k) · PM k ¯d (k) q=¡1 q
where d¯ j (k), defined in (21), is the exponential of the negative path cost to node j at time k. The proof of this result may be found in the Appendix. This upper bound is useful since it is computable directly from quantities obtained at time k, which leads to its adoption as a path confidence measure cj (k). When the path confidence is low (near zero) for some path ending at node j, it follows that the sequential posterior data association probability is also low. When the path confidence is high (close to 1) for some j, there is high confidence in the data association decision for extending the path. Summing (33) over the terms corresponding to track existence events, we obtain PMk ¯ Mk X j=0 dj (k) c˜ j (k) · PM k ¯ q=¡1 dq (k) j=0 d¯ (k) = 1 ¡ PM ¡1 = 1 ¡ c¡1 (k): k ¯ q=¡1 dq (k)
i,0
j 2 ¡i (k ¡ 1):
4 Nf¢; ¹, Sg
D. Path Confidence and Trellis Maintenance
¢
where ¹(¢) is the Poisson point mass function in (2), ci is a normalisation constant, and PE (k j k ¡ 1) is the predicted probability of existence. The normalisation constant at time k for each i 2 Ak¡1 can be found by summing (28)—(30), which leads to ½ μ ¶ ¸Vi (k ¡ 1) ¸Vi (k ¡ 1) + 1 ¡ ci = ¹(mki ¡ 1) mki mki ¾ £ PG PD PE (k j k ¡ 1) (31)
k¡1
Note that the i = ¡1 node, corresponding to nonexistence of the target, does not have an associated target state estimate, although the all-clutter node i = 0 does, except at initiation. The transitions from the nonexistence node i = ¡1 need special attention as these correspond to track initiation events. (See Section IIIE.) For implementation purposes, it is easier to define the transition likelihoods to nodes which are not in the gate as zero; infeasible transitions then incur an infinite cost.
(34)
¢
It is natural to define PE (k j k) = 1 ¡ c¡1 (k) as the trellis confidence at time k since it measures the a posteriori probability of target existence across all the current nodes in the trellis. The trellis confidence is predicted via a 2-state Markov-chain model as in [58] and is used in the transition likelihood calculations for
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
591
ST-VDA (28)—(30). More explicitly, the predicted target existence probability PE (k j k ¡ 1) is obtained via PE (k j k ¡ 1) = ¢0 PE (k ¡ 1 j k ¡ 1) + ¢1 f1 ¡ PE (k ¡ 1 j k ¡ 1)g (35)
where ¢0 = Pr(Ek j Ek¡1 ),
¢1 = Pr(Ek j E¯ k¡1 )
are the parameters for the 2-state Markov chain target existence model. The transition matrix of the Markov chain is · ¸ ¢0 1 ¡ ¢0 ª= ¢1 1 ¡ ¢1 and the existence probability distribution Ãk = [Pr(Ek ) Pr(E¯ k )] satisfies Ãk = Ãk¡1 ª . It makes sense to define the track produced by an ST-VDA trellis as the best path in that trellis at the current time. Because the trellis confidence PE (k j k) reflects the balance of costs between the nonexistence node and the other nodes, it can be used to decide whether the track produced by a given ST-VDA trellis should be confirmed, deleted, or whether such a decision should be postponed. Deleting or confirming the best path produced by a trellis is effectively the same as deleting or confirming the whole trellis since all other paths are less likely. We can therefore refer to track maintenance for the ST-VDA algorithm as “trellis maintenance.” The maintenance function can be summarised as confirm the trellis if PE (k j k) > Pcon delete the trellis if PE (k j k) < Pdel class the trellis as pending if Pdel · PE (k j k) · Pcon . The maintenance thresholds Pcon and Pdel are design parameters whose values must be chosen by experiment. In practice the trellis confidence PE (k j k) may vary appreciably from scan to scan. For this reason it is better to apply the maintenance thresholds (or at least Pcon ) to a sliding-window averaged version of PE (k j k). An analysis of the steady-state behaviour of the target existence probability due to a long sequence of missed detections is contained in Appendix C of [33]. In particular it is demonstrated that the steady-state existence probability P¯E satisfies the quadratic equation PD PG (¢0 ¡ ¢1 )P¯E2 ¡ f1 ¡ PD PG ¢1 ¡ (1 ¡ PD PG )(¢0 ¡ ¢1 )gP¯E + (1 ¡ PD PG )¢1 = 0: E. Initiation Initiation of a single VDA trellis is accomplished by assignment of initial costs, path confidences, 592
Kalman filter state estimates, and covariances. The cumulative likelihoods d¯ j (0) and their corresponding logarithmic costs dj (0) are initialised by assuming a uniform distribution across all nodes, including the all-clutter and nonexistence nodes. Thus d¯ (0) = 1, d (0) = 0, j = ¡1, : : : , M : j
j
0
(36) Assignment of the initial path confidences is based on the formulae for the association probabilities (28)—(30), assuming a prior target existence probability PE (0). This leads to 8 j = ¡1 (1 ¡ PE (0)) > > > < (1 ¡ PD )PE (0) j =0 : (37) cj (0) = > > 1 > : P P (0) j = 1, : : : , M0 M0 D E The initial costs above may also be used as the transition likelihoods a¯ ¡1,j (k) from the i = ¡1 node. A formula for the transition cost a¯ ¡1,0 (k), from the nonexistence node to the all-clutter node, has been included, although it may be better to exclude this transition on the grounds that a track cannot be said to exist when all measurements are due to clutter. It can happen that two or more paths have the same cumulative cost to a particular node. This typically occurs following the initiation of a VDA trellis, when a target is detected in the initial scan but fails to be detected (or gated) in the next one. The tie is caused by the uniform initial cost across real (nonnull) measurement nodes. The most natural way to resolve the tie is to defer the decision of which path is optimal until a later time. Further details are contained in [33]. F. Multitarget Tracking with the ST-VDA As with any single-target tracking algorithm, ST-VDA can be used to track multiple targets simply by running multiple instances of the tracker (one per potential target). Problems may result, however, when targets are closely spaced or are on crossing trajectories, as demonstrated in Section VI. Briefly, the procedure for tracking multiple targets with the ST-VDA is as follows. (Algorithm pseudocode has been included in the Appendix.) In a given trellis a node with low path confidence indicates that it is unlikely to be associated with the current best path in the trellis, and thus it may be due to clutter or another target. Therefore, a simple way to allow for multiple targets is to tag a real measurement node as unassociated or unused at time k if its path confidence is less than a threshold. This threshold, called the path deletion threshold, is distinct from the trellis deletion threshold Pdel in Section IIID. Real (nonnull) measurements, which are unused by all existing trellises, may be pruned from these trellises. A new
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
trellis is then initiated using the pruned measurements. This procedure also allows for targets whose tracks start or finish at arbitrary times. For existing VDA trellises, there are two methods for allocating measurements for use by a given trellis. The simplest is to allow each trellis to use all the measurements in the current scan, thus ignoring the standard assumption that each measurement is generated by at most one target. This can lead to multiple tracks converging to a single target, particularly in scenarios with heavy clutter. This approach requires additional track maintenance logic to identify and remove these duplicate tracks. The second approach is to permit a trellis to be updated only with measurements in the current scan that are not used by trellises that have already been updated. This eliminates the track duplication problem, but increases the risk of track loss for closely spaced or crossing targets, where tracks tend to have overlapping gates. When there is no signal-to-noise or other information with which to prioritise the trellis updating process, it makes sense to update trellises in a random order so as not to favour any particular trellis. This method is used in the simulations described in Section VI. IV. MULTITARGET VITERBI DATA ASSOCIATION ALGORITHM A. Dynamic Programming Recursion The key to deriving a multitarget VDA algorithm is to define a trellis structure for representing the association hypotheses in which each path through the trellis uniquely identifies the joint measurement-to-target associations at each stage, as described in Section IID. For this reason we must in general consider a trellis with 'T (Mk ) nodes at each time. (See (13).) The generic complexity of the T-target algorithm will therefore be of the order of 'T (M)2 K, where M is the average number of measurements per scan and K scans are to be processed. Unlike the WVD approach [40], this explicitly accounts for nonunity detection probability, and so the number of hypotheses is generally much larger than that of WVD. However, it should be remembered that the worst case complexity for VDA is far less than that of the optimal data association problem outlined in Section IID. Strategies like gating can be applied to further reduce the processing requirements. A similar level of complexity also applies to measurement-oriented MHT, which seeks to explain the origin of each received measurement in terms of existing and new tracks. The probabilistic framework for MHT and MH-VDA is different, however, since MHT computes posterior probabilities, while MH-VDA works with measurement likelihoods.
Furthermore, the present formulation of MH-VDA does not explicitly account for track creation or termination in its hypothesis structure. Recall that the optimal data association problem in the multiple-target case is given by (16). In that section we used the notation £Jkk to denote a sequence of joint data association hypotheses to time k. In a similar vein to Section III, the approximate dynamic programming recursion for MH-VDA is obtained by considering only the extension from time k ¡ 1 to time k. With this in mind we write the sequence of joint data association hypotheses that ends at node j at time k, passing through node i at time k ¡ 1 as £ijk . If this path also includes node l at time k ¡ 2, then we may write £ijk = £lik¡1 \ μij (k), where μij (k) is the transition (μi (k ¡ 1), μj (k)) from node i at time k ¡ 1 to j at time k. We also partition the corresponding sequence of joint state estimates and covariances for this path as ¥ik¡1 = f¥i (k ¡ 1), ¥lk¡2 g (cf. (15)). Focusing on the extension of the path from node i at time k ¡ 1 to node j at k, we now decompose the path likelihood in the following way: p(£ijk , Yk j ¥ik¡1 ) = p(μij (k), Y(k), £lik¡1 , Yk¡1 j ¥ik¡1 ) = p(μij (k), Y(k) j £lik¡1 , Yk¡1 , ¥ik¡1 )p(£lik¡1 , Yk¡1 j ¥lk¡2 ) = p(μj (k), Y(k) j μi (k ¡ 1), £lik¡1 , Yk¡1 , ¥i (k ¡ 1), ¥lk¡2 ) £ p(£lik¡1 , Yk¡1 j ¥lk¡2 ) ¼ p(μj (k), Y(k) j μi (k ¡ 1), ¥i (k ¡ 1))p(£lik¡1 , Yk¡1 j ¥lk¡2 )
(38) where the approximation in the last line results from ignoring the data associations and state estimates prior to time k ¡ 1 in the computation of the path likelihoods for the transition from time k ¡ 1 to time k. Now define the transition likelihoods as ¢
a¯ ij (k) = p(μj (k), Y(k) j μi (k ¡ 1), ¥i (k ¡ 1))
(39)
where the vector index notation indicates that the transition is between joint data association hypotheses. It is convenient to number the multitarget data association hypotheses, which we do with a slight abuse of notation as i = 0, : : : , nk¡1 and as j = 0, : : : , nk , where nk is the number of nodes in the trellis at time k, not including the all-clutter hypothesis. Analogously to the single-target case, we define the optimum cost to node jk at time k as ), d¯ jk (k) = max p(£Jkk , Yk j ¥Jk¡1 k¡1 j1 ,:::,jk¡1
jk = 0, : : : , nk
(40) where the maximisation is over all joint data association hypotheses Jk¡1 to time k ¡ 1. (See Section IID.) From (38) it follows that the forward dynamic programming recursion for MH-VDA is
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
593
expressible as d¯ j (k) = max a¯ ij (k)d¯ i (k ¡ 1), i=0,:::,nk¡1
We also denote the Kalman gain for target t by j = 0, : : : , nk
Wi t (k) = (Pi t (k j k ¡ 1))0 H(k)(Sit (k))¡1 :
(41) in which is is understood that the subscript j refers to hypothesis nodes at time k. As before, this can be re-expressed as a sequential minimum cost problem by using costs defined as the negative logarithm of the likelihoods.
By assumption, under hypothesis μj (k), for each r 2 Dk (j), gated measurement yr (k) is associated with target jr . The likelihood of the innovation from measurement yr (k) under the model for target jr is
B. Multitarget Transition Likelihood Evaluation
where PG is the gate probability (assumed equal for all targets). The factor of 1=PG is required to restrict the Gaussian pdf to the validation gate region. The measurements yq (k) for q 2 D¯ k (j) are uniformly distributed clutter in a region with volume Vi (k) equal to the total validation gate volume for all target measurement predictions. It, therefore, follows that pij (Y(k)) can be expressed as
An explicit evaluation of the transition likelihood terms in (39) is needed. To this end we make a number of definitions. As in Section IID, the components of the joint association hypothesis μj (k) are written as (j1 , : : : , jmi ), where mki is the total k number of gated measurements for the path from node i at time k ¡ 1 to j at k. (Gating for MH-VDA is considered later.) Each element satisfies jr 2 f0, 1, : : : , Tg, where T is the assumed number of targets, and all hypotheses are subject to the usual MTT assignment rules. The case of jr = 0 indicates that gated measurement r is clutter. A given transition μij (k) in the trellis uniquely determines the correspondence between gated measurements and targets. We define two index sets, respectively called the detected and undetected target index sets, as Dk (j) = fr j jr 6= 0, 1 · r · mki g
D¯ k (j) = fr j jr = 0, 1 · r · mki g:
(42)
The number of detected targets in hypothesis μj (k) is given by the cardinality of Dk (j), or jDk (j)j. The transition likelihood (39) can be factorised as a¯ ij (k) = p(Y(k) j μij (k), ¥i (k ¡ 1)) Pr(μj (k) j μi (k ¡ 1), ¥i (k ¡ 1)) ¢
(43)
= pij (Y(k))¯ij (k)
in which we have identified ¯ij (k) as the prior association probability (which does not depend on Yk¡1 ) and pij (Y(k)) as the corresponding measurement-based likelihood. We focus first on the evaluation of pij (Y(k)). The set ¥i (k ¡ 1) at node i and at time k ¡ 1 contains prior state estimates and covariances for all T targets: ¥i (k ¡ 1) = fxˆ it (k ¡ 1 j k ¡ 1), Pi t (k ¡ 1 j k ¡ 1)gTt=1 : The Kalman filter predictions and prediction covariances for target t at node i are computed in the usual manner via xˆ it (k j k ¡ 1) = F(k) xˆ it (k ¡ 1 j k ¡ 1) yˆ it (k j k ¡ 1) = H(k) xˆ it (k j k ¡ 1)
Pi t (k j k ¡ 1) = F(k)Pi t (k ¡ 1 j k ¡ 1)F(k)0 + Q(k) Sit (k) = H(k)Pi t (k j k ¡ 1)H(k)0 + R(k):
594
(44)
1 Nfyr (k); yˆ ijr (k j k ¡ 1), Sijr (k)g PG
pij (Y(k)) =
μ £
1 Vi (k) Y
¶jD¯ k (j)j μ
r2Dk (j)
1 PG
¶jDk (j)j
Nfyr (k); yˆ ijr (k j k ¡ 1), Sijr (k)g: (45)
We can also compute the updated state estimates at node i as 8 jr jr ˆ jr ˆ > < xi (k j k ¡ 1) + Wi (k)(yr (k) ¡ yi (k j k ¡ 1)) xˆ ijr (k j k) =
> :
xˆ ijr (k j k ¡ 1)
r 2 Dk (j) ¯ (j): r2D k
The corresponding updated covariances are given by ½ jr jr Pi jr (k j k) =
(I ¡ Wi (k)H(k))Pi (k j k ¡ 1) jr
Pi (k j k ¡ 1)
r 2 Dk (j) ¯ (j): r2D k
Only the updated estimates on the surviving path to node j will be retained, so these computations should be carried out after the lowest cost path to node j has been found. We now turn our attention to the prior association probabilities in (43). In the absence of a target existence model, the prior association event sequence is independent, i.e., association events at time k do not depend on those at time k ¡ 1. The prior association hypothesis, therefore, comprises the following independent events: 1) target measurements jr , r 2 Dk (j) are detected and fall inside their respective gates; 2) target measurements jq , q 2 D¯ k (j) are undetected or do not fall inside their respective gates; 3) jD¯ k (j)j clutter points fall inside the union of the gates; 4) the detected targets are permuted among the gated measurements according to the particular association hypothesis.
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
In the case of nonequal target detection probabilities, the probabilties of the first three of these events are given by ¯ Y Y (j ) e¡¸Vi (k) (¸V(k))jDk (j)j (j ) PD r PG ,
¯ (j) q2D k
r2Dk (j)
i
1 ¡ PD q PG ,
¯ (j)j! jD k
C.
:
An implicit homogeneity assumption has been made about the probability of obtaining a given number of clutter measurements. As explained in [60], we have assumed that the probability of obtaining n1 clutter points in a volume V1 and of obtaining n2 clutter points in a volume V2 (disjoint to V1 ) is equal to the probability of obtaining n1 + n2 points in V1 [ V2 . The probability of the fourth event, called the detection class probability, can be worked out in two ways, depending on whether gating is accounted for or not. If gating is ignored (as is done, for instance, in JPDA calculations), this probability is equal to jD¯ k (j)j!=mki !. If gating is accounted for (as assumed here), then the detection class probability is 1=¼j , where ¼j is the number of ways that the given set of detected targets actually appears in the association hypotheses subject to gating. Taking the product of the four probabilities above yields the following expression for the prior association probabilities: ¯
¯ij (k) =
1 e¡¸Vi (k) (¸Vi (k))jDk (j)j ±i ¼j jD¯ k (j)j! 10 1 0 Y Y (j ) (j ) PD r PG A @ 1 ¡ PD q PG A : £@ r2Dk (j)
¯ k (j) q2D
(46) The normalisation constant ±i is determined by the requirement that the ¯ij (k) should sum to unity over j. (That is, the transition must be to one of the nodes at time k.) Combining (45) and (46) allows the MH-VDA transition likelihoods in (43) to be evaluated. These are then used to compute the incremental costs in the forward dynamic programming recursion (41) that implements the search for the most likely sequence of multitarget data association hypotheses in the trellis. The operation mimics that of the standard Viterbi algorithm, except that the mechanism for computing path costs is augmented with decision-directed Kalman filtering to produce the path-conditioned state estimates and covariances. The new multitarget state estimates for each node j at time k are obtained by updating the predicted estimates from the node i¤ at time k ¡ 1, which provides the lowest overall path cost to node j. At the final time, the sequence of joint data associations and their corresponding multitarget state estimates are retrieved by backtracking along the least cost path through the trellis.
Gating
Without gating the computational requirements of the MH-VDA algorithm would be prohibitive except for very small numbers of targets. The gating procedure for MH-VDA considered in this section differs in a number of respects from the single-target case in Section IIIB. The reason is that the direct correspondence between measurements and association hypotheses is lost when one considers multiple targets. Given a measurement prediction and covariance for target t and node i at time k ¡ 1 in the trellis, an ellipsoidal validation gate Git (k ¡ 1) is constructed in the usual manner. (See (24) and (44).) We define the gate index set for target t and node i as ¡it (k ¡ 1) = fm j 1 · m · Mk , ym (k) 2 Git (k ¡ 1)g (47) where Mk is the number of measurements received in scan k. The set of all gated measurements for node i at time k ¡ 1 is defined as ¡i (k ¡ 1) =
T [
t=1
¡it (k ¡ 1)
(48)
which contains mki gated measurements in total. We write the total gate volume as à T ! [ t Vi (k) = vol ¡i (k ¡ 1) (49) t=1
which in general must be approximated due to possible overlap of gates. It is now necessary to perform a hypothesis validation stage to determine the set of valid transitions from μi (k ¡ 1) to μj (k). This is a standard procedure in JPDA tracking. (See [47].) A subtle difference arises in VDA tracking since one must also construct the set of nodes at time k ¡ 1, from which transitions are possible to a given node at time k. (See Fig. 2.) This difference does not arise in JPDA since there is only one a priori joint state estimate, whereas there are many such entities in a trellis. The set of valid transitions from node i at time k ¡ 1 for i = 1, : : : , nk¡1 is denoted Hi (k ¡ 1) = fj j 1 · j · nk , i ! j validg:
(50)
The inverse gate index set of nodes that can transit to node j at time k is then defined to be: Hj¡1 (k) = fi j 1 · i · nk¡1 , j 2 Hi (k ¡ 1)g:
(51)
In the MH-VDA implementation only transitions permitted by gating are considered for determination of the transition costs. Costs of infeasible transitions are set to infinity. As in the ST-VDA algorithm, all nodes may transition to the “all-clutter” association hypothesis.
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
595
Fig. 3. Merging of paths in VDA trellis. (a) Merge depth 5 at time k. (b) Merge depth 1 at time k + 1.
D. Remarks on the VDA Algorithm In its standard form the Viterbi algorithm is only suitable for batch processing. However, in practice, it is desirable that target tracks be confirmed after a relatively short, perhaps fixed, delay. This delay is referred to as the latency of the algorithm. It is desirable to keep the latency short, but this often comes at the expense of an increased false track rate, i.e., confirming as true tracks those that are actually false. Although, in theory, the Viterbi algorithm has unbounded decision delay, it can be implemented as a fixed-lag algorithm with negligible loss in optimality [23]. The phenomenon of merging is responsible for this. Merging occurs when all paths in a trellis at some time k share a common path history up to k ¡ ±, for some ± ¸ 0. To illustrate the concept of merging, we have plotted in Fig. 3 two Viterbi trellises obtained from a simulation of the MH-VDA algorithm on a crossing-targets scenario. (See Section VI.) Intuitively, we would expect some ambiguity around the time when the targets cross. This ambiguity is borne out in the VDA algorithm by the existence of more than one competing data association hypothesis, each with its own path in the trellis. Fig. 3(a) shows the state of the trellis at time ‘k.’ Nodes (on the vertical axis) correspond to data association hypotheses. Layers (on the horizontal axis) correspond to measurement scans. If we proceed from time k back through this trellis (to the left), we notice that there are two or more paths until we have moved back through 5 scans. The merge depth at time k is therefore 5 scans. Fig. 3(b) shows the state of the trellis at time k + 1. It is clear that the ambiguity surrounding which of the two main paths back to time k ¡ 5 is optimal has been resolved. The merge depth at time k + 1 is now 1. No amount of further processing can alter the path history prior to 596
time k since there is only one surviving path from this time back. The time to merge, termed the merge depth, measured as the delay from the current time, is a random variable. Its value depends on the path costs in the trellis, which themselves depend on the data. The determination of the expected merge depth is not straightforward, although some bounding results exist [61]. In Section VIC we look at the merge depth behaviour of the ST-VDA and the MH-VDA on a simulation example. The reader may have noticed that the trellis diagrams in Fig. 3 can equally well be regarded as hypothesis trees by rotating them clockwise by one quarter turn and centering them. This establishes a connection between the VDA methodology and that of multihypothesis tracking, where we encounter sequences of data association hypotheses that form a branching tree. The VDA can be thought of as a type of likelihood-based MHT tracker, with a particular hypothesis pruning rule implemented by the dynamic programming recursion in (41). The analogy for MH-VDA is more apt than for ST-VDA because the set of nodes from one time to the next can change completely, whereas for ST-VDA, it is only the number of nodes that changes. V.
IMPLEMENTATION AND PERFORMANCE ASSESSMENT METHODOLOGY
The performance of the VDA-based tracking algorithms is demonstrated here on a tracking problem with a 2-D state and 1-D measurement. The test scenario was chosen to emulate a bearings-only tracking situation. For this reason we refer to the arbitrary position units as degrees. We stress that the ST-VDA and MH-VDA algorithms, being based on Kalman filtering, are in no way limited to low-dimensional tracking scenarios. ST-VDA has
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
Fig. 4. Sample 1-D track data for 4 targets in clutter. Vertical axis is position.
previously been implemented for a system with a 4-D state and 3-D measurements and compared with PDA on high-frequency radar data [33, 34]. Moreover, the choice of a 1-D measurement space results in the highest effective clutter density for the same number of clutter detections. The chosen scenario should not be construed as being easier than the 4-D state, 2-D measurement case often assumed. In particular, crossings in the 2-D measurement case are generally easier to track, unless the targets are close in all 4 state dimensions at once. For comparison purposes, four well known single-scan tracking algorithms were also simulated: the nearest-neighbour Kalman filter (NNKF); PDA; two-dimensional assignment (2DA or global nearest neighbour); and JPDA. Further details on these algorithms are contained in [47], [62], and [63]. As a performance benchmark, an associated Kalman filter (see Section II) was also implemented. This is an idealised filter that is given access to the unknown measurement-to-target data associations. Note that although the VDA-based trackers can be considered as batch algorithms, they have not been formulated with any explicit smoothing. It is, therefore, appropriate to compare them with an associated Kalman filter rather than a Kalman smoother. Needless to say, smoothing can be performed along each path in the trellis if required. A comprehensive evaluation of tracker performance was carried out based on a number of performance metrics computed automatically from the results of 1000 Monte Carlo runs. The evaluation focused on state estimation errors, track retention, and track swaps. This contrasts with
conventional simulation-based analyses that only consider estimation errors. Automatic counting of track swaps is discussed in Section VC. For the two VDA-based algorithms, the maximum trellis merge depth per run was also investigated. All trackers used the same tuning parameters. The measurement noise standard deviation was 1 degree. The process noise scaling factor applied to the standard deviation was 0.001, using the full-rank process noise covariance model in [47]. The assumed detection probability, identical for all targets, was taken as PD = 0:9. A 3-sigma gate was used for measurement validation. The measurement noise standard deviation, detection probability, and clutter density were closely matched to the generated data described in the next section. Tracks were initiated using the noisy target measurements from the first two scans for all targets, with no further track initiations at later scans. A track was declared lost if it failed to be updated for 5 consecutive scans. A. Data Generation Fig. 4 gives an example of the noisy, cluttered measurement data for a single run. The test scenario has four constant-velocity targets, consisting of two crossing pairs. The straight-line true target trajectories are defined in terms of their initial position and position rate (x0 , x_ 0 ) by (210, ¡0:4), (150, 0:3), (50, 0:11), and (75, ¡0:11). The top pair of tracks cross at such an angle that they are reasonably easy to distinguish from the noisy position-rate estimates. The lower pair cross at a shallow angle and are more
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
597
difficult to distinguish during the time when they are close. Targets are assumed to start at the initial time and are present throughout the simulation. The sampling time T is 2 s and there are 100 scans. Since the first two scans are used for track initiation, these are deliberately made to be clutter-free. Position measurement noise is zero-mean, white Gaussian with standard deviation of 1 degree. All targets have detection probability of 0.925 for data generation, except on the first two scans, where they are always detected (to aid in track initiation). When true target measurements are within 2 degrees, they are merged to simulate the effects of finite sensor resolution. Thus when a pair of tracks cross, there may, at times, only be a single measurement. In each scan uniformly distributed clutter is added with a density of ¸ = 0:01 per degree over the measurement range of 300 degrees. The number of clutter measurements per scan is Poisson distributed, with expected value 3. This is similar to the scenarios considered in [16]. By way of comparison the same average clutter density for a 2-D measurement volume (a square with sides equal to the 1-D measurement range) would require 900 clutter points per scan. B. Computational Aspects All algorithms were coded in MatlabTM for execution under version 7 (R14). All single-scan trackers had full track maintenance, which was only partially implemented in the VDA tackers. In initial tests the MH-VDA was configured to run with no merge depth limiting, which also had the highest memory requirements. (Merge depth limiting for the MH-VDA is studied in Section VID.) The implementation used around 2.7kB of memory per node in the trellis. For the scenario considered in the next section, the number of nodes in the trellis did not exceed 200 at any time. No numerical problems were encountered, although for very long data segments, it may be necessary to rescale the path costs to avoid overflow. The median execution times per run of 100 scans (over 1000 runs) relative to the NNKF were, in order of increasing CPU time: ST-VDA (+2%), PDA (+7%), 2DA (+26%), and JPDA (+83%). The MH-VDA had a median execution time 18 times more than the NNKF (around 39 seconds on a 3 GHz Pentium 4 computer). The relatively low computational load of ST-VDA compared with the NNKF was due to implementation differences: the single-scan trackers were implemented with additional track maintenance logic. The operation count for ST-VDA was similar to that of PDA [32] since a Kalman filter was needed for each measurement association hypothesis. 598
The single-target trackers (NNKF, PDA, and ST-VDA) did not consider joint measurement-to-target associations. The multiple-target trackers (2DA and JPDA) used clustering [64] to reduce computational load, effectively reducing this 4-target scenario to a pair of 2-target scenarios at worst. The much higher computational load of the MH-VDA was due to the joint processing of all 4 targets (in this 4-target scenario) together with the use of brute-force hypothesis enumeration. Significant speed-up could be obtained by applying clustering to the MH-VDA algorithm together with nonexhaustive search techniques to obtain the valid association hypotheses [65—68]. The recent technique of fast mutual exclusion should also be applicable [69] (ch. 5). We reiterate that all the trackers, including MH-VDA, were implemented for convenience of coding rather than for execution speed. C.
Performance Metrics and Assessment Procedure
In a single-target scenario, the term “state estimation error” usually means errors that arise during “normal tracking,” in other words, excluding tracks that have been seduced onto clutter or otherwise lost due to missing the true target detections. In a multitarget context the situation is more complicated since very large errors can result when tracks are seduced onto other target tracks, corresponding to a track swap. The inclusion of errors from swapped tracks biases the state estimation error statistics and obscures the performance comparison exercise. It is therefore necessary to detect and exclude tracks that are either lost or swapped. Although such occurrences may be obvious from visual inspection of the results, it is not so easy to perform this task automatically. For instance, when target tracks are closely spaced, a track may swap between different true target tracks several times in one run. In contrast to the previous paper on MH-VDA [46], the performance evaluation presented here deals with the automatic classification of tracker results in terms of retained, lost, and swapped tracks. The remainder of this section gives top-level algorithm descriptions for the Monte Carlo simulation. First the main simulation loop is described. This is followed by summaries of 1) the procedure for gathering state estimation errors; and 2) the computation of the number of track swaps. Algorithm descriptions are given in pseudocode for brevity. Monte Carlo Loop: The Monte Carlo loop generates simulated measurement data, runs the different tracking algorithms, and collects performance assessment data. Track retention and swaps are not computed for the associated Kalman filter, which has access to the measurement-to-target associations; it is only used for establishing a lower bound on the state estimation errors.
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
Let the simulation time interval be denoted as [t0 , tN ]. The final time for a given track is tF . Define (for each pair of tracks that cross) the crossing time tC . The lower and upper inspection times are given by tL = max(t0 , tC ¡ tD ), Fig. 5. Definitions for automatic track swap detection. In this example track is associated with truth 2 at time tL and with truth 1 at time tU .
Monte Carlo simulation loop Generate truth and noisy measurement data for 1 run for each tracker type Run tracker and save track estimates Compute track metrics (full, lost, swapped tracks) Compute tracking errors Store metrics and errors end tracker loop end MC loop Compute Tracking Errors: As mentioned before the computation of tracking errors in a multiple target scenario involves some subtleties. The approach taken here is to consider all tracks in each run that are not deleted before the final time. Any tracks that have swapped from one true target to another must be excluded (see below). A 2-D assignment problem is then solved to match each full, nonswapped track at the final time with the true target tracks. Assignments from this process within §3 degrees of the true track are selected for statistical characterisation of estimation errors. In the pseudocode below, tN denotes the final sampling time for the simulation. for i=1:number of full (nonswapped) tracks xˆ i for j=1:number of truth tracks xj D(i, j) = jxj (tN ) ¡ xˆ i (tN )j end for end for Solve the 2-D assignment problem [70] with cost matrix D for each track i (with assigned truth j(i)) if D(i, j(i)) < threshold Compute absolute tracking errors between track i and truth j(i) end for Compute Track Swaps: The classification of track swaps is an essential part of the tracker performance assessment. While seemingly straightforward to determine by inspection, automating the process exposes some of the subjectivity that surrounds the definition of what a track swap means. After some experimentation the following procedure was found to produce accurate results for the type of scenario under consideration. (Refer to Fig. 5.)
tU = min(tN , tC + tD )
where tD is taken as 25T and T is the sampling time. Also define the (right) track persistence time as t2 = tU + tP , where tP is taken as 15T. The corresponding (left) track persistence time t1 is not needed since all tracks, by assumption, are initiated at the start of the simulation. The track swap test requires either that tF ¸ t2 or that tU + tP ¸ tN . The first condition means that the track persists “long enough” after the upper inspection time. The second condition means that the upper inspection time is “near enough” to the final simulation time. A track is associated with a truth track if it is the closest in absolute distance and if the minimum distance is less than a threshold (3 degrees). The pseudocode for track swap determination is given below. Compute crossing times between all pairs of truth tracks Any track existing at time tN is a full track Any track deleted prior to time tN is a lost track for each crossing for each full length track if tF ¸ tU AND (tF ¸ t2 OR tU + tP ¸ tN ) Associate track at tL with truth iL Associate track at tU with truth iU Register a track swap if iL 6= iU end if end for end for VI. SIMULATION RESULTS The single-scan trackers (NNKF, PDA, 2DA, JPDA) and the ST-VDA and the MH-VDA trackers were integrated into a MatlabTM test harness. The performance assessment procedure described in the preceding section was tested on a wide range of scenarios with varying numbers of targets, PD and clutter levels, to ensure that it compared accurately with manual assessment on individual runs. Examples of tracker performance for a single run are given in Figs. 6—8. This specific data set has been chosen because none of the six trackers, including both the VDA algorithms, correctly followed all 4 targets for the entire simulation run. The NNKF (Fig. 6) followed all 4 targets until their respective crossing times. For both pairs, however, the upper track was swapped, and the lower track was deleted as a track copy. Track 3 (top right of plot) was also seduced by clutter towards the end of the run. The 2D assignment tracker also suffered from a track swap on both pairs of tracks, and was unable to continue
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
599
Fig. 6. Estimated target tracks using NNKF and 2DA. Key: “T” stands for truth. “Tk” stands for track. (a) NNKF. (b) 2DA.
Fig. 7. Estimated target tracks using PDA and JPDA. (a) PDA. (b) JPDA.
Fig. 8. Estimated target tracks using ST-VDA and MH-VDA algorithms. (a) ST-VDA. (b) MH-VDA. 600
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
the lower track in each pair. Similar comments apply to the PDA and JPDA trackers (Fig. 7), both of which lost the lower track in each pair. Despite the track swaps, the tracks produced by PDA and JPDA were not seduced by clutter near the final time. Fig. 8 shows the results for the VDA trackers on the same data set. Both the ST-VDA and the MH-VDA successfully tracked the upper pair of crossing targets, producing high quality track estimates indicative of correct data association. (Note that no smoothing was carried out in the implemented versions of these algorithms.) VDA performance on the lower pair of crossing tracks was imperfect: the ST-VDA swapped the lower track and lost the upper track, while the MH-VDA retained both tracks but also swapped them. The results of the subsequent Monte Carlo assessment are discussed in the following subsections. These are organised as follows: 1) performance metrics (track retention and swaps); 2) state estimation errors; 3) merge depth comparison between ST-VDA and MH-VDA; and 4) MH-VDA performance with limited merge depth. A. Tracker Performance Metrics In the previous section an example showing the types of tracking errors that can occur in a closely-spaced multiple-target scenario was given. The results of the Monte Carlo assessment of tracker performance metrics, using the methodology described in Section VC are now detailed. As mentioned before, all tracks are initiated using target detections from the first two scans in each simulation run. The Monte Carlo simulation consisted of 1000 runs for each tracker. As there are 4 targets per run, zero track loss corresponds to 4000 retained (full length) tracks. While the performance metrics cover the principal behaviours of “true” tracks, i.e., tracks that are formed on actual target detections, false tracks statistics have not been computed. Consideration of false track rates and durations requires a track confirmation criterion to be defined, and automatic track initiation processing is also necessary (so that candidate tracks are sometimes started on false alarms). These issues have not, so far, been dealt with in the context of multihypothesis VDA. Table I shows the track retention statistics for each of the six trackers. Note that the tracking algorithms have been divided into two classes: single target and multiple target. Lost tracks are tracks that are deleted before the end of a run, and therefore, do not achieve full length (100 scans). Track loss is expressed as a ratio of the number of lost tracks to total true tracks over all 1000 Monte Carlo runs. Swapped tracks include both full length tracks and tracks deleted before the end of a run. The number of track swaps is expressed relative to the total number of true tracks and also the number of full length tracks
TABLE I Track Retention Statistics Tracker
% Lost Tracks
% Swaps/Total
% Swaps/Full
NNKF PDA ST-VDA
46.4 39.8 21.5
17.1 17.9 8.60
31.8 29.7 11.0
2DA JPDA MH-VDA
27.8 24.1 9.83
19.0 21.3 14.6
26.4 28.1 16.2
for each tracker. This distinction is important since trackers with lower track retention also provide fewer opportunities for track swaps. The results indicate, in a convincing manner, that the VDA-based filters provide the best track retention statistics in their class. As expected the MH-VDA significantly outperforms the ST-VDA and the other trackers in terms of track loss (10%), although this performance gain comes at a high computational price. Track loss for ST-VDA is still less than that of JPDA and all the other single-scan trackers. When merge depth limiting was implemented in the MH-VDA, the track loss was as low as 5%. (See Section VID.) The ST-VDA does not explicitly allow for multiple targets in its data association comutations and, as noted in [33], it is more likely to lose one track in a pair of crossing tracks. The reason for this is that measurements from both targets may be retained in the same VDA trellis while the tracks are close, which prevents a second VDA trellis from choosing the correct data association for the second target in the pair. Naturally, there can only be one best track in the end, with the less likely options being deleted by the dynamic programming rule. This explains why the track loss for the ST-VDA is roughly twice as high as that of the MH-VDA. On the other hand, as indicated in Table I, ST-VDA provides the lowest ratio of swapped-tofull-length tracks, even ahead of MH-VDA. This result can be understood in light of the following observations. For the lower crossing in Fig. 4, where there is not much difference in the true target velocities, the position difference is a more dominant factor in the transition likelihood term (45). In such a scenario, the ST-VDA seems more likely to choose the “straight ahead” option than the MH-VDA, which is the correct choice since the targets are nonmanoeuvring. On the other hand the MH-VDA, which considers joint measurement-to-target associations, also considers the swapped track option. Due to measurement noise, in some cases, this option has a lower path cost and a track swap results. Compared with the VDA trackers, the track swap performance of all the single-scan trackers was very close.
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
601
TABLE II Absolute Position Error Statistics Tracker
Mean
50%
90%
95%
99%
Std Dev
NNKF PDA ST-VDA
0.835 0.820 0.509
0.599 0.590 0.408
1.69 1.63 1.05
2.28 2.16 1.30
4.58 4.12 2.00
1.03 1.18 0.443
2DA JPDA MH-VDA
0.828 0.813 0.501
0.595 0.587 0.407
1.67 1.61 1.04
2.24 2.11 1.27
4.42 4.14 1.85
1.04 1.14 0.418
Assoc KF
0.456
0.379
0.941
1.13
1.56
0.359
B. Tracking Error Statistics The computation of state estimation errors was performed, as outlined in Section VC, via a set of 1000 Monte Carlo trials on the 4-target test scenario. In gathering error samples only full-length tracks were considered that were both free of track swaps and satisified the acceptance criterion at the final time. No outlier limits were used, although to a large extent, the use of track deletion logic and the exclusion of swapped tracks limited the support of the error distributions. The NNKF, which had the highest track loss, yielded around 140,000 position error samples over the 1000 runs. The results for the two VDA trackers were based on at least 280,000 samples. Rather than present cumulative distributions (as in [46]), the mean, median, three other percentiles (90%, 95%, and 99%), and the standard deviation of the absolute position error are presented. The error statistics for the six trackers are presented in Table II. The last row in the table gives the error statistics for the associated Kalman filter, which may be taken as the best possible performance of any filter since it is uncontaminated by data association errors. At all levels (in the mean and the four percentiles), the MH-VDA outperformed the other trackers in terms of absolute state estimation errors. The performance of the ST-VDA was close to that of the MH-VDA in the mean and at lower percentiles, although the difference was more significant at high percentiles. JPDA ranked third best, then PDA, followed by 2DA and NNKF. The differences between the single-scan trackers were slight at lower percentiles, but more significantly in favour of the PDA-based trackers at higher percentiles. Compared with the associated Kalman filter, the MH-VDA performed roughly 10% worse up to the 90th percentile and 20% worse at the 99th percentile. C. Maximum Merge Depth Comparison As mentioned in Section IVD, the merge depth in the Viterbi trellis is a random variable. In broad terms, longer merge depths correspond to increased ambiguity in the data association process. Thus when two target tracks cross at a shallow angle, 602
Fig. 9. Sample merge depths over time for MH-VDA tracker on 6 MC runs. Period from 100—120 corresponds to the shallow target crossing.
as in the example chosen here, an increase in the merge depth would be expected. It is demonstrated in [46] that, even in the absence of clutter, target crossings can lead to unbounded (linearly increasing) merge depths. This is due to the existence of two distinct data-association hypotheses with similar likelihoods: 1) both tracks continue “straight ahead,” or 2) both tracks swap at the crossing point. A similar observation was made in [42]. For constant-velocity target motion models, it would be expected that, on average, the straight-ahead hypothesis would have a lower cost and that the track swap hypothesis would have a higher cost (since it requires a significant change in the position-rate of both tracks at the crossing point). In highly ambiguous situations and/or when the measurement noise is significant, it is common for both hypotheses to be retained by the VDA, which leads to an increasing merge depth from the time the targets cross. This effect applies to both the ST-VDA and the MH-VDA algorithms and can be clearly seen in Fig. 9, which shows the evolution of the merge depth with time for 6 different runs. Large and increasing merge depths are far more likely to occur from the time the lower pair of targets tracks cross (time 100—120). Plots of the ST-VDA merge depth (not shown) indicate that the merge depth tends to increase as soon as the top two target tracks cross in Fig. 4. In drawing a comparison between the merge depth behaviour of the ST-VDA and the MH-VDA, a subtlety arises. While there is only one global hypothesis set for the MH-VDA, and hence only one MH-VDA trellis per run, there are multiple trellises for the ST-VDA, each with its own set of paths. The statistics of the maximum merge depth per run for the MH-VDA are, therefore, compared with the maximum merge depth over all trellises for the ST-VDA. The results obtained on 1000 Monte Carlo runs indicate that, in almost all the ST-VDA runs, although most
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
Fig. 10. Sorted merge depths for ST-VDA and MH-VDA. On each run maximum merge depth taken over all times and, for ST-VDA, over all trellises. TABLE III Statistics for the Maximum Merge Depth per Run from 1000 Runs
MH-VDA ST-VDA
Mean
Median
90%
95%
99%
Std Dev
23.5 55.4
20 58
43 59
45 60
47.5 60
16.4 10.9
trellises had short maximum merge depths (e.g., less than 4), at least one trellis had a long (unbounded) maximum merge time. The statistics for the maximum merge depths for the ST-VDA algorithm, shown in Table III, support this conclusion. In contrast the distribution for the maximum merge depth for the MH-VDA had broader support, with many low values during the 1000 runs. This is reflected in the lower mean and median values than the ST-VDA. A visualisation of the maximum merge depths for both algorithms is presented in Fig. 10. This clearly shows the preponderance of large merge depth values for the ST-VDA. D. MH-VDA Performance with Limited Merge Depth Having considered the behaviour of the trellis merge depth in the preceding section, we are led naturally to the question of the impact of limiting the merge depth in the Viterbi trellis. This question has important practical implications for the implementation of the VDA technique since some applications may preclude the use of batch processing. Limiting the merge depth in the MH-VDA to a pre-specified maximum value can be accomplished as follows. Denote the merge depth limit as MDL, which is assumed to be greater than or equal to one. If at any cycle of processing the current merge depth exceeds the MDL, the most recent “merge node” in
Fig. 11. Effect of merge depth limit on MH-VDA performance. (Top) Lost and swapped tracks as percentage of total true tracks. (Bottom) Ratio of swapped tracks to full tracks.
the trellis is located. This is the rightmost node to the left of which there is only one path (for instance the node in the second layer in Fig. 3(a)). A recursive procedure is then carried out to delete all branches from the merge node that do not include the currently optimal path. At each stage of the iteration, the merge depth is checked, and the iteration terminates when the merge depth no longer exceeds the MDL. After the merge depth limiting process terminates, all nodes at the current time retain their best path. Only nodes prior to the current time may fail to be included on a surviving path. The MH-VDA algorithm continues as before, and no restarting is necessary. The MH-VDA algorithm is tested on 500 runs of the 4 crossing target scenarios for 12 different values of the MDL. Note that MDL = 100 corresponds to no merge depth limit since the scenario duration is 100 scans. The results from this exercise are shown in Fig. 11. The percentage of lost tracks for the MH-VDA is close to monotonically increasing as the MDL increases. For MDLs of 10 and above, there is no significant difference in track retention performance. This result is counter-intuitive since, in conventional decoding theory, Viterbi algorithm performance tends to be better when the merge depth limit (or decision delay) is unrestricted. The reason for this result is not known, although it may be scenario dependent. The percentage of swapped tracks, in relation to both the total number of truth tracks and the number of retained full-length tracks, exhibits a clear dip for MDLs around 2—3. While the maximum number of track swaps occurs for a MDL of 1, for this scenario at least, there seems to be an optimum value for the MDL. These results seem to imply that the MH-VDA can achieve a good trade-off in terms of track retention and track swap metrics for decision delays of around 3 scans.
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
603
VII. CONCLUSIONS AND DISCUSSION Two variants of the VD technique have been presented: ST-VDA and MH-VDA. Both algorithms are suitable for MTT, although MH-VDA is designed specifically for MTT. The basic philosophy of both methods is to set up a discrete optimisation problem, the solution of which is the sequence of measurement-to-target data associations. The methods are closely related to Morefield’s 0-1 integer programming formulation of the MTT problem, and can be seen as efficient suboptimal search strategies for the latter. The data association problem is solved by applying the Viterbi algorithm to decompose the joint optimisation problem into a sequence of scalar optimisation problems by means of an approximate forward dynamic programming recursion. The operation of the algorithms is easily visualised as a search on a trellis for the lowest cost path. Each path through the trellis corresponds to a unique sequence of data associations. For the ST-VDA, nodes in the trellis correspond to measurements, whereas, for the MH-VDA, nodes correspond to multitarget data association hypotheses. The transition likelihoods required to evaluate the path cost are based on path-conditioned Kalman filter estimates. A simulation study was carried out to compare the performance of the ST-VDA and the MH-VDA with a number of standard, single-scan tracking approaches from the literature. The performance assessment was not restricted to estimation errors, but also included performance metrics for track loss and track swaps in a multiple crossing target context. The ST-VDA was found to have the best track swap performance, while the MH-VDA had, by far, the lowest track loss figure. Estimation errors for both VDA algorithms were similar, both being superior to standard, single-scan techniques, with average errors around 10% larger than a Kalman filter with known data associations. The behaviour of the merge depth in the Viterbi trellis was also studied, and a comparison of the maximum merge depth for both algorithms was carried out. Finally merge depth limiting for the MH-VDA algorithm was investigated, leading to the curious result that short MDLs seem to lead to lower track loss. Track swap performance with respect to MDL was found to be nonmonotonic. A number of extensions of the work suggest themselves. The most salient of these is the requirement for automatic initiation of tracks in the MH-VDA framework. This would involve changes to the hypothesis generation logic and consideration of when a measurement is not being used by a trellis. It may be possible to consider retrospective initiation of tracks according to merging of paths in the trellis. (Although this would require measurement data 604
to be buffered.) Another important, practical issue is reducing the computational complexity of the MH-VDA. Some techniques from MHT for alleviating the processing load were suggested in Section VB. Another direction for further study concerns the use of different filtering methods. So far the VDA methodology has used Kalman filtering to provide state estimates. There is no reason not to use other methods, such as Kalman smoothing along the paths in the trellis or unscented Kalman filters for nonlinear system models. More work is needed to investigate the links between and the relative performance of VDA, which is likelihood based, and MHT methods, which tend to be based on posterior hypothesis probabilities. Concerning the interpretation of the performance results, a word of caution is in order. The two VDA algorithms have been compared and found superior to single-scan tracking approaches, such as JPDA. Such a comparison is not entirely fair since both VDA algorithms were implemented as batch algorithms; although they did not involve smoothing of state estimates. In fact both the ST-VDA and the MH-VDA can be implemented as fixed-lag algorithms with lag equal to MDL + 1, as long as a merge depth limit is imposed. The results of limiting the maximum merge depth for the MH-VDA (Section VID) seem to indicate that good results are still obtainable for small values of MDL (e.g., 2 or 3). Thus VDA seems to have the desirable property that most of the performance gain is obtained for short values of look-ahead. However, further study is required to determine the class of problems for which this tentative conclusion holds. APPENDIX A. Proof of Path Confidence Upper Bound for ST-VDA Recalling the definition of d¯ jk (k) in (21), repeated below for convenience ), d¯ jk (k) = max p(£jkk , Yk j ¥jk¡1 k¡1 j1 ,:::,jk¡1
jk = ¡1, 0, : : : , Mk
we have d¯ jk (k) ·
M1 X
Mk¡1
j1 =¡1
¢¢¢
X
jk¡1 =¡1
p(£jkk , Yk j ¥jk¡1 ): k¡1
Since the joint data association hypotheses form a mutually exclusive and exhaustive set of events, it follows that Mk X
jk =¡1
d¯ jk (k) ·
M1 X
j1 =¡1
¢¢¢
Mk X
jk =¡1
p(£jkk , Yk j ¥jk¡1 ) k¡1
k
): = p(Y j ¥jk¡1 k¡1
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
Now invert and multiply by p(£jkk , Yk j ¥jk¡1 ) to obtain k¡1 p(£jkk , Yk j ¥jk¡1 ) p(£jkk , Yk j ¥jk¡1 ) k¡1 k¡1 ¸ = Pr(£jkk j Yk , ¥jk¡1 ): PMk ¯ k¡1 k¡1 k p(Y j ¥ ) d (k) j j =¡1 j k¡1 k
k
Taking the maximum over the first k ¡ 1 indexes leads to maxj1 ,:::,jk¡1 p(£jkk , Yk j ¥jk¡1 ) k¡1 ) ¸ max p(£jkk j Yk , ¥jk¡1 PMk ¯ k¡1 j1 ,:::,jk¡1 (k) d jk =¡1 jk
from which the upper bound on c˜ j (k) follows immediately. B. Summary of ST-VDA Tracker Algorithm The main steps in the implementation of the ST-VDA algorithm for MTT are summarised below. This version of the algorithm includes automatic trellis maintenance. This summary has been adapted from [33].
1) Initialise a trellis using all the measurements in the first scan. Set k = 0. 2) For current scan k = 1, 2, : : : , K: a) For each trellis: i) Add new layer to current trellis corresponding to current scan Y(k). ii) For each node i in layer k ¡ 1 in current trellis: A) Calculate the measurement prediction yˆ i (k j k ¡ 1) and its covariance Si (k) (see (44)).
B) Determine the gate Gi (k ¡ 1) (24) and the set of validated measurements ¡i (k ¡ 1) (25).
C) For each node j in scan k in current trellis: 1) Calculate the transition probabilities a¯ ij (k) (32) and the transition costs aij (k) = ¡ ln a¯ ij (k) for nodes in ¡i (k ¡ 1). Define the transition costs to nodes outside the gate as infinite. 2) Increment the path costs to time k ¡ 1 for feasible transitions using the transition costs and determine the best path to node j according to (26).
3) Add the node ij¤ at time k ¡ 1 on the best path to node j at time k to the path history for node j and store the path cost dj (k). 4) For j = 0, copy the Kalman filter prediction and covariance for node ij¤ and store these as xˆ j (k j k) and Pj (k j k) for node j.
5) For j ¸ 1, update the Kalman filter prediction for node ij¤ using measurement yj (k) to form the updated state estimate xˆ j (k j k) and covariance Pj (k j k) for node j. 6) Calculate path confidence cj (k j k) (33).
iii) Prune nodes from trellis that have a path confidence less than the path deletion threshold (see Section IIIF). Mark measurements corresponding to each node as used or unused by current trellis as appropriate. iv) Prune nodes in previous layers of trellis that are no longer on any surviving path and check if and when the paths merged (Section IVD). v) Calculate the trellis confidence PE (k j k) (Section IIID) and mark the trellis as pending.
vi) If the trellis confidence is less than the trellis deletion threshold Pdel , delete the trellis and mark all associated measurements in current measurement set as unused by this trellis. If trellis was confirmed previously, mark trellis as lost. vii) If the sliding-window averaged trellis confidence is greater than the trellis confirmation threshold Pcon , and the confirmation delay has been exceeded, mark trellis as confirmed. viii) Proceed to next trellis. b) Create and initialise a new trellis using all measurements that are not used in any existing trellis. c) Create a list of best tracks to time k from trellises that have either merged or have been marked as confirmed. These tracks may be displayed. 3) Proceed to next scan.
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
605
[15]
REFERENCES [1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
606
Pulford, G. W. Taxonomy of multiple target tracking methods. IEE Proceedings–Radar, Sonar and Navigation, 152, 5 (2005), 291—304. Reid, D. B. An algorithm for tracking multiple targets. IEEE Transactions on Automatic Control, AC-24, 6 (1979), 843—854. Kurien, T. Issues in the design of practical multitarget tracking algorithms. In Y. Bar-Shalom (Ed.), Multitarget-Multisensor Tracking: Advanced Applications. Norwood, MA: Artech House, 1990, 43—83. Fortmann, T. E., Bar-Shalom, Y., and Scheffe, M. Sonar tracking of multiple targets using joint probabilistic data association. IEEE Journal of Oceanic Engineering, OE-8, 3 (1983), 173—184. Morefield, C. L. Application of 0-1 integer programming to multitarget tracking problems. IEEE Transactions on Automatic Control, AC-22, 3 (1977), 302—312. Poore, A. B., and Robertson, III, A. J. A new Lagrangian relaxation based algorithm for a class of multidimensional assignment problems. Computational Optimization and Applications, 8, 2 (Sept. 1997), 129—150. Pattipati, K. R., Popp, R. L., and Kirubarajan, T. Survey of assignment techniques for multitarget tracking. In Multitarget-Multisensor Tracking: Applications and Advances, Norwood, MA: Artech House, 2000, vol. 3, 77—159. Avitzour, D. A maximum likelihood approach to data association. IEEE Transactions on Aerospace and Electronic Systems, 28, 2 (1992), 560—565. Jauffret, C., and Bar-Shalom, Y. Track formation with bearing and frequency measurements in clutter. IEEE Transactions on Aerospace and Electronic Systems, 26, 6 (Nov. 1990), 999—1010. Streit, R. L., and Luginbuhl, T. E. Probabilistic multi-hypothesis tracking. Naval Undersea Warfare Center, Newport, RI, Technical Report NUWC-NPT 10, 1995. Kamen, E. W. Multiple target tracking based on symmetric measurement equations. IEEE Transactions on Automatic Control, 37, 3 (1992), 371—374. Kastella, K. Event-averaged maximum likelihood estimation and mean-field theory in multitarget tracking. IEEE Transactions on Automatic Control, 40, 6 (1995), 1070—1074. Molnar, K. J., and Modestino, J. W. Application of the EM algorithm for the multitarget/multisensor tracking problem. IEEE Transactions on Signal Processing, 46, 1 (1998), 115—128. Hue, C., LeCadre, J-P., and Perez, P. Tracking multiple objects with particle filtering. IEEE Transactions on Aerospace and Electronic Systems, 38, 3 (2002), 791—812.
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
Vermaak, J., Godsill, S. J., and Perez, P. Monte Carlo filtering for multi-target tracking and data association. IEEE Transactions on Aerospace and Electronic Systems, 41, 1 (2005), 309—332. Hue, C., LeCadre, J-P., and Perez, P. Sequential Monte Carlo methods for multitarget tracking and data fusion. IEEE Transactions on Signal Processing, 50, 2 (2002), 309—325. Daum, F. Nonlinear filters: Beyond the Kalman filter. IEEE Aerospace and Electronic Systems Magazine, 20, 8 (2005), 57—69. Mahler, R. P. S. Random set theory for target tracking and identification. In D. L. Hall and J. Llinas (Eds.), Handbook of Multisensor Data Fusion, Boca Raton, FL: CRC Press, 2001, 14-1—14-33. Mahler, R. P. S. Multitarget Bayes filtering via first-order multitarget moments. IEEE Transactions on Aerospace and Electronic Systems, 39, 4 (2003), 1152—1178. Clark, D. E., Panta, K., and Vo, B-N. The GM-PHD filter multiple target tracker. In Proceedings of the 9th International Conference on Information Fusion (Fusion 2006), Florence, Italy, July 2006, 1—8. Vo, B-N., and Ma, W-K. The Gaussian mixture probability hypothesis density filter. IEEE Transactions on Signal Processing, 54, 11 (2006), 4091—4104. Forney, Jr., G. D. Maximum-likelihood sequence estimation of digital sequences in the presence of intersymbol interference. IEEE Transactions on Information Theory, IT-18, 3 (1972), 363—378. Forney, Jr., G. D. The Viterbi algorithm. Proceedings of the IEEE, 61, 3 (1973), 268—278. Rabiner, L. R. A tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of the IEEE (Feb. 1989), 257—286. Barniv, Y. Dynamic programming solution for detecting dim moving targets. IEEE Transactions on Aerospace and Electronic Systems, AES-21, 1 (1985), 144—156. Streit, R. L., and Barrett, R. F. Frequency line tracking using hidden Markov models. IEEE Transactions on Acoustics, Speech and Signal Processing, 38, 4 (1990), 586—598. Xie, X., and Evans, R. J. Multiple target tracking and multiple frequency line tracking using hidden Markov models. IEEE Transactions on Signal Processing, 39, 12 (1991), 2659—2676. Im, H., and Kim, T. Optimization of multiframe target detection schemes. IEEE Transactions on Aerospace and Electronic Systems, 35, 1 (1999), 176—187. Averbuch, A., Itzkowitz, S., and Kapon, T. Radar target tracking–Viterbi versus IMM. IEEE Transactions on Aerospace and Electronic Systems, 27, 3 (1991), 550—563.
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
[30]
Pulford, G. W., and La Scala, B. F. MAP estimation of target manoeuvre sequence with the expectation-maximisation algorithm. IEEE Transactions on Aerospace and Electronic Systems, 38, 2 (2002), 367—377.
[42]
[31]
Quach, T., and Farooq, M. Maximum likelihood track formation with the Viterbi algorithm. In Proceedings of the 33rd IEEE Conference on Decision and Control, Orlando, FL, Dec. 1994.
[43]
[32]
Pulford, G. W., and La Scala, B. F. Over-the-horizon radar tracking using the Viterbi algorithm–Second report to High Frequency Radar Division. University of Melbourne, Technical Report CSSIP 16/95, Aug. 1995, http://web.ukonline.co.uk/gpulford/Pdf doc/ vda-rep2.pdf.
[33]
[34]
[35]
[36]
Pulford, G. W., and La Scala, B. F. Over-the-horizon radar tracking using the Viterbi algorithm–Third report to High Frequency Radar Division. University of Melbourne, Technical Report CSSIP 27/95, Dec. 1995, http://web.ukonline.co.uk/gpulford/Pdf doc/ vda-rep3.pdf. La Scala, B. F., and Pulford, G. W. A Viterbi algorithm for data association. In Proceedings of the International Radar Symposium (IRS 98), Munich, Germany, Sept. 1998, 1155—1164. Pulford, G. W., and Evans, R. J. A survey of hidden Markov model tracking with emphasis on OTHR–First report to High Frequency Radar Division. University of Melbourne, Technical Report CSSIP 7/95, May 1995, http://web.ukonline.co.uk/gpulford/Pdf doc/ hmm/survey.pdf. La Scala, B. F., and Pulford, G. W. Implementation of a Viterbi data association tracker for manoeuvring targets in over-the-horizon radar. University of Melbourne, Technical Report CSSIP 12/97, May 1997, http://web.ukonline.co.uk/gpulford/Pdf doc/ vda-man2.pdf.
[44]
[45]
[46]
[47]
[48]
[49]
[50]
[37]
Pulford, G. W., and La Scala, B. F. Multiregion Viterbi data association tracking for over-the-horizon radar. University of Melbourne, Technical Report CSSIP 20/97, Oct. 1997, http://web.ukonline.co.uk/gpulford/Pdf doc/ vda-mreg.pdf.
[51]
[38]
Liu, H., Liang, Y., Pan, Q., and Cheng, Y. A multipath Viterbi data association algorithm for OTHR. In Proceedings of the International Conference on Radar (CIE’06), Shanghai, China, Oct. 2006, 1—4. Castan˜ on, D. A. Efficient algorithms for finding the k best paths through a trellis. IEEE Transactions on Aerospace and Electronic Systems, 26, 2 (1990), 405—409.
[52]
[39]
[40]
[41]
Wolf, J. K., Viterbi, A. J., and Dixon, G. S. Finding the best set of k paths through a trellis with application to multitarget tracking. IEEE Transactions on Aerospace and Electronic Systems, 25, 2 (1989), 287—296. Bertsekas, D. P., and Tseng, P. The RELAX codes for linear minimum cost network flow problems. In B. Simeone (Ed.), FORTRAN Codes for Network Optimization, Annals of Operations Research, 1998, vol. 13, 125—190.
[53]
[54]
[55]
[56]
Perry, R., Vaddiraju, A., and Buckley, K. Multitarget list Viterbi tracking algorithm. In Proceedings of the 32nd Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, Nov. 1998, 436—440. Chen, B., and Sundberg, C. E. W. List Viterbi algorithms for continuous transmission. IEEE Transactions on Communciations, 49, 5 (2001), 784—792. Seshadri, N., and Sundberg, C. E. W. List Viterbi decoding algorithms with applications. IEEE Transactions on Aerospace and Electronic Systems, 42, 2 (1994), 313—323. Nill, C., and Sundberg, C. E. W. List and soft output Viterbi algorithms: Extensions and comparisons. IEEE Transactions on Communications, 43, 2 (1995), 277—287. Pulford, G. W. Multi-target Viterbi data association. In Proceedings of the 9th International Conference on Information Fusion (Fusion 2006), Florence, Italy, July 2006, 1—8. Bar-Shalom, Y., and Fortmann, T. E. Tracking and Data Association. New York: Academic Press, 1988. La Scala, B. F., and Pulford, G. W. Manoeuvring target tracking with the IMM-VDA algorithm. In Proceedings of the 8th International Conference on Information Fusion (Fusion 2005), Philadelphia, PA, July 2005. Blom, H. A. P., and Bar-Shalom, Y. The interacting multiple model algorithm for systems with Markovian switching coefficients. IEEE Transactions on Automatic Control, 33, 8 (1988), 780—783. Colegrove, S. B., Davis, K. M., and Davey, S. J. Performance assessment of tracking systems. In Proceedings of the International Symposium on Signal Processing and its Applications, (ISSPA’96), Gold Coast, Australia, Aug. 1996, 188—191. Mabbs, S. A. A performance assessment environment for radar signal processing and tracking algorithms. In Proceedings of the IEEE Pacific Rim Conference on Computers, Communications and Signal Processing, vol. 1, 1993, 9—12. Manson, K., and O’Kane, P. A. Taxonomic performance evaluation for multitarget tracking systems. IEEE Transactions on Aerospace and Electronic Systems, 28, 3 (1992), 775—787. Anderson, B. D. O., and Moore, J. B. Optimal Filtering. Upper Saddle River, NJ: Prentice-Hall, 1979. Julier, S. J., and Uhlmann, J. K. Unscented filtering and nonlinear estimation. Proceedings of the IEEE, 92, 3 (2004), 401—422. Colegrove, S. B. A unified PDA tracking filter with initiation, nearest neighbours and non-uniform clutter. Presented at the Workshop on HMMs for Tracking, Wirrina Cove, Australia, Feb. 1992. Colegrove, S. B., and Davey, S. J. PDAF with multiple clutter regions and target models. IEEE Transactions on Aerospace and Electronic Systems, 39, 1 (2003), 110—124.
PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
607
[57]
[58]
[59]
[60]
[61]
[62]
[63]
[64]
608
Qureshi, S. U. H. Adaptive equalization. Proceedings of the IEEE, 73, 9 (Sept. 1985), 1349—1387. Colegrove, S. B., Davis, A. W., and Ayliffe, J. K. Track initiation and nearest neighbours incorporated into probabilistic data association. Journal of Electrical and Electronics Engineering, Australia, 6, 3 (1986), 191—198. Musicki, D., Evans, R. J., and Stankovic, S. Integrated probabilistic data association. IEEE Transactions on Automatic Control, 39, 6 (1994), 1237—1241. Pulford, G. W., and Evans, R. J. A multipath data association tracker for over-the-horizon radar. IEEE Transactions on Aerospace and Electronic Systems, 34, 4 (1998), 1165—1183. Omura, J. K. On the Viterbi algorithm. IEEE Transactions on Information Theory, IT-15, 1 (1969), 177—179. Blackman, S., and Popoli, R. Design and Analysis of Modern Tracking Systems. Norwood, MA: Artech House, 1999. Pulford, G. W. Relative performance of single-scan algorithms for passive sonar tracking. In Acoustics, Adelaide, Australia, Nov. 2002, 212—221. Roy, J., Duclos-Hindie´ , N., and Dessureault, D. Efficient cluster management algorithm for multiple hypothesis tracking. In SPIE Signal and Data Processing of Small Targets, vol. 3163, 1997, 301—313.
[65]
[66]
[67]
[68]
[69]
[70]
Cox, I. J., and Miller, M. L. On finding ranked assignments with application to multitarget tracking and motion correspondence. IEEE Transactions on Aerospace and Electronic Systems, 31, 1 (1995), 486—489. Cox, I. J., Miller, M. L., Danchick, R., and Newman, G. E. A comparison of two algorithms for determining ranked assignments with multitarget tracking and motion correspondence. IEEE Transactions on Aerospace and Electronic Systems, 33, 1 (1997), 295—301. Danchick, R., and Newnam, G. E. A fast method for finding the exact N-best hypothesis for multitarget tracking. IEEE Transactions on Aerospace and Electronic Systems, 29, 2 (1993), 555—560. Murty, K. G. An algorithm for ranking all the assignments in order of increasing cost. Operations Research, 16 (1968), 682—687. Maskell, S. Sequentially structured Bayesian solutions. Ph.D. dissertation, Department of Engineering, Cambridge University, 2004. Blackman, S. Multiple Target Tracking with Radar Applications. Norwood, MA: Artech House, 1986.
IEEE TRANSACTIONS ON AEROSPACE AND ELECTRONIC SYSTEMS VOL. 46, NO. 2 APRIL 2010
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
Graham W. Pulford (SM’05) received a B.E. in electrical engineering and a B.Sc. with honours in applied mathematics from the University of New South Wales, Australia, in 1988. He completed the Ph.D. in telecommunications in 1992 at the Australian National University in the Department of Systems Engineering. He undertook post-doctoral studies in biological signal processing in the Department of Chemistry also at the Australian National University. In 1993 he joined the Cooperative Research Centre for Sensor Signal and Information Processing in the Department of Electrical and Electronic Engineering at the University of Melbourne. He was responsible for several commercial research contracts on radar tracker development in connection with the Jindalee over-the-horizon radar, and he holds a U.S. patent in this area. During 2000 he was a consultant on the Jindalee Operational Radar Network project, where he developed a new technique for multipath track clustering. From 2001—2003 he was with Thales Underwater Systems, where he was engaged in the development of target tracking and data fusion techniques for sonar systems, including the Collins class submarine. He was with QinetiQ, Farnborough, UK, from 2004 to 2009. His present research focus is on performance modelling of satellite-based navigation systems.
Barbara La Scala received her Ph.D. in systems engineering from the Australian National University in 1994. She currently works as a quantitative analyst for the National Australia Bank (NAB). Prior to joining the NAB, she was a member of the Melbourne Systems Laboratory (MSL) in the Electrical and Electronic Engineering Department at the University of Melbourne, Australia. MSL performs basic and applied research on estimation, optimization, and control of distributed systems, including multi-sensor, multi-target tracking, and identification systems. Before joining MSL she worked for RLM Pty Ltd where she designed target tracking and sensor registration algorithms for Australia’s Jindalee over-the-horizon radar network (JORN). Her research interests are in tracking, data fusion, and network resource management. Dr. La Scala was Assistant Editor-in-Chief of the Journal of Advances in Information Fusion (JAIF) (2006—2008) and an Associate Editor of the IEEE Transactions on Aerospace and Electronic Systems for papers on target tracking and multi-sensor systems (2003—2008). PULFORD & LA SCALA: MULTIHYPOTHESIS VITERBI DATA ASSOCIATION
Authorized licensed use limited to: Graham Pulford. Downloaded on May 06,2010 at 19:20:26 UTC from IEEE Xplore. Restrictions apply.
609