What is Optimal Sub-Pattern Assignment Metric?

Optimal Sub-Pattern Assignment Metric is a normalized mathematical distance between finite point sets that combines optimally assigned, cut-off localization errors with a penalty for unequal cardinality.

Quick Facts

SpecificationOfficial Specification

How It Works

Combine capped localization and cardinality error

For sets with sizes m <= n, OSPA of order p and cut-off c minimizes the sum of m capped pair distances raised to p, adds c^p(n-m) for the cardinality gap, divides by n, and takes the pth root. Symmetry handles the opposite size ordering, and two empty sets have distance zero.

The original OSPA study introduced a mathematically consistent multi-object miss distance where correspondence is not supplied in advance. The Go example evaluates the exact p = 1 formula for small one-dimensional sets by enumerating assignments.

Read normalization and parameters as part of the contract

The cut-off limits how much one badly localized pair can contribute and also sets the unmatched-point penalty. The order p controls sensitivity to large component errors. Dividing by the larger cardinality makes OSPA interpretable as a normalized per-object distance, but it also means adding objects can change the weight of all existing errors.

The common localization/cardinality decomposition is useful only with the same convention and parameters. Report the base distance, units, state dimensions, cut-off, order, empty-set policy, averaging domain, and whether values were averaged before or after the root.

Choose OSPA only for the question it answers

Stone Soup documents OSPA as a per-timestamp distance between two point patterns. That is appropriate for comparing current target-state sets but cannot detect an identity swap that leaves every frame's positions unchanged.

GOSPA removes cardinality normalization and provides a cleaner missed-versus-false decomposition at alpha = 2. OSPA(2) applies an OSPA construction to whole tracks, while T-GOSPA adds an explicit switching cost. HOTA and IDF1 follow detection-and-identity benchmark protocols rather than the same set-metric contract.

Key Characteristics

  • Defines a metric on unordered finite point sets
  • Uses optimal one-to-one assignment without known correspondence
  • Caps pairwise errors and penalizes unequal cardinality
  • Normalizes by the larger set size
  • Depends on a declared order, cut-off, units, and base distance
  • Measures current-set quality rather than track identity by itself

Common Use Cases

  1. Evaluating multi-object filter state estimates at each timestamp
  2. Comparing point-target estimates with different cardinalities
  3. Testing radar or sonar trackers under clutter and missed detections
  4. Summarizing Monte Carlo localization and count error
  5. Validating Random Finite Set filter implementations

Example

loading...
Loading code...

Frequently Asked Questions

What does OSPA measure?

OSPA measures distance between two unordered finite point sets. It optimally pairs points, caps localization errors, adds a penalty when cardinalities differ, and normalizes the powered total by the larger set size.

What do the OSPA cut-off and order control?

The cut-off limits each pairwise error and defines the unmatched-point penalty. The order controls how strongly large component errors influence the result. Both values, the base distance, and physical units must accompany every reported score.

How is OSPA different from GOSPA?

OSPA is normalized by the larger cardinality and reports a location-plus-cardinality distance. GOSPA is unnormalized and, with alpha equal to two, supports an assignment-based decomposition into localization, missed, and false-object costs.

Can OSPA detect track switches?

Not when it is computed independently at each frame. A sequence of perfect position sets can have zero OSPA even if estimate identities swap. Use OSPA(2), T-GOSPA, HOTA, or IDF1 when temporal association matters.

Should OSPA be averaged across frames or trials?

The aggregation rule must match the evaluation question and remain fixed across systems. Declare whether you average rooted distances or powered costs, which frames and trials are included, and how empty sets and missing sequences are handled.

Related Terms

Related Articles