41
CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

  • Upload
    ngotram

  • View
    232

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Lecture 5:Gradients and Edge Detection

Reading: T&V Section 4.1 and 4.2

Page 2: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

What Are Edges?

Simple answer: discontinuities in intensity.

Page 3: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Boundaries of objects

Page 4: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Boundaries of Material Properties

D.Jacobs, U.Maryland

Page 5: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Boundaries of Lighting

D.Jacobs, U.Maryland

Page 6: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Types of Edges (1D Profiles)

• Edges can be modeled according to their intensity profiles:

• Step edge:– the image intensity abruptly

changes from one value toone side of the discontinuityto a different value on theopposite side.

• Ramp edge:– a step edge where the

intensity change is notinstantaneous but occursover a finite distance.

M.Nicolescu, UNR

step

ramp

step ramp

Page 7: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Examples

Page 8: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Types of Edges (1D Profiles)

• Ridge edge:– the image intensity abruptly changes value but then returns

to the starting value within some short distance

– generated usually by lines

M.Nicolescu, UNR

Page 9: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Examples

Page 10: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Examples

Page 11: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Types of Edges (1D Profiles)

• Roof edge:– a ridge edge where the intensity change is not instantaneous

but occurs over a finite distance

– generated usually by the intersection of surfaces

M.Nicolescu, UNR

Page 12: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Examples

Page 13: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Step/Ramp Edge Terminology• Edge descriptors

– Edge normal: unit vector in the direction of maximum intensity change.

– Edge direction: unit vector along edge (perpendicular to edge normal).

– Edge position or center: the image position at which the edge is located.

– Edge strength or magnitude: local image contrast along the normal.

M.Nicolescu, UNR

Important point: All of this information can becomputed from the gradient vector field!!

Page 14: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Summary of Gradients

M.Hebert, CMU

Gradient Vector: =[ , ]

Magnitude: Orientation

T

Page 15: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Simple Edge Detection Using Gradients

A simple edge detector using gradient magnitude

M.Nicolescu, UNR

•Compute gradient vector at each pixel byconvolving image with horizontal andvertical derivative filters

•Compute gradient magnitude at each pixel

•If magnitude at a pixel exceeds a threshold,report a possible edge point.

Page 16: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Compute Spatial Image Gradients

I(x+1,y) - I(x-1,y)

2I(x,y)

I(x,y+1) - I(x,y-1)

2

Ix=dI(x,y)/dx

Iy=dI(x,y)/dy

Partial derivative wrt x

Partial derivative wrt y

Replace with your favoritesmoothing+derivative operator

Page 17: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Simple Edge Detection Using Gradients

A simple edge detector using gradient magnitude

M.Nicolescu, UNR

•Compute gradient vector at each pixel byconvolving image with horizontal andvertical derivative filters

•Compute gradient magnitude at each pixel

•If magnitude at a pixel exceeds a threshold,report a possible edge point.

Page 18: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Compute Gradient MagnitudeI(x,y) Ix Iy

Magnitude of gradient sqrt(Ix.^2 + Iy.^2)

Measures steepness ofslope at each pixel(= edge contrast)

Page 19: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Simple Edge Detection Using Gradients

A simple edge detector using gradient magnitude

M.Nicolescu, UNR

•Compute gradient vector at each pixel byconvolving image with horizontal andvertical derivative filters

•Compute gradient magnitude at each pixel

•If magnitude at a pixel exceeds a threshold,report a possible edge point.

Page 20: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Threshold to Find Edge Pixels

• Example – cont.:

M.Nicolescu, UNR

Binary edge image

ThresholdMag > 30

Page 21: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Edge Detection Using Gradient Magnitude

M.Nicolescu, UNR

Page 22: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Issues to Address

How should we choose the threshold?

M.Nicolescu, UNR

> 10 > 30 > 80

Page 23: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Trade-off: Smoothing vs Localization

M.Hebert, CMU

Page 24: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Issues to Address

Edge thinning and linking

M.Nicolescu, UNR

smoothing+thresholding gives us a binary mask with “thick” edges

we want thin, one-pixelwide, connected contours

Page 25: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Canny Edge Detector

An important case study

Probably, the most used edge detectionalgorithm by C.V. practitioners

Experiments consistently show that itperforms very well

J. Canny A Computational Approach to Edge Detection,IEEE Transactions on Pattern Analysis and MachineIntelligence, Vol 8, No. 6, Nov 1986

Page 26: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins Formal Design of an

Optimal Edge Detector

• Edge detection involves 3 steps:– Noise smoothing

– Edge enhancement

– Edge localization

• J. Canny formalized these steps to design anoptimal edge detector

O.Camps, PSU

Page 27: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Edge Model (1D)

• An ideal edge can be modeled as an step

AA

<=

0 if

0 if 0)(

xA

xxG

O.Camps, PSU

• Additive, White Gaussian Noise– RMS noise amplitude/unit length no

2

Page 28: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Performance Criteria (1)

• Good detection– The filter must have a stronger response at the

edge location (x=0) than to noise

O.Camps, PSU

Page 29: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Performance Criteria (2)

• Good Localization– The filter response must be maximum very

close to x=0

X=0X=0

O.Camps, PSU

Page 30: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Performance Criteria (3)

• Low False Positives– There should be only one maximum in a

reasonable neighborhood of x=0

largelarge

O.Camps, PSU

Page 31: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Canny Edge Detector

• Canny found a linear, continuous filter thatmaximized the three given criteria.

• There is no closed-form solution for the optimal filter.

• However, it looks VERY SIMILAR to the derivativeof a Gaussian.

Page 32: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins Recall: Practical Issues

for Edge Detection

Thinning and linking Choosing a magnitude threshold

OR

Canny has good answers to all!

Page 33: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Thinning

We want to mark points along curve where the magnitude is largest.

We can do this by looking for a maximum along a 1D intensity slice normal to the curve (non-maximum supression).

mag

nitu

de

location along slice

mag(x0) = maximum

x0

These points should form a one-pixel wide curve.

note: do thinning before thresholding!

Page 34: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Which Threshold to Pick?

Two thresholds applied to gradient magnitude

•If the threshold is too high:–Very few (none) edges

•High MISDETECTIONS, many gaps•If the threshold is too low:

–Too many (all pixels) edges•High FALSE POSITIVES, many extra edges

problem:

Page 35: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

SOLUTION: Hysteresis Thresholding

Allows us to apply both! (e.g. a “fuzzy” threshold)

•Keep both a high threshold H and a low threshold L.•Any edges with strength < L are discarded.•Any edge with strength > H are kept.•An edge P with strength between L and H is kept only if there is a path of edges with strength > L connecting P to an edge of strength > H.

•In practice, this thresholding is combined with edge linking to get connected contours

Page 36: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Example of Hysteresis Thresholding

M.Hebert, CMU

Page 37: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Forsyth and Ponce

Canny Edges: Examples

Page 38: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

fine scalehigh threshold

Forsyth and Ponce

Page 39: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

coarse scale,high threshold

Forsyth and Ponce

Page 40: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

coarsescalelowthreshold

Forsyth and Ponce

Page 41: Robert Collins CSE486, Penn Statertc12/CSE486/lecture05.pdf · CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2

CSE486, Penn StateRobert Collins

Complete Canny Algorithm

M.Hebert, CMUSee textbook for more details.