0% found this document useful (0 votes)
10 views

2 1 Image Segmentation

2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation

Uploaded by

Purna Sree
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

2 1 Image Segmentation

2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation 2_1_Image_Segmentation

Uploaded by

Purna Sree
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Genetic Algorithms:

Colour Image Segmentation


Project Proposal

Keri Woods Marco Gallotta


[email protected] [email protected]

May 3, 2007
1 Objective would end up grouping the two apples together as
one object. This shows that colour can help im-
In this project we will experiment with genetic al- prove segmentation.
gorithms for colour image segmentation and how
well they parallelise. We will compare the results 2.1.1 Colour Models
to that of other colour image segmentation algo-
rithms developed by others. A colour model defines the way in which colours
can be represented as tuples of numbers.
There are many different colour models, each
2 Project Description with its own advantages. Some of them are better
suited to the problem of colour image segmentation
2.1 Image Segmentation than others. Many of them have been used in other
literatures. Our aim is to determine a suitable one
Image segmentation involves the distinguishing of for our problem.
objects in an image from one another as well as The RGB model is commonly used in displays,
the background. Segmenting an image simplifies for the reproduction of colour scenes. A colour is
it, making it easier to analyse and is therefore a represented by three colour components: red, green
key part of computer vision. and blue. This is an additive colour model, with the
There are many techniques currently in use for three components combining to produce the final
image segmentation. Some of the more common ap- colour. With this model however, it is difficult to
proaches include edge detection, region-based and compare colours. Determining how similar two reds
relaxation methods [13] [3]. With each methods are is not all that easy. What is required is a model
come a set of issues. This is because of the large that groups colours by how red they are.
variation between images. Edge detection for ex- In the HSV model, colours are defined by hue,
ample fails when transitions between regions are saturation and value. The hue represents the colour
soft. Region-based methods are very sensitive to type (red, blue, etc.). The saturation represents
the thresholds used [3]. Most techniques also fail how vibrant the colour is, with lower saturations
when the noise levels are too high. Because of the representing greyer colours. The value represents
wide variety of images, there is a lot of uncertainty the brightness. Since this model represents the
involved in image segmentation. This makes the colour type as one of the values, it is easy to group
problem potentially well suited to a genetic algo- similar colours together. This helps in segment-
rithm approach. ing shaded objects, where the colour remains fairly
Most techniques only make use of the grey com- constant while brightness and saturation can vary
ponent of images [7]. The use of grey-scale images considerably. Due to this it is in wide use in image
can simplify the algorithm since assumptions can processing [14].
be made that cannot be made for colour images. The YIQ model specifies colours with three com-
Since each pixel in a grey-scale image is represented ponents, one representing a grey-scale image and
by a single value, it is easy to group similar pixels the colour two giving the colour. The Y compo-
together. The same does not apply to colour im- nent represents the “luma” information. It gives
ages, since you have three degrees of freedom (red, a grey-scale version of the image. The I and Q
blue and green). Grouping similar triples together components represent the “chrominance” informa-
is more complex than grouping single grey-scale tion. They represent co-ordinates on a colour plane.
values. Adding colour to the problem adds to the Since this model also separates the grey-scale from
already high level of uncertainty. the colour component, it is another model widely
While evaluating colour images is more complex, used in colour image processing.
the added components provide more data which can The YUV model is similar to the YIQ model,
result in improved segmentation under certain con- with the Y representing “luma” information and U
ditions. Consider a red and green apple next to and V representing the “chrominance” information.
one another, with the two colours having similar It differs from the YIQ model in that the U, V axes
grey-scale values. Without considering colour one on the colour plane are rotated 33 degrees to get

1
the I, Q axes. defined fitness functions, however most do not. Im-
There are many other colour models. Some of the age segmentation is one of the problems that does
other more popular ones in use in image processing not have a well-defined fitness function. It is not
are the CIE L*a*b colour space, HSI model and easy to determine algorithmically which of two seg-
YdbDr model. We will look into these models and mentations is more optimal. Therefore it is difficult
possibly in further detail to make a selection to to assign the accuracy of a segmentation a numeri-
experiment with. cal value, which is required of the fitness function.
It is vital that a good fitness function is chosen as
2.2 Genetic Algorithms this determines which individuals are selected for
the next generation and ultimately the success of
A genetic algorithm is an optimisation technique the algorithm.
that works on large search spaces [10]. The idea of
genetic algorithms comes from biological breeding
2.3 Parallelisation
and mutation. They attempt to simulate breeding
(crossover) and mutation by selecting the best algo- One of the problems with genetic algorithms is that
rithms (genes) from large populations and “breed- they can be very slow. This limits the input size
ing” them together to form a new population con- that can be used given the current computational
sisting of hopefully better algorithms. resources available. They are however easily paral-
A population consists of many individuals. Each lelisable [5] [10].
individual consists of a chromosome, which is made There are two approaches currently in use to par-
up of many genes. Each gene could represent either allelise genetic algorithms - fine and coarse grained.
a parameter or a step in an algorithm. A fitness Fine grained generates a population sequentially
function is defined to evaluate the results of an in- and evaluates each individual as a separate pro-
dividual to determine those that perform best. The cessor. It is not very prominent in literatures and
fitness function is used in selecting the subpopula- therefore we shall not be concentrating on it.
tion to include in breeding. Breeding consists of Coarse grained techniques are far more common.
crossovers and mutations which together produce This involves assigning subpopulations to individ-
the next generation of individuals. Crossovers take ual processes. One such approach in use is the asyn-
two individuals and returns a combination of their chronous “Island” approach [5]. Most of the time
genes which results in a new individual. Muta- in genetic algorithms is spent on evaluating the fit-
tion takes an chromosome and randomly modifies ness of individuals. In the “Island” approach, the
it based on a number of techniques. population is broken up into many semi-isolated
“Genetic algorithms have been used in computer subpopulations. Each subpopulation is assigned to
vision systems for such tasks as parameter tuning a separate processor. The process begins by each
and feature extraction.” [10] This and many other subpopulation being randomly created on its pro-
literatures refer to the wide usage of genetic algo- cessor. This step takes place in parallel. As soon
rithms in a wide variety of image processing prob- as a processor completes the initial subpopulation
lems. creation, it starts on the main loop, without having
Image segmentation as mentioned earlier deals to wait for the other processors.
with a large degree of uncertainty, especially when In the main loop, each processor evaluates the
adding colour. Genetic algorithms are well suited fitness of the indivuals in its subpopulation. The
to such problems. The large search space (large selection process is then performed locally within
number of possible segmentations) also suggests a the subpopulation without any interaction between
genetic algorithm approach may perform well. Ge- processors. Then the genetic operations are per-
netic algorithms also allow the use of several tech- formed locally. All the previously mentioned steps
niques combined with the best one being selected in the main loop are performed asynchronously –
or even possibly a combination that would not have a processor does not have to wait for the others
been thought of otherwise. to end the step before progressing. This results in
The fitness function is one of the key aspects efficient use of all the processing power available.
to a genetic algorithm. Some problems have well- Upon completion of an iteration of the main loop,

2
a small percentage of indiviuals are selected based image segmentation:
on fitness and sent to each of neighbouring proces-
sors. The processors are usually arranged in a rect- 1. Edge Detection
angular toroidal topology so that each processor
2. Region Growing
has four neighbours. The selected individuals are
spread out evenly amoungst the neighbours. The 3. Neural Network Based Techniques
receiving processor holds the new individuals in a
buffer so that they can be added to the popula- 4. Fuzzy Based Techniques
tion at the start of the next iteration. The use of
a buffer prevents unnecessary interuptions in the 5. Histogram Thresholding
currently running loop. Current literatures have Region growing could be of interest to us. This
found from experience that a modest selection of method is successful, as it takes into account spatial
migration (about 2% of the subpopulation size to information. One of the main problems with this
each neighbour) is best [5]. technique is the dependence on the initial seeds.
The only communication between processes is We could investigate the use genetic algorithms to
the migration of individuals, and the amount is very determine optimal initial seed placements
low. Since the communication is low and the pro- Since we aim on minimal user input, the number
cessers are never waiting for other processes, the of objects in the image will be unknown. Another
efficiency is close to 100%. This shows that ge- problem with region growing is that the terminat-
netic algorithms can benefit a lot from parallelisa- ing condition is not easy to define. This is another
tion. We will experiment with some form of par- possible parameter to investigate in the genetic al-
allelisation of the genetic algorithm. The “Island” gorithm.
approach described above is a possible choice. Vitabile et al. [14] uses a dynamic threshold in
We would like to research a method that would the pixel aggregation process on the HSV colour
work well on a grid. Christopher Parker is in the space, which decreased the instability of the hue in
process of installing a grid on a number of the clus- various light conditions. We could make use of this
ters at UCT. We would like to take advantage of to improve our genetic algorithm.
this opportunity while it is at its early stages and
therefore at low usage. If he gets it running in time,
we could have a grid of several hundred processors 3.2 Genetic Algorithms
to make use of. However, the “Island” approach Genetic algorithms have been used widely in image
will most likely not work as effectively on a grid.processing. For example, they have been used suc-
We will look into either modifying the approach to cessfully for scratch removal in static images [12],
make it work effectively on a grid or reasearch an fingerprint processing [11] [1] [9] and object recog-
alternate method. nition [10]. They have also been widely used for
the segmentation of grey-scale images [4] [2].
[8] used genetic algorithms for colour image seg-
3 Related Work mentation. These performed successfully on the
segmentation of ornamental stones and skin marks,
3.1 Colour image segmentation however didnt fair too well in segmenting colour
maps. We aim to expand on their work to work on
Until recently, most of the work on image segmen- a wider range of colour images. It could be useful
tation was done on grey-scale images. As a re- to compare their results to ours.
sult, many of the current methods used to segment
colour images are derived from these, without mak-
ing full use of the extra information colour pro- 4 Experimentation
vides. [6]
Various methods have been used for colour image The problem of image segmentation is an old one
segmentation. Deshmukh et al. [6] gives a good and lots of research has been done in this area.
break down of the main techniques used for colour However, it is still an unsolved problem. There is no

3
single algorithm that performs well on all images. of genetic algorithms and apply a chosen technique
Some perform well indoor images, others perform to our algorithm. Parallelisation might alter the
better when there is more light and shading (i.e. results slightly, depending on the chosen paralleli-
outdoor images), some cope with noise better than sation technique, and therefore we will compare the
others, some are better suited to medical imagery results to the serial version. The speed of the par-
(MRI, CAT Scan). Only a small subset of these allelised version should be faster, but we will exper-
techniques can be adapted to take advantages of iment with the efficiencies of the two implementa-
colour images. tions to verify the viability of parallelising genetic
Since there are so many solutions to this prob- algorithms.
lem, our aim to research the available options, make We will experiment with our serial version, test-
a selection of the most promising techniques and ing different crossover and mutation probabilities
either find implementations of them or implement and techniques, fitness functions and colour mod-
our own. If implementations are provided by the els. In doing this, we aim to obtain the best results
original researcher, we prefer to make use of them, possible. We will then compare the performance of
in order to reduce bias toward our preferred algo- our algorithm with ones we explored in our initial
rithms. experimentation.
We will compare the performance of these algo- Finally, we will evaluate the effectiveness of our
rithms, both on grey-scale images and those that algorithm and in term hopefully show that genetic
can be extended to colour images. We will find a algorithms can perform well on the problem of
representative sample of images for which segmen- colour image segmentation. We will test how large
tation is or can be used. Our aim is to determine a range of images our algorithm can perform well
where each algorithm succeeds and where they fail. on. If it performs poorly on a certain class of im-
We will also try and understand why they fail under ages, we will try and evaluate why it didn’t perform
certain circumstances. well. Using this, will will hopefully be able to im-
We will research into what others have done prove the algorithm.
using genetic algorithms for image segmentation.
Combining this research with the results obtained
from the initial experimentation, we will design our
own genetic algorithm approach to colour image
5 Possible challenges
segmentation.
Vitabile et al. [14] highlights one of the problems
There are three different approaches of genetic al-
we’ll have to deal with, varying light conditions.
gorithms in general, ranging from simplest to most
complex: Wesolkowski [15] finds that the hue can be in-
variant at extreme saturation and intensity values.
1. allowing the genetic algorithm to modify the This occurs in areas of highlighting and shading.
parameters They introduce a new highlight invariant transfor-
mation and used it with the Mixture of Principle
2. allowing the genetic algorithm to modify the Components algorithm to cluster colours ignoring
control mechanism of the algorithm highlights and shading.
Ramos et al. [8] mentions that colour images con-
3. allowing the genetic algorithm to modify the
sisting of different kinds of textures can be difficult
executable code
to segment. They use a genetic algorithm to try
We will probably choose either 1 or 2, depending overcome this difficulty.
on the results of our research.
After the design phase, we move on to imple-
menting the algorithm. There are several genetic 6 Work Detail
algorithm libraries freely available, which we will
make use of. In the beginning, it will be serialised, 6.1 Milestones
and we keep that version for experimentation pur-
poses. Later, we will research the parallelisation See Appendix A

4
6.2 Timeline [3] B. Bhanu and S. Lee. Genetic Learning for
Adaptive Image Segmentation. Springer, 1994.
See Appendix B
[4] Payel Ghosh and Melanie Mitchell. Segmen-
6.3 Work Allocation tation of medical images using a genetic algo-
rithm. In GECCO’06. ACM, July 2006.
Initial research into related work will be split up
between the two of us. We will then discuss our [5] Genetic Programming Inc. Asyn-
findings. We will select a number of available im- chronous “island” approach to par-
plementations and choose a few to implement our- allelization of genetic programming.
selves. We will each implement algorithms sepa- Available online: http://www.genetic-
rately. programming.com/parallel.html, August
We will collaborate to design the genetic algo- 2003.
rithm. We break the implementation up into mod-
ules and implement them separetely. Marco will [6] Deshmukh K.S. An adaptive color image seg-
parallelise the algorithm, while Keri starts the ex- mentation. CVC Press, 2005.
perimentation. Will will continue experimenting,
collaborating the results. [7] N.R. Pal and S.K. Pal. A review on im-
age segmentation techniques. In Pattern
Recognition, Vol. 26, No. 9. Pattern Recog-
6.4 Requirements nition Society, Pergamon Press Ltd, 1993.
6.4.1 Resources Required http://66.102.1.104/scholar?hl=en&lr=&q=cache:ChgfIaXf6qM
segmentation/pal-pal-
• Camera phone for small, low quality images. segsurvey.pdf+image+segmentation.
• Digital camera for larger, higher quality im-
[8] Vitorino Ramos and Fernando Muge. Image
ages.
colour segmentation by genetic algorithms. In
• Standard PC for initial work. RecPad 2000 - 11th Portuguese Conf. on Pat-
tern Recognition, in Aurelio C. Campilho and
• Grid with at least 100 processors for testing A.M. Mendonca, December 2004.
and running parallelised implementation.
[9] Tobias Scheidat, Andreas Engel, and Claus
6.4.2 Software Requirements Vielhauer1. Parameter optimization for bio-
metric fingerprint recognition using genetic al-
• C++
gorithms.
• Image libraries
[10] Daniel L. Swets, Bill Punch, and John Weng.
• Genetic algorithm libraries Genetic algorithms for object recognition in a
complex scene. In Proceedings of the 1995 In-
• Condor for Grid
ternational Conference on Image Processing.
IEEE, 1995.
References
[11] Xuejun Tan and Bir Bhanu. Fingerprint verifi-
[1] Hany H. Ammar and Yongyi Tao. Fingerprint cation using genetic algorithms. In Proceedings
registration using genetic algorithms. IEEE, of the Sixth IEEE Workshop on Applications
2000. of Computer Vision. IEEE, 2002.

[2] Mohamed Batouche, Sebti Foufou, and Ka- [12] Domenico Tegolo and Francesco Isgro. A ge-
mal E. Melkemi. A multiagent system ap- netic algorithm for scratch removal in static
proach for image segmentation using genetic images. In Proceedings of the 11th Interna-
algorithms and extremal optimization heuris- tional Conference on Image Analysis and Pro-
tics. Science Direct, December 2005. cessing. IEEE, 2001.

5
[13] Seth Teller. Image segmen-
tation. Available online:
http://people.csail.mit.edu/seth/pubs/taskforce/paragraph3 5 0 0 3.html.

[14] S. Vitabile, G. Pollaccia, G. Pilato, and F. Sor-


bello. Road signs recognition using a dynamic
pixel aggregation technique in the hsv colour
space. In Proceedings of the 11th International
Conference on Image Analysis and Processing.
IEEE, 2001.

[15] Slawo Wesolkowski. Shading and highlight in-


variant colour image segmentation. IEEE.

6
A Milestones

Provisional Project proposal document to supervisor. 30/04


Final proposal due 4/05
Project presentation 10–11/05
Report: Definition and Theory / Background Chapter (including 25/05
literature survey)
Study Week 28/05–1/06
Exams 4–15/06
June Vac 18/06–27/07
Report: Chapter on Design 30/07
Prototype demonstrations to supervisors and second readers 1–2/08
Weighting chosen for project assessment 30/08
Spring Vacation 10–14/09
Evaluation of implementation by the users, write-up of “experi- 24/09
ment”.
Report: Chapters on Implementation and Testing. Final imple- 1/10
mentation (optimised, etc.) completed, testing completed. Out-
line of complete report: chapter and major section headings with
1-2 sentence descriptions for missing sections.
First draft of report. 15/10
Final report handed in. 19/10
Due: poster 23/10
Due: Web page 24 or 25/10
(Open Day)
Project demonstrations to supervisors and second readers. 24 or 25/10
(Open Day)
Study week 29/10–2/11
Exams 5/11–13/11
Final project presentations. 14-15/11

B Timeline

Initial research and draft proposal 14/04–30/04


Further research into related work 1/05–25/05
Exams – break 28/05–15/06
Begin work on implementations
Begin thinking about design of genetic algoritm
Design chapter 18/06–18/07
Begin working on implementation of genetic algorithm 11/07–27/07
Complete implementation of genetic algorithm
Parallelise genetic algorithm 28/07–14/08
Experimenting
Compare genetic algorithm to other approaches
Evaluate efficiency of parralelised genetic algorithm
Evaluate using surveys 5/08–14/09
Write report 1/09–15/10

You might also like