You are on page 1of 8

Image Segmentation - Region Growing Algorithm

February 25, 2013


Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation 3

0.1 Introduction . . . . . . . . . . . . . . . . . . . . . 0.2 Image Segmentation . . . . . . . . . . . . . . . . 0.3 Region Growing Algorithm . . . . . . . . . . . . . 0.4 4/8 conneced neighbors Recurive Algorithm 0.5 Modification of OverExposed Regions . . . . . 0.6 Using The Edge Map . . . . . . . . . . . . . . . 0.7 Future Work . . . . . . . . . . . . . . . . . . . . . 0.8 Code . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

3 3 3 4 6 6 8 8 9


Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation

Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation

0.1 Introduction
In this document we will look at task of image segmentation and use region growing algorithms to achieve this task and its application to underwater image segmentation.

0.2 Image Segmentation

The goal of image segmentation is to partition the image into subregions with homogeneous intensity (color or tex- ture) properties which will hopefully correspond to objects or object parts. Region growing algorithms is a method to extract similar parts of image. The region growing algorithms checks for similarity of the neighborhood pixels of given initial seed point and labels the pixels that meet the similarity criteria and mean value of region foor similarity evaluation is determined. The neighborhood pixels of the newly labelled points are analysed and similarity comparison is performed with newly computed mean value. In this way neighborhood can grow in a iterative manner till stopping criteria is met.

0.3 Region Growing Algorithm

Conider a set R which contains pixels that belongs to the region that is required to be segmented.Let set S represent a set of pixels called seed points. Seed points are pixels that is known to belong to object desired to be segmented.


Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation

For the present application we assume that we need identify the region in the image to which seed pixels belong ie other region of the image are not required. For every seed points 4/8 connected neighbors of seed point are analyzed for similarity with the seed pixel using some predefined criteria. Thus all the neighborhood pixels are marked to be compared with seed pixel. If the connected neighbor satisfies the criteria then it is included labelled as desired region and neighbor is unmarked. While all the connected neighbors of the present neighbor are marked. This process continues till no marked pixels remains which results in segmentation of region to which seed pixel belongs. As the region grows the similarity comparision can be peformed with the mean value of region rather than just the seed pixels.

0.4 4/8 conneced neighbors Recurive Algorithm

We will use a recurive algorithm to implement the task. Input to algorithm is input image and seed pixel location,the output is a labelled image. Input to recurive function will be location of pixel required to be analyzed. Inital call to recurive function is the seed pixel location. The function calls a ColorDistance function to check for similarity of the given pixel with the seed pixel provided the pixel has not been analyzed already. If the distance is less than a specified threshold pixel is marked in the output labelled image and recursive calls are initiated to neighbors of the current pixel. Labelling the output image indicates the pixel has been analyzed and any call to function labelled pixel locations will return without performing any action.


Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation

As algorithm progress all connected neighbors of seed pixels are used to initiate recursive calls .If these pixels satisfy the similarity criteria use recurive calls for their connected neighbors and so on. In this way all the connected pixel of seed pixel satisfying the similarity criteria are labelled in the output image and segmentation is achieved. The we can either consider 4/8 connected beighbors for analysis. In the present implementation we use a threshold of 20 . If euclidean distance between two pixels is less than 20 we consider the pixels to be similar. We can see that region growing algorithm stop at places when reflections of object fall on the water.Increasing the threshold is one option to overcome this problem.But it is not guranteed to work in all scenarios.This is shown below. The seed is choosen at location within the shown object. In

(a) Image

(b) thresh 20

(c) thresh 50

(d) input 2

(e) thresh 50

(f) thresh 80

Figure 1: Standard Seeded region growing

the second image we can see than even with high threshold of 80,the white over exposed region will never be labelled as belonging


Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation to the object.

0.5 Modification of OverExposed Regions

The standard region growing algorithms use only color measurements for similarity criteria.Underwater images are affected by reflections and crinkle effects which leads to over exposure in some parts of the object being segmented. Due to these effects a large intensity change in observed in region withing the object being segmented ie sharp edge are observed within the object region. The standard Region growing algorithms would terminate at these region since large color difference is encountered wrt to seed pixel color or color of object required to be segmented. Thus to overcome this we compute the similarity measure based on the color,exposedness of region as well as local edge intensity. One simple technique is to check the distance ered to white color.If the distance is close to color and within a specified threshold ,which similarity threshold then we will include pixel object. of pixel being considwhite than seed pixel can be independent as belonging to the

However this modification may not always provide desired sementation as shown in the images below.

0.6 Using The Edge Map

In the second image we can see that due to connected white colored pixels the region grows belong the desired object. To over the effect of seeded region growing algorithm growing belond the object we use edge information. We compute the edge map using canny edge detection technique. mean value of edge about a small neighborhood of point being analysed is computed and added to the distance computed to white colored pixels. Thus if the color is white but region has a edge the distance will increase and if region has strong edge it will increase the distance belong the threshold and region growing will stop. though pixel is white in


Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation

(a) input 2

(b) thresh 80

(c) modified

(d) Image

(e) thresh 20

(f) thresh 50

Figure 2: Modified Seeded Region Growing Algorithm

color and connected to original object. Also we make one more modification of reducing the distance threshold to white pixels keeping it half of color threhold. In the above image the hand along with the object is de-

(a) Image

(b) thresh 20

(c) modified SRG

(d) edge map

Figure 3: Using Edge Map

tected since the color threshold is kept high.But the main point


Image Segmentation - Region Growing Algorithm For UnderWater Image Segmentation to note is that due to addition of edge map the region does not overflow significantly from the desired object boundary

0.7 Future Work

Static color threholds are being used presently.A adaptive threshold would be required based on information content present in the image as well as strenght of edge . The recursive algorithm is computationally expensive hence faster region growing algorithm will be included in the future work. A better color distance criteria for similarity matching is required. Analysis in different color space and distance other than eculidean will be considered in the future work.

0.8 Code
The class RegionGrowing defines a generic interface for region growing algorithm. The input to algorithm is input image and seed pixel location and output is labelled image. Code is available in repository