Table of Contents
Fetching ...

Topologically Stable Hough Transform

Stefan Huber, Kristóf Huszár, Michael Kerber, Martin Uray

TL;DR

An alternative formulation of the well-known Hough transform to detect lines in point clouds is proposed, replacing the discretized voting scheme by a continuous score function and its persistent features in the sense of persistent homology give a set of candidate lines.

Abstract

We propose an alternative formulation of the well-known Hough transform to detect lines in point clouds. Replacing the discretized voting scheme of the classical Hough transform by a continuous score function, its persistent features in the sense of persistent homology give a set of candidate lines. We also devise and implement an algorithm to efficiently compute these candidate lines.

Topologically Stable Hough Transform

TL;DR

An alternative formulation of the well-known Hough transform to detect lines in point clouds is proposed, replacing the discretized voting scheme by a continuous score function and its persistent features in the sense of persistent homology give a set of candidate lines.

Abstract

We propose an alternative formulation of the well-known Hough transform to detect lines in point clouds. Replacing the discretized voting scheme of the classical Hough transform by a continuous score function, its persistent features in the sense of persistent homology give a set of candidate lines. We also devise and implement an algorithm to efficiently compute these candidate lines.
Paper Structure (15 sections, 4 theorems, 13 equations, 7 figures)

This paper contains 15 sections, 4 theorems, 13 equations, 7 figures.

Key Result

lemma 1

Let $\kappa$ be Lipschitz-continuous with constant $\lambda$. Let $P'$ denote an $\epsilon$-perturbation of $P$ (i.e., every point is replaced by a point in its $\epsilon$-ball). Then $\|\mathrm{S}_{P}-\mathrm{S}_{P'}\|_\infty\leq \lambda\epsilon.$

Figures (7)

  • Figure 1: Left: Ten points sampled from two lines. Middle: The classical Hough transform passes to the space of lines in which every input point dualizes into a sinusoidal curve. The blue point on the left, for instance, is tranformed to the blue curve in the middle. The pixels that the blue curve votes for are marked. In that example, there are two pixels (red) that receive five votes. Right: The centers of the high-count pixels are two lines in primal space that correspond to the two drawn lines.
  • Figure 2: Top: the subdivided $\tilde{\mathrm{S}}_P$. Bottom: The superlevelsets for threshold $0.8$, $0.7$, and $0.6$, and the nerve of the boxes (the graph structure in blue). Vertices and edges that enter the graph at this threshold are drawn thicker. We observe that for $0.8$, a new connected component is formed in the upper region. For $0.7$, another isolated vertex is formed; moreover, the upper-right box connects with the lower-left box because of the Möbius geometry, hence, the component formed at $0.8$ merges with another one, yielding a persistence of $0.1$ for the component. At $0.6$, the component formed at $0.7$ also gets merged, yielding a persistence of $0.1$ as well. Note that the graph is connected for $0.6$.
  • Figure 3: Illustration of the proposed method.
  • Figure 4: Illustration of the admissible threshold ranges $\Delta_\text{Vote}$ and $\Delta_\text{Pers}$ in Hough space for persistence-based thresholding (our method) and discrete, vote-based thresholding (OpenCV).
  • Figure 5: Results of the experiment evaluating detection quality using the Euclidean norm in normalized parameter space and the absolute errors in $r$ and $\Theta$ relative to the ground-truth lines, computed from the best pairwise matches.
  • ...and 2 more figures

Theorems & Definitions (6)

  • lemma 1
  • lemma 2
  • theorem 1
  • proof
  • lemma 3
  • proof