Are Minimal Radial Distortion Solvers Necessary for Relative Pose Estimation?
Charalambos Tzamos, Viktor Kocur, Yaqing Ding, Torsten Sattler, Zuzana Kukelova
TL;DR
The paper investigates whether minimal radial distortion solvers are necessary for robust relative pose estimation. It introduces a simple sampling-based strategy that combines the fast 7-point pinhole solver with a small, fixed set of undistortion parameters, integrated into modern RANSAC frameworks. Through extensive experiments on Phototourism, ETH3D, and newly captured ROTUNDA/CATHEDRAL benchmarks, the authors demonstrate that this approach matches or surpasses the best minimal radial distortion solvers in accuracy while achieving substantially faster runtimes, and it outperforms faster non-minimal solvers. The work provides public benchmarks and code, and concludes that dedicated minimal radial distortion solvers are not required in practical settings, given appropriate sampling and optimization within LO.
Abstract
Estimating the relative pose between two cameras is a fundamental step in many applications such as Structure-from-Motion. The common approach to relative pose estimation is to apply a minimal solver inside a RANSAC loop. Highly efficient solvers exist for pinhole cameras. Yet, (nearly) all cameras exhibit radial distortion. Not modeling radial distortion leads to (significantly) worse results. However, minimal radial distortion solvers are significantly more complex than pinhole solvers, both in terms of run-time and implementation efforts. This paper compares radial distortion solvers with a simple-to-implement approach that combines an efficient pinhole solver with sampled radial distortion parameters. Extensive experiments on multiple datasets and RANSAC variants show that this simple approach performs similarly or better than the most accurate minimal distortion solvers at faster run-times while being significantly more accurate than faster non-minimal solvers. We clearly show that complex radial distortion solvers are not necessary in practice. Code and benchmark are available at https://github.com/kocurvik/rd.
