Line and circle detection using dense onetoone Hough transforms on greyscale images
 Antoine Manzanera^{1}Email authorView ORCID ID profile,
 Thanh Phuong Nguyen^{2, 3} and
 Xiaolei Xu^{1}
https://doi.org/10.1186/s136400160149y
© The Author(s) 2016
Received: 21 December 2015
Accepted: 23 November 2016
Published: 12 December 2016
Abstract
By estimating the firstorder (direction) and secondorder (curvature) derivatives in an image, the parameters of a line or circle passing through a point may be uniquely defined in most cases. This allows to compute a onetoone Hough transform, every point in the image space voting for one unique point in the parameter space. Moreover, those parameters can be directly estimated on the greyscale image without the need to calculate the contour and without reducing the spatial support of the Hough transform, i.e. densely on the whole image. The general framework using multiscale derivatives is presented, and the onetoone Hough dense transforms for detecting lines and circles are evaluated and compared with other variants of Hough transforms, from qualitative and computational points of view.
Keywords
Hough transform Onetoone Dense Line detection Circle detection Multiscale derivatives Gradient Curvature1 Introduction
The Hough transform (HT), one of the oldest algorithms of computer vision [1, 2], has been attracting a continuous interest for more than 50 years, as testified by a number of surveys [3–5], the most recent one [6], mentioning more than 2500 research papers, and citing around 100 post2000 references. This is due not only to the constant development of applications based on graphics recognition but also to the elegance and generality of the Hough framework, allowing to detect analytical [7–10] as well as nonanalytical [11–13] shapes in a wide variety of relevant manners.
The basic principle of the HT is to project the image data within a parameter space representing possible positions of a shape in the image space, then to search accumulation points in the parameter space, corresponding to the most probable positions of the shape in the image. Although many variations have been proposed until recently, it is remarkable that in most cases, the projection (voting process) is sparsely performed on contour or salient points of the image space. In addition, it is almost always performed using one of the two dual methods: onetomany (one point in the image space votes for an multidimensional surface in the parameter space) or manytoone (a set of points in the image space votes for one single point in the parameter space).
In this paper, we advocate the use of dense spatial derivatives instead of reducing the spatial support to a sparse set. Intuitively, this must make the vote more statistically significant and then have a positive influence on robustness. More unexpectedly, this should also lower the computational cost because it removes the selection process and, above all, because in the case of lines and circles, the voting is a onetoone projection from the image to the parameter space. Although dense HTs have been proposed already, and onetoone voting has also been used by some authors, to our knowledge, the two concepts have not been used together. Our contributions are the following: (1) a general framework for onetoone dense Hough transform (DHT) using multiscale spatial derivatives, (2) practical algorithms based on this framework for line and circle detection and (3) a comparative study to evaluate the benefits and the weaknesses of the onetoone DHTs.
To compare with other HTs, we define a computational protocol for evaluating the performance of line and circle detection algorithms. The algorithms are tested on real images with manually defined ground truth. Then, for every algorithm, we plot the number of true positive shapes as a function of the number of detected shapes. The robustness to noise and to illumination changes of the different algorithms and their variants are evaluated. We also compare the computational costs of the different methods.
This paper is organised as follows: Section 2 recalls the fundamentals for Hough transform and multiscale derivatives and present the related works. In Section 3, we present the onetoone DHT for line and circle detection. Section 4 defines the evaluation protocol, presents comparative results of line and circle detection and discusses them. Section 5 finally outlines the contributions of this work and concludes.
2 Related works
2.1 Hough transform
An ndimensional binary image I being a subset of \(\mathbb {R}^{n}\), an analytical shape may be defined by a parametric equation: \(\mathcal {C}^{\mathbf {a_{0}}} = \left \{\mathbf {x} \in \mathbb {R}^{n}; \phi (\mathbf {x},\mathbf {a_{0}}) = 0\right \}\), where x is the spatial variable, and \(\mathbf {a_{0}} \in \mathbb {R}^{m}\) is a constant parameter. Now for a specific \(\mathbf {x_{0}} \in \mathbb {R}^{n}\), the set \(\mathcal {D}^{\mathbf {x_{0}}} = \left \{\mathbf {a} \in \mathbb {R}^{m}; \phi (\mathbf {x_{0}},\mathbf {a}) = 0\right \}\), where a is the parametric variable, is a surface in the mdimensional parameter space, which is the projection, or dual form of point x _{0}. The sum of all the projections of I is called the Hough transform of I relatively to ϕ: where is the indicator function of set A. The most representative shapes within I are finally detected by searching the maxima of \(\Gamma _{I}^{\phi }\).
For line detection, the polar parametric equation is preferred for uniform quantisation purposes [7]. The space variable is x=(x,y), the parametric variable is a=(θ,ρ) and the parametric equation is x cosθ+y sinθ=ρ. The dual form \(\mathcal {D}^{(x,y)}\) is a sine curve. For circle detection, the parametric variable is (c _{ x },c _{ y },r) and the parametric equation is (x−c _{ x })^{2}+(y−c _{ y })^{2}=r ^{2} [7]. The dual form \(\mathcal {D}^{(x,y)}\) is a conic surface.
In practice, both the image and the parameter space are quantised. The HT is classically applied on a binary image made of thin and regular curves, obtained using a contour detection algorithm. The transform is calculated using one of the two dual methods: (1) The onetomany projection (a.k.a divergent transform), which consists in scanning every pixel x _{0} of the binary image, and then incrementing \(\Gamma _{I}^{\phi }\) on the whole surface \(\mathcal {D}^{\mathbf {x_{0}}}\) as defined above. (2) The manytoone projection (a.k.a convergent transform), which consists in considering every mtuple of pixels {x _{ i }}_{1≤i≤m } of the binary image such that there exists a unique a _{0} in the parameter space such that for all x _{ i }, ϕ(x _{ i },a _{0})=0 (e.g. m=2 for lines and m=3 for circles) and then increment only \(\Gamma _{I}^{\phi }(\mathbf {a_{0}})\).
One known drawback of the classical HT is their computational cost. If p is the number of voting pixels in the binary image, m the dimension of the parameter space, and k the average number of samples per dimension of the parameter space, the complexity of projection is proportional to pk ^{ m−1} for the onetomany transform, and to \(\binom {p}{m}\) for the many to one. The most popular approaches to reduce the complexity consist in decreasing the number of voting pixels by randomly picking a subset of them. For the onetomany transform, such approach is known as PHT, or probabilistic Hough transform [14–16]. In the case of manytoone transforms, it is called RHT, or randomised Hough transform [17, 18]. Classic HT, PHT and RHT have been compared from qualitative and computational perspectives in [19] and [20].
Using the local derivatives to improve or to accelerate the HT has been done before, it was proposed for lines by O’Gorman and Clowes [21] and for differentiable curves by Shapiro [22]. In his review article, Maître [3] explicitly mentioned the onetoone HT for lines and circles. However, these approaches have been scarcely used and—to our knowledge—only on binary curves, never directly on grey level images. The gradient information has been used in line detection for accelerating the HT [23] or for controlling the voting process to improve the progressive PHT [24]. Valenti and Gevers [25] have proposed an efficient eye centre location algorithm based on a voting scheme using the isophote curvature estimation. Recently, Yao and Yi [26] used the curvature of the contour to estimate the radius and then accelerate the circle HT. However, all these approaches still reduced the voting pixels to a thin contour previously calculated.
Kesidis and Papamarkos [27] have proposed an invertible grey level HT by using directly the grey level value of the pixels. In their circle detector, Atherton and Kerbyson [28] applied a collection of convolutions on the gradient image, which is equivalent to weighting the HT by the gradient. A dense vote using the gradient and without calculating the contours was performed for line detection by Dahyot [29]. But she used an estimated density kernel to spread the votes in the parameter space, resulting in a computational cost actually higher than the classical approach.
As a conclusion, amongst the few existing onetoone HTs, none is a dense method, and none of the existing dense approaches is a onetoone projection. The framework proposed in this paper, which combines the two, is a systematic approach based on (1) estimating the gradient and/or the curvature on the greyscale image, (2) performing, for all the pixels of the image space, a onetoone vote in the parameter space, and (3) weighting the vote by the significance of the derivative measure. We argue that (i) generalising the vote to all the pixels make the DHT statistically more significant [29], (ii) the direct calculation on the grey level removes the dependence to the limits and parameters of the contour detection algorithm and, finally, (iii) although the number of voting points increases by one order of magnitude, the complexity is actually lower because the estimation of derivatives have a computational cost which is lower or comparable to the contour detection algorithm and the onetoone voting process has a constant complexity. Let us now recall the useful bases on image derivatives.
2.2 Multiscale derivatives on greyscale images
When dealing with local structures in images, differential geometry is a very convenient framework and has been used for lowlevel image modelling and analysis for decades to perform contour detection [30], point tracking [31], optical flow estimation [32], corner [33], blob [34] or ridge detection [35]. From a biological point of view, the importance of local derivatives up to order two for the human visual system has been acknowledged a long time ago [36].
In the differential framework, the image I is considered as a differentiable function from \(\mathbb {R}^{2}\) to \(\mathbb {R}\). Let (O,x,y) be the Cartesian reference frame of \(\mathbb {R}^{2}\). We denote \(I_{x} = \frac {\partial I}{\partial x}\), \(I_{xx} = \frac {\partial ^{2} I}{\partial x^{2}}\) and so on.
One important secondorder measure is the isophote curvature. Consider the displacement of a point along the isophote curve, where the curvilinear coordinate s is assimilated to time, and the local frame (p,g,t) corresponds to the Frenet frame. In this case, the isophote curvature can be defined as the radial acceleration \(\ddot {\mathbf {g}}(s)\), when the displacement is made at unit velocity, i.e. \(\dot {\mathbf {t}}(s) = 1\) (using the notation \(\dot {\mathbf {x}} = \frac {\partial \mathbf {x}}{\partial s}\) and \(\ddot {\mathbf {x}} = \frac {\partial ^{2} \mathbf {x}}{\partial s^{2}}\)).
The absolute value of the isophote curvature corresponds to the inverse of the radius of the osculating circle to the isophote curve (see Fig. 1), while its sign provides the polarity of the curvature (positive: brighter inside).
where ⋆ is the convolution and G _{ σ } the 2d Gaussian function of standard deviation σ (from now on, when working at a single scale, we will frequently omit the σ superscript).
In the next section, Hough transforms and multiscale derivatives are put together to form an effective framework for line and circle detection.
3 Onetoone dense Hough transforms
The onetoone dense Hough transforms (DHT) for lines and circles are presented in this section. They are directly computed on greyscale images using spatial derivatives. The firstorder derivatives (gradient vector) are used for the line detection, and the first and secondorder derivatives (gradient vector and Hessian matrix) are used for the circle detection. Section 3.1 exposes the general principles, then the algorithms are presented in Section 3.2. Section 3.3 discusses the implementation details and parameters, and Section 3.4 shows some results.
3.1 General principles
i.e., the radius r _{ p } is the inverse of the absolute curvature κ _{ p } calculated at point p using Eq. 7, and the centre C _{ p } is obtained by tracing from p the vector whose magnitude corresponds to the radius, whose direction is the same as the gradient and whose sense depends on the sign of curvature. Again, we can evaluate the significance of the location p with respect to the presence of circle by using the strength of the second derivative, i.e., the Frobenius norm of the Hessian matrix \(H_{I}_{F} = \sqrt {I_{xx}^{2} + 2I_{xy}^{2} + I_{yy}^{2}}\). The convergence of the most significant votes toward the potential circle centres is visible on Fig. 3 c, d.
In the multiscale DHT, we will combine the derivatives estimated at different scales. If the votes account for the relative importance of a given derivative at a certain location, it is advisable to normalise the corresponding derivative according to the scale and to the order of derivation σ [40]. Then, the multiscale voting weights will be σ∇I at order 1 and σ ^{2}H _{ I }_{ F } at order 2.
3.2 DHT algorithms
3.2.1 Line DHT
This algorithm is directly deduced from Eqs. 9 and 10. An example of 1to1 line DHT can be seen on Fig. 6 d.
3.2.2 Circle DHT basic (V1)
This algorithm is directly deduced from Eqs. 11 and 12. An example of 1to1 circle DHT V1 can be seen on Fig. 8 (2, right).
3.2.3 Circle DHT twopass (V2)
The straightforward implementation of the onetoone DHT for circles does not provide good results in general. This is due to the fact that several scales of estimation are usually needed to improve the detection of the centres, but they also disperse the votes for the radius component, which makes the detection difficult.
Twopass algorithms are now classical in Houghbased circle detection [41–43], but their first pass is a onetomany 2d HT, where the votes are made along straight lines, either defined by the gradient direction [41, 42], or by the bissector of a point pair chord [43]. In our V2 version, the first pass is a onetoone DHT based on the isophote curvature. Figure 8 (4, right) shows an example of such first pass (centre detection).
3.3 Implementation and parameters
Although simpler in many aspects, the onetoone dense Hough transform, like its onetomany or manytoone counterparts, is sensitive on implementation details and parameters. The purpose of this section is to go into deeper details on each part of the algorithms.
3.3.1 Weighting the votes
The DHT uses a normbased censitary suffrage: all the pixels vote, but their vote is weighted according to the norm of the corresponding derivative. When using different scales, the scale should also take part to the weight as a scale space normalisation. The votes are then weighted by σ∇I at order 1 and σ ^{2}H _{ I }_{ F } at order 2. The justification of using this weight is that the relevant features (line or osculating circle positions) are poorly defined when the contrast (∇I) or the global curvature (κ) is too weak.
However, such weighting naturally favours the highly contrasted structures, which is not always desirable. A radical method for being contrast invariant is to use a true egalitarian suffrage, with uniform weight ω=1.0, which conversely may favour spurious structures like jpeg artefacts. Obviously, many tradeoffs can be applied, like using a uniform weight but selecting the voting pixels with threshold or weighting by the logarithm of the norm. Different weighting strategies will be compared and discussed in the evaluation section (see Section 4).
3.3.2 Multiscale derivatives
A proper estimation of the derivatives is essential for the DHT. The poor results obtained using finite difference on curves, or small convolution kernels on greyscale images (particularly for the curvature), probably explain the very little attention received by onetoone HT so far. Nevertheless, the scale space estimation of derivatives allows an accurate and noise robust estimation of gradient and curvatures at different scales. In this work, we used the recursive implementation of the (approximated) Gaussian convolution proposed by Young and van Vliet [44]. The best estimation scale locally depends on the image structure and the noise level. It could be selected automatically from the image [40], but simply aggregating the votes at the different scales with their different weights is actually faster and closer to the Hough spirit.
3.3.3 Parameter space representation and maxima selection
The representation of the parameter space has a major influence on the precision of the detection and also on its complexity. The most classical method consists in quantising every dimension of the parameter space according to the desired precision of the detection, voting by simply incrementing the nearest node of the quantised space, and then choosing the highest local maxima as the best shapes. This is what is done for the onetomany methods because a sufficiently high precision is needed to draw significant dual surfaces in the parameter space.
Because the comparative evaluation in the next section is performed against onetomany methods, we have essentially used the same classical representation, referred to as “finegrained parameter space”. This allowed to focus the comparison on the impact of our contribution, that is on the voting process, i.e., dense onetoone vs. sparse onetomany.
It is well known that detecting the N local maxima with highest value is not sufficient in general to avoid multiple detections (a beam of shapes corresponding to the same physical structure). In our experiments using finegrained parameter space, we employed nonlocal maxima deletion as well as an exclusion distance criterion which consists in discarding, in the Hough space, all values whose distance to a previously selected point is below a certain threshold. Defining the exclusion ball in general should not be a fundamental problem, since it relates to the expected spatial distribution of the shapes.
The onetoone, like the manytoone transforms, are naturally sparser than the onetomany transforms, every pixel voting for a single point. For circles, the sparsity of the basic onetoone transform (V1) is still more important because of a larger parameter space. The sparsity can be moderated a priori by interpolating the votes and a posteriori by smoothing the transform. For the V1 version of the circle detector applied on Fig. 8 (2), a separable recursive exponential smoothing filter (γ=2.0) was applied in the 3d Hough space.
More interestingly, voting for one single location in the parameter space releases the strict need for quantisation. As done by Xu in the case of manytoone RHT [17], dynamical accumulation data structures (e.g. lists or trees) can be used to store the estimated parameters without modifying them and then perform clusteringbased accumulation search. The number of votes of the DHT being relatively high, and the dimension of the parameter space being low, one natural data structure is a simple grid like in the previous case, except that the step of the grid is much larger (it no longer depends on a desired localisation precision, but rather corresponds to the exclusion ball used to address multiple detections). The other difference is that instead of coding only a number of votes, every cell of the grid is a bucket containing a list of parameters with their associated weights.
Once the vote is completed, the best shapes are detected by searching the highest local maxima on the grid and then calculating the centroids of the parameters in the 3^{ m } neighbourhood for every selected maximum. This alternate method shall be referred to as “coarsegrained parameter space,” and its impact will be evaluated in Section 4.
3.4 DHT results
Figure 6 shows line detection results using the (θ,ρ) parameter space for the DHT (Fig. 6 d) compared with the classic exhaustive onetomany HT (all the contour points are voting, Fig. 6 b). For the classic HT, the contour (Fig. 6 a) is obtained using Canny algorithm [45] with σ=1.5 and hysteresis threshold with t _{1}=1.0 and t _{2}=2.0. For the DHT, the transform is obtained by estimating the gradients at a single scale σ=1.5. For both methods, the parameter space was quantised using 720 samples for θ, the resolution for ρ being set according to the image diagonal, and the 50 best maxima were selected using the exclusion condition (θ _{ e },ρ _{ e })=(15,12) (which means that two lines with parameters such that θ _{1}−θ _{2}<θ _{ e } AND ρ _{1}−ρ _{2}<ρ _{ e } cannot be detected at the same time, see Section 3.3). The 50 best lines are overlaid in magenta on the images that have been used for calculating the transform (Fig. 6 a, c).
4 Qualitative evaluation
This section is dedicated to the qualitative evaluation of the DHT for line and circle detection. First, the evaluation protocol is presented and the proposed metrics are justified. Then, we apply this evaluation, first to line detection, and then to the two versions of circle detection. The DHT algorithms are qualitatively compared with classic and stateofthe art HT algorithms available on the OpenCV library [16, 41, 46] and also with other stateofthe art line and circle detectors based on the HT, such as the randomised Hough transform [17] and the curvature aided circle detector [26].
4.1 Evaluation protocol and metrics

One natural greyscale image showing significant amount of lines (resp. circles) was chosen, and its “ground truth” was manually set.

Every algorithm is assessed according to the proportion of ground truth lines (resp. circles) it detects, as a function of number of selected maxima.

To evaluate the sensitivity of the algorithms, the same measure is performed on images with three kinds of distortion: (1) additive noise, (2) impulse noise and (3) nonuniform illumination.
4.1.1 Voronoibased detection rate
Regarding lines, some precautions must be taken when using the Euclidean distance in the classic (θ,ρ) space because some discontinuities may appear when ρ is close to zero, the lines (θ,ρ) and (π−θ,ρ) being in that case close in the image space, but not in the parameter space. To address this problem, the (θ,ρ) space is extended to negative values of ρ, every ground truth line (θ,ρ) being duplicated to its equivalent (π−θ,−ρ), at least for the small values of ρ. The matching is then performed in this extended Voronoi diagram.
A wrong detection may be due to a false alarm (a curve absent from the ground truth) or to multiple detections of a right curve. The manual ground truth collection being largely subjective, measuring the false alarm rate did not turn out relevant. The wrong detections being—at least for clean images— essentially due to multiple detections, the quality of detection depends much on the quantisation of the parameter space and the maxima selection procedure. As the main contribution of this work is independent of these steps, the different HTs were compared using the same parameter space and selection steps.
Finally, the evaluation metrics we chose is the recall, i.e. the rate of ground truth curves that have been detected, as a function of the number of detected lines which is simply the number of selected maxima, the HT being actually a localisation, and not a detection algorithm.
4.1.2 Image distortions
To assess the sensitivity of the different algorithms and to better understand the importance of their parameters, the evaluation has been performed on distorted images. The first considered distortion is additive noise: different amounts of Gaussian noise have been added to the input images before performing the detection. The noise level is measured by the signal to noise ratio (SNR). The second one is impulse (i.e. salt and pepper) noise, whose intensity is measured as the proportion p of pixels set to aberrant values. The third one is non uniform illumination: let c be a nonuniformity factor. The distorted image is obtained by multiplying every greyscale I(x,y) by the horizontal ramp defined by \(r(x) = \frac {w}{cx+w}\), where w is the width of the image.
4.2 Line detection

One single small scale (i.e. 1≤σ≤2) is generally sufficient for noisefree images, and sometimes better, since larger scales may fuse close lines or miss some segments.

Using two of three scales slightly improve the results for noisy images.

Regarding the weighting policy, the use of ∇I or log(∇I) works equally well in the different conditions, and much better than using uniform weights, except for nonuniform illumination, when the number of detected lines becomes high.
4.3 Circle detection

The twophase version (V2) works much better than the direct (V1) version in all cases.

Unlike the lines, the use of two or three scales significantly improves the results, even for clean images.

Using the Frobenius norm of the Hessian matrix (without multiplying by the squared sigma) seems the best weighting policy, except for the nonuniform contrast images, where the constant weight seems the least bad option.

The method is pretty insensitive to noise; on the contrary, the results dramatically drops when the contrast turns nonuniform.
4.4 Maxima selection and computational considerations

n is the geometric mean number of samples per dimension in the image space (n ^{2} is the number of pixels).

p is the number of binary contour pixels.

m is the dimension of the parameter space.

k is the geometric mean number of samples per dimension in the (fine grained) parameter space (k ^{ m } is the number of parameter voxels).

z is the geometric mean number of samples per dimension in the exclusion ball.

s is the number of scales used in the DHT.
For the computation of contours, the \(\mathcal {O}(n^{2})\) factor comes from the local estimation of the derivatives and the \(\mathcal {O}(p)\) factor comes from the hysteresis threshold applied to the gradient norm. For the DHT, the estimation of the derivatives has the same complexity as the first part of contour detection, but has to be multiplied by the number of scales. It is recalled that one single scale is currently used for lines and no more than two or three for circles. For the Hough transform itself (voting process), the onetomany factor k ^{ m−1} comes from the dimension of the dual shape, and for manytoone methods, the \(\binom {p}{m}\) factor comes from the combinatorial choices of m points amongst p contour points. The classical ways to lower the complexity is to decrease the multiplying coefficient to this factor by picking only a fraction of the contour points (onetomany PHT) or of the choices of m points (manytoone RHT). For the DHT, the cost of voting is obviously constant. This means that globally, the cost of the DHT is of the same order or lower than the contour detection, which is only the preprocessing step of the classic HT. For the last step, namely the maxima extraction from the parameter accumulator, the complexity is typically higher for onetomany methods where a higher resolution of the parameter space is needed, than for manytoone or onetoone methods, where no quantification is strictly needed, or where a coarser resolution associated with interpolation mechanisms can be used.
Computation time of HT (in s) for different methods and implementations
Line detection  Circle detection  

DHT  PPHT  RHT  SHT  DHT  21HT  RHT  CACD  SHT 
0.11  0.01  8.77  94.73  0.31  1.27  3.29  21.50  144.63 
5 Conclusions
We have presented in this paper a unified framework for computing dense Hough transforms directly from the greyscale images, without reducing the support to contour or interest points. By being independent on the quality of the contours or any other preprocessing step, the voting process is less sensitive to image perturbations. By allowing all the pixels to vote, it is more statistically significant. The weight of the vote can be softly adjusted by using the significance of the contrast or the curvature, provided by the gradient magnitude or the Frobenius norm of the Hessian matrix.
Another fundamental advantage of the DHT for detecting lines or circles is the unique determination of the parameter from the spatial derivatives, which allows to perform a onetoone voting process, thus improving dramatically the global efficiency of the Hough transform.
We have proposed a multiscale voting procedure that allows: (1) to improve the noise robustness and (2) to enhance the detection of circles within a wide range of radii, by simply suming scalenormalised votes over the different scales.
We have proposed an evaluation protocol to assess the results of line and circle detection algorithms on natural grey level images and applied this evaluation on the DHT, first to provide a parametric study of these algorithms and then to compare them to other classic and stateoftheart versions of line and circle detectors based on Hough transforms. We have shown that the qualitative results obtained by the DHT are of the same level than the other HT, while being less sensitive to image perturbations, and more computationally efficient.
In our future works, we are going to produce optimised versions of the onetoone DHT for line and circle detections, in order to better promote and spread their use in the community. We are also working on generalised DHT [48] to extend the advantages of these algorithms to object detection, tracking and recognition [49, 50].
6 Endnote
^{1} These methods were implemented using different programming frameworks and languages: dense HT: C++, RHT: Matlab, SHT: Matlab, CACD: Matlab, PPHT: OpenCV/C++, 2–1HT: OpenCV/C++.
Declarations
Acknowledgements
We gratefully acknowledge the financial contribution of research cluster DIGITEO through the funding of Phuong Nguyen’s postdoctoral position.
Authors’ contributions
AM designed the onetoone multiscale dense Hough transform framework and performed the first implementation. He wrote the sections dedicated to related works and theoretical contributions. XX designed the initial evaluation protocol and performed the first evaluations. TPN improved the evaluation protocol and the dense Hough transform implementation. He conducted all the comparative evaluation experiments and wrote the sections dedicated to the results and the discussion. All authors read and approved the manuscript.
Competing interests
The authors declare that they have no competing interests.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 PVC Hough, in Int. Conf. High Energy Accelerators and Instrumentation. Machine analysis of bubble chamber pictures, (1959), pp. 554–556, http://inspirehep.net/record/919922?ln=en.
 A Rosenfeld, Picture processing by computer. ACM Comput. Surv.1(3), 147–176 (1969). doi:https://doi.org/10.1145/356551.356554.View ArticleMATHGoogle Scholar
 H Maître, Un panorama de la transformation de Hough. Traitement du Signal. 2(4), 305–317 (1985).MathSciNetGoogle Scholar
 J Illingworth, J Kittler, A survey of the Hough transform. Comput. Vis. Graph. Image Process.44(1), 87–116 (1988). doi:https://doi.org/10.1016/S0734189X(88)800331.View ArticleGoogle Scholar
 VF Leavers, Which Hough transform?CVGIP: Image Underst.58(2), 250–264 (1993). doi:https://doi.org/10.1006/ciun.1993.1041.View ArticleGoogle Scholar
 P Mukhopadhyay, BB Chaudhuri, A survey of Hough transform. Pattern Recognit.48(3), 993–1010 (2015). doi:https://doi.org/10.1016/j.patcog.2014.08.027.View ArticleGoogle Scholar
 RO Duda, PE Hart, Use of the Hough transformation to detect lines and curves in pictures. Commun. ACM. 15(1), 11–15 (1972). doi:https://doi.org/10.1145/361237.361242.View ArticleMATHGoogle Scholar
 N Bennett, R Burridge, N Salto, A method to detect and characterize ellipses using the Hough transform. IEEE Trans. Pattern Anal. Mach. Intell.21(7), 652–657 (1999). doi:https://doi.org/10.1109/34.777377.View ArticleGoogle Scholar
 J Song, MR Lyu, A Hough transform based line recognition method utilizing both parameter space and image space. Pattern Recognit.38(4), 539–552 (2005). doi:https://doi.org/10.1016/j.patcog.2004.09.003.View ArticleGoogle Scholar
 D Walsh, AE Raftery, Accurate and efficient curve detection in images: the importance sampling Hough transform. Pattern Recognit.35(7), 1421–1431 (2002). doi:https://doi.org/10.1016/S00313203(01)001145.View ArticleMATHGoogle Scholar
 DH Ballard, Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognit.13(2), 111–122 (1981). doi:https://doi.org/10.1016/00313203(81)900091.View ArticleMATHGoogle Scholar
 B Leibe, A Leonardis, B Schiele, in Toward CategoryLevel Object Recognition. Lecture Notes in Computer Science, vol. 4170. An implicit shape model for combined object categorization and segmentation (SpringerSiracusa, Italy, 2006), pp. 508–524, doi:https://doi.org/10.1007/1195795926.Google Scholar
 V Ferrari, F Jurie, C Schmid, From images to shape models for object detection. Int. J. Comput. Vis.87(3), 284–303 (2010). doi:https://doi.org/10.1007/s1126300902709.View ArticleGoogle Scholar
 RS Stephens, Probabilistic approach to the Hough transform. Image Vis. Comput.9(1), 66–71 (1991). doi:https://doi.org/10.1016/02628856(91)90051P.View ArticleGoogle Scholar
 N Kiryati, Y Eldar, AM Bruckstein, A probabilistic Hough transform. Pattern Recognit.24(4), 303–316 (1991). doi:https://doi.org/10.1016/00313203(91)90073E.MathSciNetView ArticleGoogle Scholar
 J Matas, C Galambos, JV Kittler, Robust detection of lines using the progressive probabilistic Hough transform. Comput. Vis. Image Underst.78(1), 119–137 (2000). doi:https://doi.org/10.1006/cviu.1999.0831.View ArticleGoogle Scholar
 L Xu, E Oja, P Kultanen, A new curve detection method: randomized Hough transform (RHT). Pattern Recognit. Lett.11(5), 331–338 (1990). doi:https://doi.org/10.1016/01678655(90)90042Z.View ArticleMATHGoogle Scholar
 L Xu, A unified perspective and new results on RHT computing, mixture based learning, and multilearner based problem solving. Pattern Recognit.40(8), 2129–2153 (2007). doi:https://doi.org/10.1016/j.patcog.2006.12.016.View ArticleMATHGoogle Scholar
 H Kälviäinen, P Hirvonen, L Xu, E Oja, Probabilistic and nonprobabilistic Hough transforms: overview and comparisons. Image Vis. Comput.13(4), 239–252 (1995). doi:https://doi.org/10.1016/02628856(95)99713B.View ArticleGoogle Scholar
 N Kiryati, H Kälviäinen, S Alaoutinen, Randomized or probabilistic Hough transform: unified performance evaluation. Pattern Recognit. Lett.21(1314), 1157–1164 (2000). doi:https://doi.org/10.1016/S01678655(00)000775.View ArticleMATHGoogle Scholar
 F O’Gorman, MB Clowes, Finding picture edges through collinearity of feature points. IEEE Trans. Comput.C25(4), 449–456 (1976). doi:https://doi.org/10.1109/TC.1976.1674627.View ArticleMATHGoogle Scholar
 SD Shapiro, Feature space transforms for curve detection. Pattern Recognit.10(3), 129–143 (1978). doi:https://doi.org/10.1016/00313203(78)900225.View ArticleMATHGoogle Scholar
 SM Karabernou, F Terranti, Realtime FPGA implementation of Hough transform using gradient and CORDIC algorithm. Image Vis. Comput.23(11), 1009–1017 (2005). doi:https://doi.org/10.1016/j.imavis.2005.07.004.View ArticleGoogle Scholar
 C Galambos, J Kittler, J Matas, Gradient based progressive probabilistic Hough transform. Vis. Image Signal Process. IEE Proc.148(3), 158–165 (2001). doi:https://doi.org/10.1049/ipvis%3A20010354.View ArticleGoogle Scholar
 R Valenti, T Gevers, in IEEE Conference on Computer Vision and Pattern Recognition (CVPR’08). Accurate eye center location and tracking using isophote curvature, (2008), pp. 1–8, doi:https://doi.org/10.1109/CVPR.2008.4587529.
 Z Yao, W Yi, Curvature aided hough transform for circle detection. Expert Syst. Appl.51:, 26–33 (2016). doi:https://doi.org/10.1016/j.eswa.2015.12.019.View ArticleGoogle Scholar
 AL Kesidis, N Papamarkos, On the grayscale inverse Hough transform. Image Vis. Comput.18(8), 607–618 (2000). doi:https://doi.org/10.1016/S02628856(99)000670.View ArticleGoogle Scholar
 TJ Atherton, DJ Kerbyson, Size invariant circle detection. Image Vis. Comput.17(11), 795–803 (1999). doi:https://doi.org/10.1016/S02628856(98)001607.View ArticleGoogle Scholar
 R Dahyot, Statistical Hough transform. IEEE Trans. Pattern Anal. Mach. Intell.31(8), 1502–1509 (2009). doi:https://doi.org/10.1109/TPAMI.2008.288.View ArticleGoogle Scholar
 D Marr, E Hildreth, Theory of edge detection. Proc. R. Soc. London B: Biol. Sci.207(1167), 187–217 (1980). doi:https://doi.org/10.1098/rspb.1980.0020.View ArticleGoogle Scholar
 C Tomasi, J Shi, in Proc. IEEE Conf. on Comp. Vision and Patt. Recog. Good features to track, (1994), pp. 593–600, doi:https://doi.org/10.1109/CVPR.1994.323794.
 BKP Horn, BG Schunck, Determining optical flow. Technical report (Massachusetts Institute of Technology, Cambridge, MA, USA, 1980).Google Scholar
 C Harris, M Stephens, in Proceedings of the 4th Alvey Vision Conference. A combined corner and edge detector, (1988), pp. 147–151, http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.231.1604.
 DG Lowe, Distinctive image features from scaleinvariant keypoints. Int. J. Comput. Vis.60(2), 91–110 (2004). doi:https://doi.org/10.1023/B%3AVISI.0000029664.99615.94.View ArticleGoogle Scholar
 T Lindeberg, Edge detection and ridge detection with automatic scale selection. Int. J. Comput. Vis.30(2), 117–156 (1998). doi:https://doi.org/10.1023/A%3A1008097225773.View ArticleGoogle Scholar
 J Koenderink, The structure of images. Biol. Cybernet.50(5), 363–370 (1984). doi:https://doi.org/10.1007/BF00336961.MathSciNetView ArticleMATHGoogle Scholar
 BMT Haar Romeny, Frontend vision and multiscale image analysis. Computational Imaging and Vision (Kluwer Academic Publishers, Dordrecht, Boston, London, 2003).View ArticleGoogle Scholar
 AP Witkin, in Proceedings of the Eighth International Joint Conference on Artificial Intelligence  Volume 2. IJCAI’83. Scalespace filtering (Morgan Kaufmann Publishers Inc.Karlsruhe, West Germany, 1983), pp. 1019–1022.Google Scholar
 L Florack, B Ter Haar Romeny, M Viergever, J Koenderink, The Gaussian scalespace paradigm and the multiscale local jet. Int. J. Comput. Vis.18(1), 61–75 (1996). doi:https://doi.org/10.1007/BF00126140.View ArticleGoogle Scholar
 T Lindeberg, Feature detection with automatic scale selection. Int. J. Comput. Vis.30(2), 79–116 (1998). doi:https://doi.org/10.1023/A%3A1008045108935.View ArticleGoogle Scholar
 HK Yuen, J Princen, J Illingworth, J Kittler, Comparative study of Hough transform methods for circle finding. Image Vis. Comput.8(1), 71–77 (1990). doi:https://doi.org/10.1016/02628856(90)90059E.View ArticleGoogle Scholar
 R Chan, New parallel Hough transform for circles. Comput. Digital Techniques, IEE Proc.138(5), 335–344 (1991).View ArticleGoogle Scholar
 D Ioannou, W Huda, AF Laine, Circle recognition through a 2d Hough transform and radius histogramming. Image Vis. Comput.17(1), 15–26 (1999). doi:https://doi.org/10.1016/S02628856(98)000900.View ArticleGoogle Scholar
 IT Young, LJ van Vliet, Recursive implementation of the Gaussian filter. Signal Process.44(2), 139–151 (1995). doi:https://doi.org/10.1016/01651684(95)00020E.View ArticleGoogle Scholar
 J Canny, A computational approach to edge detection. IEEE Trans. Pattern Anal. Mach. Intell.8(6), 679–698 (1986). doi:https://doi.org/10.1109/tpami.1986.4767851.View ArticleGoogle Scholar
 C Kimme, D Ballard, J Sklansky, Finding circles by an array of accumulators. Commun. ACM. 18(2), 120–122 (1975). doi:https://doi.org/10.1145/360666.360677.View ArticleMATHGoogle Scholar
 S Fortune, in Proceedings of the Second Annual Symposium on Computational Geometry. SCG ’86. A sweepline algorithm for Voronoi diagrams (ACMYorktown Heights, NY, USA, 1986), pp. 313–322, doi:https://doi.org/10.1145/10515.10549.View ArticleGoogle Scholar
 A Manzanera, in Proceedings of the Sixth International Workshop on Medical and Healthcare applications(AMINA’12). Dense Hough transforms on gray level images using multiscale derivatives (invited conference) (MahdiaTunisia, 2012), pp. 55–62.Google Scholar
 J Gall, A Yao, N Razavi, L Van Gool, V Lempitsky, Hough forests for object detection, tracking, and action recognition. IEEE Trans. Pattern Anal. Mach. Intell.33(11), 2188–2202 (2011). doi:https://doi.org/10.1109/TPAMI.2011.70.View ArticleGoogle Scholar
 O Barinova, VS Lempitsky, P Kohli, On detection of multiple object instances using hough transforms. IEEE Trans. Pattern Anal. Mach. Intell.34(9), 1773–1784 (2012). doi:https://doi.org/10.1109/CVPR.2010.5539905.View ArticleGoogle Scholar