← All projectsGitHub
Sensing, imaging and 3D

How many checkerboard photos does OpenCV camera calibration need before the focal length stops moving?

research/sensing-calibviews

On OpenCV's 13 real checkerboard photos, random subsets of 3 views put the focal length within 2% of the 13-view value in 99% of draws (5–95% band 2.3% wide), 12 views give 0.5%; noise-only re-renders predict the band, and a one-term lens model doubles held-out error. One camera, one board

4 tests

What it found

Calibrates a camera with cv2.calibrateCamera on random subsets of the 13 real 640×480 checkerboard photos shipped with OpenCV (Apache-2.0), against the same model's all-view fit. With the default five-term model the 5–95% band of the focal length is 2.3% wide at 3 views and 0.49% at 12, and 99–100% of draws are within ±2%. Re-rendering the same board poses with Gaussian noise at the measured 0.41 px reprojection error and a known truth gives 3.0% and 0.8%, so sampling noise alone predicts the spread. A lean model (one radial term, centred principal point) has a 4.4% band on real photos against 2.0% on matching synthetic ones, and 0.43 px held-out reprojection error against 0.21 px for the full model at 12 views. Limits: one camera, one tutorial board with strongly tilted views; the reference is the all-view fit, not a lens ground truth; the 12-view row overlaps heavily (13 distinct subsets); synthetic noise is isotropic Gaussian.

A figure from its own output

Figure produced by research/sensing-calibviews: focal_spread
sensing-calibviews/experiments/focal_spread.svg, written by the project's own experiment code.

Paper, code and results

More in Sensing, imaging and 3D

All 31 Sensing, imaging and 3D projects →

Other research topics

Proper scoring & elicitation28Effort & peer prediction9Verification games & slashing19Detection & tolerances14Markets as routers13Prediction-market design9Paying contributors8Decentralised training systems23Digital twins & sim-to-real164LLM chip design loops40Robot manufacturing loops53Ambient AI assistant46Self-replicating manufacturing34Simulation-first design64Engineered clothing45Task-specific AI accelerators40Algorithmic chip-design loops42Open-source purpose-built robots44The software-engineering loop43Adversarial human imitation41Open-source residential construction41Autonomous multi-angle capture34Sensing, imaging and 3D31Energy supply and dense energy storage39Robot societies among people31Agentic co-design of low-cost robots27Laundry-hanging robots25Machine learning on qualitative data23Robots on the building site27Civilizations & group psychology1History & human sciences1

Produced with AI assistance (Claude). Results are from the code in this repository and are simulated or stylised unless the abstract says otherwise; nothing here implies affiliation with or endorsement by any lab, researcher or company cited. MIT licensed.