Cellular Neural Networks, Genetic Algorithms and Object Extraction
Total Page:16
File Type:pdf, Size:1020Kb
Far East J. Math. Sci. 1(2) (1993), 139-155 CELLULAR NEURAL NETWORKS, GENETIC ALGORITHMS AND OBJECT EXTRACTION SANKAR K. PAL, DINABANDHU BHANDARI, P. BARISH and MALAY K. KUNDU (Received Oetober 4, 1993) Submined by P. n. Gibbons Abstract A cellular neural network (CNN) is an information processing system with a large scale nonlinear analog circuit. Setting up a CNN for a particular task needs a proper selection of circuit parameters (cloning template) which determines the dynamics of the network. The present paper provides a methodology, demonstrating the capability of Genetic Algorithms, for aUiomatic selection of cloning templates when CNN is used in extracting object regions from noisy images. This relieves the CNN from using heuristics for template selection procedure and performs consistently well in noisy environments for both synthetic and real images. 1. Introduction A cellular neural network (CNN) is an unsupervised neural network proposed by Chua and Yang [2,3J. It is made up of a massive aggregate of analog circuit components called cells. Any cell in a cellular neural network is connected only to its neighboring cells and intcracts only with them. Key features of this network are asynchronous processing, continuous time dynamics and local interaction between the cells (processing elements). Cells not directly connected togeLher affect each OLher duc to propagation effects. The continuous time fcature of a CNN imparts it real lime signal processing capability while the local interconnections make it amenable Lo VLSI implementation. Its application in image processing problems, viz., edge 1991 Mathematics Subject Classification: 68U 10, 68T05 Key words and phrases: ccl1ular neural network, genetic algorithm. automatic selection, cloning templates, image processing, object rcgion eXlraction. (139) © 1993 Shiroch Reprographics. Allahabad 140 SANKAR K. PAL, DlNABANDHU BHANDARI el al. detection, noise removal, horizontal and vertical line detection has been reported in [3,5]. Setting up a CNN needs a proper selection of circuit parameters of cells. The set of circuit parameters is called a cloning template which determines the dynamics of the network and its application domain. There is no standard method for selecting a cloning template automatically for a CNN, although some heuristics have been suggested [2, 3] for this task. In this article an attempt is made to develop a methodology for demonstrating an application of a CNN to another image processing operation, namely, image segmentation and object extraction where the required cloning templates are automatically selected using genetic algorithms (GAs) [4]. Some guidelines for selecting heuristically the circuit parameters for object extraction problem have also been provided. The study has been conducted with both noisy synthetic and real images using different cloning templates. The results obtained using the heuristically selected cloning templates are compared with those obtained using the template selected by GA. It has been found that the perfonnance of the later one is consistently better under different noisy conditions. The performance has also been quantitatively evaluated. Although the method developed for selection of cloning template, based on GAs, has been used for the object extraction problem, it can also be applied to other image processing operations. 2. Cellular Neural Network An M x N cellular neural network can be considered as an ordered set {Cii } of MN cells which are arranged in a pattern shown in Figure I. For a two dimensional CNN, the r-neighbourhood (Nij) can be defined a<; Imax(~ ~ ~ ~ ~ ~ Nij = {CkJ - iI, 11 - jl) r, 1 k M; 1 I N}. The state uxi} of any cell Cij in a CNN is described by the differential equation: du .. (t) C XI) J~l ~ ~ ~ ~ (1) dt = UXi}(t) + L Aij;kJUykJ + Iii' 1 i M; 1 j N x CklENij where Ai}; Jd represents the conductance of the link between Ci} and CkJ, and I ij is the bias to the cell Cii' Rx and C (constants for a CNN) are the resistance and capacitance of the cell. C.Rx is the time constant of the circuit and Rx determines the power dissipation. The output of the cell Cijis a nonlinear function shown in Figure 2. It can be CELLULAR NEURAL NE1WORKS... 141 expressed as '\,ij{l) = O.s(IUxij{t) + ll-jUxij(l) -~). 1 ~ i ~ M; 1 ~ j ~ N. (2) The state of each cell in CNN is bounded and after the transients settle down, a CNN approaches a stable state [2]. Moreover, if the circuit parameters satisfy 1 AU;IJ... > -R x then or equivalently lim u .. (t) = ±1. 1 ~ i :0; M; I ~ j :0; N. 1-+ 00 YLJ Before explaining the methodology for object extraction using a CNN along with automatic selection of the parameters Aij;kJ a brief description of GAs is given in the next section. 3. Genetic Algorithms : Basic Principles and Features Genetic algorithms [4] are highly parallel adaptive search and machine learning processes based on the mechanics of natural selection in natural genetic system. They exploit structured infonnation to solve a wide range of complex optimization problems using genetic operators (reproduction/selection, crossover and mutation) on coded solutions (strings/chromosomes) in an iterative fashion. GAs deal simultaneously with multiple points (comprising the population), not a single point, which helps to find the global optimal solution without getting stuck at local optima. Genetic algorithms are blind, that is, they use only the payoff or penalty (i.e., objective) function and do not need any other auxiliary information. To solve an optimization problem, genetic algorithms start with the chromosomal (structural) representation of a parameter set, The parameter set is to be coded as a finite length string over an alphabet of finite length. Usually, the chromosomes are strings of O's , .•.• and I's. For example, let (at, a2 ap} be a realization of the parameter set and the ..... binary representation of a1,a2 ap be 10110.00100. ''', 11001 respectively. Then the string 10110 00100 ... 11001 is a chromosomal representation of the parameter , ... , set (a!, a2 ap)' Strings are then processed using three simple genetic operations. 142 SANKAR K. PAL, DINABANDHU BHANDARI el al. Reproduction/selection is a process in which individual strings are copied according to the values of their objective function,j (called the fitness function), into a mating pool. Therefore, highly fit strings have a higher number of offsprings in the succeeding generation. The crossover operation may proceed in two steps. First, pairs of the reproduced strings in the mating pool are selected for mating at random. Second, each selected pair of strings undergoes crossing over as follows: an integer position k is selected uniformly at random between I and l - 1, where 1is the string length greater than 1. Two new strings are created by swapping all characters from position k + 1 to l. Let a = 11000 10101 01000 01111 10001 h = 10001 01110 11101 00110 10100 be two strings (parents) selected for the Crossover operation and the generated random number be 11. Then the newly produced offsprings (swapping all characters after position 11) will be a' = 11000 10101 01101 ... 00110 10100 h' = 10001 01110 11000 .'. 01111 10001. In genetic algorithms, mutation is the occasional (with small probability) random alteration of the value of a string position. It helps to prevent the irrecoverable loss of potentially important genetic material. A random bit position of a random string is selected and is replaced by another character from the alphabet. For example, let the third bit of string a, given above, be selected (randomly) for mutation. Then the transformed string after mutation will be a" = 11100 1010101000 ... Ollll 10001 The effectiveness of this efficient searching Lechnique has been demonstrated in the next section for automatic extraction of objects from images using CNN. 4. CNN for Object Extraction Object extraction involves segmenting the whole image into two region types, namely object region and background region. Two adjacent pixels of an image belong to the same region if they have similar gray value properties. So, both gray level and positional properties play an important role in making a decision as to whether a pixel belongs to the object or to the background. In order to explain the principle of object extraction using CNN, let us consider equation (1) which can be approximated by a difference equation as: CELLULAR ]\('EURAL ]\('ElWORKS ... 143 (3) 1 ~ i ~ M; 1 ~ j ~ N where h is a constant time step and uxij(n) is the state of the.cell Cij at the nth instant of time. A CNN processes signals by mapping from one signal space to another one. If the initial state space is [-1.0, 1.0]MxN and the output space is [-I, I}MxN, then the dynamic map F can be defined as F.. [ -1.0, 1.0 ]MXN ~ { -1,1 }MxN. (4) : Object extraction in an image X = {x mn m = 1,2, ... , M; n = 1,2, ... , N} of size M x N can be considered as a mapping E : [a, b]MXN ~ {A, B}MXN (5) where the range of gray levels of the image is [a, b], and A, B are gray levels of object and background respectively or vice versa. Equations (4) and (5) are analogous. Thus if we can transform the gray level of the input image into [-1.0, 1.0] it is possible to achieve a transformation of the image into {-I, l} by using a cellular neural network. Equation (3) can be rewritten, for an unit time step (h = I), as uxij(n + 1) = uxij(n) + ~ uxij(t) + 2, Aij;k/f(Uxk/(t)) + Iii]' [i/ (6) x Ck{ENij 1 ~ i ~ M; 1 ~ j ~ N. or 1 U .. (n + 1) = U .. (n) - RIC U .. (I) + C [T'" U .. + I .. ] (7) XI) Xl) XI) YI) (t) 1J X where T-7,-7 ..