Grid-Based Genetic Algorithm Approach to Colour Image Segmentation Marco Gallotta Keri Woods Supervised by Audrey Mbogho
Image Segmentation Identifying and extracting distinct, homogeneous regions from an image Simplifies the image for further processing: shape recognition, medical imaging, face detection
Image Segmentation Problem: How do we segment the following? Each petal as a region? Stigma as a region? Group flowers as single region? Segment the background?
Human Segmentation Segmentation by human candidates Results confirm no single solution
Genetic Algorithms Optimisation technique that works on large search spaces Biological evolution
Genetic Algorithms: Chromosome Chromosome encodes a potential solution Contains parameters The chromosome is optimised using: mutation crossover
Genetic Algorithms: Fitness Fitness function evaluates an individual and assigns a numerical value Used to select fittest individuals for next iteration Crucial in producing good results
Grid Computing A system that coordinates resources that are not subject to centralized control Dedicated and non-dedicated resources Multiple organisations pooling their unused resources Lots of computing power
Grid Computing
Problem: Segmentation Segmentation of great importance No general method of image segmentation Wide variety of images Parameters need to be tuned to get optimal results
Problem: Genetic Algorithms Segmentation involves much uncertainty GA cope well with uncertainty Alter parameters to optimise segmentation results
Problem: Computating Requirements Image segmentation and genetic algorithms computationally intensive Combined VERY computationally expensive Solution? Work harder Work smarter Get help
Problem: GA For The Grid Genetic algorithms easily parallelisable Grid supplies “free” computational resources
Problem: Research Existing Techniques Edge detection Histogram thresholding Watershed Region based techniques Clustering techniques Model based techniques Many others
Segmentation Method Implemented Chose to implement: Watershed Region Growing Region Merging
Watershed Transformation Calculate a gradient magnitude image Consider this as a topographic surface Consider dropping water at each pixel and observing where the trickle ends Pixels with the same end point form a region
Watershed Transformation (a) Example gradient magnitude image (b) The two regions that are identified
Watershed Transformation: Example
Region Growing Start off with small regions and grow them Each iteration considers all pixels neighbouring the regions Pixel with the minimum δ is added to the region This continues until all pixels are assigned to a region
Region Growing The above method requires manual seeds To automate we introduce a threshold T If the minimum δ exceeds T then a new region is created Start with an arbitrary pixel as the first region and iterate as above
Region Growing: Example
Region Merging Initially each pixel a region Adjacent regions merged if criteria met Continue until no regions meet criteria
Merging Criterion Merge if fusion factor less than scale parameter Fusion factor: change in heterogeneity if regions merged Heterogeneity: colour, compactness, smoothness Scale parameter controls size of resulting regions
Region Merging: Example
Segmentation Results Berkeley Segmentation Dataset Watershed fastest Performance results: SegmentationTime (seconds) Region Growing Watershed Transformation Region Merging
Segmentation Results
All successful but different results Effect of scale parameter on region merging Large scale parameter => large regions
Segmentation Results: Effect of Scale Parameter
Segmentation Results [Can get some results off website at
Genetic Algorithm Modify parameters of region merging algorithm Scale parameter, weights of components of heterogeneity
GA: Fitness Function Drives evolution of chromosomes Evaluate quality of segmentation Unsupervised segmentation No external information Properties of image itself How much colour within each region varies Low fitness = good segmentation
GA: Fitness Function For each region standard deviation multiplied by area Sum all regions Add 1 Multiply by number of regions
Genetic Algorithm Results Inconclusive Sometimes improvement
Genetic Algorithm Results GA with segmentation very computationally intensive Unable to explore full potential Extremely slow Therefore grid
Parallel Genetic Algorithms Two common models: master-slave (left) Island model (right)
Grid Computing + Genetic Algorithms With the Grid, communication between nodes is expensive (“impossible” in a true Grid) Even with communication, building a topology for the Island model is difficult All existing research has used the master-slave model
Grid Model Our model uses ideas from both master-slave and Island models Root node (dedicated resource) stores a super population No direct communication between sub-nodes
Grid Model: Results We were heavily restricted in testing and could only test with eight nodes Tests showed the communication overhead had negligible impact as fitness function increased in complexity Results were positive when testing on simple problems Unsuccessful at migrating the segmentation algorithm to the Grid
Conclusion Experimented with 3 segmentation algorithms Selected region merging for our genetic algorithm solution Genetic algorithm provides potential for improvement but results inconclusive Grid computing showed positive results however limited resources did not allow for thorough testing
Future Work: Grid As we only tested on a small Grid, we never had scalability issues Most Grids are very large and having a single root node is a bottleneck The next stage is to test out a hierarchical model
Future Work: GA Watershed with genetic algorithm Investigate different fitness functions Genetic programming to evolve fitness function Train for each desired application
Questions ?