Upload
tracey-jones
View
216
Download
0
Embed Size (px)
Citation preview
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]
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
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
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.
Conclusion
Effective & Efficient Only one parameter cluster radius
R should be specified. Apply to variety of applications.