33
Color Image Segmentation Speaker: Deng Huipeng 25th Oct 2007

Color Image Segmentation Speaker: Deng Huipeng 25th Oct , 2007

Embed Size (px)

Citation preview

Color Image Segmentation

Speaker: Deng Huipeng25th Oct , 2007

Segmentation Technologies

Feature-Space Based Techniques Clustering

K-means algorithm Fuzzy k-means algorithm [Wu et al. 1994]

Histogram thresholding [Celenk et al.1998 ]

[Park et al.1998]

Segmentation Technologies

Image-Domain Based Techniques Split-and-merge techniques [Liu et al.1994]

Region growing techniques [Kanai 1998 ]

Neural-network based classification techniques [Okii et al. 1994]

Segmentation Technologies

Physics Based Techniques [Shafer 1985]

Color image segmentation-an innovative approach

Tie Qi Chen , Yi Lu Pattern Recognition 35(2002)

About the Author:TIE-QI CHEN Member of IEEE and ACM

Senior Software Engineer at Automotive Technologies International, Inc

Ph.D in Optics from Fudan University

About the Author: YI LU

Associate Professor at the University of Michigan-Dearborn

Senior member of IEEE Computer Society and associate editor of Pattern Recognition

Research interests: Computer Vision, neural networks and fuzzy logic

Outline

a color image

Compute histogram

in a color space

Fuzzy clustering in color

Histogram domain

Map initial clusters to

image domain

Merging neighboring

clusters

Stage 1:Color segmentation

Stage 2:Region segmentation

A set of color regions

CL1 CL2

CL3 :

Illustration

3D Color Histogram Provide the color distribution of the

image Fuzzy Clustering

Generate a decomposition of the 3D histogram

Output a set of non-overlapping color clusters

LUV Color Space

0.607 0.174 0.200

0.299 0.587 0.114

0.000 0.066 1.116

X R

Y G

Z B

' '

' '

1

3

'

'

'

'

116 ( ) 16

13( )

13( )

, 0.008856( )

167.787 , 0.008856

1164

15 39

15 34

15 3

9

15 3

n

n

n

nn

n n n

nn

n n n

YL f

Y

u u u

v v v

x xf x

x x

Xu

X Y ZY

vX Y Z

Xu

X Y Z

Yv

X Y Z

RGB->CIE XYZ

CIE XYZ->CIE Luv

Two Criterions

Different colors in different clusters in CL1, next step only merge clusters

CL1 must be compact, otherwise there will be too many clusters

Fuzzy clustering Algorithm

How to classify similar colors into clusters?

Fuzzy membership function The likeness of a data element belonging to a color cluster

Color distance function Difference between two clusters

Distance function Difference between a color and a color cluster

Label Image Pixels

1, ,... 1Mk R k R i

i k

H C P P G C P G C P

where Pi is the center of the cluster

Fuzzy membership function:

2 2/( ) C P RRG C P e

P : the center of the cluster,R : the radius of the cluster.

Object Function

{Cn}:set of all colors in an image

2

1 11

,... ( ) , ,...M M

i

M

i k i k i kk C

P P f C H C P P C P

Hk: fuzzy membership functionf(C):3D histogramPi : center of cluster i

PseudocodeM=0; f(Ck)=max(f(Ci)) i=1,…,N ; PM

0=Ck;while(f(Cj)V(Cj)>ε∑f(Cj)){ t=0; do { t=t+1; PM

t+1 = ∑Cif(Ci)HM/ ∑f(Ci)HM; } while(|| PM

t+1- PMt||>δ)

PMt+1 = MthCenter;

M=M+1;if(f(Cj)V(Cj)=max(f(Ci)V(Ci)) (i=1,…,N ) PM

0=Cj;

V(C) = ∏k=1M[1-GR(C-Pk)]

}

Color histogram Center of cluster 1

Probability not belonging to any cluster

Initial value of next cluster center

Discussion of Radius The value of radius is determined by

user

Larger radius: images have coarse features

Smaller radius: images with fine detailed features

Example: Fewer Details

(a) original image,

(b) R=64, (c) R=32, (d) R=16 , (e) R=8

Example: More Details

(a) original image,

(b) R=64, (c) R=32, (d) R=16, (e) R=8

Region segmentation An agglomerative process, three parameters used:

The color distances among neighboring clusters in the spatial domain (two versions)

Cluster sizes

The maximum number of clusters in CL3(max_num=64)

Three methods are employed in this paper.

Color Distance Function 1 A and B are neighboring clusters, Function 1 is

defined below: Dist(A,B) = |Ave_B(A)-Ave_B(B)|, where

( , ) ( , )

( , ) ( , ) ( , ) ( , )

( , ) ( , )

( , ) ( , )

( , )

_ ( ) { ,| ( , ) |

( , ) ( , )

, }| ( , ) | | ( , ) |

( , )

_ ( ) { ,| ( , ) |

( , )

Rx y Border A B

G Bx y Border A B x y Border A B

Rx y Border B A

Gx y Border B A

f x y

Ave B ABorder A B

f x y f x y

Border A B Border A B

f x y

Ave B BBorder A B

f x y

( , ) ( , )

( , )

, }| ( , ) | | ( , ) |

Bx y Border B A

f x y

Border A B Border A B

Illustration of Border

Border(A,B)={(x,y)|x_min≤x≤x_max, y_min≤y≤y_max;(x,y)∈A }

Color Distance Function 2 A and B are neighboring clusters, Function 2 is

defined below: Dist(A,B) = |C(A)-C(B)|, where ( )

( )| |

p A

L p

C AA

|A|: the size of AL(p):3D color vector of p in Luv space

Comparison

Function 1: Work well on regions whose borders have more distinct color.

Function 2:Give a global measure of color distance between two clusters.

Merging Method 1Merge the adjacent clusters having similar colors:Cl_diff_th : Color difference threshold. clu_num : Total number of clusters Pseudocode:

for every cluter belonging to CL2 if(Dist(A,B)< Cl_diff_th ) MergeClusters(A,B); Update(center, clu_num , neighbours, CL2);

while(clu_num>max_num){ for every cluter belonging to CL2 if(Dist(A,B) = minDistOfneighbours) MergeClusters(A,B);

Update(center, clu_num , neighbours, CL2);}

Merging Method 2clu_num : Total number of clusters Pseudocode:

while(clu_num>max_num){ for every cluter belonging to CL2 if(Dist(A,B) = minDistOfneighbours) MergeClusters(A,B); Update(center, clu_num , neighbours, CL2);}

Merging Method 3

Three passes: Repeatedly merge the smallest clusters until the

number is reduced to a reasonable number Merge two neighboring clusters who has the sm

allest diatances until covering majority of the pixels

Merge the smallest clusters with its neighbor until the number of clusters is no more than max_num

Results

(a)shows an egg nebula image, (b) shows the clusters generated by the fuzzy clustering algorithm

with R=16, (c), (d) and (e) show the clustering result generated by method 1,

2 and 3, respectively, from (b)

More Results

(a) shows the input image,(b) shows the color histogram illustrated in 3D space. (c) illustrates the 4 clusters generated by the fuzzy clustering algorithm, (d) shows the 4 clusters generated by the segmentation algorithm in image

domain.

More Results

(a) The original image. (b) The image contains 12 color clusters generated by t

he fuzzy color clustering algorithm and 598 spatial clusters in the image domain.

(c) The segmentation result.

More Results

Radius parameter to R=8, 16, 32 and 64 respectively.

Conclusion

Effective & Efficient Only one parameter cluster radius

R should be specified. Apply to variety of applications.

Q&A

Thank you!