Matching images with SIFT & SURF

46 %
54 %
Information about Matching images with SIFT & SURF

Published on March 7, 2014

Author: adelkhawaji



SIFT and SURF, Scale Invariant Feature Transform and Speeded-up Robust Feature


Outline • • • • • • • • • • Definitions Comparison Problem statement Feature Point Examples Feature Point Descriptor SURF Feature Project Goal & Implementation Conclusion Bibliography

SURF • Scale-invariant feature transform • Speeded Up Robust Features • is an algorithm in computer vision to detect and describe local features in images • is a robust local feature detector, that can be used in computer vision tasks like object recognition or 3D reconstruction

SIFT vs SURF SIFT • Scale invariant • More accurate • Less feature points detected by DoG detector • Processing time slow SURF • Scale invariant • Less accurate • More feature points detected by fast Hessian detector • Processing time fast

Problem Statement • Assuming an object of interest is known in an image M • Locate the same object in another image I

Feature Point • Feature point – any point in an image which can be uniquely distinguished and located over the course of time • Feature point detector [1] – Shi-Tomassi (ST) features • OpenCV function cvGoodFeaturesToTrack() – Harris corner (H) features • OpenCV function cvGoodFeaturesToTrack(useHarrisDetector = 1) – Difference of Gaussian (DoG) • OpenCV FeatureDetector object can detect features by DoG before computing SIFT descriptor [2] – Fast Hessian • OpenCV SurfFeatureDetector class can be used to detect features before computing SURF descriptor

Shi-Tomassi Detector Example

Example Harris Corner Detector

Difference of Gaussian

Feature Point Descriptor • Each feature point has to be described by some attributes called descriptor. • Larger the number of attributes better would be its uniqueness • Often object representation affects the attributes – Red Green Blue or Hue Saturation luminance are examples of pixel intensities. The histogram of each colour channel can be an attribute – Instead of intensities a gradient (Sobel or Canny edge detector) is often used as an attribute which is less sensitive to illumination changes

Feature Descriptor Matching • A quick way to match feature point descriptors is by using Fast Approximate Nearest Neighbor Search Library (FLANN) – FLANN can be implemented in OpenCV by using FlannBasedMatcher OpenCV class

SURF Feature Matching by FLANN

Project Goal • Determine the accuracy of feature point matching via FLANN of SIFT and SURF descriptors – Using DoG feature point detector, compute SIFT descriptor – Using Fast Hessian feature point detector, compute SURF descriptor • Test data will be manually prepared to evaluate the accuracy of matchers

Implementation • Visual C++ with computer vision library OpenCV version 2.4.2 • Preparing test data – Assuming an input image M has a detected feature point at location (x,y) – Scale M to its half resolution, hence (x,y) moves to (x/2,y/2) • Evaluation on test data – Detect feature points in half resolution image – If matching feature point from (x,y) is at (x/2, y/2) then the point is successfully matched, otherwise its not – Compute the percentage of correct matches – The one with highest percentage would be a best matcher for that dataset

Conclusions • Shi-Tomassi feature detector generate too many feature points • Although Harris corner detector generates more unique points, however its not scale invariant • SURF is scale invariant like SIFT but is not as accurate as SIFT • SIFT is accurate but also slow

Bibliography 1) Gauglitz, Steffen, Tobias Höllerer, and Matthew Turk. "Evaluation of interest point detectors and feature descriptors for visual tracking." International journal of computer vision 94.3 (2011): 335-360. 2) Lowe, David G. "Distinctive image features from scaleinvariant keypoints."International journal of computer vision 60.2 (2004): 91-110. 3) OpenCV tutorials feature2d 4) pt

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Scale-invariant feature transform - Wikipedia, the free ...

Scale-invariant feature transform (or SIFT) ... better than the pure image descriptor in SURF, ... of image matching by SIFT descriptors can ...
Read more

OpenCV SIFT Tutorial | Chris McCormick

... and matching SIFT features between two images using OpenCV ... 2 responses to “ OpenCV SIFT ... used SIFT/SURF for any purpose like image ...
Read more

Feature Matching — OpenCV 3.0.0-dev documentation

Feature Matching ¶ Goal¶ In this ... It is good for SIFT, SURF etc ... We will try to find the queryImage in trainImage using feature matching. ( The ...
Read more

Feature Matching — OpenCV-Python Tutorials 1 documentation

Feature Matching ¶ Goal¶ In this ... It is good for SIFT, SURF etc ... We will try to find the queryImage in trainImage using feature matching. ( The ...
Read more

OpenCV: Feature Matching - Welcome to opencv documentation ...

We will try to find the queryImage in trainImage using feature matching. ( The images are /samples/c/box.png and ... for algorithms like SIFT, SURF etc ...
Read more

SURF/SIFT type image pattern matching library in PHP ...

SURF/SIFT type image pattern matching library in PHP. up vote 4 down vote favorite. 3. ... BUT it I am afraid that it doesn't wrap the SIFT/SURF code ...
Read more

c++ - Trying to match two images using sift in OpenCv, but ...

I am trying to implement a program which will input two images one ... Trying to match two images using sift ... Can Feature Matching using SIFT/SURF be ...
Read more

Fully affine invariant SURF for image matching

The construction of scale image pyramid in SURF algorithm is similar to SIFT. As shown in Fig. 2, the scale space is divided into octaves, and there are 4 ...
Read more

Find matching features - MATLAB matchFeatures

This MATLAB function returns indices of the matching ... Find corresponding interest points between a pair of images ... Use the SURF local ...
Read more

Introduction to SURF (Speeded-Up Robust Features ...

... paper, “SURF: Speeded Up Robust Features” which ... comparable to SIFT. SURF is good at handling images with ... on an image. While matching, ...
Read more