11
Generalized Perpendicular Bisector and exhaustive discrete circle recognition Eric Andres , Gaëlle Largeteau-Skapin, Marc Rodríguez Laboratory XLIM-SIC, University of Poitiers, BP 30179, UMR CNRS 6712, 86962 Futuroscope Chasseneuil Cedex, France article info Article history: Available online 21 July 2011 Keywords: Discrete geometry Perpendicular bisectors Circumcenter Digitization models Discrete circles Circle recognition Arc recognition abstract This paper presents a generalization of the notion of circumcenter as the intersection of perpendicular bisectors. We define Generalized Perpendicular Bisectors between two regions as an area where each point is the center of at least one circle crossing both regions. This allows us to determine all the possible discrete circle centers that cross a given set of pixels. The possible radii can then easily be determined. This exhaustive digital circle parameter computation is adapted to various types of circles/digitization schemes such as Naïve, Pythagorean and standard/supercover circles. Ó 2011 Elsevier Inc. All rights reserved. 1. Introduction Discrete primitive recognition is one of the longest studied problems in pattern recognition. Recently, within the discrete geometry community, there has been an in- creased interest for the discrete circle/circular arc recogni- tion problem. This comes partly from the new insight in the analytical description of discrete circles and partly from an increasing interest in differential aspects of dis- crete analytical geometry. In this paper we consider the problem of discrete arc and discrete circle recognition from a parameter point of view. We are looking for all the con- tinuous circles that digitized correspond to a given set of pixels. The parameters are the coordinates of the center and the radius. The thickness of the circle can be another parameter that we haven’t addressed in this paper. Classi- cally, parameter space approaches are used for circle rec- ognition [1]. The problem with these Hough transform type approaches is that there are three parameters (abscis- sa, ordinate of the center and radius) which makes it a three dimensional accumulator matrix. Various methods have been proposed to circumvent this problem [2]. These methods however are adapted for circle recognition in image analysis but not so much for problems such as invertible reconstruction. The discrete geometry commu- nity works for many years now on the problem of 2D and 3D invertible reconstruction of discrete objects. Digiti- zation is the transform that associates a discrete object to a continuous one. Reconstruction is the transform that associates a continuous object to a discrete one. A recon- struction method is invertible if the digitization of the reconstructed object is equal to the original discrete object. Straight line segment recognition has been the main focus of research when it comes to invertible reconstruction [3–6]. There are several aspects to the analytical recognition problem. Firstly, it depends on the digitization method. Changes in the definition of a discrete circle may change the outcome of a specific recognition algorithm. A set of pixels might be a circular arc for one type of discrete circle and not for another. This is often overlooked as most algo- rithms only focus on one type of circle. Secondly, there are various types of recognition methods that yield different levels of information: the first type of algorithm simply answers the question of whether a given set of pixels 1524-0703/$ - see front matter Ó 2011 Elsevier Inc. All rights reserved. doi:10.1016/j.gmod.2011.06.005 Corresponding author. E-mail address: [email protected] (E. Andres). Graphical Models 73 (2011) 354–364 Contents lists available at ScienceDirect Graphical Models journal homepage: www.elsevier.com/locate/gmod

Generalized Perpendicular Bisector and exhaustive discrete circle recognition

Embed Size (px)

Citation preview

Page 1: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

Graphical Models 73 (2011) 354–364

Contents lists available at ScienceDirect

Graphical Models

journal homepage: www.elsevier .com/locate /gmod

Generalized Perpendicular Bisector and exhaustive discretecircle recognition

Eric Andres ⇑, Gaëlle Largeteau-Skapin, Marc RodríguezLaboratory XLIM-SIC, University of Poitiers, BP 30179, UMR CNRS 6712, 86962 Futuroscope Chasseneuil Cedex, France

a r t i c l e i n f o a b s t r a c t

Article history:Available online 21 July 2011

Keywords:Discrete geometryPerpendicular bisectorsCircumcenterDigitization modelsDiscrete circlesCircle recognitionArc recognition

1524-0703/$ - see front matter � 2011 Elsevier Incdoi:10.1016/j.gmod.2011.06.005

⇑ Corresponding author.E-mail address: [email protected] (E. An

This paper presents a generalization of the notion of circumcenter as the intersection ofperpendicular bisectors. We define Generalized Perpendicular Bisectors between tworegions as an area where each point is the center of at least one circle crossing both regions.This allows us to determine all the possible discrete circle centers that cross a given set ofpixels. The possible radii can then easily be determined. This exhaustive digital circleparameter computation is adapted to various types of circles/digitization schemes suchas Naïve, Pythagorean and standard/supercover circles.

� 2011 Elsevier Inc. All rights reserved.

1. Introduction

Discrete primitive recognition is one of the longeststudied problems in pattern recognition. Recently, withinthe discrete geometry community, there has been an in-creased interest for the discrete circle/circular arc recogni-tion problem. This comes partly from the new insight inthe analytical description of discrete circles and partlyfrom an increasing interest in differential aspects of dis-crete analytical geometry. In this paper we consider theproblem of discrete arc and discrete circle recognition froma parameter point of view. We are looking for all the con-tinuous circles that digitized correspond to a given set ofpixels. The parameters are the coordinates of the centerand the radius. The thickness of the circle can be anotherparameter that we haven’t addressed in this paper. Classi-cally, parameter space approaches are used for circle rec-ognition [1]. The problem with these Hough transformtype approaches is that there are three parameters (abscis-sa, ordinate of the center and radius) which makes it athree dimensional accumulator matrix. Various methods

. All rights reserved.

dres).

have been proposed to circumvent this problem [2]. Thesemethods however are adapted for circle recognition inimage analysis but not so much for problems such asinvertible reconstruction. The discrete geometry commu-nity works for many years now on the problem of 2Dand 3D invertible reconstruction of discrete objects. Digiti-zation is the transform that associates a discrete object to acontinuous one. Reconstruction is the transform thatassociates a continuous object to a discrete one. A recon-struction method is invertible if the digitization of thereconstructed object is equal to the original discrete object.Straight line segment recognition has been the main focusof research when it comes to invertible reconstruction[3–6].

There are several aspects to the analytical recognitionproblem. Firstly, it depends on the digitization method.Changes in the definition of a discrete circle may changethe outcome of a specific recognition algorithm. A set ofpixels might be a circular arc for one type of discrete circleand not for another. This is often overlooked as most algo-rithms only focus on one type of circle. Secondly, there arevarious types of recognition methods that yield differentlevels of information: the first type of algorithm simplyanswers the question of whether a given set of pixels

Page 2: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

E. Andres et al. / Graphical Models 73 (2011) 354–364 355

corresponds or not to the digitization of a continuous circle.It does not provide any parameters of the continuous circleit may correspond to. The second type of algorithm pro-vides the parameters of one continuous circle correspond-ing to the set of pixels that is analyzed. A discrete circlecan be seen as an equivalence class for all the continuouscircle which can be discretized as this discrete circle. Thistype of algorithm picks one member of this class as answer.Quite often, the answer corresponds to the circle with aninteger coordinate center and integer radius. Many ap-proaches consist in searching for a 3D point belonging tothe intersection of 2n half-spaces in the parameters space,that is the (Cx, Cy, r)-space where (Cx, Cy) is the center ofthe circle and r the radius [7–9]. Other papers project intothe (Cx, Cy, r)-plane. The problem consists then in searchingfor a 2D point belonging to the intersection of n2 half-planes(let us cite Refs. [10,11] among the different papers withthis approach). When considering the dual of the parameterspaces, the problem corresponds to a separation problem oftwo sets in 3D by a plane [7,12]. These approaches may leadto more than one solution even though usually only onesolution is given. Providing all the solutions for the recogni-tion problem corresponds to the third type of methods: allthe possible centers and all the corresponding radii of thecontinuous circles that discretized contain the set of ana-lyzed pixels. This is what we propose in this paper. Thestarting point of this work is the definition of a perpendic-ular bisector for discrete space. In Euclidean geometry, theintersection of the perpendicular bisectors of three pointsdefines the circumcenter of the circumcircle. In this paperwe consider the problem of defining a perpendicular bisec-tor adapted to discrete space for discrete circle recognitionpurposes. Bisectors appear several times in the literaturewith usually a definition based on notion of equidistance.It is typically used to analyze and filter the medial axis[13,14]. The medial axis of a Jordan curve is in any pointequidistant to its borders. Bisectors between points andcurves or between two curves have also been discussed indetail in the literature [15,16] but to our knowledge, no def-inition for the bisector between two coplanar surfaces suchas pixels has been proposed so far.

There are various ways of considering points in discretegeometry. This is directly related to the way a continuousobject is digitized. We are going to consider here digitiza-tion schemes based on distances (in our case the Euclidean,the Manhattan and the Tchebychev distances). The unitspheres for these distances define regions which we willuse to define our Generalized Perpendicular Bisectornotion. We are therefore extending the notion ofperpendicular bisector as the bisector between two re-gions. The Generalized Perpendicular Bisector of two 2Dregions A and B is defined as the union of the perpendicularbisectors of all couples of points (p, q) where p and q arerespectively points of the regions A and B. This new defini-tion extends the main property of the Euclidean perpendic-ular bisector of two points that is to be equidistant to bothpoints. However, contrary to a Voronoï diagram, theGeneralized Perpendicular Bisector is a surface and notsimply a line. The new definition also extends thecircumcircle property. For n regions, the intersection ofall the Generalized Perpendicular Bisectors defines the

Generalized Circumcenter and corresponds to the centerof all the circles that cross all n regions. The definition isgeneral and fits all type of regions and can be easily ex-tended to higher dimensions. It gets however complicatedvery fast as illustrated in the paper with the GeneralizedPerpendicular Bisector of two disks for the Pythagoreandigitization scheme which is a hyperbola. Even for pixels,the Generalized Perpendicular Bisector is a complicated re-gion bordered by straight line segments and pieces ofparabolas. We propose a simplification that can be usedfor a more practical approach in circle recognition.

The starting point of this paper is the definition of theGeneralized Perpendicular Bisector and GeneralizedCircumcenter between two regions. We examine theproperties that are extended from usual perpendicularbisectors. In section three, we consider the problem ofcircle recognition and exhaustive computation of the circleparameters. Different digitization schemes are considered.We then conclude with some open questions andperspectives.

2. The Generalized Perpendicular Bisector andCircumcenter

In this section we will propose a generalization of thenotion of perpendicular bisector and the related circum-center. Several properties of the Generalized PerpendicularBisector (GPB) and the Generalized Circumcenter (GC) areproposed.

2.1. Definitions

The perpendicular bisector of two points p and q in Rn

corresponds to all the points that are equidistant to bothpoints. In nD, the perpendicular bisector is a hyperplanethat is perpendicular to the straight line pq and that passesthrough its midpoint. The idea here is to replace p and q byregions. This defines the Generalized Perpendicular Bisec-tor (see Fig. 1). In our case we consider finite connectedregions. Most of what is presented here is also validfor infinite or disconnected regions. However, since weare mainly interested in pixels in images, consideringthat the regions are finite and connected is not veryrestrictive.

Definition 1 (Generalized Perpendicular Bisector (GPB)). LetS1 and S2 be two connected finite regions. The GeneralizedPerpendicular Bisector (GPB) of S1 and S2 is the union of allthe perpendicular bisectors of each couple of point (X, Y)where X 2 S1 and Y 2 S2.

For two points p and q, a point r of the perpendicularbisector is equidistant to both points p and q and r is there-fore the center of a hypersphere that passes through bothpoints. This leads to an alternative definition of the Gener-alized Perpendicular Bisector:

Definition 2 (Alternative definition of the GPB). Let S1 andS2 be two finite connected regions. Let diðXÞ ¼minðdðX;SiÞÞ and DiðXÞ ¼maxðdðX;SiÞÞ where d is the classical

Page 3: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

S1

S2

S1

S2

S1

S2B

A

Fig. 1. A Euclidean couple of points has only one perpendicular bisector but a couple of regions has an infinity of bisectors.

Fig. 2. The Generalized Perpendicular Bisector and Generalized Circumcenter of {(0, 0), (2, 6), (6, 3)}.

356 E. Andres et al. / Graphical Models 73 (2011) 354–364

Euclidean distance. Every Euclidean point X 2 Rn such thatthe intervals:

d1ðXÞ;D1ðXÞ½ �\

d2ðXÞ;D2ðXÞ½ � – ;

belongs to a region called the Generalized PerpendicularBisector of S1 and S2.

These two definitions are equivalent and yield the samearea. This second definition shows that, for each point of theGeneralized Perpendicular Bisector, there is an interval ofradii for which hyperspheres centered on the point willcut both regions.

The Euclidean circumcenter of a set of Euclidean pointsis defined by the intersection of all the perpendicularbisectors from pairing the points 2 � 2. Its main propertyis to be the center of the circle passing through all thepoints of the set. This naturally extends for GeneralizedPerpendicular Bisectors.

Definition 3 (Generalized Circumcenter (GC)). The General-ized Circumcenter (GC) of set of n finite and connectedregions S ¼ ðSiÞi2½1;n� is the intersection of the GeneralizedPerpendicular Bisectors (GPB) of every two regions of theset:

GCðSÞ ¼\

i;j2½1;n�;i<j

ðGPBðSi; SjÞÞ

The GC is defined as the intersection of the GPB of a finiteset of regions. One can consider infinite sets of regionswithout much of a problem (one has to be a little bit carefulwhen using the Helly Theorem in proof of Theorem 1). Inpractice however the sets are usually finite. We can see inFig. 2 the Generalized Circumcenter of three pixels (squaresurfaces) and in Fig. 3 the Generalized Circumcenter of fourpixels. In this case we consider the Supercover/Standarddigitization model [17]. Fig. 4 shows all the circles thatcross the pixels (0, 0), (2, 6) and (6, 3).

2.2. Properties

The Generalized Perpendicular Bisector (GPB) of twofinite connected regions is not a straight line but an infi-nite set of straight lines that forms a region which is con-nected, infinite and usually not convex. The shape of theGeneralized Perpendicular Bisector depends on the shapeof both regions. For example, let C1 = (O1, r1) and C2 =

Page 4: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

Fig. 3. The Generalized Perpendicular Bisector and Generalized Circumcenter of {(0, 0), (2, 11), (6, 2), (8, 6)}.

E. Andres et al. / Graphical Models 73 (2011) 354–364 357

(O2, r2) be two disks. The Generalized Perpendicular Bisec-tor of both disks is a region bordered by a hyperbola (seeFig. 10). The GPB is in general a complicated object as wewill see for two square regions in the Supercover or Naïvedigitization. The GPB has already been studied usuallywith regions such as point/curve, curve/curve [15]. Aparticular application field can be found in geometricdesign [18].

From the definition of the GPB we can deduce someimmediate properties:

Property 1. The Generalized Perpendicular Bisector of twooverlapping regions is the whole space even if they only shareone point.

Proof. The bisector of two identical points is not defined ifwe consider the perpendicular line passing through themidpoint of the two points. If we consider the equidistancedefinition however it is easy to see that every point of thespace is equidistant to both points. h

Property 2. Each point of the Generalized PerpendicularBisector of two regions is the center of a hypersphere crossingboth regions.

These two properties are a direct consequence of theGeneralized Perpendicular Bisector definition and have al-ready been proposed in Ref. [19].

An important property of the Generalized Circumcen-ter is the existence of a hypersphere that intersects allthe regions at once. All the points in the GeneralizedCircumcenter of a set of a finite, connected regions arethe center of at least one hypersphere crossing everytwo regions of the set. That does not automaticallymean that there exists a hypersphere (i.e. in this casewe are looking for a radius) that crosses every regionof the set. Actually it does as the following theoremshows:

Theorem 1 (Hypersphere existence). If the Generalized Cir-cumcenter GC of a finite set of regions S is not empty, then forall X 2 GCðSÞ there exists at least one hypersphere centeredin X that crosses all the regions of the set S.

Proof. This result is the direct application of Helly’s theo-rem [20]. Let us briefly recall what Helly’s theorem says:Let us suppose that we have a finite collection of n convexsubsets of Rd with n > d. If the intersection of every d + 1 ofthese sets is nonempty, then the whole collection has a

Page 5: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

Fig. 4. The pixels {(0, 0), (2, 6), (6, 3)}, the GC and all the circles that cross those pixels. In black, one example of such a circle (its center is the black dot in theGC).

358 E. Andres et al. / Graphical Models 73 (2011) 354–364

nonempty intersection. In our case we are looking for acommon radius R such that there is a hypersphere centeredin a point X 2 GCðSÞ with radius R that crosses all theregions of S. Let us consider a point X 2 GCðSÞ. For eachregion Si of S, there is a closed interval of radii Ri =[dmin(X, Si), dmax(X, Si)] with dmin(X, Si) the minimal dis-tance between X and Si and dmax(X, Si) the maximal dis-tance between X and Si. X is point of GCðSÞ and thereforeevery two intervals Ri and Rj with i < j have an intersection.We can therefore apply Helly’s theorem in R which provesour theorem. h

Property 3. The Generalized Circumcenter of a set of regions{Si} is infinite if and only if there exists a hyperplane that cutsall the regions Si.

Fig. 5. when the pixels are aligned, the Generalized Circumcenter (darkregion) is infinite and not connected. The pixels are marked in black.

Proof. If there exists a hyperplane that cuts all the regionsthen a center that is at the infinite, perpendicular to thehyperplane, defines a hypersphere that cuts all the regions.It belongs thus to the Generalized Circumcenter. If such ahyperplane does not exist then a hypersphere that cutsall regions has necessarily a finite radius and thus a centerthat is not at the infinite making the Generalized Circum-center finite. h

An example of an infinite Generalized Circumcentercan be seen in Fig. 5 with three regions (pixels in thiscase) and the corresponding Generalized PerpendicularBisectors.

Page 6: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

E. Andres et al. / Graphical Models 73 (2011) 354–364 359

3. Circle recognition and parameter estimation

We are now considering objects from discrete spaces.While the Generalized Perpendicular Bisector is definedin arbitrary dimensions, we are going to focus on dimen-sion two. We are going to consider regions that correspondto various discrete analytical models: squares for Naïve(such as the Bresenham circle [21]) and Supercover circles,circular disks for Andres circles [22]. We are consideringvarious types of circles because it is important that, whenrecognizing a discrete primitive and estimating its param-eters, we know what we are actually recognizing. There arevarious types of discrete circles from different analyticalmodels. Our recognition and parameter estimation methodworks for all known classical type of discrete circles. Let usfirst recall some elements on the different type of circleswe are considering here.

3.1. Recall on discrete analytical models

We are going to consider here discrete analytical mod-els based on a distance d. Let us consider a Euclidean objectE. The digitization Dd(E) of E according to the discrete ana-lytical model associated to d is defined by:

DdðEÞ ¼ p 2 Z2jdðp; EÞ 6 12

� �

These type of digitizations are particularly interesting be-cause they form coherent digitization models with a globaldefinition. For classical distances such as the Manhattandistance d1, the Euclidean distance d2 or the Tchebychevdistance d1, it allows to describe the primitives analyti-cally with a global definition. There are also some basicdefinitions that are very useful when constructing objectsin the discrete world such as, for E, F two Euclidean objects,Dd(E [ F) = Dd(E) [ Dd(F) (see Ref. [17] for more details onthe standard analytical model, Ref. [23] for details on theSupercover analytical model). A recent paper [24] givesthe analytical description of most if not all digital circlesthat appear in the literature.

There is an equivalent definition for the digitizationscheme where regions appear. An equivalent definitionis based on the unit sphere Bd(1) of diameter one forthe distance d. The discretization can be written asfollow:

DdðEÞ ¼ fp 2 Z2jðBdð1Þ � pÞ\

E–øgwhere Bdð1Þ is the pixel region: and A

� B¼ aþ b; a 2 A; b 2 B is the Minkowski sum

The pixel region is the region that is associated to eachpixel of the discrete circle we are trying to analyze. Thediscretization models we are going to consider are, firstlythe Supercover/Standard models based on the distance d1(see Refs. [17,23]). Then the Naïve model which is, in 2D,from the computation point of view similar to the Super-cover/Standard models. The Pythagorean model is basedon the distance d2. Let us start with the general principalof the circle recognition and parameter estimationalgorithm.

3.2. Circle/circular arc recognition and parameter estimation

From the properties of the Generalized PerpendicularBisector and the Generalized Circumcenter, for a given cir-cle type, we can give the general idea for a circle/circulararc recognition algorithm that provides all the parametersof the discrete circle/circular arc. By parameter estimation,we mean all the possible centers, the Generalized Circum-center region, from which one can compute all the possi-ble radii of the Euclidean circles that, once digitized,contain the set of pixels we were analyzing. We do notdifferentiate the recognition of a circle or a circular arc.There is of course a difference but not a very importantone from the algorithmic point of view. Once the circleparameters are computed for a circular arc, the end pointsof the arc are easy to compute. As we mentioned in theprevious section, the circle/circular arc recognition andparameter estimation depends on the type of circles weare considering. The same set of pixels can be recognizedas a circle/circular arc of a certain type and not of anothertype. It can also be recognized as circles/circular arcs fordifferent type of circles/circular arcs but with differentparameters.

In what follows we describe a method for recognition ofa specific type of discrete circles. For a discrete point p, Re-gion(p) corresponds to the pixel region associated to thedigitization model for the type of circle we are considering(see Algorithm 1).

Algorithm 1. Circle recognition and center localizationalgorithm

The complexity of the algorithm depends on the com-2

plexity of the pixel region intersections times n . This does

not make it a very efficient algorithm. It yields however theGeneralized Circumcenter region where all the centers ofall the circles that cut all the regions corresponding tothe pixels of the discrete circle. If the Generalized Circum-center is not empty then we have recognized a discrete cir-cle of the considered type otherwise the set of pixels doesnot correspond to such a circle. The previous algorithmprovides a region where all the centers are located but doesnot provide the corresponding radii. The radii can be com-puted easily for a given point in the Generalized Circum-center (see Algorithm 2).

Page 7: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

360 E. Andres et al. / Graphical Models 73 (2011) 354–364

Algorithm 2. Radii Estimation for a point r with a set ofpixels P

Except of course in particular complicated cases, the

computation of the smallest distance and the biggest dis-tance between a point and a pixel region should be donein constant time. The algorithm to determine the radii fora given point c can thus be conducted in linear time. Notethat if we want to know if a specific point c can be the cen-ter of a circle for the set of pixels we are analyzing, the cir-cle recognition and the radii estimation can be conductedby the ‘‘Radii Estimation’’ algorithm. If the radii intervalis empty then the set of pixels does not correspond toany circle of center c.

Let us now examine different circle types and see howthis influences the complexity of these algorithms. Let usfirst consider circle definitions based on the Tchebychevdistance d1.

3.3. Supercover and Standard circle recognition andparameter estimation

In this section we consider the Supercover or Standarddigitization models. These digitization models have beenstudied in Refs. [17,23]. The Standard digitization modelis simply a variant of the Supercover model. They are basedon the Tchebychev distance d1 and the corresponding pix-el region is a square of side one, exactly a pixel. The pixelregion is the unit square region centered on a Z2 point:fðx; yÞ; x 2 xi � 1

2 ; xi þ 12

� �and y 2 yi � 1

2 ; yi þ 12

� �g. This

makes the Supercover discretization model known for asome time [25]. The discretization of a Euclidean objectcorresponds to the center of all the pixels this object cuts.In the following, we explain how the Generalized Perpen-dicular Bisector between two pixels can be piecewise com-puted (here pixels and pixel region are the same). In Ref.[24], the reader will find the analytical description of thesupercover and standard circles.

Proposition 1 (Pixel Region GPB). Let us consider two pixelsP1 (x1, y1) and P2 (x2,y2) be two pixels. The GPB(P1,P2) is eitherthe whole space or is bounded by straight line segments, half-lines and parabola segments.

Proof. If the two pixels are 4-connected or 8-connectedthen they share common points and thus all the points of

space are equidistant from both pixels. The GeneralizedPerpendicular Bisector is the whole space in this case. Letus suppose for what follows that the pixels P1 and P2 arenot neighbors. In this case, the GPB is a region. Let us provethat this region is bounded by straight line segments, half-lines and parabola segments. Let us now consider a pointXðx; yÞ 2 R2 and let us examine at what condition X belongsto the boundary of the GPB of two pixels. According to def-inition 2, we need d1(X) = min(d(X, P1)), D1(X) =max(d(X, P1)), d2(X) = min(d(X, P2)) and D2(X) = max(d(X,P2)). We can see in Fig. 6 that the point of the pixel P thatis closest to X can be either: X itself if X belongs to the pixelP, a point on an edge of P if X can be orthogonally projectedon an edge of P or a vertex of P in all the other cases. Thepoint F of the pixel P that is farthest from X is always avertex of P.

Each pixel splits the space into 16 areas and so two nonaligned pixels divide space in at most 49 areas where eacharea has a different formula for d1(X), d2(X), D1(X), andD2(X) (with symmetries).

Let us first consider the case where X(x, y) is in areasuch that it does not project vertically or horizontally onone of the two pixels, i.e. x R [xi � 1/2, xi + 1/2] andy R [xi � 1/2, xi + 1/2] for i 2 1, 2. The point X belongs tothe boundary of the GPB iff d1(X) = D2(X) or d2(X) = D1(X).Let Ci(Cix, Ciy) with Cix ¼ xi þ s � 1

2 ; Ciy ¼ yi þ t � 12 and s = ±1,

t = ±1 be the closest point of X in the pixel Pi and letFi(Fix, Fiy) with Fix ¼ xi � s � 1

2 ; Fiy ¼ yi � t � 12 be the furthest

point of X in Pi. In each area, a constraint di = Dj can bewritten:ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiðx� Cix Þ

2 þ ðy� Ciy Þ2

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiðx� Fjx Þ

2 þ ðy� Fjy Þ2

q

The constraints can then be reduced to half-planesinequalities of type ax + by + c 6 0 where a; b; c 2 R. Onecan see easily that for equations such as (x � xi � s/2)2 + (y � yi � t/2)2 = (x � xj � s0/2)2 + (y � yj � t0/2)2 withs, s0, t, t0 2 �1,1 that the x2 and y2 can be eliminated fromthe equation. For example, for the first case of Fig. 6, wehave C1 ¼ x1 þ 1

2 ; y1 � 12

� �; F1 ¼ x1 � 1

2 ; y1 þ 12

� �and

C2 ¼ x2 � 12 ; y2 þ 1

2

� �; F2 ¼ x2 þ 1

2 ; y2 � 12

� �. The distance

constraint d1 = D2 is therefore:ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffix� x1 þ

12

2

þ y� y1 �12

2s

¼

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffix� x2 þ

12

2

þ y� y2 �12

2s

() 2ðx2 � x1Þxþ 2ðy2 � y1Þyþ x21 � x2

2 þ x1 � x2�

þ y21 � y2

2 � y1 þ y2

�¼ 0

In the other areas, we are at least in one of these casesCix ¼ x; Cjx ¼ x; Ciy ¼ y or Cjy ¼ y. There are no simplifica-tions during the calculation, the constraints correspondto pieces of parabolas of the form:

ða1xþa2yÞ2þbxþcyþ d6 0 where a1 ¼ 0 or a2 ¼ 0 �

Fig. 2 shows an example of circumcenter of three re-gions defined by the Tchebychev distance (unitary squaredregions). Fig. 4 shows all the corresponding circles. Fig. 7

Page 8: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

P1

P1

P2

P1

P2

d1

D1

d2

D1

d2

D2

D1D2

d2

P2

P2P1

d2d1

D1

d1

P1

2P

X

d

Dd

X

P

P

2

1

d D

D

d

D

1

1

22

1

1

22

XX

1d

X X

D

D2

2

Fig. 6. X is a possible circle center if [d1(X), D1(X)]T

[d2(X), D2(X)] – ;.

E. Andres et al. / Graphical Models 73 (2011) 354–364 361

illustrates the GC with the maximal radius at each point fora set of pixels that corresponds to a Bresenham circle. Notethat a Bresenham circle is only a subset of Supercover cir-cles. The Supercover digitization of all circles correspond-ing to the GC contains those pixels and some more. Weused a Bresenham circle in order to be able to comparethe results obtained with the d1, d2 and d1 distance asthe pixel region of the d1 distance is the smallest. Comparewith Figs. 9 and 11.

Fig. 7. A Bresenham circle of radius 5. Using the Tchebychev distance, inthe center of the image, the Generalized Circumcenter with the maximumradius for each point (shown in the z direction).

3.4. Naïve circle recognition and parameter estimation

In this section we consider the Naïve digitization model.This model is based on the Manhattan distance d1. In 2D,the unit sphere for this distance is a square of side

ffiffi2p

2 ro-tated by 45�. It corresponds to 8-connected objects. TheBresenham circle [21] corresponds to a Naïve digitizationof a continuous circle (see Fig. 12).

The Generalized Perpendicular Bisector of two pixelsconsidering the Naïve model can be computed using theformulas defined in the previous part (for the Supercoverand the Standard model). A rotation (of angle p

4) and arescaling (of factor

ffiffi2p

2 ) lead to the expected result. In higherdimensions, it will not be as simple. For example, the unit3D sphere for the Manhattan distance is an octagon whichis obviously not the rotation of a cube.

Fig. 8 shows the recognition of a Naïve circle. We cansee that the Generalized Circumcenter contains all the cen-ters of all the circles crossing all the regions even if the cir-cle is not centered on a pixel.

Fig. 9 shows the shape of the surface corresponding tothe minimal and maximal radius for a given point of theGeneralized Circumcenter. As we can see, those surfacesare not simple. This leaves one open question: is there a ra-dius valid for all the Generalized Circumcenter points?

3.5. Andres circle recognition and parameter estimation

There is a class of circles that have a definition based onthe Euclidean distance. The definition has been proposed in

Page 9: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

Fig. 8. This figure shows the Bresenham circle of radius 5 and center (0, 0)(in dark gray, the pixel regions). In light gray all the possible circles thatonce digitized are equal to the Bresenham circle. In black one suchcontinuous circle with its center (black dot in the middle). The region inthe middle of the figure corresponds to the Generalized Circumcenter.

362 E. Andres et al. / Graphical Models 73 (2011) 354–364

all dimensions by Andres [22], one of the authors of thispaper. The 2D Andres circles are defined as follows:ðx; yÞ 2 Z2 belongs to the Andres circle of center (xo, yo)and radius R and thickness x if and only if:

Fig. 9. Generalized Circumcenter for a Naïve circle recognition. (a) Minimum radof the circumcenter. (c) Shapes of surfaces corresponding to the maximum and

R�x2

� �26 ðx� xoÞ2 þ ðy� yoÞ

2< Rþx

2

� �2

Note that in this definition, xo, yo, R and x have no par-ticular reason to be integers. It is easy to see that this typeof circles is associated to the distance d2. Another way ofdefining such a circle is indeed:

ðx; yÞ 2 Z2jCðxo; yo;RÞ\

B2x2

� �– ø

n owhere C(xo, yo, R) is the Euclidean circle of center (xo, yo)and radius R.

This means that the pixel regions in our case correspondto disks. This is actually a particularly complicated case be-cause the Generalized Perpendicular Bisector of two disksis a hyperbola (see Fig. 10). The computation of the Gener-alized Circumcenter requires therefore that we intersecthyperbolas.

Fig. 11 illustrates a recognition for a set of pixels thatcorresponds to a Bresenham circle of radius 5. The diskscorrespond to all the pixel regions for this circle. In thecenter of the image we have represented the GeneralizedCircumcenter with the maximum radius for each point(shown in the z direction).

4. Conclusion and perspectives

In this paper, we present the generalization of perpen-dicular bisectors and circumcenters to regions in anarbitrary dimensional space. This extension is very inter-

ius for each point of the circumcenter. (b) Maximum radius for each pointminimum radii.

Page 10: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

C

C

d

2

1

1

d2

I

J

t

t1

2

Fig. 10. Example of a Generalized Perpendicular Bisector of two disks.

Fig. 11. Circumcenter of a Bresenham circle of radius 5 with theEuclidean distance.

E. Andres et al. / Graphical Models 73 (2011) 354–364 363

esting because many properties from classical perpendicu-lar bisectors are preserved. We have shown that, in 2D, allthe points of the Generalized Circumcenter of a set of re-gions are the center of at least one circle that crosses allthe regions of the set.

The Generalized Circumcenter is a new interestingapproach to digital circles recognition and reconstruction

Fig. 12. Generalized Perpendicular Bisectors and Generalized Circumcenter of tdistance (b) and the Manhattan distance (c).

because it contains all the centers of all the Euclideancircles that pass through all the regions. It can be usedfor full discrete circle recognition or only for discrete circu-lar arc recognition.

As an application, we have described the GeneralizedPerpendicular Bisector of two square regions. This natu-rally leads to the recognition of Supercover and Standarddigital circles since the square is the unit sphere for thedistance d1. Given a set of pixels S, we are therefore ableto provide the exhaustive set of possible Euclidean circles(centers and radii) whose Supercover digitizations is S.

We also present similar results for the Naïve digitiza-tion model which uses the Manhattan distance d1 (regionsare rhombus of side

ffiffi2p

2 ) and for the Pythagorean digitiza-tion model which uses the Euclidean distance d2 (regionsare disks).

In this last case, however, the algorithm cannot be eas-ily implemented since we need to intersect hyperbolas. Inthe two first cases, we have shown that the GeneralizedPerpendicular Bisector can be approximates using onlystraight segments.

Much work remains to be done however. There aresome complicated algorithmic problems that need to besolved before an efficient circle recognition algorithm canbe proposed. The intersection of the simplified GeneralizedPerpendicular Bisectors is algorithmically costly because(despite the fact that they are defined by straight lines)they are not convex. Secondly, for n regions we haveO(n2) Generalized Perpendicular Bisectors to intersect inorder to compute the Generalized Circumcenter. We arelooking right now into some simplification in the recogni-tion process that should allow us, at least, to be able to fastreject cases where there are no solutions. The long termgoal of all this work is to be able to have an invertible circlerecognition algorithm that can be paired with straight linerecognition algorithms. From the theoretical point of view,we would like to see how the Generalized PerpendicularBisector and the Generalized Circumcenter relate to Voron-oï diagrams and medial axis.

One of the last advantages of this approach is that re-gions do not need to be of the same shape or size. Wecan therefore imagine to compute the Generalized Perpen-dicular Bisector between two squares of different sizes.

hree unit spheres considering the Tchebychev distance (a), the Euclidean

Page 11: Generalized Perpendicular Bisector and exhaustive discrete circle recognition

364 E. Andres et al. / Graphical Models 73 (2011) 354–364

This could allow multiscale or noisy circle/hypersphererecognition [19].

References

[1] D. Ioannou, W. Huda, A.F. Laine, Circle recognition through a 2Dhough transform and radius histogramming, Image Vision andComputing 17 (1) (1999) 15–26.

[2] R.C. Gonzalez, R.E. Woods, S.L. Eddins, Digital Image Processing UsingMATLAB(R), Prentice Hall, 2004.

[3] J. Vittone, J.-M. Chassery, (n, m)-Cubes and farey nets for naiveplanes understanding, in: Discrete Geometry for Computer Imagery,vol. 1568, Lecture Notes in Computer Science, Springer, Verlag, 1999,pp. 76–90.

[4] J. Vittone, J.-M. Chassery, Recognition of digital naive planes andpolyhedrization, in: Discrete Geometry for Computer Imagery, vol.1953, Lecture Notes in Computer Science, Springer, Verlag, 2000, pp.296–307.

[5] R. Breton, I. Sivignon, M. Dexet, E. Andres, Towards an invertibleeuclidean reconstruction of a discrete object, in: Discrete Geometryand Computer Imagery, vol. 2886, Lecture Notes in ComputerScience, Springer, Verlag, 2003, pp. 246–256.

[6] M. Dexet, E. Andres, A generalized preimage for the digital analyticalhyperplane recognition, Discrete Applied Mathematics 157 (3)(2009) 476–489.

[7] J. O’Rourke, S. Rao Kosaraju, N. Megiddo, Computing circularseparability, Discrete and Computational Geometry 1 (1986) 105–113. doi:10.1007/BF02187688.

[8] P. Sauer, On the recognition of digital circles in linear time,Computational Geometry 2 (5) (1993) 287–302.

[9] P. Damaschke, The linear time recognition of digital arcs, PatternRecognition Letters 16 (5) (1995) 543–548.

[10] V.A. Kovalevsky, New definition and fast recognition of digitalstraight segments and arcs, in: ICPR90, 1990, pp. II, 31–34.

[11] D. Coeurjolly, Y. Gerard, J.-P. Reveillès, L. Tougne, An elementaryalgorithm for digital arc segmentation, Discrete AppliedMathematics 139 (1–3) (2004) 31–50.

[12] Tristan Roussillon, Isabelle Sivignon, Laure Tougne, Test andmeasure of circularity for digital curves, in: IPCV, 2008, pp. 518–524.

[13] M. Couprie, D. Coeurjolly, R. Zrour, Discrete bisector function andeuclidean skeleton in 2D and 3D, Image Vision and Computing 25(10) (2007) 1543–1556.

[14] H. Talbot, L. Vincent, Euclidean skeletons and conditional bisectors,Proceedings of SPIE 1818 (1992) 862–876.

[15] R.T. Farouki, J.K. Johnstone, Computing point/curve and curve/curvebisectors, in: R.B. Fisher (Ed.), The Mathematics of Surfaces V, OxfordUniversity, Oxford, 1994, pp. 327–354.

[16] M. Peternell, Geometric properties of bisector surfaces, GraphicalModels 62 (3) (2000) 202–236.

[17] E. Andres, Discrete linear objects in dimension n: the standardmodel, Graphical Models 65 (2003) 92–111.

[18] R.T. Farouki, R. Ramamurthy, Degenerate point/curve and curve/curve bisectors arising in medial axis computations for planardomains with curved boundaries, Computer Aided Geometric Design15 (6) (1998) 615–635.

[19] M. Rodríguez, A. Sere, G. Largeteau-Skapin, E. Andres, Generalizedperpendicular bisector and circumcenter, in: CompImage’2010,2010, pp. 1–10.

[20] E. Helly, Uber mengen konvexer korper mit gemeinschaftlichenpunkten, in: Jahresbericht der Deutschen Mathematiker-Vereiningung, vol. 32, 1923, pp. 175–176.

[21] J. Bresenham, A linear algorithm for incremental digital display ofcircular arcs, Communications of the ACM 20 (2) (1977) 100–106.

[22] E. Andres, Discrete circles, rings and spheres, Computer & Graphics18 (5) (1994) 695–706.

[23] E. Andres, The supercover of an m-flat is a discrete analytical object,Theoretical Computer Science 406 (1–2) (2008) 8–14 (Discretetomography and digital geometry: in memory of Attila Kuba).

[24] E. Andres, T. Roussillon, Analytical description of digital circles, in:DGCI, vol. 6607, Lecture Notes in Computer Science, Springer, Verlag,2011, pp. 235–246.

[25] D. Cohen-Or, A. Kaufman, Fundamentals of surface voxelization,Graphical Models and Image Processing 57 (6) (1995) 453–461.