Table of Contents
Fetching ...

Robust Self-calibration of Focal Lengths from the Fundamental Matrix

Viktor Kocur, Daniel Kyselica, Zuzana Kukelova

TL;DR

This work tackles robust self-calibration of two cameras from a single fundamental matrix, where traditional Bougnoux-based formulas are prone to instability and degeneracies. It introduces an efficient iterative framework that jointly estimates $f_1$, $f_2$, and the principal points $\boldsymbol{c}_1,\boldsymbol{c}_2$ by solving a constrained optimization with Kruppa constraints $\kappa_1=0$, $\kappa_2=0$, while allowing $\boldsymbol{c}_i$ to vary and employing priors. Each iteration updates $\Delta f_i$ and $\Delta \boldsymbol{c}_i$ via a Lagrange-multiplier formulation, reducing to a degree-4 Kruppa system solved with a Gröbner-basis method, and selects the solution minimizing $|\lambda_1|+|\lambda_2|$ to guarantee valid essential-matrix decompositions. The paper also introduces a simple real focal-length check within RANSAC to reject degenerate models early, yielding substantial speedups. Extensive synthetic and real-world experiments show significant improvements in focal-length accuracy and pose estimation, and the method remains robust under noisy priors and degenerate configurations, with practical impact for SfM and visual localization pipelines.

Abstract

The problem of self-calibration of two cameras from a given fundamental matrix is one of the basic problems in geometric computer vision. Under the assumption of known principal points and square pixels, the well-known Bougnoux formula offers a means to compute the two unknown focal lengths. However, in many practical situations, the formula yields inaccurate results due to commonly occurring singularities. Moreover, the estimates are sensitive to noise in the computed fundamental matrix and to the assumed positions of the principal points. In this paper, we therefore propose an efficient and robust iterative method to estimate the focal lengths along with the principal points of the cameras given a fundamental matrix and priors for the estimated camera parameters. In addition, we study a computationally efficient check of models generated within RANSAC that improves the accuracy of the estimated models while reducing the total computational time. Extensive experiments on real and synthetic data show that our iterative method brings significant improvements in terms of the accuracy of the estimated focal lengths over the Bougnoux formula and other state-of-the-art methods, even when relying on inaccurate priors.

Robust Self-calibration of Focal Lengths from the Fundamental Matrix

TL;DR

This work tackles robust self-calibration of two cameras from a single fundamental matrix, where traditional Bougnoux-based formulas are prone to instability and degeneracies. It introduces an efficient iterative framework that jointly estimates , , and the principal points by solving a constrained optimization with Kruppa constraints , , while allowing to vary and employing priors. Each iteration updates and via a Lagrange-multiplier formulation, reducing to a degree-4 Kruppa system solved with a Gröbner-basis method, and selects the solution minimizing to guarantee valid essential-matrix decompositions. The paper also introduces a simple real focal-length check within RANSAC to reject degenerate models early, yielding substantial speedups. Extensive synthetic and real-world experiments show significant improvements in focal-length accuracy and pose estimation, and the method remains robust under noisy priors and degenerate configurations, with practical impact for SfM and visual localization pipelines.

Abstract

The problem of self-calibration of two cameras from a given fundamental matrix is one of the basic problems in geometric computer vision. Under the assumption of known principal points and square pixels, the well-known Bougnoux formula offers a means to compute the two unknown focal lengths. However, in many practical situations, the formula yields inaccurate results due to commonly occurring singularities. Moreover, the estimates are sensitive to noise in the computed fundamental matrix and to the assumed positions of the principal points. In this paper, we therefore propose an efficient and robust iterative method to estimate the focal lengths along with the principal points of the cameras given a fundamental matrix and priors for the estimated camera parameters. In addition, we study a computationally efficient check of models generated within RANSAC that improves the accuracy of the estimated models while reducing the total computational time. Extensive experiments on real and synthetic data show that our iterative method brings significant improvements in terms of the accuracy of the estimated focal lengths over the Bougnoux formula and other state-of-the-art methods, even when relying on inaccurate priors.
Paper Structure (20 sections, 7 equations, 4 figures, 3 tables)

This paper contains 20 sections, 7 equations, 4 figures, 3 tables.

Figures (4)

  • Figure 1: Plots showing portion of samples for which our algorithm would converge given a threshold for the relative change of errors in successive iterations $\frac{|e^{n} - e^{n - 1}|}{e^{n}} < \epsilon$. For synthetic experiments (a) and (b) we generated 1000 samples with added noise ($\sigma_n = 1$, $\sigma_p = 10$). We set the priors as $f_1^p = 660, f_2^p = 440$. For (c) we used the Phototourism benchmark dataset phototourism_benchmark. See Section \ref{['sec:real_eval']} for details.
  • Figure 2: Synthetic experiments: Box plots for the estimated focal lengths of the first camera. Comparison of the methods as (a, b) the camera configuration approaches the degeneracy with coplanar principal axes, (c) we vary the standard deviation $\sigma_p$ of the error of the principal point, (d) we vary the noise added to the projected points, (e) we vary the prior for $f_1$, (f) we vary the relative weights of focal length and principal point priors. We use priors $f_1^p = 700, f_2^p = f_2 = 400$ for (a, b, c, d), $f_1^p = 1000, f_2^p = 400$ for (f), $\sigma_n = 1$ for (a, b, c, e, f), $\sigma_p = 10$ for (a, b, d, e, f). For (c, d, e, f) we randomly sample the configuration $\mathcal{C}(\theta, y)$ with $\theta \in \left[-15\degree, 15 \degree \right]$ and $y \in \left[-200, 200\right]$.
  • Figure 3: The plot shows mAA$_p$ achieved on the Phototourism datset phototourism_benchmark for different RANSAC implementations opencvvsacposelib with and without real focal length checking (RFC) under varying number of iterations. To calculate the poses we use the ground truth focal lengths. Further details are provided in the SM.
  • Figure 4: Plots showing the portion of samples for which the estimated focal lengths were below a given $f_i^{err}$ threshold. For (a) and (b) we assume different focal lengths for the two cameras, for (c) the focal lengths are assumed to be equal.