THE HOUGH TRANSFORM AS A TOOL FOR

Josep Llad´os Center - Dept. Inform`atica. Universitat Aut`onoma de Barcelona.

Computer Vision Master March 2003

Abstract The Hough transform is a widespread technique in image analysis. Its main idea is to transform the image to a parameter space where clusters or particular configurations identify instances of a shape under detection. In this chapter we overview some meaningful Hough-based techniques for shape detection, either parametrized or generalized shapes. We also analyze some approaches based on the straight Hough transform able to detect particular structural properties in images. Some of the ideas of these approaches will be used in the following chapter to solve one of the goals of the present work.

1 Introduction

The Hough transform was first introduced by Paul Hough in 1962 [4] with the aim of detecting alignments in T.V. lines. It became later the basis of a great number of image analysis applications. The Hough transform is mainly used to detect parametric shapes in images. It was first used to detect straight lines and later extended to other parametric models such as circumferences or ellipses, being finally generalized to any parametric shape [1]. The key idea of the Hough transform is that spatially extended patterns are transformed into a parameter space where they can be represented in a spatially compact way. Thus, a difficult global detection problem in

the image space is reduced to an easier problem of peak detection in a parameter space.

Ü; Ý µ

A set of collinear image points ´ can be represented by the equation:

ÑÜ Ò =¼

Ý (1) Ò

where Ñ and are two parameters, the slope and intercept, which characterize the line. Equation 1 maps

Ñ; Òµ

each value of the parameter combination ´ to a set of image points. But Equation 1 can be “read” as a

Ñ; Òµ

backprojection, i.e. it represents the set of straight lines, each defined by a point ´ in the parameter space,

Ü; Ý µ ´Ü; Ý µ

passing through an image point ´ . From this point of view, each image point defines a straight line

Ñ; Òµ

in the parameter space which represents all possible combinations of ´ defining lines passing through

Ü; Ý µ ´ . Points which are collinear in the image space all intersect at a common point in the parameter space and the coordinates of this parameter point characterize the straight line connecting the image points. Thus, the problem of line detection in image space is trasformed to the problem of finding intersection points (peaks) in the parameter space.

The straight line Hough transform can easily be extended to detect other parametrically defined curves in the

Ò « ;::: ;« Ò image. Image points of a curve characterized by parameters ½ can be defined by an equation of the

form:

f ´« ;::: ;« ;Ü;ݵ=¼ Ò

½ (2)

Ü; Ý µ Ò

Following the same idea, an image point ´ defines a hypersurface in the -dimensional parameter space

´« ;::: ;« µ Ò ½ . The intersections of these hypersurfaces indicate the parameters which are likely to characterize instances of the searched curves in the image space.

1 The Hough transform offers several advantages. First, each image point is treated independently and there- fore a parallel processing is possible and the method is suitable for real-time applications. Second, the method is robust to the presence of noise since noisy image points are very unlikely to contribute to a peak in the parameter space. Third, since each image point contributes independently to the parameter space points, the algorithm is able to work even if the shape is occluded. A final advantage is that Hough transform is able to detect different instances of the desired shape at the same time, depending on the number of peaks which are considered in the parameter space. The main drawbacks of the Hough transform are its large storage and computational requirements. The com- putational load can be reduced by using information from the image to restrict the range of parameters which must be calculated from each image point. For example, Ballard [1] described how to optimize circle detection by the use of gradient information. The storage requirements can be reduced by multistage processes which decompose a high dimensional problem into separate lower dimensional ones. Parameter reduction techniques also involve a reduction of the computational load. A similar approach to reduce the storage requirements and computational load is to analyze the parameter space at different scales by a coarse-to-fine technique which focus the analysis on those areas of the parameter space having a high density. Two interesting comprehensive reviews of the available Hough transform methods have been reported by Illingworth and Kittler [5], including a review of the literature available up to 1988, and Leavers [8], which offers an update on the state of the art on Hough techniques up to 1993. In the following sections we first, in section 2, further describe the straight line Hough transform due to the fact that it is the basis of our proposed method for hatched pattern detection. In section 3 the most outstanding extensions of the Hough transform are reviewed. The review is not exhaustive because these extensions are far away from the general purposes of this thesis, but rather it is intended to give an overview of these widely used techniques. Section 4 is devoted to analyze the parameter space. First we describe how geometric transforma- tions such as translation, rotation and scale in the image space affect on the parameter space. Secondly, some special configurations in the image space are studied showing their compact representation when mapped to the parameter space.

2 The straight line Hough transform

The straight line Hough transform (SLHT) was the first, and probably the most, used of the parameter-based

transformations stated from the Hough idea [4]. The SLHT idea has been introduced in the previous section !½ starting from Equation 1. However, a problem arises when lines have large slopes, i.e. Ñ . Duda and Hart

[3] solved the problem of an unbounded parameter space suggesting that straight lines might be more usefully  parametrized by the use of polar coordinates, i.e. the length  and the orientation of the normal vector to the

line from the image origin. Thus, a straight line is represented by the following equation:

= ÜcÓ× · Ý ×iÒ  (3) In the conventional implementation, The Hough transform essentially consists of three stages:

1. Characteristic point detection. Not all the image points are mapped to the parameter space. An in- formation reduction is performed in the image such that it preserves the shapes which are wanted to be detected. Thus, some pixels of the image are selected according to certain local properties (e.g. gradient magnitude and gradient orientation). Usually this preprocessing step is a local edge detector.

2. Transform mapping. Each characteristic point of the image space is mapped to the parameter space.

This parameter space is represented by a two-dimensional accumulator array (Ò-dimensional for detec- tion of higher-order shapes). A voting rule usually underlies the transform mapping. This voting rule

determines how the transform mapping affects the contents of the accumulator array. The simplest voting

; µ ´Ü; Ý µ rule is to increment the parameter points ´ mapped from an image point .

2 3. Peak detection. To extract the corresponding parameter values of the detected shape from the accumu- lator array. The simplest method consists in performing a global thresholding on the accumulator array. Since the presence of noise and distortion may result in true peaks splited between several accumulator cells and, thus, not detected, different kinds of clustering procedures are also applied.

Two types of Hough transform are usually distinguished depending on the representation which is used:

´Ü; Ý µ Ñ

¯ One to many (1-m). Each characteristic point of the image space is mapped to points in the

´Ü; Ý µ parameter space which represent the Ñ possible straight lines which passes through the point .

Thus, in an ideal case, a straight line in the image space formed by Ò points will be mapped to a point

; µ Ò

´ in the parameter space with an accumulation value equal to . Ñ

¯ Many to one (m-1). In this case, represents the number of points necesary to define, without ambi-

¾

ÁÊ guity, the parametric shape to be detected. As for straight lines, Ñ is equal to 2 since in the space

a straight line can be defined from two points. Hence, each pair of points of the image space is mapped

; µ to one point ´ in the parameter space which define the straight line passing through both image

points. Thus, in an ideal case, a straight line in the image space formed by Ò points will be mapped to an

Ò´Ò ½µµ=¾ accumulation point with value equal to ´ .

Fig. 1 illustrates the 1-m and m-1 SLHT. It can be observed, when the transformation is 1-m, that four

collinear image points result in four sinusoidal functions in the parameter space. These functions intersect in

; µ a point ´ defining the straight line shared by the four image points. On the other hand, when the m-1

transformation is computed, each pair of image points give a “vote” in the accumulator array. Thus, the peak

; µ ´ which defines the straight line will have a value of 6 in the accumulator array.

The 1-m and m-1 transformations are equivalent and it is a straightforward task to obtain each from the other.

Á ´; µ Ñ

Let ½ be the value of one point of the parameter space corresponding to the 1-m transformation, and

Á ´; µ ½ let Ñ be the value of one point of the parameter space corresponding to the m-1 transformation. The

following equations define their equivalence:

Á ´; µ

½Ñ

Á ´; µ=´Á ´; µ ½µ

½ ½Ñ

Ñ (4)

¾

Õ

Á ´; µ=b½· ¾ Á ´; µ c

Ñ Ñ½ ½ (5)

3 Extensions of the basic Hough transform

The basic Hough transform has been extended to more complex shapes. Two cases are studied in this section. First, higher-dimensional parametrized shapes as circles and ellipses can be detected by a very similar method than SLHT but with a parameter space with more . The main drawback of these methods is the increase in the number of dimensions which results in a larger storage requirements. We describe some software solutions proposed in the literature to overcome this problem. Secondly, some meaningful approaches which use the Hough transform to detect arbitrary shapes are reported. They work for shapes which can not be analytically represented.

3.1 Circles and ellipses

Ü; Ý µ

The use of the Hough transform to detect circles was first stated by Duda and Hart [3]. The points ´

Üc; Ý cµ Ö belonging to a circle characterized by its centre coordinates ´ and its radius can be represented by the

equation:

¾ ¾ ¾

Ü Ücµ ·´Ý Ýcµ = Ö ´ (6)

3 ρ

ρ=xcosθ+ysinθ

ρ i

θ θ 1-m i

ρ

y

ρ m-1 i

θ i θ

θ ρ i i x

Figure 1: 1-m and m-1 straight line Hough transform.

Ü; Ý µ

This equation indicates that a point ´ of the image space can be mapped to a cone surface in the

Üc; Ý c; Ö µ ´Ü; Ý µ ´ parameter space which represent all possible circles passing through . If the cones corre- sponding to many edge points intersect at a simgle point, then all the image points lie on the circle defined by those three parameters. Hough transform for circle detection can also be computed as a 1-m or m-1 transform. Fig. 2 illustrate these two possible transformations.

Similarly to circles, an ellipse can be parametrized by its centre coordinates, major and minor radii, and ori-

Üc;Ýc;a;b;µ

entation, i.e. ´ . Thus, Hough transform for ellipse detection requires a 5-dimensional parameter

= b = Ö  space. In general, a circle can be considered as a particular case of an ellipse where a , and is not

considered. However, circles have specially designed algorithms.

´ÑÒÊ µ

The conventional Hough transform for circle finding requires a 3-dimensional accumulator array of Ç

¢ Ò Ê cells, where Ñ is the image size and is the number of possible radii. The method is of course extremely computation intensive. The use of the gradients of the image points can reduce the memory requirements and

the computational load. Davies [2] used a standard to estimate the gradient for each image point.

Ü; Ý µ

A normal to the tangent to the circle at the point ´ will pass through the centre of the circle and make an

´Ü; Ý ;  µ

angle  with the horizontal axis. The data triples are mapped into a two dimensional parameter space

Üc; Ý cµ ´ as straight lines representing all possible centres. The intersection between many straight lines in this parameter space determine the centre coordinates of the circle. These values are then used to calculate a histogram of possible radius values. A similar method was developed by Kierkegaard [6] to detect circular arcs in images of industrial environments. Circular arc detection requires the computation of two additional parameters which define the angular orientation and size. It is performed by a histogramming procedure which accumulates the angles of the vectors from the image points to the center of the cicle which they belong. Yip et al. [12] proposed a variation of the Hough transform for circles and ellipses detection which only requires a 2-dimensional accumulator array. They use five geometric properties of symmetric points of an

ellipse to reduce the of the accumulator array. Each pair of image points with the same gradient

Üc;Ýc;a;b;µ define two parallel lines which may be considered as tangent to an ellipse. The parameters ´

4 r

(x-xc)2+(y-yc)2=r2

(xc,yc,rc) x

1-m r y

y (xc,yc,rc) m-1

x rc yc

y

xc x

Figure 2: 1-m and m-1 Hough transform for circle detection.

are computed from these two image points and considering the five geometric properties. A technique which

Üc;Ýc;a;b;µ

transforms the ellipse’s parameters ´ to a 2-dimensional format is introduced. This format consists

Üc; Ý c; a; b;  µ in transforming the parameters ´ to the four vertex positions of the corresponding ellipse (i.e. the intersections between the ellipse and the major and minor radii, respectively) which are accumulated in a 2- dimensional array. Hence, the ellipse parameters can be recovered by detecting the four vertex positions in the 2-dimensional array. To further investigate on a variety of circle detection methods which are based on variations on the Hough transform the reader is referred to the comparative study done by Yuen et al. [13].

3.2 Generalized shapes Various authors have developed variations on the Hough transform to detect shapes other than straight lines, circles and ellipses. The Hough transform has been extended to detect arbitrary shapes which can not be analytically represented. The work of Ballard [1] is a standard reference concerning to generalized shapes detection. It is called the Generalized Hough Transform (GHT). Ballard uses the directional information associated with each character- istic point, computed by an preprocessing, to detect arbitrary shapes. Given an idealized shape

(see Fig. 3), a reference point È is selected within it. Each boundary point of the shape can be represented 

by the distance Ö and the direction of the line connecting the boundary point and the reference point. These

Ö ´ µ ´ µ two values are represented as a fuctions of the local edge normal direction  , i.e. and , and stored in

a lookup table, called R-table. Given an image where to detect the shape, each edge point is attributed by the  direction  computed by a gradient operator. Using to index in the R-table, each point gives a “vote” for an

hypothetic reference point È . Thus, peaks will localize the shape under detection. This method works when shapes are of fixed orientation and scale, otherwise more than two parameters must be used for the description

5 of the shape. A comprehensive study about the GHT, its computational problems and solving techniques was done by Davies [2].

P

r

φ θ

Figure 3: Computation of the generalized Hough transform.

The detection of shapes combining the SLHT with the information reported by the lines tangent to the boundary shape is a widespread task. Leavers [7] analyzed the Hough space after applying the SLHT to images

of a circle, an ellipse and a straight lines respectively. Fig. 4 illustrates this experiment. Fig 4d represents the

; µ ´ space after applying the SLHT to the circle of Fig. 4a. Let us assume that the origin of the image space is the upper-left corner. If the parameter space of Fig. 4d is thresholded we obtain the set of points which represent the tangents to the circle. Thus, doing an inverse transformation from the thresholded parameter space, the circle could be reconstructed from the envelope of its tangents as shown in Fig. 4g. Squashing the circle results in an ellipse (Fig. 4b), but squashing for long enough the circle would result in a straight line (Fig. 4c). The effect on the parameter space is a squashing too of the two envelopes of the sinusoidal (see Fig. 4e for the case of the ellipse) until they meet at one only maximum value which represent the straight line (Fig. 4f). As for the circle, thresholding the parameter spaces of Figs. 4e and 4f and transforming them in a backprojection, the tangent lines to the shape are obtained in Figs. 4h and 4i, respectively. Notice that since a

straight line has only one tangent, a single peak is obtained in the parameter space of Fig. 4f.

; µ Using this idea of obtaining the tangents of a shape from its corresponding ´ space after computing the SLHT, Leavers [7] proposed an alternative method of shape detection which uses the Hough transform to decompose an edge image into its constituent shape primitives (straight lines and circular arcs). The parameters associated with those primitives are then used to build a symbolic representation of the shape under detection. This method uses the SLHT iteratively in order to extract first straight line features and then circular arcs. Another outstanding work concerning the use of the SLHT to generalized shape detection was developed by Pao et al. [10]. First, they analyze how translation, rotation and scale on the image space affects to the parameter space. Thus, they propose to decompose the SLHT parameter space into three subspaces, namely, the translation space, rotation space, and the intrinsic space. A second transform, which is called a signature of

the shape, is performed on the SLHT parameter space by computing the distances between pairs of points in the

; µ  ´ space that have the same value. This is equivalent to compute the perpendicular distances between pairs of parallel tangents to the curves. This signature has the following properties: 1) it is invariant to translation, 2) rotations in the image space correspond to circular shiftings of the signature and 3) it can be easily normalized. The recognition of a shape is performed by a one-dimensional correlation between the candidate signature and

the normalized model signature. The peak of this correlation also indicates the orientation of the object. Finally,

; µ ´Ü; Ý µ the location of the shape is obtained by an inverse transform from the ´ space to the space.

6 (a) (b) (c)

−ρ −ρ −ρ

θ θ θ

+ρ +ρ +ρ

(d) (e) (f)

(g) (h) (i)

Figure 4: Detecting circles, ellipses and straight lines in terms of their boundary tangent lines: (a)(b)(c) Original images, (d)(e)(f) SLHT from original images, (g)(h)(i) Backprojection from the parameter space to the image space.

7 4 Analysis of the Hough space

In this section we analyze how basic geometric transformations of a straight line affect to the SLHT parameter space. Certain configurations in the image space involve some of these basic transformations, for example a hatched pattern can be seen in terms of a straight line been translated at regular intervals. Hence, some particular configurations are described in terms of their SLHT and are their detection is shown as straightforward in the parameter space.

4.1 The effect of translation, rotation and scaling on the SLHT parameter space As has been described in the previous section, the SLHT can be used to detect arbitrary shapes. The recognition of a shape under translation, rotation and scale would involve, at a first glance, a parameter space with an increased number of dimensions. However, these basic geometric transformations of the image space only produce vertical and horizontal shifts of the corresponding SLHT parameter space which can be analytically

described. Pao et al. [10] interestingly analyzed how translation, rotation and scale on the image space affects

; µ

to the parameter space in order to decompose the SLHT parameter space into subspaces. Let us see the ´

´ µ   i

space as a multiple-valued function which maps each to all k corresponding to the corresponding 

parallel shape tangents of orientation i . Fig. 5 illustrates the effect on the Hough space of scaling, rotating and

translating a straight line in the image space. For each row of Fig. 5, the left-hand figure represents de image

; µ

space and the right-hand figure represents the ´ parameter space.

Ä ´ µ  = ÜcÓ× · Ý×iÒ

¼ ¼ Let and be a straight line which satisfies the equation ¼ and its corresponding

SLHT, respectively. As illustrates Fig. 5 the following transformations are successively performed on Ä:

Ë Ä

¯ Scaling by a factor . Scaling with regard to the image origin represents a shift of its correspond-

 ´ ; µ

¼ ¼

ing point in the Hough space along the direction ¼ , Thus the point of the parameter space is

´ ; µ  =   = Ë

Ë Ë ¼ Ë ¼

transformed to the point Ë , where and .

¯   ´ ; µ Ë

Rotating by an angle of degrees. If the image is rotated by an angle , then the point Ë is

´ ; µ Ê

mapped to Ê such that:

´

Ó

  · <½8¼

Ë Ë

Ó if

 =´ · µ ½8¼  =

Ë Ê

Ê mod and

Ó

  ·   ½8¼ Ë

Ë if

Ó

; µ   ½8¼

Notice that a straight line ´ such that is represented in the parameter space by the point

Ó

 ½8¼ ; µ

´ .

¯ ´Ü ;Ý µ ´Ü ;Ý µ

Ì Ì Ì

Translating by a vector Ì . An image being translated by a vector results in a vertical

´ ; µ ´ ; µ

Ê Ì Ì shift of each parameter space column. Thus, the point Ê is translated to the point such

that:

 =   = Ø cÓ×´ «µ·

Ê Ì Ê Ê

Ì and

Õ

½

¾ ¾

Ø = Ü · Ý « =ØaÒ ´Ý =Ü µ Ì

where and Ì (see Fig. 5 for a graphical illustration).

Ì Ì

 ´ µ

In summary, given a function ¼ representing the SLHT of a shape, if the shape is scaled, rotated and

translated, the SLHT is given by:

¼

 ´ µ=Ø cÓ× ´ «µ·Ë ×ig Ò  ´ µ

¼ (7)

×ig Ò =½    ×ig Ò = ½ Ø cÓ× ´ «µ

where Ë is the scaling factor, if and otherwise. Pao et al. [10] called

Ë ×ig Ò  ´ µ

the translation term and ¼ the intrinsic term.

8 Figure 5: Effect of geometric transformations of a straight line on the SLHT parameter space.

9 4.2 Using the SLHT to detect particular layouts In section 3.2 we have described some works which develop methods to detect arbitrary shapes with SLHT- based approaches. This proves the reliability of the SLHT to detect not only straight lines but also more complex shapes. To reach this goal, an analysis of the peak configuration that the shape under recognition produces on the parameter space must be performed. In this section we study the effect on the parameter space of two particular line configurations. First, the detection of parallel straight lines is proved to be straightforward in the parameter space. Second, we describe the work of Wahl [11] which developed a SLHT-based method to interpret 3D polyhedral scenes.

4.2.1 Parallel straight line detection The detection of parallel straight lines placed at regular intervals is one of the purposes of the present disserta- tion. In graphical document analysis it is an important task because documents belonging to different domains

often contain hatched regions with particular meanings. A hatched pattern can be defined as a sequence of Á

fÐ =´ ; µ :  =  ; ·¡ =  ;i=½;::: ;Á ½g ¡

i i i i·½ i  i·½  straight lines in the image space i where is a constant value which characterizes the spatial frequence of the hatched pattern. The effect on the parameter space of the SLHT of a hatched pattern is illustrated in Fig. 6. Fig. 6a shows the image space with an ideal hatched pattern, and Fig. 6b shows the parameter space after a SLHT has been applied. Notice that a sequence of peaks which are vertically aligned and regularly placed is obtained. Thus, parallel straight lines could be detected by a double SLHT: first a SLHT applied to the image space, and a second SLHT from the parameter space in order to detect collinear peaks. However, a more intelligent processing can

be done on the parameter space by computing the distances between pairs of points having the same  values.

´; ¡ µ

This is what Pao et al. [10] called signature of the shape. A peak  in the signature space will represent a hatched pattern characterized by the orientation and increment defined by the peak coordinates.

−ρ

θ

(a) (b)

Figure 6: Parallel lines detection using the SLHT: (a) Image space, (b) Hough space.

10 4.2.2 Scene analysis Wahl [11] proposed an interesting work to interpret 3D scenes of polyhedral objects. The work is based on a structural analysis of cluster patterns in Hough space. He used the (slope, intercept)-parameter space as defines Eq. 1 on which images of 3D polyhedral objects are transformed. He state the following structural properties of the Hough space to derive object features (see also Fig. 7):

¯ A cluster in the parameter space corresponds to a line or a set of collinear lines in the image space, i.e. to an edge or a set of collinear edges in the 3D scene.

¯ Vertically aligned clusters in the parameter space correspond to parallel lines in the image space (edges

in the 3D scene). This property has already been described above for hatched pattern detection.

Ò Ò  ¿ Ò ¯ collinear clusters in the parameter space ( ) correspond to lines joining at a point in the image

space, i.e. a vertex in the 3D scene. Ò

¯ collinearities of clusters in the parameter space sharing one cluster correspond to one line intersected Ò by at least two lines at Ò different locations in the image space, i.e. to collinear vertices in the 3D scene.

A 3D scene can be reconstructed from the parameter space by coherently combining these basic cluster configurations (see the example of Fig. 7). The algorithm starts by looking at the parameter space for cluster collinearities constructing a structure called Hough net. Based on the analysis of the Hough net in terms of the basic structural configurations, hypotheses about the 3D interpretation are inferred and represented as an attributed graph structure. Finally, the graph representing the input scene is compared with a set of models by a subgraph isomorphism procedure.

Figure 7: Detecting polyhedral objects by configuration analysis of the Hough space [11].

5 Concluding Remarks

In this chapter, an overview of the Hough transform for image analysis has been reported. The Hough transform was first used to detect straight lines in images but later it was extended to other parametrized shapes such as circles and ellipses. The Hough transform has also been used to detect arbitrary shapes. The first contribution

11 was the Generalized Hough Transform proposed by Ballard [1] and, later, meaningful SLHT-based methods to detect arbitrary shapes were developed. The Hough idea consists in converting a spatially sparse information of an image space to a clustered information in a parameter space. It has been applied to different applications and presently it is an active research field. Reseach trends are going towards either the improvement of the existing techniques to reach lower computational and storage costs, their parallelization, or to develop new algorithms for image analysis. After describing the main Hough-based techniques for parametrized shapes detection, we have focused our study on the SLHT-based methods either to detect arbitrary shapes or to detect particular structural configu- rations in the image space. Some of the ideas reported by these SLHT-based methods are used in [9] for the recognition of hatched patterns in distorted plan documents.

References

[1] D.H. Ballard. Generalizing the Hough transform to detect arbitrary shapes. Pattern Recognition, 13(2):111–122, 1981.

[2] E.R. Davies. Machine Vision. Academic Press Limited, 1990.

[3] R.O. Duda and P.E. Hart. Use of the Hough transform to detect lines and curves in pictures. Communica- tions of the Association for Computing Machinery, 15:11–15, 1972.

[4] P.V.C. Hough. Method and means for recognising complex patterns. Technical report, 1962. U.S. Patent No. 3069654.

[5] J. Illingworth and J. Kittler. A survey of the Hough transform. CVGIP: Image Understanding, 44:87–116, 1988.

[6] P. Kierkegaard. A method for detection of circular arcs based on the Hough transform. Machine Vision and Applications, 5(4):249–263, 1992.

[7] V.F. Leavers. Shape Detection in Computer Vision Using the Hough Transform. Springer-Verlag, 1992.

[8] V.F. Leavers. Which Hough transform? CVGIP: Image Understanding, 58(2):250–264, Sep 1993.

[9] J. Llad´os. Combining Graph Matching and Hough Transform for Hand-Drawn Graphical Document Analysis. Application to Architectural Drawings. PhD thesis, Universitat Aut`onoma de Barcelona and Universit´e de Paris 8, 1997.

[10] D. Pao, H.F. Li, and R. Jayakumar. Shapes recognition using the straight line Hough transform: Theory and generalization. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(11):1076–1089, Nov 1992.

[11] F.M. Wahl. Deriving features from Hough space for object recognition and configuration estimation. In J.C. Simon, editor, From Pixels to Features, pages 141–152. Elsevier Science Publishers B.V. (North- Holland), 1989.

[12] R.K.K. Yip, P.K.S. Tam, and D.N.K. Leung. Modification of Hough transform for circles and ellipses detection using a 2-Dimensional array. Pattern Recognition, 25(9):1007–1022, 1992.

[13] H.K. Yuen, J. Princen, J. Illingworth, and J. Kittler. Comparative study of Hough transform methods for circle finding. Image and Vision Computing, 8(1):71–77, Feb 1990.

12