Closed-form Bayesian homography cuts stitching RMSE from 47 px to 9 px

Closed-form Bayesian homography estimation from noisy point correspondences

Hanne Beuter, Sebastian Dorn

cs.CV, stat.ME

2026-09-14

A closed-form Bayesian homography from noisy matches cuts Skyline stitching RMSE from 47.42 px (DLT) to 8.92 px on four points, with a posterior 1σ bar on every matrix entry.

What problem this solves

A homography maps corresponding points of the same plane across two views. Stitching, calibration, bird's-eye views, and visual SLAM all use it. Direct Linear Transform returns a point estimate with no parameter covariance and no way to inject a prior such as "this warp should be nearly affine." With noisy four-point matches, DLT drifts, and later calibration or reconstruction inherit the error.

Existing Bayesian treatments either run a Kalman filter over video or sample camera parameters with MCMC. The first needs temporal observations; the second is slow. The missing piece is a closed-form posterior for a homography from a static set of point matches, including uncertainty.

Method

Researchers at Technische Hochschule Augsburg treat the homography as a matrix-valued random variable. Observations are linear in homogeneous coordinates, \(di = R si + ni\), with Gaussian noise that may differ per point. The prior is matrix-normal (separate row and column covariances), conjugate to the likelihood, so the posterior stays Gaussian. Because the information functional is quadratic in \(R\), the MAP equals the posterior mean and is a Wiener filter: invert \(\sumi (si si^\top)\otimes Ni^{-1}\) plus prior precision, then multiply by the noise-weighted \(\sumi si \otimes Ni^{-1} di\).

White isotropic noise plus an isotropic prior collapses this to one 3×3 inverse. With no prior and equal noise, it becomes \((\sum di si^\top)(\sum si si^\top)^{-1}\); very noisy points drop out of the sum. Posterior covariance is the inverse Hessian of the information. More points shrink it; zero noise drives it to zero.

Pixel-plane noise is applied after the perspective divide, so the model is nonlinear. The paper splits the projective factor \(w\) from \(R\), then alternates the same Wiener update for \(R\) and for \(1/w\), starting from DLT or a single Bayesian pass, and stops when the relative change in \(R\) falls below \(10^{-6}\). That loop is a patch, not a new closed form.

Results

On synthetic projective warps, pixel noise \(\sigman\) runs from 0.01 to 0.10 with 100 trials per level. Only RMSE curves are given, no table. Iterative Bayes stays below DLT at every noise level; a single Bayesian pass sits in between. The gap widens as noise grows. At \(\sigman=0.04\), the 100-run mean homography from iterative Bayes hugs the ground truth; DLT parameters scatter and outlier.

Real stitching uses SIFT matches, exactly four correspondences, no RANSAC, plus added Gaussian noise on the destination points. On Skyline with \(\sigman=10\) px, DLT test RMSE is 47.42 px in 1 ms; iterative Bayes reaches 8.92 px after 184 steps in 2.18 ms. On vgraffiti with \(\sigman=5\) px, 16.95 px falls to 14.11 px, but only after 1507 steps and 1679 ms. River goes 17.03 to 11.44 px. Restaurant stays unusable at 277.45 versus 235.88 px. Palazzo goes 14.48 to 11.48 px.

SceneDLT RMSE (px)Iterative Bayes RMSE (px)
AANAP/skyline47.428.92
HPatches/vgraffiti16.9514.11
OBJ-GSP-03 river17.0311.44

Why it matters

If a downstream module needs a homography covariance (calibration, stitch rejection, safety-related perception), a closed-form posterior mean plus covariance is cheaper than MCMC and does not need video. The linear homogeneous-noise model is ready to use; pixel noise still needs the iteration. This is a proof of concept, not a replacement for RANSAC findHomography. Four noisy points are a setting where DLT is known to be brittle, so the gains should not be read as a result against standard robust estimators.

Limitations

The authors call the pixel-noise iterator a PoC and leave a "direct Bayesian" method plus a serious benchmark to future work. The only baseline is DLT: no RANSAC, MAGSAC, or learned homography. Prior variances are picked by hand; Skyline uses \((V\otimes U)=\mathrm{diag}(0.1)\), and a different choice would move the numbers. vgraffiti takes 1.7 s, so the closed-form speed story does not survive the nonlinear branch. Restaurant remains above 200 px. Four points are the minimum configuration for a homography and the least stable one for DLT. Additive Gaussian noise does not model mismatches. Medical and driving scenes named in the abstract are not tested.

Terms

Source

What people are saying

Related papers

All paper explainers