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
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
Paper, code and results
More in Sensing, imaging and 3D
- Does a fundamental-matrix gate on the matches, fitted from the matches alone, let bundle adjustment survive mismatches?An epipolar gate removes 93% of 10% random-pixel mismatches (5% of good observations lost) and takes 5% contamination from 0.168 to 0.0061 object radii, but a RANSAC start does as well at 10% and better at 20%; near-miss mismatches are mild for a robust loss already. Synthetic only
- Does the epipolar gate survive mismatches that repeat across views?When a bad feature is wrong by the same offset in more consecutive views, the gate's recall falls from 0.81 to 0.59 at a 10% wrong rate and its lead over a RANSAC start shrinks from 1.7x to a tie within seed noise, though typical errors stay at 2 to 3.5 times the clean floor; a single failed seed in 12 can dominate a mean
- Does the epipolar gate still help when mismatches have the mix and rate a real SIFT matcher produces?With the mismatch rates and mixes measured from SIFT on a real stereo pair, a ratio test of 0.8 to 0.6 (10% to 5% wrong) leaves gate + Cauchy adjustment at 0.008 to 0.003 object radii against 0.013 to 0.004 for the RANSAC start, and the all-random-pixel assumption overstated plain Cauchy's error 1.3 to 59 times; with no ratio test (56% wrong) every method fails
- Does modelling the sub-pixel coverage of a moving subject fix the edge ring that burst merging leaves behind?Does modelling the sub-pixel coverage of a moving subject fix the edge ring? Yes, on a known shape: a layered disc-over-background model fitted from the burst lifts the ring from 27.1 to 33.1 dB at 8 frames and 2 px per frame (4×-area frame: 31.7 dB), less at slow speeds, and it is sensitive to a 0.5 px centre error. Synthetic flat disc only.
- Can a background estimate or a subject mask fix the edge ring that burst alignment leaves behind?Can a temporal-median background or a subject mask fix the edge ring that burst alignment leaves behind? No: four ring treatments leave it at 21.6–27.2 dB at 8 frames against 31.6–32.0 for a 4×-area frame, none beats plain aligned-plus-reject (27.0 dB), and the mask misses most of a slow subject. Synthetic scenes only.
- How accurately does a real keypoint detector localise features as images get noisier and blurrier?On 30 warped real photographs SIFT keypoints localise to 0.13 px per axis at zero noise and 0.32 px at noise sigma 10 grey levels, 0.59 px at 40, so sensing-ba's assumed 0.5 px sits at roughly sigma 28; large keypoints are worse, blur matters little
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.