7.1 Introduction
conditioning: noise removal, background normalization, ...
labeling: thresholding, edge detection, corner finding, ...
7.2 Noise Cleaning
noise cleaning: uses neighborhood spatial coherence
noise cleaning: uses neighborhood pixel value homogeneity
box filter: computes equally weighted average
box filter: separable
box filter: recursive implementation with two +, two -, one / per pixel
=====Fig. 7.2=====
Gaussian filter: linear smoother
7.2.1 A Statistical Framework for Noise Removal
idealization: if no noise, each neighborhood the same constant
7.2.2 Determining Optimal Weight from Isotropic Covariance Matrices
7.2.3 Outlier or Peak Noise
outlier: peak noise: pixel value replaced by random noise value
neighborhood size: larger than noise, smaller than preserved detail
center-deleted neighborhood: pixel values in neighborhood except center
5#5: center-deleted neighborhood
47#47: center pixel value
6#6: mean of center-deleted neighborhood
10#10: center-deleted neighborhood variance
smooth replacement: instead of complete replacement or not at all
14#14: convex combination of input and mean
15#15: weighting parameter
7.2.4 19#19-Nearest Neighbor
19#19-nearest neighbor average: equally weighted average of 19#19-nearest neighbors
7.2.5 Gradient Inverse Weighted
gradient inverse weighted: reduces sum-of-squares error within regions
7.2.6 Order Statistic Neighborhood Operators
order statistic: linear combination of neighborhood sorted values
5#5: neighborhood pixel values
20#20: sorted neighborhood values from smallest to largest
Median Operator
median: most common order statistic operator
median root: fixed-point result of a median filter
median roots: comprise only constant-valued neighborhoods, sloped edges
median: effective for impulsive noise
median: distorts or loses fine detail such as thin lines
22#22: interquartile distance
Trimmed-Mean Operator
trimmed-mean: first 19#19 and last 19#19 order statistics not used
trimmed-mean: equal weighted average of central 24#24 order statistics
Midrange
midrange: noise distribution with light and smooth tails
7.2.7 A Decision Theoretic Approach to Estimating Mean
=====New 3:12=====
7.2.8 Hysteresis Smoothing
hysteresis smoothing: removes minor fluctuations, preserves major transients
hysteresis smoothing: finite state machine with two states: UP, DOWN
hysteresis smoothing: applied row-by-row and then column-by-column
if state DOWN and next one larger, if next local maximum does not exceed
threshold then stays current value i.e. small peak cuts flat
otherwise state changes from DOWN to UP and preserves major transients
if state UP and next one smaller, if next local minimum does not exceed
threshold then stays current value i.e. small valley filled flat
otherwise state changes from UP to DOWN and preserves major transients
=====Fig. 7.9=====
7.2.9 Sigma Filter
sigma filter: average only with values within two-sigma interval
7.2.10 Selected-Neighborhood Averaging
selected-neighborhood averaging: assumes pixel a part of homogeneous region
noise-filtered value: mean value from lowest variance neighborhood
7.2.11 Minimum Mean Square Noise Smoothing
minimum mean square noise smoothing: additive or multiplicative noise
each pixel in true image: regarded as a random variable
7.2.12 Noise-Removal Techniques-Experiments
=====Fig. 7.10=====
types of noise
7.3 Sharpening
unsharp masking: subtract fraction of neighborhood mean and scale result
7.3.1 Extremum Sharpening
extremum-sharpening: output closer of neighborhood maximum or minimum
7.4 Edge Detection
digital edge: boundary where brightness values significantly different
edge: brightness value appears to jump
The Archer, working model, by Henry Moore, 1964
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.1=====
profiles of various types of image-intensity edges
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.2=====
physical events in a scene that may lead to intensity edges
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.3=====
7.4.1 Gradient Edge Detectors
Roberts operators: two 56#56 masks to calculate gradient
=====Fig. 7.21=====
gradient magnitude:
57#57
where 58#58 are values from first, second masks respectively
Prewitt edge detector: two 11#11 masks in row, column direction
=====Fig. 7.22=====
gradient magnitude:
59#59
gradient direction:
60#60 clockwise w.r.t. column axis
where 61#61 are values from first, second masks respectively
Sobel edge detector: two 11#11 masks in row, column direction
=====Fig. 7.23=====
gradient magnitude:
62#62
gradient direction:
63#63 clockwise w.r.t. column axis
where 64#64 are values from first, second masks respectively
Sobel edge detector: 56#56 smoothing followed by 56#56 gradient
Frei and Chen edge detector: two in a set of nine orthogonal masks
(11#11)
=====Fig. 7.24=====
gradient magnitude:
67#67
gradient direction:
68#68 clockwise w.r.t. column axis
where 69#69 are values from first, second masks respectively
Kirsch: set of eight compass template edge masks
=====Fig. 7.25=====
gradient magnitude
Robinson: compass template mask set with only
72#72
=====Fig. 7.26=====
done by only four masks: since negation of each mask is also a mask
gradient magnitude and direction same as Kirsch operator
Nevatia and Babu: set of six 12#12 compass template masks
=====Fig. 7.27=====
Robinson and Kirsch compass operator: detect lineal edges
=====Fig. 7.28=====
edge contour direction: along edge, right side bright, left side dark
edge contour direction: 73#73 more than gradient direction
four important properties an edge operator might have
gradient direction: used for edge organization, selection, linking
=====Fig. 7.31=====
7.4.2 Zero-Crossing Edge Detectors
first derivative maximum: exactly where second derivative zero crossing
=====D. Marr, Vision, Fig. 2.8=====
Laplacian of a function 33#33
A pixel is declared to have a zero crossing if it is less than 76#76 and one of
its eight neighbors is greater than 41#41, or if it is greater than 41#41 and one
of its eight neighbors is less than 76#76, for some fixed threshold 41#41
=====Fig. 7.38=====
=====D. Marr, Vision, Fig. 2.12=====
=====D. Marr, Vision, Fig. 2.13=====
=====D. Marr, Vision, Fig. 2.14=====
7.4.3 Edge Operator Performance
edge detector performance characteristics: misdetection/false-alarm rate
the Canny edge operator applied to a parts image
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.8=====
edges at two different scales detected by the Canny operator
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.9=====
the Nalwa-Binford and Marr-Hildreth edge operators
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.16=====
improvement of the resolution of an edge detector by image interpolation
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.17=====
edgel aggregation and edge description
=====Nalwa, A Guided Tour of Computer Vision, Fig. 3.18=====
7.5 Line Detection
A line segment on an image can be characterized as an elongated rectangular
region having a homogeneous gray level bounded on both its longer sides by
homogeneous regions of a different gray level
one-pixel-wide lines can be detected by compass line detectors
=====Fig. 7.39=====
semilinear line detector by step edge on either side of the line
=====Fig. 7.40=====
detecting lines of one to three pixels in width
=====Fig. 7.41=====
=====joke=====