Table of Contents
Fetching ...

Are Minimal Radial Distortion Solvers Really Necessary for Relative Pose Estimation?

Viktor Kocur, Charalambos Tzamos, Yaqing Ding, Zuzana Berger Haladova, Torsten Sattler, Zuzana Kukelova

TL;DR

This work tackles relative pose estimation under radial distortion by arguing that complex minimal radial-distortion solvers are often unnecessary in practice. It compares two lightweight alternatives—sampling fixed undistortion parameters and using a learning-based prior (GeoCalib)—against state-of-the-art minimal radial-distortion solvers across diverse datasets and scenarios. The results show that both simple strategies match or exceed the accuracy of dedicated solvers, with the sampling approach offering robust, CPU-friendly performance and strong speed-accuracy trade-offs. The authors also provide a new ROTUNDA/CATHEDRAL benchmark and open-source code, highlighting practical implications for camera calibration and pose estimation pipelines grounded in radial distortion reasoning.

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 two simple-to-implement approaches that do not use minimal radial distortion solvers: The first approach combines an efficient pinhole solver with sampled radial undistortion parameters, where the sampled parameters are used for undistortion prior to applying the pinhole solver. The second approach uses a state-of-the-art neural network to estimate the distortion parameters rather than sampling them from a set of potential values. Extensive experiments on multiple datasets, and different camera setups, show that complex minimal radial distortion solvers are not necessary in practice. We discuss under which conditions a simple sampling of radial undistortion parameters is preferable over calibrating cameras using a learning-based prior approach. Code and newly created benchmark for relative pose estimation under radial distortion are available at https://github.com/kocurvik/rdnet.

Are Minimal Radial Distortion Solvers Really Necessary for Relative Pose Estimation?

TL;DR

This work tackles relative pose estimation under radial distortion by arguing that complex minimal radial-distortion solvers are often unnecessary in practice. It compares two lightweight alternatives—sampling fixed undistortion parameters and using a learning-based prior (GeoCalib)—against state-of-the-art minimal radial-distortion solvers across diverse datasets and scenarios. The results show that both simple strategies match or exceed the accuracy of dedicated solvers, with the sampling approach offering robust, CPU-friendly performance and strong speed-accuracy trade-offs. The authors also provide a new ROTUNDA/CATHEDRAL benchmark and open-source code, highlighting practical implications for camera calibration and pose estimation pipelines grounded in radial distortion reasoning.

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 two simple-to-implement approaches that do not use minimal radial distortion solvers: The first approach combines an efficient pinhole solver with sampled radial undistortion parameters, where the sampled parameters are used for undistortion prior to applying the pinhole solver. The second approach uses a state-of-the-art neural network to estimate the distortion parameters rather than sampling them from a set of potential values. Extensive experiments on multiple datasets, and different camera setups, show that complex minimal radial distortion solvers are not necessary in practice. We discuss under which conditions a simple sampling of radial undistortion parameters is preferable over calibrating cameras using a learning-based prior approach. Code and newly created benchmark for relative pose estimation under radial distortion are available at https://github.com/kocurvik/rdnet.
Paper Structure (26 sections, 6 equations, 5 figures, 9 tables)

This paper contains 26 sections, 6 equations, 5 figures, 9 tables.

Figures (5)

  • Figure 1: Visualization of the ROTUNDA scene. We show a textured mesh of the scene to provide a clearer visualization. We also show the poses of the 157 images of the dataset.
  • Figure 2: Example images from the ROTUNDA scene.
  • Figure 3: Visualization of the CATHEDRAL scene. We show a colored mesh of the scene to provide a clearer visualization. We also show the poses of the 2,734 images of the dataset.
  • Figure 4: Example images from the CATHEDRAL scene. Distribution of $\lambda$ radial distortion parameters for the CATHEDRAL scene (a). The parameters were obtained by normalizing the ground truth parameters estimated by RealityCapture.
  • Figure 5: Pose AUC@10$^\circ$, mean absolute $\lambda$ errors and relative focal length errors plotted for different total runtimes of the compared methods. For all methods we vary the total number of RANSAC iterations ($\{10, 20, 50, 100, 200, 500, 1000\}$). For the methods utilizing the learning-based prior strategy with GeoCalib we also vary the total number of LM iterations to produce the final estimate ($\{1, 2, 5, 30\}$). To plot the curves we always take the best performing setting achieving equal or shorter runtime.