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

Similar documents
Review of Filtering. Filtering in frequency domain

Edges and Binary Images

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

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

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

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

Edge Detection CSC 767

Does everyone have an override code?

DIGITAL IMAGE PROCESSING

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

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

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

Edge and corner detection

CS5670: Computer Vision

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

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

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

Prof. Feng Liu. Winter /15/2019

Edge Detection. EE/CSE 576 Linda Shapiro

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

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

CS 2770: Computer Vision. Edges and Segments. Prof. Adriana Kovashka University of Pittsburgh February 21, 2017

CS4670: Computer Vision Noah Snavely

Image Analysis. Edge Detection

Image gradients and edges April 11 th, 2017

Image gradients and edges April 10 th, 2018

Low-level Vision Processing Algorithms Speaker: Ito, Dang Supporter: Ishii, Toyama and Y. Murakami

Image gradients and edges

Image gradients and edges

Image Analysis. Edge Detection

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

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

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

Lecture 7: Most Common Edge Detectors

Digital Image Processing COSC 6380/4393

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

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

Lecture 6: Edge Detection

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

Filtering in frequency domain

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

Filters and Pyramids. CSC320: Introduction to Visual Computing Michael Guerzhoy. Many slides from Steve Marschner, Alexei Efros

Edges and Binary Image Analysis April 12 th, 2018

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

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

2%34 #5 +,,% ! # %& ()% #% +,,%. & /%0%)( 1 ! # %& % %()# +(& ,.+/ +&0%//#/ &

Lecture 4: Finding lines: from detection to model fitting

Other Linear Filters CS 211A

Image Processing

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

Anno accademico 2006/2007. Davide Migliore

Digital Image Processing. Image Enhancement - Filtering

Edges and Binary Image Analysis. Thurs Jan 26 Kristen Grauman UT Austin. Today. Edge detection and matching

Neighborhood operations

Edge Detection Lecture 03 Computer Vision

Filtering Applications & Edge Detection. GV12/3072 Image Processing.

Comparison between Various Edge Detection Methods on Satellite Image

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

Biomedical Image Analysis. Point, Edge and Line Detection

Straight Lines and Hough

Previously. Edge detection. Today. Thresholding. Gradients -> edges 2/1/2011. Edges and Binary Image Analysis

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

Boundaries and Sketches

Edge detection. Gradient-based edge operators

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

Segmentation and Grouping

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

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

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

Topic 4 Image Segmentation

Feature Detectors - Sobel Edge Detector

Feature Detectors - Canny Edge Detector

Lecture 9: Hough Transform and Thresholding base Segmentation

Image features. Image Features

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

Robust Zero Watermarking for Still and Similar Images Using a Learning Based Contour Detection

EDGE BASED REGION GROWING

Local Image preprocessing (cont d)

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

Computer Vision I - Basics of Image Processing Part 2

Types of Edges. Why Edge Detection? Types of Edges. Edge Detection. Gradient. Edge Detection

the most common approach for detecting meaningful discontinuities in gray level. we discuss approaches for implementing

Motion illusion, rotating snakes

SRCEM, Banmore(M.P.), India

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

Comparison of Some Motion Detection Methods in cases of Single and Multiple Moving Objects

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

Vehicle Image Classification using Image Fusion at Pixel Level based on Edge Image

Performance Evaluation of Edge Detection Techniques for Images in Spatial Domain

Classification and Detection in Images. D.A. Forsyth

Edges, interpolation, templates. Nuno Vasconcelos ECE Department, UCSD (with thanks to David Forsyth)

Image Processing. Traitement d images. Yuliya Tarabalka Tel.

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

Image Understanding Edge Detection

EN1610 Image Understanding Lab # 3: Edges

Detection of Edges Using Mathematical Morphological Operators

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

Comparative Analysis of Various Edge Detection Techniques in Biometric Application

CS 558: Computer Vision 3 rd Set of Notes

Linear Operations Using Masks

Transcription:

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

Discontinuities in Intensity Source: Robert Collins

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

Boundaries of objects

Boundaries of material properties

Boundaries of Lighting

Characterizing edges An edge is a place of rapid change in the image intensity function image intensity function (along horizontal scanline) first derivative edges correspond to extrema of derivative

Intensity profile Intensity Gradient

With a little Gaussian noise Gradient

Effects of noise Consider a single row or column of the image Plotting intensity as a function of position gives a signal Where is the edge? Source: S. Seitz

Effects of noise Difference filters respond strongly to noise Image noise results in pixels that look very different from their neighbors Generally, the larger the noise the stronger the response What can we do about it? Source: D. Forsyth

Solution: smooth first f g f * g d dx ( f g) d dx To find edges, look for peaks in ( f g) Source: S. Seitz

Derivative theorem of convolution Differentiation is convolution, and convolution is associative: d d ( f g) f g dx dx This saves us one operation: f d dx g f d dx g Source: S. Seitz

Derivative of Gaussian filter * [1 0-1] =

Derivative of Gaussian filter x-direction y-direction

Terminology Edge normal: unit vector in the direction of maximum intensity change. Edge direction: unit vector along edge (perpendicular to edge normal). Edge position or center: the image position at which the edge is located. Edge strength or magnitude: local image contrast along the normal. If the edge direction is (u, v), the edge normal is (-v, u) (or (v, -u) Local image contrast at (x, y) along (u, -v): something like I(x+u, x-v)-i(x-u, x+v).

Gradients (derivatives) of 2D images

Why? The direction of the gradient is always uphill on the surface In in image, towards brightest point in the neighbourhood If we need to go mostly in the x direction, will be larger than

Reminder: How to Computer Image Derivatives? di/dx 1 2 1 0 0 0-1 -2-1

Simple Edge Detection Using Gradients Compute gradient vector at each pixel by convolving image with horizontal and vertical derivative filters Compute gradient magnitude at each pixel If magnitude at a pixel exceeds a threshold, report a possible edge point.

Compute Spatial Image Gradients

Simple Edge Detection Using Gradients Compute gradient vector at each pixel by convolving image with horizontal and vertical derivative filters Compute gradient magnitude at each pixel If magnitude at a pixel exceeds a threshold, report a possible edge point.

Compute Gradient Magnitude

Simple Edge Detection Using Gradients Compute gradient vector at each pixel by convolving image with horizontal and vertical derivative filters Compute gradient magnitude at each pixel If magnitude at a pixel exceeds a threshold, report a possible edge point.

How to choose the threshold?

Smoothing vs. Localization

Edge Thinning and Linking

Canny edge detection: non-maximum suppression We want to suppress points along the curve where the magnitude is non-maximal We do this by looking for a maximum along the normal to the edge (i.e., along the gradient

Non-maximum suppression for each orientation At q, we have a maximum if the value is larger than those at both p and at r. Interpolate to get these values. Source: D. Forsyth

Which threshold to pick? If the threshold is too high, we get gaps If the threshold is too low, extra edges

Canny: Hysteresis Thresholding Keep both a high threshold H and a low threshold L Any edges with strength <L are discarded Any edges with strength >H are kept An edge P with strength between L and H is kept only if there is a pth of edges with strength >L connecting P to an edge of strength >H

Aside ὑστέρησις: Deficiency, lagging behind Wikipedia: [T]he dependence of the output of a system not only on its current input, but also on its history of past inputs

Hysteresis thresholding Check that maximum value of gradient value is sufficiently large drop-outs? use hysteresis use a high threshold to start edge curves and a low threshold to continue them. Source: S. Seitz

Hysteresis Thresholding

Effect of (Gaussian kernel spread/size) original Canny with Canny with The choice of depends on desired behavior large detects large scale edges small detects fine features Source: S. Seitz

Canny edge detector Source: D. Lowe, L. Fei-Fei

Learning to detect boundaries image human segmentation gradient magnitude Berkeley segmentation database: http://www.eecs.berkeley.edu/research/projects/cs/vision/grouping/segbench/

pb boundary detector Martin, Fowlkes, Malik 2004: Learning to Detection Natural Boundaries http://www.eecs.berkeley.edu/research/projects/c S/vision/grouping/papers/mfm-pami-boundary.pdf Figure from Fowlkes

pb Boundary Detector Figure from Fowlkes

Brightness Color Texture Combined Human

Results Pb (0.88) Human (0.95)

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

Human (0.95) Pb (0.63)

Pb (0.35) Human (0.90) For more: http://www.eecs.berkeley.edu/research/projects /CS/vision/bsds/bench/html/108082-color.html

State of edge detection Local edge detection is mostly solved Intensity gradient, color, texture Some methods to take into account longer contours, but could probably do better Poor use of object and high-level information