© by Yu Hen Hu 1 ECE533 Digital Image Processing Image Segmentation
© by Yu Hen Hu 2 ECE533 Digital Image Processing What is Image Segmentation? l Segmentation: »Split or separate an image into regions »To facilitate recognition, understanding, and region of interests (ROI) processing l Ill-defined problem »The definition of a region is context- dependent
© by Yu Hen Hu 3 ECE533 Digital Image Processing Outline l Discontinuity Detection »Point, edge, line l Edge Linking and boundary detection l Thresholding l Region based segmentation l Segmentation by morphological watersheds l Motion segmentation
© by Yu Hen Hu 4 ECE533 Digital Image Processing Point Detection Apply detection mask, followed by threshold detection
© by Yu Hen Hu 5 ECE533 Digital Image Processing Line Detection Useful for detecting lines with width = 1.
© by Yu Hen Hu 6 ECE533 Digital Image Processing Edge Detection l Points and lines are special cases of edges. l Edge detection is difficult since it is not clear what amounts to an edge!
© by Yu Hen Hu 7 ECE533 Digital Image Processing Edge Detection
© by Yu Hen Hu 8 ECE533 Digital Image Processing Impact of Noise
© by Yu Hen Hu 9 ECE533 Digital Image Processing First & Second Derivatives of Edges
© by Yu Hen Hu 10 ECE533 Digital Image Processing Edge Detection Operators Figure 10.8, 10.9
© by Yu Hen Hu 11 ECE533 Digital Image Processing Approximate Gradient with L1 Norm
© by Yu Hen Hu 12 ECE533 Digital Image Processing Effects of Smoothing
© by Yu Hen Hu 13 ECE533 Digital Image Processing Emphasizing Diagonal Edges Use diagonal Sobel operator shown in figure 10.9(d)
© by Yu Hen Hu 14 ECE533 Digital Image Processing Laplacian and Mexican Hat LoG operator
© by Yu Hen Hu 15 ECE533 Digital Image Processing Comparison of Edge Detection originalSobelLoG Threshold LoG Zero-crossing Gaussian smooth operator Laplacian operator Gradient method: suitable for abrupt gray level transition, sensitive to noise 2 nd order derivative: good for smooth edges
© by Yu Hen Hu 16 ECE533 Digital Image Processing Boundary Extraction l Edge detection classifies individual pixels to be on an edge or not. l Isolated edge pixels is more likely to be noise rather than a true edge. l Adjacent or connected edge pixels should be linked together to form boundary of regions that segment the image. l Edge linking methods: »Local processing »Hough transform »Graphic theoretic method »Dynamic programming
© by Yu Hen Hu 17 ECE533 Digital Image Processing Local Processing Edge Linking An edge pixel will be linked to another edge pixel within its own neighborhood if they meet two criteria:
© by Yu Hen Hu 18 ECE533 Digital Image Processing Global Processing Edge Linking: Hough Transform Find a subset of n points on an image that lie on the same straight line. Write each line formed by a pair of these points as y i = ax i + b Then plot them on the parameter space (a, b): b = x i a + y i All points (x i, y i ) on the same line will pass the same parameter space point (a, b). Quantize the parameter space and tally # of times each points fall into the same accumulator cell. The cell count = # of points in the same line.
© by Yu Hen Hu 19 ECE533 Digital Image Processing Hough Transform in ( ) plane To avoid infinity slope, use polar coordinate to represent a line. Q points on the same straight line gives Q sinusoidal curves in ( ) plane intersecting at the same ( i i ) cell.
© by Yu Hen Hu 20 ECE533 Digital Image Processing Example
© by Yu Hen Hu 21 ECE533 Digital Image Processing Example
© by Yu Hen Hu 22 ECE533 Digital Image Processing Threshold Segmentation
© by Yu Hen Hu 23 ECE533 Digital Image Processing Effect of Illumination on Thresholding
© by Yu Hen Hu 24 ECE533 Digital Image Processing Threshold Example
© by Yu Hen Hu 25 ECE533 Digital Image Processing Needs of Adaptive Threshold
© by Yu Hen Hu 26 ECE533 Digital Image Processing Needs of Local Threshold Properly and improperly segmented subimages from Fig Further division of the sub-image, and result of adaptive thresholding
© by Yu Hen Hu 27 ECE533 Digital Image Processing Threshold: Hypothesis Testing l Question: »Does this pixel with intensity z belong to a region (edge) or not? l Hypothesis »H 0 : Null. It does not »H 1 : Alt. It does l Likelihood »p(z|z H 0 ) = p 1 (z) »p(z| z H 1 ) = p 2 (z) l Prior »P 1 = p(z H 0 ), »P 2 = p(z H 1 ) l Maximum likelihood: »Pixel z belongs to a region if p(z|H 1 ) > p(z|H 0 ) l Bayesian: P 2 p(z|H 1 ) > P 1 p(z|H 0 ) l Sufficient statistic: z > T
© by Yu Hen Hu 28 ECE533 Digital Image Processing Uni-model Gaussian Example l Given Set P 1 p 1 (T) = P 2 p 2 (T) and solve for T. l Take log on both sides and simplify to AT 2 + BT + C = 0
© by Yu Hen Hu 29 ECE533 Digital Image Processing Clustering Problem Statement l Given a set of vectors {x k ; 1 k K}, find a set of M clustering centers {w(i); 1 i c} such that each x k is assigned to a cluster, say, w(i*), according to a distance (distortion, similarity) measure d(x k, w(i)) such that the average distortion is minimized. l I(x k,i) = 1 if x is assigned to cluster i with cluster center w(I); and = 0 otherwise -- indicator function.
© by Yu Hen Hu 30 ECE533 Digital Image Processing k-means Clustering Algorithm Initialization: Initial cluster center w(i); 1 i c, D(–1)= 0, I(x k,i) = 0, 1 i c, 1 k K; Repeat (A) Assign cluster membership (Expectation step) Evaluate d(x k, w(i)); 1 i c, 1 k K I(x k,i) = 1 if d(x k, w(i)) < d(x k, w(j)), j i; = 0; otherwise. 1 k K (B) Evaluate distortion D: (C) Update code words according to new assignment (Maximization) (D) Check for convergence if 1–D(Iter–1)/D(Iter) < , then convergent = TRUE,
© by Yu Hen Hu 31 ECE533 Digital Image Processing A Numerical Example x = { 1, 2,0,2,3,4}, W={2.1, 2.3} Assign membership 2.1: { 1, 2, 0, 2} 2.3: {3, 4} Distortion D = ( 1 2.1) 2 + ( 2 2.1) 2 + (0 2.1) 2 + (2 2.1) 2 + (3 2.3) 2 + (4 2.3) 2 3. Update W to minimize distortion W 1 = ( 1 2+0+2)/4 = .25 W 2 = (3+4)/2 = Reassign membership .25: { 1, 2, 0} 3.5: {2, 3, 4} 5. Update W: w 1 = ( 1 2+0)/3 = 1 w 2 = (2+3+4)/3 = 3. Converged.
© by Yu Hen Hu 32 ECE533 Digital Image Processing Thresholding Example Threshdemo.m