SURF detectors and descriptors

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.
Scale & Affine Invariant Interest Point Detectors Mikolajczyk & Schmid presented by Dustin Lennon.
Group Meeting Presented by Wyman 10/14/2006
BRISK (Presented by Josh Gleason)
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)
Instructor: Mircea Nicolescu Lecture 15 CS 485 / 685 Computer Vision.
SURF: Speeded-Up Robust Features
Computational Photography
Interest points CSE P 576 Larry Zitnick Many slides courtesy of Steve Seitz.
Lecture 6: Feature matching CS4670: Computer Vision Noah Snavely.
1 Interest Operators Find “interesting” pieces of the image –e.g. corners, salient regions –Focus attention of algorithms –Speed up computation Many possible.
(1) Feature-point matching by D.J.Duff for CompVis Online: Feature Point Matching Detection,
Lecture 4: Feature matching
Feature matching and tracking Class 5 Read Section 4.1 of course notes Read Shi and Tomasi’s paper on.
Distinctive Image Feature from Scale-Invariant KeyPoints
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.
Representation, Description and Matching
Automatic Matching of Multi-View Images
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.
Overview Introduction to local features
Interest Point Descriptors
Interest Point Descriptors and Matching
Overview Harris interest points Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points Evaluation and comparison of different.
Local invariant features Cordelia Schmid INRIA, Grenoble.
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!
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC.
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.
Overview Introduction to local features Harris interest points + SSD, ZNCC, SIFT Scale & affine invariant interest point detectors Evaluation and comparison.
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
SURF: Speeded Up Robust Features
Instructor: Mircea Nicolescu Lecture 10 CS 485 / 685 Computer Vision.
Frank Bergschneider February 21, 2014 Presented to National Instruments.
CSE 185 Introduction to Computer Vision Local Invariant Features.
Recognizing specific objects Matching with SIFT Original suggestion Lowe, 1999,2004.
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.
Distinctive Image Features from Scale-Invariant Keypoints
Scale Invariant Feature Transform (SIFT)
SIFT paper.
TP12 - Local features: detection and description
Local features: detection and description May 11th, 2017
Homework| Homework: Derive the following expression for the derivative of the inverse mapping Arun Das | Waterloo Autonomous Vehicles Lab.
SURF: Speeded-Up Robust Features
CAP 5415 Computer Vision Fall 2012 Dr. Mubarak Shah Lecture-5
CSE 455 – Guest Lectures 3 lectures Contact Interest points 1
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
SIFT.
Edge detection f(x,y) viewed as a smooth function
ECE734 Project-Scale Invariant Feature Transform Algorithm
Lecture VI: Corner and Blob Detection
Lecture 5: Feature invariance
SIFT SIFT is an carefully designed procedure with empirically determined parameters for the invariant and distinctive features.
Lecture 5: Feature invariance
Presentation transcript:

SURF detectors and descriptors ECE 847: Digital Image Processing Stan Birchfield Clemson University

References SURF homepage http://www.vision.ee.ethz.ch/~surf/ H. Bay, T. Tuytelaars, and L. V. Gool, SURF: Speeded Up Robust Features, ECCV 2006 http://www.vision.ee.ethz.ch/~surf/eccv06.pdf H. Bay, A. Ess, T. Tuytelaars, and L. V. Gool, SURF: Speeded Up Robust Features (SURF), Computer Vision and Image Understanding (CVIU), Vol. 110, No. 3, pp. 346–359, 2008 ftp://ftp.vision.ee.ethz.ch/publications/articles/eth_biwi_00517.pdf C. Evans, OpenSURF library http://www.chrisevansdev.com/computer-vision-opensurf.html

Interest operator Interest point detector finds distinctive locations in image (corners, blobs, T-junctions) should be repeatable Interest point descriptor used for matching should be distinctive and robust Both should be fast

Harris features Recall Harris features? (Eigenvalues of gradient covariance matrix) Dependent upon scale

Scale space Successively smooth an image... ftp://ftp.nada.kth.se/CVAP/reports/Lin08-EncCompSci.pdf

This forms a 3D space, with scale as the 3rd axis http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=AF10AB3864DB87B4414F8169E260DC83?doi=10.1.1.95.9204&rep=rep1&type=pdf

Let’s look at a slice s s x x Signal F Contours of Fxx=0 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.81.118&rep=rep1&type=pdf

SIFT / SURF SIFT – scale invariant feature transform (Lowe 2004) SURF – speeded up robust features (Bay et al. 2006)

SURF algorithm Interest point detector: Compute integral image Apply 2nd derivative (approximate) filters to image Non-maximal suppression (Find local maxima in (x,y,s) space) Quadratic interpolation

SURF algorithm Interest point descriptor: Divide window into 4x4 (16 subwindows) Compute Haar wavelet outputs Within each subwindow, compute This yields a 64-element descriptor (Only implement USURF – no rotation)

Integral image Integral image (a.k.a. summed area table) is a 2D running sum S(x,y) = SS I(x,y) To compute, S(x,y) = I(x,y) - S(x-1,y-1) + S(x-1,y) + S(x,y-1) To use, V(l,t,r,b) = S(l,t) + S(r,b) - S(l,b) - S(r,t) Returns sum of values inside rectangle Note: Sum of values in any rectangle can be computed in constant time!

2nd derivative filters Dyy Dxy s=1.2 scale s=1.2 (9x9 filters) Dyy Dxy s=1.2 scale s=1.2 s=1.2 det(Happrox) = DxxDyy - (0.9Dxy)2

Changing scale Integral image allows us to upsample the filter rather than downsample the image 9x9 15x15 21x21

Changing scale (within an octave) For 9x9 filter, l0 = 3 (length of positive or negative lobe in direction of derivative) To keep central pixel, must increase l0 by minimum of 2 pixels  increase filter dimension by 6 Therefore, sizes of filter: 9x9, 15x15, 21x21, 27x27 l0=3 9x9 l0=5 15x15

Non-maximal suppression Retain pixel only if greater than 26 neighbors in x, y, s

Interpolation We now have values at 9, 15, 21, 27: 9 15 21 27 12 24 Range is halfway b/w samples 12 24 s=1.2 * (12/9) = 1.6 s=1.2 * (24/9) = 3.2 Range is exactly one octave!

Interpolation For each local maximum, need to interpolate to get true location (to overcome discretization effects) Hessian values: Taylor expansion: Solution using Newton’s method:

Interpolation in 1D Newton’s method: Given value at x0, and derivatives at x0, estimate parabola Parabola is y = f(x) = ax2+bx+c Extremum of parabola (minimum if a>0, maximum if a<0) is given by x* = -b / 2a Repeat f’(x) = 2ax+b f”(x) = 2a Newton step: Dx = -f’(x) / f”(x) = -(2ax0+b) / (2a) = -x0 - b/2a x0 -b/2a Dx x0

Interpolation in 1D (alternative) Successive parabolic interpolation is alternative to Newton’s method: Fit parabola y = f(x) = ax2+bx+c to three points Discard farthest of 4 points Repeat y = f(x) x

Successive parabolic interpolation example (1D) http://www.cse.illinois.edu/iem/optimization/SuccessiveParabolic/

The next octaves First octave filter sizes: 9, 15, 21, 27 Second octave sizes: 15, 27, 39, 51 Increase by 12 each time (not 6) Spans from 21 (s=1.2*21/9=2.8) to 45 (s=1.2*45/9=6) (some overlap with first octave) Ok to measure at every other pixel in image (saves computation, like downsampling) Third octave sizes: 27, 51, 75, 99 Increase by 24 each time Spans from 39 (s=1.2*39/9=5.2) to 87 (s=1.2*87/9=11.6) Ok to measure at every 4th pixel in image

SURF octave overview 5.2 ≤ s ≤ 11.6 2.8 ≤ s ≤ 6.0 1.6 ≤ s ≤ 3.2 9 15 21 27 33 39 45 51 57 63 69 75 81 87 93 99 5.2 ≤ s ≤ 11.6 2.8 ≤ s ≤ 6.0 s=1.2 * (12/9) = 1.6 s=1.2 * (24/9) = 3.2 s=1.2 * (21/9) = 2.8 s=1.2 * (45/9) = 6.0 s=1.2 * (39/9) = 5.2 s=1.2 * (87/9) = 11.6 1.6 ≤ s ≤ 3.2

But higher octaves increasingly less useful

SURF descriptor Once interest point has been found, Place window around point Divide into 4x4 subwindows In each subwindow, measure at 25 (5x5) places: dx and dy sum over all 25 places to get 4 values: Note: Use Haar wavelets to measure differences (similar to gradients)

Details 10s 2s 2s 10s 20s weight by Gaussian s = 3.3s 20s

with s=1.2 12 3 3 12 24 weight by Gaussian s = 4 24 sign of LoG = sign of trace(Happrox) = sgn( Dxx + Dyy ) 24  65 values per interest point (16 x 4 + 1)

sign of LoG speeds up matching sgn( Dxx + Dyy )

Why SURF is better than SIFT

Examples: Flowers

Examples: Tillman SURF, 5 octaves, 4 scales per octave

Examples: Tillman U-SURF, 1 octave, 4 scales per octave

Examples: Tillman OpenCV’s SURF