電腦視覺
Computer and Robot Vision I
Chapter2: Binary Machine Vision:
Thresholding and Segmentation
Instructor: Shih-Shinh Huang
1
Contents
Introduction
Thresholding
Connected Components Labeling
Signature Segmentation and Analysis
2
Computer and Robot Vision I
Introduction
2.1 Introduction
3
2.1 Introduction
Binary Machine Vision
Binary Image
Binary Value 1: Part of Object
Binary Value 0: Background Pixel
Definition of Binary Machine Vision
Generation and analysis of such a binary image
4
2.1 Introduction
Binary Machine Vision
Thresholding
It is the first step of binary machine vision
It is a labeling operation
Connected Components / Signature Analysis
They are multilevel vision grouping techniques.
They make a transformation from image pixels to
more complex units.
• Regions
• Segments
5
Computer and Robot Vision I
Introduction
2.2 Thresholding
6
2.2 Thresholding
Introduction
What is Thresholding ?
It is a labeling operation.
It assigns a binary value to each pixel.
• Binary Value 1: pixels have higher intensity values
• Binary Value 0: pixels have higher intensity values
128
T
7
2.2 Thresholding
Introduction
Mathematical Formulation
1 if
B(r , c)
0 if
I (r , c) T
I (r , c) T
( r , c ) : row and column
I (.,.) : gray-level intensity image
T
: intensity threshold
B (.,.) : binary intensity image
8
2.2 Thresholding
Introduction
T 5
I (.,.)
B (.,.)
How to select an appropriate threshold ?
9
2.2 Thresholding
Introduction
Approaches
Global Thresholding: use a global value to make the pixel
distinction in the image.
Local Thresholding: use spatial varying threshold to label
the local pixels.
T1
T2
T3
T4
T
Image
Image
10
2.2 Thresholding
Histogram
Definition of Histogram h(.)
h(m) #{( r , c) | I (r , c) m}
number of elements
m spans each gray level value
e.g. 0 - 255
Histogram Probability P( I ) : I 0,1,...,255
h( I )
P( I )
RC
11
2.2 Thresholding
Histogram
Examples
h(m)
h(m)
12
2.2 Thresholding
Histogram
h(m)
13
2.2 Thresholding
Histogram
T=110
T=130
14
T=150
T=170
2.2 Thresholding
Within-Group Variance
Observations
A group is a set of pixels with intensity homogeneity.
Homogeneity is measured by the use of variance
• High homogeneity group has low variance
• Low homogeneity group has high variance
Objective
Select a dividing score such that the weighted sum
of the within-group variances is minimized.
15
2.2 Thresholding
Within-Group Variance
Definition: weighted sum of group variances
W2 (t ) q1 (t ) 12 (t ) q2 (t ) 22 (t )
q1( t ) : probability for the group with values t
q2 ( t ) : probability for the group with values t
(t ) : variance for the group with values t
2
1
2 (t ) : variance for the group with values t
2
16
2.2 Thresholding
Within-Group Variance
Objective Formulation
Find a threshold t
*
2
which minimizes W (t )
t * arg min W2 (t )
t
q1 (t ) P(i )
i 1
q2 (t )
I
P(i)
i t 1
t
1 (t ) iP (i ) / q1 (t )
i 1
2 (t )
I
iP (i) / q2 (t )
i t 1
17
t
(t ) [i 1 (t )]2 P(i ) / q1 (t )
2
1
(t )
2
2
i 1
I
[i (t )]
i t i
2
2
P(i ) / q2 (t )
2.2 Thresholding
Within-Group Variance
Implementation Issue
Step1: For t=0,…,255
2
2
Step2: Compute q1( t ) ,q2 (t ) , 1 (t ) , and 2 (t )
2
Step3: Compute W (t )
W2 (t ) q1 (t ) 12 (t ) q2 (t ) 22 (t )
2
Step4: If W (t ) is less than the value in the
previous iteration
t t
*
All variables should be re-compute at each iteration.
18
2.2 Thresholding
Within-Group Variance
Implementation Issue
Speed-Up Formulation
I
(i ) P(i )
2
2
i 1
T
iP (i )
i 1
t
T
(i 1 (t ) 1 (t ) ) P(i ) (i 2 (t ) 2 (t ) ) 2 P(i )
2
2
i 1
i t 1
(i 1 (t )) 2 2(i 1 (t ))( 1 (t ) ) ( 1 (t ) ) 2 P(i ) .......
t
2
i 1
19
2.2 Thresholding
Within-Group Variance
t
(i (t ))( (t ) ) P(i) 0
Implementation Issue
1
i 1
Speed-Up Formulation
1
(i 1 (t )) 2 2(i 1 (t ))( 1 (t ) ) ( 1 (t ) ) 2 P(i ) .......
t
2
i 1
2 (i 1 (t )) 2 ( 1 (t ) ) 2 P(i )
t
i 1
t
(i 2 (t )) 2 ( 2 (t ) ) 2 P(i )
i 1
20
2.2 Thresholding
Within-Group Variance
Implementation Issue
Speed-Up Formulation
t
(i 1 (t )) 2 P(i ) [1 (t ) ]2 q1 (t )
2
i 1
I
2
2
(
i
(
t
))
P
(
i
)
[
(
t
)
]
q2 (t )
2
2
i t 1
2 q1 (t ) 12 (t ) q2 (t ) 22 (t )
q1 (t )[ 1 (t ) ]2 q2 (t )[ 2 (t ) ]2
21
2.2 Thresholding
Within-Group Variance
Implementation Issue
Speed-Up Formulation
q1 (t ) (t ) q2 (t ) (t )
2
2
1
2
2
q1 (t )1 (t ) q2 (t )2 (t )
q1 (t )[ 1 (t ) ]2 q2 (t )[ 2 (t ) ]2
2 w2 q1 (t )[ 1 (t ) ]2 q2 (t )[ 1 (t ) ]2
2 w2 q1 (t )[1 q1 (t )][ 1 (t ) 2 (t )]
22
2.2 Thresholding
Within-Group Variance
Implementation Issue
Speed-Up Formulation
2 w2 q1 (t )[1 q1 (t )][ 1 (t ) 2 (t )]
constant
minimize
maximize
t * arg max q1 (t )[1 q1 (t )][ 1 (t ) 2 (t )]
23
2.2 Thresholding
Within-Group Variance
Implementation Issue
Speed-Up Formulation
t * arg max q1 (t )[1 q1 (t )][ 1 (t ) 2 (t )]
• We have recursive form to compute optimal threshold.
q1 (t 1) q1 (t ) P(t 1)
q1 (t ) 1 (t ) (t 1) P(t 1)
1 (t 1)
q1 (t 1)
24
2.2 Thresholding
Within-Group Variance
Example
25
2.2 Thresholding
Kullback Information Distance
Assumption
The observations come from a weighted mixture of
two Gaussians distributions.
• Gaussian Distribution of Background
• Gaussian Distribution of Object
q1
f (i )
e
1 2
1 i 1 2
(
)
2 1
(u1 , 12 )
(u2 , )
2
2
q2
e
2 2
26
1 i 2 2
(
)
2 2
2.2 Thresholding
Kullback Information Distance
(u1 , 12 )
(u2 , 22 )
Background
Gaussian Distribution
Object
Gaussian Distribution
27
2.2 Thresholding
Kullback Information Distance
Objective Formulation
Determine a threshold T that results in two Gaussian
distributions which minimize Kullback divergence
I
P (i )
J P (i ) log[
]
f (i )
i 1
• P(I) : observed histogram distribution
• f(I) : a mixture of Gaussian distributions determined by T
q1
f (i)
e
1 2
1 i 1 2
(
)
2 1
28
q2
e
2 2
1 i 2 2
(
)
2 2
2.2 Thresholding
Kullback Information Distance
Objective Formulation
Known Parameter: Observed Histogram P (.)
P(1), P(2),...P( I )
Unknown Parameter: Two Gaussian Distributions
(q1 , 1 , 1 ), (q2 , 2 , 2 )
q1
f (i)
e
1 2
1 i 1 2
(
)
2 1
q2
e
2 2
29
1 i 2 2
(
)
2 2
2.2 Thresholding
Kullback Information Distance
Solution Derivation
I
P (i )
J P (i ) log[
]
f (i )
i 1
I
P (i )log P (i ) log f (i )
i 1
I
I
i 1
i 1
P(i ) log P(i ) P (i ) log f (i )
Constant
30
2.2 Thresholding
Kullback Information Distance
Solution Derivation
I
I
P(i )
arg min P(i ) log[
] arg min P(i ) log f (i )
f (i )
i 1
i 1
Assumption: The modes are well separated.
1 i 1 2
(
)
q1
2 1
e
1 2
f (i )
1 i 2 2
(
)
q2
2 2
e
2 2
31
it
it
2.2 Thresholding
Kullback Information Distance
Solution Derivation
I
H (t ) P(i ) log f (i )
i 1
t
q1
H (t ) P(i )
e
1 2
i 1
1 i 1 2
(
)
2 1
I
q2
P(i )
e
2 2
i t 1
1 log 2
H (t )
q1 log q1 q2 log q2
2
1
q1 log 1 q2 log 2
2
32
1 i 2 2
(
)
2 2
2.2 Thresholding
Kullback Information Distance
Implementation Issue
Step1: For t=0,…,255
2
2
Step2: Compute q1( t ) ,q2 (t ) , 1 (t ) , and 2 (t )
Step3: Compute H (t )
I
H (t ) P(i ) log f (i )
i 1
Step4: If H (t ) is less than the value in the
previous iteration
t t
*
33
2.2 Thresholding
Kullback Information Distance
Example
34
2.2 Thresholding
Kullback Information Distance
Within Group Variance
(Otsu)
Kullback Information
(Kittler-Illingworth)
35
Computer and Robot Vision I
Introduction
2.3 Connected Component
Labeling
36
2.3 Connected Component Labeling
Introduction
Description
Connected Components labeling is a grouping
operation.
It performs the unit change from pixel to region or
segment.
All pixels are given the same identifier
• Have value binary 1
• Connect to each other
37
2.3 Connected Component Labeling
Introduction
Terminology
label: unique name or index of the region
connected components labeling: a grouping
operation
pixel property: position, gray level or brightness
level
region property: shape, bounding box, position,
intensity statistics
38
2.3 Connected Component Labeling
Connected Component Operators
Definition of Connected Component
Two pixels p and q belong to the same
connected component C if there is a sequence of
1-pixels ( p0 , p1 ,... pn ) , where
•
p0 p
•
pn q
•
pi 1 , pi : i 1,..., n
are neighbor
39
2.3 Connected Component Labeling
Connected Component Operators
Neighborhood Types
4-connected
Original Image
8-connected
40
Connected
Components
2.3 Connected Component Labeling
Connected Component Algorithms
Common Features
Process a row of image at a time
Assign a new labels to the first pixel of each
component.
Propagate the label of a pixel to its neighbors to
the right or below it.
41
2.3 Connected Component Labeling
Connected Component Algorithms
Common Features
• What label should be assigned to A
• How does the algorithm keep track of the equivalence
of two labels
• How does the algorithm use the equivalence information
to complete the processing
42
2.3 Connected Component Labeling
Algorithm1: Iterative Algorithm
Algorithm Steps
Step1 (Initialization): Assign an unique label to
each pixel.
Step2 (Iteration) : Perform a sequence of topdown and bottom-up label propagation.
• Use no auxiliary storage
• Computational Expensive
43
2.3 Connected Component Labeling
Algorithm2: Classic Algorithm
Two-Pass Algorithm
Pass 1:
• Perform label assignment and label propagation
• Construct the equivalence relations between labels when
two different labels propagate to the same pixel.
• Apply resolve function to find the transitive closure of all
equivalence relations.
Pass 2:
• Perform label translation.
44
2.3 Connected Component Labeling
Algorithm2: Classic Algorithm
Example:
{2=4}
{3=5}
{1=5}
45
2.3 Connected Component Labeling
Algorithm2: Classic Algorithm
Example:
Resolve Function
{2=4} {3=5}
{1=5}
{2=4} {1=3=5}
•Computational Efficiency
•Need a lot of space to store equivalence
46
Computer and Robot Vision I
Introduction
2.4 Signature Segmentation
and Analysis
47
2.4 Signature Segmentation and Analysis
Introduction
Description
Signature analysis perform unit
change from the pixel to the segment.
It was firstly used in character
recognition
Definition of Signature
The signature, which is a projection,
is the histogram of the non-zero pixels
of the masked image.
48
2.4 Signature Segmentation and Analysis
Introduction
General Signatures
Vertical Projection
Horizontal Projection
Diagonal Projection
h(r ) #{( x, y ) | ( x, y ) 1, x r}
v(r ) #{( x, y ) | ( x, y ) 1, y c}
49
2.4 Signature Segmentation and Analysis
Signature Segmentation
Steps
Thresholding: generate the binary image.
Projection Computation: compute the vertical,
horizontal, or diagonal projections.
Projection Segmentation: divide the image into
several segments or regions according to the
signatures.
50
2.4 Signature Segmentation and Analysis
Signature Segmentation
51
2.4 Signature Segmentation and Analysis
Signature Segmentation
52
2.4 Signature Segmentation and Analysis
Signature Segmentation
OCR: Optical Character Recognition
MICR: Magnetic Ink Character Recognition
53
Computer and Robot Vision I
The End
© Copyright 2026 Paperzz