International Journal of Computer Applications (0975 8887) Volume 57No.14, November 2012 16 Combining Cellular Automata and Particle Swarm Optimization for Edge Detection Safia Djemame Ferhat Abbes University Sétif, Algeria Mohamed Batouche Mentouri University Constantine, Algeria ABSTRACT Cellular Automata can be successfully applied in image processing. In this paper, we propose a new edge detection algorithm, based on cellular automata to extract edges of different types of images, using a totalistic transition rule. The metaheuristic PSO is used to find out the optimal and appropriate transition rules set of cellular automata for edge detection task. This combination increases the efficiency of the algorithm, and ensures its convergence to an optimal edge as shown in various experiments. Comparisons are made with standard methods (Canny) and other algorithms based on Cellular Automata and Genetic Algorithms. Obtained results are promising. General Terms Image Processing, Artificial life, Complex systems, Metaheuristics. Keywords Cellular automata, Edge detection, Complex systems, Metaheuristics, Particle swarm optimization, Rule Optimization. 1. INTRODUCTION Edge detection is one of the most important operations used in image processing, namely in biological and medical applications, where an edge becomes an important feature. Several edge detectors have been proposed in the literature for enhancing and detecting edges. The common approach is to apply the first (or second) derivative to the smoothed image and to find the local maxima (or zero-crossing). However, the majority of different methods may be grouped into two categories: Gradient based edge detection: (first derivative or classical). Laplacian based edge detection: (second derivative). Nevertheless, these methods present drawbacks: some operators are designed to be sensitive to certain types of edges. Variables involved in the selection of an edge detection operator include edge orientation, noise environment and edge structure. So, these methods present problems of false edge detection, missing true edges, edge localization, high computational time and problems due to noise …etc. Although many edge detection methods have been developed in the past years, however it is still a challenging problem. In an attempt to make a contribution in this field, we investigate the world of complex systems and artificial life. Indeed, cellular automata (CA) have proven effective in the field of image processing. Several works cited in the literature have focused on their properties to perform various image processing tasks such as [1]: calculating distances to features, calculating properties of binary regions such as area, perimeter and convexity, performing simple object recognition….. Hernandez et al. [2] presented CA for elementary 2-D image enhancement. Wongthanavasu et al. [3] presented 3-D CA for edge detection on binary and grayscale images, and compared its performance evaluation to well- known edge operators. But the space of CA rules is enormous, 2 512 for a binary CA with eight nearest neighbors. And only a small set of rules among this huge number is likely to give the right result. From a modeling point of view, it is thus desirable to have some theoretical constraints, helping us to choose rules which can give the right behavior. This issue remains an area of active research. These include the work of Rosin [4] who employed a deterministic method: sequential floating forward search (SFFS), it has the advantages to be simple to implement, not randomized, it does not require many parameters. Applying genetic algorithms remains a dominant method in research into extracting CA rules [5],[6],[7],[8],[9]. In [10], the authors describe a different approach based on a continuous transition function, instead of using a classical discrete cellular automata. The objective of this work is twofold: first, it presents a new method for detecting contours, from the application of a CA rule; on the other hand, it proposes a new method for solving the problem of optimizing the search space and extracting the subset of rules likely to achieve the desired task by using the metaheuristic Particle Swarm Optimization (PSO). 2. RELATED CONCEPTS This section presents the basic concepts used in this work: cellular automata and particle swarm optimization. 2.1 Cellular Automata Cellular automata (CA) were first introduced by John von Neumann (after a suggestion by Stanislaw Ulam) in the late 1940’s [11], [12]. But only in the late 1960’s, when John Horton Conway developed the Game of Life [2], did cellular automata become more well-known and popular. CA became more practical and immensely popular after the recent book of Wolfram ‘A New Kind of Science’ [13]. The popularity of cellular automata can be explained by the enormous potential that they hold in modeling complex systems, in spite of their simplicity. A cellular automaton is a regular d-dimensional lattice of cells (d is in most cases only one or two), each cell has a state chosen among a finite set of states and which can evolve in time. The state of a cell at time t+1 depends on the state at time t of a limited number of cells called its neighborhood. At every unit of time, the same rules are simultaneously applied to all cells of the grid, producing a new generation of cells depending completely on the previous generation. Cellular automata are massively parallel systems, working in a