Computer Vision Image Features Instructor: Dr. Sherif Sami Lecture 4.

Slides:



Advertisements
Similar presentations
EDGE DETECTION ARCHANA IYER AADHAR AUTHENTICATION.
Advertisements

Instructor: Mircea Nicolescu Lecture 6 CS 485 / 685 Computer Vision.
DREAM PLAN IDEA IMPLEMENTATION Introduction to Image Processing Dr. Kourosh Kiani
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.
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.
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
Edge Detection Today’s reading Forsyth, chapters 8, 15.1
CS485/685 Computer Vision Dr. George Bebis
Segmentation (Section 10.2)
Introduction to Computer Vision CS / ECE 181B Thursday, April 22, 2004  Edge detection (HO #5)  HW#3 due, next week  No office hours today.
EE663 Image Processing Edge Detection 3 Dr. Samir H. Abdul-Jauwad Electrical Engineering Department King Fahd University of Petroleum & Minerals.
Edge Detection Today’s readings Cipolla and Gee –supplemental: Forsyth, chapter 9Forsyth Watt, From Sandlot ScienceSandlot Science.
Edge detection Goal: Identify sudden changes (discontinuities) in an image Intuitively, most semantic and shape information from the image can be encoded.
Neighborhood Operations
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30 – 11:50am.
Edge Detection & Image Segmentation Dr. Md. Altab Hossain Associate Professor Dept. of Computer Science & Engineering, RU 1.
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
Edge Detection Edge detection Convert a 2D image into a set of curves Extracts salient features of the scene More compact than pixels.
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 Today’s reading Cipolla & Gee on edge detection (available online)Cipolla & Gee on edge detection Szeliski, Ch 4.1.2, From Sandlot.
Instructor: S. Narasimhan
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.
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.
Brent M. Dingle, Ph.D Game Design and Development Program Mathematics, Statistics and Computer Science University of Wisconsin - Stout Edge Detection.
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],
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities May 2, 2005 Prof. Charlene Tsai.
EDGE DETECTION Instructor: Dr. Engr. Junaid Zafar.
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.
Instructor: Mircea Nicolescu Lecture 7
Instructor: Mircea Nicolescu Lecture 5 CS 485 / 685 Computer Vision.
Lecture 8: Edges and Feature Detection
Digital Image Processing CSC331
Image Features (I) Dr. Chang Shu COMP 4900C Winter 2008.
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.
1 Edge Operators a kind of filtering that leads to useful features.
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 Dr. Amnach Khawne. Basic concept An edge in an image is defined as a position where a significant change in gray-level values occur. An.
Edge Detection Images and slides from: James Hayes, Brown University, Computer Vision course Svetlana Lazebnik, University of North Carolina at Chapel.
Edge Detection slides taken and adapted from public websites:
Digital Image Processing Lecture 16: Segmentation: Detection of Discontinuities Prof. Charlene Tsai.
Edge Detection CS485/685 Computer Vision Dr. George Bebis.
Edge Detection CS 678 Spring 2018.
Jeremy Bolton, PhD Assistant Teaching Professor
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.
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.
Edge Detection Today’s reading
Canny Edge Detector Smooth image with a Gaussian
Lecture 2: Edge detection
IT472 Digital Image Processing
IT472 Digital Image Processing
Presentation transcript:

Computer Vision Image Features Instructor: Dr. Sherif Sami Lecture 4

2 Image Features Image features – may appear in two contexts: −Global properties of the image (average gray level, etc) – global features −Parts of the image with special properties (line, circle, textured region) – local features Here, assume second context for image features: −Local, meaningful, detectable parts of the image Detection of image features −Detection algorithms – produce feature descriptors −Example – line segment descriptor: coordinates of mid-point, length, orientation

3 Edge Detection Definition of edges −Edges are significant local changes of intensity in an image. −Edges typically occur on the boundary between two different regions in an image.

4 Edge Detection Examples:

5 Edge Detection Goal of edge detection −Produce a line drawing of a scene from an image of that scene. −Important features can be extracted from the edges of an image (e.g., corners, lines, curves). −These features are used by higher-level computer vision algorithms (e.g., segmentation, recognition).

6 Edge Detection Not that easy:

7 Edge Detection What causes intensity changes? −Geometric events −object boundary (discontinuity in depth and/or surface color and texture) −surface boundary (discontinuity in surface orientation and/or surface color and texture) −Non-geometric events −specularity −shadows (from other objects or from the same object) −inter-reflections

8 Edge Detection Edge descriptors −Edge normal: unit vector in the direction of maximum intensity change. −Edge direction: unit vector to perpendicular to the edge normal. −Edge position or center: the image position at which the edge is located. −Edge strength: related to the local image contrast along the normal.

9 Modeling Intensity Changes 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.

10 Modeling Intensity Changes Ridge edge: −the image intensity abruptly changes value but then returns to the starting value within some short distance −generated usually by lines

11 Modeling Intensity Changes 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

12 Edge Detection The four steps of edge detection: −Smoothing: suppress as much noise as possible, without destroying the true edges. −Enhancement: apply a filter that responds to edges in the image −Detection: determine which edge pixels should be discarded as noise and which should be retained (usually, thresholding provides the criterion used for detection). −Localization: determine the exact location of an edge (sub-pixel resolution might be required for some applications, that is, estimate the location of an edge to better than the spacing between pixels). Edge thinning and linking are usually required in this step.

13 Edge Detection Edge detection using derivatives −Calculus describes changes of continuous functions using derivatives. −An image is a 2D function, so operators describing edges are expressed using partial derivatives. −Points which lie on an edge can be detected by either: −detecting local maxima or minima of the first derivative −detecting the zero-crossing of the second derivative

14 Edge Detection Edge detection using derivatives – cont.

15 Edge Detection Differencing 1D signals: −To compute the derivative of a signal, we approximate the derivative by finite differences Computing the 1 st derivative:

16 Edge Detection Computing the 1 st derivative – cont. Backward difference Forward difference Central difference

17 Edge Detection Computing the 1 st derivative – cont. −Examples using the edge models and the mask [ ] (centered about x):

18 Edge Detection Computing the 2 nd derivative: −This approximation is centered about x + 1 −By replacing x + 1 by x we obtain:

19 Edge Detection Computing the 2 nd derivative – cont.

20 Edge Detection Computing the 2 nd derivative – cont. −Examples using the edge models:

21 Edge Detection Image derivatives: Image I

22 Edge Detection Image derivatives: Image I

23 Derivatives and Noise Derivatives are strongly affected by noise −obvious reason: image noise results in pixels that look very different from their neighbors −The larger the noise - the stronger the response What is to be done? −Neighboring pixels look alike −Pixel along an edge look alike −Image smoothing should help −Force pixels different to their neighbors (possibly noise) to look like neighbors

24 Derivatives and Noise Increasing noise −Need to perform image smoothing as a preliminary step −Generally – use Gaussian smoothing

25 Edge Detection Gradient operators −Roberts −Prewitt −Sobel Gradient of Gaussian (Canny) Laplacian of Gaussian (Marr-Hildreth) Facet Model Based Edge Detector (Haralick) Possible detectors:

26 Edge Detection Using the Gradient Definition of the gradient: To save computations, the magnitude of gradient is usually approximated by:

27 Edge Detection Using the Gradient Properties of the gradient: −The magnitude of gradient provides information about the strength of the edge −The direction of gradient is always perpendicular to the direction of the edge Main idea: −Compute derivatives in x and y directions −Find gradient magnitude −Threshold gradient magnitude

28 Edge Detection Using the Gradient Estimating the gradient with finite differences −Approximation by finite differences:

29 Edge Detection Using the Gradient Using pixel-coordinate notation (remember: j corresponds to the x direction and i to the negative y direction):

30 Edge Detection Using the Gradient Example: −Suppose we want to approximate the gradient magnitude at z 5 We can implement  I/  x and  I/  y using the following masks: Note: M x is the approximation at (i, j + 1/2) and M y is the approximation at (i + 1/2, j)

31 Edge Detection Using the Gradient The Roberts edge detector This approximation can be implemented by the following masks: Note: M x and M y are approximations at (i + 1/2, j + 1/2)

32 Edge Detection Using the Gradient The Prewitt edge detector −The partial derivatives can be computed by: Note: M x and M y are approximations at (i, j)) −Consider the arrangement of pixels about the pixel (i, j): −The constant c implies the emphasis given to pixels closer to the center of the mask. −Setting c = 1, we get the Prewitt operator:

33 Edge Detection Using the Gradient The Sobel edge detector Note: M x and M y are approximations at (i, j)) −Setting c = 2, we get the Sobel operator:

34 Edge Detection Using the Gradient Main steps in edge detection using masks:

35 Edge Detection Using the Gradient (an example using the Prewitt edge detector - don’t divide by 2)

36 Edge Detection Using the Gradient Example:

37 Edge Detection Using the Gradient Example – cont.:

38 Edge Detection Using the Gradient Example – cont.:

39 Edge Detection Using the Gradient

40 Edge Detection Using the Gradient

41 Edge Detection Using the Gradient Isotropic property of gradient magnitude: −The magnitude of gradient is an isotropic operator (it detects edges in any direction !!)

42 Edge Detection Practical issues: −Differential masks act as high-pass filters – tend to amplify noise. −Reduce the effects of noise - first smooth with a low-pass filter. 1)The noise suppression-localization tradeoff −a larger filter reduces noise, but worsens localization (i.e., it adds uncertainty to the location of the edge) and vice-versa.

43 Edge Detection 2)How should we choose the threshold?

44 Edge Detection 3)Edge thinning and linking −required to obtain good contours

45 Edge Detection −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 constraint: the detector must return one point only for each true edge point; that is, minimize the number of local maxima around the true edge Criteria for optimal edge detection:

46 Edge Detection Examples: True edge Poor robustness to noise Poor localization Too many responses

47 The Canny Edge Detector −This is probably the most widely used edge detector in computer vision. −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. −His analysis is based on "step-edges" corrupted by "additive Gaussian noise". The Canny edge detector:

48 The Canny Edge Detector

49 The Canny Edge Detector The derivative of the Gaussian:

50 The Canny Edge Detector Canny – smoothing and derivatives:

51 The Canny Edge Detector Canny – gradient magnitude: imagegradient magnitude

52 Edge Detection −To find the edge points, we need to find the local maxima of the gradient magnitude. −Broad ridges must be thinned so that only the magnitudes at the points of greatest local change remain. −All values along the direction of the gradient that are not peak values of a ridge are suppressed. Non-maxima suppression

53 Edge Detection Non-maxima suppression – cont.

54 Edge Detection Non-maxima suppression – cont. −What are the neighbors? −Look along gradient normal −Quantization of normal directions:

55 Edge Detection Canny – Non-maxima suppression: gradient magnitudethinned

56 Edge Detection −The output of non-maxima suppression still contains the local maxima created by noise. −Can we get rid of them just by using a single threshold? −if we set a low threshold, some noisy maxima will be accepted too. −if we set a high threshold, true maxima might be missed (the value of true maxima will fluctuate above and below the threshold, fragmenting the edge). Hysteresis thresholding / Edge linking −A more effective scheme is to use two thresholds: −a low threshold t l −a high threshold t h −usually, t h ≈ 2t l

57 Edge Detection Hysteresis thresholding / Edge linking – cont. −The algorithm performs edge linking as a by-product of double- thresholding !!

58 Edge Detection Canny – Hysteresis thresholding / Edge linking thinned

59 Edge Detection

60 Edge Detection