Beruflich Dokumente
Kultur Dokumente
net/publication/50384323
CITATIONS READS
15 200
2 authors, including:
Okba Kazar
Université de Biskra
270 PUBLICATIONS 242 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Okba Kazar on 19 March 2017.
Evolutionary Cellular Automata for Image Segmentation and Noise Filtering Using
Genetic Algorithms
1
Okba KAZAR, 2Sihem SLATNIA
Computer Science Department, University of Biskra, 07000 Biskra, Algeria
1
okbakazar@yahoo.fr, 2slatnia_sh@yahoo.fr
Abstract–We use an evolutionary process to seek a specialized In this paper, the sequential floating forward search method
set of rules among a wide range of rules to be used by Cellular for feature selection was used to select good rule sets for a
Automata (CA) for a range of tasks, extracting edges in a given range of tasks, Edges Detection in a given gray or colour
gray or colour image, noise filtering applied to black-white image, Noise Filtering applied to black-white image. Indeed,
image. This is the best set of local rules determine the future
state of CA in an asynchronous way. The Genetic Algorithm
an EvCA is applied in order to determine the best local rules
(GA) is applied to search the best CA rules that can realize the of the CA, using a GA on a population of CA candidates [1],
After this introduction, the Section 2 presents the design
best edge detection and noise filtering.
and training of the generalised EvCA approach. Edges
Keywords: Genetic Algorithms, Evolutionary Cellular Detection is reported in the Section 3. Conclusion is given in
Automata, Edge Detection, Noise Filtering. the last section.
We can understand the emergence like a phenomenon of The proposed approach takes advantage of the calculating
producing collective behaviour by a collection of interacting faculties of the CA, to transform the initial configurations
elements in a complex system. The study of evolving Cellular defined by a numerical image lattice as discrete input data in
Automata (CA) framework using evolutionary algorithms is a order to find its edges.
good example to show how evolution can create systems in The CA unit is represented by a rectangle of 9 cells. In
which emergent computation takes place. Indeed, the actions particular case of bi-colour image, the problem is to find the
of simple components with local information and best CA patterns or rules for edge detection among 251
communication give rise to coordinated global information possible patterns or rules. Otherwise, for colour image with
processing [1]. more than 02 colours; 16, 256, 16bits, 24bits, 32bits, then
In this paper, we are using Genetic Algorithms (GAs) in search domain is 2(K^8/5) patterns or possible rules, where K
order to evolve CA to perform computations that require is the image colour number and 5 is the number of
global coordination [1]. geometrical transformations.
Indeed, we are interested into CA [2], [3], [4] and the edge Within this enormous wide search domain, we look to find
detection [5]. Among a variety of researchers having the optimum packet of rules that give the best edge
investigated the proprieties of CA, we can’t miss to cite the segmentation. Thus, a manually or exhaustive search method
works of John von Neumann [6], Stephen Wolfram [7], and will consume a lot of time, effort and computing resources
John Conway [8]. CA’s are discrete dynamical systems, without guaranty to reach optimal results. Therefore, we have
which are widely applied in modelling systems in areas such to work with the inverse problem to find the optimal set of
as physics, biology, and sociology [9]. CA can be interpreted rules that give the best edge segmentation using the evolving
like a set of rules which through an Evolutionary CA search capabilities of the Genetic algorithms in Fig. 4.
(EvCA), we can find one or several appropriate rules for a The first important observation is that this wide domain of
definite problem. The idea of using one packet of rules in neighbourhood patterns can be reduced to a maximum of 8
edge detection and filtering are in the merit of Rosin [4]. indexed colours, because every CA has a neighboured of 8
Indeed, it is used in restoration of black-white images. cells, so locally it saw a maximum of 8 distinct colours
Moreover, Rosin [4] studied these best rules in details and whatever the whole number of colour in the image or around
showed the interest of each one. The result of his study other CAs, thus maximum (Domain Search) becomes
showed that a single rule can remove isolated pixels in a 2(8^8/5).
noise black-white image. Secondly, to ensure that every CA works independently
In the previous work [10] we have determined a set of whatever colour indexes, we have defined what we call
rules to detect edges in black and white images, using a GA. generic patterns:
We have found rules like 0000000001, 11111111110 that
always perform fine edge segmentation.
33
Computer Science Section
1 1 1 1 1 1 1 1 1 = 9C1 Algorithm
1 1 1 2 2 3 3 4 4 = 3C12C22C32C4 1. The input data: Input Image.
Fig. 1. Generic pattern. 2. Initialization of the GA: Construction at random of
rule packets extracted from the neighbourhood model
CA can be interpreted like a set of rules which through an figured on the whole of the image in Fig. 4.
EvCA, we can find one or several appropriate rules for a
definite problem. • Edge detection method: For each CA, the
The proposed approach named GEvCA-ED, takes a process: First, searches; among the current
population of candidate packets or rules and evolves them for packets; the similar rule according to its
multiple generations, based on measuring their matching ratio neighbourhood. Second, modifies the central
(fitness) with some of well known segmented images. pixel according to the defined transition.
The construction of packet must take in consideration • Evaluation of the edge detection result: We
some of constraints that can slow down convergence and may compute the distance between the edge
falsify the overall process. detection result and the ideal one considered to
1. Redundancy: one packet must not have rules more assess the approach. We can also evaluate the
than once. error of miss-classed pixels.
2. Contradiction: one packet must not have more than 3. Reproduction: Generate a new population by applying
one rule per patch (02 patches with different selection, crossover and mutation. We use the edge
transitions). detection described above in the evaluation process.
3. Similarity: like these coloured patterns are similar 4. The process iterates until there is no improvement in
111223344 =888115533, because they are the the objective function for a given stall limit
occurrence of the generic pattern consecutive generations, or for a fixed maximum of
C1C1C1C2C2C3C3C4C4. iterations [11].
4. Useless: packet hasn’t some rules that patch to
operate on. 5. The result: optimal packet of rules.
III. THE GENERALISED EvCA FOR EDGE DDETECTION We represent the transition rule of a CA by the
(GEvCA-ED) concatenation of the cells states of the current cell
neighbourhood to update. Then, we add the future cell state
The framework of this new method is composed of two after updating [5]. This rule (pattern) is transformed as a
stages: linear chromosome in Fig. 3.
A. Training stage
It has as objective, extracting common model rules. This
can be made by a set of handy designed templates; they have Fig. 3. CA rule notation and the chromosome representation the CA rule.
a particularity that they can be figured in any image. We have
03 generic templates (12 x 12 pixels) shown in figure 2. The rule is applied when its part neighbourhood coincides
with a patch of the same dimension on the image. Then, we
B. Building optimal packet stage replace the central pixel of the patch by the value of the
It has as objective, finding more stable rules than other future state in the rule.
extracted in the training stage. To ensure the best The correspondence between the part neighbourhood of
convergence we have to reinforce testing by some treatments the rule and a patch of the image is reduced according to the
(always by using dedicated CA rules) as, colour reduction, rotational operators (rotation to 90°, 180°, 2700, reversal
filtering before and after effective segmentation process. horizontal and vertical "flip-flop"). The rules are therefore
After all, the packet with best fitness will be the dedicated symmetrical.
base packet for image edge segmentation. Each individual of the population is represented by a
The following code describes the GA process to chromosome which is a transition vector according to a
determine the best packet of transition rules that are able to neighbourhood model. To make the CA deterministic, we
achieve the edge detection of colour images. must take in consideration the constraints listed above.
The crossover exchanges, with given probability a genetic
material between two parent chromosomes corresponding to
two CA transition rules for producing two offspring. The
mutation is a random change of gene in a given CA transition
Fig. 2. Base patterns for training stage. rule (parent).
34
Journal of Applied Computer Science & Mathematics, no. 10 (5) /2011, Suceava
1 1 1 1 1 1 2 2 2 1
1 1 1 1 1 2 1 2 2 1
1 1 1 1 1 1 1 2 2 1
1 1 1 1 2 2 1 2 2 1
1 1 2 1 2 2 3 2 2 1
1 1 1 1 1 2 3 3 2 1
1 1 1 1 2 2 2 2 2 1
1 2 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 2 1
1 1 1 1 1 1 1 2 1 1
1 1 1 1 1 2 2 2 2 1
1 1 1 1 2 1 2 2 1 1
1 1 1 1 2 1 1 2 2 1
1 1 1 1 2 2 1 1 2 1
1 1 1 2 2 1 1 1 1 1
Fig. 4. Construction of the neighbourhood model from an input image
1 1 2 1 1 2 2 2 2 1
1 1 2 1 1 1 1 1 2 1
The selection process based on the edge detection 1 1 2 1 1 1 2 2 1 1
assessment in EvCA represents an interdisciplinary process. 1 1 2 1 1 1 3 3 3 1
1 1 2 1 1 1 2 1 1 1
Let Err=nbr of pixels where (ImageED ≠ImageIdealED), 1 1 2 1 1 1 3 1 1 1
which Err and nbr are the abbreviation of error and number 1 1 2 1 1 2 3 1 1 1
respectively. 1 1 2 1 2 2 1 1 1 1
The fitness function used to assess the edge detection is 1 1 2 3 1 1 3 1 1 1
1 2 2 1 1 1 1 2 1 1
given by: 1 2 2 1 1 2 3 3 1 1
F=1–(Err/L×H) where L and H represent the image width 1 2 2 3 1 1 3 1 1 1
and height. The Err function computes the number of the 1 2 2 3 1 2 3 3 1 1
points finds non equal in the two images: the resulted image 1 1 1 2 2 2 2 2 3 1
1 1 1 2 2 2 2 3 2 1
and the ideal one. 1 1 1 1 1 1 1 1 1 1
. . . . . . . . . .
Post processing packets . . . . . . . . . .
We have an optimal packet for every tested image, but we Fig. 6. Optimal packet with 1057 Rules.
need one global optimal packet for all images, so we must
collect these packets on one packet and filtering it from We have maintained only rules which give solid contours,
redundancy, contradiction and similarity. so non figured pattern are considered background.
The Fig.6 represents the optimal packet found by the
GEvCA-ED process. On the left side we have represented IV. EXPERIMENTAL RESULTS
only a subset of the whole packet composed by 1057 rules.
On the right side we give a plotted view of the entire packet, We present both synthetic and real results in Fig. 7 and 9
where each row represents one rule and the last column of the GEvCA-ED compared to a stallion image. The
defines the transition part of the rule. following experiments are performed by using MATLAB.
35
Computer Science Section
Cameraman Lina
A: Cameraman 96 × 96 pixels
Cells Vegetable 1
Fig. 8. Fitness evolution per generations for images Figure 8. A, B, C and D B: Lina 96 × 96 pixels
TABLE I EVALUATION VALUES OF THE EXPERIMENTS REPORTED IN FIGS. 8, The fitness function used to assess the noise filtering is
A, B, C, AND D.
Image Fitness Time Generation Max gen.
given by:
(sec) F=1–(Err/L×H) where L and H represent the image width
Cameraman 0.9784 5127 1808 3000 and height.
Lina 0.8745 136879 2994 3000
Vegetable 1 0.9310 9386 197 400
36
Journal of Applied Computer Science & Mathematics, no. 10 (5) /2011, Suceava
37
Computer Science Section
Fig. 14. Results of the different filtering methods of Lina image 256×256
pixels.
These tables represent the relation between the various
methods of filtering and the values of noise (E: Errors,
P.Noise: Percentage of noise, M.F: Method of Filtering,
S.Rule: Sequence of Rule and Pb.Noisse: Probability of Fig. 15. Relation between the methods of filtering and the values of noise.
Noise).
TABLE I REPRESENTATION OF RELATION BETWEEN THE METHODS OF FILTERING AND THE VALUES OF NOISE HAS THE LINA IMAGE.
P.Noise 0.01
0.04 0.07 0.1 0.13 0.16 0.19 0.22 0.25 0.28 0.31
F. M
E. F.CAs 551 602 694 847 1054 1223 1565 1345 1500 1765 1990
E.Median 1110 1191 1271 1362 1473 1511 1661 1822 1993 2189 2363
E.Gussian 815 891 949 1041 1163 1281 1388 1564 1799 2049 2389
E.Muyenn 1087 1168 1250 1343 1438 1486 1622 1780 1960 2150 2321
TABLE II REPRESENTATION OF RELATION BETWEEN THE METHODS OF FILTERING AND THE VALUES OF NOISE HAS THE CHART_SMALL_RESOLUTION IMAGE.
P. Noise
0.01 0.04 0.07 0.1 0.13 0.16 0.19 0.22 0.25 0.28 0.31
F.M
E. FCAs 117 146 188 202 290 345 424 532 624 576 665
E.Median 477 480 480 517 578 603 666 720 796 859 950
E.Gussian 326 329 346 353 382 401 432 551 577 622 715
E.Muyenn 473 476 473 498 545 550 623 654 726 775 843
38
Journal of Applied Computer Science & Mathematics, no. 10 (5) /2011, Suceava
TABLE III REPRESENTATION OF RELATION BETWEEN THE RULES OF FILTERING BY CAS AND THE VALUES OF NOISE HAS THE LINA IMAGE
P. Noise 0.01 0.04 0.07 0.1 0.13 0.16 0.19 0.22 0.25 0.28 0.31
S. Rules
Rule 1 199 666 1249 1950 2797 3684 4496 5399 6427 7401 8435
Rule 2 172 500 938 1486 2323 3141 3940 4804 5833 6834 7881
Rule 3 217 480 790 1226 1849 2498 3222 3940 4840 5692 6649
Rule 4 234 459 724 1140 1702 2308 2929 3614 4469 5316 6210
Rule 5 314 460 640 852 1205 1596 2065 2609 3293 4049 4810
Rule 6 356 474 620 816 1069 1357 1819 2292 2927 3623 4393
Rule 7 424 528 650 818 1037 1266 1655 2064 2572 3098 3830
Rule 8 467 569 670 835 1032 1223 1586 1951 2434 2939 3595
Rule 9 473 579 681 841 1033 1212 1575 1925 2369 2845 3483
Rule 10 476 578 683 845 1036 1217 1575 1894 2338 2807 3385
Rule 11 531 615 704 877 1046 1217 1575 1894 2338 2807 3385
Rule 12 548 616 704 868 1019 1200 1546 1865 2312 2776 3364
TABLE IV REPRESENTATION OF RELATION BETWEEN THE RULES OF FILTERING BY CAS AND THE VALUES OF NOISE HAS THE CART_SMALL_RESOLUTION
IMAGE.
Pb.Noise 0.01 0.04 0.07 0.1 0.13 0.16 0.19 0.22 0.25 0.28 0.31
S. Rules
Rule 1 76 342 536 774 1038 1314 1564 1872 2004 2245 2513
Rule 2 29 125 241 403 592 841 1064 1359 1486 1759 2031
Rule 3 39 125 239 398 586 835 1057 1351 1479 1746 2016
Rule 4 34 109 207 322 446 662 812 1072 1211 1404 1625
Rule 5 34 109 203 319 447 651 805 1060 1197 1398 1615
Rule 6 106 163 201 260 326 485 598 773 826 1033 1175
Rule 7 106 162 199 254 323 476 589 773 816 1021 1162
Rule 8 115 171 207 261 321 422 521 704 724 891 1008
Rule 9 115 171 203 259 319 416 516 699 724 878 996
Rule 10 115 170 202 257 316 413 503 687 702 850 941
Rule 11 114 156 191 226 283 382 488 650 679 822 924
Rule 12 114 141 161 194 239 333 431 598 628 755 868
39
Computer Science Section
CA’s operates synchronously with the same global rules [5] J. Canny, A. Computational Approach to Edge
without interference or exchanging information, thus they Detection. IEEE Trans. on PAMI, Vol. 8, No. 6, 1986.
always produce the same robust edges. The most advantage [6] J. Von Neumann, Theory of Self-Reproducing
of the GEvCA-ED and EvCA-NF is that it gives a quasi- Automata. University of Illinois Press, 1966.
perfect packet for synthetic and low detailed images. [7] S. Wolfram, Cellular Automata and Complexity.
Addison-Wesley, 1994.
REFERENCES [8] M. Gardner, The fantastic combinations of John
Conway’s new solitaire game “life”. Scientific
[1] Melanie Mitchell, James P. Crutchfield, and Rajarshi American, pages 120-–123, 1970.
Das, Evolving Cellular Automata with GAs: A Review [9] Y. Bar-Yam, Dynamics of Complex Systems. Reading,
of Recent Work, in Proc. of the first Inter. Conf. on Ev. MA: Addison- Wesley, 1997.
Comp. and its Appl. (EvCA’96) Moscow, 1996. [10] Sihem Slatnia, Mohamed Batouche and Kamel E.
[2] N.Ganguly, B.K. Sikdar, A. Deutsch, G. Canright, P.P. Melkemi, Evolutionary Cellular Automata Based-
Chaudhuri, A Survey on Cellular Automata , Project Approch for Edge Detection, WILF 2007, LNAI 4578,
BISON (IST-2001-38923), 2001. pp 404-411, 2007.
[3] M. Halbach and R. Hoffmann, Implementing cellular [11] Uli Grasemann, Risto Miikkulainen, Effective Image
automata in fpga logic. in Proc. 18th Int. Parallel and Compression using Evolved Wavelets, The University
Distributed Processing Symp. , pp. 258a-258a, 2004. of Texas at Austin, GECCO’05, Washington, DC. June
[4] P.L. Rosin, Training Cellular Automata for Image 25-29, 2005.
Processing, IEEE Trasaction On Image Processing, Vol.
15, No.7, JULY2006.
Dr. Okba Kazar was born at Biskra (Algeria) in 1962. He obtain his master degree in 1997 from the Constantine University
(Algeria) working on artificial intelligence field. He obtained his PhD degree from the same university in 2005. He is member
of editorial board of the SJI Journal. He is an author of some publication in international journals and session chair in
international conferences. He is interested to the multi-agents systems and their applications, advanced information systems,
Web services, semantic Web. Dr. Okba KAZAR actually is an associate professor at computer science department of Biskra
university. Kazarokba..e-monsite.com
Sihem Slatnia was born at the city of Biskra, Algeria. She has followed her highs schools studies at the university of Biskra,
Algeria at the Computer Science Department and obtained the engineering diploma in 2004 on the work “Diagnostic based
model by Black and White analyzing in Background Petri Nets”, after that she has obtained Master diploma in 2007 (option:
Artificial intelligence and advanced system’s information), on the work “Evolutionary Cellular Automata Based-Approach for
Edge Detection”. Also, she has contributed by an article at WILF 2007 about the segmentation based Cellular automata. Ms
Slatnia, is an assistant professor at the University of Biskra.
40