Title: Image Segmentation
1Image Segmentation
Dr. Ramprasad Bala Computer and Information
Science UMASS Dartmouth CIS 465 Topics in
Computer Vision
2Image Segmentation
- The term image segmentation refers to the
partition of an image into a set of regions that
covers it. - The goal in many tasks is for the regions to
represent some meaningful area. - Regions may also be defined as group of pixels
having both a border and a particular shape such
as a circle, ellipse or polygon.
3Image Segmentation (IS)
- Segmentation has two objectives
- The first is to decompose the image into parts
for further analysis. - The second is to perform a change in
representation.
4First Objective
- In simple cases, the environment might be well
enough controlled so that the segmentation
process reliably extracts only the parts that
needs to be analyzed. - In more complex cases, a great deal of domain
knowledge may be required. Such as extracting a
complete road network from a grayscale image.
5Second Objective
- The pixels of the image of the image must be
organized into higher-level units that are either
more meaningful or more efficient for further
analysis. - A crucial issue is the development of a bottom-up
approach that is domain independent (usually this
is very difficult).
6(No Transcript)
7Identifying Regions
- Regions of an IS should be uniform and
homogeneous with respect to some characteristic -
gray-level, color or texture. - Region interiors should be simple and without
many holes. - Adjacent regions of a segmentation should have
significantly different values with respect to
the characteristic on which they are uniform. - Boundaries of each segment should be smooth, not
ragged, and should be spatially accurate.
8Clustering Methods
- Clustering in Pattern Recognition is the process
of partitioning a set of pattern vectors into
subsets called clusters. - The general problem in clustering is to partition
a set of vectors having similar values. - For example, consider pattern vectors of two real
numbers. Then clustering could consist of finding
subsets of points that are close to each other
in Euclidean two-space.
9Classical Clustering Algorithms
- In image analysis, the vectors represent pixels
or sometimes small neighborhoods around pixels. - The components of these vectors could be
- Intensity values
- RGB values and color properties derived from them
- Calculated properties
- Texture measurements.
- Any feature that can be associated with a pixel
can be used to group them.
10Iterative K-Means Clustering
11Iterative K-Means Clustering
- This algorithm is guaranteed to terminate, but it
may not find the global optimum. - Step 2 may be modified to partition the set of
vectors into K random clusters and then compute
their means. - Step 5 can be modified to stop after the
percentage of vectors that change clusters in a
given iteration is small.
12(No Transcript)
13Isodata Clustering
- Isodata clustering is another iterative algorithm
that uses a split-and-merge technique. - Assume that there are K clusters C1, C2, ,Ck
with means m1, m2,,mk and Sk be the covariance
matrix of cluster k.
14(No Transcript)
15Isodata clustering algorithm
16(No Transcript)
17Histogram-Based Method
- Intuitively Histograms represent regions of
common features gray-scale or color. - Finding valleys and segmenting based on peaks can
be a simple solution. - Finding valleys automatically is a non-trivial
problem. (Histogram mode seeking). - May need further processing using domain
knowledge.
18(No Transcript)
19(No Transcript)
20Ohlanders Recursive Algorithm
- Ohlander, Price and Reddy (1978) proposed a
recursive approach to the histogram-based
clustering. - The idea is to perform histogram mode seeking
first on the whole image and then on each of the
regions obtained from the resultant clusters,
until regions are obtained that cannot be
decomposed any further.
21(No Transcript)
22Region Growing
- Instead of partitioning the image, a region
grower begins at one position and attempts to
grow each region until the pixels being compared
are too dissimilar to the region to add them. - Usually, a statistical test is performed to
decide if it is the case.
23Haralicks region growing
- Assumes a region is a set of connected pixels
with the same population mean and variance. - Let R be a region of N pixels neighboring a pixel
with gray-level intensity y. - Let X and S2 be respectively the mean and the
variance of the region R. - The statistic T is computed as follows
24- If T is small then y is added to the region and
the new mean and variance updated. - If T is too high y is not likely to have risen
from the population of pixels in R. - To give a precise meaning to the notion of too
high a difference, we can use an a-level
statistical significance test. - The fraction a represents the probability that a
T statistic with N-1 degrees of freedom will
exceed tN-1(a). - If the observed T is larger than tN-1(a) then we
declare the difference to be significant.
25If the pixel y and segment really came from the
same population, the probability that the test
provides an incorrect answer is a . a is a user
specified parameter. tN-1(a) is higher for small
degrees of freedom and lower for larger degrees
of freedom.
26Representing Regions
- Each algorithm that produces a set of image
regions has to have a way to store them. - Some of the methods are -
- Overlays on the original image
- Labeled images
- Boundary encoding
- Quad-tree structures
- Property tables
27Overlays
- An overlay is a method of showing the regions
computed from an image by overlaying some color
or colors on top of the original image. - To show region segmentation, one could convert
the pixels of the region borders to white and
display the transformed gray-tone image.
Sometimes more than one-pixel width borders are
used.
28(No Transcript)
29Labeled Images
- Labeled images are good intermediate
representation for regions that can also be used
in further processing. - The idea is to assign each detected region a
unique identifier (an integer) and create image
where all the pixels of a region will have a
unique identifier as pixel.
30(No Transcript)
31Boundary Coding
- Regions can also be represented by their
boundaries in a data structure instead of an
image. - The simplest form is just a linear list of border
pixels. - A variation of the list of points is the Freeman
chain code, which codes the information from the
list of points at any desired quantization and
uses less space than the original point list.
32(No Transcript)
33Quadtrees
- An image is broken into regions.
- Each region of interest would be represented by a
quadtree structure. - Each node of a quadtree represents a square
region in the image and can one of three labels
full, empty or mixed. - If the region is labeled full then every pixel in
the region is of interest. - Only mixed regions have children.
34(No Transcript)
35Property Tables
- Sometimes we want to represent a region by its
extracted properties rather than by its pixels.
This is called a property table. - It is a table in a relational database sense that
has a row for each region in the image and a
column for each property of interest. - Properties can be size, shape, intensity, color
or texture of the region. Area, ratio of
minor-to-major axis of the best-fitting ellipse,
two main colors and more texture measures can all
be used.
36Identifying Contours
- Tracking Existing Region Boundaries
- Once regions have been segmented, the border
pixels for each region can be extracted. - The border will be a set of pixels that envelopes
a region. - The algorithm is quite straight forward.
- Single pass would do.
37(No Transcript)
38(No Transcript)
39(No Transcript)
40The Canny Edge Detector
41The Canny Edge Detector
- The Canny ED is very useful for finding contours.
- It takes as an input s which is used to apply a
Gaussian filter on the image as the first step. - Gradient magnitude and direction are found on the
smoothed image. - Gradient direction is used to thin edges by
suppressing any pixel response that is not higher
than the two neighboring pixels on either side of
the direction. This is called non-maximal
suppression.
42- The 2 8-neighbors of a pixel that are to be
compared are found by rounding off the computed
gradient to yield one pixel on either side of the
center pixel. - Once the gradient magnitudes are thinned. High
magnitude contours are tracked. - In the final stage continuous contour segments
are sequentially followed. - Contour following is initiated only on edge
pixels where gradient magnitude meets a high
threshold however once started a contour may be
followed through pixels whose gradient magnitude
are lower than the threshold.
43(No Transcript)
44(No Transcript)
45(No Transcript)
46