Skip to content

Fusion with Unknown Correlations and Covariance Intersection

Fusion with Unknown Correlations and Covariance Intersection curated visual

Visual: two estimates with unknown cross-correlation flowing into covariance intersection, information weights, conservative covariance ellipse, and double-counting warning.

Multi-sensor fusion is only as good as its correlation accounting. If two estimates share a prior, process noise, map, feature track, or upstream sensor, then fusing them as independent double-counts information and makes covariance too small.

Covariance intersection (CI) is the conservative tool for the case where each input estimate has a mean and covariance, but the cross-correlation is unknown.



Where Unknown Correlation Comes From

SituationShared information
Track-to-track fusioncommon process model, previous fused track, exchanged messages
GNSS/INS plus fused localizationsame IMU or GNSS appears in both products
LiDAR map localization plus SLAM odometrysame map or scan-matching constraints
Multi-robot map fusionprior map segments and loop-closure information
Perception output plus raw sensor fusiondetector output already used the same image, point cloud, or radar
Networked estimationmessages recirculate through graph cycles

If the lineage of each estimate is not tracked, independence is usually an unsafe assumption.


Naive Independent Fusion

For two estimates (x_1, P_1) and (x_2, P_2), independent Gaussian fusion in information form is:

text
Y = P_1^-1 + P_2^-1
y = P_1^-1 x_1 + P_2^-1 x_2
P = Y^-1
x = P y

This is optimal only when the estimation errors are independent. If the errors are positively correlated, the result can be overconfident. In safety monitors, that can be worse than a visibly noisy estimate because the system believes it has more integrity margin than it really has.


Covariance Intersection

CI replaces the independence sum with a convex information-weighted blend:

text
P_CI^-1 = omega P_1^-1 + (1 - omega) P_2^-1

x_CI = P_CI (
  omega P_1^-1 x_1 + (1 - omega) P_2^-1 x_2
)

0 <= omega <= 1

The weight is chosen to minimize a scalar size of the fused covariance, such as:

text
minimize log(det(P_CI))

or:

text
minimize trace(P_CI)

When the inputs are conservative and unbiased, CI gives a conservative fused estimate for any unknown cross-correlation. It is often less accurate than fusion with known correlations, but it avoids false precision.


Weight Selection

ObjectiveMeaningCommon use
log det(P)minimize uncertainty volumemulti-dimensional localization
trace(P)minimize total marginal variancetracking and simple implementation
largest eigenvalueminimize worst-axis variancesafety envelopes and protection bounds
fixed omegadeterministic fallbacklow-compute embedded systems

The chosen objective should match the downstream decision. A parking or docking planner may care about lateral covariance more than volume, while a map-fusion backend may care about determinant or trace.


When CI Is the Right Tool

Use CI when:

  • cross-covariance is unknown or too expensive to maintain,
  • communication topology can create double-counting,
  • an upstream module provides only mean and covariance,
  • a safety monitor needs conservative bounds,
  • two estimates cover the same state but have overlapping data lineage.

Avoid CI when:

  • the exact joint covariance is available and trustworthy,
  • the estimates are truly independent,
  • one estimate is biased or faulted and should be rejected before fusion,
  • the state vectors do not align and require careful common-state projection.

CI handles correlation uncertainty; it does not solve bias, outlier, frame, or timestamp errors.


Partial Knowledge and Distributed Fusion

CI is the baseline for completely unknown correlation. If more structure is known, less conservative methods may be possible:

MethodIdeaRisk
Track lineageavoid fusing duplicate raw evidencerequires metadata discipline
Split covarianceseparate independent and common componentswrong split breaks consistency
Covariance unioncover disagreement or possible bias between estimatescan be very conservative
Inverse or ellipsoidal CI variantsexploit partial correlation structureassumptions must be explicit
Factor-graph fusionshare raw factors instead of fused estimateshigher bandwidth and compute

The best fix is often architectural: move the fusion boundary upstream so that raw independent measurements are fused once in a common graph.


Diagnostics

  • Record source lineage for every fused estimate.
  • Flag any fusion between a raw sensor product and a downstream estimate that already consumed that sensor.
  • Compare covariance against empirical error with NEES when truth is available.
  • Run replay with CI versus independent fusion and inspect covariance collapse.
  • Check that CI output covariance is not smaller than both inputs in every arbitrary direction without a defensible reason.
  • Monitor disagreement between input means. Large disagreement is an outlier or bias problem, not only a correlation problem.

Failure Modes

Failure modeSymptomMitigation
Double-counted GNSSfused covariance shrinks during multipathtrack lineage or use CI
Recirculated tracksdistributed nodes become overconfident after repeated exchangeCI, channel filters, or rumor control
Biased inputCI produces conservative covariance around the wrong meanfault detection before fusion
Wrong state alignmentcovariance looks reasonable in the wrong frametransform mean and covariance with adjoints
Sequential CI order effectsoutput changes with fusion orderbatch objective or deterministic ordering
Over-conservative CIplanner degrades unnecessarilyexpose partial correlation or fuse raw factors

Minimal Mental Model

If you do not know whether two estimates are independent, do not add their information matrices as if they are. CI fuses by choosing a conservative point inside the uncertainty geometry rather than pretending missing correlation data does not exist.


Sources

Public research notes collected from public sources.