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
0
votes
1 answer

Finding the distance between two photos of the ceiling using SIFT

I am currently writing a project that will allow robot to find its location depending on the photos of the ceiling. The camera is mounted on the robot and is facing the ceiling directly (meaning that the center of the photo is always consider to be…
0
votes
1 answer

‘SIFT’ is not a member of ‘cv’

I am trying to use openCV's SIFT feature detector using C++ on a mac and I keep getting the following error: siftTest.cpp: In function ‘int main(int, char**)’: siftTest.cpp:7: error: ‘SIFT’ is not a member of ‘cv’ siftTest.cpp:7: error: expected…
nickela125
  • 147
  • 1
  • 2
  • 10
0
votes
1 answer

SVM, testing, learning, classifying with sift and k-means/ward

I am hoping someone can explain me, if I'm on the right way. I'm trying to learn something about image retrieval and SVM but it's just a little bit confusing. I will ask my questions by posting the source code. First I have a dataset of cats. For…
Linda
  • 2,375
  • 4
  • 30
  • 33
0
votes
2 answers

opencv flann module: knn-search for hierarchical kmeans tree giving weird result

I have about 130,000 SIFT descriptors. I am building a hierarchical Kmeans-index using Opencv's flann module. After this I want to quantize these 130,000 descriptors (will quantize more later). I am using flann's knnsearch method for doing this. But…
code4fun
  • 2,661
  • 9
  • 25
  • 39
0
votes
2 answers

Eliminate unwanted keypoints

I would like to eliminate the keypoints detected around the frame of an image (an artwork of a museum gallery ). In other words I want to separate out the actual artwork from its frame. Each artwork consist of different types of frames. ![Keypoints…
Yrol
  • 159
  • 4
  • 17
0
votes
1 answer

Opencv Error: Insufficient memory(Failled to allocated) when I use the sift()

Here is my code: void Init() // For the first frame. { Mat in=cv::imread("img1.jpg"); SIFT* s=NULL; vector< cv::KeyPoint > key;key.clear(); Mat* descriptors=NULL; _CrtMemState Sh1,Sh2,Sh_Diff; _CrtMemCheckpoint(&Sh1); s…
wcwswswws
  • 29
  • 1
  • 7
0
votes
1 answer

calculate number of matches between two images using MATLAB vl_sift

I’m new to MATLAB. I’m using VL_Feat library. I’m trying to construct a code that can calculate number of matching points between two images. Up to now I know how to match two images. What I want to get is number of matching points. As an example…
0
votes
1 answer

Feature point Tracking

I am trying to track set of feature points in a sequence of grayscale images using OpenCV 2.4.0. I already know how to implement SIFT or SURF for detecting feature points and initially computing the descriptors. However, I need help in computing…
0
votes
1 answer

SIFT Assertion Failed error

I'm trying to use SIFT to match two images and i'm using the code below: cv::initModule_nonfree(); cv::Mat matFrame(frame); cv::Mat matFrameAnt(frameAnterior); cv::SiftFeatureDetector detector(400); //I've tried different values…
0
votes
0 answers

How to build matrix in matlab

I'm looking for building a matrix of an image descriptron extracted from SIFT. I got the descriptor's locations (X,Y), and I want to build the patch 15X15 pixels. -------------------------------- (144,100)| | | …
Peace
  • 17
  • 10
0
votes
0 answers

Transform an image A to an image B using the calculated SIFT keypoints in MATLAB

is there a possibility to transform an image A to an image B using the calculated SIFT transforms? What I'm looking for is a function like "transform_using_sift" which works as follows: [fa, da] = vl_sift (A); [fb, db] = vl_sift (B); B_from_A =…
Samsky
  • 438
  • 5
  • 11
0
votes
2 answers

How to eliminate the match of a point with itself?

I have applied SIFT on one image but two times ,example: [image1, descript1, location1] = sift('book.pgm'); [image2, descript2, location2] = sift('book.pgm'); after matching function it will show all points are matching, I want to eliminate all the…
0
votes
1 answer

vl_sift Why two frames have the same position

I am a freshman of vl_sift. When I ran the codes from the website, I have found a problem which I didn't understand. After executing [f,d] = vl_sift(I) ; I checked the f. col 11 12 15.6534681320190 …
Anguslilei
  • 31
  • 1
  • 5
0
votes
1 answer

Understanding the concept of Removing edges

This is a simple concept on removing edges for sift algorithm but it is difficult to understand...if anybody could explain it with the help of images i would be grateful.. "The idea is to calculate two gradients at the keypoint. Both perpendicular…
aushima
  • 87
  • 1
  • 1
  • 9
0
votes
1 answer

How to use k-d tree to find nearest neighbor?

I have applied SIFT on one image and got descriptors, then I have used Euclidean distance to find similar descriptors, now I want to use k-d tree to find which descriptors are more similar and reprocess them in a data structure. Please help me how I…