What is Generalized Optimal Sub-Pattern Assignment Metric?

Generalized Optimal Sub-Pattern Assignment Metric is an unnormalized distance between finite sets that combines capped localization error with explicit penalties for missed and false objects.

Quick Facts

SpecificationOfficial Specification

How It Works

Optimize a partial assignment between two finite sets

GOSPA starts from a base distance between individual states, an order p >= 1, a cut-off c > 0, and a cardinality parameter 0 < alpha <= 2. It selects one-to-one pairs while allowing objects on either side to remain unassigned. A paired distance is capped at c; each unassigned object contributes c^p / alpha before the final pth root.

The original GOSPA paper shows why removing OSPA's cardinality normalization and expressing the result over partial assignments gives a sound treatment of localization, missed targets, and false targets. The Go example implements the exact small-set p = 1, alpha = 2 case by enumerating partial assignments.

Interpret the alpha-two decomposition before the total

For alpha = 2, assigning two objects at a distance below c contributes localization error. Leaving one truth unassigned contributes a missed-target cost of c^p / 2; leaving one estimate unassigned contributes the same false-target cost. A pair at or beyond the cut-off is no better than declaring both objects unassigned.

This decomposition is additive in the powered domain. Report whether displayed components are powered costs or rooted distances, because taking a root separately for each component does not reconstruct the total in general. Also declare the coordinate units and base metric; five pixels, five meters, and five Mahalanobis units are not comparable.

Use GOSPA for object sets, not identity history

Stone Soup's metric implementation computes GOSPA at each timestamp and exposes localization, missed, and false components for alpha = 2. Per-frame GOSPA evaluates the current object set but does not remember which estimate represented an object on earlier frames.

Use OSPA when a normalized per-object set distance is the desired contract. Use OSPA(2) or T-GOSPA when complete track continuity matters, and use HOTA or IDF1 for benchmark protocols based on detection and identity matching. Average powered values consistently across trials, publish parameters, and pair the metric with calibration, latency, and task-specific safety evidence.

Key Characteristics

  • Measures distance between finite sets with unequal cardinality
  • Uses one-to-one partial assignment and a capped base distance
  • Separates localization, missed, and false costs when alpha equals two
  • Remains unnormalized as the number of objects changes
  • Requires the order, cut-off, alpha, units, and base metric to be declared
  • Evaluates current object sets rather than persistent identity by itself

Common Use Cases

  1. Comparing multi-object Bayesian filters under missed detections and clutter
  2. Diagnosing whether tracking error comes from localization, misses, or false objects
  3. Evaluating radar, lidar, sonar, or point-based perception outputs
  4. Aggregating Monte Carlo multi-target estimation experiments
  5. Tuning detection and extraction thresholds with explicit error components

Example

loading...
Loading code...

Frequently Asked Questions

What does GOSPA measure?

GOSPA measures disagreement between two finite object sets. With alpha equal to two, it separates capped localization error for assigned pairs from penalties for missed ground-truth objects and false estimated objects.

How is GOSPA different from OSPA?

OSPA normalizes by the larger set cardinality and combines a location term with a cardinality term. GOSPA is unnormalized and, especially at alpha equal to two, supports a direct localization, missed, and false-object decomposition.

Why is alpha usually set to two in GOSPA?

At alpha equal to two, leaving one truth and one estimate unmatched costs the same as a pair at the cut-off. This yields an interpretable optimal partial assignment and clean missed-versus-false decomposition. Other valid alpha values change the cardinality trade-off.

Does per-frame GOSPA measure identity switches?

No. Per-frame GOSPA has no memory of prior assignments, so swapping identities without changing the current state set may leave it unchanged. Use a trajectory metric such as T-GOSPA or OSPA(2), or identity metrics such as HOTA and IDF1.

Can GOSPA scores from different studies be compared directly?

Only when the state representation, units, base distance, cut-off, order, alpha, time aggregation, truth policy, and evaluation scenarios are compatible. A lower number under different parameters does not establish a better tracker.

Related Terms

Related Articles