Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486,...

7
1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section 4.1 and 4.2 CSE486, Penn State Robert Collins What Are Edges? Simple answer: discontinuities in intensity. CSE486, Penn State Robert Collins Boundaries of objects CSE486, Penn State Robert Collins Boundaries of Material Properties D.Jacobs, U.Maryland CSE486, Penn State Robert Collins Boundaries of Lighting D.Jacobs, U.Maryland CSE486, Penn State Robert 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 to one side of the discontinuity to a different value on the opposite side. Ramp edge : a step edge where the intensity change is not instantaneous but occurs over a finite distance. M.Nicolescu, UNR step ramp step ramp

Transcript of Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486,...

Page 1: Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section

1

CSE486, Penn StateRobert 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.

CSE486, Penn StateRobert Collins

Boundaries of objects CSE486, Penn StateRobert Collins

Boundaries of Material Properties

D.Jacobs, U.Maryland

CSE486, Penn StateRobert Collins

Boundaries of Lighting

D.Jacobs, U.Maryland

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 2: Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section

2

CSE486, Penn StateRobert Collins

Examples 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

CSE486, Penn StateRobert Collins

Examples CSE486, Penn StateRobert Collins

Examples

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

CSE486, Penn StateRobert Collins

Examples

Page 3: Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section

3

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!!

CSE486, Penn StateRobert Collins

Summary of Gradients

M.Hebert, CMU

Gradient Vector: =[ , ]

Magnitude: Orientation

T

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.

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

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.

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 4: Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section

4

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.

CSE486, Penn StateRobert Collins

Threshold to Find Edge Pixels

• Example – cont.:

M.Nicolescu, UNR

Binary edge image

ThresholdMag > 30

CSE486, Penn StateRobert Collins

Edge Detection Using Gradient Magnitude

M.Nicolescu, UNR

CSE486, Penn StateRobert Collins

Issues to Address

How should we choose the threshold?

M.Nicolescu, UNR

> 10 > 30 > 80

CSE486, Penn StateRobert Collins

Trade-off: Smoothing vs Localization

M.Hebert, CMU

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 5: Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section

5

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

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

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

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

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

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 6: Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section

6

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.

CSE486, Penn StateRobert Collins Recall: Practical Issues

for Edge Detection

Thinning and linking Choosing a magnitude threshold

OR

Canny has good answers to all!

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!

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:

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

CSE486, Penn StateRobert Collins

Example of Hysteresis Thresholding

M.Hebert, CMU

Page 7: Robert Collins Boundaries of objects Boundaries of ...rtc12/CSE486/lecture05_6pp.pdf · 1 CSE486, Penn State Robert Collins Lecture 5: Gradients and Edge Detection Reading: T&V Section

7

CSE486, Penn StateRobert Collins

Forsyth and Ponce

Canny Edges: Examples CSE486, Penn StateRobert Collins

fine scalehigh threshold

Forsyth and Ponce

CSE486, Penn StateRobert Collins

coarse scale,high threshold

Forsyth and Ponce

CSE486, Penn StateRobert Collins

coarsescalelowthreshold

Forsyth and Ponce

CSE486, Penn StateRobert Collins

Complete Canny Algorithm

M.Hebert, CMUSee textbook for more details.