Performance bounds, covariance propagation, and Monte Carlo methods — how to know if your estimate is any good.
Chapter 4 gave us algorithms to estimate a homography. But how do we know if the estimate is any good? How uncertain is it? Is there a fundamental limit to how well any algorithm can perform?
This chapter answers these questions with three tools: Cramer-Rao bounds (theoretical lower bounds on error), covariance propagation (how input noise maps to output uncertainty), and Monte Carlo simulation (empirical error estimation).
For any estimation problem with Gaussian noise, the Cramer-Rao Lower Bound (CRLB) gives the minimum achievable covariance. If your algorithm achieves this bound, it is efficient — no algorithm can do better.
The CRLB is the inverse of the Fisher Information Matrix J: Cov(θ̂) ≥ J−1. The MLE achieves this bound asymptotically (with enough data).
Given noisy input data with known covariance Σx, what is the covariance of the estimated transformation ΣH? This is the covariance propagation problem.
For a linear mapping y = Ax, the covariance propagates simply: Σy = A Σx AT. For nonlinear mappings y = f(x), we linearize with the Jacobian J: Σy ≈ J Σx JT.
Forward transport of covariance: given Σθ (covariance of the estimated parameters), compute the covariance of some derived quantity like a reprojected point.
If the derived quantity is x̂ = f(θ), then Σx̂ ≈ Jf Σθ JfT, where Jf = ∂f/∂θ. This gives you error ellipses around predicted points — a visual representation of uncertainty.
Each ellipse shows the uncertainty of a reprojected point. Increase noise to see ellipses grow.
Backward transport: given a measurement and its covariance, infer the covariance of the underlying parameters. This is the inverse problem. If y = f(x) and we observe y with covariance Σy, what is Σx?
For the over-determined case (more measurements than parameters), the covariance is: Σx = (JT Σy−1 J)−1. This is the covariance of the weighted least-squares solution.
Sometimes the math for covariance propagation is too complex. Monte Carlo simulation provides an empirical alternative: generate many synthetic datasets with known noise, run your algorithm on each, and compute the sample covariance of the results.
After estimating H, the residuals ei = d(x'i, Hxi) tell you how well the model fits the data. For MLE under Gaussian noise with variance σ2, the sum of squared residuals follows a χ² distribution:
where n is the number of correspondences and p is the number of parameters (8 for H). If the residuals are much larger than expected, either the noise model is wrong, there are outliers, or the geometric model is inappropriate.
This chapter gave us the tools to evaluate and compare estimation algorithms rigorously. The same error analysis framework applies to every estimation problem in the book:
| Tool | Purpose | When to Use |
|---|---|---|
| CRLB | Theoretical best achievable | Algorithm design & comparison |
| Covariance propagation | Analytical error prediction | Fast uncertainty estimates |
| Monte Carlo | Empirical error measurement | Validation & complex cases |
| Residual analysis | Model adequacy check | After every estimation |