Gold-Standard Error vs. Symmetric Transfer Error

2 minute read

Published:

When evaluating or optimizing homography (or other geometric) estimates, two error measures often appear: gold-standard (true geometric) error and symmetric transfer error. They are not the same.


1. Gold-standard (true geometric) error

Gold-standard error measures the Euclidean distance from noisy image correspondences to the exact geometric constraint (e.g., a homography). It minimizes

\[|x-\hat x|^2 + |x'-\hat x'|^2\]

subject to \(\hat x’ = H\hat x\), allowing both image points to move optimally. This is the maximum-likelihood objective under Gaussian pixel noise.


2. Symmetric transfer error

Symmetric transfer error is a computational approximation, defined as

\[|x' - \pi(Hx)|^2 + |x - \pi(H^{-1}x')|^2\]

It evaluates forward and backward reprojection without optimizing over corrected points.


3. These two errors are not the same

Symmetric transfer error matches the gold-standard error only to first order. They generally differ at second order, and their minima do not necessarily coincide.


4. Symmetric transfer error is a compromise

Symmetric transfer error is not a principled likelihood. It is widely used because it is:

  • symmetric,
  • measured in pixel space,
  • inexpensive to compute,
  • stable for small noise.

However, it is still an approximation.


5. Gold-standard error is algorithm-independent

Gold-standard error is valid for benchmarking any method (DLT, normalized DLT, Sampson, LM, bundle adjustment), regardless of what objective the algorithm optimized internally.


6. Optimization cost vs. evaluation metric

Optimization cost and evaluation metric must be separated. Algorithms may minimize algebraic, Sampson, or transfer errors for efficiency, but final comparison should ideally be done using geometric (gold-standard) error.


7. When the model and points are both optimized

If both the model \(H\) and image points are optimized, only the gold-standard geometric error remains meaningful. Symmetric transfer error becomes degenerate when image points are allowed to move.


8. With unlimited computational resources

The gold-standard geometric error is strictly superior for benchmarking:

  • it is statistically correct,
  • invariant to parameterization,
  • and reflects the true geometric quality of the estimated model.

9. Terminology in practice

In practice, symmetric transfer error is commonly (and sometimes loosely) called “geometric error,” but this terminology is inaccurate unless the distance to the constraint manifold is explicitly minimized.

10. cv::findHomography() of opencv

It does NOT optimize the true Gold-standard error. It optimizes a one-sided reprojection error.

Why OpenCV Doesn’t Use Gold Standard

  • Because Gold-standard requires:
  • Optimizing corrected points
  • Enforcing constraint per match
  • Much heavier computation
  • More complex Jacobians
  • Iterative correction inside each residual

For practical computer vision (AR, stitching, tracking): Forward reprojection error is good enough.

From cheapest to most correct:

1️⃣ Algebraic error (DLT raw) 2️⃣ Forward reprojection error (OpenCV LM) 3️⃣ Symmetric transfer error 4️⃣ Gold-standard (true ML under Gaussian noise)

OpenCV stops at level 2.