How accurately does a real keypoint detector localise features as images get noisier and blurrier?
research/sensing-kploc
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
What it found
sensing-ba and sensing-recon assumed 0.5 to 1 px of Gaussian pixel noise on every observation. This project measures it: OpenCV SIFT on ten scikit-image photographs, each warped by three random known homographies, with Gaussian noise (0 to 40 grey levels) or blur (0 to 3 px) added to both images, and the error of every ratio-passing mutual match that lands within 3 px of the truth. Per keypoint and axis, the localisation sigma is 0.13 px with no added noise (partly bilinear resampling: an integer shift gives exactly zero), 0.23 at sigma 5, 0.32 at 10, 0.43 at 20 and 0.59 at 40; through sensing-recon’s 0.0028 radii per px that is a surface error of 0.0004 to 0.0017 radii. So 0.5 px is a pessimistic input for a well-exposed image and about right for a very noisy one. Large keypoints (diameter over 16 px) are 4× worse than small ones when clean; blur of 3 px costs 1.5×. Limits: Gaussian noise rather than shot noise, synthetic warps, one detector, errors truncated at 3 px (a lower bound, 77% kept at sigma 40), not fed back into the reconstruction.
A figure from its own output
Paper, code and results
More in Sensing, imaging and 3D
- Does a gate or a RANSAC start survive the mismatch mixes a real SIFT matcher produces?With the mismatch rates and along/near/far mixes measured for SIFT, a ratio test of 0.8 or tighter (10% wrong or fewer) leaves gate and RANSAC-start adjustment near the clean floor (0.002 to 0.02 radii) while an all-view start is 0.005 to 0.39; at ratio 0.9 the RANSAC start wins and with no ratio test (56% wrong) everything fails. Synthetic rig, measured mixes
- What do a real matcher's mismatches look like: random pixels, near misses, or along the epipolar line?On a real Middlebury stereo pair SIFT with no ratio test is 56% wrong and 84% of the wrong ones are far, but at a 0.7 ratio test 6% are wrong and 62% of those lie on the true epipolar line (chance: 1%); ten warped photographs give 40% wrong without and 2% with ratio 0.6
- Does an epipolar gate help bundle adjustment under the mismatch mix a real SIFT matcher produces?Feeding sensing-matchreal's measured SIFT mismatch mixes into the sensing-epigate trial, gate plus Cauchy beats a RANSAC start at ratio tests of 0.8 and tighter (0.0078 against 0.0207 object radii at 0.8) and loses only at a loose 0.9 ratio test, where all methods exceed 0.08; synthetic geometry, 6 seeds
- Is an INS/GNSS Kalman filter honest about its drift when accelerometer bias is flicker noise?With a 1/f accelerometer bias, a filter with no bias state claims 2.9 m after a 300 s GNSS outage when the RMS is 151 m (NEES/dof 514 to 2,000 at 100 ug); a random walk read off the Allan curve at 1 s or 10 s claims 2.4 to 3.7 times the true error, and at 100 s close to honest (0.9 to 1.6). Synthetic bias, swept instability
- Does marginalising old keyframes instead of pinning them fix long-path drift in a visual-inertial smoother, and does IMU grade then matter?A Schur-complement prior in the sensing-vio planar smoother cuts rms drift on 30 s paths from 12.3 % to 2.5 % of path (8 seeds, baseline IMU), and IMU grade then orders the results (0.25x noise 2.1 %, 1x 2.5 %, 4x 6.5 %), unlike with the pinned prior; planar and synthetic, not EuRoC
- How many cheap gyros, fused, match one better gyro at the same cost?How many cheap gyros, fused, match one better gyro at equal cost? With independent errors the price ratio must beat
k²(100 for a 10× quieter unit); shared error above1/k²means no array size ties; unequal white/bias improvement makes the answer depend on integration time. Stylised.
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.