Lecture 7 Further Edge Detection
COMP3204 Computer Vision
What better ways are there to detect edges?
Book
pp
131 -
177
Content
1. How can we improve first-order edge detection?
2. How can we detect edges using second order differentiation/
differencing
Applying Sobel operator
Sobel is a good basic operator
Blurred edges
Noisy edges
Stages in Canny edge detection operator
Canny gives thin edges in the right place, but is more complex
Canny edge detection operator
Formulated with three main objectives:
• optimal detection with no spurious responses;
• good localisation with minimal distance between detected and true edge
position; and
• single response to eliminate multiple responses to a single edge.
Approximation
1. use Gaussian smoothing;
2. use the Sobel operator; ) combine?
3. use non-maximal suppression; and
4. threshold with hysteresis to connect edge points.
Interpolation in non-maximum suppression
Need to use points which are
not on the image grid
Uses linear interpolation
Hysteresis thresholding transfer function
Lower
threshold =
average noise
Upper threshold =
average feature
boundary
Action of non-maximum suppression and
hysteresis thresholding
Walk along top of ridge
Gives thin edges in the
right place
Comparing hysteresis thresholding with
uniform thresholding
Hysteresis thresholding gives all points > upper threshold
plus any connected points > lower threshold
Comparing Canny with Sobel
The lines are thinner here, making Sobel look better!
Comparing Canny with Sobel
The lines are indeed thinner
Comparing Canny with Sobel
The noise is less
First and second order edge detection
First order = single differentiation
with thresholding
Second order = twice differentiation
with zero-crossing detection
Edge detection via the Laplacian operator
Simple, but unused!
Edge detection is about
differentiation
Take a Gaussian function =
Differentiate once =
=
And again
Mathbelts on…
2 2
2 𝜕 𝑔 ( 𝑥 , 𝑦 , 𝜎 ) 𝜕 𝑔( 𝑥, 𝑦 ,𝜎 )
Second order in x and y is 𝛻 𝑔( 𝑥, 𝑦 ,𝜎 ) ¿ 2
𝑈𝑥+ 2
𝑈𝑦
𝜕𝑥 𝜕𝑦
− (𝑥 +𝑦 ) −(𝑥 +𝑦 )
2 2 2 2
( ) ( )
2 2𝜎
2
2 2𝜎
2
𝑥 𝑒 𝑦 𝑒
By substitution ¿ 2
−1 2
+ 2
−1 2
𝜎 𝜎 𝜎 𝜎
−( 𝑥 + 𝑦 )
2 2
( )
2 2
So we get 1 𝑥 +𝑦 𝜎
2
¿ 2 2
−2 𝑒
𝜎 𝜎
Second order = Laplacian of Gaussian = Marr Hildreth
Google: “Laplacian of Gaussian”
http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm;
http://fourier.eng.hmc.edu/e161/lectures/gradient/node8.html ;
http://academic.mu.edu/phys/matthysd/web226/Lab02.htm
Shape of Laplacian of Gaussian operator
It’s called the ‘Mexican hat operator’
Zero crossing detection
Need to find zero-crossings in 2D
Basic – straight comparison
f ( x, y )
Advanced
3
1
2 4
IF max(1, 2,3, 4) 0 min(1, 2,3, 4) 0 THEN f ( x, y) edge
Marr-Hildreth edge detection
Small template, small σ Large template, large σ
for local features for global features
Comparison of edge detection operators
Main points so far
1 – Canny provides thin edges in the right place
2 – second order (Marr-Hildreth) requires zero-
crossing detection
3 – the results by Marr-Hildreth and Canny are well
worth the extra computation
Now we need to collect the edges to find shape.
Coming next…
Advanced: Phase Congruency
Advanced: localised feature
extraction
Advanced: localised feature
extraction
feature points regions
SIFT (mega famous) brightness clustering
Others: SURF, FAST, ORB, FREAK, LOCKY, etc.
Lomeli-R. and Nixon and Carter, Mach Vis Apps 2016
Advanced – saliency