Non-Linear Least Squares Overview

Non-linear least squares (NLLS) is the mathematical framework underlying all refinement in calibration-rs. After linear initialization provides approximate parameter estimates, NLLS minimizes the reprojection error to achieve sub-pixel accuracy.

Problem Formulation

Objective: Minimize the sum of squared residuals:

where is the parameter vector and is the stacked residual vector.

In camera calibration, a typical residual is the reprojection error: the difference between an observed pixel and the predicted projection:

where is the camera projection function, and the parameters include intrinsics , distortion , and poses .

Gauss-Newton Method

The Gauss-Newton method exploits the least-squares structure. At the current estimate , linearize the residuals:

where is the Jacobian.

Substituting into the objective and minimizing with respect to :

gives the normal equations:

The matrix is the Gauss-Newton approximation to the Hessian ( when residuals are small).

Update:

Levenberg-Marquardt Method

Gauss-Newton can diverge when the linearization is poor (far from the minimum) or when is singular. Levenberg-Marquardt (LM) adds a damping term:

The damping parameter interpolates between:

  • : Pure Gauss-Newton (fast convergence near minimum)
  • : Gradient descent with small step (safe far from minimum)

Trust Region Interpretation

LM is a trust region method: controls the size of the region where the linear approximation is trusted.

  • If the update reduces the cost: accept the step, decrease (expand trust region)
  • If the update increases the cost: reject the step, increase (shrink trust region)

Convergence Criteria

LM terminates when any of:

  • Cost threshold:
  • Absolute decrease:
  • Relative decrease:
  • Maximum iterations:
  • Parameter change:

Sparsity

In bundle adjustment problems, the Jacobian is sparse: each residual depends on only a few parameter blocks (one camera intrinsics, one distortion, one pose). has a block-arrow structure, so calibration-rs solves the damped normal equations with a sparse Cholesky factorization: the sparsity pattern and its symbolic analysis are computed once per solve, and only the numeric factorization repeats per step. The Marquardt damping keeps the system positive definite, which is what makes Cholesky (rather than QR) sufficient. See Solver Backends.

Cost Function vs. Reprojection Error

The optimizer minimizes the cost , which is without a robust loss. The commonly reported mean reprojection error is:

These are related but not identical: the cost weights large errors quadratically, while the mean error weighs them linearly. calibration-rs reports both: the cost from the solver and the mean reprojection error computed post-optimization.

With Robust Losses

When a robust loss is used, the objective becomes:

The normal equations are modified to incorporate the loss function's weight:

where is the iteratively reweighted diagonal matrix. See Robust Loss Functions for details.