FACTA UNIVERSITATIS Series: Mechanical Engineering Vol. 17, N o 3, 2019, pp. 333 - 344 https://doi.org/10.22190/FUME190426038P © 2019 by University of Niš, Serbia | Creative Commons License: CC BY-NC-ND Original scientific paper EDGE DETECTION PARAMETER OPTIMIZATION BASED ON THE GENETIC ALGORITHM FOR RAIL TRACK DETECTION Milan Pavlović 1 , Vlastimir Nikolić 2 , Miloš Simonović 2 , Vladimir Mitrović 3 , Ivan Ćirić 2 1 College of Applied Technical Sciences Niš, Serbia 2 Faculty of Mechanical Engineering, University of Niš, Serbia 3 Forstehd.o.o, Belgrade, Serbia Abstract. One of the most important parameters in an edge detection process is setting up the proper threshold value. However, that parameter can be different for almost each image, especially for infrared (IR) images. Traditional edge detectors cannot set it adaptively, so they are not very robust. This paper presents optimization of the edge detection parameter, i.e. threshold values for the Canny edge detector, based on the genetic algorithm for rail track detection with respect to minimal value of detection error. First, determination of the optimal high threshold value is performed, and the low threshold value is calculated based on the well-known method. However, detection results were not satisfactory so that, further on, the determination of optimal low and high threshold values is done. Efficiency of the developed method is tested on set of IR images, captured under night-time conditions. The results showed that quality detection is better and the detection error is smaller in the case of determination of both threshold values of the Canny edge detector. Key Words: Edge, Canny, Threshold, Optimal, Genetic Algorithm 1. INTRODUCTION Image processing is a widely used method in machine vision systems for performing of certain operations on an image in order to extract useful information. Edge detection is a part of image processing that can be used for reducing of the amount of data to be processed with the final goal to provide useful structural information about the boundaries of the object. The main goal of the edge detection is to locate and identify sharp discontinuities from an image. These discontinuities are effects of a significant local change in image intensity. An edge represents a point or a set of points that create a Received April 26, 2019 / Accepted June 30, 2019 Corresponding author: Milan Pavlović College of Applied Technical Sciences Niš, Aleskandra Medvedeva 20, 18000 Niš, Serbia E-mail: milanpavl@gmail.com 334 M. PAVLOVIĆ, V. NIKOLIĆ, M. SIMONOVIĆ, V. MITROVIĆ, I. ĆIRIĆ curve that follows a path of that change, and essentially it defines boundaries between two distinctly different regions. Existence of the edge can be caused by variations in reflectance, illumination, color, shade, texture, orientation and depth of scene surfaces. However, image intensity is often proportional to scene radiance, so the edges are represented in the image by changes in the intensity function [1-4]. There are many uses of the edge detection for different purposes, such as vehicle and transport applications [4-8], human applications [9-11], medical applications [12-15], etc. However, quality of the edge detection is dependent on lighting conditions, the presence of objects of similar intensities, density of the edges in the scene, and noise [1], as well as the edge detector used in a detection process. Many edge detectors have been proposed, tested, and compared, such Laplacian of Gaussian (LoG), Prewitt, Roberts, Sobel and Canny. However, the Canny edge detector has shown the best results in the edge detection with good noise immunity and detection of the true edge points with minimum error [1, 3, 4, 16, 17]. One of the key factors for great accuracy of the Canny edge detector is setting up the optimal threshold values. Determination of that parameter can be long and difficult for different images, so its adaptability enables robustness and a wide range of use. In [18], an improved method for setting up the thresholds according to the gray-scale histogram is proposed. This method gave good results but it may cause some fake edges. In [19], the Otsu algorithm is used in order to get a value of high threshold, while a value of low threshold is obtained by multiplying the high threshold value by a coefficient less than one, specifically 0.5. Moreover, this method has proved to be effective for edge extraction, the adopted two threshold values are two global values, which are obtained based on the whole image. On the other hand, in [20] calculation of the low threshold value is based on a probability model; the Otsu method is used for determination of the high threshold value, while the Adaptive Particle Swarm Optimization (APSO) is employed instead of the traditional gradient descent method in order to get the optimal solutions of the both the Otsu algorithm and the probability model algorithm. In [21], Otsu and Canny operators that choose thresholds adaptively by using a new adaptive grey Mapping Function combined with the Shape Identification algorithm in order to segment the area of the target leaf are presented. Combination of the maximum entropy method with the Otsu method for determination of the high and low thresholds of the Canny algorithm is shown in [22]. The results showed that the proposed algorithm has better performance for the images which have complex distributions of grey level histogram. In order to overcome the difficulty of threshold selecting in the Canny algorithm, in [23] is presented the method based on the Otsu algorithm and mathematical morphology. This method chooses the threshold adaptively and simultaneously; it applies the improved Canny operator and the image morphology separately to the image edge detection, and then performs image fusion of the two results using the wavelet fusion technology to obtain the final edge-image. The proposed algorithm in [24] utilizes the local threshold values to detect particles from the images along with the selection of how many sub-images to use and automatically segment the whole image into the required number. After that, the calculation of the local threshold values of each sub-image is done with the Otsu algorithm for high threshold value (Th), while the low threshold value is calculated as 0.4Th. The algorithm which can adaptively determine the two thresholds based on the gradient histogram and the minimum interclass variance, is presented in [25]. In order to detect retinal blood vessels, the detector as a local dynamic hysteresis thresholding value generator based on the Canny edge detector, is presented in [26]. The method based on applying of different values of sigma and thresholding in different parts of the image Edge Detection Parameter Optimization Based on Genetic Algorithm for Rail Track Detection 335 instead of processing the entire image with a single value of sigma and thresholding, is presented in [27]. After dividing the image, the mean pixel value of each sub-image is calculated and, depending upon these values, each sub-image will be processed by a Gaussian filter with different sigma and thresholding values. In the proposed method [28], given a set of candidates for hysteresis thresholds, the basic idea was to combine gradient information with information obtained when the linking process is applied to all candidates, and to obtain the hysteresis thresholds from the previous fused information. However, the use of type-2 fuzzy sets to handle uncertainties that automatically select the threshold values, is presented in [29]. In [30], unsupervised determination of threshold values for the Canny edge detector, based on the bi-dimensional maximum conditional entropy, is presented. On the other hand, determination of adjustable high and low threshold values of the Canny edge detector for the gradient magnitude image is shown in [31]. The parameters are determined based on maximum cross-entropy between inter-classes and Bayesian judgment theory, without any manual operation. Genetic algorithm (GA) is a widely used method for different applications in the fields of gaming, real time systems, job shop scheduling, etc. [32, 33]. In the field of image processing, GA is used for image enhancement and segmentation [34, 35], different types of detection from images, e.g. geometric shape [36], medical [37], SAR images [38], etc., as an optimization tool, in order to increase accuracy, quality and speed of detection, as well as for feature selection. In order to achieve desired color image enhancement, a genetic algorithm approach is used in [39]. The fitness function is formed and utilized for determination of the optimal set of generalized value. Experimental results showed that the enhanced color images by the genetic algorithm approach are better than those obtained by any of the three existing approaches for comparison. Also, for solving problem with image contrast enhancement, the method based on genetic algorithm is presented in [40], where a simple and novel chromosome representation together with corresponding operators, is used. Based on experimental results, the proposed method gave good results in natural looking images, especially when the dynamic range of input image is high. However, genetic algorithm is used for other purposes in image processing, such as segmentation and feature selection. For developing of machine vision-based raisin detection technology for various lighting conditions, supervised color image segmentation using a permutation-coded genetic algorithm is implemented [41]. This segmentation identifies regions in hue–saturation–intensity (HSI) color space (GAHSI) for desired and undesired raisin detection in various lighting conditions. In [42], the method based on genetic algorithm for evolving adaptive procedures for the contour-based segmentation of anatomical structures in 3D medical data sets is presented. The role of genetic algorithm was to evolve detector of 2D contours of an anatomical structure in order to obtain full segmentation of the structure. For purpose of selection of a set of features to discriminate the targets from the natural clutter false alarms in SAR images, a genetic algorithm is used in [43]. This algorithm is driven by a new fitness function based on minimum description length principle (MDLP), and results showed that the proposed genetic algorithm selected a good subset of features to discriminate the targets from clutters effectively. Utilization of a genetic algorithm for image feature selection, as a part of classifier, in the task of differentiating regions of interest on mammograms as either mass or normal tissue, is presented in [44]. Compared to stepwise feature selection, GA-based feature selection gave better results. This leads to indication that genetic algorithm can provide many possibilities for linear or nonlinear classifiers. 336 M. PAVLOVIĆ, V. NIKOLIĆ, M. SIMONOVIĆ, V. MITROVIĆ, I. ĆIRIĆ In this paper, the genetic algorithm application for optimization threshold values for the Canny edge detection is presented. First, calculation of the rail track detection error with additional condition is performed. For minimization of error, genetic algorithm is used, in order to determine optimal high threshold value. However, detection results were not satisfactory, so determination of low and high threshold values is done in order to get more accurate detection. The developed method is tested on set of IR images captured under night-time conditions with the aim to detect edges of rail tracks. 2. THEORETICAL BACKGROUND 2.1. Canny Edge Detection The Canny edge detector includes a list of criteria for successful edge detection: good detection, good localization and a single response. Good detection means that edge detection should be with a low error rate, i.e. minimum number of false edges; good localization means that the points found by the detector should be as close as possible to the center of the true edge, while a single response provides that the detector must give only one response to a single edge and where possible, image noise should not create false edges [16, 45, 46]. The Canny edge detector uses a multi-stage algorithm with four steps: Image smoothing, Calculation of value and direction of gradients, Non-Maxima suppression and Checking and connecting edges [1, 20, 22, 47]. 2.1.1. Image smoothing Smoothing of the image is done by Gaussian smoothing filter in order to remove the noise. This filter is linearly separable, and it can be divided into two parts. Convolution with this filter can be done in order to smooth image according to the row and column respectively. The mathematical expression of Gaussian smoothing filter is [22]: 2 2 2 2 1 ( , ) exp 2 2 x y G x y          (1) where σ is the standard deviation of Gaussian smoothing filter, and it controls the degree of smooth. In the case that value of σ is small, it will be good localization and lower SNR (Signal-to-Noise Ratio), but if the value of σ is big, location accuracy will be lower and less noise. After applying Gaussian smooth filter, the image will be [22]: ( , ) ( , ) ( , )I x y G x y f x y  (2) where f(x,y) is original image, and I(x,y) is image after filtering. 2.1.2. Calculation of value and direction of gradients This step gives two results, the gradient in the x direction and the gradient in the y direction and it shows changes in intensity on image that indicates the presence of edges. For calculation of horizontal direction derivative Px and vertical direction derivative Py, the algorithm adopts first order limited difference of 22 neighboring area. The mathematical expression of Px and Py is, as follows [22]: Edge Detection Parameter Optimization Based on Genetic Algorithm for Rail Track Detection 337 ( 1, ) ( , ) ( 1, 1) ( , 1) ( , ) 2 x I i j I i j I i j I i j P i j         (3) ( , 1) ( , ) ( 1, 1) ( 1, ) ( , ) 2 y I i j I i j I i j I i j P i j         (4) The value of gradient M(i, j) can be determined as [22]: 2 2 ( , ) ( , ) ( , ) x y M i j P i j P i j  (5) The direction of gradient is [22]: ( , ) ( , ) arctan ( , ) y x P i j i j P i j   (6) 2.1.3. Calculation of value and direction of gradients Gradient image cannot ensure edges of an image, and criteria where one accurate response to the edge should be satisfied. The algorithm compares the value of the gradient of current pixel and pixels in neighboring, in either the positive or the negative direction perpendicular to the gradient. If the value of current pixel is not greater than both, it suppresses it; otherwise, it preserved it. 2.1.4. Checking and connecting edges After applying of Non-maxima Suppression, false edges caused by noise and color variation should be reduced as much as possible. In this step, filtering out of edge pixels with weak value of the gradient and preserve edge pixels with a high value of the gradient. In this step, two thresholds, low threshold Tl and high threshold Th, are determined and set by experience. If the value of the gradient of pixel (i, j) is bigger than Th then this point is set as an edge pixel, and edge map T1(i, j) is got. If the value of the gradient of pixel (i, j) is smaller than Tl, then this point is never set as an edge pixel. If the value of the gradient of pixel (i, j) is bigger than Tl and smaller than Th, edge map T2(i, j) is got. If pixel from edge map T2(i, j) is found at location in 8 neighborhood of an edge pixel, then it will be connected to that pixel. 2.2. Genetic Algorithm Genetic algorithm (GA) is inspired by the process of natural selection, i.e. evolution, often used as an optimization tool, although the range of problems to which GA have been applied is quite wide. An implementation of a GA starts with a randomly generated population of chromosomes and it represents an iterative process, with the population in each iteration called a generation. In each generation, the fitness of every chromosome is evaluated, where fitness is value of objective function in solving of the optimization problem. Fit chromosomes are selected and its genome is modified in order to form a new generation. A formed new generation is used in the next iteration of the algorithm. The algorithm can terminate when the maximum number of generations are produced or satisfactory fitness level is reached for population [48]. In fact, the genetic algorithm has following steps [34, 49]: 338 M. PAVLOVIĆ, V. NIKOLIĆ, M. SIMONOVIĆ, V. MITROVIĆ, I. ĆIRIĆ 1. Starting with a randomly generated population of N chromosomes, where N is the size of population, l is length of chromosome x. 2. Calculation of fitness ƒ(x) of each chromosome x in the population. 3. Repeating of the following steps until N offspring has been created: a. Selecting of a pair of parent chromosomes from the current population, where the probability of selection being an increasing function of fitness. Process of selection is done "with replacement", so the same chromosome can be selected more than once to become a parent. b. With probability pc (the "crossover probability" or "crossover rate"), crossing over the pair at a randomly chosen point (chosen with uniform probability) to form two offspring. If no crossover takes place, form two offspring that are exact copies of their respective parents. c. Mutation of the two offspring at each locus with probability pm (the mutation probability or mutation rate), and placing of the resulting chromosomes in the new population. In case that N is odd, one new population member can be discarded at random. 4. Replace the current population with the new formed population. 5. Go to step 2. Each iteration of this process is called a generation, and entire set of generations is called a run. At the end of a run, there are often one or more highly fit chromosomes in the population. 3. DETERMINATION OF OPTIMAL THRESHOLD VALUE Determination of the threshold, as the Canny edge detection parameter, is important in order to get high quality and useful edges on the image. However, that parameter can be different for each image, so the traditional Canny edge detector cannot set threshold adaptively, which makes the algorithm robustness weak. Manual determination of optimal threshold is difficult, especially for infrared (IR) images because of their usually low quality, caused by performance of infrared camera. In addition, great effects on its quality have conditions for capturing, for example, in low-light and night-time conditions. For determination of the optimal threshold value minimization of error in rail track detection process is required, as one of the most important steps. The detection error is defined as follow ratio wrong detected pixels (WD) and right detected pixels (RD): D D W error R  (7) However, in order to prevent the occurrence where both parameters have low values, and thus the error is low, additional condition is the number of total detected pixels. In the case of a very low value of total detected pixels, the value of error is low, but the obtained image is not useful. The minimal value of total detected pixels depends on image, as well as quality of the detected edges. Further on, genetic algorithm is used in order to find the minimum of the fitness function, i.e. for which value of thresholds, the error will have minimal value. In the first case, an optimal value of high threshold was determined, while in the second case, optimal values of low and high thresholds were determined. Edge Detection Parameter Optimization Based on Genetic Algorithm for Rail Track Detection 339 4. RESULTS AND DISCUSSION In order to determine the optimal high threshold value of for the Canny edge detector through minimization of error, genetic algorithm is used. The fitness function is obtained by fitting data for the dependence of the error on the threshold, as fourth-order polynomial (Eq. 8). The goal of genetic algorithm was to find the minimum of the fitness function, i.e. the threshold value for which the error will have minimal value. The general parameters of genetic algorithm are shown in Table 1. Best and mean fitness with 25 iterations performed are shown in Fig. 1, and Average Distance Between Individuals is shown in Fig. 2. The algorithm needs about 3 seconds to converge after 25 iterations. 3 4 3 3 3 2 3 3 0.7714 10 1.1422 10 0.3584 10 0.1071 10 0.0480 10y x x x x            (8) Table 1 Parameters of genetic algorithm for determination of high threshold value Parameter Value Population size 20 Generations 50 Function tolerance 1e-6 Stall generations 20 Fig. 1 Best and mean fitness – high threshold value Fig. 2 Average Distance Between Individuals – high threshold value 340 M. PAVLOVIĆ, V. NIKOLIĆ, M. SIMONOVIĆ, V. MITROVIĆ, I. ĆIRIĆ The developed method based on genetic algorithm is tested on a set of different IR images, captured under night-time conditions. One of the tested scenarios is shown in Fig. 3 (left). In this case, the task was to perform edge detection only for rail tracks. Determined optimal value of high threshold is 0.4867, and the value of low threshold is calculated based on the Otsu method [19]. Minimal error, defined in the above manner, is 58.5697. After applying low and high threshold values, the edge detection for rail tracks is successfully done (shown with purple color in Fig. 3 (right)). Fig. 3 One of the tested scenarios (left), Detected rail tracks with determination of high threshold value (right) However, quality of the rail track edge detection was not satisfactory. Further on, genetic algorithm is used for determination of low and high threshold values of the Canny edge detector. The fitness function is obtained by fitting data for the dependence of the error on the threshold, as five-order polynomial with two variables (Eq. 9), x is low, y is high threshold value. In this case, the goal of genetic algorithm was to find the minimum of the fitness function, i.e. the values of low and high threshold for which the error will have minimal value. The general parameters of genetic algorithm for this case were the same as in the case with only high threshold (Table 1). Best and mean fitness with 22 iterations performed are shown in Fig. 4, and Average Distance Between Individuals is shown in Fig. 5. The algorithm needs about 40 seconds to converge after 22 iterations. 2 2 3 2 2 3 4 3 2 2 3 4 5 4 3 2 2 3 4 5 46.42 645.3 505.6 4286 1167 3038 8943 4028 5186 4607 6052 9582 1447 0.0001114 128.4 596.5 6004 448 480.1 6713 2193 z x y x x y y x x y x y y x x y x y x y y x x y x y x y x y y                                                    (9) Edge Detection Parameter Optimization Based on Genetic Algorithm for Rail Track Detection 341 Fig. 4 Best and mean fitness - low and high threshold values Fig. 5 Average Distance Between Individuals - low and high threshold values Determined optimal threshold values are 0.000142814916122408, as low threshold value, and 0.413898286851236, as high threshold value. After applying determined values, the edge detection for rail tracks is done (shown with purple color in Fig. 6 (right)), with minimal error of 50.4768. Compared to the case with determination of only a high threshold value, the detection error is smaller and quality of detection is better and useful for further image processing. Although algorithm in the second case needs more time for convergence, it also depends on used hardware. Variable quality of IR images and great variety of image intensity limit the edge detector, so not all edges of rail tracks are detected, but results are satisfactory. Fig. 6 One of the tested scenarios (left), Detected rail tracks with determination of low and high threshold values (right) 342 M. PAVLOVIĆ, V. NIKOLIĆ, M. SIMONOVIĆ, V. MITROVIĆ, I. ĆIRIĆ 5. CONCLUSIONS Edge represents a significant local change in image intensity. In the edge detection process, important information about certain regions on the image through its boundaries, is provided. Existence of edge can be caused by variations of different parameters, for example, illumination, color, shade, etc. On the other hand, that variation can be result of the existence of some object. However, one of the influential factors for successful edge detection is the determination of the optimal value of threshold, as a parameter of edge detector. That parameter can be different for each image, which further slows and complicates edge detection process. In addition, manual determination and setting parameter make edge detectors robustness weak. In this paper, optimization of threshold values for the Canny edge detector is presented. The rail track the detection error with additional condition is defined. The optimal value of high threshold is determined using of genetic algorithm, based on the minimal value of error. However, quality of the rail track edge detection was not satisfactory, so genetic algorithm is used for determination of low and high threshold optimal values of the Canny edge detector. Testing of the developed method is done on set of IR images, captured under night-time conditions. Results showed that, in the case of determination of optimal values of both thresholds, the detection error is smaller, quality of detection is better, and it can be used for further image processing. However, IR images have great variety of image intensity and quality that can additionally complicate edge detection. Because of that, although not all of the desired edges were detected, the results in the case of determination of optimal values of both thresholds are satisfactory. Acknowledgements: This paper presents the results of the research conducted within the project "Research and development of new generation machine systems in the function of the technological development of Serbia" funded by the Faculty of Mechanical Engineering, University of Niš, Serbia. REFERENCES 1. Nadernejad, E., Sharifzadeh, S., Hassanpour, H., 2008, Edge detection techniques: evaluations and comparisons, Applied Mathematical Sciences, 2(31), pp. 1507-1520. 2. Jain, R., Kasturi, R., Schunk, B.G., 1995, Machine Vision, McGraw-Hill, Inc. 3. Acharya, T., Ray, A. K., 2005, Image Processing: Principles and Applications, New Jersey: John Wiley & Sons. 4. Pavlović, M., Nikolić, V., Ćirić, I., Simonović, M., 2018, Advanced edge detection techniques for rail track detection using thermal camera, Proc. The 4th International Conference Mechanical Engineering in XXI Century, pp. 291-294. 5. Fathy, M., Siyal, M.Y., 1995, An image detection technique based on morphological edge detection and background differencing for real-time traffic analysis, Pattern Recognition Letters, 16, pp. 1321-1330. 6. Shapiro, V., Dimov, D., Bonchev, S., Velichkov, V., Gluchev, G., 2003, Adaptive license plate image extraction, Proc. International Conference on Computer Systems and Technologies - CompSysTech’2003, pp. IIIA.2-1 - IIIA.2-7. 7. Chen, R., Luo, Y., 2012, An improved license plate location method based on edge detection, Physics Procedia, 24, pp. 1350-1356. 8. Pavlović, M., Ćirić, I., Ristić-Durrant, D., Nikolić, V., Simonović, M., Ćirić, M., Banić, M., 2018, Advanced infrared camera based system for object detection on rail tracks, Thermal Science, 22(S5), pp. S1551-1561. 9. Song, J., Chi, Z., Liu, J., 2006, A robust eye detection method using combined binary edge and intensity information, Pattern Recognition, 39, pp. 1110-1125. Edge Detection Parameter Optimization Based on Genetic Algorithm for Rail Track Detection 343 10. Jabri, S., Duric, Z., Wechler, H., Rosenfeld, A., 2000, Detection and location of people in video images using adaptive fusion of color and edge information, Proc. 15th International Conference on Pattern Recognition. ICPR-2000, pp. 627- 630. 11. Sandeep, K., Rajagopalan, A.N., 2002, Human face detection in cluttered color images using skin color, edge information, Proc. Third Indian Conference on Computer Vision, Graphics & Image Processing, Ahmadabad, India, December 16-18. 12. Asghari, M., Jalali, B., 2015, Edge detection in digital images using dispersive phase stretch transform, Proc. International Journal of Biomedical Imaging. 13. Toossi, M.T.B., 2013, An effective hair removal algorithm for dermoscopy images, Skin Research and Technology, 19, pp. 230–235. 14. Alang, T.A.I.T., Swee, T.T., As'ari, M.A., Meng, L.K., Malik, S.A., 2017, Edge detection in magnetic resonance images using global canny algorithm, Proc. International Medical Device and Technology Conference, pp. 226-230. 15. Bao, P., Zhang, L., 2003, Noise reduction for magnetic resonance images via adaptive multiscale products thresholding, IEEE Transactions on Medical Imaging, 22(9), pp. 1089-1099. 16. Bhardwaj, S., Mittal, A., 2012, A survey on various edge detector techniques, Procedia Technology, 4, pp. 220-226. 17. Maini, R., Aggarwal, H., 2009, Study and comparison of various image edge detection techniques, International Journal of Image Processing, 3, pp. 1-11. 18. Lu, J.W., Ren, J.C., Lu, Y., Yuan, X.H. Wang, C.G., 2006, A modified canny algorithm for detecting sky-sea line in infrared images, Proc. Sixth International Conference Intelligent Systems Design and Applications (ISDA), pp. 289–294. 19. Fang, M., Yue, G., Yu, Q., 2009, The study on an application of Otsu method in canny operator, Proc. International Symposium on Information Processing, pp. 109–112. 20. Huo, Y., Wei, G., Zhang, Y., Wu, L., 2010,An adaptive threshold for the Canny Operator of edge detection, Proc. International Conference on Image Analysis and Signal Processing, pp. 371-374. 21. Wang, J., He, J., Han, Y., Ouyang, C., Li, D., 2013, An adaptive thresholding algorithm of field leaf image, Computers and Electronics in Agriculture, 96, pp. 23-39. 22. Wang, Y., Li, J., 2015, An improved canny algorithm with adaptive threshold selection, Proc. MATEC Web of Conferences, 22, pp. 01017-p.1- 01017-p.7. 23. Zhang, D., Zhao, S., 2013, An improved edge detection algorithm based on canny operator, Applied Mechanics and Materials, 347-350, pp. 3541-3545. 24. Meng, Y., Zhang, Z., Yin, H., Ma, T., 2018, Automatic detection of particle size distribution by image analysis based on local adaptive canny edge detection and modified circular Hough transform, Micron, 106, pp. 34-41. 25. Li, M., Yan, J.H., Li, G., Zhao, J., 2007, Self-adaptive Canny operator edge detection technique, Journal of Harbin Engineering University, 9, pp. 1002-1007. 26. Chang,S.H., Gong,L. G., Li,M.Q., Hu,X.Y., Yan,J.W., 2008, Small retinal vessel extraction using modified canny edge detection, Proc. IEEE International Conference on Audio, Languages, and Image Processing, pp. 1255-1259, China. 27. Skokhan,M. H., 2014, An efficient approach for improving canny edge detection algorithm, International Journal of Advances in Engineering & Technology, 7, pp. 59-65. 28. Medina-Carnicer, R., Munoz-Salinas, R., Yeguas-Bolivar, E., Diaz-Mas, L., 2011, A novel method to look for the hysteresis thresholds for the Canny edge detector, Pattern Recognition, 44, pp. 1201-1211. 29. Biswas, R., Sil, J., 2012, An improved canny edge detection algorithm based on type-2 fuzzy sets, Procedia Technology, 4, pp. 820-824. 30. Fei, H., Jinfei, S., Zhisheng, Z., Ruwen, C., Songqing, Z., 2014, Canny edge detection enhancement by general auto-regression model and bi-dimensional maximum conditional entropy, Optik, 125, pp. 3946-3953. 31. Zhao, X. M., Wang, W. X., Wang, L. P., 2010, Parameter optimal determination for canny edge detection, The Imaging Science Journal, 59, pp. 332-341. 32. Kumar, M., Husian, M., Upreti, N., Gupta, D., 2010, Genetic algorithm: Review and application, International Journal of Information Technology and Knowledge Management, 2(2), pp. 451-454. 33. Roy, A., Manna, A., Maity, S., 2019, A novel memetic genetic algorithm for solving traveling salesman problem based on multi-parent crossover technique, Decision Making: Applications in Management and Engineering. 34. Paulinas, M., Ušinskas, A., 2007, A survey of genetic algorithms applications for image enhancement and segmentation, Information Technology and Control, 36(3), pp. 278-284. 35. Pavlović, M., Mitrović, V., Ćirić, I., Petrović, B., Nikolić, V., Ćirić, M., Simonović, M, 2018, Determination of Optimal Parameter for Edge Detection Based on Genetic Algorithm, Proc. XIV International SAUM Conferenceon Systems, Automatic Control and Measurements. 344 M. PAVLOVIĆ, V. NIKOLIĆ, M. SIMONOVIĆ, V. MITROVIĆ, I. ĆIRIĆ 36. Ayala-Ramirez, V., Garcia-Capulin, C. H., Perez-Garcia, A., Sanchez-Yanez, R. E., 2006, Circle detection on images using genetic algorithms, Pattern Recognition Letters, 27, pp. 652-657. 37. Al-Rawi, M., Karajeh, H., 2007, Genetic algorithm matched filter optimization for automated detection of blood vessels from digital retinal images, Computer Methods and Programs in Biomedicine, 87, pp. 248–253. 38. Jeon,B., Jang, J., Hong, K., 2002, Road detection in spaceborne sar images using a genetic algorithm, IEEE Transactions on Geoscience and Remote Sensing, 40(1), pp. 22-29. 39. Shyu, M., Leou, J., 1998, A genetic algorithm approach to color image enhancement, Pattern Recognition, 31(7), pp. 871-880. 40. Hashemi, S., Kiani, S, Noroozi, N., Moghaddam, M.E., 2010, An image contrast enhancement method based on genetic algorithm, Pattern Recognition Letters, 31, pp. 1816–1824. 41. Abbasgholipour, M., Omid, M.,Keyhani, A.,Mohtasebi, S.S., 2011, Color image segmentation with genetic algorithm in a raisin sorting system based on machine vision in variable conditions, Expert Systems with Applications, 38, pp. 3671–3678. 42. Cagnoni, S., Dobrzeniecki, A.B., Poli, R., Yanch, J.C., 1999, Genetic algorithm-based interactive segmentation of 3D medical images, Image and Vision Computing, 17, pp. 881-895. 43. Bhanu, B., Lin, Y., 2003, Genetic algorithm based feature selection for target detection in SAR images, Image and Vision Computing, 21, pp. 591-608. 44. Sahiner, B., Chan, H., Wei, D., Petrick, N., Helvie, M.A., Adler, D.D., Goodsitt, M.M., 1996, Image feature selection by a genetic algorithm: Application to classification of mass and normal breast tissue, The international Journal of Medical Physics Research and Practice, 23(10), pp. 1671-1684. 45. Canny, J., 1986, A computational approach to edge detection, IEEE Transactions on pattern analysis and machine intelligence, PAMI-8(6), pp. 679-698. 46. Accame, M., De Natale, F.G.B., 1997, Edge detection by point classification of Canny filtered images, Signal Processing, 60, pp. 11-22. 47. Deng, C., Wang, G., Yang, X., 2013, Image edge detection algorithm based on improved canny operator, Proc. International Conference on Wavelet Analysis and Pattern Recognition, pp. 168-172. 48. Whitley, D., 1994, A genetic algorithm tutorial, Statistics and Computing, 4, pp. 65-85. 49. Mitchel, M., 1998, An introduction to genetic algorithms, Massachusetts: Massachusetts Institute of Technology.