SURF points

SURF (Speed Up Robust Features) is a scale and rotation invariant interest point detector and descriptor.

These SIFT like features are commonly used in various applications such as stereo vision, object recognition, image stitching

2 step:

  1. find the interest points in the image which might contain meaningful structures;
    • comparing the Difference of Gaussian (DoG) in each location in the image under different scales.
    • A major orientation is also calculated when a point is considered a feature point.

2. construct the scale invariant descriptor on each interest point found in the previous step:

    • To achieve rotation invariant, we align a rectangle to the major orientation.
    • The size of the rectangle is proportional to the scale where the interest point is detected.
    • The rectangle is then cropped into a 4 by 4 grid.
    • Different informations such as gradient or absolute value of gradient are then subtracted from each of these sub square and composed into the interest point descriptor.

The SURF feature is a speed up version of SIFT:

  • uses an approximated DoG and
  • the integral image trick: integral image is its each pixel value is the sum of all the original pixel values left and above it.
  • The advantage of integral image is, an integral image can compute block subtraction between any 2 blocks with just 6 calculations.

surf

– OpenCV has both SIFT and SURF libraries. PS. since Intel abandoned the project, the 2.x series is poorly documented and lack books to study.

– The VLFeat vision library provides a nice SIFT library and a simple tutorial.

– SURFmex library  is simply a wrapper around the OpenCV dll.

July 29th, 2010 v.2.1: Bug fix and added surfpoints_gpu using “Speeded Up SURF” library. Only 64-bit binaries provided, but old (v.2) 32-bit are included.

[POINTS, DESCR, SIGN, INFO] = SURFPOINTS(I, OPTIONS)

POINTS: locations of the N points of interest in the 2-by-N matrix POINTS, where each column corresponds to one point of interest.
DESCR: D-by-N matrix descriptors, where D varies depending on what type of descriptors are calculated (default is 64).
SIGN: the sign of the laplacian, 1-by-N matrix SIGN can be used for faster matching.
INFO: extra information, The column of 4-by-N matrix INFO corresponds to each interest point:
    INFO(1,:) detected scales of the interest points
    INFO(2,:) strength of the interest points
    INFO(3,:) orientation of the interest points
I: image data matrix
OPTIONS: is a struct with the following possible fields (passed into OpenCV):
    nOctaveLayers : Layers within an octave(default 2)
    nOctaves : Number of octaves (default 4)
    hessianThreshold : Higher values gives fewer points (default 500)
    extended : If set to 1, 128-dimensional SURF is used (default 0)
    An omitted field will be assigned the default value

MATCHES = SURFMATCH(DESCR1, SIGN1, DESCR2, SIGN2, THRESH)
Matches: between the two sets of descriptors returned by SURFPOINTS. MATCHES is a 2-by-N matrix where the first row are indices corresponding to columns in DESCR1 and the second row corresponds to DESCR2.
Sign: takes the sign of the laplacian into account for faster matching.
Thresh: provides an additional threshold parameter discussed in the reference. The default value is 0.7.


MATCHES = SURFMATCH(DESCR1, SIGN1, DESCR2, SIGN2, THRESH)
computes matches between the two sets of descriptors returned by SURFPOINTS.

MATCHES is a 2-by-N matrix where the first row are indices corresponding to columns in DESCR1 and the second row corresponds to DESCR2.

SIGN option – takes the sign of the laplacian into account for faster matching.

THRESH – provides an additional threshold parameter discussed in the reference. The default value is 0.7.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

生活在西班牙

自己动手丰衣足食

BlueAsteroid

Just another WordPress.com site

Jing's Blog

Just another WordPress.com site

Start from here......

我的心情魔方

天才遠私廚

希望能做一個分享各種資訊的好地方

语义噪声

西瓜大丸子汤的博客

笑对人生,傲立寰宇

Just another WordPress.com site

Where On Earth Is Waldo?

A Project By Melanie Coles

the Serious Computer Vision Blog

A blog about computer vision and serious stuff

Cauthy's Blog

paper review...

Cornell Computer Vision Seminar Blog

Blog for CS 7670 - Special Topics in Computer Vision

datarazzi

Life through nerd-colored glasses

Luciana Haill

Brainwaves Augmenting Consciousness

槑烎

1,2,∞

Dr Paul Tennent

and the university of nottingham

turn off the lights, please

A bunch of random, thinned and stateless thoughts around the Web

%d bloggers like this: