Bai Liping
Interactive note · Extended-object multi-target tracking

One cloud of detections,
115 975 ways to group it.

An extended object returns several measurements per scan, so the tracker must decide which measurements belong together before it can decide which object they belong to. This page walks through the three families of solutions to that partition-uncertainty problem — each demonstrated on the same toy scene of two elliptical objects, one ambiguous detection, and one clutter point.

The sections organize four mechanisms into three broad viewpoints. B2 deliberately places two distinct approximations side by side: [31] searches for high-weight partition–association hypotheses by stochastic methods, whereas [32] uses belief propagation to obtain marginals without enumerating them. Click any clause to jump to its demo.

§

The problem: what is a partition, and why it explodes

At one scan the sensor returns a measurement set Z = {m1, …, mM}. Because each extended object can generate many detections, many standard updates sum over a partition P of Z: disjoint, non-empty cells whose union is Z. A cell can be assigned to an existing or newly detected object. Under the usual Poisson point-clutter model, clutter measurements are normally handled as individual clutter events rather than one multi-measurement clutter source.

The exact multi-object likelihood is a sum over all partitions (and, inside each partition, over all cell-to-object assignments). The number of partitions of M elements is the Bell number B(M) — and it grows super-exponentially. For the M = 10 scene on the right there are already 115 975 partitions; counting associations and clutter labels on top, far more.

Every filter below is a different answer to one question: how do you avoid summing over all of them?

The toy scene. Dashed ellipses are the (unknown) true objects. Measurements 1–4 and 5–8 sit on them; m₉ falls between the objects and is genuinely ambiguous; m₁₀ is a lone clutter point. All five demos below run on exactly these ten points.

Same ten measurements, many valid groupings

partition 1 of 115 975

How fast it explodes

B(M) =
B(20) ≈ 5×1013, B(30) ≈ 8×1023. Exhaustive enumeration is off the table almost immediately.
A

Marginalize over a restricted set of candidate partitions

[25] [26] [27] [28]

Classical extended-target PHD-family updates contain a weighted sum over partitions, but practical implementations replace “all partitions” with a small, heuristically generated candidate set 𝒫cand and make other approximation or moment-matching choices. A common workhorse is distance partitioning [25]: cluster measurements with single linkage at a threshold d, then sweep d over a range; every distinct clustering that appears becomes one candidate. Variants add prediction partitioning, EM or spectral sub-partitioning, and combining/splitting steps.

The update then marginalizes: ν(Z) ≈ ΣP∈𝒫cand ωP · (update given P), with weights ωP proportional to each partition’s likelihood. This is how the ET-GM-PHD [25], the GGIW ET-CPHD [26], the random-matrix PHD [27], and labeled-RFS extended-target filters [28] stay tractable.

The catch — visible in this demo. Any partition outside the candidate set gets weight exactly zero. Here, sweeping d produces candidates out of 115 975 partitions — and the plausible grouping {1,2,3,4,9}{5,6,7,8} is never among them, because single linkage attaches m₉ to the right-hand cluster first. The heuristic decides which hypotheses are even allowed to exist.

That candidate set came from one clustering rule — single-linkage distance. But the choice is free: the partitioning toolbox ↓ swaps in DBSCAN, k-means, spectral, and MCMC on the same ten points.

Distance partitioning — drag the threshold

The full candidate set 𝒫cand from sweeping d, with illustrative likelihood weights ωP

Click a candidate to jump the slider into its threshold window. Weights here come from a simple Gaussian-cluster likelihood with a per-cell penalty — schematic, but the ranking matches intuition.

The partitioning toolbox: many ways to build the candidate set

[25] [31]

Family A marginalizes over a candidate set 𝒫cand — but which partitions land in that set is entirely up to the clustering rule, and there are many. Each panel below is a separate live example of one method running on the same ten measurements. Drag every control and watch how m₉ (ambiguous) and m₁₀ (clutter) are treated differently. Single-linkage distance partitioning [25] is only the traditional default; no method here is “correct,” which is exactly why the candidate set is a modeling choice.

Hierarchical — agglomerative linkage

Repeatedly merge the two nearest clusters until the linkage distance passes the threshold d. Single linkage scores cluster distance by the closest pair, so it chains across gaps — m₉ hops onto a cluster early, and past d ≈ 13 the two objects fuse into one cell. Complete uses the farthest pair (tight, compact groups); average sits between. Sweeping this threshold is precisely the distance partitioning of family A.

K-means — centroid partitioning

Lloyd’s algorithm with k-means++ seeding: fix the number of groups K, then alternate assigning points to the nearest centroid and recomputing centroids. Fast, but K must be chosen up front and every point is forced into some cluster — at K=2 the clutter point m₁₀ drags a whole centroid toward it; you need K=4 before it gets its own cell. Hit Re-seed to land in a different local optimum.

DBSCAN — density clustering

A point is a core point if it has at least minPts neighbours within radius ε; clusters grow outward from core points, and anything left over is noise (drawn hollow). DBSCAN discovers the cluster count itself and, unlike k-means, quarantines clutter — at ε=10, minPts=3 it cleanly labels both m₉ and m₁₀ as noise. Widen ε and m₉ gets absorbed; m₁₀ stays isolated. Its weakness: one global density can’t fit clusters of very different tightness.

Spectral — graph-eigenvector clustering

Build an affinity graph with weights exp(−dist²/2σ²), then k-means the smallest eigenvectors of its normalized Laplacian — cutting the graph where connections are weakest. It can separate groups a centroid method merges, and at K=3 it produces {1–4,9}{5–8}{10} — the grouping of m₉ that single linkage can never reach. σ sets the neighbourhood scale: too large and all points fuse, too small and it shatters into singletons.

MCMC — split / merge sampling

A Metropolis–Hastings-style chain over partitions: each move proposes splitting, merging, or reassigning and accepts using the toy score ratio. It searches instead of enumerating; the best visited candidates illustrate the stochastic-optimization route of [31]. This page’s score is schematic, so its histogram is not a calibrated filter posterior.
B1

Retain multiple hypotheses in the multi-object posterior

[29] [30]

The Poisson multi-Bernoulli mixture (PMBM) filter [29] takes the opposite stance: don’t pick partitions — keep them. The PMBM density is a conjugate prior for extended-target models, so the posterior is exactly a mixture in which each global hypothesis corresponds to one history of partitions and cell-to-object associations, carrying a weight and its own multi-Bernoulli density.

The price is growth: at every scan each global hypothesis spawns one child per compatible partition–association of the new measurement set, so the mixture multiplies. Tractability comes from hypothesis management — gating, pruning low-weight hypotheses, capping their number, and recycling — exactly what the buttons on the right animate.

The PMB approximations of [30] go one step further: after the update, the mixture is approximated by a single multi-Bernoulli using track-oriented or variational/KL-based methods. Marginal association information survives, while correlations between global hypotheses are discarded (see the split-colored m₉ below).

Global hypotheses = partitions + associations, each with a weight


PMB projection [30]: mixture → single density

Resulting marginals for m₉

hypothesis about m₉marginal prob.
from object 20.46
from object 10.31
births a new object0.14
clutter0.09
These numbers are illustrative. After projection, m₉ is represented through marginal contributions and a possible new Bernoulli rather than one retained global cell assignment. The mixture’s branching structure and cross-track correlations are gone; only selected marginal uncertainty remains.
B2

Direct approximate inference without enumeration

[31] [32]

Granström et al. [31] use Gibbs sampling and stochastic optimization to find high-likelihood joint partition–association hypotheses directly, avoiding a separate clustering-then-assignment stage. With an irreducible chain, correct target distribution, adequate mixing, and enough samples, sampling can explore support beyond a fixed heuristic candidate set; in finite time it can still miss modes.

Xia et al. [32] take a different route: a trajectory-PMB filter uses a factor-graph representation and belief propagation to approximate association marginals without enumerating hypotheses. It is not a partition sampler. The live panel on the right demonstrates only the sampling idea from [31].

Watch for it. Run the sampler and check the histogram: both {1–4}{5–8,9} and {1–4,9}{5–8} accumulate mass — including the partition family A could never produce.

Gibbs-style sampler over partitions (starts from one giant cell)

0 moves
One “move” reassigns one measurement to an existing cell, a new cell, or clutter (∅), using a CRP-flavored Gaussian toy score. The bars are empirical visit frequencies for this toy Markov chain, not a calibrated posterior from [31]. Mixing, burn-in, and the stationary distribution all matter.
C

No explicit hard partitioning: a new potential object per measurement

[33] [34]

Meyer and Williams [33], [34] dissolve the partition variable altogether. Each measurement mi gets its own association variable ai ∈ {existing objects, new object, clutter}, and — crucially — instantiates one new potential object. The joint posterior over object states, existences, and all ai lives on a factor graph, and the sum-product algorithm (SPA) passes messages until the association marginals converge.

No explicit partition is enumerated; “groups” exist implicitly through measurements whose association beliefs concentrate on the same object. For fixed particle count and message iterations, the association layer touches measurement–object pairs and scales roughly as 𝒪(n·M) per iteration; the full particle implementation has additional state and shape-inference costs. [34] extends the machinery to explicit geometric shapes.

Read the picture. Edge opacity = current belief p(ai = object k). Core measurements lock on after one or two iterations; m₉ stays deliberately soft between blue and orange; m₁₀’s strongest explanation is clutter, and every measurement keeps a faint dashed circle — its own potential new object.

Message passing on the association factor graph (schematic SPA)

iteration 0

The factor graph (4 of M measurements shown)

Circles x₁, x₂: legacy objects. Circles ai: per-measurement association variables. Dashed circles yi: the new potential object that measurement i proposes. Squares: likelihood / existence factors. SPA messages flow along the edges — M new-object nodes instead of B(M) partitions.
The iteration shown is a simplified fixed-point version of the SPA in [33] (association beliefs ↔ existence probabilities), enough to see the qualitative behavior; the real algorithm also couples kinematic and extent states.

Side by side

FamilyRepresentative filtersHow partition uncertainty is handledCost & failure mode
A · Candidate set ET-GM-PHD [25]; GGIW ET-CPHD [26]; random-matrix PHD [27]; labeled RFS [28] Heuristics (distance / prediction partitioning, EM splits) generate a small 𝒫cand; the update marginalizes over it with likelihood weights. Cheap and simple; but mass outside 𝒫cand is silently zero — the clustering heuristic caps achievable accuracy.
B1 · Retain hypotheses PMBM conjugate prior [29]; PMB / PMBM approximations [30] Under the assumed model, partition-and-association histories index a conjugate PMBM mixture; PMB approximates that mixture by one density, retaining selected marginals but dropping global correlations. Statistically principled; hypothesis count multiplies per scan → needs aggressive gating, pruning, capping, recycling.
B2 · Direct inference Gibbs / stochastic optimization [31]; trajectory PMB with BP associations [32] [31] searches for high-weight joint hypotheses by sampling/optimization; [32] instead uses BP to approximate marginals without enumeration. Sampling can mix slowly or miss modes; loopy BP can bias marginals. These are distinct approximations with different diagnostics.
C · No hard partition SPA-based scalable EOT [33]; geometric extended objects [34] One association variable and one new potential object per measurement; SPA on a factor graph yields soft association marginals — partitions never enumerated. Association messaging is roughly 𝒪(n·M) per iteration for fixed particle count; the complete particle tracker costs more. Delivers approximate marginals, not an explicit best partition.

Same scene, three lenses: A asks “which few groupings shall we allow?”, B asks “how do we carry many groupings forward?”, C asks “why group at all?”.

[·]

References

  1. K. Granström et al., “Extended target tracking using a Gaussian-mixture PHD filter,” IEEE Trans. Aerosp. Electron. Syst., vol. 48, no. 4, pp. 3268–3286, 2012.
  2. C. Lundquist et al., “An extended target CPHD filter and a gamma Gaussian inverse Wishart implementation,” IEEE J. Sel. Topics Signal Process., vol. 7, no. 3, pp. 472–483, 2013.
  3. K. Granström et al., “A PHD filter for tracking multiple extended targets using random matrices,” IEEE Trans. Signal Process., vol. 60, no. 11, pp. 5657–5671, 2012.
  4. M. Beard et al., “Multiple extended target tracking with labeled random finite sets,” IEEE Trans. Signal Process., vol. 64, no. 7, pp. 1638–1653, 2016.
  5. K. Granström et al., “Poisson multi-Bernoulli mixture conjugate prior for multiple extended target filtering,” IEEE Trans. Aerosp. Electron. Syst., vol. 56, no. 1, pp. 208–225, 2020.
  6. Y. Xia et al., “Poisson multi-Bernoulli approximations for multiple extended object filtering,” IEEE Trans. Aerosp. Electron. Syst., vol. 58, no. 2, pp. 890–906, 2022.
  7. K. Granström et al., “Likelihood-based data association for extended object tracking using sampling methods,” IEEE Trans. Intell. Veh., vol. 3, no. 1, pp. 30–45, 2018.
  8. Y. Xia et al., “Trajectory PMB filters for extended object tracking using belief propagation,” IEEE Trans. Aerosp. Electron. Syst., vol. 59, no. 6, pp. 9312–9331, 2023.
  9. F. Meyer et al., “Scalable data association for extended object tracking,” IEEE Trans. Signal Inf. Process. Netw., vol. 6, pp. 491–507, 2020.
  10. F. Meyer et al., “Scalable detection and tracking of geometric extended objects,” IEEE Trans. Signal Process., vol. 69, pp. 6283–6298, 2021.