Sturm-Maybank Plane-Based Calibration | VitaVision
Back to atlas

Sturm-Maybank Plane-Based Calibration

6 min readAdvancedView in graph
Based on
On plane-based camera calibration: A general algorithm, singularities, applications
Sturm, Maybank · IEEE CVPR 1999
DOI ↗

Goal

Given n1n \geq 1 plane-to-image homographies {Hi}\{H_i\} from views of one or more planar calibration targets, recover the camera intrinsic matrix KK (focal length ff, aspect ratio α\alpha, principal point (u0,v0)(u_0, v_0), skew s=0s = 0). The method shares the core mathematical framework with Zhang's planar calibration — both papers derive the same two linear IAC constraints per homography from the orthonormality of the rotation columns. The distinguishing contributions are an exhaustive singularity catalogue (Tables 1 and 2 of the paper) and a generalisation to variable intrinsics (zooming or focusing cameras with per-view focal length).

Algorithm

A planar calibration target at Z=0Z = 0 maps to its image by HKR[It]H \sim K\,R\,[I \mid t] (Eq. 2 of paper, dropping the third column of RR). The first two columns of RR are orthonormal, which encodes two homogeneous linear constraints on the image of the absolute conic ω=KTK1\omega = K^{-T}K^{-1} per view:

h1Tωh1h2Tωh2=0,h1Tωh2=0,(Eq. 4)h_1^T\,\omega\,h_1 - h_2^T\,\omega\,h_2 = 0, \qquad h_1^T\,\omega\,h_2 = 0, \quad \text{(Eq. 4)}

where hih_i is the ii-th column of HH. With skew fixed to zero, ω\omega has 5 degrees of freedom and is encoded as the 5-vector x=[ω11,ω22,ω13,ω23,ω33]Tx = [\omega_{11}, \omega_{22}, \omega_{13}, \omega_{23}, \omega_{33}]^T. Stacking nn homographies yields a 2n×52n \times 5 design matrix AA; the IAC vector is the smallest right singular vector of AA.

Once ω\omega is recovered, the intrinsic parameters extract in closed form (Eq. 5):

α2=ω22ω11,u0=ω13ω11,v0=ω23ω22,f2=ω11ω22ω33ω22ω132ω11ω232ω11ω222.\alpha^2 = \frac{\omega_{22}}{\omega_{11}}, \qquad u_0 = -\frac{\omega_{13}}{\omega_{11}}, \qquad v_0 = -\frac{\omega_{23}}{\omega_{22}}, \qquad f^2 = \frac{\omega_{11}\omega_{22}\omega_{33} - \omega_{22}\omega_{13}^2 - \omega_{11}\omega_{23}^2}{\omega_{11}\omega_{22}^2}.
Definition
Variable-intrinsics extension

For a zooming camera where focal length (or focal length plus principal point) varies per view, each new view introduces additional unknowns (ω33\omega_{33}, or ω33,ω13,ω23\omega_{33}, \omega_{13}, \omega_{23}) that are added as new columns to the design matrix AA (§4.2). The aspect ratio α\alpha is assumed constant across views (the paper explicitly excludes independently varying aspect ratios). The linear structure is preserved; the SVD recovers all intrinsics simultaneously. With nn zoom positions and 3 new unknowns per view, the system is 2n×(2+3n)2n \times (2 + 3n) — adequate redundancy requires 3\geq 3 planes per zoom position.

Algorithm
Sturm-Maybank plane-based calibration
Input: Set of plane-to-image homographies {Hi}i=1n\{H_i\}_{i=1}^{n}, optionally with prior knowledge of any subset of intrinsic parameters.
Output: Intrinsic matrix KK (or per-view variants for variable intrinsics) and per-view extrinsics (Ri,ti)(R_i, t_i).
  1. Build design matrix AA. For each HiH_i, extract two rows from Eq. 4 (rewritten as linear in xx). Stack into AR2n×5A \in \mathbb{R}^{2n \times 5}.
  2. Apply prior knowledge (§4.1, optional). Eliminate columns of AA corresponding to known intrinsics: known aspect ratio → drop ω22\omega_{22}; known u0u_0 → drop ω13\omega_{13}; known v0v_0 → drop ω23\omega_{23}.
  3. Column-rescale AA so each column has unit norm. This step "proved to be crucial" (§4.3); without it the SVD solution is dominated by the largest-scale column and the recovered IAC is unreliable.
  4. Solve Ax=0Ax = 0 by SVD; take xx as the right singular vector of smallest singular value.
  5. Extract KK from ω\omega via Eq. 5 (or equivalent Cholesky decomposition). Verify ω\omega is positive-definite — indefinite ω\omega indicates a degenerate or badly conditioned configuration.
  6. Recover per-view extrinsics from each HiH_i as in Zhang's algorithm (Step 5 of Zhang's procedure): r1,r2r_1, r_2 from K1h1,K1h2K^{-1} h_1, K^{-1} h_2; r3=r1×r2r_3 = r_1 \times r_2; project to SO(3)SO(3) if needed.

Remarks

  • Singularity catalogue. Tables 1 and 2 of the paper enumerate every plane-orientation configuration that renders one or more intrinsic parameters unrecoverable. Selected key cases:
    • Plane parallel to the image plane — only α\alpha and v0v_0 estimable. The homography degenerates to a similarity; no focal-length information.
    • Plane perpendicular to the image plane — only u0,v0u_0, v_0 estimable. Aspect ratio and focal length unrecoverable.
    • Two planes related by reflection (vanishing lines mutually reflected across both image axes) — full singularity. No intrinsic parameter is estimable. This is geometrically equivalent to an orbit-like camera motion that maps the circular points of the first plane onto those of the second.
    • Vanishing-line intersection on a principal-point axis — the corresponding principal-point coordinate is unrecoverable. Awareness of this catalogue is essential when designing calibration rigs and when diagnosing unexpected calibration failures.
  • Circular-points geometric framing. Each plane in 3D has two circular points at infinity (I=[1,i,0]TI = [1, i, 0]^T, J=[1,i,0]TJ = [1, -i, 0]^T in its metric frame). The plane-to-image homography HH maps these to h1±ih2h_1 \pm i\,h_2 in the image. The IAC ω\omega is the locus of all such circular-point images across all plane orientations — each non-parallel new plane adds a new pair of circular-point images and two independent constraints. Singularities arise when successive views contribute the same (or dependent) circular-point projections.
  • No distortion model. §4.3 acknowledges distortion as future work; the algorithm is pinhole-only. For real cameras with appreciable lens distortion, follow with Zhang's full-pipeline LM refinement using two-term radial (k1,k2)(k_1, k_2) — Sturm-Maybank's IAC vector serves as the linear initialisation.
  • Column rescaling is critical, row rescaling is dangerous. Columns of AA correspond to ω\omega entries with very different natural scales (depending on focal length and resolution); column rescaling to unit norm is essential. Row rescaling, by contrast, would amplify near-zero rows that arise near singular configurations — the paper explicitly warns against it (§4.3).
  • Variable-intrinsics is the unique generalisation. Zhang assumes constant intrinsics across views; Sturm-Maybank §4.2 accommodates a zooming camera by treating ff (or f,u0,v0f, u_0, v_0) as per-view unknowns. Table 4 of the paper reports <1%< 1\% focal-length error across 5 zoom positions with 3 planes per position.
  • Compared with Zhang: see When to choose Zhang over Sturm-Maybank on the Zhang page, which hosts the comparison per the "more general scope" tiebreaker (Zhang covers the end-to-end calibration pipeline with distortion and LM refinement; Sturm-Maybank focuses on the linear IAC step plus singularity analysis and variable intrinsics).

References

  1. P. F. Sturm, S. J. Maybank. On Plane-Based Camera Calibration: A General Algorithm, Singularities, Applications. IEEE CVPR 1999, pp. 432–437. DOI: 10.1109/CVPR.1999.786974. pdf
  2. Z. Zhang. A Flexible New Technique for Camera Calibration. IEEE TPAMI 22(11)
    –1334, 2000. (Concurrent independent derivation of the same two IAC constraints; the more practical end-to-end pipeline.)
  3. O. D. Faugeras. Stratification of three-dimensional vision: projective, affine, and metric representations. JOSA A 12(3)
    –484, 1995. (IAC as the link between projective and metric reconstruction.)
  4. R. K. Lenz, R. Y. Tsai. Techniques for calibration of the scale factor and image center for high accuracy 3D machine vision metrology. IEEE TPAMI 10(5)
    –720, 1988. (Earlier planar calibration work cited as antecedent.)

Parallel foundation with