Edge Detection Images and slides from: James Hayes, Brown University, Computer Vision course Svetlana Lazebnik, University of North Carolina at Chapel.

Slides:



Advertisements
Similar presentations
3-D Computer Vision CSc83020 / Ioannis Stamos  Revisit filtering (Gaussian and Median)  Introduction to edge detection 3-D Computater Vision CSc
Advertisements

Boundary Detection - Edges Boundaries of objects –Usually different materials/orientations, intensity changes.
Lecture 2: Convolution and edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
EDGE DETECTION ARCHANA IYER AADHAR AUTHENTICATION.
Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Edge and Corner Detection Reading: Chapter 8 (skip 8.1) Goal: Identify sudden changes (discontinuities) in an image This is where most shape information.
Edge Detection. Our goal is to extract a “line drawing” representation from an image Useful for recognition: edges contain shape information –invariance.
EE663 Image Processing Edge Detection 1
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Lecture 4 Edge Detection
Computer Vision Group Edge Detection Giacomo Boracchi 5/12/2007
Canny Edge Detector.
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
Image processing. Image operations Operations on an image –Linear filtering –Non-linear filtering –Transformations –Noise removal –Segmentation.
EE663 Image Processing Edge Detection 2 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Computer Vision - A Modern Approach
Lecture 2: Edge detection and resampling
Segmentation (Section 10.2)
Linear filters and edges. Linear Filters General process: Form new image whose pixels are a weighted sum of original pixel values, using the same set.
Filters and Edges. Zebra convolved with Leopard.
EE663 Image Processing Edge Detection 3 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Lecture 2: Image filtering
Announcements Since Thursday we’ve been discussing chapters 7 and 8. “matlab can be used off campus by logging into your wam account and bringing up an.
The blue and green colors are actually the same.
CSE 473/573 Computer Vision and Image Processing (CVIP) Ifeoma Nwogu Lecture 10 – Edges and Pyramids 1.
Computer Vision P. Schrater Spring 2003
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Edge Detection Computer Vision (CS 543 / ECE 549) University of Illinois Derek Hoiem 02/02/12 Many slides from Lana Lazebnik, Steve Seitz, David Forsyth,
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
Lecture 2: Edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
CS 1699: Intro to Computer Vision Edges and Binary Images Prof. Adriana Kovashka University of Pittsburgh September 15, 2015.
Lecture 6: Edge Detection CAP 5415: Computer Vision Fall 2008.
EECS 274 Computer Vision Linear Filters and Edges.
CS654: Digital Image Analysis Lecture 24: Introduction to Image Segmentation: Edge Detection Slide credits: Derek Hoiem, Lana Lazebnik, Steve Seitz, David.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
CSE 185 Introduction to Computer Vision Edges. Scale space Reading: Chapter 3 of S.
EE 4780 Edge Detection.
Many slides from Steve Seitz and Larry Zitnick
Computer Vision - A Modern Approach Set: Linear Filters Slides by D.A. Forsyth Gradients and edges Points of sharp change in an image are interesting:
Edges.
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Edge Detection.
CSE 6367 Computer Vision Image Operations and Filtering “You cannot teach a man anything, you can only help him find it within himself.” ― Galileo GalileiGalileo.
Lecture 04 Edge Detection Lecture 04 Edge Detection Mata kuliah: T Computer Vision Tahun: 2010.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
COMPUTER VISION D10K-7C02 CV05: Edge Detection Dr. Setiawan Hadi, M.Sc.CS. Program Studi S-1 Teknik Informatika FMIPA Universitas Padjadjaran.
Computer Vision Image Features Instructor: Dr. Sherif Sami Lecture 4.
Lecture 8: Edges and Feature Detection
Finding Boundaries Computer Vision CS 143, Brown James Hays 09/28/11 Many slides from Lana Lazebnik, Steve Seitz, David Forsyth, David Lowe, Fei-Fei Li,
Edges Edges = jumps in brightness/color Brightness jumps marked in white.
Winter in Kraków photographed by Marcin Ryczek
Miguel Tavares Coimbra
Edge Detection slides taken and adapted from public websites:
MAN-522: Computer Vision Edge detection Feature and blob detection
Linear Filters and Edges Chapters 7 and 8
Image gradients and edges
Edge Detection CS 678 Spring 2018.
Jeremy Bolton, PhD Assistant Teaching Professor
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Review: Linear Systems
Filters (Smoothing, Edge Detection)
Lecture 2: Edge detection
Canny Edge Detector.
Oh, no, wait, sorry, I meant, welcome to the implementation of 20th-century science fiction literature, or a small part of it, where we will learn about.
Edge Detection Today’s reading
Lecture 2: Edge detection
Winter in Kraków photographed by Marcin Ryczek
IT472 Digital Image Processing
IT472 Digital Image Processing
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Presentation transcript:

Edge Detection Images and slides from: James Hayes, Brown University, Computer Vision course Svetlana Lazebnik, University of North Carolina at Chapel Hill, Computer Vision course D. Forsyth and J. Ponce. Computer Vision: A Modern Approach, Prentice Hall, R. Gonzalez and R. Woods. Digital Image Processing, Prentice Hall, T-11 Computer Vision University of Ioanina Christophoros Nikou

Edge detection Goal: Identify sudden changes (discontinuities) in an image. – Intuitively, most semantic and shape information from the image can be encoded in the edges. – More compact than pixels. Ideal: artist’s line drawing (artist also uses object-level knowledge) Source: D. Lowe

Origin of Edges Edges are caused by a variety of factors depth discontinuity surface color discontinuity illumination discontinuity surface normal discontinuity Source: Steve Seitz

Edge model

Edge point detection Magnitude of the first derivative. Sign change of the second derivative. Observations: Second derivative produces two values for an edge (undesirable). Its zero crossings may be used to locate the centres of thick edges.

The gradient points in the direction of most rapid increase in intensity Image gradient The gradient of an image: The gradient direction is given by how does this relate to the direction of the edge? The edge strength is given by the gradient magnitude Source: Steve Seitz

Differentiation and convolution Recall, for 2D function, f(x,y): This is linear and shift invariant. It is therefore the result of a convolution. Approximation: which is a convolution with the mask: 1 Source: D. Forsyth, D. Lowe

Finite differences: example

Effect of Finite Differences on White Noise Let f be an observed instance of the image f 0 corrupted by noise w : with noise samples having mean value E[w(n)]=0 and being uncorrelated with respect to location:

Effect of Finite Differences on White Noise Applying a filter h to the degraded image: The expected value of the output is: The noise is removed in average.

Effect of Finite Differences on White Noise What happens to the standard deviation of g ? Assume that a finite difference filter is used, which approximates the first derivative: 1

Effect of Finite Differences on White Noise For a second derivative approximation: The standard deviation increases sharply! Higher order coefficients form a Pascal triangle.

Edge model and noise Intensity profileFirst derivativeSecond derivative

Edge model and noise Intensity profileFirst derivativeSecond derivative

Noise Edge detectors respond strongly to sharp changes and noise is a sharp change. Simple finite differences are unusable. Independent additive stationary Gaussian noise is the simplest model.

Issues with the Gaussian model this model allows noise values that could be greater than maximum camera output or less than zero. for small standard deviations, this isn’t too much of a problem - it’s a fairly good model. independence may not be justified (e.g. damage to lens). may not be stationary (e.g. thermal gradients in the ccd).

Smoothing (e.g. average) kernels have Therefore, the noise standard deviation is reduced at the output, as we saw before. Also, after smoothing (e.g. average), noise samples are no longer independent. They look like their neighbors and the derivatives are smaller. Why smoothing helps

Noisy Edge Smoothing To find edges, look for peaks in f g f * g Source: S. Seitz

Convolution property f Source: S. Seitz Convolve with the derivative of the filter.

Derivative of Gaussian * [1 -1] =

Derivative of Gaussian (cont.) x-direction y-direction

Smoothed derivative removes noise but blurs edge. It also finds edges at different “scales” affecting the semantics of the edge. σ =1 Tradeoff between smoothing and localization Source: D. Forsyth σ =3 σ =7

Problems with gradient-based edge detectors σ =1σ =2 There are three major issues: 1. The gradient magnitude at different scales is different; which scale should we choose? 2. The gradient magnitude is large along thick trail; how do we identify only the significant points? 3. How do we link the relevant points up into curves?

Designing an optimal edge detector Criteria for an “optimal” edge detector [Canny 1986]: – Good detection: the optimal detector must minimize the probability of false positives (detecting spurious edges caused by noise), as well as that of false negatives (missing real edges). – Good localization: the edges detected must be as close as possible to the true edges – Single response: the detector must return one point only for each true edge point; that is, minimize the number of local maxima around the true edge. Source: L. Fei-Fei

Canny edge detector Probably the most widely used edge detector in computer vision. Theoretical model: step-edges corrupted by additive Gaussian noise. Canny has shown that the first derivative of the Gaussian closely approximates the operator that optimizes the product of signal-to-noise ratio and localization. J. Canny, A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence, 8: , 1986.A Computational Approach To Edge Detection Source: L. Fei-Fei

Canny edge detector (cont.) 1.Filter image with derivative of Gaussian. 2.Find magnitude and orientation of gradient. 3.Non-maximum suppression: – Thin multi-pixel wide “ridges” down to single pixel width. 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

Canny edge detector (cont.) original image

Canny edge detector (cont.) Gradient magnitude

Canny edge detector (cont.) Non-maximum suppression and hysteresis thresholding

Non-maximum suppression (cont.) Source: D. Forsyth We wish to mark points along the curve where the gradient magnitude is biggest. We can do this by looking for a maximum along a slice normal to the curve (non- maximum suppression). These points should form a curve. There are then two algorithmic issues: at which point is the maximum, and where is the next one?

Non-maximum suppression (cont.) At pixel q, we have a maximum if the value of the gradient magnitude is larger than the values at both p and at r. Interpolation provides these values. Source: D. Forsyth

Assume the marked point is an edge point. Then we construct the tangent to the edge curve (which is normal to the gradient at that point) and use this to predict the next points (here either r or s). Edge linking Source: D. Forsyth

Source: S. Seitz Use a high threshold to start edge curves and a low threshold to continue them. Hysteresis Thresholding (cont.)

Hysteresis thresholding (cont.) high threshold (strong edges) low threshold (weak edges) hysteresis threshold Source: L. Fei-Fei

Where do humans see boundaries? Berkeley segmentation database: image human segmentation gradient magnitude

D. Martin, C. Fowlkes and J. Malik. Learning to detect natural image boundaries using local brightness, color and texture cues. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 26, No 5, pp , 2004.Learning to detect natural image boundaries using local brightness, color and texture cues Learning to detect image boundaries Learn from humans which combination of features is most indicative of a “good” contour?

Feature profiles (oriented energy, brightness, color, and texture gradients) along the patch’s horizontal diameter D. Martin, C. Fowlkes and J. Malik. Learning to detect natural image boundaries using local brightness, color and texture cues. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 26, No 5, pp , 2004.Learning to detect natural image boundaries using local brightness, color and texture cues What features are responsible for perceived edges?

pB Boundary Detector Figure from Fowlkes

D. Martin, C. Fowlkes and J. Malik. Learning to detect natural image boundaries using local brightness, color and texture cues. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 26, No 5, pp , 2004.Learning to detect natural image boundaries using local brightness, color and texture cues What features are responsible for perceived edges? (cont.)

Results Human (0.95) Pb (0.88)

Results Human Pb Human (0.96) Global Pb Pb (0.88)

Human (0.95) Pb (0.63)

Human (0.90) Pb (0.35) For more: /CS/vision/bsds/bench/html/ color.html /CS/vision/bsds/bench/html/ color.html

45 years of boundary detection Source: Arbelaez, Maire, Fowlkes, and Malik. TPAMI 2011 (pdf)