Circle Detection by Harmony Search Optimization from sev

Post on 28-Jan-2023

4 views 0 download

Transcript of Circle Detection by Harmony Search Optimization from sev

J Intell Robot Syst (2012) 66:359–376DOI 10.1007/s10846-011-9611-3

Circle Detection by Harmony Search Optimization

Erik Cuevas · Noé Ortega-Sánchez ·Daniel Zaldivar · Marco Pérez-Cisneros

Received: 23 December 2010 / Accepted: 26 May 2011 / Published online: 12 July 2011© Springer Science+Business Media B.V. 2011

Abstract Automatic circle detection in digital im-ages has received considerable attention over thelast years in computer vision as several novelefforts aim for an optimal circle detector. This pa-per presents an algorithm for automatic detectionof circular shapes considering the overall processas an optimization problem. The approach isbased on the Harmony Search Algorithm (HSA),a derivative free meta-heuristic optimization al-gorithm inspired by musicians improvising newharmonies while playing. The algorithm uses theencoding of three points as candidate circles (har-monies) over the edge-only image. An objectivefunction evaluates (harmony quality) if such can-didate circles are actually present in the edgeimage. Guided by the values of this objectivefunction, the set of encoded candidate circles areevolved using the HSA so that they can fit into theactual circles on the edge map of the image (op-timal harmony). Experimental results from sev-

E. Cuevas · N. Ortega-Sánchez ·D. Zaldivar (B) · M. Pérez-CisnerosDepartamento de Ciencias Computacionales,Universidad de Guadalajara, CUCEI,Av. Revolución 1500, Guadalajara, JAL, Méxicoe-mail: daniel.zaldivar@cucei.udg.mx

E. Cuevase-mail: erik.cuevas@cucei.udg.mx

M. Pérez-Cisnerose-mail: marco.perez@cucei.udg.mx

eral tests on synthetic and natural images with avarying complexity range have been included tovalidate the efficiency of the proposed techniqueregarding accuracy, speed and robustness.

Keywords Circle detection · Harmony searchalgorithm · Meta-heuristic algorithms ·Intelligent image processing

1 Introduction

The problem of detecting circular features arisesinside many areas of image analysis, being particu-larly relevant for some industrial applications suchas automatic inspection of manufactured productsand components, aided vectorization of drawingsand target detection among others [1]. Two sortsof techniques are commonly applied to solve theobject location challenge: first hand deterministictechniques including the application of Houghtransform based methods [2], geometric hash-ing and template or model matching techniques[3, 4]. On the other hand, stochastic techniques in-cluding random sample consensus techniques [5],simulated annealing [6] and Genetic Algorithms(GA) [7] have been also used.

Template and model matching techniques arethe first approaches to be applied to shape detec-tion yielding a considerable amount of publica-tions [8]. Shape coding techniques and combination

360 J Intell Robot Syst (2012) 66:359–376

of shape properties have been commonly used torepresent objects. Their main drawback is relatedto the contour extraction step from a real imagewhich hardly deals with pose invariance, exceptfor very simple objects.

Circle detection in digital images is commonlyperformed by the Circular Hough Transform [9].A typical Hough-based approach employs edgeinformation obtained by means of an edge de-tector to infer locations and radius values. Peakdetection is then performed by averaging, filteringand histo-gramming the transformed space. How-ever, such an approach requires a large storagespace given the required 3-D cells to cover allparameters (x, y, r) and a high computationalcomplexity which yields a low processing speed.The accuracy of the extracted parameters for thedetected circle is poor, particularly under the pres-ence of noise [3]. For a digital image holding a sig-nificant width and height and a densely populatededge pixel map, the required processing time forCircular Hough Transform makes it prohibitiveto be deployed in real time applications. In orderto overcome this problem, some other researchershave proposed new approaches based on theHough transform, for instance the probabilisticHough transform [11], the randomized Houghtransform (RHT) [12] and the fuzzy Hough trans-form [13]. Alternative transformations have alsobeen presented in literature as the one proposedby Becker in [14]. Although those new approachesdemonstrated faster processing speeds in compar-ison to the original Hough Transform, they arestill highly sensitive to noise [10].

Recently, researchers have investigated evolu-tionary algorithms as an alternative way to per-form circle detection. Such approaches involvethe use of Genetic Algorithms (GA) [15], theBacterial Foraging Algorithm Optimizer (BFAO)[16] and the Differential Evolution (DE) [17]. Theadvantage of these methods is that no assump-tions are made about the objective function orthe noise, yielding accurate solutions despite chal-lenging and ambiguous environments. However,the improved accuracy often comes at a cost of anincreased computational cost.

On the other hand, the Harmony Search Al-gorithm (HSA) introduced by Geem, Kim, andLoganathan [18] is one of the population-based evo-

lutionary heuristics algorithms which are based onthe metaphor of the improvisation process thatoccurs when a musician searches for a better stateof harmony. The HS generates a new candidatesolution from all existing solutions. In HSA, thesolution vector is analogous to the harmony inmusic, and the local and global search schemes areanalogous to musician’s improvisations. In com-parison to other meta-heuristics in the literature,HSA imposes fewer mathematical requirementsas it can be easily adapted for solving severalsorts of engineering optimization challenges [19,20]. Furthermore, numerical comparisons havedemonstrated that the evolution for the HSA isfaster than GA [19, 21, 22], attracting ever moreattention. It has been successfully applied to solvea wide range of practical optimization problemssuch as structural optimization, parameter estima-tion of the nonlinear Muskingum model, designoptimization of water distribution networks, vehi-cle routing, combined heat and power economicdispatch, design of steel frames, bandwidth-delay-constrained least-cost multicast routing, transportenergy modeling, among others [21–36].

Although HSA allows identifying high per-formance regions at the solution space within areasonable time interval, it underperforms in lo-cal searching in particular for parameter iden-tification applications [37–40]. In order to improvethe fine-tuning (accuracy) characteristic of HSA,the local search parameter (BW) is dynamicallyadjusted to improve the balance between explo-ration and exploitation during the search process(see [19]). However, considering that the adjust-ment follows an exponential function, longer ex-ploitation periods are allowed, affecting the ex-ploring capacity of HSA particularly when it isapplied to complex objective functions. A betteradjustment alternative, which employs the use ofa linear model, has been recently proposed in [41].Such approach presents better searching charac-teristic than the approaches based on exponentialfunctions.

This paper presents an algorithm for the au-tomatic detection of circular shapes from com-plicated and noisy images with no considerationof the conventional Hough transform principles.The proposed algorithm which is based on theharmony search strategy incorporates a dynamical

J Intell Robot Syst (2012) 66:359–376 361

linear adjustment for improving the fine-tuningsearching characteristics. Such algorithm uses theencoding of three non-collinear edge points ascandidate circles (Harmonies) in the edge-onlyimage of the scene. An objective function eval-uates (quality harmony) if such candidate circlesare actually present in the edge image. Guidedby the values of this objective function, the set ofencoded candidate circles are evolved through theHSA so that they can fit into the actual circleswithin the edge map of the image (optimal har-mony). The approach generates a sub-pixel circledetector which can effectively identify circles inreal images despite circular objects exhibiting asignificant occluded portion. Experimental evi-dence shows the effectiveness of such method fordetecting circles under different conditions. Com-parison to one state-of-the-art GA-based method[15], the BFAO detector [16] and the RHT algo-rithm [12] over multiple images, demonstrates abetter performance of the proposed method.

This paper is organized as follows: Section 2 pro-vides information about the HSA while Section 3depicts the implementation of the proposed circledetector. The study analyses the multi-circle de-tection in Section 4 with some conclusions beingdiscussed in Section 5.

2 Harmony Search Algorithm

2.1 The Harmony Search Algorithm

In the basic HSA, each solution is called a “har-mony” and is represented by an n-dimension realvector. An initial population of harmony vectorsare randomly generated and stored within a Har-mony Memory (HM). A new candidate harmonyis thus generated from the elements in the HM byusing a memory consideration operation either bya random re-initialization or a pitch adjustmentoperation. Finally, the HM is updated by com-paring the new candidate harmony and the worstharmony vector in the HM. The worst harmonyvector is replaced by the new candidate vector incase it is better than the worst harmony vectorin the HM. The above process is repeated until acertain termination criterion is met. The basic HSalgorithm consists of three basic phases: HM ini-

tialization, improvisation of new harmony vectorsand updating of the HM. The following discussionaddresses details about each stage.

2.1.1 Initializing the Problem and AlgorithmParameters

In general, the global optimization problem canbe summarized as follows: min f (x): x ( j) ∈ [

l( j),u( j)

], j = 1, 2, . . . , n, where f (x) is the objective

function, x = (x(1), x(2),. . . , x(n)) is the set of de-sign variables, n is the number of design variables,and l( j) and u( j) are the lower and upper boundsfor the design variable x( j), respectively. The pa-rameters for HSA are the harmony memory size,i.e. the number of solution vectors lying on theharmony memory (HM), the harmony-memoryconsideration rate (HMCR), the pitch adjustingrate (PAR), the distance bandwidth (BW) andthe number of improvisations (NI) which repre-sents the total number of iterations. It is obviousthat a smart selection for HSA parameters wouldenhance the algorithm’s ability to search for theglobal optimum under a high convergence rate.

2.1.2 Harmony Memory Initialization

In this stage, initial vector components at HM,i.e. HMS vectors, are configured. Let xi = {xi(1),

xi(2), . . . , xi(n)} represent the i-th randomly-generated harmony vector: xi( j) = l( j) + (u( j)−l( j)) · rand(0, 1) for j = 1, 2, . . . , n and i = 1, 2,

. . . , HMS, where rand(0,1) is a uniform randomnumber between 0 and 1. Then, the HM matrix isfilled with the HMS harmony vectors as follows:

HM =

⎢⎢⎢⎣

x1

x2...

xHMS

⎥⎥⎥⎦

(1)

2.1.3 Improvisation of New Harmony Vectors

In this phase, a new harmony vector xnew is builtby applying the following three operators: mem-ory consideration, random re-initialization andpitch adjustment. Generating a new harmony isknown as ‘improvisation’. In the memory consid-eration step, the value of the first decision variable

362 J Intell Robot Syst (2012) 66:359–376

xnew(1) for the new vector is chosen randomlyfrom any of the values already existing in thecurrent HM i.e. from the set {x1 (1) , x2 (1) , . . . ,

xHMS (1)}. For this operation, a uniform randomnumber r1 is generated within the range [0, 1].If r1 is less than HMCR, the decision variablexnew(1) is generated through memory considera-

tions; otherwise, xnew(1) is obtained from a ran-dom re-initialization between the search bounds[l(1),u(1)]. Values of the other decision variablesxnew (2) , xnew (3) , . . . , xnew (n) are also chosen ac-cordingly. Therefore, both operations, memoryconsideration and random re-initialization, can bemodelled as follows:

xnew ( j) ={

xi ( j) ∈ {x1 ( j) , x2 ( j) , . . . , xHMS ( j)} with probability HMCRl ( j) + (u ( j) − l ( j)) · rand (0, 1) with probability 1-HMCR

(2)

Every component obtained by memory consider-ation is further examined to determine whetherit should be pitch-adjusted. For this operation,the Pitch-Adjusting Rate (PAR) is defined as to

assign the frequency of the adjustment and theBandwidth factor (BW) to control the local searcharound the selected elements of the HM. Hence,the pitch adjusting decision is calculated as follows:

xnew ( j) ={

xnew ( j) = xnew ( j) ± rand (0, 1) · BW with probability PARxnew ( j) with probability (1-PAR)

(3)

Pitch adjusting is responsible for generating newpotential harmonies by slightly modifying originalvariable positions. Such operation can be consid-ered similar to the mutation process in evolution-ary algorithms. Therefore, the decision variable iseither perturbed by a random number between 0and BW or left unaltered. In order to protect thepitch adjusting operation, it is important to assurethat points lying outside the feasible range [l,u]must be re-assigned i.e. truncated to the maximumor minimum value of the interval.

2.1.4 Updating the Harmony Memory

After a new harmony vector xnew is generated,the harmony memory is updated by the survivalof the fit competition between xnew and the worstharmony vector xw in the HM. Therefore xnew willreplace xw and become a new member of the HMin case the fitness value of xnew is better than thefitness value of xw.

2.1.5 Computational Procedure

The computational procedure of the basic HSAcan be summarized as follows [18]:

Step 1 Set the parameters HMS, HMCR, PAR,BW and NI.

Step 2 Initialize the HM and calculate the ob-jective function value of each harmonyvector.

Step 3 Improvise a new harmony xnew as follows:for ( j = 1 to n) do

if (r1 < HMCR) thenxnew( j)= xa( j) where a ∈(1, 2, . . . , HMS)if (r2 < PAR) then

xnew( j) = xnew( j) ± r3 ·BWwhere r1, r2, r3 ∈ rand(0,1)

end ifif xnew ( j) < l( j)xnew ( j) = l( j)

end ifif xnew( j) > u( j)xnew( j) = u( j)end if

elsexnew( j) = l( j) + r · (u( j) − l( j),where r ∈ rand(0,1)

end ifend for

Step 4 Update the HM as xw =xnew if f (xnew)<

f (xw)

Step 5 If NI is completed, the best harmony vec-tor xb in the HM is returned; otherwise goback to step 3.

J Intell Robot Syst (2012) 66:359–376 363

2.1.6 Dynamical Linear Adjustment of BW

The BW parameter controls the local searcharound HM elements. A large BW value eases thealgorithm’s searching at a larger scope, while asmall BW value is appropriate for fine-tuning ofbest solution vectors.

In the standard HSA, the BW value is con-sidered as a constant number. However, in thiswork the BW value is dynamically adjusted as tofavor exploration at early stages while exploita-tion is reinforced during final stages of the search-ing process. The adjustment uses a linear modeldefined as follows:

BW (k)

=

⎧⎪⎪⎨

⎪⎪⎩

BWmax−(

BWmax−BWmin

2·NI

)·3k if k<

(23

)NI

BWmin if k≥(

23

)NI

(4)

where k is the iteration index, while BWmax andBWmin are the maximum and minimum BW val-ues, respectively. In contrast to exponential ad-justment [19], linear models, as the one used inthis paper, allow a better balance between explo-ration and exploitation (fine-tuning) of the searchprocess [41].

3 Circle Detection Using HSA

In this work, circles are represented by the well-known second degree equation shown by Eq. 5that passes through three points in the edge map.Pre-processing includes a classical Canny edgedetector which uses a single-pixel contour markerand stores the location for each edge point. Suchpoints are the only potential candidates to definecircles by considering triplets. All the edge pointsare thus stored within a vector array P = {

p1, p2,

. . . , pEp

}with Ep being the total number of edge

pixels in the image. The algorithm saves the (xi,yi) coordinates for each edge pixel pi within theedge vector.

In order to construct each circle candidate,i.e. harmonies within the HSA-framework, theindexes i, j and k of three non-collinear edge

points must be combined, assuming that the cir-cle’s contour goes through points pi, pj, pk. Anumber of candidate solutions are randomly gen-erated for the initial set hosted by the harmonymemory (HM). Solutions will thus evolve throughthe application of the HSA upon harmonies untilan optimal harmony (minimum) is reached. Thebest harmony of HM is thus considered as thesolution for the circle detection problem.

An overview of the required steps to formulatethe circle detection task under the HSA optimiza-tion is presented below.

3.1 Individual Representation

Each candidate solution C (harmony) uses threeedge points. Under such representation, edgepoints are stored following a relative positionalindex within the edge array P. In turn, the pro-cedure will encode a harmony as the circle thatpasses through three points pi, pj and pk (C = {pi,pj, pk}). Each circle C is thus represented by threeparameters x0, y0 and r, being (x0, y0) the centrecoordinates and r its radius. The equation of thecircle passing through the three edge points canthus be computed as:

(x − x0)2 + (y − y0)

2 = r2 (5)

considering

A =[

x2j + y2

j − (x2

i + y2i

)2 · (

y j − yi)

x2k + y2

k − (x2

i + y2i

)2 · (yk − yi)

]

B =[

2 · (x j − xi

)x2

j + y2j − (

x2i + y2

i

)

2 · (xk − xi) x2k + y2

k − (x2

i + y2i

)

]

, (6)

x0 = det (A)

4((

x j − xi)(yk − yi) − (xk − xi)

(y j − yi

)) ,

y0 = det (B)

4((

x j − xi)(yk − yi) − (xk − xi)

(y j − yi

)) ,

(7)

and

r =√

(x0 − xd)2 + (y0 − yd)

2, (8)

being det(.) the determinant and d ∈ {i, j, k}.Figure 1 illustrates the parameters defined byEqs. 5–8.

364 J Intell Robot Syst (2012) 66:359–376

pi pj

pk

r

(x0 , y0)

Fig. 1 Circle candidate (individual) built from the combi-nation of points pi, p j and pk

The circle parameters [x0, y0, r] are representedas a transformation T with respect to edge vectorindexes i, j and k.[x0, y0, r

] = T (i, j, k) (9)

with T being the transformation calculated afterthe previous computations of x0, y0, and r. Byconsidering each index as harmony parameter, itis feasible to apply the HSA algorithm to seekfor appropriate circular parameters. The approachreduces the search space by eliminating unfeasiblesolutions.

3.2 Objective Function

Optimization aims to choose the best elementfrom a set of available alternatives. In the simplest

case, it means to minimize an objective functionor an error function by systematically selectingvariables values from valid ranges. In order to cal-culate the error produced by a candidate solutionC, the circumference coordinates are calculatedas a virtual shape which, in turn, must also bevalidated, i.e. if it really exists in the edge image.The test set is represented by S = {

s1, s2, . . . , sNs

},

where Ns are the number of points over which theexistence of an edge point, corresponding to C, istested.

The set S is generated by the midpoint cir-cle algorithm [42]. The Midpoint Circle Algo-rithm (MCA) is a searching method that seeksfor minimal required points for drawing a circle.Any point (x, y) on the boundary of the circlewith radius r satisfies the equation fCircle (x, y) =x2 + y2 − r2. However, MCA avoids computingsquare-root calculations by comparing pixel sep-aration distances. A method for direct distancecomparison is to test the halfway position betweentwo pixels (sub-pixel distance) to determine if thismidpoint lies inside or outside the circle boundary.If the point lies within the circle’s interior, the cir-cle function is negative. Otherwise, if the point liesoutside the circle, the circle function is positive.Therefore, the error for pixel positions using themidpoint test is limited to one-half of the pixelseparation (sub-pixel precision). To summarize,the relative position of any point (x, y) can bedetermined by checking the sign of the followingcircle function:

fCircle (x, y)

⎧⎨

< 0 if (x, y) is inside the circle boundary= 0 if (x, y) is on the circle boundary> 0 if (x, y) is outside the circle boundary

(10)

The circle-function test in Eq. 10 is applied to mid-positions between pixels lying nearby the circlepath at each sampling step. Figure 2a shows themidpoint between two candidate pixels at sam-pling position xk.

In MCA, the computation time is reduced byconsidering the circle symmetry. Circular sectionslying at adjacent octants within one quadrant aresymmetric with respect to the 45◦ line dividingthe two octants. Such symmetry conditions areillustrated in Fig. 2b, where a point at position (x,

y) lying on a one-eighth circle sector is mappedinto seven circle points in other octants of the xyplane. Taking advantage of the circle symmetry, itis possible to generate all pixel positions arounda circle by calculating only the points within thesector from x = 0 to x = y. In this paper, theMCA is used to calculate the required Spoints thatrepresent the circle candidate C. Therefore, thealgorithm can be considered the quickest provid-ing a sub-pixel precision [43]. However, in orderto protect the MCA operation, it is important to

J Intell Robot Syst (2012) 66:359–376 365

Fig. 2 Midpoint circlecalculation: a Midpointbetween candidate pixelsat sampling position xkalong a circular path.b Symmetry of a circle:calculation of a circlepoint (x, y) for one octantyielding the circle pointslying on other sevenoctants

(a) (b)

assure that points lying outside the image planemust not be considered in S.

The objective function J(C) represents thematching error produced between the pixels S ofthe circle candidate C (harmony) and the pixelsthat actually exist in the edge image, yielding:

J (C) = 1 −

Ns∑

v=1E (xv, yv)

Ns(11)

where E(xi, yi) is a function that verifies the pixelexistence in (xv , yv), with (xv, yv) ∈ S and Ns

being the number of pixels lying on the perime-ter corresponding to C currently under testing.Hence, function E(xv , yv) is defined as:

E(xv, yv)={

1 if the pixel (xv, yv) is an edge point0 otherwise

(12)

A value near to zero of J(C) implies a betterresponse from the “circularity” operator. Figure 3shows the procedure to evaluate a candidate so-lution C with its representation as a virtual shape

S. In Fig. 3b, the virtual shape is compared to theoriginal image, point by point, in order to findcoincidences between virtual and edge points. Thevirtual shape is built from points pi, pj and pk

shown by Fig. 3a, gathering 56 points (Ns = 56)with only 18 of such points existing in both images(shown as blue points plus red points in Fig. 3c)

yielding:Ns∑

v=1E (xv, yv) = 18 and therefore J(C) ≈

0.67.

3.3 Implementation of HSA for Circle Detection

The implementation of HSA can be summarizedinto the following steps:

Step 1 Set the HSA parameters. Initializing theharmony memory with HMS individu-als where each decision variable pi, pj

and pk of the candidate circle Ca is setrandomly within the interval [1,Ep]. Allvalues must be integers. Considering a ∈(1, 2, . . . , HMS).

Fig. 3 Evaluation ofcandidate solutions C:a original image-map,b the virtual shapeconsidering the points pi,p j and pk, c coincidencesbetween both imagesmarked by blue or redpixels; the virtual shape isalso depicted in green

(a) (b) (c)

pi

pj

pk pi

pj

pk

366 J Intell Robot Syst (2012) 66:359–376

Step 2 Evaluate the objective value J(Ca) for allHMS individuals and determine the can-didate solution Cw of HMS holding theworst objective value.

Step 3 Improve a new harmony Cnew such that:for ( j = 1 to 3) do

if (r1 < HMCR) thenCnew( j) = Ca( j)where a ∈ (1, 2, . . . , HMS)if (r2 < PAR) then

Cnew( j) = Cnew( j) ± r3 · BWwhere r1, r2, r3 ∈ (0,1)if Cnew( j) < l( j)Cnew( j) = l( j)end ifif Cnew( j) > u( j)Cnew( j) = u( j)end ifUpdate BW according to Eq. (4)

end ifelse

Cnew( j) = 1 + round(r · Ep), wherer ∈ (0,1)

end ifend for

Step 4 Update HM as Cw = Cnew if J (Cnew) <

J (Cw)

Step 5 If NI is completed then return the bestharmony vector Cb in the HM (a circlecontained in the image); otherwise goback to step 2.

For instance, Fig. 4 shows the outcome of twodifferent circle detection tests over a synthetic anda natural image. The input images, correspondingto Fig. 4a and c, contain a hand-drawn circle and acircular shaped chain respectively. On the otherhand, Fig. 4b and d present the detected circlesthrough a colour overlay.

4 Experimental Results

4.1 Parameter Setup

In order to achieve an effective parameter tuningat HSA, it is necessary to weight two conflictingfactors against each other. The first is the algo-rithm’s ability to converge at a reduced iterationnumber while the seconds tests its capacities tofind the most accurate estimate of circle shapes.The main parameters controlling such factors areHMS, HMCR, PAR and BW (within the interval:BWmax and BWmin). In order to identify their

Fig. 4 HSA circledetection test:a a hand-drawn circularshape, b the detectedcircle (blue overlay),c the circular shapedchain, d detected circle(red overlay)

(a) (b)

(c) (d)

J Intell Robot Syst (2012) 66:359–376 367

Table 1 Parameter setup for the HSA detector

HMS HMCR PAR BWmax BWmin NI

100 0.7 0.3 5 1 200

optimal values, two different set of experimentshave been implemented.

In the first experiment set, the value of HMS,HMCR and PAR have been determined by con-sidering a set of natural and synthetic imageswith BW = 2. The initial analysis considers HMSvarying from 80 to 120. The detector’s accuracyand speed has evolved similarly for all images.Best performance has been achieved with HMS =100. Next, the parameter HMCR is explored vary-ing from 0.5 to 0.9. Evidence supports the factthat HMCR is slightly more sensitive to changesthan HMS, still keeping a reliable stability if anyvalue between 0.65 and 0.85 is chosen. Finally,the pitch adjustment rate (PAR) has been iden-tified, considering an interval between 0.1 and0.45. According to the experimental evidence itsoptimal value is 0.3. Likewise, a minimal numberof improvisations (NI) assuring convergence hasalso been identified to 200 after several tests.

In a second experimental group, the intervalvalue of BW (or BWmax and BWmin) has been ex-plored. Experiments consider a number of naturaland synthetic images containing different noiselevels. In the analysis, BWmin is varied from 3to 1 while BWmax goes from 7 to 4. As a result,the overall optimal values are BWmax = 5 andBWmin = 1.

In order to avoid any tendency effects, theimage set employed at the identification processhas been replaced by a different collection in the

following sections. Table 1 summarizes the HSAparameter set that are considered in this work andkept for all test images through all experiments.

4.2 Circle Localization

The experimental setup includes the use of 60synthetic and natural images. In the synthetic case,the images have been generated drawing only arandomly located circle. The parameters underdetection are the center of the circle (x, y) and itsradius (r). The algorithm is set to 200 iterationsfor each test image. In all cases, the algorithmis able to detect the required parameters. Thedetection is shown to be robust to translation andscale conserving a reasonably low elapsed time(typically under 1 ms). Figure 5b shows the resultsof the circle detection for a synthetic image.

On the other hand, natural-life images rarelycontain perfect circles, forcing the detection algo-rithm to approximate the circle that better adaptsto the imperfect circular shape within the image,i.e. the circle corresponding to the smallest errorobtained from the objective function J(C). De-tection results have been statistically analyzed forcomparison purposes. For instance, the detectionalgorithm is executed 50 times on the same image(Fig. 6), yielding same parameters x0 = 210, y0 =325, r = 65 and indicating that the proposed HSAis able to converge to a the best solution. Theexperiment has considered 200 cycles.

The circle detection algorithm described in thispaper is also useful to approximate circular shapesfrom arc segments, occluded circular shapes or im-perfect circles. This functionality is quite relevantconsidering that such shapes are typical at many

Fig. 5 Circle detection insynthetic images:a original circle image,b its correspondingdetected circle

(a) (b)

368 J Intell Robot Syst (2012) 66:359–376

Fig. 6 A experiment on areal-life image: a the testimage, b its correspondingedge map, c the detectedcircle as an overlay

(a) (b) (c)

computer vision problems. The proposed algo-rithm is able to find circle parameters that betterapproach the arc, occluded or imperfect circles.Figure 7a, b show one example of such functional-ity considering a hand-drawn arc, while Fig. 7c, dpresent the same functionality but using a naturalimage. Recalling that, at this paper, the detectionprocess is approached as an optimization problemand that the objective function J(C) gathers the C

points actually contained in the image, a smallervalue of J(C) refers to a circle while a greatervalue accounts for either an arc, an occluded circleor an imperfect circle. Such fact does not repre-sent any trouble as circles would be detected firstwhile other shapes would follow. In general, thedetection of all kinds of circular shapes would onlydiffer according to smaller or greater values ofJ(C).

Fig. 7 HSAapproximating circulararc sections:a hand-drawn arc,b the detected circle,c natural image andd its correspondingdetected circle

(a) (b)

(c) (d)

J Intell Robot Syst (2012) 66:359–376 369

4.3 Multiple Circle Detection

The HSA circle detector is also capable of detect-ing several circles embedded into a single image.The procedure is applied in the same way aimingfor an initial detected shape which represents thecircle holding the smallest objective function valueJ(C). Therefore, such shape is masked (i.e. elimi-nated) in the primary edge-only image as the HSAcircle detector operates again over the modifiedimage. The procedure is repeated until the J(C)value reaches a minimum predefined thresholdMth (typically 0.1). Finally, a subsequent valida-tion of all detected circles follows by analyzingcontinuity of the detected circumference segments[44]. If none of the detected shapes satisfies theMth criterion, the system simply reply: “no circledetected”. Figure 8a shows one natural image con-taining several circles. For this case, the algorithmsearched for the best circular shapes (greaterthan Mth). The edge-only image after the Cannyalgorithm application is also shown by Fig. 8b.Figure 8c exhibits the detected circles. Imagesfrom Fig. 8d–f present multiple-circle detectionunder several noisy conditions.

Likewise, Fig. 9 shows the HSA performanceon multi-circle detection considering complex syn-thetic images. Figure 9a presents a hand-drawncircle which is subsequently contaminated bynoise to increase the complexity in the detection

process (see Fig. 9c). Figure 9b and d show thedetected circle after the HSA operation.

4.4 Performance Comparison

This section presents a comparison of the pro-posed approach to some other algorithms such asthe BFAO detector, the GA-based algorithm andthe RHT method over a challenging image set.

The GA-based algorithm follows the proposalof Ayala-Ramirez et al. [15], which considers thepopulation size as 70, the crossover probabilityas 0.55, the mutation probability as 0.10 and thenumber of elite individuals as 2. The roulettewheel selection and the 1-point crossover operatorare both applied. The parameter setup and thefitness function follow the configuration suggestedin [15]. The BFAO algorithm follows the imple-mentation from [16] considering the experimentalparameters as: S = 50, Nc = 350, Ns = 4, Ned = 1,Ped = 0.25, dattract = 0.1, wattract = 0.2, wrepellant =10, hrepellant = 0.1, λ = 400 and ψ = 6. Suchvalues are found to be the best configuration setaccording to [16]. Likewise, the RHT method wasimplemented following the setup in [12].

Images rarely contain perfectly-shaped circles.Therefore, with the purpose of testing accuracyfor a single-circle, the detection is challenged bya ground-truth circle which is determined from

Fig. 8 Multiple circledetection over naturalimages: a the originalimage, b edge map afterapplying the Cannyalgorithm and c the imageportraying best detectedcircular shapes, while(d, e) present same casesbut using a noisyversion of (a)

(a) (b) (c)

(d) (e) (f)

370 J Intell Robot Syst (2012) 66:359–376

Fig. 9 Multiple circledetection on complexsynthetic images:a the original image,b detected circularshapes, c the originalnoisy image andd detected circular shapes

(a) (b)

(c) (d)

Fig. 10 a–i Experimentalimage set for furthertesting

(a) (b) (c)

(f)(e)(d)

(g) (h) (i)

Original images

J Intell Robot Syst (2012) 66:359–376 371

the original edge map. The parameters (xtrue, ytrue,rtrue) representing the testing circle are computedusing the Eqs. 5–8 for three circumference pointsover the manually-drawn circle. Considering thecentre and the radius of the detected circle as(xD, yD) and rD, the Error Score (Es) can beaccordingly calculated as:

Es = η · (|xtrue − xD| + |ytrue − yD|)+μ · |rtrue − rD| (13)

The central point difference (|xtrue − xD| +|ytrue − yD|) represents the centre shift for thedetected circle as it is compared to a benchmarkcircle. The radio mismatch (|rtrue − rD|) accounts

for the difference between their radii. η and μ rep-resent two weighting parameters which are to beapplied separately to the central point differenceand to the radio mismatch for the final error Es. Inthis work, they have been chosen as η = 0.05 andμ = 0.1 aiming to ensure that the radii differencewould be strongly weighted in comparison to thedifference of central circular positions betweenthe manually detected and the machine-detectedcircles. In case the value of Es is less than 1, thealgorithm gets a success; otherwise it has failed ondetecting the edge-circle. Notice that for η = 0.05and μ = 0.1, it yields Es < 1 which accounts for amaximal tolerated difference on radius length of10 pixels, whereas the maximum mismatch for thecentre location can be up to 20 pixels. In general,

Fig. 11 Synthetic imagesand their detected circlesafter applying theGA-based algorithm, theBFOA method, the RHTapproach and theproposed HSA

(a) (b) (c)GA-based algorithm

BFOA

RHT

HSA

372 J Intell Robot Syst (2012) 66:359–376

the success rate (SR) can thus be defined as thepercentage of reaching success after a certainnumber of trials.

Since other algorithms in the comparison arebased on different approaches, their computa-tional requirements such as the execution timeand the memory usage (MU) could also be usedas performance indexes. However, consideringthat the execution time largely depends on howoptimal each algorithm’s code is implemented,the Iteration Number (IN) is rather employed asa temporal criterion. Therefore, IN reports thenumber of times that the algorithm iterates untilno changes are registered in the final result, i.e. noimprovement is made in the circle parameters.

Figure 10 presents the set of images to beprocessed by each algorithm in the comparison.

Figure 11 shows the outcome after applying theGA-based algorithm [15], the BFOA method [16],the RHT approach [12] and the proposed HSAover three synthetic images (a)–(c). Figure 12presents experimental results considering threenatural images (d)–(f). In order to test the robust-ness of our algorithm, salt and pepper noise hasbeen added to some images prior to the experi-ment. In order to provide a fast comparison refer-ence, Fig. 13 summarizes the most representativecases, considering different geometrical featuresand several noise types: distributed and localizedin the circle frontiers. For all figures, performanceis analyzed through 35 different executions foreach algorithm. Figures report the results for themedian-run solutions, i.e. the runs are ranked ac-cording to their final fitness values.

Fig. 12 Real-life imagesand their detected circlesfor the GA-basedalgorithm, the BFOAmethod, the RHTapproach and theproposed HSA

(d) (e) (f)GA-based algorithm

BFOA

RHT

HSA

J Intell Robot Syst (2012) 66:359–376 373

Fig. 13 Representativeimage examples for thefast comparison reference

(g) (h) (i)GA-based algorithm

BFOA

RHT

HSA

Table 2 exhibits the success rate (SR) in per-centage and the averaged Error Score (Es) consid-ering the nine test images shown by Fig. 10. Like-wise, Table 3 presents the iteration number (IN)

and the memory usage (MU), over the same im-age set. The performance indexes are determinedassuming 35 different executions for each algo-rithm. The best entries are bold-cased in Tables 2

Table 2 The success rate and the averaged error score for the GA-based algorithm, the BFOA method, the RHT approachand the proposed HSA, considering nine test images shown by Fig. 10

Image Success rate(SR) (%) Averaged Es ± Standard deviation

GA BFOA RHT HSA GA BFOA RHT HSA

(a) 98 100 100 100 0.45 ± (0.022) 0.30 ± (0.033) 0.31 ± (0.055) 0.20 ± (0.021)(b) 98 98 98 100 0.61 ± (0.022) 0.41 ± (0.034) 0.35 ± (0.029) 0.19 ± (0.035)(c) 75 90 100 100 0.56 ± (0.029) 0.46 ± (0.051) 0.48 ± (0.077) 0.21 ± (0.012)(d) 90 98 100 100 0.62 ± (0.021) 0.53 ± (0.018) 0.47 ± (0.081) 0.28 ± (0.018)(e) 92 96 100 100 0.42 ± (0.019) 0.37 ± (0.011) 0.30 ± (0.051) 0.12 ± (0.039)(f) 95 98 91 100 0.87 ± (0.056) 0.81 ± (0.021) 0.92 ± (0.053) 0.39 ± (0.027)(g) 100 100 100 100 0.25 ± (0.052) 0.24 ± (0.018) 0.18 ± (0.030) 0.21 ± (0.026)(h) 91 95 85 100 0.56 ± (0.017) 0.48 ± (0.017) 0.76 ± (0.037) 0.24 ± (0.031)(i) 90 92 82 100 0.83 ± (0.012) 0.77 ± (0.053) 0.98 ± (0.053) 0.38 ± (0.022)

374 J Intell Robot Syst (2012) 66:359–376

Table 3 The averaged iteration number and memory usage for the GA-based algorithm, the BFOA method, the RHTapproach and the proposed HSA algorithm, considering nine test images shown by Fig. 10

Image Iteration Number (NI) ± Standard deviation Memory Usage (MU)

GA BFOA RHT HSA GA BFOA RHT HSA

(a) 271 ± (43) 189 ± (17) 5,658 ± (0) 102 ± (21) 1.8 Kb 3.8 Kb 3.8 Mb 2.4 Kb(b) 248 ± (10) 218 ± (26) 12,298 ± (0) 157 ± (33) 1.8 Kb 3.8 Kb 4.12 Mb 2.4 Kb(c) 250 ± (39) 213 ± (13) 6,218 ± (0) 141 ± (19) 1.8 Kb 3.8 Kb 3.6 Mb 2.4 Kb(d) 311 ± (11) 204 ± (21) 7,124 ± (0) 145 ± (16) 1.8 Kb 3.8 Kb 5.8 Mb 2.4 Kb(e) 175 ± (27) 156 ± (31) 6,270 ± (0) 92 ± (31) 1.8 Kb 3.8 Kb 5.6 Mb 2.4 Kb(f) 373 ± (21) 302 ± (27) 15,228 ± (0) 171 ± (11) 1.8 Kb 3.8 Kb 6.8 Mb 2.4 Kb(g) 287 ± (29) 187 ± (25) 4,946 ± (0) 108 ± (26) 1.8 Kb 3.8 Kb 3.6 Mb 2.4 Kb(h) 274 ± (25) 228 ± (38) 14,238 ± (0) 150 ± (19) 1.8 Kb 3.8 Kb 4.8 Mb 2.4 Kb(i) 350 ± (17) 296 ± (31) 12,388 ± (0) 161 ± (08) 1.8 Kb 3.8 Kb 6.8 Mb 2.4 Kb

and 3. A close inspection over both tables revealsthat the proposed method is able to achieve thehighest success rate keeping the smallest erroryet requiring a lower iteration number for themost cases. Similarly, it is evident in Table 3 thatthe RHT method demands a greater amount ofmemory in comparison to other approaches. Suchresult agrees to the fact that RHT requires a greatamount of 3-D cells to cover all circle parameters(x, y, r). The number of 3-D cells depends on thepixel density over the edge-map. On the contrary,other algorithms (GA, BFOA and HSA) onlyrequired a minimal amount of bytes to store a setof candidate solutions.

A non-parametric statistical significance-proofcalled Wilcoxon’s rank sum test for independentsamples [45–47] has been conducted at the 5%significance level over the Error Score (Es) dataof Table 2. Table 4 reports the p-values producedby Wilcoxon’s test regarding the pair-wise com-

Table 4 p-values produced by Wilcoxon’s test compar-ing HSA to GA, BFOA and RHT over an averaged Es(Table 2)

Image p-Value

HSA vs. GA HSA vs. BFOA HSA vs. RHT

(a) 1.9456e-004 1.9234e-004 2.2391e-004(b) 1.6341e-004 1.8892e-004 2.1021e-004(c) 1.4562e-004 1.8648e-004 1.9718e-004(d) 1.1261e-004 1.2165e-004 2.5122e-004(e) 1.0179e-004 1.1930e-004 2.5122e-004(f) 0.8922e-004 1.1683e-004 0.9981e-004(g) 1.0784e-004 1.0899e-004 2.5877e-004(h) 0.8922e-004 1.7729e-004 1.5592e-004(i) 0.2928e-004 1.0680e-004 0.6689e-004

parison between the Error Score (Es) from threegroups. One group corresponds to HSA vs. GA,other corresponds to HSA vs. BFOA and thelast one corresponds to HSA vs. RHT, one at atime. As a null hypothesis, it is assumed that thereis no significant difference between mean valuesof such three groups. The alternative hypothesisconsiders a significant difference between meanvalues of all three groups. All p-values reported inthe table are less than 0.05 (5%) significance levelwhich is a strong evidence against the null hypoth-esis, indicating that the best HSA mean values forthe performance are statistically significant.

5 Conclusions

This work has presented an algorithm for theautomatic detection of circular shapes from com-plicated and noisy images with no considerationof the conventional Hough Transform principles.The proposed algorithm is based on the harmonysearch strategy (HSA) which incorporates a dy-namical linear adjustment for improving its fine-tuning searching characteristics. To the best ofour knowledge, the HSA has not been appliedto any image processing task until date. The al-gorithm uses the encoding of three non-collinearedge points as circle candidates (harmonies) thathave been taken from the edge-only image of thescene. An objective function (harmony quality)evaluates if a given circle candidate is actuallypresent in the edge image. Guided by the valuesof the objective function, the set of encoded can-didate circles is evolved using the HSA so that

J Intell Robot Syst (2012) 66:359–376 375

they can fit into the actual circles in the edgemap of the image (optimal harmony). As it canbe observed from results shown in Figs. 11, 12 and13, our approach detects a circle embedded intocomplex images with little visual distortion despitethe presence of noisy background pixels.

The paper approaches the circle detection asan optimization problem. Such view enables thealgorithm to detect arcs, occluded circles and alsomatching imperfect circles. The HSA is capableof finding circle parameters according to J(C),clearly opposing to other methods which make areview of all circle candidates in order to be ableto detect occluded or imperfect circles.

Classical Hough Transform methods for circledetection use three edge points to cast a votefor potential circular shapes within the parame-ter space. However, they would require a hugeamount of memory and longer computationaltimes to obtain a sub-pixel resolution. Moreover,HT-based methods rarely find a precise parameterset for a given circle in the image [48]. In our ap-proach, the detected circles are directly obtainedfrom Eqs. 5–9 still reaching sub-pixel accuracy.

In order to test the circle detection accuracy, anerror score function has been used (see Eq. 13) asa way to acutely evaluate the mismatch betweena given circle and its corresponding machine-detected circle. We have demonstrated that theHSA method outperforms the GA (as describedin [15]), the BFAO (as described in [16]) andthe RHT (as described in [12]) within a statisti-cally significant framework. Although Tables 2,3 and 4 indicate that the HSA method can yieldbetter results on complicated and noisy imagesin comparison to the GA, BFAO and the RHTmethods, the aim of our paper is not intended tobeat all circle detector methods which have beenproposed earlier, but to show that the HarmonySearch algorithm is an attractive and reliable evo-lutionary alternative for extracting circular shapesfrom images.

Acknowledgements Erik Cuevas would like to thankDAAD and SEP for its economical support. The authorsthank the European Union, the European Commission andCONACYT for the support. This paper has been preparedby an economical support of the European Commissionunder grant FONCICYT 93829. The content of this pa-per is an exclusive responsibility of the UDEG and the

CIC-IPN and it cannot be considered a reflection of theEuropean Union position. The proposed algorithm is partof the vision system used by a biped robot supported underthe grant CONACYT CB 82877.

References

1. da Fontoura Costa, L., Marcondes Cesar, R. Jr.: ShapeAnálisis and Classification. CRC, Boca Raton (2001)

2. Yuen, H., Princen, J., Illingworth, J., Kittler, J.: Com-parative study of Hough transform methods for circlefinding. Image Vis. Comput. 8(1), 71–77 (1990)

3. Iivarinen, J., Peura, M., Sarela, J., Visa, A.: Compari-son of combined shape descriptors for irregular objects.In: Proc. 8th British Machine Vision Conf., Cochester,UK, pp. 430–439 (1997)

4. Jones, G., Princen, J., Illingworth, J., Kittler, J.: Robustestimation of shape parameters. In: Proc. British Ma-chine Vision Conf., pp. 43–48 (1990)

5. Fischer, M., Bolles, R.: Random sample consensus:a paradigm to model fitting with applications to im-age analysis and automated cartography. CACM 24(6),381–395 (1981)

6. Bongiovanni, G., Crescenzi, P.: Parallel simulated an-nealing for shape detection. Comput. Vis. Image Un-derst. 61(1), 60–69 (1995)

7. Roth, G., Levine, M.D.: Geometric primitive extrac-tion using a genetic algorithm. IEEE Trans. PatternAnal. Mach. Intell. 16(9), 901–905 (1994)

8. Peura, M., Iivarinen, J.: Efficiency of simple shape de-scriptors. In: Arcelli, C., Cordella, L.P., di Baja, G.S.(eds.) Advances in Visual Form Analysis, pp. 443–451.World Scientific, Singapore (1997)

9. Muammar, H., Nixon, M.: Approaches to extending theHough transform. In: Proc. Int. Conf. on Acoustics,Speech and Signal Processing ICASSP_89, vol. 3, pp.1556–1559 (1989)

10. Atherton, T.J., Kerbyson, D.J.: Using phase to rep-resent radius in the coherent circle Hough transform.Proc, IEE Colloquium on the Hough Transform, IEE,London (1993)

11. Shaked, D., Yaron, O., Kiryati, N.: Deriving stoppingrules for the probabilistic Hough transform by sequen-tial analysis. Comput. Vis. Image Underst. 63, 512–526(1996)

12. Xu, L., Oja, E., Kultanen, P.: A new curve detectionmethod: randomized Hough transform (RHT). PatternRecogn. Lett. 11(5), 331–338 (1990)

13. Han, J.H., Koczy, L.T., Poston, T.: Fuzzy Hough trans-form. In: Proc. 2nd Int. Conf. on Fuzzy Systems, vol. 2,pp. 803–808 (1993)

14. Becker, J., Grousson, S., Coltuc, D.: From Houghtransforms to integral transforms. In: Proc. Int. Geo-science and Remote Sensing Symp., 2002 IGARSS_02,vol. 3, pp. 1444–1446 (2002)

15. Ayala-Ramirez, V., Garcia-Capulin, C.H., Perez-Garcia, A., Sanchez-Yanez, R.E.: Circle detection onimages using genetic algorithms. Pattern Recogn. Lett.27, 652–657 (2006)

376 J Intell Robot Syst (2012) 66:359–376

16. Dasgupta, S., Das, S., Biswas, A., Abraham, A.: Auto-matic circle detection on digital images whit an adap-tive bacterial foraging algorithm. Soft Comput. 2009,1151–1164 (2009). doi:10.1007/s00500-009-0508-z

17. Cuevas, E., Zaldivar, D., Pérez-Cisneros, M., Ramírez-Ortegón, M.: Circle detection using discrete differentialevolution optimization. Pattern Anal. Appl. 14, 93–107(2010). doi:10.1007/s10044-010-0183-9

18. Geem, Z.W., Kim, J.H., Loganathan, G.V.: A newheuristic optimization algorithm: harmony search. Sim-ulations 76, 60–68 (2001)

19. Mahdavi, M., Fesanghary, M., Damangir, E.: An im-proved harmony search algorithm for solving optimiza-tion problems. Appl. Math. Comput. 188, 1567–1579(2007)

20. Omran, M.G.H., Mahdavi, M.: Global-best harmonysearch. Appl. Math. Comput. 198, 643–656 (2008)

21. Lee, K.S., Geem, Z.W.: A new meta-heuristic algo-rithm for continuous engineering optimization, har-mony search theory and practice. Comput. MethodsAppl. Mech. Eng. 194, 3902–3933 (2005)

22. Lee, K.S., Geem, Z.W., Lee, S.H., Bae, K.-W.: The har-mony search heuristic algorithm for discrete structuraloptimization. Eng. Optim. 37, 663–684 (2005)

23. Kim, J.H., Geem, Z.W., Kim, E.S.: Parameter estima-tion of the nonlinear Muskingum model using harmonysearch. J. Am. Water Resour. Assoc. 37, 1131–1138(2001)

24. Geem, Z.W.: Optimal cost design of water distributionnetworks using harmony search. Eng. Optim. 38, 259–280 (2006)

25. Lee, K.S., Geem, Z.W.: A new structural optimizationmethod based on the harmony search algorithm. Com-put. Struct. 82, 781–798 (2004)

26. Ayvaz, T.M.: Simultaneous determination of aquiferparameters and zone structures with fuzzy c-meansclustering and meta-heuristic harmony search algo-rithm. Adv. Water Resour. 30, 2326–2338 (2007)

27. Geem, Z.W., Lee, K.S., Park, Y.J.: Application of har-mony search to vehicle routing. Am. J. Appl. Sci. 2,1552–1557 (2005)

28. Geem, Z.W.: Novel derivative of harmony search algo-rithm for discrete design variables. Appl. Math. Com-put. 199(1), 223–230 (2008)

29. Vasebi, A., Fesanghary, M., Bathaee, S.M.T.: Com-bined heat and power economic dispatch by harmonysearch algorithm. Electr. Power Energy Syst. 29, 713–719 (2007)

30. Geem, Z.W.: Harmony search optimization to thepump-included water distribution network design. Civ.Eng. Environ. Syst. 26(3), 211–221 (2009)

31. Geem, Z.W.: Particle-swarm harmony search for waternetwork design. Eng. Optim. 41(4), 297–311 (2009)

32. Geem, Z.W., Kim, J., Loganathan, G.: Harmony searchoptimization: application to pipe network design. Int. J.Model Simul. 22(2), 125–133 (2002)

33. Degertekin, S.O.: Optimum design of steel frames us-ing harmony search algorithm. Struct. Multidiscipl. Op-tim. 36(4), 393–401 (2008)

34. Forsati, R., Haghighat, A.T., Mahdavi, M.: Har-mony search based algorithms for bandwidth-delay-constrained least-cost multicast routing. Comput. Com-mun. 31(10), 2505–2519 (2008)

35. Ceylan, H., Ceylan, H., HaIdenbilen, S., et al.: Trans-port energy modeling with meta-heuristic harmonysearch algorithm, an application to Turkey. EnergyPolicy 36(7), 2527–2535 (2008)

36. Fesanghary, M., Mahdavi, M., Minary-Jolandan, M.,et al.: Hybridizing harmony search algorithm with se-quential quadratic programming for engineering op-timization problems. Comput. Methods Appl. Mech.Eng. 197(33–40), 3080–3091 (2008)

37. Kaveha, A., Talataharib, S.: Particle swarm optimizer,ant colony strategy and harmony search scheme hy-bridized for optimization of truss structures. Comput.Struct. 87(5–6), 267–283 (2009)

38. Mun, S., Geem, Z.W.: Determination of individualsound power levels of noise sources using a harmonysearch algorithm. Int. J. Ind. Ergon. 39(2), 366–370(2009)

39. Mun, S., Geem, Z.W.: Determination of viscoelasticand damage properties of hot mix asphalt concrete us-ing a harmony search algorithm. Mech. Mater. 41(3),339–353 (2009)

40. Pan, Q.-K., Suganthan, P.N., Liang, J.J., Fatih Tasge-tiren, M.: A local-best harmony search algorithm withdynamic sub-harmony memories for lot-streaming flowshop scheduling problem. Expert Syst. Appl. 38, 3252–3259 (2011)

41. Pan, Q.-K., Suganthan, P.N., Fatih Tasgetiren, M.,Liang, J.J.: A self-adaptive global best harmony searchalgorithm for continuous optimization problems. Appl.Math. Comput. 216, 830–848 (2010)

42. Bresenham, J.E.: A linear algorithm for incrementaldigital display of circular arcs. Commun. ACM 20, 100–106 (1987)

43. Van Aken, J.R.: Efficient ellipse-drawing algorithm.IEEE Comp. Graphics Appl. 4(9), 24–35 (2005)

44. Kelly, M., Levine, M.: Finding and describing ob-jects in complex images: advances in image under-standing. IEEE Computer Society Press, pp. 209–225(1997)

45. Wilcoxon, F.: Individual comparisons by ranking meth-ods. Biometrics 1, 80–83 (1945)

46. Garcia, S., Molina, D., Lozano, M., Herrera, F.: A studyon the use of non-parametric tests for analyzing theevolutionary algorithms’ behaviour: a case study onthe CEC’2005 Special session on real parameter op-timization. J. Heurist. (2008). doi:10.1007/s10732-008-9080-4

47. Santamaría, J., Cordón, O., Damas, S., García-Torres,J.M., Quirin, A.: Performance evaluation of memeticapproaches in 3D reconstruction of forensic ob-jects. Soft Comput. 13(8), 883–904 (2009). doi:10.1007/s00500-008-0351-7

48. Chen, T.-C., Chung, K.-L.: An eficient randomized al-gorithm for detecting circles. Comput. Vis. Image Un-derst. 83, 172–191 (2001)