SIFT - The Scale Invariant Feature Transform Distinctive image features from scale-invariant keypoints. David G. Lowe, International Journal of Computer.

Slides:



Advertisements
Similar presentations
Distinctive Image Features from Scale-Invariant Keypoints
Advertisements

Feature Detection. Description Localization More Points Robust to occlusion Works with less texture More Repeatable Robust detection Precise localization.
Distinctive Image Features from Scale-Invariant Keypoints David Lowe.
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.
A NOVEL LOCAL FEATURE DESCRIPTOR FOR IMAGE MATCHING Heng Yang, Qing Wang ICME 2008.
Object Recognition using Invariant Local Features Applications l Mobile robots, driver assistance l Cell phone location or object recognition l Panoramas,
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.
Instructor: Mircea Nicolescu Lecture 15 CS 485 / 685 Computer Vision.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
IBBT – Ugent – Telin – IPI Dimitri Van Cauwelaert A study of the 2D - SIFT algorithm Dimitri Van Cauwelaert.
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Fast High-Dimensional Feature Matching for Object Recognition David Lowe Computer Science Department University of British Columbia.
SURF: Speeded-Up Robust Features
Robust and large-scale alignment Image from
A Study of Approaches for Object Recognition
Object Recognition with Invariant Features n Definition: Identify objects or scenes and determine their pose and model parameters n Applications l Industrial.
Distinctive Image Feature from Scale-Invariant KeyPoints
Feature extraction: Corners and blobs
Distinctive image features from scale-invariant keypoints. David G. Lowe, Int. Journal of Computer Vision, 60, 2 (2004), pp Presented by: Shalomi.
Scale Invariant Feature Transform (SIFT)
Automatic Matching of Multi-View Images
1 Invariant Local Feature for Object Recognition Presented by Wyman 2/05/2006.
The SIFT (Scale Invariant Feature Transform) Detector and Descriptor
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.
Sebastian Thrun CS223B Computer Vision, Winter Stanford CS223B Computer Vision, Winter 2005 Lecture 3 Advanced Features Sebastian Thrun, Stanford.
Scale-Invariant Feature Transform (SIFT) Jinxiang Chai.
Interest Point Descriptors
Distinctive Image Features from Scale-Invariant Keypoints By David G. Lowe, University of British Columbia Presented by: Tim Havinga, Joël van Neerbos.
Interest Point Descriptors and Matching
Internet-scale Imagery for Graphics and Vision James Hays cs195g Computational Photography Brown University, Spring 2010.
Feature matching Digital Visual Effects, Spring 2005 Yung-Yu Chuang 2005/3/16 with slides by Trevor Darrell Cordelia Schmid, David Lowe, Darya Frolova,
Bag of Visual Words for Image Representation & Visual Search Jianping Fan Dept of Computer Science UNC-Charlotte.
Object Tracking/Recognition using Invariant Local Features Applications l Mobile robots, driver assistance l Cell phone location or object recognition.
Overview Harris interest points Comparing interest points (SSD, ZNCC, SIFT) Scale & affine invariant interest points Evaluation and comparison of different.
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!
CVPR 2003 Tutorial Recognition and Matching Based on Local Invariant Features David Lowe Computer Science Department University of British Columbia.
CSCE 643 Computer Vision: Extractions of Image Features Jinxiang Chai.
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 )
Local features: detection and description
Presented by David Lee 3/20/2006
Recognizing specific objects Matching with SIFT Original suggestion Lowe, 1999,2004.
Distinctive Image Features from Scale-Invariant Keypoints Presenter :JIA-HONG,DONG Advisor : Yen- Ting, Chen 1 David G. Lowe International Journal of Computer.
SIFT.
SIFT Scale-Invariant Feature Transform David Lowe
CS262: Computer Vision Lect 09: SIFT Descriptors
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.
Project 1: hybrid images
TP12 - Local features: detection and description
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
SIFT keypoint detection
SIFT.
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:

SIFT - The Scale Invariant Feature Transform Distinctive image features from scale-invariant keypoints. David G. Lowe, International Journal of Computer Vision, 60, 2 (2004), pp Presented by Ofir Pele. Based upon slides from: - Sebastian Thrun and Jana Košecká - Neeraj Kumar

Correspondence n Fundamental to many of the core vision problems –Recognition –Motion tracking –Multiview geometry n Local features are the key Images from: M. Brown and D. G. Lowe. Recognising Panoramas. In Proceedings of the ) the International Conference on Computer Vision (ICCV2003

Local Features: Detectors & Descriptors Detected Interest Points/Regions Descriptors

Ideal Interest Points/Regions n Lots of them n Repeatable n Representative orientation/scale n Fast to extract and match

Detector SIFT Overview 1. Find Scale-Space Extrema 2. Keypoint Localization & Filtering –Improve keypoints and throw out bad ones 3. Orientation Assignment –Remove effects of rotation and scale 4. Create descriptor –Using histograms of orientations Descriptor

Detector SIFT Overview 1. Find Scale-Space Extrema 2. Keypoint Localization & Filtering –Improve keypoints and throw out bad ones 3. Orientation Assignment –Remove effects of rotation and scale 4. Create descriptor –Using histograms of orientations Descriptor

Scale Space n Need to find ‘characteristic scale’ for feature n Scale-Space: Continuous function of scale σ –Only reasonable kernel is Gaussian: [Koenderink 1984, Lindeberg 1994]

Scale Selection n Experimentally, Maxima of Laplacian-of-Gaussian gives best notion of scale: n Thus use Laplacian-of-Gaussian (LoG) operator: Mikolajczyk 2002

Approximate LoG n LoG is expensive, so let’s approximate it n Using the heat-diffusion equation: n Define Difference-of-Gaussians (DoG):

DoG efficiency n The smoothed images need to be computed in any case for feature description. n We need only to subtract two images.

DoB filter (`Difference of Boxes') Bay, ECCV 2006 n Even faster approximation is using box filters (by integral image)

Scale-Space Construction n First construct scale-space: First octaveSecond octave

Difference-of-Gaussianss n Now take differences:

Scale-Space Extrema n Choose all extrema within 3x3x3 neighborhood. n Low cost – only several usually checked

Detector SIFT Overview 1. Find Scale-Space Extrema 2. Keypoint Localization & Filtering –Improve keypoints and throw out bad ones 3. Orientation Assignment –Remove effects of rotation and scale 4. Create descriptor –Using histograms of orientations Descriptor

Keypoint Localization & Filtering n Now we have much less points than pixels. n However, still lots of points (~1000s)… –With only pixel-accuracy at best At higher scales, this corresponds to several pixels in base image –And this includes many bad points Brown & Lowe 2002

Keypoint Localization n The problem: x Sampling Detected Extrema True Extrema

Keypoint Localization n The Solution: –Take Taylor series expansion: –Minimize to get true location of extrema: Brown & Lowe 2002

Keypoints (a) 233x189 image (b) 832 DOG extrema

Keypoint Filtering - Low Contrast n Reject points with bad contrast is smaller than 0.03 (image values in [0,1])

Keypoint Filtering - Edges n Reject points with strong edge response in one direction only n Like Harris - using Trace and Determinant of Hessian Point can move along edge Point constrained Point detection

Keypoint Filtering - Edges n To check if ratio of principal curvatures is below some threshold, r, check: n r=10 n Only 20 floating points operations to test each keypoint

Keypoint Filtering (c) 729 left after peak value threshold (from 832) (d) 536 left after testing ratio of principle curvatures

Detector SIFT Overview 1. Find Scale-Space Extrema 2. Keypoint Localization & Filtering –Improve keypoints and throw out bad ones 3. Orientation Assignment –Remove effects of rotation and scale 4. Create descriptor –Using histograms of orientations Descriptor

Ideal Descriptors n Robust to: –Affine transformation –Lighting –Noise n Distinctive n Fast to match –Not too large –Usually L1 or L2 matching

Detector SIFT Overview 1. Find Scale-Space Extrema 2. Keypoint Localization & Filtering –Improve keypoints and throw out bad ones 3. Orientation Assignment –Remove effects of rotation and scale 4. Create descriptor –Using histograms of orientations Descriptor

Orientation Assignment n Now we have set of good points n Choose a region around each point –Remove effects of scale and rotation

Orientation Assignment n Use scale of point to choose correct image: n Compute gradient magnitude and orientation using finite differences:

Orientation Assignment n Create gradient histogram (36 bins) –Weighted by magnitude and Gaussian window ( is 1.5 times that of the scale of a keypoint)

Orientation Assignment n Any peak within 80% of the highest peak is used to create a keypoint with that orientation n ~15% assigned multiplied orientations, but contribute significantly to the stability n Finally a parabola is fit to the 3 histogram values closest to each peak to interpolate the peak position for better accuracy

Detector SIFT Overview 1. Find Scale-Space Extrema 2. Keypoint Localization & Filtering –Improve keypoints and throw out bad ones 3. Orientation Assignment –Remove effects of rotation and scale 4. Create descriptor –Using histograms of orientations Descriptor

SIFT Descriptor n Each point so far has x, y, σ, m, θ n Now we need a descriptor for the region –Could sample intensities around point, but… Sensitive to lighting changes Sensitive to slight errors in x, y, θ n Look to biological vision –Neurons respond to gradients at certain frequency and orientation But location of gradient can shift slightly! Edelman et al. 1997

SIFT Descriptor n 4x4 Gradient window n Histogram of 4x4 samples per window in 8 directions n Gaussian weighting around center( is 0.5 times that of the scale of a keypoint) n 4x4x8 = 128 dimensional feature vector Image from: Jonas Hurrelmann

SIFT Descriptor – Lighting changes n Gains do not affect gradients n Normalization to unit length removes contrast n Saturation affects magnitudes much more than orientation n Threshold gradient magnitudes to 0.2 and renormalize

Performance n Very robust –80% Repeatability at: 10% image noise 45° viewing angle 1k-100k keypoints in database n Best descriptor in [Mikolajczyk & Schmid 2005]’s extensive survey n 606+ citations on Google Scholar already for [2004] paper

Typical Usage n For set of database images: 1.Compute SIFT features 2.Save descriptors to database n For query image: 1.Compute SIFT features 2.For each descriptor: Find closest descriptors (L2 distance) in database 3.Verify matches Geometry Hough transform

Nearest-neighbor matching to feature database n Hypotheses are generated by approximate nearest neighbor matching of each feature to vectors in the database –SIFT use best-bin-first (Beis & Lowe, 97) modification to k-d tree algorithm –Use heap data structure to identify bins in order by their distance from query point n Result: Can give speedup by factor of 1000 while finding nearest neighbor (of interest) 95% of the time

3D Object Recognition n Only 3 keys are needed for recognition, so extra keys provide robustness

Recognition under occlusion

Test of illumination Robustness n Same image under differing illumination 273 keys verified in final match

Location recognition

Image Registration Results [Brown & Lowe 2003]

Cases where SIFT didn’t work

Large illumination change n Same object under differing illumination n 43 keypoints in left image and the corresponding closest keypoints on the right (1 for each)

Large illumination change n Same object under differing illumination n 43 keypoints in left image and the corresponding closest keypoints on the right (5 for each)

Non rigid deformations n 11 keypoints in left image and the corresponding closest keypoints on the right (1 for each)

Non rigid deformations n 11 keypoints in left image and the corresponding closest keypoints on the right (5 for each)

Conclusion: SIFT n Built on strong foundations –First principles (LoG and DoG) –Biological vision (Descriptor) –Empirical results n Many heuristic optimizations –Rejection of bad points –Sub-pixel level fitting –Thresholds carefully chosen

Conclusion: SIFT n In wide use both in academia and industry n Many available implementations: –Binaries available at Lowe’s website –C/C++ open source by A. Vedaldi (UCLA) –C# library by S. Nowozin (Tu-Berlin) n Protected by a patent

Conclusion: SIFT n Empirically found 2 to show very good performance, invariant to image rotation, scale, intensity change, and to moderate affine transformations 1 Mikolajczyk & Schmid 2005 Scale = 2.5 Rotation = 45 0

Conclusion: Local features n Much work left to be done –Efficient search and matching –Combining with global methods –Finding better features

SIFT extensions

PCA-SIFT n Only change step 4 (creation of descriptor) n Pre-compute an eigen-space for local gradient patches of size 41x41 n 2x39x39=3042 elements n Only keep 20 components n A more compact descriptor n In K.Mikolajczyk, C.Schmid 2005 PCA-SIFT tested inferior to original SIFT

Speed Improvements n SURF - Bay et al n Approx SIFT - Grabner et al n GPU implementation - Sudipta N. Sinha et al. 2006

GLOH (Gradient location-orientation histogram) 17 location bins 16 orientation bins Analyze the 17x16=272-d eigen-space, keep 128 components SIFT