Edge Detection. CS664 Computer Vision. 3. Edges. Several Causes of Edges. Detecting Edges. Finite Differences. The Gradient

Similar documents
Edge Detection. Announcements. Edge detection. Origin of Edges. Mailing list: you should have received messages

Edge detection. Goal: Identify sudden. an image. Ideal: artist s line drawing. object-level knowledge)

Other Linear Filters CS 211A

Edge Detection. CSE 576 Ali Farhadi. Many slides from Steve Seitz and Larry Zitnick

Image Understanding Edge Detection

CS334: Digital Imaging and Multimedia Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

Edge detection. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

Edge Detection. Today s reading. Cipolla & Gee on edge detection (available online) From Sandlot Science

CS534: Introduction to Computer Vision Edges and Contours. Ahmed Elgammal Dept. of Computer Science Rutgers University

CS 4495 Computer Vision. Linear Filtering 2: Templates, Edges. Aaron Bobick. School of Interactive Computing. Templates/Edges

convolution shift invariant linear system Fourier Transform Aliasing and sampling scale representation edge detection corner detection

Digital Image Processing. Image Enhancement - Filtering

Lecture 7: Most Common Edge Detectors

Multimedia Computing: Algorithms, Systems, and Applications: Edge Detection

CS5670: Computer Vision

Edge Detection. EE/CSE 576 Linda Shapiro

Edge and corner detection

Edge detection. Gradient-based edge operators

Local Image preprocessing (cont d)

Edge Detection (with a sidelight introduction to linear, associative operators). Images

Edge detection. Winter in Kraków photographed by Marcin Ryczek

CS4670: Computer Vision Noah Snavely

Lecture 6: Edge Detection

Edge detection. Winter in Kraków photographed by Marcin Ryczek

Edge and Texture. CS 554 Computer Vision Pinar Duygulu Bilkent University

Comparison between Various Edge Detection Methods on Satellite Image

Edge Detection CSC 767

Prof. Feng Liu. Winter /15/2019

What is an edge? Paint. Depth discontinuity. Material change. Texture boundary

Solution: filter the image, then subsample F 1 F 2. subsample blur subsample. blur

Filtering Images. Contents

Anno accademico 2006/2007. Davide Migliore

Line, edge, blob and corner detection

Computer Vision I. Announcements. Fourier Tansform. Efficient Implementation. Edge and Corner Detection. CSE252A Lecture 13.

Digital Image Processing COSC 6380/4393

Computer Vision I. Announcement. Corners. Edges. Numerical Derivatives f(x) Edge and Corner Detection. CSE252A Lecture 11

Announcements. Edges. Last Lecture. Gradients: Numerical Derivatives f(x) Edge Detection, Lines. Intro Computer Vision. CSE 152 Lecture 10

Edge and local feature detection - 2. Importance of edge detection in computer vision

Biomedical Image Analysis. Point, Edge and Line Detection

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

Edge Detection. CMPUT 206: Introduction to Digital Image Processing. Nilanjan Ray. Source:

Edges and Binary Images

Image Processing. BITS Pilani. Dr Jagadish Nayak. Dubai Campus

Practical Image and Video Processing Using MATLAB

Segmentation and Grouping

Ulrik Söderström 16 Feb Image Processing. Segmentation

Image Processing

Image Processing. Traitement d images. Yuliya Tarabalka Tel.

Adaptative Elimination of False Edges for First Order Detectors

Edge detection. Stefano Ferrari. Università degli Studi di Milano Elaborazione delle immagini (Image processing I)

Review of Filtering. Filtering in frequency domain

Concepts in. Edge Detection

Feature Detectors - Sobel Edge Detector

Edge Detection. Computer Vision Shiv Ram Dubey, IIIT Sri City

An Algorithm for Blurred Thermal image edge enhancement for security by image processing technique

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies"

DIGITAL IMAGE PROCESSING

Image features. Image Features

Filtering and Edge Detection. Computer Vision I. CSE252A Lecture 10. Announcement

What Are Edges? Lecture 5: Gradients and Edge Detection. Boundaries of objects. Boundaries of Lighting. Types of Edges (1D Profiles)

Edge Detection. Ziv Yaniv School of Engineering and Computer Science The Hebrew University, Jerusalem, Israel.

Neighborhood operations

SURVEY ON IMAGE PROCESSING IN THE FIELD OF DE-NOISING TECHNIQUES AND EDGE DETECTION TECHNIQUES ON RADIOGRAPHIC IMAGES

Announcements. Edge Detection. An Isotropic Gaussian. Filters are templates. Assignment 2 on tracking due this Friday Midterm: Tuesday, May 3.

Lecture 4: Image Processing

Edge Detection Lecture 03 Computer Vision

Image Analysis. Edge Detection

IMAGE PROCESSING >FILTERS AND EDGE DETECTION FOR COLOR IMAGES UTRECHT UNIVERSITY RONALD POPPE

CS559: Computer Graphics. Lecture 6: Painterly Rendering and Edges Li Zhang Spring 2008

PERFORMANCE ANALYSIS OF CANNY AND OTHER COMMONLY USED EDGE DETECTORS Sandeep Dhawan Director of Technology, OTTE, NEW YORK

Filtering and Enhancing Images

Digital Image Processing (CS/ECE 545) Lecture 5: Edge Detection (Part 2) & Corner Detection

Algorithms for Edge Detection and Enhancement for Real Time Images: A Comparative Study

Straight Lines and Hough

REVIEW PAPER ON IMAGE EDGE DETECTION ALGORITHMS FOR SEGMENTATION

EECS490: Digital Image Processing. Lecture #19

Topic 4 Image Segmentation

School of Computing University of Utah

Chapter 3: Intensity Transformations and Spatial Filtering

Image gradients and edges April 11 th, 2017

Lecture 10 Detectors and descriptors

Image gradients and edges April 10 th, 2018

How and what do we see? Segmentation and Grouping. Fundamental Problems. Polyhedral objects. Reducing the combinatorics of pose estimation

Feature Detectors - Canny Edge Detector

Advanced Video Content Analysis and Video Compression (5LSH0), Module 4

[ ] Review. Edges and Binary Images. Edge detection. Derivative of Gaussian filter. Image gradient. Tuesday, Sept 16

SECTION 5 IMAGE PROCESSING 2

Image Analysis. Edge Detection

Image Segmentation Image Thresholds Edge-detection Edge-detection, the 1 st derivative Edge-detection, the 2 nd derivative Horizontal Edges Vertical

Sharpening through spatial filtering

Lecture: Edge Detection

SIFT - scale-invariant feature transform Konrad Schindler

A Robust Method for Circle / Ellipse Extraction Based Canny Edge Detection

Part 3: Image Processing

Concepts in. Edge Detection

PA2 Introduction to Tracking. Connected Components. Moving Object Detection. Pixel Grouping. After Pixel Grouping 2/19/17. Any questions?

Image gradients and edges

Outline 7/2/201011/6/

Computer Vision and Graphics (ee2031) Digital Image Processing I

Edge Detection. CSC320: Introduction to Visual Computing Michael Guerzhoy. René Magritte, Decalcomania. Many slides from Derek Hoiem, Robert Collins

Transcription:

Edge Detection CS664 Computer Vision. Edges Convert a gray or color image into set of curves Represented as binary image Capture properties of shapes Dan Huttenlocher Several Causes of Edges Sudden changes in various properties of scene can lead to intensity edges Scene changes result in changes of image brightness/color Change in surface normal Change in depth Change in surface marking Change in illumination Detecting Edges Seek sudden changes in intensity Various derivatives of image Idealized continuous image I(x,y) Gradient (first derivative), vector valued I = ( I/ x, I/ y) Squared gradient magnitude I = ( I/ x) + ( I/ y) Avoid computing square root Laplacian (second derivative) I = I/ x + I/ y 4 The Gradient Direction of most rapid change I = ( I/ x, 0) Gradient direction is atan( I/ y, I/ x) Normal to edge I = (0, I/ y) Strength of edge given by grad magnitude Often use squared magnitude to avoid computing square roots I = ( I/ x, I/ y) Finite Differences Images are digitized Idealized continuous underlying function I(x,y) realized as discrete values on a grid I[u,v] Approximations to derivatives (1D) df/dx F[u+1] F[u] d F/dx F[u-1] F[u] + F[u+1] 1 0 1 0 10 11 11 0 1-1 1-1 10 1 0-11 1 0 - - 11-9 -1-11 1 - First derivative shifts grid df: edge at extremum d F: edge at zero crossing 5 6

Discrete Gradient Partial derivatives estimated for boundaries between adjacent pixels E.g., pixel and next one in x,y directions Yields estimates at different points in each direction if use x,y directions 1 1 0 1 1 0 1 1 Generally use 45 directions to solve this Magnitude fine, but gradient orientation needs to be rotated to correspond to axes Estimating Discrete Gradient Gradient at u,v with 45 axes Down-right: I/ x I[u+1,v+1]-I[u,v] Down-left: I/ y I[u,v+1]-I[u+1,v] Handle image border, e.g., no change u,v u+1,v u,v+1 u+1,v+1 1 1 4 6 5 0 0 6 5 5 16 7 50 5 7 6 7 6-1 1 0 0 0-5 -1 1 1 6 1 1 1 6 7 7 1 1-1 0 0-4 -5 0 1 17 6 0 7 6 0 0 0 0 0 0 0 0 0 0 0 0 I I/ x I/ y I 7 8 Laplacian at u,v Discrete Laplacian I/ x = I[u-1,v]-I[u,v]+I[u+1,v] I/ y = I[u,v-1]-I[u,v]+I[u,v+1] I is sum of directional second derivatives: I[u-1,v]+I[u+1,v]+I[u,v-1]+I[u,v+1]-4I[u,v] Can view as x mask or kernel Value at u,v given by sum of product with I Grid yields poor rotational symmetry 1 1 1 1-4 1-4 1 1 1 Local Edge Detectors - Convolution Historically several local edge operators based on derivatives Simple local weighting over small set of pixels For example Sobel operator First derivatives in x and y Weighted sum x mask for symmetry Today can do better with larger masks, fast algorithms, faster computers -1 1 - -1 1 1 1-1 - -1 9 10 Problems With Local Detectors 1D example illustrates effect of noise (variation) on local measures Convolution and Derivatives Smooth and then take derivative 1D example 11 1

Derivatives and Convolutions Another useful identity for convolution is d/dx(a B)= (d/dx A) B = A (d/dx B) Use to skip one step in edge detection Area of Support for Derivative Operators Directional first derivatives and second derivative (Laplacian) of Gaussian Sigma controls scale, larger yields fewer edges Derivative of Gaussian Laplacian of Gaussian 1 14 Derivatives Using Convolution When smoothing all weights of mask h are positive Sum to 1 Maximum weight at center of mask For derivatives have negative weights Compute differences (derivatives) E.g., Laplacian H = 1 4 1 4-0 4 H F = F Sum to 0 1 4 1 Derivatives and Convolution Difference of image and smoothed version Original Smoothed Difference (brightened) 15 16 Approximation to Laplacian of Gaussian Linear Operators Linear shift invariant (LSI) system Given a black box h: f h g Linearity: af 1 +bf h ag 1 +bg Gaussian Laplacian of Gaussian Impulse (A G)-(A I) = A (G-I) ( G) A = (A G) Shift invariance: f(x-u) h g(x-u) Convolution with arbitrary h equivalent to these properties Beyond this course to show it Linearity is simple to understand but real world not always linear E.g., saturation effects 17 18

Gradient Magnitude Also use smoothed image (I h σ ) = (( (I h σ )/ x) + ( (I h σ )/ y) ).5 What Makes Good Edge Detector Goals for an edge detector Minimize probability of multiple detection Two pixels classified as edges corresponding to single underlying edge in image Minimize probability of false detection Minimize distance between reported edge and true edge location Canny analyzes in detail 1D step edge Shows that derivative of Gaussian is optimal with respect to above criteria Analysis does not extend easily to D 19 0 Canny Edge Detector Based on gradient magnitude and direction of Gaussian smoothed image Magnitude: (G σ I) Direction (unit vector): (G σ I) / (G σ I) Ridges in gradient magnitude Peaks in direction of gradient (normal to edge) but not along edge Hysteresis mechanism to threshold strong edges Ridge pixel above lo threshold Connected via ridge to pixel above hi threshold Canny Edge Definition Let (δ x,δ y ) = (G σ I) / (G σ I) Note compute without explicit square root Let m = (G σ I) Non-maximum suppression (NMS) m(x,y) >m(x+δ x (x,y),y+δ y (x,y)) m(x,y) m(x-δ x (x,y),y-δ y (x,y)) Select ridge points Still leaves many candidate edge pixels E.g., σ=1 1 Canny Thresholding Two level thresholding of candidate edge pixels (those that survive NMS) Above lo and connected to pixel above hi Start by keeping (classifying as edges) all candidates above hi threshold Recursively if pixel above lo threshold and adjacent to an edge pixel keep it Perform recursion using bfs/dfs E.g., σ=1, lo=5, hi=10 and lo=10, hi=0 Multiscale Edges Multi-scale image I(x,y,σ) = I(x,y) G σ (x,y) Extract edges at across scales Notion of scale-space introduced by Witkin 4

Scale Space As scale increases edge position can change edges can disappear new edges are not created Important to consider different scales Or know certain scale is important a priori 5