Transcript Slide 1
Lecture 4:
Edge Based Vision
Dr Carole Twining
Thursday 18th March
2:00pm – 2:50pm
Slide 2
Overview:
● Marr’s Theory of Vision
why edges matter
● Edges and Derivatives
convolution and filters
● Edges and Scale
physical edges persist across scales
● Edge Detection
Problem with noise, and accurate edge location
● Edge growing
Thresholding with hysteresis
Edge relaxation
● Hough Transform
Finding lines
Slide 3
Marr’s Theory of Vision:
Edges in images correspond to physical events:
edge of object, change in colour, change of surface orientation
Blobs,
curves,
ends, bars,
boundaries
2.5D
Sketch
Local
surface
orientation,
step
changes in
depth and
orientation
Model Matching
Features
such as
edges,
corners
Full Primal
Sketch
Surface Extraction
Raw
Primal
Sketch
Grouping
Perceived
intensities
retinal
image
Feature Detection
Input
Image
3D Model
Surface and
volumetric
primitives
● Agrees with pre-conceptions as to how vision might work
● Not proven possible to build a reliable system in this way
● Still influential
● Pragmatic approach: what do we need to do a specific task?
Edges and Derivatives
Slide 5
First-Derivative Edge Filters
● What is an edge?
● To detect: look at the slope
-1 0 1
-1 0 1
-1 0 1
Prewitt
-1 0 1
-2 0 2
-1 0 1
Sobel
-1 0 1
-2 0 2
-1 0 1
6
1 0
0 -1
Roberts
1
2
1
-1 0 1
5
?
?
-1 0 1
?
?
Decomposable:
Exterior product
Multiplies and adds
Slide 6
First Derivative Filters : Sobel
Image
Verticals
Horizontals
Edge Strength
Slide 7
Second-Derivative Edge Filters
● Laplacian: scalar operator
● Difference of Gaussian, Laplacian of
Gaussian: includes gaussian smoother
● False edges: every peak/trough of gradient
gives a zero-crossing, not just big peaks
zero crossing
-1 -1 -1
-1 8 -1
-1 -1 -1
Laplacian
● Doesn’t tell us the direction of the edge
(scalar operator)
● Tends to create closed loops of edges
(‘plate of spaghetti’ effect)
‘mexican hat’
Slide 8
Laplacian Filter
● Need to consider smoothing and noise
● Need to consider scale
● Need to consider edge detection
Zero
Crossings
-1 -1 -1
-1 8 -1
-1 -1 -1
Edges and Scale
Slide 10
Edges and Scale
XXX
● Edge filters enhance noise
X X
● What is a ‘real’ edge and what noise?
XXX
● Edges exist at many different scales
● What scales matter depends on application
● Sensible approach: use many different scales
Edges persist across scales, allows fusion across scales
● Gaussian gives scale & smoothing separable filter
Slide 11
Edges and Scale
Marr-Hildreth:
Canny:
● Convolve with gaussian
● Convolve with gaussian
● Take Laplacian
of result: ● Take gradient
of result
combine into single stage
LoG
● Edges at zero-crossings
● Edges move with scale if
curved
● No information on direction
● ‘Plate of spaghetti’ problem
● Find gradient direction:
● Create gaussian-smoothed
derivative tuned to this
direction
● Take another derivative in that
direction to find local
maximum, zero-crossing
● Stable across scales
‘mexican hat’
Slide 12
Marr-Hildreth vs Canny
● Both involve pre-smoothing with gaussian
● Both involve second-derivative BUT:
Marr-Hildreth:
Canny:
● No information on direction ● Create tuned derivative given
estimated gradient direction
● By adding second-derivative
in other direction, increases ● Only compute second
effect of noise
derivative in gradient direction
● Check that it really is local
maximum of edge strength in
that direction (see nonmaximum suppression)
Slide 13
Marr-Hildreth Edge Detection
movement of
curves
zero
crossings
white, all 3 scales
Slide 14
Marr-Hildreth Edge Detection
● Some edges not
well localized
● ‘Plate of spaghetti’
effects
Edge Detection
Slide 16
Edge Detection: First Derivatives
● Position of maximum can be difficult to locate:
second-derivative, zero crossing more precise
● Simple threshold:
thick edges, need to apply thinning
missed edges, streaking (see thresholding with hysteresis)
Slide 17
Edge Detection: Second Derivative
● Zero-crossing more precisely located than maximum
● Thresholding in Marr-Hildreth (LoG):
Doesn’t use directional information
● ‘Plate of spaghetti’:
+ve
-ve
continuity =>
closed loops or meets boundary
zero-crossing
● Noise, false edges, double response of LoG
● Thinning, edge growing & edge relaxation
incorporate neighbourhood information
Slide 18
Non-Maximum Suppression
● Start from edge-strength signal g
● Locate possible edge point
● Identify gradient direction
● Interpolate g at and
● P is local maximum provided:
g(
) > g(
) & g(
) > g(
)
● Only accepts as edge if proper
maximum, rejects if not
● In practise, only allow a set of
discrete possible directions
Object & pixel
positions
Slide 19
Canny Edge Detector
white, all 3 scales
Slide 20
Canny Edge Detector:
Slide 21
From Edge Pixels to Edges
● Have candidate edge pixels
● Have information on edge direction and strength
● Want connected edges:
Edge growing
● Going from individual edge pixels, to entire,
connected edges – curves that are boundaries of
objects
Edge Growing
Slide 23
Edge Thresholding with Hysteresis
● Edge strength image, two thresholds TH & TL
● Only edges have points g> TH
● Edges have all points g> TL
● Start at point g>TH, and trace connected points with
g>TL
Slide 24
Edge Relaxation
● Use context to resolve ambiguity (as in segmentation)
● Compatibility
not neighbours
● As before, update probabilities based on support
Slide 25
Edge Relaxation
weak and strong edges
● Many refinements and
alternatives in the
literature, but all
applying same basic
ideas
Hough Transform
Slide 27
Hough Transform (1)
● Have some set of points, parts of edges etc
● Want to put them together into continuous lines
● Strategy:
Transform to parameter space
Let points vote for lines that could pass through them
Look for clusters
● Finding the right parameter space
● Can be extended if you can find such a space for
shape of interest
Slide 28
Aside: Lines in human vision
See lines where we have
only minimal information
Actually straight, but we
don’t see them as that!
Slide 29
Hough Transform (2)
Slide 30
Hough Transform (3)
● Repeat for all points
in image plane
● Look for points in (c,m) plane where lots of lines cross
● Lines which pass thro’ lots of points in image plane
Slide 31
Hough Transform (4)
● Verticals, m is infinite! Need better
parameter space
Slide 32
Hough Transform (5)
● Single point
● All possible : allowed values of r, sinusoid curve
● Extend to other than lines, generalised Hough
transform