Hill-manipulation: An effective algorithm for color image segmentation

10
Hill-manipulation: An effective algorithm for color image segmentation Zaher Al Aghbari * , Ruba Al-Haj Department of Computer Science, University of Sharjah, P.O. Box 27272, Sharjah, United Arab Emirates Received 21 August 2005; received in revised form 7 February 2006; accepted 16 February 2006 Abstract In cluster-based image segmentation techniques, clusters may be viewed as hills in a histogram. These techniques may suffer from large hills that dominate the smaller hills and thus they result in a loss of image details in the segmentation process. In this paper, we propose a novel approach, called Hill-Manipulation algorithm, to solve the problems of the traditional cluster-based image segmentation methods. It starts by segmenting the 3D color histogram into hills according to the number of local maxima found, and then each hill is checked against defined criteria for possible splitting into more homogenous smaller hills. As a result, details of an image are distinguished and the details are captured in the segmentation. Finally, the resulting hills undergo a post-processing task that filters out the small non-significant regions. q 2006 Elsevier B.V. All rights reserved. Keywords: Image segmentation; Hill-manipulation; Color segmentation 1. Introduction The explosion in the amount of images being generated in many different fields and the growth of the WWW emphasizes the need for retrieving images based on their contents. Therefore, content-based image retrieval (CBIR) has attracted researchers from different fields like computer vision, image processing, database, information retrieval, etc. Furthermore, CBIR has demonstrated its wide usefulness in many fields such as biochemistry, medical diagnosis, education, etc. [28]. Many researches have proposed different algorithms to represent and retrieve images based on global features, such as the color histogram of the whole image. However, retrieving images by global features is too crude an approach to produce satisfactory results. Thus, it is essential to segment (divide an image into smaller feature-coherent regions) and then represent the image by the local features of its composing regions. As a consequence, CBIR from the vast collection of images will be more effective. Therefore, image segmentation aims at dividing an image into several segments where each segment is visually coherent. However, it is not an easy task to slice the image into its composing segments, because this depends on many features like intensity, blurring, contrast, and even number of segments. All of these factors will affect the quality of segmentation. Many efforts towards image segmentation have lead to many different techniques, and it is difficult to mention them all. Most existing automatic image segmentation methods can be classified into these approaches: Threshold techniques are based on selected thresholds from image histograms. All pixels whose values (gray intensity, color, or other) are between two thresholds belong to one region [12]. This technique can obtain good segmentation of images that include two opposite components, but they are ineffective for images that blur at the boundaries, or for multiple component image segmentation [24,29]. A threshold approach based on relative entropy is presented in [4]. Other pioneer work on color segmentation are the histogram based approaches such as [30,34]. Boundary-based techniques are based on the assumption that pixel values change rapidly at the boundary between two regions [8,19]. The output of most existing edge detectors can only provide candidates for the region boundaries, because these obtained color edges are in general discontinuous or hard to be detected. Still, the actual region boundary should be a closed curve. Therefore, post- processing tasks, such as edge tracking, gap filling, smoothing, and thinning, should be performed [9,15,22]. On the other hand, all of these post-processing tasks are very expensive in terms of time. Image and Vision Computing 24 (2006) 894–903 www.elsevier.com/locate/imavis 0262-8856/$ - see front matter q 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.imavis.2006.02.013 * Corresponding author. E-mail addresses: [email protected] (Z.A. Aghbari), [email protected]. ae (R. Al-Haj).

Transcript of Hill-manipulation: An effective algorithm for color image segmentation

Hill-manipulation: An effective algorithm for color image segmentation

Zaher Al Aghbari *, Ruba Al-Haj

Department of Computer Science, University of Sharjah, P.O. Box 27272, Sharjah, United Arab Emirates

Received 21 August 2005; received in revised form 7 February 2006; accepted 16 February 2006

Abstract

In cluster-based image segmentation techniques, clusters may be viewed as hills in a histogram. These techniques may suffer from large hills

that dominate the smaller hills and thus they result in a loss of image details in the segmentation process. In this paper, we propose a novel

approach, called Hill-Manipulation algorithm, to solve the problems of the traditional cluster-based image segmentation methods. It starts by

segmenting the 3D color histogram into hills according to the number of local maxima found, and then each hill is checked against defined criteria

for possible splitting into more homogenous smaller hills. As a result, details of an image are distinguished and the details are captured in the

segmentation. Finally, the resulting hills undergo a post-processing task that filters out the small non-significant regions.

q 2006 Elsevier B.V. All rights reserved.

Keywords: Image segmentation; Hill-manipulation; Color segmentation

1. Introduction

The explosion in the amount of images being generated in

many different fields and the growth of the WWW emphasizes

the need for retrieving images based on their contents.

Therefore, content-based image retrieval (CBIR) has attracted

researchers from different fields like computer vision, image

processing, database, information retrieval, etc. Furthermore,

CBIR has demonstrated its wide usefulness in many fields such

as biochemistry, medical diagnosis, education, etc. [28].

Many researches have proposed different algorithms to

represent and retrieve images based on global features, such as

the color histogram of the whole image. However, retrieving

images by global features is too crude an approach to produce

satisfactory results.

Thus, it is essential to segment (divide an image into smaller

feature-coherent regions) and then represent the image by the

local features of its composing regions. As a consequence,

CBIR from the vast collection of images will be more effective.

Therefore, image segmentation aims at dividing an image into

several segments where each segment is visually coherent.

However, it is not an easy task to slice the image into its

0262-8856/$ - see front matter q 2006 Elsevier B.V. All rights reserved.

doi:10.1016/j.imavis.2006.02.013

* Corresponding author.

E-mail addresses: [email protected] (Z.A. Aghbari), [email protected].

ae (R. Al-Haj).

composing segments, because this depends on many features

like intensity, blurring, contrast, and even number of segments.

All of these factors will affect the quality of segmentation.

Many efforts towards image segmentation have lead to

many different techniques, and it is difficult to mention them

all. Most existing automatic image segmentation methods can

be classified into these approaches:

Threshold techniques are based on selected thresholds from

image histograms. All pixels whose values (gray intensity,

color, or other) are between two thresholds belong to one

region [12]. This technique can obtain good segmentation of

images that include two opposite components, but they are

ineffective for images that blur at the boundaries, or for

multiple component image segmentation [24,29]. A

threshold approach based on relative entropy is presented

in [4]. Other pioneer work on color segmentation are the

histogram based approaches such as [30,34].

Boundary-based techniques are based on the assumption

that pixel values change rapidly at the boundary between

two regions [8,19]. The output of most existing edge

detectors can only provide candidates for the region

boundaries, because these obtained color edges are in

general discontinuous or hard to be detected. Still, the actual

region boundary should be a closed curve. Therefore, post-

processing tasks, such as edge tracking, gap filling,

smoothing, and thinning, should be performed [9,15,22].

On the other hand, all of these post-processing tasks are very

expensive in terms of time.

Image and Vision Computing 24 (2006) 894–903

www.elsevier.com/locate/imavis

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903 895

Region-based techniques rely on the assumption that

adjacent pixels in the same region have similar visual

features; these features can be color or texture. The

performance of this approach mostly depends on the

selected homogeneity measure used to match colors like

in [10,13,20], the accuracy of different texture matching

algorithm like in [2,21,33,35], or both color and texture like

in [6,31]. The two most popular methods that use region-

based techniques are: (1) Seeded Region Growing (SRG)

that depends on selecting some pixels (seeds) to represent

the initial regions [19]. Then, other pixels are associated to

their most similar regions. (2) Split and merge that is based

on dividing the image into arbitrary set (say, four) of

disjointed regions and then merges or splits the region

according to some conditions [12,25,36]. An important

work in region growing is presented in [37].

Clustering techniques search for pixel values in the image

that occur frequently and close to each other. Also, these

values are separated from those of other pixels. Then these

pixels are grouped together into clusters, which are viewed as

hills in a histogram. A peak (local maximum) of each hill is

taken to represent the corresponding cluster. If these peaks

are then separated by someminimum distance, the image can

be segmented using the threshold techniques [12,18]. These

techniques suffer from the large hill problems, which are

detailed in Section 3. A statistically principled approach is

presented in [11]. Other 3D clustering-based segmentation

methods such as the work in [26] is based on amorphological

approach, [17] is based on a fuzzy c-means approach, and [5]

is based on mean shift approach.

Mixture techniques integrate the results of more than one

technique to providemore accurate segmentation results. For

example, the systems in [8,16,22,32] merge region growing

with edge detection in different ways, and [7] integrates

image labeling based on texture with region merging.

As mentioned above, the clustering techniques are easy to

implement and produce satisfactory segmentation results; how-

ever, they suffer from the large hill problems (see Section 3). Thus,

this paper proposes a novel approach, called Hill-Manipulation

algorithm, to solve the problem of the traditional cluster-based

image segmentation methods. The problem is the generation of

large hills that dominate the small hills, which have been

submerged into those large ones, and thus they result in a loss of

some image details in the segmentation process.

The rest of this paper is organized as follows: Section 2

introduces a background to the proposed algorithm. Then,

Section 3 presents the Hill-Manipulation algorithm and

discusses how it solves the problems of previous algorithms.

Section 4 presents the experimental results. Finally, we

conclude the paper in Section 5.

2. Background

In this section, we introduce briefly the related algorithms

to the proposed hill-manipulation algorithm. Further, we

introduce the HSV color space that is used to represent the

content of images in this paper.

2.1. Seeded region growing (SRG)

The SRG method [14] depends on selecting some

representative pixels (seeds) from the image. There is more

than one way for seed selection, for example, manually

according to the user’s regions of interest, or automatically by

using the peaks of the histogram. After selecting the seeds, the

algorithm labels each seed so that it represents a segment

(initial cluster), Ai, where iZ1,2,.,n. Then, for each segment

Ai, all its neighboring pixels are examined recursively. If the

distance (i.e. Euclidean distance) between the segment mean

and the examined pixel is less than a threshold, then the

examined pixel is associated with Ai and the running mean of Ai

is updated to reflect the addition of the recently examined pixel.

Each of the final segments would represent a group of

connected pixels that are feature-coherent.

2.2. Clustering

Most clustering techniques are nonparametric and lead to

satisfactory results. The two main types of clustering

techniques are:

† Distance based clustering. This technique joins the pixels

of an image based on the distance (i.e. Euclidean distance)

between their feature vectors without considering the global

distribution of a feature. As a result, artifacts are likely to

occur in the segmentation [12,28].

† Density estimation clustering. This technique examines the

feature space as a density function, and then selects the

dense feature spaces as peaks of clusters. When a peak is

determined, the cluster associated with it is established

based on the local structure of the feature space [1,23].

2.3. Hill-climbing algorithm

Traditional hill-climbing segmentation is a nonparametric

algorithm that clusters the colors of an image. The idea is that

each cluster is represented by a hill in the histogram, where the

hill consists of adjacent colors. As our hill-manipulation

algorithm utilizes the hill-climbing idea in its initial stages, we

discuss the steps of the hill-climbing algorithm below. It is

worth mentioning that we assume that input image to the hill-

climbing algorithm is a non-quantized image. However, we

preprocess the input image by a median filter to remove any

noise or meaningless details that may affect the result.

Algorithm: hill-climbing

Input: an image

Output: a set of visually coherent segments

1. Compute the 3D HSV color histogram of the image.

2. Choose a non-zero bin of the color histogram and make

uphill moves until reaching a peak as follows:

Fig. 1. The HSV color cone.

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903896

2.1 Compare the number of pixels in the current bin with

its immediate neighbors, in the 3D histogram there are

3dK1Z26 neighbors, where d is the dimensionality of

the feature space. Note that since the hue component is

represented as a color wheels, the far left and far right

bins in the hue axis are neighbors.

2.2 If the neighboring bins have different numbers of

pixels, the algorithm makes an uphill move towards the

neighboring bin with larger number of pixels.

2.3 If the immediate neighboringbinshave the samenumbers

of pixels, the algorithm checks the next neighboring bins,

and so on, until two neighboring bins with different

numbers of pixels are found. Then, an uphill move is

made towards the bin with larger number of pixels.

2.4 The uphill climbing is continued (repeat steps 2.1–2.3)

until reaching a bin fromwhere there is no possible uphill

movement. This is when the neighboring bins have

smaller numbers of pixels than the current bin.

2.5 If no uphill move is done, the stopping bin is identified as

a peak of a hill, and all bins leading to this peak are

associated with it.

3. Select another unclimbedbin as a startingbin andperformstep

2 to find another peak. This step is continued until all non-zero

bins of the histogram are climbed (associated with a peak).

4. The identified peaks represent the initial number of clusters of

the input image; thus these peaks are saved.

5. Neighboring pixels that lead to the same peak are grouped

together.

Although, we used a global color histogram to find the

peaks, step 5 takes into account the spatial information of the

pixels when forming the segments, i.e. only spatially close

(neighboring) pixels that lead to the same peak are grouped into

one segment [23].

2.4. HSV color space

The HSV color wheel or cone are common representation of

the color space, which consists of three components: Hue (the

color type), Saturation (the amount of color), and value (the

brightness of color). The HSV color space is chosen because of

two reasons: (1) it is easier for users to select a color from theHue

range rather then giving a combination of three components R,G,

and B, and (2) the second reason is that HSV encapsulates

information about a color that aremore familiar to humans [3,27].

Fig. 1 shows the cone, where the hue is the circle side of the cone.

Each hue value forms an angle between 0 and 3608 relative to the

0 line, which is usually assigned to the red color.

3. Hill-manipulation algorithm

The SRG, distance based clustering, and density based

clustering algorithms, which are mentioned in Section 2, are

based on clustering similar to our proposed hill-manipulation

algorithm. However, each of these algorithms has its own

approach of clustering.

The hill-climbing algorithm gives satisfactory results for a

wide range of images, where the color regions in the image are

well distinguished in terms of their colors. But its segmentation

quality deteriorates in the following scenario cases:

(Note that due to the difficulty of representing all three

components versus the number of pixels, for simplicity in this

paper, we will only show the 1D histogram representation of

the hue component, as shown in Fig. 2(b). However, the

representations of the other components are similar to the hue

representation).

(I). Scenario cases 1

Although the histogram contains several hills, a large

portion of an image falls inside one wide hill, see Fig. 2. The

wide hill may contain non-similar colors. This scenario case

usually happens with blurred or high contrast images.

(II). Scenario cases 2

The histogram contains a wide spectrum of colors in the

image including the two extreme colors in the hue axis. In such

a case, there is a possibility that a hill although appears to be

slim in the histogram space it may contain non-similar colors

that represent non-similar regions. Such a hill needs to be

dismantled, see Fig. 3.

We propose the hill-manipulation algorithm to solve the two

cases mentioned above and consequently improve the image

segmentation. The hill-manipulation algorithm is outlined below:

Algorithm: hill-manipulation

Input: an image

Output: a set of visually coherent segments

1. Quantizing the HSV color space.

2. Creating a 3D HSV color histogram.

3. Call the traditional hill-climbing algorithm.

4. Detect and correct the scenario cases.

5. Filtering out unnecessary small regions.

Fig. 2. (a) Original image, (b) the corresponding color histogram, and (c) image segmented into one large region (most of the background and part of the bird’s body)

and several other small regions.

Fig. 3. (a) Original image, (b) the corresponding color histogram, and (c) image segmented into one large blue region, the black region, and the white background.

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903 897

Below we will discuss these steps in details.

3.1. Quantizing HSV color space

Normally, the HSV components values are quantized to the

following ranges: 0–3608 for hue and 0–100 for saturation and

value. These divisions are large in number and it is not

practical to use these numbers to represent the colors of the

image segments since they represent very similar shades of

colors that are normally distinguished by the human eye. By

carefully examining the hue circle, we found that the major

colors come at multiples of 108, i.e. red 08, blue 2408, and

green 1208. So, the range size must be divisible by 10. Further,

we noticed that a maximum of 108 of hue contain one

homogenous color. However, a larger range may include more

than one homogenous color. Thus, we divide the hue into 36

intervals, where each interval is of size 108 and we call this

number the hue division factor, Hdf. These divisions are shown

in Fig. 4(a).

As a result of our extensive experiments and by carefully

examining the saturation and value components, which have

the same range (0–100), we concluded that dividing these

component into intervals of size 10 gives us distinguishable

intervals and yet a small number of them. This keeps us in a

consistent state with the hue divisions. From Fig. 4(b), shows

the saturation division factor and value division factors (Sdf,

Vdf). These quantization factors can be changed by the user if

necessary to adjust to specific image collection.

Fig. 4. Quantization of HSV color space to (36, 10, and 10): (a) hue quantized to

36 intervals, (b) saturation and value quantized each to 10 intervals.

3.2. Creating 3D HSV histogram

The 3D HSV histogram can be visualized as a cube of cells.

Each cell in the cube contains the number of pixels that

correspond to the three components associated with that cell.

We refer to each cell as a bin. The axis of each component is

adaptively adjusted to the available component values. That is

each axis runs from the minimum to the maximum value found.

This is a crucial step to stretch and distinguish neighboring

colors that would have been clustered together. Thus, the range

of colors that each histogram bin represents is computed as

follows:

Cbr Z ðCmaxKCminÞ=Cdf (1)

where, Cbr is the number of distinct values that are represented

by each range in component H, S or V. Also, Cmax, Cmin are the

maximum and minimum color values of a component. Cdf is a

division factor (Hdf, Sdf, Vdf) of a component. Fig. 5(a) shows

the histogram bins of similar colors that were considered as one

hill in Fig. 5(a). Then by adaptively running the histogram from

the minimum to the maximum of the available colors using Eq.

(1), the hill’s bins were stretched and thus three sub-hills were

distinguished as shown in Fig. 5(b).

3.3. Calling traditional hill-climbing algorithm

The traditional hill-climbing algorithm finds the image

clusters (histogram hills) as explained in Section 2.3. However,

some of these hills may be large and contain non-similar colors

(see the two scenario cases explained above).

Fig. 5. (a) Histogram consist of one hill, (b) histogram consist of more than one hill after stretching the original hill by applying Eq. (1).

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903898

3.4. Detecting and correcting scenario cases

The 3D color histogram topology is affected by many

factors, like blurring, low contrast, and color distribution. All

of these factors can change the shape of the histogram hills,

leading to large hills and thus to unexpected segmentation

result. The effects of these factors can be classified into two

scenario cases. Hence, we developed algorithms that detect and

correct the two scenario cases as follows.

Fig. 6. The eight corners of RGB cube.

Table 1

RGB cube corners values and there corresponding HSV color values

Color HSV values RGB values

Hue (8) Saturation Value Red Green Blue

Red 0 or 360 100 100 255 0 0

Yellow 60 100 100 255 255 0

Green 120 100 100 0 255 0

Cyan 180 100 100 0 255 255

Blue 240 100 100 0 0 255

Megenta 300 100 100 255 0 255

3.4.1. Solving scenario case 1

To provide a solution to this scenario case, we have to

analyze the HSV color space and define a threshold beyond

which a hill is considered wide (contains non-similar colors).

Consider the RGB cube, shown in Fig. 6, where each corner

represents one of the eight different colors: red, yellow, green,

cyan, blue, magenta, white, and black. These colors are very

different from each other because they are generated by taking

the extreme values of the RGB components. If we convert these

eight colors into their corresponding HSV colors, the result will

be as shown in Table 1.

It is clear from the RGB-to-HSV mapping that the distance,

Dhsv (c1, c2), between any two adjacent colors is 608, which is

the maximum range that can be considered homogenous in

color. Where Dhsv (c1, c2) is simply the number of degrees

between the two hue values of c1 and c2. Since we quantized

the hue into 36 intervals, the bin width, Bw, is equal to

360/36Z108. Thus, we can define a threshold, beyond which a

hill can be considered wide, called slimming threshold (St) as

follows:

St ZDhsvðc1; c2Þ

Bw

(2)

Since, Dhsv (c1, c2)Z60 and BwZ10, StZ6 bins. Thus, in

our experiments, a hill containing more than six bins in any

component (H, S, or V) is considered wide and needs to be

slimmed. In this paper, we define the hill width (Lw) as the

number of histogram bins in a hill. A wide hill is slimmed by

splitting it into homogenous sub-hills using the hill-slimming

algorithm, which is outlined below:

Algorithm: hill-slimming

Input: a wide hill

Output: set of homogenous sub-hills

1. Double the number of quantization levels of the H, S and V

component from 36, 10, and 10–72, 20 and 20, respectively.

2. For each wide hill in the original histogram create new

temporary 3D histogram called temp_hist using the new

divisions.

a. Call the hill-climbing algorithm to find the created sub-

hills in temp_hist

b. Give each sub-hill in temp_hist a unique region

number.

c. Replace the wide hill with the corresponding sub-hills

in temp_hist.

The hill-slimming algorithm creates a temporary histogram,

temp_hist, using the doubled intervals 72, 20, and 20 for H, S,

Fig. 7. (Top) original histogram with four hills, (middle) the hill slimming

algorithm divides the wide hill into four sub-hills in temp_hist, and (bottom) the

sub-hills are mapped into the original histogram.

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903 899

and V, respectively. As a result, the wide hills of the original

histogram are stretched out in the temp-hist and broken into

several homogenous sub-hills. Then, the algorithm calls the

hill-climbing algorithm to find the newly created sub-hills in

temp_hist. Each sub-hill is given a unique number. We reached

the choice of doubling (not any other ratio) after performing

extensive testing on different ratios. Simply doubling the

values gave the best result as lower ratios did not stretch the

histogram enough to detect the details that are hidden within

the slim hills and they resulted in under-segmented images; on

the other hand, larger ratios resulted in over-stretching the

histogram and they resulted in over-segmented images. As

illustrated in Fig. 7, the original histogram Fig. 7 (top) has 4 hill

among which hill # 2 is considered wide. Then, after applying

Fig. 8. Comparison between the result of hill-climbing and hill-slimming: (a) origin

segmentation after applying the hill-slimming algorithm.

the hill-slimming algorithm on the wide hill, it is divided into

four sub-hills Fig. 7 (middle) and mapped into the original

histogram Fig. 7 (bottom).

Actually, one round of applying the hill-slimming algorithm

on a wide hill is enough (as we found out from our extensive

experiments on the system) to stretch out the wide hill and

produce several homogenous non-wide sub-hills that show the

significant details of images. Iterative doubling of the

histogram will stretch out a sub-hill further and it will result

in showing all the un-important details of the image and thus

we end up with over-segmented images.

Fig. 8 shows a comparison between the segmentation results

before and after applying the hill-slimming algorithm for a

difficult image due to both the blurred background and its

similar color to parts of the body of the bird. Notice that using

the hill-climbing algorithm, the blurred background and part of

the bird’s body were segmented as one region (see Fig. 8(b)).

However, the different parts of the background and the bird’s

body were distinguished after applying the hill-slimming

algorithm (see Fig. 8(c)).

3.4.2. Solving scenario cases 2

The hill in this case is slim as it consists of six or less bins;

however, it represents most of the image area (see Fig. 3).

Therefore, there is a possibility that such a hill although

appears to be slim in the histogram space it may contain non-

similar colors that represent non-similar regions. Note that the

hill width is defined as the number of histogram bins in the hill.

Such a hill is dominant and detected as shown in the Detect-

Dominant-Hill algorithm:

Algorithm: Detect-Dominant-Hill

Input: HSV histogram

Output: set of dominant hills

1. Compute the size of each hill in terms of the number of

pixels.

2. Find the average size of all hills (Lsize_av).

3. Compare the size of each hill Lsize_i with Lsize_av

a. If Lsize_iOLsize_av and Lw%St then the current hill is

dominant, where Lw is the hill width.

b. Else hill Lsize_i is not dominant.

To segment the smaller regions that are lost within the

dominant hill region, we will dismantle the hill so that each bin

becomes a separate sub-hill as shown in the hill-dismantling

algorithm. Fig. 3 illustrates the idea of hill dismantling, where

Fig. 3(b) shows a slim hill that represents the blue oval and all

al image of a bird, (b) result of segmentation using hill-climbing, (c) result of

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903900

the circles, which are shades of blue, inside it (see Fig. 3(a)).

Then, by running the hill-dismantling algorithm, each bin

becomes a separate hill and thus each circle was recognized as

a separate segment (see Fig. 3(c)).

Algorithm: hill-dismantling

Input: dominant hill

Output: set of sub-hills

1. For each bin associated with the dominant hill

a. Represent the bin as a separate sub-hill.

b. Increment the number of regions by one

3.5. Filtering out unnecessary regions

Due to the application of the hill-slimming and hill-

dismantling algorithms to solve the two scenario casesmentioned

in Section 3.4, many unnecessary small regions may be

generated. Further, their might exist some small noise regions.

Normally, these regions are not similar in color their surrounding.

Thus, we chose to cover that area with the color of the largest

surrounding region. Thus, a post-processing step to filter out such

regions is necessary. The filtering process determines whether a

region is small or not based on two conditions:

1. If the region size Lsize_i is less than the filtering factor Ff,

which is the average size-difference between any two regions

of distinct sizes

Ff ZmaxsizeKminsize

Ndsize

(3)

wheremaxsize andminsize are themaximumandminimumdistinct

sizes of regions, and Ndsize is the number of distinct sizes.

2. If the number of occurrences No of the distinct size is more

than the average number of occurrencesNav-o of distinct sizes,

where No and Nav-o are computed from a list of produced

regions and their sizes, which our system keeps after applying

the hill-slimming and hill-dismantling algorithms.

Fig. 9. Results of HSV quantization: (a) original image, (b) segmentation using quant

and removes them by changing their colors to their neighboring

majority color. The filtering algorithm is as follows:

Algorithm: region-filtering

Input: a set of all generated regions (hills)

Output: set of significant regions (hills)

1. Determine a filtering factor Ff and No of regions as shown

above.

2. For every small region, where its Lsize_i!Ff and NoONav-o

a. For each pixel (starting from the boundary)

i Check all its neighbors and change the color of the

pixel to the color of majority surrounding the

processed pixel.

4. Experimental results

In our experiment, we used 100 real images from seven

different categories to evaluate the performance of the

proposed algorithm. These categories are: people, animals,

nature, buildings, flowers, graphics and sea. The images are

selected randomly from these categories. Before segmenting

any of the images, we preprocessed the images by a median

filter to remove any noise or meaningless details that may

affect the result. A median filter is chosen with a mask of size

3!3 as it gave us the best results for our collection of images,

but a user can choose other sizes. The segmented image is

represented by assigning the majority color (the bin with the

maximum number of pixels in a hill) to the corresponding

regions.

The images for the experiment were selected randomly

from these categories. The HSV color space is quantized to

(H, S, V)Z(36, 10, 10). Other quantization values were tried

but the segmentation either resulted in the loss of some details

(under-segmented) or in producing too many unnecessary

segments (over-segmented). Fig. 9 shows a comparison

between two sets of values: (16, 8, 8) versus (36, 10, 10).

Note that using the first set of values resulted in a loss of some

important details.

ization values (16, 8, 8), (c) segmentation using quantization values (36, 10, 10).

Fig. 10. Segmentation comparison: (a) original image, (b) using the traditional hill-climbing, (c) using our proposed algorithm.

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903 901

4.1. Segmentation comparison

We compared the proposed hill-manipulation algorithm with

the traditional hill-climbing algorithm as shown in Fig. 10.

Notice that most of the details that were lost using the traditional

hill-climbing algorithm (see Fig. 10(b)) were found and

distinguished by the hill-manipulation algorithm (see

Fig. 10(c)). For example, in the bear image, the traditional

hill-climbing algorithm merged part of the bear body with the

brown weeds forming one big region. Then, the hill-slimming

algorithm divided that wide region into several sub-hills and as a

result the bear body was separated from the background.

We also compared the hill-manipulation algorithm with the

SRG. We decided to compare with SRG because it is the basic

and most referenced segmentation algorithm. As discussed in

Section 2.1 the SRG algorithm requires a user to enter a seed

(threshold), which is the main drawback of SRG. Thus,

we conducted the comparison using different seeds as shown

Fig. 11. Comparison between SRG and our proposed algorithm: (a) original image,

(d) result of hill-manipulation algorithm.

in Fig. 11. Another drawback of the SRG is the large number of

regions it produces when the threshold is small. On the other

hand, if we increase the threshold, the number of regions

decreases and the segmentation quality decrease too. Table 2

shows the number of regions produced by SRG using different

threshold values and the number of regions produced by the hill-

manipulation algorithm.

From both Fig. 11 and Table 2, we notice that for the SRG

method, as the threshold increases the number of regions

decreases, however, the segmentation result deteriorates

significantly (see that the background details and the water are

one region. Further, the tiger is divided into several regions and

some parts of it are combined with the background). On the

other hand, our proposed algorithm gives a reasonable number

of regions, while extracting the whole tiger as one region. Also,

the water was separate from the other details of the background.

The numbers given in Table 2 are representative for all other

images in our image database.

(b) result of SRG using thresholdZ10, (c) result of SRG using thresholdZ100,

Table 3

Illustrates the number of colors in the HSV histogram, the number of hills found

after hill-manipulation, and the number of separate regions after hill-

manipulation of the images in Fig. 12

Image in Fig. 12 # Colors # Hills after

hill-manipulation

# Regions after

hill-manipulation

Top image 707 73 468

Second from top 980 106 320

Third from top 1497 135 289

Fourth from top 470 29 153

Fifth from top 1295 103 243

Table 2

Comparison between SRG and hill-manipulation algorithm in terms of the

number of produced regions for image shown in Fig. 11

Segmentation method Number of regions

SRG ThresholdZ10 10698

ThresholdZ30 3774

ThresholdZ50 1823

ThresholdZ100 483

Our proposed algorithm 194

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903902

Fig. 12 shows the segmentation results of our proposed

algorithm, where column (a) contains the original images and

column (b) contains the segmentation results. Obviously, these

images prove that our proposed algorithm produces high quality

segmentation results. Table 3 illustrates the number of colors

found in the HSV histogram of each of the images in Fig. 12.

Also, Table 3 shows the number of hills and the number of

separate regions found in the HSV histogram after applying the

hill-manipulation algorithm. Obviously, the number of regions

Fig. 12. Segmentation results of hill-manipulation algorithm: (a) original

image, (b) segmented image.

are more than the number of hills because some of hills may map

to more than one separate region if these regions are not

adjacent.

5. Conclusion

We have presented a novel algorithm, called hill-manipu-

lation, which solves the problems of cluster-based image

segmentation algorithms, such as the hill-climbing algorithm.

The algorithm has prevented non-similar colors from forming

one region by apply the hill-slimming and/or hill-dismantling

algorithms on large hills. The experiments show the effective-

ness of the proposed algorithm as compared against other

segmentation algorithms. The proposed segmentation method

works well on all image categories images even on low contrast

images. As a future work, we are building a system that groups

segments hierarchically to produce larger regions that represent

semantic content (objects) of an image.

References

[1] S. Belongie, C. Carson, H. Greenspan, J. Malik. Color and Texture Based

Image Segmentation Using EM and Its Application to Content-Based

Image Retrieval, International Conference On Computer Vision (ICCV)

1998 pp. 675–682.

[2] S. Bhagavathy, S. Newsam, B. Manjunath, ‘Modeling Object Classes in

Aerial Images Using Texture Motifs’, Proceedings of the IEEE

International Conference on Pattern Recognition (ICPR), Quebec City

August 2002.

[3] D. Cardani, Adventures in HSV Space, The advanced Developers Hands on

Conference July 2001.

[4] C. Chang, K. Chen, J. Wang, M.LG Althouse, A relative entropy approach

to image thresholding, Pattern Recognition 27 (9) (1994) 1275–1289.

[5] D. Comaniciu, P. Meer, Mean shift: a robust approach toward feature space

analysis, IEEE Transactions on Pattern Analysis and Machine Intelligence

24 (5) (2002) 603–619.

[6] Y. Deng, B. Manjunath, ‘Unsupervised segmentation of color-texture

regions in images and video’, IEEE Transactions on Pattern Analysis and

Machine Intelligence (PAMI ’01) August 2001.

[7] Y. Deng, B.Manjunath, H. Shin, Color image segmentation, Proceedings of

the IEEE Computer Society Conference on Computer Vision and Pattern

Recognition, CVPR ’99, Fort Collins, CO, 2 1999 pp.446–51, June.

[8] A. Elmagarmid, D. Ya, J. Fanu, G. Walid, Automatic image segmentation

by integrating color-edge extraction and seeded region growing, IEEE

Transactions on Image Processing 10 (10) (2001) October.

[9] M. El, A. Manjunath, Video region segmentation by spatio-temporal

watersheds, IEEE International Conference on Image Processing (ICIP),

Barcelona, Spain 2003 September.

Z.A. Aghbari, R. Al-Haj / Image and Vision Computing 24 (2006) 894–903 903

[10] I. Grinias, Y. Mavrikakis, G. Tziritas, Region growing colour image

segmentation applied to face detection, International Workshop on Very

Low Bit Rate Coding 2001.

[11] G.Frederix, E.J.Pauwels, A Statistically Principled Approach Toward

Feature Space Analysis, Technical Report, CWI 2004.

[12] J.Freixenet, X.Munoz, D.Raba, J.Marti, X.Cufi. Yet another survey on

image segmentation: region and boundary information integration,

Proceedings of the Seventh European Conference on Computer Vision.

Part III 2002.

[13] L. Lui, Y.H. Yang, Multiresolution color image segmentation, IEEE

Transactions on PAMI 16 (7) (1994) 689–700.

[14] A. Mehnert, P. Jackway, An improved seeded region growing algorithm,

Pattern Recognition Letters 18 (1997) 1065–1071.

[15] H. Ishikawa, I. Jermyn, Region extraction from multiple images

Proceedings of the Eighth IEEE International Conference on Computer

Vision, Vancouver, Canada 2001.

[16] I. Jermyn, H. Ishikawa, Globally optimal regions and boundaries

Proceedings of the Seventh IEEE International Conference on Computer

Vision, Kerkyra, Greece 1999 pp. 904-910, September.

[17] A.W.C. Liew, S.H. Leung, W.H. Lau, Fuzzy image clustering incorporating

spatial continuity, IEE Proceedings Vision Image & Signal Processing 147

(2) (2000) 185–192.

[18] L. Lucchese, S.Mitra, Unsupervised segmentation of color images based on

k-means clustering in the chromaticity plane. Proceedings of the IEEE

Workshop on Content-based Access of Image and Video Libraries

(CBAIVL’99), Fort Collins, CO 1999 pp. 74–78, June.

[19] L. Lucchese, S. Mitra, Advances in color image segmentation, Seamless

Interconnection for Universal Services. Global Telecommunications

Conference. GLOBECOM’99, Rio de Janeireo, Brazil, 4.6 1999 5–9

December, pp. 2038–44.

[20] B. Manjunath, J. Ohm, V. Vinod, A. Yamada, ‘Color and texture

descriptors,’ IEEE Trans. Circuits and Systems for Video Technology,

Special Issue on MPEG-7, 2001.

[21] B. Manjunath, P. Wu, S. Newsam, H. Shin, A texture descriptor for

browsing and similarity retrieval, Journal of Signal Processing: Image

Communication 16 (1–2) (2000) 33–43 September.

[22] S. Newsam, S. Bhagavathy, L. Fonseca, C. Kenney, B.S. Manjunath,

Object based representations of spatial images, Acta Astronautica 48 (5–12)

(2001) 567–577 June.

[23] T. Ohashi, Z. Aghbari, A. Makinouchi, Hill-climbing algorithm for efficient

color-based image segmentation IASTED International Conference on

Signal Processing, Pattern Recognition and Applications (SPPRA Rhodes,

Greece), June 2003, p. 2003.

[24] N.R. Pal, S.K. Pal, A review on image segmentation techniques, Pattern

Recognition 26 (9) (1993) 1277–1294.

[25] H. Park, J. Ra, Homogeneous region merging approach for image

segmentation preserving semantic object contours, Proceedings of

International Workshop on Very Low Bitrate Video Coding, Chicago, IL,

Oct. 8–9 1998, pp. 149-152.

[26] S.H. Park, I.D. Yun, S.U. Lee, Color image segmentation based on 3D

clustering: morphological approach, Pattern Recognition 31 (8) (1998)

1061–1076.

[27] S. Pramanik, S. Sural, Q. Gang, Segmentation and histogram generation

using the HSV color space for image retrieval, International Conference on

Image Processing, Rochester, NewYork, September 22, 2002.

[28] Y. Rui, T. Huang, S. Chang, Image retrieval: current techniques, promising

directions and open issues, Journal of Visual Communication and Image

Representation 10 (4) (1999) 39–62.

[29] P.K. Sahoo, S. Soltani, A.K.C. Wong, Y.C. Chen, A Survey of

Thresholding Techniques, Academic Press Professional, Inc., London,

1988. ISSN 0734-189X.

[30] R. Schettini, A segmentation algorithm for color images, Pattern

Recognition Letters 14 (1993) 499–506.

[31] C. Shaffrey, N. Kingsbury, I. Jermyn, Unsupervised image segmentation

via markov trees and complex wavelets, Proceedings of the IEEE

International Conference on Image Processing (ICIP), Rochester, USA,

September 2002.

[32] B. Sumengen, B. Manjunath, C. Kenney, Image segmentation using multi-

region stability and edge strength, Proceedings of IEEE International

Conference on Image Processing (ICIP), Barcelona, Spain, September

2003.

[33] B. Sumengen, B. Manjunath, C. Kenney, Image segmentation using curve

evolution and region stability, Proceedings of IEEE International

Conference on Pattern Recognition (ICPR), Quebec City, Canada, August

2002.

[34] S. Tominaga, Color classification of natural color images, Color Research

& Application 17 (4) (1992) 230–239.

[35] L. Wang, B. Manjunath, A semantic representation for image retrieval,

IEEE International Conference on Image Processing (ICIP), Barcelona,

Spain, September 2003.

[36] J. Winkeler, B. Manjunath, Genetic programming for object detection,

Proceedings of Genetic Programming 1997 Conference, Stanford, CA,

USA, 13–16 July 1997, pp.330–335.

[37] S.C. Zhu, A. Yuille, Region Competition: Unifying Snakes, Region

Growing, and Bays/mdl for Multiband Image Segmentation, IEEE

Transactions on Pattern Analysis and Machine Intelligence 18 (9) (1996)

884–900.