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

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

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

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

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

Multimedia Computing: Algorithms, Systems, and Applications: 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. Convert a 2D image into a set of curves. Extracts salient features of the scene More compact than pixels

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

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

Edge and corner detection

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

DIGITAL IMAGE PROCESSING

Anno accademico 2006/2007. Davide Migliore

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

Segmentation and Grouping

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

Other Linear Filters CS 211A

Review of Filtering. Filtering in frequency domain

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

Line, edge, blob and corner detection

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

Biomedical Image Analysis. Point, Edge and Line Detection

Image Analysis. Edge Detection

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

Features Points. Andrea Torsello DAIS Università Ca Foscari via Torino 155, Mestre (VE)

Augmented Reality VU. Computer Vision 3D Registration (2) Prof. Vincent Lepetit

Lecture 7: Most Common Edge Detectors

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

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

Computer Vision for HCI. Topics of This Lecture

Edges and Binary Images

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

Lecture 6: Edge Detection

CS5670: Computer Vision

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

The SIFT (Scale Invariant Feature

Does everyone have an override code?

Local Image preprocessing (cont d)

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

SIFT: SCALE INVARIANT FEATURE TRANSFORM SURF: SPEEDED UP ROBUST FEATURES BASHAR ALSADIK EOS DEPT. TOPMAP M13 3D GEOINFORMATION FROM IMAGES 2014

Image Analysis. Edge Detection

Digital Image Processing COSC 6380/4393

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

CS4670: Computer Vision Noah Snavely

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

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

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

Image Processing

Prof. Feng Liu. Spring /26/2017

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

Local Feature Detectors

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

BSB663 Image Processing Pinar Duygulu. Slides are adapted from Selim Aksoy

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

Computer Vision I - Basics of Image Processing Part 2

Prof. Feng Liu. Winter /15/2019

Edge Detection CSC 767

Edge Detection Lecture 03 Computer Vision

Feature Descriptors. CS 510 Lecture #21 April 29 th, 2013

Neighborhood operations

Digital Image Processing. Image Enhancement - Filtering

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

Feature Tracking and Optical Flow

EE795: Computer Vision and Intelligent Systems

Local Features: Detection, Description & Matching

Scott Smith Advanced Image Processing March 15, Speeded-Up Robust Features SURF

Lecture 6 Linear Processing. ch. 5 of Machine Vision by Wesley E. Snyder & Hairong Qi. Spring (CMU RI) : BioE 2630 (Pitt)

Edges and Binary Image Analysis April 12 th, 2018

Automatic Image Alignment (feature-based)

EE795: Computer Vision and Intelligent Systems

Topic 4 Image Segmentation

Local features: detection and description. Local invariant features

Feature descriptors. Alain Pagani Prof. Didier Stricker. Computer Vision: Object and People Tracking

Lesson 6: Contours. 1. Introduction. 2. Image filtering: Convolution. 3. Edge Detection. 4. Contour segmentation

Feature Tracking and Optical Flow

Wikipedia - Mysid

School of Computing University of Utah

Image features. Image Features

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

Introduction. Introduction. Related Research. SIFT method. SIFT method. Distinctive Image Features from Scale-Invariant. Scale.

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

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

SIFT - scale-invariant feature transform Konrad Schindler

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

CS5670: Computer Vision

Feature Detectors and Descriptors: Corners, Lines, etc.

CS 4495 Computer Vision A. Bobick. CS 4495 Computer Vision. Features 2 SIFT descriptor. Aaron Bobick School of Interactive Computing

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

Computer Vision I - Filtering and Feature detection

Introduction to Medical Imaging (5XSA0)

EN1610 Image Understanding Lab # 3: Edges

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

Motion illusion, rotating snakes

Lecture 4: Spatial Domain Transformations

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

Matching. Compare region of image to region of image. Today, simplest kind of matching. Intensities similar.

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

A Comparative Assessment of the Performances of Different Edge Detection Operator using Harris Corner Detection Method

Image Understanding Edge Detection

Transcription:

Announcement Edge and Corner Detection Slides are posted HW due Friday CSE5A Lecture 11 Edges Corners Edge is Where Change Occurs: 1-D Change is measured by derivative in 1D Numerical Derivatives f(x) Ideal Edge Smoothed Edge First Derivative Second Derivative Biggest change, derivative has maximum magnitude Or nd derivative is zero. X -h X X +h Take Taylor series expansion of f(x) about x f(x) = f(x )+f (x )(x-x ) + ½ f (x )(x-x ) + Consider samples taken at increments of h and first two terms of the expansion, we have f(x +h) = f(x )+f (x )h+ ½ f (x )h f(x -h) = f(x )-f (x )h+ ½ f (x )h Subtracting and adding f(x +h) and f(x -h) respectively yields f ( x + h) f ( x h) f '( x) = Convolve with h f ( x + h) f ( x) + f ( x h) f ''( x) = h x First Derivative: [-1 1] Second Derivative: [1-1] 1

Implementing 1-D Edge Detection 1. Filter out noise: convolve with Gaussian. Take a derivative: convolve with [-1 1] We can combine 1 and. 3. Find the peak: Two issues: Should be a local maximum. Should be sufficiently high. D Edge Detection: Canny 1. Filter out noise Use a D Gaussian Filter. Compute the derivative (gradient in D) J = G * I J = (J x, J y ) = J x, J is the Gradient y 3. Compute the magnitude of the gradient: J = J x + J y Next step Can next step, be the same for -D edge detector as in 1-D detector? Finding the maximum? NO!! Smoothing and Differentiation Need two derivatives, in x and y direction. Filter with Gaussian and then compute Gradient, OR Use a derivative of Gaussian filter because differentiation is convolution, and convolution is associative The maxima of a function are isolated points, not curves. σ G x Directional Derivatives θ Note: derivative can be positive or negative Finding derivatives Is this di/dx or di/dy? σ G y Gσ G cosθ + sinθ x y σ y x Image Derivative

Magnitude of the Gradient There is ALWAYS a tradeoff between smoothing and good edge localization! There are three major issues: 1. The gradient magnitude at different scales is different; which scale should we choose?. The gradient magnitude is large along a thick trail; how do we identify the significant points? 3. How do we link the relevant points up into curves? σ = 1 σ = Image + Noise Image with Edge (No Noise) Derivatives detect edge and noise Edge Location Smoothed derivative removes noise, but blurs edge Magnitude of Gradient Tangent Normal: In direction of grad σ = 1 pixel σ = 3 pixels σ = 7 pixels The scale of the smoothing filter affects derivative estimates We wish to mark points along the curve where the magnitude is biggest. We can do this by looking for a maximum along a slice normal to the curve (non-maximum suppression). These points should form a curve. There are then two algorithmic issues: which point is the maximum, and where is the next point on the curve? Non-maximum suppression Non-maximum suppression For every pixel in the image (e.g., q) we have an estimate of edge direction and edge normal (shown at q) Using normal at q, find two points p and r on adjacent rows (or columns). We have a maximum if the value is larger than those at both p and at r. Interpolate to get values. 3

Non-maximum suppression Predicting the next edge point Assume the marked point is an edge point. Then we construct the tangent to the edge curve (which is normal to the gradient at that point) and use this to predict the next points (here either r or s). Link together to create Image curve I HysteresisThresholding Start tracking an edge chain at pixel location that is local maximum of gradient magnitude where gradient magnitude > τ high. Follow edge in direction orthogonal to gradient. Stop when gradient magnitude < τ low. i.e., use a high threshold to start edge curves and a low threshold to continue them. τ high τ low Position along edge curve Input image Single Threshold T=15 T=5 Hysteresis T h =15 T l = 5 Hysteresis thresholding fine scale high threshold 4

coarse scale, high high threshold coarse scale Low high threshold Why is Canny so Dominant Widely used for 5 years. 1. Theory is nice (but most other detectors weren t better until learning-based detectors came along).. Details good (magnitude of gradient, non-max supression). 3. Hysteresis an important heuristic. 4. Code was distributed. Learning-based detectors: Not edges, but boundaries Brightness Color Texture Boundary detection Corner Detection Precision is the fraction of detections that are true positives rather than false positives, while recall is the fraction of true positives that are detected rather than missed. From Contours to Regions: An Empirical Evaluation, Arbelaez, M. Maire C. Fowlkes, and J. Malik, CVPR 8 5

Feature extraction: Corners and blobs Why extract features? Motivation: panorama stitching We have two images how do we combine them? Why extract features? Why extract features? Motivation: panorama stitching We have two images how do we combine them? Motivation: panorama stitching We have two images how do we combine them? Step 1: extract features Step : match features Step 1: extract features Step : match features Step 3: align images The Basic Idea We should easily recognize the point by looking through a small window Shifting a window in any direction should give a large change in intensity Edge Detectors Tend to Fail at Corners Source: A. Efros flat region: no change in all directions edge : no change along the edge direction corner : significant change in all directions Intuition: Right at corner, gradient is ill-defined. Near corner, gradient has two different values. 6

Distribution of gradients for different image patches Formula for Finding Corners Shi-Tomasi Detector We look at matrix: Sum over a small region Gradient with respect to x, times gradient with respect to y # I x I x I & y C(x, y) = % ( $ % I x I y I y '( Matrix is symmetric WHY THIS? General Case: What is region like if: 1. λ 1 =?. λ =? Because C is a symmetric positive definite matrix, it can be factored as follows: λ C = R 1 1 R λ 3. λ 1 = and λ =? 4. λ 1 > and λ >? Where R is a x rotation matrix and λ i is non-negative. Shi-Tomasi Corner Detector Filter image with a Gaussian. Compute the gradient everywhere. Move window over image and construct C over the window. # I x I x I & C(x, y) = % y ( $ % I x I y I y '( Use linear algebra to find λ 1 and λ. If they are both large, we have a corner. 1. Let e(x,y) = min(λ 1 (x,y), λ (x,y)). (x,y) is a corner if it s local maximum of e(x,y) and e(x,y) > τ Parameters: Gaussian std. dev, window size, threshold Corner Detection Sample Results Threshold=5, Threshold=1, Threshold=5, 7