Edge Detection2

59
EDGE DETECTION Presentation by Sumit Tandon Department of Electrical Engineering University of Texas at Arlington Course # EE6358 Computer Vision

Transcript of Edge Detection2

Page 1: Edge Detection2

EDGE DETECTION

Presentation by Sumit TandonDepartment of Electrical Engineering University of Texas at Arlington

Course # EE6358 Computer Vision

Page 2: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 2

CONTENTS Introduction Types of Edges Steps in Edge Detection Methods of Edge Detection

First Order Derivative Methods First Order Derivative Methods - Summary

Second Order Derivative Methods Second Order Derivative Methods - Summary

Optimal Edge Detectors Canny Edge Detection

Edge Detector Performance Line Detection

Convolution based technique Hough transform

Application areas

Page 3: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 3

INTRODUCTION Edge - Area of significant

change in the image intensity / contrast

Edge Detection – Locating areas with strong intensity contrasts

Use of Edge Detection – Extracting information about the image. E.g. location of objects present in the image, their shape, size, image sharpening and enhancement

Page 4: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 4

TYPES OF EDGES Variation of

Intensity / Gray Level Step Edge Ramp Edge Line Edge Roof Edge

Page 5: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 5

Steps in Edge Detection Filtering – Filter image to improve

performance of the Edge Detector wrt noise Enhancement – Emphasize pixels having

significant change in local intensity Detection – Identify edges - thresholding Localization – Locate the edge accurately,

estimate edge orientation

Page 6: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 6

Noisy Image Example of Noisy Image

Page 7: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 7

METHODS OF EDGE DETECTION First Order Derivative / Gradient Methods

Roberts Operator Sobel Operator Prewitt Operator

Second Order Derivative Laplacian Laplacian of Gaussian Difference of Gaussian

Optimal Edge Detection Canny Edge Detection

Page 8: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 8

First Derivative At the point of

greatest slope, the first derivative has maximum value E.g. For a

Continuous 1-dimensional function f(t)

Page 9: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 9

Gradient For a continuous two dimensional

function Gradient is defined as

yfxf

GyGx

yxfG )],([

GyGxGyGxG 22

GxGy1tan

Page 10: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 10

Gradient Approximation of Gradient for a

discrete two dimensional function Convolution Mask

Gx=

Gy =

Differences are computed at the interpolated points [i, j+1/2] and [i+1/2, j]

Demo

-1 1-1 1

],1[],[],[]1,[jifjifGyjifjifGx

1 1-1 -1

-1 11-1

Page 11: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 11

Gradient Methods – Roberts Operator Provides an approximation to the gradient

Convolution Mask Gx=

Gy =

Differences are computed at the interpolated points [i+1/2, j+1/2] and not [i, j]

Demo

1 00 -10 -11 0

)1,(),1()1,1(),()],([ jifjifjifjifGyGxjifG

Page 12: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 12

Roberts Operator - Example The output image

has been scaled by a factor of 5

Spurious dots indicate that the operator is susceptible to noise

Page 13: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 13

Gradient Methods – Sobel Operator The 3X3 convolution mask smoothes the image by

some amount , hence it is less susceptible to noise. But it produces thicker edges. So edge localization is poor

Convolution Mask

Gx = Gy=

The differences are calculated at the center pixel of the mask.

Demo

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

1 2 10 0 0-1 -2 -1

Page 14: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 14

Sobel Operator - Example Compare the output of

the Sobel Operator with that of the Roberts Operator: The spurious edges are

still present but they are relatively less intense compared to genuine lines

Roberts operator has missed a few edges

Sobel operator detects thicker edges

Will become more clear with the final demo

Outputs of Sobel (top) and Roberts operator

Page 15: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 15

Gradient Methods – Prewitt Operator It is similar to the Sobel operator but uses slightly

different masks Convolution Mask

Px =

Py =

Demo

-1 0 1-1 0 1-1 0 11 1 10 0 0-1 -1 -1

Page 16: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 16

First Order Derivative Methods - Summary Noise – simple edge detectors are affected

by noise – filters can be used to reduce noise

Edge Thickness – Edge is several pixels wide for Sobel operator– edge is not localized properly

Roberts operator is very sensitive to noise Sobel operator goes for averaging and

emphasizes on the pixel closer to the center of the mask. It is less affected by noise and is one of the most popular Edge Detectors.

Page 17: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 17

Second Order Derivative Methods Zero crossing of the second derivative

of a function indicates the presence of a maxima

Page 18: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 18

Second Order Derivative Methods - Laplacian Defined as

Mask

Demo Very susceptible to noise, filtering

required, use Laplacian of Gaussian

0 1 01 -4 10 1 0

Page 19: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 19

Second Order Derivative Methods - Laplacian of Gaussian Also called Marr-Hildreth Edge

Detector Steps

Smooth the image using Gaussian filter Enhance the edges using Laplacian

operator Zero crossings denote the edge location Use linear interpolation to determine the

sub-pixel location of the edge

Page 20: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 20

Laplacian of Gaussian – contd. Defined as

Greater the value of , broader is the Gaussian filter, more is the smoothing

Too much smoothing may make the detection of edges difficult

Page 21: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 21

Laplacian of Gaussian - contd. Also called the Mexican Hat operator

Page 22: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 22

Laplacian of Gaussian – contd. Mask

DemoDiscrete approximation to LoG function with Gaussian   = 1.4

Page 23: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 23

Second Order Derivative Methods - Difference of Gaussian - DoG LoG requires large computation time

for a large edge detector mask To reduce computational

requirements, approximate the LoG by the difference of two LoG – the DoG

22

)2

22(

21

)2

22(

22),(

22

21

yxyx

eeyxDoG

Page 24: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 24

Difference of Gaussian – contd. Advantage of DoG

Close approximation of LoG Less computation effort Width of edge can be adjusted by

changing 1 and 2

Page 25: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 25

Second Order Derivative Methods - Summary Second Order Derivative methods

especially Laplacian, are very sensitive to noise

Probability of false and missing edges remain

Localization is better than Gradient Operators

Page 26: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 26

Optimal Edge Detector Optimal edge detector depending on

Low error rate – edges should not be missed and there must not be spurious responses

Localization – distance between points marked by the detector and the actual center of the edge should be minimum

Response – Only one response to a single edge One dimensional formulation

Assume that 2D images have constant cross section in some direction

Page 27: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 27

Mathematical Formulation of Performance Criteria Notation

Edge : G(x) Noise : n(x) Impulse response of Filter : f(x)

Assumptions The edge is located at x=0 Filter has finite response bounded by [-W, W] Noise is of Gaussian nature n0 : Root mean squared noise amplitude per unit

length

Page 28: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 28

First Criterion: Edge Detection Response of filter to the edge:

RMS response of filter to noise :

First criterion: output Signal to Noise Ratio

Page 29: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 29

Second Criterion: Edge Localization A measure that increases as the

localization increases is needed Reciprocal of RMS distance of the

marked edge from center of true edge is taken as the measure of localization

Localization is defined as:

Page 30: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 30

Maximizing the product The design problem is reduced to

maximization of the product:

Page 31: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 31

Third Criterion – Elimination of multiple responses In presence of noise several maxima are

detected – it is difficult to separate noise from edge

We try to obtain an expression for the distance between adjacent noise peaks

The mean distance between the adjacent maxima in the output is twice the distance between the adjacent zero crossings in the derivative of output operator

Page 32: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 32

Elimination of Multiple Responses – contd. Expected number of noise maxima in

the region of width 2W is given by

Fixing k will restrict the number of noise maxima that could lead to false response – this is a constraint imposed on the design

kxWNn

22

max

Page 33: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 33

Finding Optimal Detectors by Numerical Optimization It is not possible to find a function f which will

maximize the SNR, Localization product in the presence of the multiple response constraint

If the function f is discrete then the computation is simplified to four inner products

Additional constraints can be included by the use of Penalty Function – it has non-zero value when the constraint is violated

f is then found out for maximizing the following expression

)()(*)( fPfonLocalizatifSNR ii

Page 34: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 34

Detector for Step Edges G(x) = Au-1(x)

Page 35: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 35

Spatial scaling We can scale the

filter width Detection improves

with width, localization degrades with increase in width

The uncertainty principle is

)(1)(

)(

)/()(

'' fw

f

fwf

wxfxf

w

w

w

Page 36: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 36

Efficient approximation Depending on the above principles,

several optimal edge detectors are calculated

Best approximation to the above detectors is the First Derivative of Gaussian

It is chosen because of the ease of computation in 2 dimensions

Page 37: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 37

Noise estimation Important to estimate the amount of noise

in the image to set thresholds Noise component can be efficiently isolated

using Weiner Filtering – requires the knowledge of the autocorrelation of individual components and their cross-correlation

Noise strength is estimated by Global Histogram Estimation

Page 38: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 38

Thresholding Broken edges due to fluctuation of

operator output above and below the threshold – results in Streaking

Use double thresholding to eliminate streaking

Page 39: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 39

Two Dimensional Edge Detection In two dimensions edge has both position

and direction A 2-D mask is created by convolving a

linear edge detection function aligned normal to the edge direction with a projection function parallel the edge direction

Projection function is Gaussian with same deviation as the detection function

The image is convolved with a symmetric 2-D Gaussian and then differentiated normal to the edge direction

Page 40: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 40

Need for multiple widths and Feature Synthesis Width is chosen to give best tradeoff

between detection and localization For different edges, width has to be

different since SNR is different Feature Synthesis

Smaller operator responses are used to predict the larger operator response

New edge points are marked if the actual large operator output varies significantly from the predicted output

Page 41: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 41

Implementation of Canny Edge Detector Step 1

Noise is filtered out – usually a Gaussian filter is used

Width is chosen carefully Step 2

Edge strength is found out by taking the gradient of the image

A Roberts mask or a Sobel mask can be used

GyGxGyGxG 22

Page 42: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 42

Implementation of Canny Edge Detector – contd. Step 3

Find the edge direction

Step 4 Resolve edge direction

GxGy1tan

Page 43: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 43

Canny Edge Detector – contd. Step 5

Non-maxima suppression – trace along the edge direction and suppress any pixel value not considered to be an edge. Gives a thin line for edge

Step 6 Use double / hysterisis thresholding to

eliminate streaking

Page 44: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 44

Canny Edge Detector – contd. Compare the results of Sobel and

Canny

Page 45: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 45

Edge Localization – Subpixel Location Estimation Take Gaussian edge detector output

without non-maxima suppression Error displacement is computed by

taking the weighted mean of distance, along the edge gradient on either side of the edge

n

ii

n

iii

g

dgd

1

1

Page 46: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 46

Edge Detector Performance Criteria

Probability of false edges Probability of missing edges Error in estimation of edge angle Mean square distance of edge estimate

from true edge Tolerance to distorted edges and other

features such as corners and junctions

Page 47: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 47

Figure of Merit Basic errors in a Edge Detector

Missing Edges Error in localizing Classification of noise as Edge

IA : detected edges II : ideal edges d : distance between actual and ideal edges : penalty factor for displaced edges

IA

i iIA dIIFM

121

1),max(

1

Page 48: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 48

Line Detection Lines in an image present another

form of discontinuity It is worthwhile to consider them

separately since they are very frequent

Methods Use of Convolution Mask Hough Transform

Page 49: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 49

Line Detection using Convolution Mask We need to decide the orientation

and width of line to be detected Following masks are for single pixel

wide lines in four directions

Page 50: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 50

Line Detection using Convolution Mask – contd. The mask for

horizontal orientation is applied

Lines are 5 pixels wide, mask is tuned for detecting 1 pixel wide line

Line detector acts as edge detector

Demo

Page 51: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 51

Line detection – Hough Transform Method to isolate the shapes from an image Performed after edge detection Not affected by noise or gaps in the edges Technique

Thresholding is used to isolate pixels with strong edge gradient

Parametric equation of straight line is used to map the edge points to the Hough parameter space

Points of intersection in the Hough parameter space gives the equation of line on actual image

Page 52: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 52

Hough Transform - contd Parametric Equation of Straight Line

Page 53: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 53

Hough Transform – contd.

Edge Detected ImageMapping of Edge Points in Hough Parameter Space

Page 54: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 54

Applications Enhancement of noisy images –

satellite images, x-rays, medical images like cat scans

Text detection Mapping of roads Video surveillance, etc.

Page 55: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 55

Applications Canny Edge Detector for Remote

Sensing Images Reasons to go for Canny Edge Detector –

Remote sensed images are inherently noisy

Other edge detectors are very sensitive to noise

Page 56: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 56

Edge map of remote sensed image using Canny

Page 57: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 57

Image enhancement and sharpening using canny

Page 58: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 58

MATLAB Demo Get an image from the internet Apply following operators on the

image and display the results Roberts Sobel Prewitt Laplacian of Gaussian Canny

Page 59: Edge Detection2

September 13, 2005 EE - 6358 Computer Vision 59

References Machine Vision – Ramesh Jain, Rangachar Kasturi, Brian G Schunck,

McGraw-Hill, 1995 INTRODUCTION TO COMPUTER VISION

AND IMAGE PROCESSING - by Luong Chi MaiDepartment of Pattern Recognition and Knowledge EngineeringInstitute of Information Technology, Hanoi, Vietnamhttp://www.netnam.vn/unescocourse/computervision/computer.htm

The Hypermedia Image Processing Reference - http://homepages.inf.ed.ac.uk/rbf/HIPR2/hipr_top.htm

A Survey and Evaluation of Edge Detection Operators Application to Medical Images – Hanene Trichili, Mohamed-Salim Bouhlel, Nabil Derbel, Lotfi Kamoun, IEEE, 2002

Using The Canny Edge Detector for Feature Extraction and Enhancement of Remote Sensing Images - Mohamed Ali David Clausi, Systems Design Engineering, University of Waterloo, IEEE 2001

A Computational Approach to Edge Detection – John Canny, IEEE, 1986