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
0 answers

Conceptual queries on retrieving 'visually similar' images: Dense SIFT or other descriptor?

I am posting 3 images of my dataset to show how my image visually looks: http://s1306.photobucket.com/user/Bidisha_Chakraborty/library/?page=1 I am using VLFFeat DSIFT implementation. I am using per descriptor 4 orientations instead of 8. So in my…
0
votes
2 answers

How to use SIFT algorithm with a color inverted image

For example I have two images, where first one is a regular and second one with a color inversion (I mean 255 - pixel color value). I've applied SIFT algorithm to both of them using OpenCV and Lowe paper, so now I have key points and descriptors of…
fen1ksss
  • 1,100
  • 5
  • 21
  • 44
0
votes
1 answer

need advise on sift feature - is there such thing as a good feature?

I am trying out vlfeat, got huge amount of features from an image database, and I am testing with the ground truth for mean average precision (MAp). Overall, I got roughly 40%. I see that some of the papers got higher MAp, while using techniques…
Karl
  • 5,613
  • 13
  • 73
  • 107
0
votes
1 answer

SIFT opencv2.3.1/2.4.3 both Giving very strange descriptors..like 7., 29., 39., 11., 2.3.1 Giving very strange descriptors

This is very simple code for SIFT,I am getting is very strange descriptors.Are they correct? descriptor: [ 0., 7., 29., 39., 11., 0., 0., 0., 32., 30., 39., 52., 16., 0., 1., 12., 38., 14., 10., 20., 28., 93., 45., 37., 93., 3., 6., …
Vivek
  • 152
  • 1
  • 4
  • 10
0
votes
1 answer

Image matching algorithm: Get the sizes of the same object from two images using SIFT or SURF?

I am working on a image matching project. First we use SURF to find out a matching pair of pictures. There will be at least one object that appears on both images. Now I need to find out, for this same object, what are the sizes of it on the two…
HeyThere
  • 503
  • 1
  • 5
  • 19
0
votes
1 answer

Efficiently segmenting an image into grid in matlab

Currently, I am using the code below to segment an image into a grid of cellSizeX pixels times cellSizeY pixels: grid = zeros(cellSizeX, cellSizeY, ColorCount, cellTotalX, cellTotalY); for i = 1:cellSizeX:(HorRowCount) for j…
Karl
  • 5,613
  • 13
  • 73
  • 107
0
votes
1 answer

To use the second variant of FeatureDetector on an image set

I was able to successfully load a number of images into a vector, vector. The images once loaded in can be displayed with the imread function. The problem is that I want to apply SIFT on this set of images using the second variant, as…
ipunished
  • 684
  • 2
  • 6
  • 22
0
votes
3 answers

Get data ready(one sample per row) for clustering using k-means?

I'm trying to cluster keypoints (detected using SIFT) using the kmeans function, but I'm having trouble getting it ready for being used. The keypoints are saved to an xml/yml file using the code below: int _tmain(int argc, _TCHAR* argv[]) { Mat…
ipunished
  • 684
  • 2
  • 6
  • 22
0
votes
1 answer

How to normalize Difference of Gaussian Image pixels with negative values?

In the context of image processing for edge detection or in my case a basic SIFT implementation: When taking the 'difference' of 2 Gaussian blurred images, you are bound to get pixels whose difference is negative (they are originally between 0 -…
user712850
0
votes
1 answer

Difference between SiftFeatureDetector() and Ptr

Whats the difference between SiftFeatureDetector() and Ptr. They both apparently have the same function. The opencv tutorial uses SiftFeatureDetector but when clicking on the official documentation they use Ptr and have no mention of…
StuckInPhDNoMore
  • 2,507
  • 4
  • 41
  • 73
0
votes
1 answer

Code keeps breaking no matter what I try

Ive been trying to get my very simple code that I posted here: SiftFeatureDetector .detect function broken? to work. But it keeps breaking, it compiles fine but refuses to run. I have OpenCV 2.4.2, Windows XP. Here is what I have done: I first tried…
0
votes
2 answers

how to decrease number of descriptors when using SIFT?

I have used SIFT to find keypoints and descriptors,now I want to decrease number of descriptors because for example for an image with size 256x256 it gives me 120000 descriptors which is time consuming. please let me know any suggestion how to…
0
votes
1 answer

SIFT feature detector produces unhandled exception

The code below is just to see feature detection in SIFT. The problem is that it breaks when I run it. #include #include #include #include #include #include #include…
StuckInPhDNoMore
  • 2,507
  • 4
  • 41
  • 73
0
votes
1 answer

comparing 2 word images using OpenCV

I am working on comparing 2 word images like these: I am trying to use OpenCV's inbuilt feature detectors for this purpose.Using SIFT and BruteForceMatcher isn't proving to be too effective as it shows a lot of matches for non-matching words…
code4fun
  • 2,661
  • 9
  • 25
  • 39
0
votes
1 answer

extracting SIFT descriptors

if you dont mind iam using opencv SIFT to get sift descriptors. and i get the correct number of key-points and descriptors. BUT when i loop through descriptors using code like this (iam accessing only the first descriptor) for (int…
Saddam
  • 1
  • 1