Binary Image Analysis - PowerPoint PPT Presentation

About This Presentation
Title:

Binary Image Analysis

Description:

Binary Image Analysis Thresholding Convolution Morphology http://www.mmorph.com/mxmorph 4. Region Properties 5. Edge Properties * – PowerPoint PPT presentation

Number of Views:189
Avg rating:3.0/5.0
Slides: 53
Provided by: LindaS210
Category:

less

Transcript and Presenter's Notes

Title: Binary Image Analysis


1
Binary Image Analysis
  • Thresholding
  • Convolution
  • Morphology
  • http//www.mmorph.com/mxmorph
  • 4. Region Properties
  • 5. Edge Properties

2
1. Region Properties2. Edge properties
3
Region Properties
4
(No Transcript)
5
(No Transcript)
6
(No Transcript)
7
Object Counting
  • How many objects are there in an image?

8
Define external and Internal Corners
  • Slide the masks over image and find
    external_match (L,P) and
  • internal_match (L,P)

9
Object Counting
10
Document analysis
  • How many letters , words, paragraphs
  • in a page?

11
Connected Components Labeling
Once you have a binary image, you can identify
and then analyze each connected set of
pixels. The connected components operation takes
in a binary image and produces a labeled image
in which each pixel has the integer label of
either the background (0) or a component.
connected components
binary image after morphology
12
Methods for CC Analysis
  1. Recursive Tracking
  2. Parallel Growing (needs parallel hardware)
  3. Row-by-Row

13
(No Transcript)
14
Recursive Labeling
15
(No Transcript)
16
Row-by-row labeling algorithm
  • First pass Propagate a pixels label to its
    neighbors to the right and below it. Whenever
    two different labels can propagate to the same
    pixel, these labels are recorded as an
    equivalence class.
  • Second pass Perform a translation, assigning to
    each pixel the label of its equivalence class.
  • A union-find data structure is used for
    efficient construction and manipulation of
    equivalencenclasses represented by tree
    structures.

17
Equivalent Labels
Original Binary Image
0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 1 1 1
1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1
1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1
1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1
1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
18
Equivalent Labels
The Labeling Process
0 0 0 1 1 1 0 0 0 0 2 2 2 2 0 0 0 0 3 0 0 0 1 1 1
1 0 0 0 2 2 2 2 0 0 0 3 3 0 0 0 1 1 1 1 1 0 0 2 2
2 2 0 0 3 3 3 0 0 0 1 1 1 1 1 1 0 2 2 2 2 0 0 3 3
3 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 3 3 3 0 0 0 1 1
1 1 1 1 1 1 1 1 1 0 0 3 3 3 0 0 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
1 ? 2 1 ? 3
19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
(No Transcript)
23
Run-Length Data Structure
0 1 2 3 4
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 2 3 4
row scol ecol label
Binary Image
U N U S E D 0 0 0 1 0 0 3 4 0 1 0 1 0 1
4 4 0 2 0 2 0 2 4 4 0 4 1 4 0
0 1 2 3 4 5 6 7
Rstart Rend
  • 2
  • 4
  • 6
  • 0 0
  • 7 7

0 1 2 3 4
Row Index
Runs
24
Run-Length Algorithm
Procedure run_length_classical initialize
Run-Length and Union-Find data structures
count lt- 0 / Pass 1 (by rows) / for each
current row and its previous row
move pointer P along the runs of current row
move pointer Q along the runs of previous row
25
Case 1 No Overlap
Q
Q
///// /////
////
/// /// /////
P
P
/ new label / count lt- count 1 label(P) lt-
count P lt- P 1
/ check Qs next run / Q lt- Q 1
26
Case 2 Overlap
Subcase 2 Ps run has a label that is different
from Qs run
Subcase 1 Ps run has no label yet
Q
Q
/////// ///// /////////////
/////// ///// /////////////
P
P
label(P) lt- label(Q) move pointer(s)
union(label(P),label(Q)) move pointer(s)

27
Pass 2 (by runs)
/ Relabel each run with the name of the
equivalence class of its label / For each run M
label(M) lt- find(label(M))
where union and find refer to the operations of
the Union-Find data structure, which keeps track
of sets of equivalent labels.
28
Thresholding and connected compmonent labeling
connected components of 1s from thresholded image
Gray level Image
Binary Image
29
Region Properties-Features
Properties of the regions can be used to
recognize objects.
  • geometric properties
  • gray-tone properties
  • color properties
  • texture properties
  • shape properties
  • motion properties
  • relationship properties

30
Geometric and Shape Properties
  • area
  • centroid
  • perimeter
  • perimeter length
  • circularity 1

31
Distances
32
Moments
33
Bounding Box and Extremal points

34
ExEllipse, square, rectangle
35
Labeling shown as Pseudo-Color
connected components of 1s from thresholded image
connected components of cluster labels
36
Region Adjacency Graph
A region adjacency graph (RAG) is a graph in
which each node represents a region of the image
and an edge connects two nodes if the regions are
adjacent.
1
1
2
2
3
4
4
3
37
2. Edge Operators
  • a kind of filtering that leads to useful features

38
Lines and ArcsSegmentation
In some image sets, lines, curves, and circular
arcs are more useful than regions or helpful in
addition to regions.
  • Lines and arcs are often used in
  • object recognition
  • stereo matching
  • document analysis

39
Edge Detection
Basic idea look for a neighborhood with strong
signs of change.
81 82 26 24 82 33 25 25 81 82 26
24
  • Problems
  • neighborhood size
  • how to detect change

40
Differential Operators
  • Differential operators
  • attempt to approximate the gradient at a pixel
    via masks
  • threshold the gradient to select the edge pixels

41
Example Sobel Operator
-1 0 1
1 2 1 Sx -2 0 2
Sy 0 0 0 -1 0 1
-1 -2 -1
  • On a pixel of the image I
  • let gx be the response to Sx
  • let gy be the response to Sy

Then the gradient is ?I gx gy
T
2
2
1/2
And g (gx gy ) is the
gradient magnitude. ? atan2(gy,gx)
is the gradient direction.
42
Sobel Operator on the Blocks Image
original image gradient
thresholded
magnitude gradient

magnitude
43
Common Masks for Computing Gradient
  • Sobel
  • Prewitt
  • Roberts

-1 0 1 -2 0 2 -1 0 1
  • 2 1
  • 0 0 0
  • -1 -2 -1

-1 0 1 -1 0 1 -1 0 1
  • 1 1
  • 0 0 0
  • -1 -1 -1

0 1 -1 0
  • 0
  • 0 -1

Sx
Sy
44
Zero Crossing Operators
Motivation The zero crossings of the second
derivative of the image
function are more precise than
the peaks of the first derivative.
step edge
smoothed
1st derivative
zero crossing
2nd derivative
45
How do we estimate the Second Derivative?
  • Laplacian Filter ? f ? f / ?x ? f / ?y

2
2
2
2
2
0 1 0 1 -4 1 0 1 0
  • Standard mask implementation
  • Derivation In 1D, the first derivative
  • can be computed with mask -1 0 1
  • The 1D second derivative is 1 -2 1
  • The Laplacian mask estimates the
  • 2D second derivative.

46
Properties of Derivative Masks
  • Coordinates of derivative masks have opposite
    signs in order to obtain a high response in
    regions of high contrast.
  • The sum of coordinates of derivative masks is
    zero, so that a zero response is obtained on
    constant regions.
  • First derivative masks produce high absolute
    values at points of high contrast.
  • Second derivative masks produce zero-crossings at
    points of high contrast.

47
Marr/Hildreth Operator
  • First smooth the image via a Gaussian
    convolution.
  • Apply a Laplacian filter (estimate 2nd
    derivative).
  • Find zero crossings of the Laplacian of the
    Gaussian.
  • This can be done at multiple resolutions.

48
Haralick Operator
  • Fit the gray-tone intensity surface to a
    piecewise
  • cubic polynomial approximation.
  • Use the approximation to find zero crossings of
    the
  • second directional derivative in the direction
    that
  • maximizes the first directional derivative.
  • The derivatives here are calculated from direct
  • mathematical expressions wrt the cubic polynomial.

49
Canny Edge Detector
  • Smooth the image with a Gaussian filter with
    spread ?.
  • Compute gradient magnitude and direction at each
    pixel of
  • the smoothed image.
  • Zero out any pixel response ? the two
    neighboring pixels
  • on either side of it, along the direction of
    the gradient.
  • Track high-magnitude contours.
  • Keep only pixels along these contours, so weak
    little
  • segments go away.

50
Canny Examples
Canny ?4
Canny ?1
Canny ?1
Roberts 2X2
51
Canny on Kidney
52
Canny Characteristics
  • The Canny operator gives single-pixel-wide images
    with good continuation between adjacent pixels
  • It is the most widely used edge operator today
    no one has done better since it came out in the
    late 80s. Many implementations are available.
  • It is very sensitive to its parameters, which
    need to be adjusted for different application
    domains.
Write a Comment
User Comments (0)
About PowerShow.com