Multi-Circle Detection Guided by Multimodal Optimization Scheme

Automatic circle detection is one of the most important construction elements to design more complex industrial image tasks such as target detection, manufacture inspection and process control. Most of the literature concerning multi-circle detection can be categorized under deterministic or stochastic perspectives. Deterministic approaches combine geometric and histogram information to identify circle shapes. However, deterministic techniques are unable to detect circles in presence of noise, shape variance, or occlusion. On the other hand, stochastic methodologies such as metaheuristic algorithms have been also proposed as alternatives to deterministic approaches for circle detection. Although these techniques are in general more robust, they allow detecting only one circle per execution, translating the detection problem into a unimodal optimization problem. Under such conditions, it is necessary to execute multiple times the algorithm to identify all the circles contained in the image. In this paper, the multi-circle detection problem has been reformulated as a multimodal optimization problem. The proposed approach adopts the Multimodal Flower Pollination Algorithm (MFPA) to detect all the circular instances contained in the image. Experimental results suggest that the proposed approach significantly improves the multi-circle detection problem.


I. INTRODUCTION
Automatic circle detection problem involves the detection of circular shapes over images and video streams. The importance of automatic circle detection can be presented in several fields on engineering, science, and industrial processes [1]. Circle detection is considered as the elemental construction phase for more complex industrial image processing tasks such as manufacture inspection [2], target detection [3], and process control [4]. Most of the related literature to multicircle detection problem can be categorized under deterministic and stochastic methodologies. Deterministic approaches commonly consider the use of geometric and histogram information on an image to correctly locate circular shapes. Hough transform methods [5] employs an edge detector based on a parametric representation of circles and a voting mechanism.
The associate editor coordinating the review of this manuscript and approving it for publication was Sudipta Roy .
Histogram-based methods commonly used the peak detection information by filtering and averaging the image histogram.
Deterministic approaches provide interesting characteristics to detect circles over an image. However, most of these techniques present some issues in presence of noise and shape artifacts. To overcome such difficulties, researchers have proposed stochastic methodologies to overcome these issues. In general, stochastic circle detection methods include mechanisms such as random sample consensus [6], randomized Hough transform [7], fuzzy Hough transform [8], and evolutionary optimization algorithms.
In stochastic methods, the obtained solution of each methodology is based on the principle of randomness to mimic the abstraction process of uncertainty in human knowledge. Random processes significantly improve the performance of geometric and histogram-based methods by incorporating noise information on their structures and shape invariance to produce fitted solutions. The use of stochastic methods for circle detection has been employed in many fields. Even when stochastic versions of traditional Hough transform or random sample consensus methods have significantly improved the accuracy of the detection of circle shapes, these techniques present some drawbacks such as local minima stagnation [9], premature convergence [10] and scalability in high dimensionality [11], and real-time implementation [12]. Under such circumstances, researchers have adopted evolutionary algorithms to formulate the circle detection problem as an stochastic optimization problem [13], [14], [15].
Evolutionary optimization algorithms are a scalable alternative so solve complex optimization problems. Evolutionary computing combines the abstraction process of several natural, physical, or social phenomena with algorithmic structures to produce search strategies for global optimization. Some examples of evolutionary methods are categorized considering a bioinspired metaphor. Under this scheme, the Genetic Algorithm (GA) [16], the Artificial Bee Colony (ABC) [17], and the Flower Pollination Algorithm (FPA) [18] are some of the most popular methods. Also, considering a physical approach, the Gravitational Search Algorithm (GS) [19], as well as the Electromagnetism-like Optimization (EMO) [20] method are developed. Additionally, inspired by human social behavior, state-of-art literature exposes the War strategy optimization algorithm (WAR) [21] which is a novel search strategy based on ancient war strategy.
Over the last decade, researchers have adopted evolutionary algorithms to detect circular shapes within an image. In [22], the Teaching Learning Algorithm (TLA) has been proposed to improve the circle detection problem using the gradient information in the search space. A hybrid evolutionary segmentation approach based on Kapur thresholding method and the traditional Hough transform is presented in [23]. In the paper, authors improve the search mechanism of circular shape by combining a segmentation methodology to focus the search procedure into promising search zones in the search space. Then, the Hough transform is applied to detect into the promising zones of the histogram to efficiently detect leucocyte sections in hematological images. Pruthi et al. [24] proposed a segmentation method considering the optimization process of an elliptical model in conjunction with the Glowworm Swarm Optimization algorithm to detect glaucoma. In the paper, the evolutionary method is capable for search the optimal solution of the segmentation process considering the elliptical fitting of the solutions. Ayala-Ramirez et al. [25] proposes the use of GA as a circle shape detector. In the experimental section, the GA is able to detect multiple circular shapes but presents overlapping problems. Dasgupta et al. [14] adopts the Bacterial Foraging Optimization Algorithm to detect multiple circles over images. The proposed method is based on an objective function considering the center locations and radio lengths among candidate circles. A comparison study of recent evolutionary approaches for circular shape detection is presented in [26].
Most of the published literature related to circular shape detection using evolutionary algorithms has attracted the attention of many researchers who combine different approaches to significantly improve circular shape detection over images. However, most of these approaches consider a multi-circle detection problem as a unimodal optimization task. Under this methodology, several suboptimal solutions may lead into false positive detection. Under such perspective, the algorithmic structure of unimodal evolutionary algorithms is not capable to handle multiple optima detection in a single run.
Therefore, from a practical perspective it is desirable to detect and maintain all possible circular shapes during the optimization process. The process of finding multiple optima solutions in a single run is known as multimodal optimization.
In multimodal optimization schemes, several mechanisms to efficiently locate, maintain and register both optimal and sub-optimal solutions during the optimization process are required. Over the last decade, some multimodal optimization algorithms have proposed to adopt multimodality into the structure of their exploration and exploitation stages. These multimodal evolutionary strategies have been developed to operate under the real-world multimodal objective functions to obtain not only the optimal solution but also a set of possible sub-optimal solutions. In this paper, the Multimodal Flower Pollination Algorithm (MFPA) [27] has been adopted the original structure of the Flower Pollination Algorithm (FPA) [18] with the extension of multimodal capabilities to detect optimal and sub-optimal solutions into a multi-circle detection problem.
In this paper, the multi-circle detection problem has been reformulated as a real multimodal optimization problem. That is, at each single iteration, the MFPA method can detect not only the best fitted circle in an image but also all potential circles in an image in a single run. The inherent nature of multi-circle detection problem indicates that the detection problem is not solved only by the fittest circle found but for all the potential solutions may be involved in the optimization process. Under such circumstances, the multi-circle detection problem must be solved by a real multimodal optimization algorithm. The experimental study of the proposed approach indicates that MFPA can detect most of the circles even in presence of noise, overlapping objects and avoiding false positive circles in a single run of the algorithm. Experimental results suggest the superior performance of the MFPA against traditional unimodal optimization algorithms commonly used in multi-circle detection problem.
The structure of the paper is organized as follows: Section III describes the algorithmic structure of the original MFPA. In Section III, the multimodal formulation of multicircle detection problem is defined. Section IV describes the main parts of the multi-circle detection problem into the evolutionary stages of the MFPA. The experimental study is analyzed in Section V. Finally, In Section VI some conclusions and future search directions are presented.

II. MULTIMODAL FLOWER POLLINATION ALGORITHM (MFPA)
Multimodal Flower Pollination Algorithm (MFPA) is the modified version of the original Flower Pollination Algorithm (FPA) to solve multimodal optimization problems proposed by Galvez et al. [27]. The original FPA methodology is based on the biological process of flower pollination. The pollination process consists by transferring pollen between flowers for their reproduction. This mechanism can be carried out by living organisms such as insects, honeybees, birds, or other animals or by non-living organism such as water and wind.
The computational procedure for the FPA method, consists of simplifying the biological aspects of flower pollination in terms of three stages.
• Global pollination trough Lévy flights. Under this mechanism, living organisms travel through Lévy flights over the entire search space (exploration stage). Lévy flights mimic the peculiar behaviors of living organisms for traveling long distances to deposit pollen over flowers.
• Local pollination considering flower constancy. Under this procedure, the flower constancy among pollination agents and flowers is achieved by local movements. This mechanism enhances the exploitation stage over the search space.
• Switch probability. This procedure controls the switching strategy between global pollination and local pollination during the optimization process. The MFPA method extends the search capabilities of the original structure of FPA to locate multiple optima at a single execution. Most of the application of evolutionary optimization algorithms tend to converge into only one global optimum. However, the global solution may be composed by expensive or impractical parameters. Under such circumstances, the MFPA efficiently identify multiple global and local optima. The MFPA operates using three computational procedures. The first procedure is called Memory Mechanism (MM), which involves the use of a memory structure to maintain not only good fitness solutions but also bad fitness solutions as potential optima solutions. The second procedure called Selection Strategy (SS), consists of selecting individuals directly from the memory structure to increase the population diversity of the solutions. The third procedure called Depuration Procedure (DP) is a depuration mechanism to avoid redundant solutions. To operate over these procedures, MFPA divides the evolutionary process into three stages. The first stage (s = 1) involves from 0 to 50% of the maximum number of iterations (MAX_ITER). The second stage (s = 2) involves from 51 to 90%. And the third state (s = 3) involves from 91 to 100%.
Under this scheme, MFPA obtains a collection of solutions which correspond to optimal values for a given objective function. From an optimization point of view, the objective function to be solved by the MFPA (considering a minimization approach) can be generalized as follows: where X best corresponds to the collection of solutions which minimizes the objective function J during the optimization process. X corresponds to the population of individuals. In MFPA, a population of individuals at k-th iteration can be represented as X k = x k 1 , x k 2 , . . . , x k n , where n corresponds to the total number of individuals within the population. Additionally, each element of the population represents a d-dimensional solution vector: . . , n} indexes a certain solution within the n-th element within the population. In the following subsections, the multimodal optimization process of the MFPA is described in terms of the three computational procedures.

A. MEMORY MECHANISM (MM)
In multimodal optimization problems, global and local optima must be correctly identified. To indicate whether a solution can be potential optimum, it must fulfil with two characteristics; it represents good fitness values and it is considered as the best solution within its neighborhood. Under such circumstances, the MM mechanism of the MFPA uses a memory structure to register potential candidate optima considering the previously characteristics. This memory structure also considers not only new solutions but also past solutions during the evolutionary process. The memory structure is composed by an array of g-th M = m 1 , m 2 , . . . m g elements, where each element corresponds to a d-dimensional solution vector m w,1 , m w,2 , . . . , m w,d in the optimization problem, where w ∈ {1, 2, . . . , g}. To achieve a correctly memory registration for a given element, the MM procedure is conducted over two stages: memory initialization and memory capture. The memory initialization stage only occurs when k = 0. In this stage, the best solution in the population is registered into the memory. Once this initialization procedure is complete, the capture phase is conducted according to the following description.

1) CAPTURE PHASE
The main objective of this stage is to register potential optima during each iteration of the evolutionary process. To register a solution x k i into the memory structure, x k i is tested applying two fitness value rules. These fitness rules fulfil the two previously described features to register potential optima into the memory structure.

a: SIGNIFICANT FITNESS VALUE RULE
Under this rule, the comparison of the fitness value for the solution x k i and the fitness value of the worst element inside the memory m worst is conducted. This rule considers the solution x k i as a candidate global or local optimum if its fitness value is better than the fitness value of m worst . After this, the rule considers whether the solution x k i corresponds to a 47886 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
new optimum or it is like other element inside the memory.
To compute this similarity, the normalized distance D i,g among x k i solution respect to the rest of elements inside the memory structure M is calculated as follows: where l upper {1,2,...,d} and l lower {1,2,...,d} corresponds to the fixed upper and lower bounds within the search space defined by (1). And m g , represents an element of the memory. Next, it is computed a probability function parameterized by the current state of the evolutionary process s as follows: where D i,n corresponds to the distance among x k i and the nearest element of memory m n . The effect of the current state, s (3), indicates that large distances will be promoted at early iterations of the evolutionary process increasing the probability that the solution x k i belongs to the memory structure. In counterpart, in final iterations of the evolutionary process, small distances will be computed decreasing the probability that the solution x k i belongs to the memory structure. Finally, to decide if the solution represents a new optimum or similar solution respect other elements inside the memory structure, a random number α is produced. Then, if α is less than P D i,n , s , the solution x k i will be considered as a new optimum hence, it will be registered into the memory. Otherwise, the fitness value of the solution x k i is compared to the fitness value of the m n memory element. The complete significant fitness value rule can be generalized by the following: The Significant Value Rule involves the incorporation of a given solution into the memory structure if the solution represents good fitness value. Contrary to this, the Non-Significant Fitness Value Rule will register solutions with worse fitness values. Under this rule, the incorporation of the solution x k i is based on the computation of the probability of the relationship among the x k i and the best x best and worst x worst solutions currently available in the population. The probability function is then computed as follows: Then, (6) is calculated. In this equation, the probability P corresponds to a probability greater than 0.5 if the solution Finally, to test whether the solution x k i can be part of the memory structure, a random value β must be less than the P probability from (6). Then, the normalized distance from (2) is computed to obtain the shortest distance value determined by the n-th element of the memory (m n ). For the inclusion of the solution x k i into the memory structure, the following rule is applied: where γ is a random number among the range [0-1], which indicates if the tested solution must be part as a member of the memory structure or not. This scheme contributes to increase the population diversity within the memory structure. s corresponds to the actual state of the evolutionary process.

B. SELECTION STRATEGY (SS)
This procedure extends the capabilities of the original elitist selection criterion from the FPA to incorporate multimodal capabilities. MFPA considers a selection mechanism for capturing potential global and local optima. In the SS strategy, a new population X new is composed by the first n memory elements, where n corresponds to the size of the population. The selection mechanism replaces each individual of the original population for each element belonging to the memory structure to improve population diversity over the entire optimization process.

C. DEPURATION PROCEDURE (DP)
The MM and SS mechanisms of MFPA, allows multiple optima to be registered into the memory structure at each iteration of the optimization process. However, the memory can contain element redundancy for that, a depuration procedure must eliminate element redundancies insider the memory structure improving the identification of valid and significant optima. The execution of the DP mechanism occurs at the end of each stage s of the evolutionary process. In MFPA, the DP procedure computes the distances between memory elements to eliminate concentrations of redundant elements while maintains the most significant memory elements. To accomplish this task, it is obtained the distance among elements within the memory. Then, a depuration ratio is computed for each element of the memory considering the midpoint between each pair of memory elements. Then if the fitness value of the midpoint among two memory elements J m i + m r 2 is not worse than J m i and J (m r ) , m r is cataloged as part of the same neighborhood (concentration) of the solution m i . Otherwise, the m r element is considered part of another concentration. If the last condition occurs, then the 85% of the distance among the solution m i and the m r element is considered as a maximum VOLUME 11, 2023 depuration ratio. Finally, all the memory elements inside the neighborhood generated by the depuration ratio are removed.

III. PROBLEM FORMULATION
In this paper, the multi-circle detection has been formulated as a minimization problem which objective is to obtain global and local solutions. Where each solution represents a circle in a given image. The mathematical description of the multicircle detection problem is defined as: where C, corresponds to any circumference (global or local optima) which minimizes the correspondence function E(·) regarding the number of pixels N s of the i-th circumference (c i ). The correspondence function E(·) is defined as: where (x i , y i ) corresponds to a pixel belonging to a edge point of the circumference c i .

IV. MFPA FOR MULTI-CIRCLE DETECTION
In counterpart to unimodal optimization problems, multimodal optimization problems yield to a set of possible global and local optima solutions. Under such circumstance, the set of optimal solutions depends directly on the context of the application. In multi-circle detection problem, it is required to obtain most of the circles within an image in a single run. In this context, the computational procedure for multicircle detection problem operates over two different domains in order to implement the correspondence function of (8). The index space domain involves an edge map obtained by a pre-processing stage. Then, each solution of the MFPA is transformed into circle space domain to compute an estimated circumference. As a result, the implementation of the MFPA involves several stages to minimize (8). At first, a pre-processing stage must be applied to eliminate noise and false positive circles from source image. In the pre-processing procedure, a Gaussian filter has been applied to each benchmark image. To obtain an edge map from the original image, the Canny edge detector has been applied. After the Canny algorithm, four types of dilatation operations have been applied to the edge map with the objective of reduce the search space i.e., the edge pixels in the edge map. These dilatations remove lines that are 3 pixels length and with angles of 45 • , 90 • , 135 • and 180 • (measured in a counterclockwise direction from the horizontal axis). The effect of such dilatations can be seen in Fig. 1. In comparison to other pre-processing filters, the Gaussian and Canny filters present several advantages such noise reduction, edge preservation and smoothness. The Gaussian filter increase the structural information of the edges rather than other filters where structural edge information may be lost. On the other hand, the Canny filter is more sensible to compute significant edge information. Since the proposed approach operates over an edge map, the required images for the optimization process, must contain robust edge information. For this paper, the standard deviation for both Gaussian and Canny filters was configured by 2. And for the Canny filter, the lower threshold was set by 0.1 and 0.3 the highest threshold, respectively. From Fig. 1, it can be shown that the image dilatations can remove noisy patterns in the edge map and preserve enough circle pixels to detect them.
After the pre-processing stage is achieved, the initialization process of the MFPA considers a population of individuals (circles) in the index space domain. Then, each solution is transformed into a parametric representation of a circle to obtain an estimated circumference to compute the correspondence among the estimated circumference and the edge map. Also, the multimodal capabilities of the MFPA register potential circles in a memory structure. Finally, a depuration procedure eliminates redundant circles obtain by the exploration and exploitation operators of the MFPA. The implementation of the computational procedures for MFPA to solve multi-circle detection problems is described in the following sub-sections.

A. INITIALIZATION
In MFPA (as well as the rest of tested evolutionary methods), an individual (circle) c i is composed by a 3-dimensional vector c i = (p i , p j , p k ) where p i , p j and p k corresponds to three randomly chosen points of the edge map. In this representation, each solution is expressed in the index space domain. To compute the fitness value (8), a circle space domain representation is required for each solution to obtain the estimated circumference. In this representation, a solution is encoded by a 3-dimensional vector c i = (x 0 , y 0 , r) where x 0 and y 0 corresponds to the circle's center and r represents the circle's radius. The transformation of index space domain and circle space domain is based on the second-degree equation of a circle as follows: To compute the 3-dimensional vector c i = (x 0 , y 0 , r), the following mathematical description is defined as: The mathematical description in (11) corresponds to the computation of the circle center (x 0 , y 0 , and the radio r based on the circle equation [28]. A graphical description for the index space domain and the circle space domain can be shown in Fig. 2. Then, the approximated circumference obtained by the circle space representation is computed using the Bresenham's Algorithm [29].

B. MEMORY MECHANISM (MM)
In the capture phase of the MM mechanism, each solution is compared against the worst element within the memory structure to determinate whether the Significant Value Rule will be applied. If that is the case, then the probability P D i,n , s described in (3) is calculated; however, the normalized distance D i,g is calculated using the circle space representation of the solutions and memory elements, giving as result the (12): are the lower bounds of the circles. After P D i,n , s is calculated, the Significant Value Rule behaves exactly as it was defined in (4). In the case where the Significant Value Rule is not applied, the probability P defined in (6) is calculated to determinate whether the Non-Significant Value Rule will be applied. If this rule is applied, then D i,g is calculated as described in the (12) and the process continues as described by (7).

C. SELECTION STRATEGY (SS)
The selection strategy is applied at the end of each iteration. Here, the memory size h is compared with the current population size n. If h > n, the new population X new is formed by the best n memory elements; otherwise, X new is formed by substituting the first h population solutions with all the memory elements.

D. DEPURATION PROCESS (DP)
At the beginning of the depuration process, the circle space representation of the memory elements is calculated. Next, the Euclidean distance and midpoint p g,i between each one of the circle space representation of the memory elements m g and m i is calculated, being g ̸ = i. Then, the midpoint p g,i is evaluated in the objective function; if the fitness value of p g,i is not worse than the fitness values of m g and m i , m i is considered being part of the same concentration of solutions around m g . However, if the fitness value of p g,i is worse than the fitness values of m g and m i , the element m i is considered part of another concentration of solutions and thus, the 85% of its distance with m g will be saved as a depuration range. Finally, all the solutions inside the depuration range of each one of the m g solutions are removed from the memory.

V. EXPERIMENTAL RESULTS
In this section, the performance of the MFPA has been compared against three commonly used unimodal evolutionary approaches; namely Differential Evolution (DE) [30], Harmony Search (HS) [32] and Grey Wolf Optimizer (GWO) [15]. Additionally, the performance of the proposed method is compared against Multimodal Particle Swarm Optimization (MPSO) [26]. All the evolutionary algorithms used in this experimental study, have been proposed to solve multi-circle detection problem. DE [31], HS [33], and GWO [34] by a unimodal fashion, and MPSO considering a multimodal perspective [35].
Due to the lack of standard benchmark dataset for circle detection problem, a dataset conformed by synthetic and real images is considered. The proposed dataset in this paper consists of 25 images. 15 images are synthetic, and 10 images are real-world photos where circular shapes are contained. For all the images considered in the dataset, the resolution was 640 × 480 pixels. The synthetic images incorporate several complexities regarding different geometric shapes and noise. The experiments have been performed using MATLAB R2022b running over Windows 11 Pro, 12 th Gen Intel Core i7-CPU, 3.60 GHz with 16 GB RAM. Furthermore, for each image a list of Ground Truth Circles (GTC) G I = {(x 1 , y 1 , r 1 ), (x 2 , y 2 , r 2 ), . . . , (x m , y m , r m )} is also defined, where m is the total number of GTC on an image I . The GTC list is used to measure the precision of circle location, size and number of circles found by the tested evolutionary algorithms. For the performance comparison, several indexes have been considered in the experimental study. The first performance index is the Vector of Coincidence (VC), which stores information regarding how many, and which circles were found. The coincidences value indicates the number of circles found in the image including redundant solutions. The Effective Circle Number (ECN) computes how many circles each evolutionary approach is able to recognize eliminating redundant circles in the image. Also, the Nearest Circle Distance (NCD) is the distance among an approximated circumference and its corresponding GTC. To avoid random effect, the mean and standard deviations are also calculated to obtain robustness measurements.
To make a fair comparison of the tested algorithms and the experimental study, the number of iterations and the number of solutions in the population has been set to 100 and 200, respectively for each evolutionary scheme. To eliminate the random effect, each algorithm has been executed 30 times for each image. At the end of each single run, only the solutions with a fitness value equal or less than -0.9 were considered to avoid false positive solutions. Additionally, as the DE, HS, and GWO methods do not have multimodal mechanisms to preserve multiple optima through the iterations, redundant solutions have been removed. To maintain compatibility in published literature, each evolutionary method was implemented following their original guidelines proposed by the authors. For the numerical performance comparison, the parameters of each evolutionary methodology, was configured according to published literature related to solve multicircle detection problem. Such parameter configuration is exposed in Table 1.
For all the experiments, each particle (circle) considers the low radius threshold was set to R min = 10 pixels, while the high radius threshold value was given by the following equation: where min(width I , height I ) corresponds to the minimum value in pixels between the width and height of the current image I . Both thresholds were experimentally obtained to eliminate false positives. For the low radius threshold, 10 pixels seemed like a value small enough to do no let the algorithm find little circles formed by the noise in the image, as for the high radius threshold, the value was selected such that the largest possible circle wound not be larger than the image, i.e., it can fit completely in it.

A. PERFORMANCE CRITERIA
To analyze the performance of the MFPA against DE, HS and GWO, a vector of coincidences VC used to measure how many and which circles were found by each evolutionary approach. The number of elements of this vector is equal to the GTC in the analyzed image and each element of the vector corresponds to the number of times that a ground truth circle was found; thus, the first vector element of VC is the number of times that the first ground truth circle was found, the second element is the number of times that the second ground truth circle was found, and so on.  For example, if an image I contains 3 ground truth circles, i.e, G I = {(x 1 , y 1 , r 1 ), (x 2 , y 2 , r 2 ), (x 3 , y 3 , r 3 )}, and the coincidence vector VC contains VC = (2, 1, 1), it means that the algorithm found the circle (x 1 , y 1 , r 1 ) 2 times and the circles (x 2 , y 2 , r 2 ) and (x 3 , y 3 , r 3 ) one time each. Furthermore, in this case it is said that the algorithm obtained 4 coincidences i.e., it found a total of 4 circles.
The coincidence vectors are also used to calculate the Effective Circle Number (ECN), which represents the cardinality of the coincidence vector VC where each component must be greater than zero. Generally, it can be said that the coincidences metric counts the total number of circles found by the algorithm considering redundant solutions, while ECN counts the number of circles found by the algorithm without redundant solutions.
To associate a solution c i with a ground truth circle GTC i , the Nearest Circle Distance (NCD) between the obtained solution by an algorithm and each of the GTC is calculated as follows: where c i is the i-th solution expressed in the circle space, GTC i is de i-th ground truth circle and || is the norm function.
The NCD metric represents the minimum error which measures how close a solution c i is to the nearest ground truth circle. The NCD is used as a measure of the precision of a solution, as the larger this value is, more different the solution is from the ground truth circle to which is more alike.
To eliminate the random effect, the mean µ(VC) and standard deviation σ (VC) of the elements of the coincidence vectors are computed. In the ideal scenario, each algorithm finds all the circles once, resulting in µ(VC) = 1 and σ (VC) = 0. If µ(VC) < 1 then, the algorithm did not find all the circles in the image, and if µ(VC) > 1, the tested algorithm found more circles than it should. On the other hand, if σ (VC) > 0 then, the algorithm found some circles more times than others.
It is important to notice that µ(VC) and σ (VC) are metrics that complement each other, as the mean could be equal to 1 even if not all the circles were found, or the standard deviation could be 0 even if the number of circles found is not correct. So, to have a good insight of the performance of the algorithm both values should be analyzed. For example, in the case that VC = {0, 1, 0, 3}, despite that µ(VC) = 1, 2 circles were not found, and one was found 3 times. This scenario is reflected in the value of σ (VC) which in this case is 1.4142. Another example is the case VC = {3, 1, 2, 1}; here σ (VC) = 0, but the algorithm found some circles multiple times, which is shown by the value of µ(VC) that in this case is 1.75.

B. PERFORMANCE COMPARISON
In this section, the numerical results for the performance comparison among MFPA and the rest of tested algorithms is presented. To measure the performance of each evolutionary algorithm, the performance indexes from Section V-A must be computed. Since the performance metrics evaluate the GTC, a definition of GTC is required.
For the synthetic images, the GTC can be easily identified as these only consist in simple black shapes on a white background. However, this is not the case in some of the real images due to observer interpretation. To avoid ambiguities in real images, the circles considered for the experimental study had been selected by analyzing the edge maps of the images, as the shapes can easily be identified. The edge maps and the ground truths that were used in the experiments can be shown in Table 2.
For the performance analysis, Tables 7, 8 and 9 (These tables are organized in Appendix A) report the numerical results for each algorithm. In the tables, it is exposed each GTC considering the form (x, y, r). Table 7 contains 10 synthetic images with different complexities regarding different geometric shapes. Table 8 contains 10 real photos containing circle shapes. Finally, Table 9 exhibit the performance results of synthetic images containing noise to test the scalability of the proposed method and the rest of tested algorithms. Each experiment has been conducted through 30 independent runs to avoid random effect. According to the ECN metric, Table 7 suggests that only the MFPA method obtains the total number of circles for each image. These results indicate that the proposed method is able to capture all potential optima within a multimodal environment. Under such situation, MFPA obtains each circle without redundancy. This is corroborated by the VC metric. Since the VC vector measures the coincidences among GTC and approximated circles, it is considered only the cardinality of the VC vector. Contrary to the MFPA, the rest of evolutionary methodologies considered in the experimental study do not detect efficiently most of the circles. According to the NCD metric, which computes the error distance among the GTC and the approximated circles by each image, almost all the tested algorithms produce good results comparing their distances among an approximated circle with a ground truth circle. The numerical results of the MPSO, indicate that the multimodal strategy of MPSO, does not obtain reliable results since it computes multiple false positive outcomes.
From the numerical results from Table 7, the proposed method is the only approach that obtains most of the ground truth circles with consistent results, also considering the results of the MPSO, it is quite clear that the multimodal structure of the MFPA outperforms the multimodal strategy for MPSO in terms of robustness. The memory management of the MFPA efficiently captures potential optima using a multimodal optimization approach for multi-circle detection in a single run. Contrary to the rest of algorithms, these algorithms are not capable to detect multiple optima in a single run. Table 7, indicates that the proposed method is able to detect most of the circles even when overlapping circles, overlapping shapes and complex geometric shapes are presented. This is achieved by the balance of the exploration and exploitation operators and the memory management rules to produce non-redundant solutions.
The multimodal nature of the multi-circle detection problem is an evident approach of the lack of capabilities of unimodal optimization algorithms to detect multiple circles in a single run. Under such circumstances, the outstanding performance of the proposed multimodal algorithm achieves a better alternative to the multi-circle detection problem.
To test the scalability of the proposed method against unimodal optimization methods, Table 8 exhibits the numerical results of the performance analysis considering real photos containing multiple circular shapes.
According to Table 8, MFPA outperforms the rest of tested algorithms in terms of the ECN metric. By analyzing the ECN metric, the MFPA method presents some issues even when it performs better than its competitors. This is due to the inherent artifacts of real photos. Commonly, real photos contain several image artifacts such as: color similarity, sharp contrasting edges and color sensibility. However, even when these issues are presented, the proposed approach is able to approximate most of the ground truth circles. As it can be deduced from the numerical results of the NCD method, the proposed approach obtains the lowest error distances among GTC and approximated circles than DE, GWO, and HS methodologies. These results are validated considering the VC vector which corroborates the ECN metric.
It can also be shown that from some images, no algorithm can obtain a single circle, This could be caused by the position of the circle in the image making this optimal harder to be found, also, some parameters could be needed to be set in specific values in order to find it or even the number of circles in the image could be too large for the number of solutions in the populations and so, a larger number of solutions could be needed.
Even with some of these issues, the proposed method outperforms its competitors in most of the cases.
The numerical results obtained by the MPSO indicates that the multimodal methodology is not capable of finding multiple circles efficiently. On the other hand, the MFPA is capable to locate potential circle solutions in a more efficient multimodal approach than unimodal approach for the multicircle detection problem.
On the other hand, synthetic images containing noise are interesting test images to evaluate the performance of a multi-circle detection problem. Since noisy synthetic images contain point noise, the optimization process can present difficulties since each point noise contributes to the sensibility of a circle detection problem. Under such circumstances, synthetic images with noise can significantly restrict the performance of any optimization technique. Additionally, to the image noise, the obtained edge map to compute the objective function adds image artifacts to the images. The Canny algorithm produces duplicate number of circles in the image. This effect can be observed in Fig. 3.
According to Table 9, only the MFPA is capable to detect most of the circles in a single run even with the presence of noise. The structure of the MFPA method allows to operate over noisy images containing overlapped and duplicate circles. It is quite evident that the rest of unimodal and multimodal methods are prone to fail against image noise. In Table 3 are shown the most representatives examples  of the outcomes for each evolutionary algorithm for every   image in the dataset from Tables 7, 8 and 9. In Table 3, it can be visually demonstrated that almost every image obtained by the MFPA method found every circle, while the other algorithms struggled to find all of them as more complex the images become (for example, images 18, 21, 22, 23, 24 and 25). In images 8 and 9 it is more notorious the problem mentioned previously concerning circles defined by contours, however this exposed another advantage of multimodal approach which is the capacity of finding circles even if they are relatively close to each other.
From the visual results in Table 3, it can be demonstrated that the proposed methodology outperforms the rest of tested algorithms commonly used in the multi-circle detection problem. The balance among exploration and exploitation in combination of the memory structure of the MFPA method produce the best outcomes. The visual results indicate that the MFPA is able to find most of the circles even in complex images containing noise. The multimodal capabilities of the MFPA allows the accurate detection of most of the circles in a single run of the evolutionary method.

C. SENSITIVITY ANALYSIS
In this section, a sensitivity analysis is conducted in order to gain insight about how the multimodal nature of the algorithm affects the experimental outcomes. For that, an example of each type of image (noiseless synthetic images, real photos and noisy synthetic images) is selected to perform new experiments in which the values of µ(CV ) and σ (CV ) are analyzed when the percentage of the distance between memory elements used in the depuration procedure as depuration ratio is changed. The considered values by the analysis were 5%, 15%, 25%, %35, 45%, 55%, 65%, 75%, 85% and 95%. The algorithm has been executed 30 runs per image. Furthermore, the test images containing the greater number of ground truth circles per image set were chosen. In Tables 4, 5  In Table 4 and Fig. 4, it is clear how µ(CV ) and σ (CV ) values start being relatively high and stabilized near the ideal scenario value when the depuration ratio percentage value is greater than 25%. However, µ(CV ) reached its best value at 85% and σ (CV ) at 75% (here, best value means that they are closer to the ideal scenario value). It is also interesting to notice that, when the depuration ratio percentage value is greater than the one in which µ(CV ) and σ (CV ) were closer to the ideal scenario values, µ(CV ) and σ (CV ) start to increase.
In Table 5 and Fig. 5, a similar behavior than the previous case can be seen. Here, both µ(CV ) and σ (CV ) reach their best value when the depuration ratio percentage value is 85% and when the percentage values is 95%, they get far from the ideal scenario value.
The case shown in Table 6 and Fig. 6 is a bit different, here the behavior of µ(CV ) and σ (CV ) as the depuration ratio percentage value increases seems more erratic which could be due the amount of noise in the image. However, it is interesting to notice that, when the depuration ratio percentage value is 85%, µ(CV ) and σ (CV ) tend to be near the ideal scenario value. However, different from previous cases, here σ (CV ) gets better value at 95% instead of getting worse.
With this analysis, it can be shown that when the depuration ratio percentage has lower values, the algorithm finds a considerable number of redundant circles in the images. This makes sense because lower depuration ratio percentage values cause the algorithm to identify with grater probability near located solutions in the search space as belonging to different concentrations. Furthermore, it is interesting that in general, µ(CV ) and σ (CV ) tend to be closer to the ideal scenario value when the depuration ratio percentage value is greater than 25% but tend to be far from it as the percentage value is higher than 85%. As a conclusion, it can be shown that values near 85% could in general lead to be acceptable results. However, due the erratic behavior described in the third case, this could be different for noisy images and each case should be analyzed independently if results are not the expected.

D. COMPUTATIONAL EFFORT AND TIME COMPLEXITY
In this section, the computational effort as well as the computational complexity of the evolutionary algorithms is discussed. To compute the computational effort among the tested methodologies, the average execution time for each  Table 4.   Table 5. experiment is described in Tables 7-9 in seconds (s). As it can be shown in Tables 7-9, it is quite evident that DE, HS, GWO, and MPSO executes faster than MFPA. However, the obtained results by the MFPA represent more consistent results in terms of the performance indexes. The multimodal mechanism of the proposed MFPA for solving multiple circle detection problem results into a novel perspective which execution time is not so long comparing to the execution time achieved by the GWO. Under such circumstances, the proposed multimodal methodology for circular shape detection is computationally efficient approach compared to unimodal formulation in terms of execution time.
To analyze the computational complexity of the MFPA and the rest of algorithms. It is considered K as the maximum   Table 6.
number of iterations, d as the number of considered dimensions for an optimization process, and n as the population size. The computational complexity of the DE variant in the experimental study; DE/rand/1/bin is computed as O(n · d · K) [36]. Also, the computational complexity of the HS algorithm is O(n · d · K) [37]. As it can be shown, either the algorithmic structures of DE and HS are not complex, which makes efficient alternatives to implement to solve multiple optimization problems. On the other hand, the computational complexity of MPSO is O(n 2 ). However, comparing the performance results in the experimental analysis, it can be demonstrated that GWO and MFPA obtain better results in terms of accuracy and robustness. Under such circumstances, the computational complexity of GWO and MFPA may represent more complex algorithmic structures. The computational complexity of the GWO is divided into two main processes: the leader selection mechanism O(n) and the update position strategy O(n · d) for each iteration ek. For that, the complete complexity is reduced to O((n + (n · d) · K)). On the other hand, to analyze the complexity order of the MFPA, the complexity of the original FPA must be analyzed.
The original optimization process of the FPA can be divided into global pollination and local pollinatio. Considering both evolutionary processes in the algorithmic structure, the complexity order is O(2n) which can be reduced into O(n). For that, the complete complexity of the FPA given K iterations is given by O(n · d · K). Finally, since the MFPA considers a multimodal strategy to preserve potential optima in a single run, the complexity order can be divided into the five mechanisms of the MFPA namely, Global pollination, Local pollination, Memory Mechanism, Selection Strategy and Depuration Procedure. Since MFPA uses the Global and Local pollination procedures for the original FPA, the complexity is O(n). For the MM mechanism, the complexity is O(n 2 ) due to the comparison among the entry elements and the stored elements in the memory structure. Also, considering the SS procedure, the elitist criterion can consist of preserving only the best solutions during the entire optimization procedure. Under such circumstance, the complexity for the SS mechanism is O(1). The last multimodal operator for the MFPA namely, Depuration Procedure, consist of evaluating the Euclidean distance of each memory element to eliminate redundant solutions. Under this perspective, the complexity is given by O(n 2 ). The entire computational complexity of the MFPA can be computed as O(n + n 2 + 1 + n 2 ), which can be reduced into O(2n 2 + n + 1). From the previous complexity analysis, it can be deduced that the unimodal evolutionary algorithms presented in this paper achieve linearly time complexity. However, the purpose of this paper is to reformulate the circular shape detection problem into a multiple circular detection. For that, the presented paper incorporates a multimodal version of the original FPA (MFPA), to efficiently store and manage multiple optima, where each solution corresponds to unique circular shape. Under such approach, the MFPA incorporates several procedures to extend multimodal capabilities. Most of multimodal strategies in published literature are based on niching and speciation which incorporates quadratic terms in their algorithmic structures. Under such circumstances, the MFPA also contains quadratic complexity. For that, MFPA is an efficient methodology considering a multimodal optimization approach.

E. DISCUSSIONS AND LIMITATIONS
Most of the published research related to evolutionary algorithms present the design and application of unimodal evolutionary algorithms to solve multimodal optimization problems. Real-world optimization problems commonly yield into unimodal and multimodal mathematical formulations. Unimodal optimization problems relate to the process of finding a single global optimum over objective functions which mostly represent multimodal topologies. However, from a practical point of view, global optima may not always be realizable due to several realistic constraints. For that, unimodal evolutionary algorithms may not be suitable to operate into multimodal topologies. Under such circumstances, multimodal evolutionary algorithms can be an alternative methodology to obtain multiple optimal solutions during the optimization process. In this paper, multiple circle detection problem within images is reformulated as a multimodal optimization problem. For that, a multimodal evolutionary algorithm which can find multiple circles in a single run is required. The MFPA extends the capabilities of the original FPA to incorporate multimodal functionality in its evolutionary strategy. The multimodal capabilities of the MFPA are divided into three main procedures. The first computational procedure is the Memory Mechanism (MM). In this procedure, each solution competes to be preserved in future generations. This mechanism only stores potential optima at each generation in a memory structure. This process is based on the distance and the fitness value of each solution. As a result, the MM allows to increase the population diversity at each iteration. The second procedure is the Selection Strategy (SS). Under this process, new solutions are added into the memory structure at each iteration. This procedure improves the exploration stage (global pollination operator of the original FPA) of the optimization process by exploring wider zones in the search space in future generations. Since the MM and SS mechanisms store new elements into the memory structure, a cleaning process to maintain diversity and balance among exploration and exploitation stages is required. Under such circumstances, the third computational component called Depuration Procedure (DP) cleans the memory structure in order to eliminate redundant solutions in the memory avoiding the formation of solutions clusters. This mechanism improves the exploitation stage (local pollination operator of the original FPA) by exploring narrower zones in the search space in future generations. According to the performance results of the MFPA and the rest of tested evolutionary methods, it is quite evident that the combination of the MM, SS and DP procedures in conjunction to the original FPA operators, result into a powerful multimodal scheme for solving multiple circle detection problem. The remarkable performance of the MFPA against the rest of evolutionary methods is based on the balance among exploration and exploitation strategies improving the population diversity at each step during the entire optimization process. However, even when the MFPA outperforms the rest of unimodal algorithms in the multiple circle detection problem. The MFPA presents some drawbacks. At first, the MFPA takes more execution time than the rest of unimodal techniques considered in the experimental study. The larger computational effort in the MFPA is due to its quadratic algorithmic structure. One future work direction of the proposed methodology is to reduce the algorithmic complexity over multiple circle detection problem. For that, some improvements can be implemented in the MFPA such as: improvement of the depuration procedure so the comparison among each memory element can be computed considering another distance metric. The memory structure can be implemented considering a dynamic memory allocation process to accelerate memory access. Also, the fitness-based rules can be substituted considering a fuzzy approach, where membership functions may consider distance and fitness to generate some thumb rules to model uncertainty and improve population diversity.

VI. CONCLUSION
Most of related literature in multi-circle detection problem is based on a unimodal optimization perspective, where VOLUME 11, 2023 is required. In this paper, the multi-circle detection problem has been reformulated as a real multimodal optimization problem. In the proposed approach, a single run of a multimodal optimization algorithm yields to multiple optima solutions. The proposed approach considers the Multimodal Flower Pollination Algorithm (MFPA) to obtain multiple circles on an image in a single run. According to the experimental study, MFPA presents outstanding performance in comparison with traditional unimodal optimization algorithms commonly used in multi-circle detection problem. The proposed method finds in most of the cases all the circles in the analyzed images in a single execution. Furthermore, the experimental results suggest that MFPA considers high tolerance to the presence of noise, outperforming the rest of the algorithms in noisy and real images. Also, the proposed method is able to remove redundant solutions.
This research work considers how multimodal approaches can be a viable alternative to solve practical problems that require multiple solutions to being localized despite being a relatively little explored area in metaheuristics. However, it is possible that the adaptation of problems to the multimodal approach could not being as trivial as applying the algorithm directly on the search space of the problem and thus, it could be necessary a deep analysis of the problem and the algorithm for it to work properly. For example, in the multi-circle detection problem, it is necessary to change how solutions are expressed in the memory capture phase and the depuration procedure to make sense with the main goal of the multimodal optimization process. Possible future work could consist in adapting other real-world problems (not necessarily related to image analysis) to be solved using multimodal approaches since, as it was shown, multimodal techniques can be a good alternative and even a more fitting approach to tackle certain types of problems that otherwise, could require a more complex or expensive process for being solve APPENDIX In this Appendix, the numerical results for Section V. are presented.