Parallax Trackingבס״ד

Multi-target tracking, sensor fusion and estimation

Interactive tutorial · with Claude AI assistance

Several sensors report only the direction to each of several targets. The tracker has to decide which report belongs to which target, and each method here is a different answer to that question.

Multi-Scan S-D Assignment

n-SDA does not pair detections with tracks at all. It takes a few scans from every sensor together and solves for where the targets must be, so the tracker that follows receives positions rather than bearings.

Abstract—This method inverts the order of the pipeline, and it is not a sequential-decision tracker despite what the abbreviation suggests: it is a batch triangulation front end feeding an ordinary global nearest-neighbour tracker. Rather than associate measurements to existing tracks, it takes m consecutive scans from each of S sensors and solves one multidimensional assignment whose decision variables are S-tuples of measurements — one per sensor — each scored by how well that tuple triangulates to a single point. What leaves the front end is a set of position fixes, and only those fixes reach the tracker. The ambiguity that defeats the other three is geometric, and this dissolves it geometrically, before any filter runs: a permutation ghost is consistent with one scan from each sensor but not with m of them, because the ghost implied by the first scan is not the ghost implied by the second.

Index Terms—multidimensional assignment, Lagrangian relaxation, batch triangulation, multi-sensor fusion.

m scans × S sensorsbatch windowTuple costtriangulation residualS-D assignmentLagrangian relaxationPosition fixesno bearings downstreamGNN trackerordinary 2-D assignmentManagebirth · confirm · deletethe tracker never sees a bearing
Fig. 1. Multi-scan S-D assignment. The dividing line is the fourth box: everything to its left works in measurement space across sensors, everything to its right is the ordinary tracker of the GNN article.

I. Introduction

The three methods so far differ in how much they defer, but not in what they are doing: each takes the tracks it holds and decides which measurements belong to them. This one does not associate measurements to tracks at all.

Instead it takes m consecutive scans from each of S sensors and solves a single multidimensional assignment [4] whose decision variables are tuples of measurements — one from each sensor — scored by how well that tuple triangulates to a single point. What leaves the front end is a set of position fixes, and only those fixes reach a tracker. The tracker is then the ordinary one of the first article, receiving positions instead of bearings, which is a far easier problem because a position has no ambiguity left to resolve.

The reason to invert the pipeline is that the ambiguity defeating the other three is geometric, and this dissolves it geometrically and before any filter runs. A permutation ghost is consistent with one scan from each sensor but not with m of them, because the ghost implied by the first scan is not the ghost implied by the second. Note that sequential decision is not what the abbreviation denotes and nothing here defers a decision sequentially: the decision is made once, in a batch, on more data than any single scan contains.

II. Problem formulation

A. What is given, what is returned

The input is a window of m scans from each of S sensors, held together rather than processed in sequence. The output is a set of position estimates with covariances, and no association information whatever — the front end and the tracker are separate programs joined only by a set of points. Everything to the left of that join works in measurement space and knows nothing about tracks; everything to the right is the tracker of the first article, unmodified.

The window is two looks per sensor. Deeper windows were measured and do not pay for themselves at this target density.

B. The hypothesis space

A candidate is an S-tuple (i1, …, iS) picking one measurement from each sensor, extended across the m scans in the window. The space is the set of such tuples that survive gating, and a solution is a set of tuples using each measurement index at most once per sensor.

This is the one hypothesis space here that is indexed by measurements rather than by tracks, and the consequence runs through the whole method: a candidate has an identity independent of any track, so two candidates with the same index tuple are the same candidate and must be treated as one.

C. The tuple cost

A tuple’s cost is the residual of the least-squares triangulation of its bearings to a single point:

x̂ = arg minx Σs ( zs,is − hs(x) )2 / σ2(1)

evaluated at the optimum, plus a penalty for leaving a measurement unassigned. A tuple of bearings that really do come from one target meets at a point and has a small residual; a permutation ghost’s tuple does not, once more than one scan is in the window. This is the same likelihood-ratio reasoning as Appendix C applied to a batch rather than to a scan: the residual is the negative log-likelihood of the tuple and the unassigned penalty is the density of the alternative explanation.

III. The algorithm

A. The assignment problem

Over the gated tuples the problem is

min Σ ci1…iS ρi1…iS s.t. each index used exactly once per sensor(2)

which for S ≥ 3 is NP-hard — unlike the two-dimensional case of the first article, whose constraint matrix is totally unimodular and which is therefore solvable exactly. The whole of the rest of this section is the consequence of that one change of dimension.

B. Lagrangian relaxation

Dualise all but two of the constraint sets with multipliers u. What remains decomposes into a two-dimensional assignment that can be solved exactly:

L(u) = minρ Σ ( c − Σu ) ρ + Σ u ≤ the optimum of (2)(3)

L(u) is a lower bound for every u, so the bound is tightened by maximising over u. The subgradient of L at u is the constraint violation — how many times each index was used, less one — and the multipliers move along it with an accelerated step whose length adapts to the gap between the current subproblem value and the best bound so far.

S-D problemNP-hard for S ≥ 3Dualiseall but two dimensions2-D subproblemsolved exactlyBound L(u)≤ the optimumSubgradientstep, then project u ≤ 0Gapa certificatewhile the relative gap exceeds 1%, up to 500 passes
Fig. S1. The relaxation loop. Everything inside it is polynomial; the NP-hardness of (2) survives as the gap, which the loop shrinks and is not guaranteed to close.

C. Three details that are load-bearing

The multipliers must be projected. The dualised constraints are inequalities: an index used at most once, an unclaimed measurement being an implicit false alarm rather than an error. With the sign convention above that requires u ≤ 0, and the projection is applied after every step. Without it the multipliers of unclaimed indices drift positive, L(u) stops being a lower bound, and the termination test fires on a duality gap that is not real.

The incumbent is the best solution seen, not the last. The primal trajectory is not monotone and the final iterate is frequently worse than one encountered earlier.

The gap is a certificate. It states how far from optimal the returned answer can possibly be, which is what separates this from a heuristic: a heuristic gives an answer, this gives an answer and a bound on its error. The iteration stops when the relative gap falls below one per cent or after a fixed number of passes.

D. Gating the tuples

The number of possible tuples is the product of the measurement counts, so gating is not an optimisation here but a precondition. Pairs are formed first and tested against a χ2 threshold on the triangulation residual; surviving pairs are extended one sensor at a time against a tighter one; pairs whose subtended angle is too shallow are rejected outright, because a shallow crossing localises nothing along the line of sight. The candidate count is capped. Table A1 carries all four values.

E. Track maintenance

There is none of its own, and that is the point of the architecture. Downstream of the front end the objects are positions with covariances and no association ambiguity, so birth, confirmation and deletion are exactly those of the first article, operating on an easier problem than any of the other three methods face.

One rule differs from MHT and for the opposite reason. Candidates with identical index tuples over the window must be merged, because here a tuple is the candidate’s identity rather than a summary of its history: two identical tuples are one candidate, and carrying both puts two identical rows in the cost matrix, which the assignment rejects as ill-posed.

Fill batchm scans × S sensorsGate tuplespair · extendRelaxdualise → 2-Dgap < 1%?or 500 passesconverged, with a boundPosition fixesno bearings onwardGNN trackerordinary 2-Dsubgradient stepnext batch
Fig. S2. Control flow for one batch. The inner return path is an optimisation iterating to a bound rather than a tracker waiting for the next scan, which is the structural difference between this method and the other three.

IV. Advantages and cost

It is the most accurate method here by a wide margin once three sensors exist — 5 m at three and 2 m at four, against 41 and 36 for MHT. The permutation ghost never reaches the filter, so the filter never has to be robust to it.

It is genuinely multi-sensor. The other three fuse sensors by processing their measurements in sequence; this one poses a single problem across all of them, which is what the S-dimensional assignment is for.

The output is well-posed. Downstream of the front end there are positions with covariances and no association ambiguity at all, so the tracking problem that remains is the easy one.

The answer comes with a bound. Alone among the four it reports how far from optimal its own association can be, rather than asserting that it is right.

Cost. NP-hard for S ≥ 3, relaxed into exactly solvable two-dimensional subproblems. Measured solo at three sensors: 68 ms per step.

V. Limitations

Latency. No fix exists until m scans have been collected. For m = 2 at 10 Hz that is 200 ms of built-in delay, and it is not recoverable.

Cost. 68 ms per step against 1.5 for GNN — some 45× — which is what an NP-hard problem costs even relaxed. This is the method that presses hardest against the time budget.

Synchronisation. Tuples pair measurements across sensors, so the sensors must be time-aligned to a fraction of a scan.

Two sensors is still two sensors (161 m). With S = 2 the assignment is two-dimensional again and the extra scans in the window are the only thing distinguishing a ghost — which, for targets on similar courses, they may not.

VI. Validation

As with JPDA, no reference implementation of this method exists and it is measurement-validated only, characterised by the medians in Table III over seed sets disjoint from those used to tune it.

The distinction to keep is that the reference does contain a sequential-decision tracker, that tracker is verified against the reference by regression, and it is not what is described here. The multidimensional solver underneath this method is the part with a definite answer: its subproblem solutions are checked against exact enumeration on problems small enough to enumerate, and its returned bound is checked to be a bound — never above the cost of the solution it is issued with.

Table IResult at the current epoch
Live: the running scenario's own numbers, not a recorded benchmark. For reproducible medians see Table III.
Fig. 2aMean 2σ major axis, recent history
Step changes are sensors being added or removed; the sawtooth is track birth and death.
Table IIIThe four algorithms, five-seed medians
Method2 sen.3 sen.4 sen. ms/stepvalidation
OSPA at cutoff 200 m and clutter 2, in metres; lower is better. Every cell is the median of five seeds — the same configuration has been measured spanning 4.5 to 162.9 across seeds, so a single-seed figure is noise. Tuned on one seed set, reported on a disjoint one. Timing measured solo at three sensors. Click a row to open that article.
Fig. 2. The Cramér–Rao position bound as a body. One target at the origin, its sensors around it, and the 2σ covariance ellipsoids of a converged EKF and of a batch Gauss–Newton solution, both normalised by σ · reff so the absolute noise level cancels. Drag to orbit; the sensor list and both estimators are behind the gear. Three-dimensional because with a single target there is nothing to associate, hence no filter and nothing that can diverge.
Table IIGeometry and accuracy for the constellation above

Appendix — common to all four methods

References

  1. D. B. Reid, “An algorithm for tracking multiple targets,” IEEE Trans. Autom. Control, vol. 24, no. 6, pp. 843–854, 1979.
  2. Y. Bar-Shalom and E. Tse, “Tracking in a cluttered environment with probabilistic data association,” Automatica, vol. 11, no. 5, pp. 451–460, 1975.
  3. K. G. Murty, “An algorithm for ranking all the assignments in order of increasing cost,” Oper. Res., vol. 16, no. 3, pp. 682–687, 1968.
  4. S. Deb, M. Yeddanapudi, K. Pattipati and Y. Bar-Shalom, “A generalized S-D assignment algorithm for multisensor-multitarget state estimation,” IEEE Trans. Aerosp. Electron. Syst., vol. 33, no. 2, pp. 523–538, 1997.
  5. D. Schuhmacher, B.-T. Vo and B.-N. Vo, “A consistent metric for performance evaluation of multi-object filters,” IEEE Trans. Signal Process., vol. 56, no. 8, pp. 3447–3457, 2008.
  6. S. C. Nardone and V. J. Aidala, “Observability criteria for bearings-only target motion analysis,” IEEE Trans. Aerosp. Electron. Syst., vol. 17, no. 2, pp. 162–166, 1981.
  7. D. P. Bertsekas, “The auction algorithm: a distributed relaxation method for the assignment problem,” Ann. Oper. Res., vol. 14, pp. 105–123, 1988.
  8. R. B. Langley, “Dilution of precision,” GPS World, vol. 10, no. 5, pp. 52–59, 1999.
  9. Y. Bar-Shalom, S. S. Blackman and R. J. Fitzgerald, “Dimensionless score function for multiple hypothesis tracking,” IEEE Trans. Aerosp. Electron. Syst., vol. 43, no. 1, pp. 392–400, 2007.
  10. A. Wald, “Sequential tests of statistical hypotheses,” Ann. Math. Statist., vol. 16, no. 2, pp. 117–186, 1945.
  11. J. Munkres, “Algorithms for the assignment and transportation problems,” J. SIAM, vol. 5, no. 1, pp. 32–38, 1957.
  12. P. R. J. Östergård, “A new algorithm for the maximum-weight clique problem,” Nordic J. Computing, vol. 8, no. 4, pp. 424–436, 2001.
  13. T. A. Feo, M. G. C. Resende and S. H. Smith, “A greedy randomized adaptive search procedure for maximum independent set,” Oper. Res., vol. 42, no. 5, pp. 860–878, 1994.
  14. T. Kurien, “Issues in the design of practical multitarget tracking algorithms,” in Multitarget-Multisensor Tracking: Advanced Applications, Y. Bar-Shalom, Ed. Artech House, 1990, ch. 3.