Tutorial # 9

advertisement
Tutorial # 9
Nov. 21, 2013
1
Segmentation
Isolating a region/regions of interest in an image
Useful for:






2
Collect more meaningful data from an image
Easier analysis
Locate objects
Locate boundaries
K-means clustering
Unsupervised clustering algorithm



Classifies input data points into K classes based on their inherent
distance to each other
Points are clustered around centroids/means
𝜇∀𝑖 = 1 … 𝐾
Which are obtained by minimizing:
𝐾
𝑉=
𝑥𝑗 − 𝜇𝑖
2
𝑖=1 𝑥𝑗 𝜖𝑆𝑖
Where there are K clusters 𝑆𝑖 , 𝑖 = 1, 2 … 𝐾 and 𝜇𝑖 is the centroid of all
points 𝑥𝑗 𝜖𝑆𝑖
Ref:
http://www.ics.uci.edu/~dramanan/teaching/ics273a_winter08/projects/avim
_report.pdf
3
Example – 1 Channel
Given a gray scale image, use K-means to segment the
image. Choose K = 2 (Cluster A and Cluster B)

4
1
5
3
2
6
2
5
5
1
1.) Calculate the histogram
3.5
3
2.5
2
Frequency
1.5
1
0.5
0
0
5
1
2
3
Intensity
4
5
6
2.) Initialize centroids
Randomly initialize centroids
𝜇𝐴 = 1
𝜇𝐵 = 3

3.5
3
2.5
2
Frequency
1.5
1
0.5
0
0
6
𝜇𝐵
𝜇𝐴
1
2
3
4
Intensity
5
6
3) Cluster intensities based on distance
1
2
3
5
6
Distance
with 𝜇𝐴
0
1
4
16
25
Distance
with 𝜇𝐵
4
1
0
4
9
Note: Points with intensity 2 can be classified as either, but our algorithm
chooses the first cluster.
7
4.) Recalculate centroids
New centroids

𝜇𝐴2 = 1.5
𝜇𝐵2 = 4.8
𝜇𝐴2
3.5
3
2.5
2
Frequency
1.5
1
0.5
0
0
8
1
𝜇𝐵2
2
3
4
Intensity
5
6
5.) Recluster intensities using new centroids
1
2
3
5
6
Distance
with 𝜇𝐴2
0.25
0.25
2.25
12.25
20.25
Distance
with 𝜇𝐵2
14.44
7.84
3.24
0.04
1.44
We have a new clustering!
Recalculate the centroid.
9

New centroids
𝜇𝐴3 = 1.8
𝜇𝐵3 = 5.25
𝜇𝐴3
3.5
3
2.5
2
Frequency
1.5
1
0.5
0
0
10
1
2
𝜇𝐵2
3
4
Intensity
5
6
1
2
3
5
6
Distance
with 𝜇𝐴3
0.64
0.04
1.44
10.24
17.64
Distance
with 𝜇𝐵3
18.063
10.56
5.063
0.63
0.56
Recalculate the means and we find:
𝜇𝐴3 = 𝜇𝐴4
𝜇𝐵3 = 𝜇𝐵4
This means we can stop and we have our final
clusters
11
Final Clustering/Segmentation
A
B
A
A
B
A
B
B
A
This answer would change if we chose K = 3. Also, the number of iterations
would change depending on the starting centroids.
12
Real example
13
Real example
14
Number of Clusters: K = 1
15
Number of Clusters: K = 3
16
Actual Segmentation
Cluster 1
17
Cluster 2
Cluster 3
Similar intensities
18
Number of Clusters: K = 5
Oversegmentation
– K is too high
19
What about colour segmentation?



Different regions of interest may have the same intensity
but different colours
Can use the colour information of an image to improve
segmentation
Let’s focus only on the colour and remove the intensity
by converting to a different colour space:



20
HSI (Hue Saturation Intensity)
YCbCr (Luma, Blue difference, Red difference)
L*a*b* (Lightness, a* - colour that falls on the red-green axis,
b* - colour that falls on the blue-yellow axis)
Using L*a*b* space


Our K-means problem becomes a 2D problem
Our centroid will now have two variables, one defining
the intensity of the a* channel and one defining the b*
channel
21
http://www.mathworks.com/help/releases/R201
3b/stats/kmeans.gif
K=1
22
K=3
K=5
Cluster 1
23
Cluster 2
Cluster 3
Download