Questions tagged [surf]

Speeded-Up Robust Features (SURF) is a feature detection algorithm used in many [tag:computer-vision] tasks, such as object recognition, 3D reconstruction, camera calibration, and [tag:cbir].

Speeded-Up Robust Features (SURF) is an algorithm in computer vision to detect and describe local features in images.

SURF is billed as specifically “Speeded-Up” and “Robust” over its predecessor, the SIFT algorithm – it is based on Hessian blob detection, and eschews the more byzantine arrangements of SIFT (e.g. octaves). This visualization illustrates SURF features with circles, scaled accordingly for each feature, overlaid on the image from which they were extracted:

SURF feature overlaid

The standard standard SURF implementation, from the introductory journal article, is about an order of magnitude faster than David Lowe’s implementation of SIFT (when run in a comparable environment).

591 questions
5
votes
1 answer

C++/OpenCV: How to use BOWImgDescriptorExtractor to determine which clusters relate to which images in the vocabulary?

My goal is to take an image as a query and find its best match in a library of images. I am using SURF features, in openCV 3.0.0, and the Bag of Words approach to find a match. I need a way to find out if the query image has a match in the library.…
Phazoozoo
  • 53
  • 1
  • 5
5
votes
1 answer

Opencv Python - Similarity score from Feature matching + Homograpy

I have several fish images in my database , My Goal is to find similarity score between user input fish image and images in database. For that I am using opencv Feature matching + Homograpy from this…
Pawan
  • 4,249
  • 6
  • 27
  • 32
5
votes
3 answers

Different results for Fundamental Matrix in Matlab

I am implementing stereo matching and as preprocessing I am trying to rectify images without camera calibration. I am using surf detector to detect and match features on images and try to align them. After I find all matches, I remove all that…
Martin Ch
  • 1,337
  • 4
  • 21
  • 42
5
votes
2 answers

SURF/SIFT type image pattern matching library in PHP

i wanna know if there is some SURF library that is written in PHP available? From little findings that i did till now surf libraries are either in C++/C#, if some link to similar technologies that are built in PHP if provided it will be appreciated.…
temp-learn
  • 527
  • 2
  • 9
  • 31
5
votes
1 answer

How to create a single constant-length feature vector from a variable number of image descriptors (SURF)

My problem is as follows: I have 6 types of images, or 6 classes. For example, cat, dog, bird, etc. For every type of image, I have many variations of that image. For example, brown cat, black dog, etc. I'm currently using a Support Vector Machine…
trianta2
  • 3,952
  • 5
  • 36
  • 52
5
votes
1 answer

Using SURF descriptors to detect multiple instances of an object. (in OpenCV)

I'm coding a program in OpenCV, which is supposed to detect objects in a scene,namely products in a supermarket. I plan to use SURF descriptors for this purpose, however everything I've found so far is related to finding 1 occurrence of an object in…
Gerardo Galarza
  • 167
  • 1
  • 2
  • 12
5
votes
1 answer

Strange result of SURF_GPU and BruteForceMatcher_GPU with knnMatch

OpenCV 2.4.5, CUDA 5.0 I tried to transfer my SURF matcher from the CPU to the GPU and got such a strange result. I use knnMatch and findHomography + perspectiveTransform together with my function, which checks the corners of the bounding box for…
iGriffer
  • 250
  • 4
  • 16
5
votes
1 answer

OpenCV SVM throwing exception on train, "Bad argument (There is only a single class)"

I'm stuck on this one. I am trying to do some object classification through OpenCV feature 2d framework, but am running into troubles on training my SVM. I am able to extract vocabularies and cluster them using BowKMeansTrainer, but after I extract…
tuck
  • 452
  • 5
  • 15
5
votes
2 answers

How to draw Geosphere in matlab?

How to draw a Geosphere in matlab? By Geosphere I mean the way of discretization points on a sphere (Geosphere is, for example in 3Ds Max). On the image below, it is shown Sphere (on the left) and Geosphere (on the right) In Matlab there is a…
Larry Foobar
  • 11,092
  • 15
  • 56
  • 89
5
votes
1 answer

Drawing rectangle around detected object using SURF

I am trying to detect an object from the following code involving surf detector, I do not want to draw matches, I want to draw a rectangle around the detected object, but somehow I am unable to get correct Homography, please can anyone point out…
sum2000
  • 1,363
  • 5
  • 21
  • 36
5
votes
2 answers

How to use Mikolajczyk's evaluation framework for feature detectors/descriptors?

I'm trying the assess the correctness of my SURF descriptor implementation with the de facto standard framework by Mikolajczyk et. al. I'm using OpenCV to detect and describe SURF features, and use the same feature positions as input to my…
4
votes
2 answers

OpenCV Surf and Outliers detection

I know there are already several questions with the same subject asked here, but I couldn't find any help. So I want to compare 2 images in order to see how similar they are and I'm using the well known find_obj.cpp demo to extract surf descriptors…
user1148222
  • 73
  • 2
  • 6
4
votes
1 answer

Detecting outliers in SURF or SIFT algorithm with OpenCV

Which method is the best to compare two images and discard outliers points? In find_obj.cpp opencv example, they use FLANN, but don't discard outliers. I have seen some methods like using Kmeans or graphs.
Wiliam
  • 3,714
  • 7
  • 36
  • 56
4
votes
2 answers

Explain this algorithm (Compare points in SURF algorithm)

I need to know if this algorithm is a known one: void getMatches(IpVec &ipts1, IpVec &ipts2, IpPairVec &matches, float ratio) { float dist, d1, d2; Ipoint *match; matches.clear(); for (unsigned int i = 0; i < ipts1.size(); i++) { …
Wiliam
  • 3,714
  • 7
  • 36
  • 56
4
votes
3 answers

SIFT and SURF feature extraction Implementation using MATLAB

I am doing an ancient coins recognition system using matlab. What I have done so far is: convert to grayscale remove noise using Gaussian filter contrast enhancement edge detection using canny edge detector. Now I want to extract feature for…