Edge detection f(x,y) viewed as a smooth function

Slides:



Advertisements
Similar presentations
Feature extraction: Corners
Advertisements

Feature Detection. Description Localization More Points Robust to occlusion Works with less texture More Repeatable Robust detection Precise localization.
CSE 473/573 Computer Vision and Image Processing (CVIP)
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
TP14 - Local features: detection and description Computer Vision, FCUP, 2014 Miguel Coimbra Slides by Prof. Kristen Grauman.
CSE 473/573 Computer Vision and Image Processing (CVIP)
Distinctive Image Features from Scale- Invariant Keypoints Mohammad-Amin Ahantab Technische Universität München, Germany.
Matching with Invariant Features
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
Lecture 4: Feature matching
Feature matching and tracking Class 5 Read Section 4.1 of course notes Read Shi and Tomasi’s paper on.
Feature extraction: Corners and blobs
Feature tracking Class 5 Read Section 4.1 of course notes Read Shi and Tomasi’s paper on good features.
Scale Invariant Feature Transform (SIFT)
Blob detection.
Lecture 3a: Feature detection and matching CS6670: Computer Vision Noah Snavely.
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
CS4670: Computer Vision Kavita Bala Lecture 7: Harris Corner Detection.
CS4670: Computer Vision Kavita Bala Lecture 8: Scale invariance.
776 Computer Vision Jan-Michael Frahm, Enrique Dunn Spring 2013.
Distinctive Image Features from Scale-Invariant Keypoints David G. Lowe – IJCV 2004 Brien Flewelling CPSC 643 Presentation 1.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
Computer vision.
Local invariant features Cordelia Schmid INRIA, Grenoble.
Lecture 06 06/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Reporter: Fei-Fei Chen. Wide-baseline matching Object recognition Texture recognition Scene classification Robot wandering Motion tracking.
776 Computer Vision Jan-Michael Frahm Fall SIFT-detector Problem: want to detect features at different scales (sizes) and with different orientations!
CSE 185 Introduction to Computer Vision Local Invariant Features.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
776 Computer Vision Jan-Michael Frahm, Enrique Dunn Spring 2013.
Lecture 7: Features Part 2 CS4670/5670: Computer Vision Noah Snavely.
Distinctive Image Features from Scale-Invariant Keypoints Ronnie Bajwa Sameer Pawar * * Adapted from slides found online by Michael Kowalski, Lehigh University.
Harris Corner Detector & Scale Invariant Feature Transform (SIFT)
Distinctive Image Features from Scale-Invariant Keypoints David Lowe Presented by Tony X. Han March 11, 2008.
Feature extraction: Corners and blobs. Why extract features? Motivation: panorama stitching We have two images – how do we combine them?
A Tutorial on using SIFT Presented by Jimmy Huff (Slightly modified by Josiah Yoder for Winter )
Features Jan-Michael Frahm.
CS654: Digital Image Analysis
Presented by David Lee 3/20/2006
Projects Project 1a due this Friday Project 1b will go out on Friday to be done in pairs start looking for a partner now.
CSE 185 Introduction to Computer Vision Local Invariant Features.
Lecture 10: Harris Corner Detector CS4670/5670: Computer Vision Kavita Bala.
Keypoint extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
SIFT.
SIFT Scale-Invariant Feature Transform David Lowe
CS262: Computer Vision Lect 09: SIFT Descriptors
Interest Points EE/CSE 576 Linda Shapiro.
Presented by David Lee 3/20/2006
Lecture 07 13/12/2011 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
Distinctive Image Features from Scale-Invariant Keypoints
Scale Invariant Feature Transform (SIFT)
SIFT paper.
TP12 - Local features: detection and description
Lecture 4: Harris corner detection
Feature description and matching
Corners and Interest Points
CAP 5415 Computer Vision Fall 2012 Dr. Mubarak Shah Lecture-5
From a presentation by Jimmy Huff Modified by Josiah Yoder
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
Lecture 5: Feature detection and matching
Interest Points & Descriptors 3 - SIFT
Announcement Project 1 1.
SIFT.
Lecture VI: Corner and Blob Detection
SIFT SIFT is an carefully designed procedure with empirically determined parameters for the invariant and distinctive features.
Presented by Xu Miao April 20, 2005
Presentation transcript:

Edge detection f(x,y) viewed as a smooth function not that simple!!! a continuous view, a discrete view, higher order lattice, … Taylor expand in a neighborhood f(x,y) = f(x0,y0)+ first order gradients + second-order Hessian + … Gradients are a vector (g_x,g_y) Hessian is a 2*2 matrix … Local maxima/minima by first order A scalar function of gradients, magnitude Local maxima/minima by second order A scalar function of Hessian, Laplacian Difference of Gaussian as an approximation to Laplacian Zero-crossing of DoG Can take the nonlinear distance function to the hyperplane, and interpret this distance function as a probability

2D edge detection filters Laplacian of Gaussian Gaussian derivative of Gaussian How many 2nd derivative filters are there? There are four 2nd partial derivative filters. In practice, it’s handy to define a single 2nd derivative filter—the Laplacian is the Laplacian operator: filter demo

Canny Edge Operator Smooth image I with 2D Gaussian: Find local edge normal directions for each pixel Compute edge magnitudes Locate edges by finding zero-crossings along the edge normal directions (non-maximum suppression)

The edge points are thresholded local maxima after non-maximum suppression Check if pixel is local maximum along gradient direction requires checking interpolated pixels p and r

Original Lena Gradient norm Local maxima

From points of interest to feature points and point features! Good features Bad features

What makes a good feature?

Want uniqueness Image matching! Look for image regions that are unusual Lead to unambiguous matches in other images How to define “unusual”?

Intuition “flat” region: no change in all directions “edge”: no change along the edge direction “corner”: significant change in all directions

Moravec: points of interest Shift in any direction would result in a significant change at a corner. Algorithm: Shift in horizontal, vertical, and diagonal directions by one pixel. Calculate the absolute value of the MSE for each shift. Take the minimum as the cornerness response.

Feature detection: the math Consider shifting the window W by (u,v) how do the pixels in W change? compare each pixel before and after by Sum of the Squared Differences (SSD) this defines an SSD “error” E(u,v): W

Small motion assumption Taylor Series expansion of I: If the motion (u,v) is small, then first order approx is good Plugging this into the formula on the previous slide…

Feature detection: Consider shifting the window W by (u,v) W how do the pixels in W change? compare each pixel before and after by summing up the squared differences this defines an “error” of E(u,v): W

This can be rewritten: For the example above You can move the center of the green window to anywhere on the blue unit circle Which directions will result in the largest and smallest E values? We can find these directions by looking at the eigenvectors of H

Eigenvalues and eigenvectors of H This can be rewritten: x- x+ Eigenvalues and eigenvectors of H Define shifts with the smallest and largest change (E value) x+ = direction of largest increase in E. λ+ = amount of increase in direction x+ x- = direction of smallest increase in E. λ- = amount of increase in direction x-

Eigenvalues of H

Summary of the Harris detector

The Harris operator Harris operator

Measure of corner response: (k – empirical constant, k = 0.04-0.06) No need to compute eigenvalues explicitly!

Harris detector example

f value (red high, blue low)

Threshold (f > value)

Find local maxima of f

Harris features (in red)

From points of interest to feature points and point features! Moravaec: points of interest, in two cardinal directions Lucas-Kanade Tomasi-Kanade: min(lambda_1, lambda_2) > threshold KLT tracker Harris and Stephen (BMVC): det-k Trace^2 Forstner in photogrammetry, from least squares matching

More unified feature detection: edges and points f(x,y) viewed as a smooth function Taylor expand in a neighborhood f(x,y) = f(x0,y0)+ first order gradients + second-order Hessian + … Gradients are a vector (g_x,g_y) Hessian is a 2*2 matrix … Local maxima/minima by first order A scalar function of gradients, magnitude Local maxima/minima by second order A scalar function of Hessian, Laplacian Difference of Gaussian as an approximation to Laplacian Can take the nonlinear distance function to the hyperplane, and interpret this distance function as a probability

Feature and edge detection Convolution Compute the gradient at each point in the image) Nonlinear thresholding Find points with large response (λ- > threshold) on the eigenvalues of the H matrix Local non-maxima suppressions Feature point Group features Convolution Compute the gradient at each point in the image Nonlinear thresholding Find points with large response (λ- > threshold) on gradient magnitude Local non-maxima suppressions Edge point Group edges

Laplacian   Difference of Gaussians is an approximation to Laplacian

Gabor functions

From features to descriptors for image matching!  

Motivated by matching in 3D and mosaicking Initially proposed for correspondence matching Proven to be the most effective in such cases according to a recent performance study by Mikolajczyk & Schmid (ICCV ’03) Now being used for general object class recognition (e.g. 2005 Pascal challenge Histogram of gradients Human detection, Dalal & Triggs CVPR ’05

SIFT in one sentence is Histogram of gradients @ Harris-corner-like

The first work on local grayvalues invariants for image retrieval by Schmid and Mohr 1997, started the local features for recognition

Object Recognition from Local Scale-Invariant Features (SIFT). David G Object Recognition from Local Scale-Invariant Features (SIFT) David G. Lowe 2004

Introduction Image content is transformed into local feature coordinates that are invariant to translation, rotation, scale, and other imaging parameters SIFT Features

Feature Invariance linear intensity transformation (mild) rotation invariance by its isotropicity scale invariance?

How do we choose scale?

Scale space Gaussian of sigma Scale space Intuitively coarse-to-fine Image pyramid (wavelets) Gaussian pyramid Laplacian pyramid, difference of Gaussian Laplacian is a ‘blob’ detector Can take the nonlinear distance function to the hyperplane, and interpret this distance function as a probability

Scale selection principle (Lindeberg’94) In the absence of other evidence, assume that a scale level, at which (possibly non-linear) combination of normalized derivatives assumes a local maximum over scales, can be treated as reflecting a characteristic length of a corresponding structure in the data.

Scale space, 3D DoG space, D(x,y,\sigma)

Key points as local extrema in D(x,y,\sigma)

Sub-pixel localization Fit Trivariate quadratic to find sub-pixel extrema Eliminating edges Similar to Harris corner detector

Different approaches SIFT2 Find local maximum of: Harris-Laplacian1 Find local maximum of: Laplacian in scale Harris corner detector in space (image coordinates) scale x y  Harris   Laplacian  SIFT2 Find local maximum of: Difference of Gaussians in space and scale  DoG  1 K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 2001 2 D.Lowe. “Distinctive Image Features from Scale-Invariant Keypoints”. IJCV 2004

Orientation Create histogram of local gradient directions computed at selected scale Assign canonical orientation at peak of smoothed histogram Each key specifies stable 2D coordinates (x, y, scale, orientation)

Dominant Orientation Assign dominant orientation as the orientation of the keypoint

Extract features So far, we found… Scale, Location Orientation Find keypoints Scale, Location Orientation Create signature Match features So far, we found… where interesting things are happening and its orientation With the hope of Same keypoints being found, even under some scale, rotation, illumination variation.

Creating local image descriptors Thresholded image gradients are sampled over 16x16 array of locations in scale space Create array of orientation histograms 8 orientations x 4x4 histogram array = 128 dimensions

Matching as efficient nearest neigbors indexing in 128 dimensions

Comparison with HOG (Dalal ’05) Histogram of Oriented Gradients General object class recognition (Human) Engineered for a different goal Uniform sampling Larger cell (6-8 pixels) Fine orientation binning 9 bins/180O vs. 8 bins/360O Both are well engineered