Table of Contents
Fetching ...

Pixel-Accurate Epipolar Guided Matching

Oleksii Nasypanyi, Francois Rameau

Abstract

Keypoint matching can be slow and unreliable in challenging conditions such as repetitive textures or wide-baseline views. In such cases, known geometric relations (e.g., the fundamental matrix) can be used to restrict potential correspondences to a narrow epipolar envelope, thereby reducing the search space and improving robustness. These epipolar-guided matching approaches have proved effective in tasks such as SfM; however, most rely on coarse spatial binning, which introduces approximation errors, requires costly post-processing, and may miss valid correspondences. We address these limitations with an exact formulation that performs candidate selection directly in angular space. In our approach, each keypoint is assigned a tolerance circle which, when viewed from the epipole, defines an angular interval. Matching then becomes a 1D angular interval query, solved efficiently in logarithmic time with a segment tree. This guarantees pixel-level tolerance, supports per-keypoint control, and removes unnecessary descriptor comparisons. Extensive evaluation on ETH3D demonstrates noticeable speedups over existing approaches while recovering exact correspondence sets.

Pixel-Accurate Epipolar Guided Matching

Abstract

Keypoint matching can be slow and unreliable in challenging conditions such as repetitive textures or wide-baseline views. In such cases, known geometric relations (e.g., the fundamental matrix) can be used to restrict potential correspondences to a narrow epipolar envelope, thereby reducing the search space and improving robustness. These epipolar-guided matching approaches have proved effective in tasks such as SfM; however, most rely on coarse spatial binning, which introduces approximation errors, requires costly post-processing, and may miss valid correspondences. We address these limitations with an exact formulation that performs candidate selection directly in angular space. In our approach, each keypoint is assigned a tolerance circle which, when viewed from the epipole, defines an angular interval. Matching then becomes a 1D angular interval query, solved efficiently in logarithmic time with a segment tree. This guarantees pixel-level tolerance, supports per-keypoint control, and removes unnecessary descriptor comparisons. Extensive evaluation on ETH3D demonstrates noticeable speedups over existing approaches while recovering exact correspondence sets.
Paper Structure (26 sections, 8 equations, 11 figures, 3 tables, 1 algorithm)

This paper contains 26 sections, 8 equations, 11 figures, 3 tables, 1 algorithm.

Figures (11)

  • Figure 1: Overview of the guided matching process. Given a query point in image 1 $\mathbf{p}_1^1$, its corresponding epipolar line in image 2 $\mathbf{l}_2^1$ (yellow) restricts the search space to a narrow envelope of width $2\epsilon$. Any keypoint lying within this region (e.g., $\mathbf{p}_4^2$ and $\mathbf{p}_3^2$) is considered a valid candidate for matching. This can be determined by computing the orthogonal distance from each keypoint to the epipolar line, but such brute-force checks are computationally expensive. Instead, we draw circles of diameter $2\epsilon$ around each keypoint in image 2 and test whether the epipolar line intersects any of them (orange stars). Interestingly, this geometric test can be reformulated as a fast 1D angular range query: for each circle, the angle interval formed by the two tangents from the epipole defines a valid angular interval, and a candidate is retained if the epipolar line direction lies within it. Green points indicate inliers, red points are outliers.
  • Figure 2: Comparison of three epipolar correspondence filtering strategies. Unlike our approach, Epipolar Hashing barath2021efficient and Grid-based shah2015geometry methods return matches outside the true epipolar region (false positives) and miss valid matches within it (false negatives).
  • Figure 3: Epipolar geometry and envelope-based match filtering. Given a point $\mathbf{p}_1^1$ in the first image, its corresponding epipolar line $\mathbf{l}_1^2$ is shown in the second image. The grey band illustrates an epipolar envelope of width $2\epsilon$, used to retain only candidate matches such as $\mathbf{p}_1^2$ and $\mathbf{p}_3^2$.
  • Figure 4: Illustration of the angular interval query strategy. Given an epipolar line $\mathbf{l}_1^2$ (orange), inlier points lie within the epipolar envelope (yellow). All angular intervals $\Theta_j$ that contain the epipolar line angle $\alpha_1$ correspond to valid match candidates, forming the set $\mathscr{C}_1^2$. In this example, the points $\mathbf{p}_1^2$ and $\mathbf{p}_4^2$ have intervals $\Theta_1$ and $\Theta_4$ that include $\alpha_1$, and are therefore considered inliers. For the point $\mathbf{p}_2^2$, the construction of its interval $\Theta_2$ is illustrated via its central direction $\theta_2$ and angular radius $\delta_2$. The point $\mathbf{p}_3^2$ exemplifies a wrap-around case, where the interval spans the $0/\pi$ boundary. It is therefore split into two sub-intervals $\Theta_3^{(1)}$ and $\Theta_3^{(2)}$ in the segment tree.
  • Figure 5: Comparison of the number of correctly matched points in a challenging scene with many repetitive structures, such as grass, rooftops, and building facades. (Top) Brute-Force (BF) matching. (Middle) FLANN-based matching. (Bottom) Our epipolar-guided matching. A match is considered correct if the 3D distance between correspondences is below 0.1 meters.
  • ...and 6 more figures