430 likes | 450 Views
This research implements a grid-based genetic algorithm approach to segmenting colour images. The goal is to identify and extract distinct, homogeneous regions from an image, simplifying it for further processing, such as shape recognition, medical imaging, and face detection.
E N D
Marco Gallotta Keri Woods Supervised by Audrey Mbogho Grid-Based Genetic Algorithm Approach to Colour Image Segmentation
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
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
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 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
Segmentation Results • Berkeley Segmentation Dataset • Watershed fastest • Performance results:
Segmentation Results • All successful but different results • Effect of scale parameter on region merging • Large scale parameter => large regions
Segmentation Results • [Can get some results off website at http://people.cs.uct.ac.za/~mgallott/honsproj/]
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 ? http://people.cs.uct.ac.za/~mgallott/honsproj/