Image Segmentation
1
Image Segmentation
• Segmentation is the process of partitioning an
image into regions
• region: group of connected pixels with similar properties
• properties: gray levels, colors, textures, motion
characteristics (motion vectors), edge continuity …
• There are two approaches to segmentation
• region segmentation
• edge segmentation
2
Edges and Regions
• In ideal images, a region is bounded by a closed contour
• the close contours may be obtained from the regions by edge detection
• the regions may be obtained from the closed contours by boundary-filling
• In real images, it is rare to obtain regions from contours directly and
vice versa
3
Regions and Objects
• Regions are important for the interpretation of
images because they may correspond to objects in a
scene
• An image may contain several objects and each
object may contain several regions corresponding to
different parts of an object
• Due to a number of factors (noise, bad illumination,
3D world etc.) segmentation is usually not perfect
• Image Interpretation requires object specific
knowledge
4
• Image with many objects
• Each object consists of several regions
5
Region Segmentation
• Region Segmentation: the pixels of the same object are grouped
together and are marked to indicate that they form a region
• Criteria for region segmentation: pixels may be assigned to the same
region if they have similar intensity values and they are close to one
another
6
Edge Segmentation
• Find all pixels on region boundaries
• Canny Operator
• apply Gaussian smoothing
• apply edge detection
• remove false edges (e.g., noise)
• thin the edge boundary is 1 pixel wide
• fill the gaps recover missing edges
• put boundary pixels in order all pixels in a list
• Ideally closed boundaries
7
Edge Following
• There may exist gaps and noisy edges in the output
of Canny
• Fill gaps and follow the edge in many directions
• there may exist more than one regions meeting each
other
• not all directions are promising
• continuity
• proximity
• intensity
• length
• direction
8
Edge Following as a Graph Traversal
Problem
9
Graph Traversal
• Edge following on a graph can be viewed as a
minimization (or maximization) problem
• the most promising path is the one which maximizes a
function Φ(i,j)
• promising paths correspond to strong edges
• Graph search can be hard combinatorial
Can become very slow
• Dynamic Programming (DP)
• Heuristics
10
Criterion Φ(C)
• The edge C with maximum Φ is the most promising
• Φ(C) = Σφ(i,j) over all points on a curve
• Σφ(i,j) = average{intensity} - average{angle}
• takes averages over all points on a path
• In places where the curve splits into 2 or more
directions (paths), follow the direction with the
maximum φ
• this situation changes after a while and may be necessary
to backtrack to an earlier point
11
edges first path second path
directions
5 5 5
5 5 5
7 4 7 4
φ=14/3-π/(4*3)
3 5 3 φ=17/3-0 6
1 6 1 promising 7 promising
at 7 at 6
1 6 1 6
φ=22/6-0 φ=33/6-
6 6 2*π/(4*6)
12
Using the maximum cost Φ criterion to find the cell boundaries
in microscope images
a. a stage in the search process
b. the completed boundary
13
Region Segmentation
• Analyze the grey value
distribution (histogram) of
the image
• assumption: objects are dark
against a light background
• their grey-value distributions
can be separated putting
thresholds between them
• convert a grey-level image
into a binary one by applying
carefully selected thresholds
14
Many Regions
• One threshold two regions
• black pixels: object
• white pixels: background
• More than two thresholds more than two regions with
different intensity values
15
(1) Peakiness Detection Algorithm
1. Find the two highest local maxima gi, gj in the
histogram that are at least at distance d apart
d is user defined
2. Find the lowest point gk in the histogram between gi
and gj
3. Peakiness = min{H(gi),H(gj)}/H(gk)
4. Take the combination (gi,gj,gk) with the highest
peakiness
5. Threshold the image at T=gk
6. N thresholds: take the N greater peakinesses (Ti=gki)
16
(2) Iterative Algorithm
1. Compute a threshold T
T: mean gray value of image
2. Partition the image into R1, R2 using T
3. Compute the mean values μ1,μ2 of R1,R2
4. Select a new threshold T=1/2(μ1+μ2)
5. Repeat steps 2-4 until μ1, μ2 do not change
17
(3) Adaptive Thresholding
• The same threshold is not usable everywhere in the
image
•e.g., uneven illumination
1.Partition the image into mxm subimages
2.Select a threshold Tij for each subimage
apply 1st or 2nd threshold selection algorithm
3.Compute the union of the thresholded subimages
18
a. original image with
uniform illumination
b. histogram of a
c. simulated uneven
illumination
d. image a with uneven
illumination added
e. histogram of image d
f. thresholding at T=72
failed!!
19
(4) Double Thresholding
1. Select threshold T1 (apply 1st or 2nd algorithm)
2. Set T2 = T1 + ε (ε is user defined)
3. Compute regions R1, R2, R3:
a. R1: pixels with gray values less than T1
b. R2: pixels with gray values between T1 and T2
c. R3: pixels with gray values above T2
4. Visit each pixel of R2: if the pixel has a neighbor
in R1, reassign it to R1
5. Repeat step 4 until no pixels of R2 are reassigned
6. Reassign all pixels remaining in R2 to R3
20