Top Banner
Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki
44
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Image Segmentation

CIS 601 Fall 2004

Longin Jan Latecki

Page 2: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Image Segmentation

• Segmentation divides an image into its constituent regions or objects.

• Segmentation of images is a difficult task in image processing. Still under research.

• Segmentation allows to extract objects in images.

• Segmentation is unsupervised learning.

• Model based object extraction, e.g., template matching, is supervised learning.

Page 3: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

What it is useful for

• After a successful segmenting the image, the contours of objects can be extracted using edge detection and/or border following techniques.

• Shape of objects can be described.• Based on shape, texture, and color objects can be

identified.• Image segmentation techniques are extensively used in

similarity searches, e.g.:

http://elib.cs.berkeley.edu/photos/blobworld/

Page 4: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Segmentation Algorithms

• Segmentation algorithms are based on one of two basic properties of color, gray values, or texture: discontinuity and similarity.

• First category is to partition an image based on abrupt changes in intensity, such as edges in an image.

• Second category are based on partitioning an image into regions that are similar according to a predefined criteria. Histogram thresholding approach falls under this category.

Page 5: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Domain spaces

spatial domain (row-column (rc) space)

histogram spaces

color space

texture space

other complex feature space

Page 6: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Clustering in Color Space

1. Each image point is mapped to a point in a color space, e.g.:

Color(i, j) = (R (i, j), G(i, j), B(i, j))

It is many to one mapping.

2. The points in the color space are grouped to clusters.

3. The clusters are then mapped back to regions in the image.

Page 7: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Examples

Mnp: 30, percent 0.05, cluster number 4

Mnp : 20, percent 0.05, cluster number 7

Original pictures segmented pictures

Page 8: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Displaying objects in the Segmented Image

• The objects can be distinguished by assigning an arbitrary pixel value or average pixel value to the pixels belonging to the same clusters.

Page 9: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Thus, one needs clustering algorithms for image segmentation.

Homework 8:

Implement in Matlab and test on some example images the clustering in the color space. Use Euclidean distance in RGB color space.You can use k-means, PAM, or some other clustering algorithm.Links to k-means, PAM, data normalization

Test images: rose, plane, car, tiger, landscape

Page 10: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Segmentation by Thresholding

• Suppose that the gray-level histogram corresponds to an image f(x,y) composed of dark objects on the light background, in such a way that object and background pixels have gray levels grouped into two dominant modes. One obvious way to extract the objects from the background is to select a threshold ‘T’ that separates these modes.

• Then any point (x,y) for which f(x,y) < T is called an object point, otherwise, the point is called a background point.

Page 11: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Gray Scale Image Example

Image of a Finger Print with light background

Page 12: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Histogram

Page 13: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Segmented Image

Image after Segmentation

Page 14: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

In Matlab histograms for images can be In Matlab histograms for images can be constructed using the imhist command.constructed using the imhist command.

I = imread('pout.tif');

figure, imshow(I);

figure, imhist(I) %look at the hist to get a threshold, e.g., 110

BW=roicolor(I, 110, 255); % makes a binary image

figure, imshow(BW) % all pixels in (110, 255) will be 1 and white

% the rest is 0 which is black

roicolor returns a region of interest selected as those pixels in I that match the values in the gray level interval.

BW is a binary image with 1's where the values of I match the values of the interval.

Page 15: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Thresholding Bimodal Histograms

• Basic Global Thresholding: 1)Select an initial estimate for T 2)Segment the image using T. This will produce two

groups of pixels. G1 consisting of all pixels with gray level values >T and G2 consisting of pixels with values <=T.

3)Compute the average gray level values mean1 and mean2 for the pixels in regions G1 and G2.

4)Compute a new threshold value T=(1/2)(mean1 +mean2) 5)Repeat steps 2 through 4 until difference in T in

successive iterations is smaller than a predefined parameter T0.

Page 16: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Gray Scale Image - bimodal

Image of rice with black background

Page 17: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Segmented Image

Image after segmentationImage histogram of rice

Page 18: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Basic Adaptive Thresholding:

Images having uneven illumination makes it difficult to segment using histogram, this approach is to divide the original image into sub images and use the thresholding process to each of the sub images.

Page 19: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Multimodal Histogram

• If there are three or more dominant modes in the image histogram, the histogram has to be partitioned by multiple thresholds.

• Multilevel thresholding classifies a point (x,y) as belonging to one object class

if T1 < (x,y) <= T2, to the other object class if f(x,y) > T2 and to the background if f(x,y) <= T1.

Page 20: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Thresholding multimodal histograms

• A method based on

Discrete Curve Evolution

to find thresholds in the histogram.

• The histogram is treated as a polylineand is simplified until a few vertices remain.

• Thresholds are determined by vertices that are local minima.

Page 21: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Discrete Curve Evolution (DCE)

u

v

w u

v

w

It yields a sequence: P=P0, ..., Pm

Pi+1 is obtained from Pi by deleting the vertices of Pi that have minimal relevance measure

K(v, Pi) = |d(u,v)+d(v,w)-d(u,w)|

>

Page 22: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Gray Scale Image - Multimodal

Original Image of lena

Page 23: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Multimodal Histogram

Histogram of lena

Page 24: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Segmented Image

Image after segmentation – we get a outline of her face, hat, shadow etc

Page 25: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Color Image - bimodal

Colour Image having a bimodal histogram

Page 26: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Histogram

Histograms for the three colour spaces

Page 27: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Segmented Image

Segmented image, skin color is shown

Page 28: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Split and Merge

• The goal of Image Segmentation is to find regions that represent objects or meaningful parts of objects. Major problems of image segmentation are result of noise in the image. 

• An image domain X must be segmented in N different regions R(1),…,R(N)

• The segmentation rule is a logical predicate of the form P(R)

Page 29: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Introduction

• Image segmentation with respect to predicate P partitions the image X into subregions R(i), i=1,…,N such that

X = i=1,..N U R(i)

R(i) ∩ R(j) = 0 for I ≠ j

P(R(i)) = TRUE for i = 1,2,…,N

P(R(i) U R(j)) = FALSE for i ≠ j

Page 30: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Introduction

• The segmentation property is a logical predicate of the form P(R,x,t)

• x is a feature vector associated with region R

• t is a set of parameters (usually thresholds). A simple segmentation rule has the form:

P(R) : I(r,c) < T for all (r,c) in R

Page 31: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Introduction

• In the case of color images the feature vector x can be three RGB image components (R(r,c),G(r,c),B(r,c))

• A simple segmentation rule may have the form:

P(R) : (R(r,c) <T(R)) && (G(r,c)<T(G))&&

(B(r,c) < T(B))

Page 32: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Region Growing (Merge)

• A simple approach to image segmentation is to start from some pixels (seeds) representing distinct image regions and to grow them, until they cover the entire image

• For region growing we need a rule describing a growth mechanism and a rule checking the homogeneity of the regions after each growth step

Page 33: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Region Growing

• The growth mechanism – at each stage k and for each region Ri(k), i = 1,…,N, we check if there are unclassified pixels in the 8-neighbourhood of each pixel of the region border

• Before assigning such a pixel x to a region Ri(k),we check if the region homogeneity:

P(Ri(k) U {x}) = TRUE , is valid

Page 34: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Region Growing Predicate

The predicate P: |m(R1) – m(R2)| < k*min{std(R1), std(R2)}, is used to decide if the mergingof the two regions R1, R2 is allowed, i.e.,if |m(R1) – m(R2)| < k*min{std(R1), std(R2)}, two regions R1, R2 are merged.

Rcr

crIn

Rm),(

),(1

)(

The arithmetic mean m and standard deviation std of a region R having n =|R| pixels:

Rcr

RmcrIn

Rstd),(

2))(),((1

1)(

Page 35: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Split

• The opposite approach to region growing is region splitting.

• It is a top-down approach and it starts with the assumption that the entire image is homogeneous

• If this is not true, the image is split into four sub images

• This splitting procedure is repeated recursively until we split the image into homogeneous regions

Page 36: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Split

• If the original image is square N x N, having dimensions that are powers of 2(N = 2n):

• All regions produced but the splitting algorithm are squares having dimensions M x M , where M is a power of 2 as well.

• Since the procedure is recursive, it produces an image representation that can be described by a tree whose nodes have four sons each

• Such a tree is called a Quadtree.

Page 37: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Split

Quadtree

R0 R1

R2R3

R0

R1

R00 R01 R02 R04

Page 38: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Split

• Splitting techniques disadvantage, they create regions that may be adjacent and homogeneous, but not merged.

• Split and Merge method is an iterative algorithm that includes both splitting and merging at each iteration:

Page 39: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Split / Merge

• If a region R is inhomogeneous (P(R)= False) then is split into four sub regions

• If two adjacent regions Ri,Rj are homogeneous (P(Ri U Rj) = TRUE), they are merged

• The algorithm stops when no further splitting or merging is possible

Page 40: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Split / Merge

• The split and merge algorithm produces more compact regions than the pure splitting algorithm

Page 41: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Applications

• 3D – Imaging : A basic task in 3-D image processing is the segmentation of an image which classifies voxels/pixels into objects or groups. 3-D image segmentation makes it possible to create 3-D rendering for multiple objects and perform quantitative analysis for the size, density and other parameters of detected objects.

• Several applications in the field of Medicine like magnetic resonance imaging (MRI).

Page 42: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Results – Region grow

Page 43: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Results – Region Split

Page 44: Image Segmentation CIS 601 Fall 2004 Longin Jan Latecki.

Results – Region Split and Merge