Does a wide field of view make the second radial lens term identifiable in self-calibrating bundle adjustment?
research/sensing-bak2wide
Moving the camera in and shortening the focal length (800 to 400 px) raises the largest normalised radius from 0.34 to 0.85, and the spread of the fitted k2 over seeds falls from 0.33 to 0.02 with its mean within 0.01 of truth; the surface then needs k2 (0.0027 with k1 only against 0.0020 with both). Synthetic only
What it found
Takes the next step of sensing-bak2, where k2 was invisible on a narrow field of view. The camera is moved in (distance 4 to 2) and the focal length shortened with it (800 to 400 px) so the object keeps its pixel size, which raises the largest normalised radius of a visible point from 0.34 to 0.85. The standard deviation of the fitted k2 over 6 seeds falls from 0.33 to 0.02 and its mean is within 0.01 of the true +0.1 from distance 2.5 on; k1 is recovered to −0.195 against a true −0.2. The surface now needs the second term: at distance 2 a k1-only adjustment costs 0.0027 object radii against 0.0020 with k2 (0.0055 against 0.0022 at k2 = −0.2), and ignoring distortion costs 0.0082–0.0118. At 2 px of noise the two fits meet at 0.0081–0.0083. Limits: synthetic, lens values swept not measured, one object, the closer camera adds perspective so field of view and range are not separated, no decentring or principal-point error, correct matches, 6 seeds.
Paper, code and results
More in Sensing, imaging and 3D
- How many mismatched feature observations can bundle adjustment survive, and does a robust loss help?With 12 views and wrong camera poses, 2% of observations replaced by random pixels already raise bundle-adjustment surface error from 0.0014 to 0.079 object radii, and Huber or Cauchy loss from the usual all-view start only halve that; a per-point RANSAC start fixes 5% (0.0319) but only 24 views get back to the clean floor at 10% (0.0012). Synthetic only
- What does an unmodelled principal-point offset cost a self-calibrating bundle adjustment, and does a wide field of view help or hurt?A 10 px principal-point offset held at the image centre raises the surface error from 0.0019 to 0.0043 object radii on the wide rig (focal 3.5% off) against 0.0019 to 0.0015 fitted on the narrow one; fitting the point recovers it and removes the cost. Synthetic only
- How big a sensor can a K-frame burst of a small sensor stand in for?Inverting the burst break-even formula: the largest sensor-area ratio a K-frame burst matches runs from √K in the dark to K in bright light, so 8 frames at 3 e⁻ read noise match a 4×-area frame from 4.5 e⁻ per pixel per frame, a 6× frame from 21 e⁻ and never an 8× frame; Monte Carlo agrees to 1% in variance at 18 settings. Model only, swept ranges not sourced to a device
- How many checkerboard photos does OpenCV camera calibration need before the focal length stops moving?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
- 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
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.