0% found this document useful (0 votes)
23 views35 pages

3lec02 Edge For Web

The document outlines Lecture 2 of CS5670: Computer Vision, focusing on edge detection techniques. It covers the definition and characteristics of edges, methods for image differentiation, and the implementation of edge detection filters like the Sobel operator and Canny edge detector. Additionally, it includes project announcements and course resources for students.

Uploaded by

aygunbegum02
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views35 pages

3lec02 Edge For Web

The document outlines Lecture 2 of CS5670: Computer Vision, focusing on edge detection techniques. It covers the definition and characteristics of edges, methods for image differentiation, and the implementation of edge detection filters like the Sobel operator and Canny edge detector. Additionally, it includes project announcements and course resources for students.

Uploaded by

aygunbegum02
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

CS5670: Computer Vision

Lecture 2: Edge detection

From Sandlot Science


Announcements
• Project 1 (Hybrid Images) is now on the course webpage (see
Projects link)
– Due Friday, Feb 10, by 8pm on Github Classroom
– Artifact due Monday, Feb 13, by 8pm on CMSX
– Project to be done individually
– Skeleton code available soon on Github Classroom – instructions for
setting up Python environment on the project webpage
• Course webpage: https://www.cs.cornell.edu/courses/cs5670/2023sp/
– Has lectures, projects, office hours, etc
• In-class Quiz first 10 minutes of class this Thursday
Project 1: Hybrid Images
Project 1 Demo
Edge detection

• Convert a 2D image into a set of curves


– Extracts salient features of the scene
– More compact than pixels

TexPoint fonts used in EMF.


Read the TexPoint manual before you delete this box.: AAA
Origin of edges
surface normal discontinuity

depth discontinuity

surface color discontinuity

illumination discontinuity

• Edges are caused by a variety of factors


Images as functions…

• Edges look like steep cliffs


Characterizing edges
• An edge is a place of rapid change in the image intensity
function
intensity function
image (along horizontal scanline) first derivative

edges correspond to
Source: L. Lazebnik extrema of derivative
Image derivatives
• How can we differentiate a digital image F[x,y]?
– Option 1: reconstruct a continuous image, f, then
compute the derivative
– Option 2: take discrete derivative (finite difference)

How would you implement this as a linear filter?

: 1 -1 : -1
1

Source: S. Seitz
Image gradient
• The gradient of an image:
The gradient points in the direction of most rapid increase in intensity

The edge strength is given by the gradient magnitude:

The gradient direction is given by:

• how does this relate to the direction of the edge?


Source: Steve Seitz
Image gradient

Source: L. Lazebnik
Effects of noise

Noisy input image

Where is the edge?


Source: S. Seitz
Solution: smooth first
f

f*h

To find edges, look for peaks in


Source: S. Seitz
Associative property of convolution
• Differentiation is convolution, and convolution is
associative:

• This saves us one operation: f

Source: S. Seitz
The 1D Gaussian and its derivatives
2D edge detection filters

derivative of Gaussian (x)


Gaussian
Derivative of Gaussian filter

x-direction y-direction
The Sobel operator
• Common approximation of derivative of Gaussian

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

• The standard definition of the Sobel operator omits the 1/8 term
– doesn’t make a difference for edge detection
– the 1/8 term is needed to get the right gradient magnitude
Sobel operator: example

Source: Wikipedia
Example

original image
Demo: http://bigwww.epfl.ch/demo/ip/demos/edgeDetector/ Image credit: Joseph Redmon
Finding edges

smoothed gradient magnitude


Finding edges

smoothed gradient magnitude


Finding edges

where is the edge?

thresholding
Get Orientation at Each Pixel
• Get orientation (below, threshold at minimum gradient magnitude)

theta = atan2(gy, gx)


360

Gradient orientation angle

0
Non-maximum supression

• Check if pixel is local maximum along gradient direction


– requires interpolating pixels p and r
Before Non-max Suppression
After Non-max Suppression
Thresholding edges

• Still some noise


• Only want strong edges
• 2 thresholds, 3 cases
• R > T: strong edge
• R < T but R > t: weak
edge
• R < t: no edge
• Why two thresholds?
Connecting edges

• Strong edges are edges!


• Weak edges are edges
iff they connect to strong
• Look in some neighborhood
(usually 8 closest)
Canny edge
MATLAB: edge(image,‘canny’)
detector
1. Filter image with derivative of Gaussian

2. Find magnitude and orientation of


gradient

3. Non-maximum suppression

4. Linking and thresholding (hysteresis):


– Define two thresholds: low and high
– Use the high threshold to start edge curves and
the low threshold to continue them
Source: D. Lowe, L. Fei-Fei, J. Redmon
Canny edge detector
• Our first computer vision pipeline!
• Still a widely used edge detector in computer vision

J. Canny, A Computational Approach To Edge Detection, IEEE Trans.


Pattern Analysis and Machine Intelligence, 8:679-714, 1986.

• Depends on several parameters:


high threshold
low threshold
: width of the Gaussian blur
Canny edge detector

original Canny with Canny with

• The choice of depends on desired behavior


– large detects “large-scale” edges
– small detects fine edges

Source: S. Seitz
Scale space [Witkin 83]
first derivative peaks

larger

Gaussian filtered signal

• Properties of scale space (w/ Gaussian smoothing)


– edge position may shift with increasing scale (s)
– two edges may merge with increasing scale
– an edge may not split into two with increasing scale
Questions?

You might also like