grid-based genetic algorithm approach to colour image ...mgallott/honsproj/downloads/report... ·...

48
Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation Marco Gallotta * Supervised by Dr Audrey Mbogho Department of Computer Science University of Cape Town 2007 * [email protected] [email protected]

Upload: trantram

Post on 05-May-2018

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Honours Project Report

Grid-Based Genetic Algorithm Approach to

Colour Image Segmentation

Marco Gallotta∗

Supervised by Dr Audrey Mbogho†

Department of Computer ScienceUniversity of Cape Town

2007

[email protected][email protected]

Page 2: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Abstract

Image segmentation is a crucial problem in image processing and can determine thefinal outcome of many image processing tasks. A great deal of research has gone into seg-mentation of monotone images, however, only recently has research gone into segmentingcolour images.

Genetic algorithms have been shown to be a viable method to segment an image.However, little research has gone into developing a parallel genetic algorithm for a Gridcomputing environment, which consists of heterogeneous, non-dedicated resources.

This paper surveys some of the existing segmentation techniques that have been de-veloped in search of which work best. Existing parallel genetic algorithm models areadapted for the Grid and the results from the segmentation experimentation are used inproducing a Grid-based genetic algorithm solution for colour image segmentation.

The results show that the Watershed Transformation produces effective segmentationresults. Other segmentation techniques evaluated are both less efficient and producelower quality segmentations. The genetic algorithm solution improves results, while theresource-intensive algorithms benefit from the additional resources available on the Grid.

The Grid-based genetic algorithm model is shown to be effective. While still requiringfurther development, the results are positive.

CR Categories: I.4.6 [Image Processing and Computer Vision]: Segmentation –Edge and feature detection; Region growing, partitioning

Keywords: Image segmentation; Genetic algorithms; Parallel computing; Grid com-puting

Page 3: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Contents

1 Introduction 1

1.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2 Grid-Based Genetic Algorithms . . . . . . . . . . . . . . . . . . . . 4

1.1.3 Expected Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Background 6

2.1 Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.1.1 Edge Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.2 Gaussian Smoothing . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1.3 Median Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2.1 Fitness Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.2 Genetic Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3 Parallel Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.1 Parallel Computer Architectures . . . . . . . . . . . . . . . . . . . 13

2.3.2 Grid Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4.1 Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4.2 Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4.3 Parallel Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . 20

i

Page 4: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

3 Design and Implementation 22

3.1 Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1.1 Region Growing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1.2 Watershed Transformation . . . . . . . . . . . . . . . . . . . . . . 23

3.2 Grid-Based Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Results 27

4.1 Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Grid-Based Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 30

5 Discussion 32

5.1 Image Segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2 Grid-Based Genetic Algorithms . . . . . . . . . . . . . . . . . . . . . . . . 34

6 Conclusion 35

6.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Bibliography 41

ii

Page 5: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

List of Figures

1.1 Figures 1.1(b) and 1.1(c) are the results of getting two different human

subjects to manually segment image 1.1(a). [22] . . . . . . . . . . . . . . 2

2.1 Original Lena image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Results of applying Canny edge detection to Lena (Figure 2.1) from [27]. 8

2.3 Gaussian smoothing with σ = 1.0 and median filter with window size of 5

applied to a portion of Lena. Images have been enlarged to 400% of the

original size. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Two parents undergoing crossover, resulting in two new children. The

crossover point was randomly selected to be after the second bit. The

colours in the children represent which parent the respective bits came from. 12

2.5 Chromosome that has undergone mutation. Red bits are unchanged; blue

bits were randomly selected for mutation. . . . . . . . . . . . . . . . . . . 12

2.6 Example Grid layout spread across multiple organisations. WS stands for

workstation; DR stands for dedicated resource; GS stands for Grid server. 15

2.7 Histogram showing two peaks each representing an object, with the thresh-

old value T chosen at the bottom of the valley. . . . . . . . . . . . . . . . 17

2.8 Watershed example. Two watersheds regions are obtained. [16] . . . . . . 19

2.9 Parallel genetic algorithm models. . . . . . . . . . . . . . . . . . . . . . . 21

3.1 Grid-based genetic algorithm model. . . . . . . . . . . . . . . . . . . . . . 25

4.1 Segmentation applied to flowers. . . . . . . . . . . . . . . . . . . . . . . . 28

iii

Page 6: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

4.2 Segmentation applied to ships. . . . . . . . . . . . . . . . . . . . . . . . . 29

4.3 Varying the parameters of the Watershed transformation. . . . . . . . . . 30

4.4 Graph of performance of the Grid model compared to the cluster-based

Island model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.1 Hierarchical Grid-based genetic algorithm model. . . . . . . . . . . . . . . 37

iv

Page 7: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

List of Tables

2.1 The four most commonly used edge filters. . . . . . . . . . . . . . . . . . . 7

2.2 Discrete approximation to the Gaussian function with σ = 1.0 . . . . . . . 9

4.1 Timings for the segmentation in Figure 4.1. . . . . . . . . . . . . . . . . . 28

4.2 Timings for the segmentation in Figure 4.2. . . . . . . . . . . . . . . . . . 28

v

Page 8: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Chapter 1

Introduction

Digital images contain an abundance of information, which makes them both computa-tionally and algorithmically difficult to process. A variety of image compression techniqueshave been developed, the best of which can easily achieve compression rates of 24:1 (1.0bpp) without losing much visual quality [29]. This is evidence that digital images (hereon referred to simply as images) contain a lot of very fine detail.

In computer vision problems, such high quality images need to be processed by acomputer. Examples of such problems include, but are not limited to, medical imagingand face recognition. To a computer, an image is just a stream of binary data. To analysethis data to extract meaningful information is highly complex when the image has suchfine detail. One possible solution is to reduce the resolution of the image, however, thisis a cheap attempt that results in a distortion of the final results. What really needs tobe done is for the key components of the image to be identified and somehow representedin a form that maintains the important information, while discarding the less importantinformation.

What is described above is essentially the goal of image segmentation. Image seg-mentation is the process of identifying and extracting the distinct regions from an image.The aim is to simplify the image, making it easier to analyse. It is therefore often thefirst step in many image processing and computer vision tasks and the results of many ofthese tasks rely on the quality of the segmentation. Image segmentation is therefore animportant topic that has received much attention in the past.

However, there is a major problem with image segmentation. There is no single correctsolution to the segmentation of an image. Even with humans manually segmenting animage different results are achieved. When presented with a clothed person, it is difficultto decide whether that person should be segmented as one region together with clothing.Another example is a forest of trees each with branches and leaves – should the level ofsegmentation be at the leaf, tree or forest level? It depends a lot on what the resultsof segmentation will be used for. Figure 1.1 shows the results of an image segmented

1

Page 9: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2

(a) Image

(b) Human Segmentation 1 (c) Human Segmentation 2

Figure 1.1: Figures 1.1(b) and 1.1(c) are the results of getting two different humansubjects to manually segment image 1.1(a). [22]

by different human subjects, which shows that even humans can provide very differentresults.

There have been many segmentation techniques that have been developed, each moreinclined to provide better results under a different category of images and applications.No segmentation technique to date provides the required results for every single imageand application. Some of these techniques use prior knowledge, such as models of knownobjects to search for, to overcome the weaknesses of existing segmentation techniques andto tweak the results for the particular application.

With such a diversity of segmentation techniques, recent developments have combinedtwo or more existing techniques to produce hybrid techniques with the aim being to getthe benefits of each of those techniques used. What has been only researched very slightlyis the use of genetic algorithms in image segmentation.

A genetic algorithm is a search technique used to search a large state space in searchof an approximate solution. Genetic algorithms have been widely adopted for manyproblems for which finding an optimal solution is either impossible or computationallyinfeasible.

Although existing segmentation techniques do find a solution, as mentioned abovethere is no single best solution. There is a lot of uncertainty in the input (the image),especially when using colour images. A genetic algorithm might provide us with a totalsolution to image segmentation, where it takes a large number of segmentation techniques

Page 10: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

1.1 Problem Definition 3

and combines them into one. The genetic algorithm can then apply the various segmenta-tion techniques and a combination of a subset of them. The results can then be analysedand the best result for the application selected.

Segmentation is very computationally expensive. Even small, compressed imagescontain large amounts of data which needs to be processed. This limits the image sizesthat can be processed. A genetic algorithm will require the segmentation process to berun hundreds of times, requiring even further processing time.

With the attempt to combine genetic algorithms and image segmentation it is there-fore natural to consider parallelisation. Parallel genetic algorithms have been researchedin depth in the past, however very little has been done in the field of running geneticalgorithms on a Grid.

Grid computing is a relatively new approach at harvesting the idle processing timeof standard computers. As Grid computing is gaining acceptance it is worthwhile takingadvantage of the processing power it provides, essentially for free.

Section 1.1 below outlines the problem definition.

1.1 Problem Definition

This section outlines what this project aims to achieve and gives a more formal definitionof the problem that is being investigated. Section 1.1.1 defines the problem of imagesegmentation, while Section 1.1.2 defines the problem of Grid-based genetic algorithms.Section 1.1.3 lays out the expected outcomes.

1.1.1 Image Segmentation

With so much research already done in the area of image segmentation the space of newtechniques has been mostly exhausted. There are so many techniques that have beendeveloped. They have all been evaluated to great depths and the tiniest improvementshave all mostly been researched by now. So there is a lot of past literature to cover inorder to fully understand the current state of image segmentation.

Keri Woods is investigating a genetic algorithm solution to the image segmentationproblem. Since this is the main aim of this research, an emphasis will be on evaluating howeffective different segmentation techniques would be when used in a genetic algorithm.So the aims of this research is to:

1. Investigate the current status of image segmentation by researching existing seg-mentation techniques.

2. Evaluate a selection of existing segmentation techniques.

Page 11: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

1.1 Problem Definition 4

3. Identify segmentation techniques that could be used together with a genetic algo-rithm.

Aim 1 requires a lot of reading up on existing research. It is fulfilled with a concreteunderstanding of the current state of image segmentation, what techniques exist, whatthe current leading techniques are and what the current direction in the area is. Thisknowledge is required in order to successfully fulfil the subsequent aims.

To fulfil aim 2, first a selection of techniques to evaluate has to be made. This shouldbe a direct follow-on of the research done in fulfilling aim 1. The size of the selection isvery much dependent on the results obtained from intermediate evaluation and the workdone by Keri Woods as she is also evaluating another selection. Evaluation will takethings such as difficulty of the technique as well as efficiency, however, the main aim is toevaluate the effectiveness of the segmentation results obtained. This aim will be fulfilledonce a clear indication of the strengths and weaknesses of each technique in the selectionis understood and will require at least one implementation of each.

Fulfilling aim 3 first requires a sound understanding of genetic algorithms. It involvesfinding segmentation techniques that fit in with the genetic algorithm idea of optimisingthe solution. An obvious thing to look for therefore are techniques that require parame-ters. There are also many other factors to look for which are described below.

1.1.2 Grid-Based Genetic Algorithms

A great deal has been researched in the area of parallel genetic algorithms, but very littlefor Grid computing. This leaves a lot of research in the parallel genetic algorithm fieldto study and determine how much can be used when applying genetic algorithms to Gridcomputing. There will be a lot of ideas that come out of this research, however, there islimited time for experimenting and so only a small selection will be tested. The aims ofthis section of the research is to:

1. Investigate the existing parallel genetic algorithm models in use as of today.

2. Evaluate the methods and determine potential models for applying a genetic algo-rithm to Grid computing.

3. Experiment with the models developed in 2.

There are two major parallel genetic algorithm models in use and one of them isused by far the most, so fulfilling aim 1 does not require much research. There have,however, been some more recent adaptations to the standard models which will have tobe reviewed, although they are not as applicable to this research.

Aim 2 is where the bulk of the work lies on this side of this research. There aremany issues involved in Grid computing that one does not have to take into account

Page 12: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

1.1 Problem Definition 5

when programming for a dedicated cluster as traditional parallel genetic algorithms aremodelled for. The issues one has to overcome are discussed further as they are ratherdetailed. It might even be the case that an entirely new model need be developed in orderto get the full potential out of a Grid. However, this research will first consider adaptingexisting models developed for dedicated clusters.

Aim 3 will involve taking the models developed, implementing them and then exper-imenting with them. This aim is somewhat complicated to completely fulfil as there isno substantial research to compare to. However, it can be evaluated whether the modelsdeveloped at least show the potential for future work in this area to encourage others toinvestigate Grid-based genetic algorithms as a viable option. Although image segmenta-tion is the main reason behind this research, a simpler problem will be used to experimentwith these models. Only if the results are successful will the model be applied to imagesegmentation as a full-on experiment.

1.1.3 Expected Outcomes

This research will be considered fully successful if a Grid-based genetic algorithm solutionfor colour image segmentation is developed. Section 1.1.3 lays out the expected outcomesof the image segmentation research and Section 1.1.3 lays out the expected outcomes ofthe Grid-based genetic algorithm research.

Image Segmentation

This research hopes to successfully compare the best image segmentation techniques inuse today. Success will be measured by how well the implementations of the chosensegmentation techniques segment sample images in comparison to manual segmentationperformed by humans. Another measure of success will be how well the genetic algorithmsdeveloped by Keri Woods perform, as that research is dependant on the results of thisresearch.

Grid-Based Genetic Algorithms

This research hopes to achieve a successful model for Grid-based genetic algorithms thatshows the potential Grid computing holds for genetic algorithms. A complete success willbe obtained if a successful application of this model is applied to the genetic algorithm usedfor image segmentation researched by Keri Woods. However, since such an achievement isdependant on other research this cannot be guaranteed. In such an event, success will bemeasured by using a simple problem for which genetic algorithms can be applied. Successwill be measured by the efficiency and simplicity of the model developed.

Page 13: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Chapter 2

Background

There has been a great deal of research done in the area of image segmentation as well asgenetic algorithms. A large portion of this research is therefore about reviewing what hasalready been researched. Section 2.1 discusses image processing background requiredfor by the image segmentation techniques that follow. Section 2.2 discusses geneticalgorithms in general and section 2.3 discusses parallel computing, heading into Gridcomputing. Section 2.4 goes into related work.

2.1 Image Segmentation

This section covers the general image processing techniques which the image segmentationtechniques make use of. Section 2.1.1 describes methods for edge detection, Section 2.1.2describes Gaussian smoothing and Section 2.1.3 describes median filtering.

Figure 2.1: Original Lena image

6

Page 14: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.1 Image Segmentation 7

(a) Sobel filter

-1 0 1-2 0 2-1 0 1

(b) Prewitt filter

-1 0 1-1 0 1-1 0 1

(c) Roberts filter

1 00 -1

(d) Marrs-Hildreth filter

-1 -1 -1-1 8 -1-1 -1 -1

Table 2.1: The four most commonly used edge filters.

2.1.1 Edge Detection

Edge detection is fundamental in 3D reconstruction, motion, recognition, image enhance-ment and restoration, image registration, image compression, and so on [39]. The goal ofedge detection is to highlight the sharp changes in intensity. This is widely used in imageprocessing as it is a quick and easy way of extracting most of the important features inan image.

There are two main categories of edge detection operators, gradient and Laplacian.The gradient methods use the first derivative of the image to find edges by searching forthe local minimums and maximums. The Laplacian methods search for zero-crossings inthe second derivative of the image. [31]

There are three widely used gradient methods: Sobel, Prewitt and Roberts. Marrs-Hildreth is the most common Laplacian method. The horizontal filters used for these fourmethods are shown in Table 2.1.

The results of the Sobel and Prewitt filters don’t differ much, so neither is favouredcompletely above the other in general use. The Roberts filter produces noisier results,which can be attributed to its smaller filter size. It also produces edges that are onepixel off center, although this can usually be corrected by post-processing. The Robertsfilter being only 2× 2 is used when efficiency is important, otherwise one of the Sobel orPrewitt filters are generally preferred.

The Marrs-Hildreth filter on the other hand, while obtaining edges at the same lo-cations, yields very different results to the gradient methods. The edges aren’t as sharpand there is a lot of noise present. It is for these reasons that the gradient methodsare preferred for most image processing applications, including image segmentation. TheLaplacian method does have its uses, however, an example being image enhancement.

In 1986 John Canny developed a multi-stage edge detection algorithm known as theCanny edge operator [8]. The Canny operator is susceptible to noise, so the image is firstsmoothed using Gaussian smoothing (see Section 2.1.2). One of the edge filters, such asthe Sobel filter, is applied to the smoothed image to determine the gradient at each pixel.

Non-maximum suppression is then applied, which searches for local maximums in thegradient direction, tracing out the edges. This results in a binary image of thinned edgesas illustrated in Figure 2.2.

Page 15: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.1 Image Segmentation 8

(a) Full image (b) Zoomed portion

Figure 2.2: Results of applying Canny edge detection to Lena (Figure 2.1) from [27].

2.1.2 Gaussian Smoothing

Natural images often contain some level of random fluctuation of pixel values, referred toas noise. Figure 2.3(a) shows that when enlarging the Lena image we can see a rough,grain texture — this is an example of noise. Noise is a major issue in a lot of imageprocessing applications. Image segmentation can suffer from noise by over-segmentingthe image, taking the noise speckles as small regions on their own. It can distort edgesand have many other disastrous effects.

There are two popular approaches to reduce the level of noise in an image, or oth-erwise referred to as smoothing the image. These approaches try reduce these randomfluctuations, while maintaining the features of the image. This section discusses Gaussiansmoothing, while Section 2.1.3 discusses another approach — median filtering.

The Gaussian smoothing operator is a 2D convolution operator, just as with the edgeoperators. It uses discrete approximations of the Gaussian distribution with mean 0.

The idea behind Gaussian smoothing is to spread the noise between surrounding pixels.Since an image is discrete, but the Gaussian function continuous, the function needs tobe approximated at discrete points. Although the function is non-zero everywhere, thevalues more than three standard deviations from the mean are negligible, so the filter onlyconsiders discrete points within three standard deviations. Table 2.2 shows a commonlyused Gaussian filter that approximates a Gaussian with σ = 1.0.

Figure 2.3(b) shows the results after applying the Gaussian filter in Table 2.2 to theportion of the Lena image in Figure 2.3(a). The images have been enlarged to 400% oftheir original size to make the results more visable. The original image contains a fairamount of noise, especially in the background, as can be seen by the sharp changes inintensities between neighbouring pixels. Almost all of this noise is removed by Guassiansmoothing. Some quality has been lost due to the smoothing — the sharp details have

Page 16: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.2 Genetic Algorithms 9

1273

1 4 7 4 14 16 26 16 47 26 41 26 74 16 26 16 41 4 7 4 1

Table 2.2: Discrete approximation to the Gaussian function with σ = 1.0

been blurred. While the edge is not as sharp as in the original, the basic shape stillremains intact.

2.1.3 Median Filtering

Median filtering is another common approach used to reduce noise in an image. It takesan N × N window of pixels around each pixel and finds the median intensity withinthat window. In doing so it averages out the pixels, discarding very low and very highintensities.

Mean filters are similar, however, they take the mean value of the pixels within thewindow. The issue with mean filters is that they are affected by single intensity outlierssuch as “salt and pepper” shot noise. A median filter is therefore preferred as it is morerobust. A median filter also replaces each pixel by a value of one of the pixels within thewindow and therefore never creates unrealistic pixel values.

The result of applying a median filter is shown in Figure 2.3(c). The results aresimilar to Gaussian smoothing. The Gaussian filter blurs the edges of the larger featuresmore, while the median filter loses the edges of some of the finer features. The medianfilter removes more noise. The Gaussian produces a weighted average of the pixels inthe window, whereas the median filter produces a uniform weighting. This results in thegentler smoothing provided by Gaussian smoothing.

2.2 Genetic Algorithms

A genetic algorithm is an optimisation technique that works on large search spaces [36].The idea of genetic algorithms comes from biological evolution [12]. They attempt tosimulate breeding (crossover) and mutation by selecting the best solution (chromosome)from large populations and “breeding” them together to form a new population consistingof hopefully better algorithms.

A population consists of many individuals. Each individual consists of a chromosome,which is made up of many genes. Each gene could represent either a parameter or a stepin an algorithm. A fitness function is defined to evaluate the results of an individualto determine those that perform best. The fitness function is used in selecting the sub-population to include in breeding. Breeding consists of crossovers and mutations which

Page 17: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.2 Genetic Algorithms 10

(a) Input image (b) Applying Gaussian smoothing

(c) Applying median filter

Figure 2.3: Gaussian smoothing with σ = 1.0 and median filter with window size of 5applied to a portion of Lena. Images have been enlarged to 400% of the original size.

Page 18: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.2 Genetic Algorithms 11

together produce the next generation of individuals. Crossovers take two individuals andreturns a combination of their genes which results in a new individual. Mutation takesan chromosome and randomly modifies it based on a number of techniques.

The basic genetic algorithm follows the following procedure:

1. Initialisation: Generate a population of random individuals.

2. Fitness: Evaluate the fitness of all individuals in the current population.

3. Selection: Select a subset of the current population for breeding.

4. Reproduction: Generate the next population by breeding those selected in step 3.

5. Termination: If the termination condition is met, then terminate.

6. Go to step 2.

Section 2.2.1 goes into the details of the fitness function and Section 2.2.2 describesthe genetic operators of crossover and mutation.

2.2.1 Fitness Function

The fitness function is one of the key aspects to a genetic algorithm. A fitness functionexamines an individual and assigns it a numerical fitness value. A higher fitness valuerepresents a fitter, more optimal solution. Some problems have well-defined fitness func-tions. When maximising a function, for example, the fitness can simply be defined as thevalue resulting from the mathematical function. However, most problems do not havesuch well-defined fitness functions.

Image segmentation is one of the problems that does not have a well-defined fitnessfunction. It is not easy to determine algorithmically which of two segmentations is moreoptimal. Therefore it is difficult to assign the accuracy of a segmentation a numericalvalue, which is required of the fitness function.

It is vital that a good fitness function is chosen as this determines which individualsare selected for the next generation and ultimately the success of the algorithm.

2.2.2 Genetic Operations

The genetic operators generate new individuals from the existing ones. Since the cur-rent population contains the fittest known individuals, the genetic operators take partsof different individuals in forming the new individuals. There are two commonly usedoperators — crossover and mutation.

Crossover takes two individuals from the current population, referred to as the parents,and breeds them together to form two new children. A crossover point is randomly chosen.

Page 19: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.3 Parallel Computing 12

(a) Parent one (b) Parent two

(c) Child one (d) Child two

Figure 2.4: Two parents undergoing crossover, resulting in two new children. Thecrossover point was randomly selected to be after the second bit. The colours in thechildren represent which parent the respective bits came from.

Figure 2.5: Chromosome that has undergone mutation. Red bits are unchanged; bluebits were randomly selected for mutation.

A crossover point is any valid position in the chromosome at which the chromosome canbe split into two halves without bisecting a gene (although in some genetic algorithmsbisection is allowed). The two new children are formed by joining the genes to the left ofthe crossover point of one parent with the genes to the right of the crossover point of theother parent. With two such permutations we end up with two new children as illustratedin Figure 2.4.

Sometimes an issue with genetic algorithms is that they get “attracted” to a localmaximum, which can be far from the global maximum. Using crossover within the samepopulation for many generations can be cause this to happen and sometimes makes itimpossible to break out away in search of a more global maximum.

One solution almost always used is mutation. Mutation takes an individual andrandomly selects a few bits for mutation. A bit is mutated by alternating its current value.Mutation is seldom favourable, since it often changes the meaning of the chromosomedrastically. However, since it is still used, because on the rare occasion it can providesufficient shift out of the local maximum and in the direction of a more optimal solution.An example of mutation is illustrated in Figure 2.5.

2.3 Parallel Computing

Very often applications are in need of greater performance. As [28] points out, there arethree ways to improve performance:

Page 20: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.3 Parallel Computing 13

1. Work harder.

2. Work smarter.

3. Get help.

In the field of computers, working harder means increasing the performance of thecomputer which enables the computer to process more work in the same time frame.Working smarter means improving the program by using more efficient algorithms tocomplete the same job faster. These two strategies both have their limits though. Highperformance computers are expensive and the performance of a single processor is limitedby existing technologies. And the efficiency of an algorithm is bounded, so no matter howgood the author, one cannot improve it beyond certain limits.

For some applications, reaching the limits of 1 and 2 is still insufficient and they stillrequire greater performance. In this case one is forced to either abandon the applicationor consider option 3 — get help. Getting help refers to using multiple processors to solvean individual job. This is what parallel computing is all about. The idea behind parallelcomputing is that an individual job can be broken down into many smaller jobs that canbe processed simultaneously and combined to produce the same result as processing thefull task in a sequential manner.

A parallel computer is a “collection of processing elements that communicate andcooperate to solve large problems fast.” [2]

2.3.1 Parallel Computer Architectures

In the past many different parallel computing systems have emerged, each classified onhow their processors, memory and interconnect are laid out. According to [4], the mostcommon systems in 1999 were:

• Massively Parallel Processors (MPP)

• Symmetric Multiprocessors (SMP)

• Cache-Coherent Nonuniform Memory Access (CC-NUMA)

• Distributed Systems

• Clusters

SMP systems use a shared-memory model where the cost of accessing a memorylocation is the same for all processors. All processors share the same global resourcesand a single operating system is run across all processors. SMP systems do not scale wellbecause of bus limitations and are currently limited to about 100 processors. [20]

Page 21: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.3 Parallel Computing 14

Processors in CC-NUMA systems have a global view of all memory. However, theaccess costs are nonuniform as the name suggests. This allows for a much more scalablearchitecture than is the case with SMP systems. [4]. It is for this reason that CC-NUMAarchitectures have become widely used in modern large scale systems. [20]

A cluster is “a collection of workstations or PCs that are interconnected via somenetwork technology.” [4] Each node in the cluster can be a single or multiprocessor systemthat is fully functional on its own. Memory is distributed amongst the nodes and theyuse a LAN for message-passing to collaborate on processing a single task in parallel.

MPP systems are mostly unused these days. Distributed systems as referred to in [4]has evolved into Grid Computing, which is covered in Section 2.3.2.

2.3.2 Grid Computing

In 1999, Foster [14] defined a Grid as follows:

“A computational Grid is a hardware and software infrastructure that pro-vides dependable, consistent, pervasive, and inexpensive access to high-endcomputational capabilities.”

This concept of the Grid originated in the early 1990s, however the idea has beenaround for a lot longer. In 1969, Len Kleinrock [19] suggested:

“We will probably see the spread of ‘computer utilities’, which, like presentelectric and telephone utilities, will service individual homes and offices acrossthe country.”

Recently the Grid has moved from a purely academic concept to becoming highlypopular. This resulted in the need for a clearer definition. Foster produced the followingGrid checklist in 2002 [13]. A Grid is a system that:

1. “coordinates resources that are not subject to centralized control”

2. “using standard, open, general-purpose protocols and interfaces”

3. “to deliver nontrivial qualities of service.”

A Grid can take advantage of the unused resources in ordinary workstations. Typi-cally workstations are only in use a small fraction of the time — a Grid uses the idle timeto process tasks submitted to the Grid. This is commonly tied in with volunteer comput-ing [3], although this is not the only source of what is referred to as shared computing.

The resources in shared computing are non-dedicated. However, some tasks requireresources to be dedicated. Dedicated nodes are therefore added to the Grid for this

Page 22: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.3 Parallel Computing 15

Figure 2.6: Example Grid layout spread across multiple organisations. WS stands forworkstation; DR stands for dedicated resource; GS stands for Grid server.

purpose, although they are not a requirement for a Grid. Figure 2.6 illustrates anexample Grid layout with both dedicated and non-dedicated resources in the form ofworkstations. It shows how multiple organisations can join together to form a singleGrid. The Grid server in Organisation B serves to manage submitted jobs.

A Grid can include heterogeneous computing resources and various network architec-tures. The computing power of nodes varies and the bandwidth between nodes is notuniform. [14]

With the recent popularity in Grid computing a number of large Grids have beencreated. The Enabligh Grids for E-ScienceE project is arguably the largest Grid currently.It consists of 41,000 CPUs and about 5 PB disk and tape storage continuously availableto users and maintains 100,000 concurrent jobs. It is spread over 240 institutions in 45countries world-wide. [10]

Condor

Condor is a job scheduler that “provides a mechanism for sharing resources by harnessingthe idle-cycles on desktop machines [7]. A single machine is selected as a central manager.The manager schedules jobs to the idle resources in the pool, selecting resources based ona set of requirements set by the user. It also provides job migration and other features.

Dagman is a distributed acyclic graph manager bundled with Condor that watchesthe progress of jobs submitted to a Condor scheduler and submits subsequent jobs whentheir dependencies have sucessfully completed execution.

Page 23: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.4 Related Work 16

2.4 Related Work

This section covers related work in the areas covered by this research. Section 2.4.1 coverssome image segmentation techniques, Section 2.4.2 covers genetic algorithms for imagesegmentation and Section 2.4.3 covers parallel genetic algorithms.

2.4.1 Image Segmentation

There are many existing segmentation techniques, but they all have their weaknesses.There is no single most effective technique that works best for every scenario. [26] Theycan be separated into edge-based and region-based techniques. In edge-based techniques,local information is used to determine boundaries between distinct objects. In region-based techniques, global information is used to group together areas with homogeneousproperties into objects.

Section 2.4.1 discusses thresholding techniques and Section 2.4.1 discusses segmen-tation based on edge detection techniques — two edge-based techniques. Section 2.4.1discusses region growing and 2.4.1 discusses the Watershed transformation — two region-based techniques.

Thresholding

Thresholding is a popular technique used in grey scale segmentation [32]. This techniqueconsiders that regions consist of homogeneous grey scale values. A histogram of the imageis produced and thresholded into peaks representing the different regions. The thresholdvalues are chosen in the valleys between peaks which are used to separate the objects.

Figure 2.7 illustrates an example histogram. In this example only two peaks havebeen identified, with the valley at T . The image is therefore segmented into two regions— one consisting of all pixels with grey scale values less than T and the other with valuesgreater than T .

A weakness of thresholding is that it ignores spatial information of the pixels. Thechoice of threshold values as well as the number of thresholds determines the effectiveness.Consider the example in Figure 2.7 once again — the small peak to the left of T couldhave also been identified as a third peak. Another weakness is that the boundaries arenot well defined — regions can seep into one another as illustrated by the dashed lines inFigure 2.7.

Otsu [25] was one of the first to present a method to optimise the threshold valuesby minimising the ratio of between-class to total variance. Cheriet [9] extends on thismethod by recursively selecting the best threshold until all objects have been segmented.

Page 24: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.4 Related Work 17

Figure 2.7: Histogram showing two peaks each representing an object, with the thresholdvalue T chosen at the bottom of the valley.

Edge Detection

Edge detection is a well-developed field on its own within image processing, as discussedin Section 2.1.1. Region boundaries and edges are closely related, since there is often asharp adjustment in intensity at the region boundaries. Edge detection techniques havetherefore been used to as the base of another segmentation technique.

The edges identified by edge detection are often disconnected as in Figure 2.2. Tosegment an object from an image however, one needs closed region boundaries. Kim [18]presents one method to bridge these discontinuities as well as smooth distortions. Discon-tinuities are bridged if the distance between the two edges is withing some predeterminedthreshold. The bridging curve in this paper is approximated by a quadratic function.

While edge detection is an effective method, the fact that it doesn’t consider globalinformation is a weakness. The results are very dependant on the thresholds used indetecting edges. Often edges that are detected do not correspond to a region boundary,such as creases on clothing which can cause superfluous edges. Texturing can also resultin superfluous edges, as in the feather boa in the Lena image (Figure 2.1).

Region Growing

Region growing is another well-known segmentation technique. The first region growingmethod was the seeded region growing method (SRG) [1]. This method takes a set ofseeds as input along with the image. The seeds mark each of the objects to be segmented.The regions are iteratively grown by comparing all unallocated neighbouring pixels to theregions. The difference between a pixel’s grey value and the region’s mean, δ, is usedas a measure of similarity. The pixel with the smallest difference measured this way isallocated to the respective region. This process continues until all pixels are allocated toa region.

Mehnert [23] points out that “the SRG algorithm is inherently dependent on the order

Page 25: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.4 Related Work 18

of precessing of the image pixels”. They present an adaptation of the SRG algorithm thatthey claim has the same benefits of the SRG algorithm with the advantage of pixel orderindependence. The first dependency arises when several pixels have the same minimum δ

value, resulting in several pixels to choose from. The choice of pixel to process influencesthe δ values for the next iteration and ultimately the final segmentation. They worksaround this by processing all pixels with the same minimum δ in parallel. The secondorder dependency occurs when the chosen pixel z has the same δ value for several regions.The choice of region it is assigned once again influences the final segmentation. Theywork around this by marking such pixels as tied. Tied pixels are then re-examined at theend of the process.

As mentioned above, SRG requires seeds as additional input. The segmentation resultsare dependent on the choice of seeds. Noise in the image can cause the seeds to be poorlyplaced. Lin [21] presents an unseeded region growing (URG) algorithm that doesn’trequire explicit seeds. It starts off with a single region A1 – they have found that thepixel chosen here does not significantly influence final segmentation. At each iteration itconsiders the neighbouring pixels in the same way as SRG. It differs from SRG in thatif the minimum δ is less than a then a predefined threshold t then it is added to therespective region Aj . If not, then the pixel is considered significantly different from allcurrent regions Ai and a new region An+1 is created with this pixel.

URG still has some issues due to the lack of prior knowledge of what the imagerepresents. The most important issue is that the choice of threshold t heavily impacts onthe segmentation results. The other issue is that there is a bias towards growing regionsdiscovered earlier.

Watershed Transformation

Watershed-based techniques have shown satisfactory results [16]. It was first introducedto the segmentation problem by Beucher and Lantuejoul [5].

The Watershed transformation considers the gradient magnitude of an image as atopographic surface. Pixels having the highest gradient magnitude intensities (GMIs)correspond to watershed lines, which represent the region boundaries. Water placed onany pixel enclosed by a common watershed line flows downhill to a common local intensityminima (LMI). Pixels draining to a common minimum form a catchment basin, whichrepresent the regions. [16] Figure 2.8 depicts how the LMIs are found.

A major problem with this method is that it very often results in sever over-segmentation. There have been several attempts at overcoming this problem. Meyerand Beucher [24] proposed a marker-controlled strategy. Markers are placed on the im-age to represent objects. The Watershed transformation is then run by flooding from themarkers. This requires prior knowledge of the objects in the image or even manual input.

Page 26: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.4 Related Work 19

(a) Matrix showing typical GMI val-ues. The pixels inside the circles cor-respond to LMIs.

(b) Morphological gradient directionsfor the matrix values in (a).

Figure 2.8: Watershed example. Two watersheds regions are obtained. [16]

Hernandez [16] proposes a new method which reduces the over-segmentation whilenot requiring prior knowledge. It applies a 3 × 3 median filter of the GMI followed byapplying a threshold. By taking the median, noise is reduced which in turn reducesover-segmentation while retaining the basic structure of the objects such as edge loca-tion. It then uses a region merging procedure to obtain a meaningful segmentation. Theregion homogeneity and edge integrity of neighbouring regions is combined dynamicallyto recursively determine if they should be merged.

2.4.2 Genetic Algorithms

Genetic algorithms have been applied to many problems such as numerical optimisation,circuit design, job scheduling and designing cellular automata rules [12].

Zingaretti [38] applies a genetic algorithm to image segmentation using a thresholdingtechnique. The genetic algorithm is used to optimise the thresholds and weightings of thegrey scale and colour components.

Bhanu [6] uses a genetic algorithm to optimise the 14 adjustable parameters of thePhoenix segmentation method [33]. The Phoenix method uses a combination of thresh-olding and connected component analysis to obtain a partial segmentation, which is re-cursively applied to resulting regions.

Feitosa [11] applies a genetic algorithm to the region merging technique. They optimisethe weightings the spectral and spatial components have on the segmentation as well asvarious other parameters such the fusion and scale parameters.

Ramos [30] applies a genetic algorithm to a k-means clustering technique for imagesegmentation. The clustering technique splits the image into k classes.

All the above work on segmenting colour images. They all show positive results that

Page 27: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.4 Related Work 20

indicate that genetic algorithms are well suited to the image segmentation problem, whilestill not performing successfully on all categories of images.

2.4.3 Parallel Genetic Algorithms

There are several models that have emerged for parallel genetic algorithms, ranging fromfine to course grained. However, two models have emerged as being most popular. Theseare the master–slave model covered in Section 2.4.3 and the Island model covered insection 2.4.3. Section 2.4.3 discusses the little research that has been done in bringinggenetic algorithms to the Grid.

Master–Slave

Goldberg [15] describes and analyses several PGA models. The simplest model has amaster distribute the evaluation of the fitness function among slave processors, while themaster processor executes all other GA operations. This is illustrated in Figure 2.9(a)with the root top-most node being the master and the other four being slaves. Master–slave has the advantage that it searches the search space in exactly the same manner asa serial GA and therefore yields the same results.

With only one master controlling all slaves, the communication time increases as slavesare added. This results in an optimal number of processors that minimises execution timeand hence it is not a scalable model.

Island Model

Goldberg [15] goes into detail describing and analysing the Island model, comparingit to the master–slave model. It is currently the most efficient and widely used PGAmodel. The Island model distributes the populations with each processor holding its ownpopulation. Leaving the populations isolated results in poor scalability as there is a pointwhere adding more processors yields little advantage.

To improve the effectiveness, migration is introduced. At each iteration, a percentageof the population is migrated to neighbouring processors. It is crucial to determine agood migration rate as setting it to low can cause isolation and too high can create acommunication overhead. If chosen appropriately the Island model approaches embar-rassingly parallel. The topology is also very important. A sparse topology results in toomuch isolation while a dense topology causes an overhead. It is also beneficial to restrictpopulations from spreading too quickly to allow for some level of isolation. The Islandmodel is illustrated in Figure 2.9(b), where each node sends and receives immigrants fromits four neighbours.

Skolicki [35] studies the influence of migration sizes and intervals on the Island modelin depth. They find that the migration interval has the greatest impact on the results.

Page 28: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

2.4 Related Work 21

(a) Master–Slave (b) Island Model

Figure 2.9: Parallel genetic algorithm models.

Their explanation of the results is that frequent migrations creates a lack of diversitywhich affects the final results. Rare migrations degrade the performance due to slowconvergence.

Grid-Based Genetic Algorithms

The computational resources available on a Grid make it an excellent environment forGAs. However, very little research has been done on Grid-based GAs (GGAs).

Shao [34] presents a master–slave model running on a Grid. However, a Grid cangrow to large sizes and therefore the scalable Island model is preferred.

A Grid consists of dedicated as well as non-dedicated resources. Non-dedicated re-sources are periodically added and removed to the Grid. If a process is running on aresource that is removed during computation it has to be able to recover. [17] investigatesthe fault tolerance of the Island model. They find that the Island model is fault toler-ant even with up to a 50% processor failure rate. Increasing the Island size reduced theimpact of failure, as well as when the migration rate is larger than failure rate.

Page 29: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Chapter 3

Design and Implementation

The design and implementation of the two parts of this research are outlined in thesection. Everything was implemented in C++ for the Linux platform.

3.1 Image Segmentation

After researching the existing image segmentation techniques discussed in Section 2.4.1 adecision was made to select the region growing (Section 2.4.1) and Watershed transfor-mation (Section 2.4.1) techniques for further experimentation.

The CImg Library [37] was used to ease the implementation of the image processing.Although it provides a lot of additional functionality, it was only used for its transparentloading and saving of images and some of the macros provided.

For each segmentation technique, the segmentation process takes a single image asinput and then produces a single image representing the segmentation as output. Sinceeach one follows a similar structure, an abstract segment class is created. Each techniqueis then implemented in its own class.

Section 3.1.1 outlines the design of the region growing technique and Section 3.1.2outlines the design of the Watershed transformation.

3.1.1 Region Growing

Section 2.4.1 provides an overview of the region growing technique for image segmentationas researched. This section provides the design of this technique used in this research.

The region growing method is heavily affected by noise as a sharp intensity fluctuationwill create a new region. The image is therefore smoothed with a Gaussian filter asdiscussed in Section 2.1.2.

For each region the average pixel intensity is stored. All pixels neighbouring an existingregion that could potentially be added to a region are stored in a heap along with theminimum δ value for that pixel. At each step of the algorithm the pixel with the smallest

22

Page 30: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

3.2 Grid-Based Genetic Algorithms 23

δ is popped off the heap. If its δ value is within a threshold it is added to the region.Otherwise a new region is created with this pixel.

To start off the process the top-left pixel is selected as the first region on its own. Asnew pixels are added to a region the average intensity for that pixel is updated and theregions neighbours added to the heap. Since a pixel could have up to eight neighbouringregions, the heap could get very large. Therefore, only the minimum δ value is stored foreach pixel.

3.1.2 Watershed Transformation

Section 2.4.1 provides an overview of the Watershed transformation as researched byothers. This section provides the design details of this technique as used in this research.

The Watershed transformation is also sensitive to noise, but even more so than regiongrowing. Therefore additional smoothing has to be applied to the image, especially thegradient image as discussed below. The first step though, is to apply a Gaussian filter aswith the region growing (see Section 2.1.2).

The Sobel filter (see Section 2.1.1) is applied to the smoothed image to obtain agradient image. The gradient image is then passed through a median filter (see Section2.1.3), which smooths the gradients to limit over segmentation. A median filter is preferredover a Gaussian filter due to its uniform weighting which produces “flat” lines in the cross-sections. The resulting image is thresholded, with gradients below the threshold beingincreased to the threshold, to reduce over segmentation caused by small fluctuations inthe image.

The LMI pixels are located by searching for pixels with a gradient smaller than thatof all its neighbouring pixels. Having found the LMI pixels, the region associated witheach of them is found by a flood fill algorithm. A pixel is only flooded if a neighbouringpixel with a lower gradient is already included in the region. By this approach, the peakswill form the region boundaries as intended. See Figure 2.8 for an illustration of the LMIsand how the pixels are allocated to regions.

3.2 Grid-Based Genetic Algorithms

The fitness function is almost always the most time consuming aspect of a genetic algo-rithm. With image segmentation being computationally expensive and since the segmen-tation forms part of the fitness function, this statement holds even firmer when applyinggenetic algorithms to image segmentation. Therefore we can assume with caution thatany overhead, if small, is negligible.

Inter-process communication between nodes on a Grid can be expensive [14]. It isunknown in advance where exactly the nodes are located and they could even span multi-

Page 31: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

3.2 Grid-Based Genetic Algorithms 24

ple continents. We therefore have to allow for high latencies and low bandwidth betweennodes. Waiting for receipt of a message could result in long periods of idle time andshould therefore be avoided whenever possible.

Grids can consist of heterogeneous computing resources [14], which results in themore powerful nodes completing an iteration of the genetic algorithm at a faster rate.If all nodes had to be synchronised, then the whole process will be bottlenecked by theweakest node. We therefore have to allow for nodes to be at different stages of the geneticalgorithm, while still working together on the same problem.

With the Island model (see Section 2.4.3), individuals are migrated between neigh-bouring nodes. This migration procedure does not have to be synchronised. If node A

sends individuals to node B, A can continue the genetic algorithm cycle immediatelywithout waiting for an acknowledgement of receipt from B. Similarly, B does not needto suspend its computation waiting for the anticipated immigrants from A. This holds,because the individuals are time independent. If, when B receives the immigrants late,its population has evolved more than the immigrating individuals between the time ofA sending and B receiving, these incoming individuals will be discarded in the usualselection process. If, however, the incoming individuals are fitter than the than the cur-rent population at B then they will be accepted into the population and improve thepopulation at B.

Section 3.2.1 describes the design of the Grid-based genetic algorithm model developedin this research and Section 3.2.2 describes the implementation.

3.2.1 Model

For the description of this model we assume we have one dedicated node (Z) and eightnodes in the Grid (A – H). This model will, however, work will additional Grid nodes.

Due to the issues mentioned above, we don’t want any non-dedicated nodes relyingon each other. To ease the process of inter-process communication, all communicationbetween nodes will go via Z. Since communication overhead is small, it is assumed withcaution to be negligible. Since we will be aiming for asynchronous communication thisnegligible overhead is acceptable.

This model is based upon the Island model as discussed in Section 2.4.3. Nodes A

– H will be the worker nodes, iterating through the genetic algorithm process as theywould in a serial genetic algorithm as discussed in Section 2.2. After K iterations of thecycle, however, they will run the migration process as in the Island model.

The difference between this model and the Island model lies in the migration process.In the Island model neighbouring nodes exchange individuals directly. In this model allindividuals being migrated are sent to Z, which holds them in a pool of fittest individualswe call the super population. Instead of listening for incoming messages from neighbour-

Page 32: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

3.2 Grid-Based Genetic Algorithms 25

Figure 3.1: Grid-based genetic algorithm model.

ing nodes migrating individuals, a node requests a number of individuals from Z. Z

then responds by sending the requested number of individuals selected from the superpopulation.

The model follows the following procedure, with the steps modified from a serialgenetic algorithm shown in italics:

1. Initialisation: Generate a population of random individuals.

2. Fitness: Evaluate the fitness of all individuals in the current population.

3. Selection: Select a subset of the current population for breeding.

4. Reproduction: Generate the next population by breeding those selected in step 3.

5. Termination: If the termination condition is met, then terminate.

6. If K iterations since last migration:

(a) Select M individuals for emigration and send them to Z.

(b) Request M individuals for immigration from Z.

7. Go to step 2.

The model is illustrated in Figure 3.1. Nodes A – H are represented by circles andnode Z by the cylindrical shape. The communication paths are bidirectional with nodesA – H sending individuals as well as receiving from Z.

3.2.2 Implementation

A prototype of the model discussed in Section 3.2.1 was implemented in C++ for testingpurposes. To simplify the implementation a MySQL database was used to store the super

Page 33: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

3.2 Grid-Based Genetic Algorithms 26

population at node Z. The database can be installed anywhere provided the worker nodescan connect to the server.

There are two components to the implementation. The one component iteratesthrough the genetic algorithm procedure. The nodes periodically store the migrationnodes in the database and at the same time, retrieve a random selection from the database.When the termination condition is met the fittest individual is stored in the database.Several instances of this component are run across multiple nodes.

The second component evaluates the entire super population stored in the databasein search of the fittest of the fittest. Since the first component stores the fittest from eachnode in the database, the fittest of all will be stored.

The job is launched onto a Grid using a Condor scheduler (see Section 2.3.2, usingDagman to submit the second component on completion of all the nodes.

Page 34: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Chapter 4

Results

In this section the results of this research are provided. Section 4.1 provides the resultsobtained from the image segmentation experimentation and Section 4.2 the results fromthe Grid-based genetic algorithm.

4.1 Image Segmentation

All of the following results were obtained on obtained on an Ubuntu Linux system runningon an Intel R©CoreTM2 CPU T7200 (2.00GHz) with 2.0GB of RAM. The results are pre-sented with each region filled by the average colour of pixels it contains, so neighbouringregions will have a different colour.

The region growing (see Section 3.1.1) and Watershed transformation segmentationtechniques were tests on several images from the The Berkeley Segmentation Dataset [22].Results of the region merging technique implemented by Keri Woods was used for com-parison in the evaluation of these two techniques.

Results of these tests run on a sample of two images are provided in Figures 4.1 and4.2. Since the region growing technique was very computationally expensive, tests for thistechnique were run on images scaled by 50%. For each image, the results of six humansmanually segmenting these images, provided by [22], are included in Figures 4.1(b) and4.2(b). The outlines of the segmentations produced by the candidates are super-imposedto produce a single image with higher intensities representing overlapping boundaries bydifferent candidates.

The run times of these tests are provided in Tables 4.1 and 4.2. The timings for theregion growing technique are not directly comparable with the others due to the scaledimages used in those tests.

There are two parameters that affect the results of the Watershed transformation— the window size of the median filter used and the thresholding used to smooth thegradient image. The values used in producing the segmentations in Figures 4.1(d) and

27

Page 35: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

4.1 Image Segmentation 28

(a) Original image [22] (b) Human segmentation [22]

(c) Region growing (d) Watershed transformation

(e) Region merging

Figure 4.1: Segmentation applied to flowers.

Segmentation Time (seconds)Region growing 133.404

Watershed transformation 2.041Region merging 233.435

Table 4.1: Timings for the segmentation in Figure 4.1.

Segmentation Time (seconds)Region growing 71.806

Watershed transformation 2.106Region merging 58.059

Table 4.2: Timings for the segmentation in Figure 4.2.

Page 36: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

4.1 Image Segmentation 29

(a) Original image [22] (b) Human segmentation [22]

(c) Region growing (d) Watershed transformation

(e) Region merging

Figure 4.2: Segmentation applied to ships.

Page 37: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

4.2 Grid-Based Genetic Algorithms 30

(a) Median window: 3; Threshold: 40 (b) Median window: 3; Threshold:120

(c) Median window: 5; Threshold: 40 (d) Median window: 5; Threshold:120

Figure 4.3: Varying the parameters of the Watershed transformation.

4.2(d) were both 3 and 80 for the window size and threshold. Adjusting these parametershas a large impact on the resulting segmentation. Figure 4.3 shows the impact of varyingthese parameters.

4.2 Grid-Based Genetic Algorithms

All of the following results were obtained on a CentOS Linux system running on an IBMx445 with an 8 way Intel R©XeonTM 3.40GHz and 12GB RAM. The MySQL database usedto store the super population was run on a dual XeonTM 3.20GHz FreeBSD server with1GB RAM, connected to the x445 server by shared Gbit Ethernet. The two servers wereon different subnets and about 200m apart.

The graphs in Figure 4.4 are the results of tests run to determine the overhead of thecommunication of the Grid model for varying levels of complexity of the fitness function.In these tests the genetic algorithm computes no meaningful result. The fitness functionsleeps for a fixed amount of time. This is used to test the efficiency of the model appliedto a problem with fitness function that would take such a period of time to process.This method eliminates the variance brought in by a specific problem. Since the fitnessfunction is generally the most computationally expensive step of a genetic algorithm thistests the efficiency of the model.

The two graphs represent different magnitudes of complexity. Figure 4.4(a) tests the

Page 38: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

4.2 Grid-Based Genetic Algorithms 31

(a) Lower complexity (b) Higher complexity

Figure 4.4: Graph of performance of the Grid model compared to the cluster-based Islandmodel.

lower complexity fitness functions taking under 0.1 seconds to run and Figure 4.4(b) teststhe higher complexity fitness functions taking up to 1 second to run. Each graph is plottedfrom ten equally spaced data points.

The red lines represent the timing data for the Grid model. The green lines representthe same timings for the Island model as a comparison of efficiency. For both models apopulation size of 10 and number of iterations of 10 was used. All eight processors of thex445 were used for both models. For purposes of accuracy in measurements, the timetaken to launch and terminate the job was not included in the timings. This is due toCondor creating a very variable amount of time for startup.

The model was tested with a simple problem we call the Anti-Social Mathematician.It is a simple problem in which the coordinates of a group of people are given as inputand the task is to find a location that minimises the sum of the costs of the distances toevery other person using a negative exponential cost function. Using this simple problemas a basis of validating the model succesful results were obtained that were comparableto the Island model.

An attempt was made at taking the genetic algorithm using region merging developedby Keri Woods and applying it to this model. The attempt was completed, however, theresults were very poor. The genetic algorithm functions used had not been optimised. Theopen source GAUL library used by Keri Woods has on the other hand been heavily refinedand optimised providing very good results. Due to the heavily computationally expensivealgorithm used and the unoptemised genetic algorithm functions used the implementationran for a very long time before we were forced to terminate it.

Page 39: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Chapter 5

Discussion

This chapter discusses the results provided in Chapter 4. Section 5.1 discusses the imagesegmentation results and Section 5.2 discusses the Grid-based genetic algorithm results.

5.1 Image Segmentation

While there are similarities between the techniques evaluated, all three each producevery different results. They all come close to the segmentations manually produced byhumans, although in most cases if the human segmentations were assumed optimal thenthese automated techniques over segmented the images.

The region growing technique segments details very well, although over segments whenthere is too much detail. The windows of the right ship are each segmented into theirown region in Figure 4.2(c), while the writing on the ship is well segmented (althoughthe none of the human candidates segmented the text). It doesn’t handle textures wellas seen in the the center of the flowers image (Figure 4.1(c). It also produces jagged linesdue to the order in which the pixels are processed.

The smoothing factor can be increased to better process textures, although this willaffect the entire image. If the image contains both textured surfaces which should not besegmented into multiple regions and finer detail which needs to be segmented then thistechnique will not be successful.

The Watershed transformation produces good segmentations of images with a lowlevel of detail. The segmentation of the flower (Figure 4.1(d)) produces a segmentationclose to that of the human candidates. It over segments the background towards thetop-right of the image, which can be attributed to the increased level of detail in thatarea.

The segmentation of the ships in Figure 4.2(d) by the Watershed transformation isnot as successful. The ships, especially the one on the right, are segmented into manysmall regions. It doesn’t segment the fine detail on the ships as does the region growing

32

Page 40: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

5.1 Image Segmentation 33

technique, although it groups together the text of the left ship into one region which couldconsidered a good segmentation. The sky is taken is a single region, successfully droppingthe faint clouds.

The region merging technique, implemented by Keri Woods, produces very detailedand accurate region boundaries when successful. Although it over segments the back-ground of the flower image (Figure 4.1(e), it correctly segments many of the petals. Thecenter of the flower and the petals seep into one another a little.

The region merging produces very jagged region boundaries for the ships in Figure4.2(e). The text is almost perfectly segmented, except for two of the letters which consumepart of red section of the right ship. It correctly identifies the smoke, which neither ofthe other techniques did.

Overall the region merging produces the sharpest results, while the Watershed trans-formation produces good results for low detail images. The Watershed transformationhandles small, unwanted features and noise the best, while often over segmenting theimage.

The results of varying the parameters of the Watershed transformation as illustratedin in Figure 4.3 show how variable the resulting segmentation can be, even using the samealgorithm. The lower threshold produces more regions as expected. The petals have allbeen well segmented in Figure 4.3(a) with a median window of 3 and threshold of 40. Thehigher threshold can result in under segmentation as in Figures 4.3(b) and 4.3(d). Thesmaller median window size produces finer segmentation due to the reduced smoothing,although tiny features and noise can result in over segmentation as with some of the smallcircular regions in Figure 4.3(a).

The successful variation of parameters yielding different results depending on inputshows that the Watershed transformation could potentially work well together with agenetic algorithm. This was not covered by this research due to limited resources, althoughthere is potential for future work.

The run times of the algorithms as listed in Tables 4.1 and 4.2 indicate a wide diversityin computational complexity. The region growing algorithm was inefficient to the pointthat running it on the fully sized 481×321 pixel images took too long to evaluate and theimages had to be scaled by 50% (the times for region growing only are based on imagesof size 240× 160). The region merging algorithm also took long to process medium-sizedimages at 1–3 minutes per image of this size. The times of these two algorithms were alsohighly dependant on the image as can be seen in the results from the segmentation of thetwo images included in this report.

The Watershed transformation, however, was a lot faster, segmenting a 481×321 pixelimage in about 2 seconds. This is a lot more reasonable and also indicates that it couldbe a successful if combined with a genetic algorithm.

Page 41: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

5.2 Grid-Based Genetic Algorithms 34

5.2 Grid-Based Genetic Algorithms

The run times presented in the graphs in Figure 4.4 provide unexpected results. Theyindicate that the Island model, using MPI for communication between processors withinthe same server, is less efficient than the Grid model, using a MySQL database connectionto communicate between two servers connected via Ethernet about 200m apart.

The Grid model is expected to be slower due to higher communication overhead.However these results indicate otherwise. This could be in part due to slight differencesin timing strategies such as eliminating the startup and termination times for the Gridmodel. However, greater gradient of the Island model curve suggests that there is someadditional cost for the Island model during computation. The genetic algorithms usedare identical apart from the communication strategy used and therefore as much externalvariance has been removed as possible.

The slight increase in gradient at the one second mark for the Grid model suggeststhat the Grid model eventually becomes less efficient than the Island model. These resultssuggest that the Grid model developed has potential though and should be researchedfurther.

The results of the image segmentation genetic algorithm were unsuccessful. This canbe attributed in part to the insufficient resources available for this particular research andthe positive results obtained during initial experiments should provide the motivation forfurther research in this area. As mentioned in the results, simple problems such as theAnti-Social Mathematician were successfully implemented on the Grid model.

Page 42: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Chapter 6

Conclusion

This research has analysed several colour image segmentation techniques and from theremade a selection of the region growing and Watershed transformation segmentation tech-niques. These two techniques were then further evaluated by experimentation along witha region merging technique implemented by Keri Woods.

We showed that, while all three techniques produce segmentations similar to that ofhuman candidates, they each useful for searching for different types of objects in an image.The region growing segments fine detail the best, while not performing well on texturedsurfaces. The Watershed transformation segments objects with sharp boundaries bestand over segments textured surfaces. The region merging does a good segmentation oftextured surfaces, although the results can still be improves upon.

Due to the large uncertainty involved in colour images, a genetic algorithm approachwas used by Keri Woods for segmenting colour images based on the region mergingtechnique.

As genetic algorithms and image segmentation are both computationally expensivealgorithms there was a need for increased processing power, which is best provided byparallel computation. Due to the recent widespread adoption of Grid computing and thelack of research in genetic algorithms for the Grid, research was done on developing aGrid-based genetic algorithm. The model developed uses a super population where themigrating individuals are stored.

An attempt was made at applying the genetic algorithm using a region merging seg-mentation technique to the Grid model developed. While this attempt was unsuccessful,earlier experiments on smaller problems showed positive results that provide motivationfor further research in this area.

35

Page 43: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

6.1 Future Work 36

6.1 Future Work

There are many more segmentation techniques to evaluate, in particular several hybridmethods such as the Phoenix segmentation method [33]. Many of such techniques weren’teven considered due to the limitations of this research. A larger variety of techniquesshould be evaluated before a full conclusion can be reached as to which solves the seg-mentation problem best.

Only the region merging algorithm was used in the genetic algorithm approach. TheWatershed transformation showed promising results, and it has several parameters whichcould be optimised by a genetic algorithm as shown by the results.

The limited resources available heavily restricted the evaluation of the Grid-basedgenetic algorithm model developed. The UCT Grid that was used is expected to grow overthe next year and the experiments could be expanded over many more nodes. Scalabilityis a concern in any parallel algorithm and with the possibility of executing such a modelon very large Grids is not unlikely and therefore needs to be further tested.

Adding more nodes to the model will almost certainly cause a scalability issue aftera certain size. As all nodes communicate with the Z node, there will be a point whereit becomes flooded by the other nodes. A hierarchical model is therefore required toalleviate all the work from the Z node.

A potential model that has not yet been implemented is illustrated in Figure 6.1. TheZ node communicates with several Y nodes (3 in the figure) which in turn communicateand manage their own pool of nodes. The Y nodes gather the migrating individuals fromits pool of nodes and periodically send a selection of the individuals in its super populationto Z and request a selection at the same time. With this model a large quantity of workis offloaded onto the Y nodes. While the run does not fail if a Y node fails, these nodesshould be semi-dedicated to prevent the loss of an entire pool of nodes. The hierarchycan be easily extended to include several levels.

Page 44: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

6.1 Future Work 37

Figure 6.1: Hierarchical Grid-based genetic algorithm model.

Page 45: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

Bibliography

[1] Adams, R., and Bischof, L. Seeded region growing. IEEE Trans. Pattern Anal.Mach. Intell 16, 6 (1994), 641–647. Available from: http://computer.org/tpami/tp1994/i0641abs.htm.

[2] Almasi, G. S., and Gottlieb, A. J. Highly Parallel Computing. Benjamin /Cummings, 1989.

[3] Anderson, D. P., and Fedak, G. The computational and storage potential ofvolunteer computing, Feb. 16 2006. Comment: 8 pages. To appear in CCGrid 2006.Available from: http://arxiv.org/abs/cs/0602061.

[4] Baker, M., and Buyya, R. Cluster computing at a glance. In High PerformanceCluster Computing, R. Buyya, Ed., vol. 1, Architectures and Systems. Prentice HallPTR, Upper Saddle River, NJ, 1999, pp. 3–47. Chap. 1.

[5] Beucher, S., and Lantuejoul, C. Use of watersheds in contour detection. InInternational Workshop on Image Processing (Rennes, Sept. 1979), CCETT/IRISA,pp. 2.1–2.12. Available from: http://cmm.ensmp.fr/∼beucher/publi/watershed.pdf.

[6] Bhanu, B., Lee, S., and Ming, J. Self-optimizing image segmentation systemusing a genetic algorithm. In Proceedings of the Fourth International Conference onGenetic Algorithms (San Mateo, CA, 1991), R. Belew and L. Booker, Eds., MorganKaufman, pp. 362–369.

[7] Butt, A. R., Zhang, R., and Hu, Y. C. A self-organizing flock of Con-dors. In SC2003: Igniting Innovation. Phoenix, AZ, November 15–21, 2003(pub-ACM:adr and pub-IEEE:adr, 2003), ACM, Ed., ACM Press and IEEEComputer Society Press. Available from: http://www.sc-conference.

org/sc2003/inter cal/inter cal detail.php?eventid=10690#2;http:

//www.sc-conference.org/sc2003/paperpdfs/pap265.pdf.

[8] Canny, J. A computational approach to edge detection. In RCV87 (1987), pp. 184–203.

38

Page 46: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

BIBLIOGRAPHY 39

[9] Cheriet, M., Said, J. N., and Suen, C. Y. A recursive thresholding technique forimage segmentation. IEEE Transactions on Image Processing 7, 6 (1998), 918–921.Available from: http://dx.doi.org/10.1109/83.679444.

[10] EGEE. Enabling grids for e-science [online]. 2007. Available from: http://www.

eu-egee.org [cited 14 October 2007].

[11] Feitosa, R. Q., Costa, G. A. O. P., and Cazes, T. B. A ge-netic approach for the automatic adaptation of segmentation param-eters. In ISPRS Object Based Image Analysis (2006), pp. xx–yy.Available from: http://www.commission4.isprs.org/obia06/Papers/

11 AdaptionandfurtherdevelopmentIII/OBIA2006 Feitosa et al.pdf.

[12] Forrest, S. Genetic algorithms. ACM Computing Surveys 28, 1 (Mar. 1996),77–80. Available from: http://citeseer.ist.psu.edu/84472.html.

[13] Foster, I. What is the grid? a three point checklist, 2002. Available from: http:

//www-fp.mcs.anl.gov/∼foster/Articles/WhatIsTheGrid.pdf.

[14] Foster, I., and Kesselman, C., Eds. The Grid: Blueprint for a New ComputingInfrastructure. Morgan Kaufmann, San Francisco, CA, 1999.

[15] Goldberg, D. E. Efficient parallel genetic algorithms: Theory and prac-tice, Mar. 27 2000. Available from: http://citeseer.ist.psu.edu/

443259.html;http://www-illigal.ge.uiuc.edu/∼cantupaz/publications/

cmame99-pga-theory-practice.ps.gz.

[16] Hernandez, E., S., Barner, and E., K. Tactile imaging using watershed-basedimage segmentation. In Fourth Annual ACM Conference on Assistive Technologies(2000), ACM, pp. 26–33. Available from: http://www.acm.org/pubs/articles/

proceedings/assets/354324/p26-hernandez/p26-hernandez.pdf.

[17] Hidalgo, J. I., Lanchares, J., de Vega, F. F., and Daniel Lombra n. Isthe island model fault tolerant? In GECCO ’07: Proceedings of the 2007 GECCOconference companion on Genetic and evolutionary computation (New York, NY,USA, 2007), ACM Press, pp. 2737–2744.

[18] Kim, S. K., and Ranganath, H. S. Solving discontinuity and distortion problemsin boundary based image segmentation and representation. In ACM Southeast Re-gional Conference (2007), D. John and S. N. Kerr, Eds., ACM, pp. 431–436. Availablefrom: http://doi.acm.org/10.1145/1233341.1233419.

[19] Kleinrock, L. Ucla to be first station in nationwide computer network, 1969.Available from: http://www.lk.cs.ucla.edu/LK/Bib/REPORT/press.html.

Page 47: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

BIBLIOGRAPHY 40

[20] Kuttel, M. Parallel computing slides, 2007.

[21] Lin, Z., Jin, J. S., and Talbot, H. Unseeded region growing for 3D image seg-mentation. In VIP (2000), P. Eades and J. S. Jin, Eds., vol. 2 of CRPIT, AustralianComputer Society, pp. 31–37. Available from: http://crpit.com/confpapers/

CRPITV2Lin.pdf.

[22] Martin, D., Fowlkes, C., Tal, D., and Malik, J. A database of humansegmented natural images and its application to evaluating segmentation algorithmsand measuring ecological statistics. In Proc. 8th Int’l Conf. Computer Vision (July2001), vol. 2, pp. 416–423.

[23] Mehnert, A., and Jackway, P. T. An improved seeded region growing algorithm.Pattern Recognition Letters 18, 10 (1997), 1065–107. Available from: http://dx.

doi.org/10.1016/S0167-8655(97)00131-1.

[24] Meyer, F. G., and Beucher, S. Morphological segmentation. Journal of VisualCommunication and Image Representation 1, 1 (1990), 21–46.

[25] Otsu, N. A threshold selection method from grey-level histograms. IEEE Trans.Systems, Man and Cybernetics 9, 1 (Jan. 1979), 62–66.

[26] Pal, N., and Pal, S. A review on image segmentation techniques. Pattern Recog-nition 26 (1993), 1277–1294.

[27] Pennock, C. Canny edge detector with hysteresis [online]. 2007. Availablefrom: http://www.cs.nyu.edu/∼ccp252/classes/vision/hw1/canny.html [cited14 October 2007].

[28] Pfister, G. F. In search of clusters: The Ongoing Battle in Lowly Parallel Com-puting, 2nd ed., 1995 ed. Prentice Hall, Englewood Cliffs, NJ, 1998. :1998 edition:ISBN 0-13-899709-8.

[29] Rabbani, M., and Joshi, R. An overview of the JPEG 2000 still im-age compression standard. SP:IC 17, 1 (Jan. 2002), 3–48. Availablefrom: http://www.sciencedirect.com/science/article/B6V08-4465T49-3/2/

ca52bd621c952977bebe4af30ddcca1e.

[30] Ramos, V. The biological concept of neoteny in evolutionary colour image segmenta-tion – simple experiments in simple non-memetic genetic algorithms. In Applicationsof evolutionary computing: Proc. EvoWorkshops 2001 (Berlin, 2001), E. J. W. Boers,S. Cagnoni, J. Gottlieb, E. Hart, P. L. Lanzi, G. R. Raidl, R. E. Smith, and H. Tijink,Eds., Springer, pp. 364–373.

Page 48: Grid-Based Genetic Algorithm Approach to Colour Image ...mgallott/honsproj/downloads/report... · Honours Project Report Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

BIBLIOGRAPHY 41

[31] Robinson, G. Color edge detection. Optical Engineering 16, 5 (Sept. 1977), 479–484.

[32] Sahoo, P. K., Soltani, S., and Wong, A. K. C. A survey of thresholdingtechniques. Computer Vision, Graphics, and Image Processing 41, 2 (1988), 233–260. Available from: http://dx.doi.org/10.1016/0734-189X(88)90022-9.

[33] Shafer, S. A., and Kanade, T. Recursive region segmentation by analysis ofhistograms. In ICASSP (1982), pp. 1166–1171. Available from: http://www.ri.

cmu.edu/pubs/pub 2417.html.

[34] Shao, G., Berman, F., and Wolski, R. Master/slave computing on the grid.In Heterogeneous Computing Workshop (2000), pp. 3–16. Available from: http:

//computer.org/proceedings/hcw/0556/05560003abs.htm.

[35] Skolicki, Z., and Jong, K. A. D. The influence of migration sizes and intervalson island models. In GECCO (2005), H.-G. Beyer and U.-M. O’Reilly, Eds., ACM,pp. 1295–1302. Available from: http://doi.acm.org/10.1145/1068009.1068219.

[36] Swets, D. L., Punch, B., and Weng, J. Genetic algorithms for object recognitionin a complex scene. In ICIP (1995), pp. 2595–2598. Available from: http://

computer.org/proceedings/icip/7310/volume2/73102595abs.htm.

[37] Tschumperle, D. The cimg library [online]. 2007. Available from: http://cimg.sourceforge.net/ [cited 17 October 2007].

[38] Zingaretti, P., and Bossoletti, L. Image segmentation for appearance-basedself-localisation. In International Conference on Image Analysis and Processing(2001), pp. 113–118.

[39] Ziou, D., and Tabbone, S. Edge detection techniques - an overview. InternationalJournal of Pattern Recognition and Image Analysis 8 (1998), 537–559. Availablefrom: citeseer.ist.psu.edu/ziou98edge.html.