Table of Contents
Fetching ...

A Birotation Solution for Relative Pose Problems

Hongbo Zhao, Ziwei Long, Mengtan Zhang, Hanli Wang, Qijun Chen, Rui Fan

TL;DR

Three basis transformations are introduced, each associated with a geometric metric to quantify the distance between the relative pose to be estimated and its corresponding basis transformation and its corresponding basis transformation are introduced.

Abstract

Relative pose estimation, a fundamental computer vision problem, has been extensively studied for decades. Existing methods either estimate and decompose the essential matrix or directly estimate the rotation and translation to obtain the solution. In this article, we break the mold by tackling this traditional problem with a novel birotation solution. We first introduce three basis transformations, each associated with a geometric metric to quantify the distance between the relative pose to be estimated and its corresponding basis transformation. Three energy functions, designed based on these metrics, are then minimized on the Riemannian manifold $\mathrm{SO(3)}$ by iteratively updating the two rotation matrices. The two rotation matrices and the basis transformation corresponding to the minimum energy are ultimately utilized to recover the relative pose. Extensive quantitative and qualitative evaluations across diverse relative pose estimation tasks demonstrate the superior performance of our proposed birotation solution. Source code, demo video, and datasets will be available at \href{https://mias.group/birotation-solution}{mias.group/birotation-solution} upon publication.

A Birotation Solution for Relative Pose Problems

TL;DR

Three basis transformations are introduced, each associated with a geometric metric to quantify the distance between the relative pose to be estimated and its corresponding basis transformation and its corresponding basis transformation are introduced.

Abstract

Relative pose estimation, a fundamental computer vision problem, has been extensively studied for decades. Existing methods either estimate and decompose the essential matrix or directly estimate the rotation and translation to obtain the solution. In this article, we break the mold by tackling this traditional problem with a novel birotation solution. We first introduce three basis transformations, each associated with a geometric metric to quantify the distance between the relative pose to be estimated and its corresponding basis transformation. Three energy functions, designed based on these metrics, are then minimized on the Riemannian manifold by iteratively updating the two rotation matrices. The two rotation matrices and the basis transformation corresponding to the minimum energy are ultimately utilized to recover the relative pose. Extensive quantitative and qualitative evaluations across diverse relative pose estimation tasks demonstrate the superior performance of our proposed birotation solution. Source code, demo video, and datasets will be available at \href{https://mias.group/birotation-solution}{mias.group/birotation-solution} upon publication.
Paper Structure (25 sections, 49 equations, 7 figures, 7 tables)

This paper contains 25 sections, 49 equations, 7 figures, 7 tables.

Figures (7)

  • Figure 1: (a) Definition of $\boldsymbol{\Phi} = (\phi_1, \phi_2, \phi_3)$; (b) Comparison between ${\epsilon}_1$ and ${\epsilon}'_1$; (c) Comparison between ${\epsilon}_2$ and ${\epsilon}'_2$; (d) Comparison between ${\epsilon}_3$ and ${\epsilon}'_3$.
  • Figure 2: Visualizations of the normalized implicit weights under different constraints: (a) Constraint given in \ref{['eq.constraints_1']}; (b) Constraint given in \ref{['eq.constraints_2']}; (c) Constraint given in \ref{['eq.constraints_3']}.
  • Figure 3: An overview of a single iteration in our proposed relative pose estimation algorithm. For each $i \in \{1,2,3\}$, two rotation matrices $\boldsymbol{R}_{1,i}$ and $\boldsymbol{R}_{2,i}$, obtained from the previous iteration, are used to rotate $N$ pairs of correspondences. The transformed correspondences $\boldsymbol{p}^{C'}_{1,n,i}$ and $\boldsymbol{p}^{C'}_{2,n,i}$ are then used to compute the residual vectors $\boldsymbol{e}_1$, $\boldsymbol{e}_2$, and $\boldsymbol{e}_3$ via \ref{['eq.e_in']}. The residuals, along with the diagonal matrix $\boldsymbol{\Lambda}$ (used for outlier removal), are incorporated into the energy functions defined in \ref{['eq.E']}. To optimize the energy, the rotation matrices $\boldsymbol{R}_{1, i}$ and $\boldsymbol{R}_{2, i}$ are mapped to the tangent space $\mathfrak{so}(3)$ via the logarithmic map, allowing the increment vector $\Delta\boldsymbol{\Theta}_i$ to be solved in closed form. The updated rotation matrices $\boldsymbol{R}_{1, i}$ and $\boldsymbol{R}_{2, i}$ are then obtained on the Riemannian manifold $\mathrm{SO(3)}$ through the exponential map. If convergence has not yet been achieved, $\boldsymbol{R}'_{1, i}$ and $\boldsymbol{R}'_{2, i}$ are passed to the next iteration; otherwise, they are used to derive the final relative pose via \ref{['eq.Rt']}.
  • Figure 4: Qualitative comparisons of relative pose algorithms on the stereo camera extrinsic calibration task: (a) Left images rectified based on the ground-truth extrinsic parameters; (b-f) Disparity maps generated from stereo images rectified based on the extrinsic parameters estimated using nister2004efficient, ling2016high, zhao2020efficient, zhao2024dive, and our algorithm, respectively.
  • Figure 5: Quantitative comparisons on the KITTI Odometry dataset, where "Seq $i$" refers to the $i$-th sequence. The figures present the $[\min,\max]$ ranges along with our results, which are highlighted in red when optimal. A smaller area enclosed by lines indicates better performance of the corresponding algorithm. SC-Depth, SCIPaD, Nistér nister2004efficient, Helmke helmke2007essential, Zhao zhao2024dive, Zhao zhao2020efficient, Ling ling2016high, and ours.
  • ...and 2 more figures