Questions tagged [sift]

Scale-invariant feature transform (SIFT) is an algorithm in computer vision to detect and describe local features in images. This tag is for programming questions related to SIFT implementation or programs that use SIFT algorithm for computer vision applications.

Scale-invariant feature transform (SIFT) is an algorithm in computer vision to detect and describe local features in images, introduced by prof. David Lowe in 2004.

The local features extracted from an image with SIFT can then be used to identify an object from that image. This visualization illustrates homologous SIFT keypoints in two separate pictures of the same magazine cover:

enter image description here

Applications of SIFT include object recognition, robotic mapping and navigation, image stitching, 3D modeling, gesture recognition, video tracking, and match moving.

Algorithm Steps

  • Scale-space extrema detection

  • Keypoint localization

  • Interpolation of nearby data for accurate position

  • Discarding low-contrast keypoints

  • Eliminating edge responses

  • Orientation assignment

  • Keypoint descriptor

More information can be obtained here

837 questions
8
votes
2 answers

Feature Extraction with Javascript

I am wondering whether there is any open source or free library for Image feature extraction with Javascript? I am developing an app where I need to use an algorithm like SIFT. It is tough to implement in JS, and I couldn't find a good SIFT…
Keshan
  • 14,251
  • 10
  • 48
  • 72
8
votes
2 answers

How to use SIFT for image comparison

I recently stumbled upon a SIFT implementation for C#. I thought it would be great fun to play around with it, so that's what I did. The implementation generates a set of "interest points" for any given image. How would I actually use this…
Boris
  • 8,551
  • 25
  • 67
  • 120
8
votes
1 answer

Merge multiple cv::Mat?

Basically I have 3 mat like this: Mat descriptors1 Mat descriptors2 Mat descriptors3 Where each descriptors have been loaded like this: extractor->compute( object, kp, descriptors ); How could I join in a single Mat all the descriptors (append one…
dynamic
  • 46,985
  • 55
  • 154
  • 231
8
votes
2 answers

Trying to match two images using sift in OpenCv, but too many matches

I am trying to implement a program which will input two images one is an image of a box alone and one which includes the box in the scene. Basically, the program is supposed to find keypoints in these two images and will show the images with…
bahti
  • 636
  • 1
  • 7
  • 21
7
votes
3 answers

SIFT is not finding any features in reference image in OpenCV

I have an image of the target logo that I am trying to use to find target logos in other images. I am currently running two different detection algorithms to help me detect any logos on the image. The first detection algorithm I use is Histogram…
Seb
  • 3,414
  • 10
  • 73
  • 106
7
votes
6 answers

Implementations of image matching using "Scalable Recognition with a Vocabulary Tree"

Do you know of any implementations or improvements of the method of matching images proposed by David Nister and Henrik Stewenius, called "Scalable Recognition with a Vocabulary Tree"? I am trying to implement it and I am having trouble…
cvlad
  • 608
  • 1
  • 6
  • 17
7
votes
6 answers

SIFT, HOG and SURF c++, opencv

I have a simple question, which I want to know, what kind of libraries are available and can give good results for implementing SIFT, HOG(Histogram Oriented Gradient) and SURF in c++ or opencv? Hence: 1- Give me the link for the code if you can,…
Mario
  • 1,469
  • 7
  • 29
  • 46
7
votes
1 answer

Is ORB depending on image resolution?

I'm trying to use OpenCV to detect and extract ORB features from images. However, the images I'm getting are not normalized (different size, different resolutions, etc...). I was wondering if I need to normalize my images before extracting ORB…
whiteShadow
  • 369
  • 4
  • 19
7
votes
1 answer

Proper approach to feature detection with opencv

My goal is to find known logos in static image and videos. I want to achieve that by using feature detection with KAZE or AKAZE and RanSac. I am aiming for a similar result to: https://www.youtube.com/watch?v=nzrqH... While experimenting with the…
ManuKaracho
  • 1,180
  • 1
  • 14
  • 32
7
votes
2 answers

How do I create KeyPoints to compute SIFT?

I am using OpenCV-Python. I have identified corner points using cv2.cornerHarris. The output is of type dst. I need to compute SIFT features of the corner points. The input to sift.compute() has to be of the type KeyPoint. I'm not able to figure out…
7
votes
1 answer

Python+OpenCV 3 - Can't use SIFT

I compiled OpenCV 3 & opencv_contrib from the latest source code. I installed it into the site-packages folder for Python 2.7. I can follow all of the tutorials at http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html…
Maxim
  • 962
  • 2
  • 9
  • 21
7
votes
1 answer

SURF description faster with FAST detection?

for my master thesis, i am running some test on the SIFT SURF en FAST algoritms for logo detection on smartphones. when i simply time the detection, description en matching for some methods i get the following results. For a SURF detector and SURF…
piepie
  • 125
  • 2
  • 10
6
votes
2 answers

SIFT prediction

I am using the SIFT implementation of Andrea Vedaldi, to calculate the sift descriptors of two images. But I would like to know if it is possible to predict where the object will be in next image, using SIFT descriptors.
user1073039
  • 63
  • 1
  • 4
6
votes
3 answers

Image Descriptors with SIFT/VLFEAT

I want to perform a classification task in which I map a given image of an object to one of a list of predefined constellations that object can be in (i.e. find the most probable match). In order to get descriptors of the image (on which i will run…
Dan
  • 61
  • 1
  • 2
6
votes
2 answers

SIFT Object Matching in Python

I'm trying to follow this tutorial with my own images.However, the results I get are not exeacty what I'd exepct. Am I missing something here, or is SIFT just not a good enough solution in this case? Thanks alot. import numpy as np import cv2 from…
Alex
  • 85
  • 1
  • 8