1 Computational Vision CSCI 363, Fall 2012 Lecture 6 Edge Detection.

Slides:



Advertisements
Similar presentations
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Spatial Filtering (Chapter 3)
CS 4487/9587 Algorithms for Image Analysis
Computer Vision Lecture 16: Texture
5/24/2015© 2009 Raymond P. Jefferis III Lect Geographic Image Processing Data Transformation and Filtering Noise in data Arrays Digital filtering.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Lecture 4 Linear Filters and Convolution
Canny Edge Detector.
Targil 2 Image enhancement and edge detection. For both we will use image derivatives.
1 Image filtering Hybrid Images, Oliva et al.,
1 Image Filtering Readings: Ch 5: 5.4, 5.5, 5.6,5.7.3, 5.8 (This lecture does not follow the book.) Images by Pawan SinhaPawan Sinha formal terminology.
1 Image filtering Images by Pawan SinhaPawan Sinha.
1 Image filtering
Convolution and Edge Detection : Computational Photography Alexei Efros, CMU, Fall 2005 Some slides from Steve Seitz.
Lecture 2: Image filtering
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
1 Image filtering Hybrid Images, Oliva et al.,
Basic Image Processing January 26, 30 and February 1.
Most slides from Steve Seitz
Chapter 2. Image Analysis. Image Analysis Domains Frequency Domain Spatial Domain.
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30 – 11:50am.
National Center for Supercomputing Applications University of Illinois at Urbana-Champaign Image Features Kenton McHenry, Ph.D. Research Scientist.
Row 1 Row 2 Row 3 Row m Column 1Column 2Column 3 Column 4.
1 Computational Vision CSCI 363, Fall 2012 Lecture 20 Stereo, Motion.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Image processing.
Lecture 03 Area Based Image Processing Lecture 03 Area Based Image Processing Mata kuliah: T Computer Vision Tahun: 2010.
Edge Detection Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection Szeliski, Ch 4.1.2, From Sandlot.
CSC508 What You Should Be Doing Code, code, code –Programming Gaussian Convolution Sobel Edge Operator.
1 Computational Vision CSCI 363, Fall 2012 Lecture 5 The Retina.
EE 4780 Edge Detection.
October 7, 2014Computer Vision Lecture 9: Edge Detection II 1 Laplacian Filters Idea: Smooth the image, Smooth the image, compute the second derivative.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
1 Perception and VR MONT 104S, Fall 2008 Lecture 4 Lightness, Brightness and Edges.
Mestrado em Ciência de Computadores Mestrado Integrado em Engenharia de Redes e Sistemas Informáticos VC 15/16 – TP7 Spatial Filters Miguel Tavares Coimbra.
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.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
Announcements Project 0 due tomorrow night. Edge Detection Today’s readings Cipolla and Gee (handout) –supplemental: Forsyth, chapter 9Forsyth For Friday.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
1 Computational Vision CSCI 363, Fall 2012 Lecture 18 Stereopsis III.
Computational Vision CSCI 363, Fall 2012 Lecture 17 Stereopsis II
Miguel Tavares Coimbra
Edge Detection slides taken and adapted from public websites:
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering Northern Arizona University.
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
MA/CS 375 Fall 2002 Lecture 9 MA/CS375 Fall 2002.
Lecture 3. Edge Detection, Texture
Early Processing in Biological Vision
Jeremy Bolton, PhD Assistant Teaching Professor
Computer Vision Lecture 9: Edge Detection II
Smoothing the intensities
Dr. Chang Shu COMP 4900C Winter 2008
Computer Vision Lecture 16: Texture II
9th Lecture - Image Filters
Edge Detection Today’s reading
Image filtering Images by Pawan Sinha.
Spatial operations and transformations
Basic Image Processing
Digital Image Processing Week IV
Most slides from Steve Seitz
Detecting image intensity changes
Edge Detection Today’s reading
Edge Detection in Computer Vision
Edge Detection Today’s readings Cipolla and Gee Watt,
Image Filtering Readings: Ch 5: 5. 4, 5. 5, 5. 6, , 5
Most slides from Steve Seitz
Detection of image intensity changes
Spatial operations and transformations
Presentation transcript:

1 Computational Vision CSCI 363, Fall 2012 Lecture 6 Edge Detection

2 Stages for Edge Detection Detecting Edges: Smoothing--Eliminates noise. Determines spatial scale. Differentiation--Localizes the intensity change Feature Extraction: Determine the feature that caused the intensity change.

3 Smoothing

4 Localization of an edge Changes in intensity are not instantaneous, particularly in a smoothed image. Humans can localize edges to within a few seconds of arc (a few mm for a line a distance of 1 meter from the observer). Accurate localization is necessary for stereo vision. Differentiation allows us to find the location of the most rapid intensity change. The first derivative gives a peak at the location of the most rapid change. The second derivative gives a zero at this location. Marr and Hildreth suggested using these zero crossings to indicate edges.

5 Intensity Derivative

6 Zero Crossings and Edges Image Image after smoothing and second derivative Black = Negative White = Positive Zero Crossings

7 Convolution To smooth a function, we replace the value at each x position with the averaged values around that position. This process is called convolution. Smoothing works best if the average is weighted: nearby neighbors count more, distant neighbors count less. A Gaussian function works well for this weighting. Convolution of I with G is written: G(x) * I(x) For continuous functions:

8 The Derivative of a Convolution Gaussian and its derivatives Instead of taking the derivative of a convolution of the image and the Gaussian, we can convolve image with the derivative of the Gaussian

9 2 nd Derivative of Gaussian Looks Like... Retinal Ganglion cells and bipolar cells have receptive fields that exhibit a center-surround structure.

10 A 2D Gaussian For a 2D image, I(x, y), we convolve with a 2D Gaussian: To differentiate, we use the Laplacian operator: looks like a center surround receptive field. can be approximated by G(  1, x, y) - G(  2, x, y) (A "Difference of Gaussians" or DOG)

11 Difference of Gaussians Note: A single retinal ganglion cell cannot distinguish between a zero crossing and uniform intensity. To find edges, one must evaluate the difference in responses of neighboring cells.

12 Detecting Edges with Discrete Samples Normally, images will be a group of discrete values: D Image 1D Image We use an approximation of convolution to perform the smoothing and differentiation.

13 Smoothing a 1D array Image: Operator: Position 1: 1x1 + 3x3 + 6x5 + 4x3 + 5x1 = 57 Image: Operator: Position 2: 3x1 + 6x3 + 4x5 + 5x3 + 2x1 = 58 Position: Value:

14 Other Operators Averaging: 1/5 1/5 1/5 1/5 1/5 Differentiation: 1 -1 Second Derivative: D Convolution: * =

15 Matlab Matrices Entering a Matrix: >> A = [1 2 3; 4 5 6; 7 8 9] A = User types Matlab replies >> Image = zeros(4, 5) Image = All zeros >> B = ones(3, 4) B = 1 1 All ones >> C = 5*ones(2, 3) C = All fives

16 Accessing Array Values A = A(1, 1) = ? A(2, 1) = ? etc. Use a colon to specify a range of values. 4:7 indicates and 7. A colon by itself indicates an entire row or column. B = B(2:3, 1:2) = ? B(1:2, :) = ? >> A = zeros(3, 3) >> B = [5 6; 7 8] >> A(1:2, 2:3) = B A = ?

17 Control Flow Conditional Example: if (A(1, 1) < 5) A(1, 1) = A(1, 1) + 1 end For loop example: for i = 1:5 A(i, 1) = 2*i; end Stepping by 2: for i = 2:2:10 A(i, 2) = 3; end Relational operators: == & | ~=

18 Matrix Operations Addition and Subtraction are pairwise by element: = ? Matrix Multiplication (*) * = ?32 Pairwise multiplication (.*) *= ? Matrix Division (/) (Multiply first matrix by inverse of second) Pairwise Division (./) /= ?