September 26, 2013Computer Vision Lecture 8: Edge Detection II 1Gradient In the one-dimensional case, a step edge corresponds to a local peak in the first.

Slides:



Advertisements
Similar presentations
Boundary Detection - Edges Boundaries of objects –Usually different materials/orientations, intensity changes.
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Topic 6 - Image Filtering - I DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
EDGE DETECTION ARCHANA IYER AADHAR AUTHENTICATION.
Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision.
October 2, 2014Computer Vision Lecture 8: Edge Detection I 1 Edge Detection.
Sliding Window Filters and Edge Detection Longin Jan Latecki Computer Graphics and Image Processing CIS 601 – Fall 2004.
EDGE DETECTION.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Edge Detection. Our goal is to extract a “line drawing” representation from an image Useful for recognition: edges contain shape information –invariance.
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.
Canny Edge Detector1 1)Smooth image with a Gaussian optimizes the trade-off between noise filtering and edge localization 2)Compute the Gradient magnitude.
Edge Detection Phil Mlsna, Ph.D. Dept. of Electrical Engineering
Segmentation (Section 10.2)
EE663 Image Processing Edge Detection 3 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
October 8, 2013Computer Vision Lecture 11: The Hough Transform 1 Fitting Curve Models to Edges Most contours can be well described by combining several.
September 10, 2012Introduction to Artificial Intelligence Lecture 2: Perception & Action 1 Boundary-following Robot Rules 1  2  3  4  5.
Edge Detection Hao Huy Tran Computer Graphics and Image Processing CIS 581 – Fall 2002 Professor: Dr. Longin Jan Latecki.
Edge Detection (with implementation on a GPU) And Text Recognition (if time permits) Jared Barnes Chris Jackson.
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Image processing.
Edges. Edge detection schemes can be grouped in three classes: –Gradient operators: Robert, Sobel, Prewitt, and Laplacian (3x3 and 5x5 masks) –Surface.
EDGE DETECTION IN COMPUTER VISION SYSTEMS PRESENTATION BY : ATUL CHOPRA JUNE EE-6358 COMPUTER VISION UNIVERSITY OF TEXAS AT ARLINGTON.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
EE 4780 Edge Detection.
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
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.
Edge Detection and Geometric Primitive Extraction Jinxiang Chai.
Autonomous Robots Vision © Manfred Huber 2014.
October 16, 2014Computer Vision Lecture 12: Image Segmentation II 1 Hough Transform The Hough transform is a very general technique for feature detection.
Chapter 9: Image Segmentation
October 1, 2013Computer Vision Lecture 9: From Edges to Contours 1 Canny Edge Detector However, usually there will still be noise in the array E[i, j],
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.
Course 5 Edge Detection. Image Features: local, meaningful, detectable parts of an image. edge corner texture … Edges: Edges points, or simply edges,
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 Image Features Instructor: Dr. Sherif Sami Lecture 4.
Instructor: Mircea Nicolescu Lecture 7
Lecture 8: Edges and Feature Detection
Sliding Window Filters Longin Jan Latecki October 9, 2002.
Detection of nerves in Ultrasound Images using edge detection techniques NIRANJAN TALLAPALLY.
1 Edge Operators a kind of filtering that leads to useful features.
Edges Edges = jumps in brightness/color Brightness jumps marked in white.
April 21, 2016Introduction to Artificial Intelligence Lecture 22: Computer Vision II 1 Canny Edge Detector The Canny edge detector is a good approximation.
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.
Fourier Transform: Real-World Images
Edge Detection CS 678 Spring 2018.
Fitting Curve Models to Edges
Edge Detection The purpose of Edge Detection is to find jumps in the brightness function (of an image) and mark them.
Computer Vision Lecture 9: Edge Detection II
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Dr. Chang Shu COMP 4900C Winter 2008
Computer Vision Lecture 16: Texture II
a kind of filtering that leads to useful features
a kind of filtering that leads to useful features
Lecture 2: Edge detection
Canny Edge Detector.
CS 565 Computer Vision Nazar Khan Lecture 9.
Canny Edge Detector Smooth image with a Gaussian
Introduction to Artificial Intelligence Lecture 22: Computer Vision II
Presentation transcript:

September 26, 2013Computer Vision Lecture 8: Edge Detection II 1Gradient In the one-dimensional case, a step edge corresponds to a local peak in the first derivative of the intensity function. In the two-dimensional case, we analyze the gradient instead of the first derivative. Just like the first derivative, the gradient measures the change in a function. For two-dimensional functions it is defined as

September 26, 2013Computer Vision Lecture 8: Edge Detection II 2Gradient Gradients of two-dimensional functions: The two-dimensional function in the left diagram is represented by contour lines in the right diagram, where arrows indicate the gradient of the function at different locations. Obviously, the gradient is always pointing in the direction of the steepest increase of the function.

September 26, 2013Computer Vision Lecture 8: Edge Detection II 3Gradient In order to compute G x and G y in an image F at position [i, j], we need to consider the discrete case and get: G i = F[i+1, j] – F[i, j] G j = F[i, j+1] – F[i, j] This can be done with convolution filters: Gj =Gj =Gj =Gj = Gi =Gi =Gi =Gi = To be precise in the assignment of gradients to pixels and to reduce noise, we usually apply 3  3 filters instead (next slide).

September 26, 2013Computer Vision Lecture 8: Edge Detection II 4 Sobel Filters Sobel filters are the most common variant of edge detection filters.Sobel filters are the most common variant of edge detection filters. Two small convolution filters are used successively:Two small convolution filters are used successively: SjSjSjSj SiSiSiSi

September 26, 2013Computer Vision Lecture 8: Edge Detection II 5 Sobel Filters Sobel filters yield two interesting pieces of information: The magnitude of the gradient (local change in brightness): The magnitude of the gradient (local change in brightness): The angle of the gradient (tells us about the orientation of an edge): The angle of the gradient (tells us about the orientation of an edge):

September 26, 2013Computer Vision Lecture 8: Edge Detection II 6 Sobel Filters Calculating the magnitude of the brightness gradient with a Sobel filter. Left: original image; right: filtered image.

September 26, 2013Computer Vision Lecture 8: Edge Detection II 7 Laplacian Filters Let us take a look at the one-dimensional case:Let us take a look at the one-dimensional case: A change in brightness:A change in brightness: Its first derivative:Its first derivative: Its second derivative:Its second derivative:

September 26, 2013Computer Vision Lecture 8: Edge Detection II 8 Laplacian Filters Idea: Smooth the image, Smooth the image, compute the second derivative of the (2D) image, compute the second derivative of the (2D) image, Find the pixels where the brightness function “crosses” 0 and mark them. Find the pixels where the brightness function “crosses” 0 and mark them. We can actually devise convolution filters that carry out the smoothing and the computation of the second derivative.

September 26, 2013Computer Vision Lecture 8: Edge Detection II 9 Laplacian Filters

September 26, 2013Computer Vision Lecture 8: Edge Detection II 10 Laplacian Filters Since we want the computation centered at [i,j]: Obviously, each function can be computed using a 1, -2, 1 convolution filter in horizontal or vertical direction. Since  2 is defined as the sum of these two functions, we can use a single 3  3 (or larger) convolution filter for its computation (next slide).

September 26, 2013Computer Vision Lecture 8: Edge Detection II 11 Laplacian Filters Continuous variant: Discrete variants (applied after smoothing):

September 26, 2013Computer Vision Lecture 8: Edge Detection II 12 Laplacian Filters Let us apply a Laplacian filter to the same image:

September 26, 2013Computer Vision Lecture 8: Edge Detection II 13 Laplacian Filters 3  3 Laplacian 5  5 Laplacian zero detection 7  7 Laplacian

September 26, 2013Computer Vision Lecture 8: Edge Detection II 14 Gaussian Edge Detection As you know, one of the problems in edge detection is the noise in the input image. Noise creates lots of local intensity gradients that can trigger unwanted responses by edge detection filters. We can reduce noise through (Gaussian) smoothing, but there is a trade-off: Stronger smoothing will remove more of the noise, but will also add uncertainty to the location of edges. For example, if two parallel edges are close to each other and we use a strong (i.e., large) Gaussian filter, these edges may be merged into one.

September 26, 2013Computer Vision Lecture 8: Edge Detection II 15 Canny Edge Detector The Canny edge detector is a good approximation of the optimal operator, i.e., the one that maximizes the product of signal-to-noise ratio and localization. Basically, the Canny edge detector is the first derivative of a Gaussian function. Let I[i, j] be our input image. We apply our usual Gaussian filter with standard deviation  to this image to create a smoothed image S[i, j]: S[i, j] = G[i, j;  ] * I[i, j]

September 26, 2013Computer Vision Lecture 8: Edge Detection II 16 Canny Edge Detector In the next step, we take the smoothed array S[i, j] and compute its gradient. We apply 2  2 filters to approximate the vertical derivative P[i, j] and the horizontal derivative Q[i, j]: P[i, j]  (S[i+1, j] – S[i, j] + S[i+1, j+1] – S[i, j+1])/2 Q[i, j]  (S[i, j+1] – S[i, j] + S[i+1, j+1] – S[i+1, j])/2 As you see, we average over the 2  2 square so that the point for which we compute the gradient is the same for the horizontal and vertical components (the center of the 2  2 square).

September 26, 2013Computer Vision Lecture 8: Edge Detection II 17 Canny Edge Detector P and Q can be computed using 2  2 convolution filters: P: Q: We use the upper left element as the reference point of the filter. That means when we place the filter on the image, the location of the upper left element indicates where to enter the resulting value into the new image.

September 26, 2013Computer Vision Lecture 8: Edge Detection II 18 Canny Edge Detector Once we have computed P[i, j] and Q[i, j], we can also compute the magnitude and orientation of the gradient vector at position [i, j]: This is exactly the information that we want – it tells us where edges are, how significant they are, and what their orientation is. However, this information is still very noisy.

September 26, 2013Computer Vision Lecture 8: Edge Detection II 19 Canny Edge Detector The first problem is that edges in images are not usually indicated by perfect step edges in the brightness function. Brightness transitions usually have a certain slope that extends across many pixels. As a consequence, edges typically lead to wide lines of high gradient magnitude. However, we would like to find thin lines that most precisely describe the boundary between two objects. This can be achieved with the nonmaxima suppression technique.

September 26, 2013Computer Vision Lecture 8: Edge Detection II 20 Canny Edge Detector We first assign a sector  [i, j] to each pixel according to its associated gradient orientation  [i, j]. There are four sectors with numbers 0, …, 3: 270  90  225  180  135  45  0000 315 

September 26, 2013Computer Vision Lecture 8: Edge Detection II 21 Canny Edge Detector Then we iterate through the array M[i, j] and compare each element to two of its 8-neighbors. Which two neighbors we choose depends on the value of  [i, j]. In the following diagram, the numbers in the neighboring squares of [i, j] indicate the value of  [i, j] for which these neighbors are chosen: 103 2[i,j]2 301

September 26, 2013Computer Vision Lecture 8: Edge Detection II 22 Canny Edge Detector If the value of M[i, j] is less than either of the M-values in these two neighboring positions, set E[i, j] = 0. Otherwise, set E[i, j] = M[i, j]. The resulting array E[i, j] is of the same size as M[i, j] and contains values greater than zero only at local maxima of gradient magnitude (measured in local gradient direction). Notice that an edge in an image always induces an intensity gradient that is perpendicular to the orientation of the edge. Thus, this nonmaxima suppression technique thins the detected edges to a width of one pixel.