The classes SurfFeatureDetector and FastFeatureDetector are inherited from Detector and can be exchanged. But I couldn’t find a matching class for SurfDescriptorExtractor I expected to find something like FastDescriptorExtractor but a class like this isn’t available. What seems to be strange is that if I only change the Detector to FastFeatureDetector the example seems to work correctly.

Solution: I’m using 2.4.2, currently, it is located at: “OPENCV\include\opencv2\nonfree\features2d.hpp”. so in the code all need to do is:

#include <opencv2/nonfree/features2d.hpp>

SiftDescriptorExtractor siftExtractor;
//Later on in the file, after a frame has been grabbed, keypoints found, etc.
Mat siftDescriptors;

SURF uses a Hessian matrix-based measure for the detection of interest points and a distribution of Haar wavelet responses within the interest point neighborhood as descriptor. An image is analyzed at several scales, so interest points can be extracted from both global and local image details. The dominant orientation of each of the interest points is determined to support rotation-invariant matching.

  1. retrieval is performed with the aid of an indexing scheme and matching strategy (e.g. The KD-tree with the Best Bin First (BBF) algorithm is used to index and match the similarity of the features of the images)
  2. first order and second order colour moments is calculated for the SURF key points to provide the maximum distinctiveness for the key points
  • SURF
  1. The key points are detected by using a Fast-Hessian matrix. The determinant of the Hessian matrix is used to determine the location and scale of the descriptor.
  2. The descriptor describes a distribution of Haar-wavelet responseswithin the interest point neighborhood.
    • Assigning an orientation based on the information of a circular region around the
      detected interest points, then they are weighted with a Gaussian with σ = 2.5s centered at the interest points.
    • The dominant orientation is estimated by summing the horizontal and vertical wavelet responses within a rotating wedge which covering an angle of π/3 in the wavelet response space.
    • The resulting maximum is then chosen to describe the orientation of the interest point
  3. The region is split up regularly into smaller square sub-regionsand a few simple features at regularly spaced sample points are computed for each sub-region.The horizontal and vertical wavelet responses are summed up over each sub-region to form a first set of entries to the feature vector. The responses of the Haar-wavelets are weighted with a Gaussian centered at the interest point in order to increase robustness to geometric deformations and the wavelet responses in horizontal dx and vertical Directions dy are summed up over each sub-region.The most of the information is concentrated on the low order moments:
    • the first moment (mean)
    • the second moments (variance)
  4.  Indexing and matching
    • KD-tree algorithm is used to match the features of the query image with those of the database images
    • The BBF algorithm uses a priority search order to traverse the KD-tree so that bins in feature space are searched in the order of their closest distance from the query. The k-approximate and reasonable nearest matches can be returned with low cost by cutting off further search after a specific number of the nearest bins have been explored. The Voting scheme algorithm is used to rank and retrieved the matched images.
    • Match:To evaluate the similarity between the 2 images i use the ratio :
      number of good points / total number of descriptors

Leave a Reply

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

You are commenting using your 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




Just another site

Jing's Blog

Just another site

Start from here......







Just another 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


Life through nerd-colored glasses

Luciana Haill

Brainwaves Augmenting Consciousness



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: