If the lens has a second radial term the solver does not model, does self-calibrating bundle adjustment still recover the surface?
research/sensing-bak2
Rendering with k1 = −0.2 and k2 swept from −0.2 to +0.4, a bundle adjustment solving for the focal and k1 only returns 0.0015 object radii, the same as one that also solves k2, against 0.0022–0.0030 with no distortion model; the lens parameters are not separately identified (k1 stays near −0.16, k2 sits about 0.16 low) and the gain vanishes by 2 px noise. Synthetic only
What it found
Follows sensing-bafocal, whose fitted radial law was the rendering law, and takes its “model mismatch” next step. Images are rendered on the sensing-ba rig (12 views, 0.5 px noise, every pose wrong) with xd = x(1 + k1r² + k2r⁴). With k1 = −0.2 and k2 from −0.2 to +0.4, an adjustment with no distortion model costs 0.0024–0.0030 (focal free) and 0.0022–0.0027 (focal held), while fitting the focal and k1 alone gives 0.0015 in every case, equal to fitting k2 as well. The parameters are not recovered separately: the k1 estimate is −0.158 whatever the true k2 and the k2 estimate moves with the truth but sits about 0.16 below it, and the focal ends 1.1% off; surface error is insensitive to this. The benefit disappears by 2 px of noise (0.0061 for all three), and at 6 views the focal is 4% off. Limits: synthetic, the lens-parameter ranges are swept, not measured from a device; one object; correct matches; 6 seeds per cell; what the one-term model gets right is the surface, not the lens parameters.
Paper, code and results
More in Sensing, imaging and 3D
- Does a wide field of view make the second radial lens term identifiable in self-calibrating bundle adjustment?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
- 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
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.