# Tag Info

16

If you could implement an SVM, you can quantize the features. :) Typically the features are quantized using k-means clustering. First, you decide what your "vocabulary size" should be (say 200 "visual words"), and then you run k-means clustering for that number of clusters (200). The SIFT descriptors are vectors of 128 elements, i. e. points in 128-...

9

As far as alternatives to SIFT/SURF go, the question you linked provides very good answers. There were two more questions I could read out: "how could I build a useful (e.g. rotation invariant) feature descriptor"? "regarding the statement from the linked question, how does he accomplish free rotational invariance?" Building feature descriptors This is a ...

9

I would rather look into KAZE / AKAZE, which perform equally good with significant speed-up. The deformation cases are also tolerated. OpenCV has recently obtained an implementation through GSoC 2014. You can find it here. Its OpenCV tutorial is also present here.

4

We must produce s + 3 images in the stack of blurred images for each octave, so that ﬁnal extrema detection covers a complete octave. For $s=3$ this means you will have $s + 3 = 6$ blurred images (the Gaussian images shown in the paper in Figure 1 on the left). Having $6$ Gaussian images will result in $5$ DoG images (shown in Figure 1 on the right). This ...

4

The $\sigma$ parameter is both. The Gaussian function can generate a scale-space where $\sigma$ is the scale parameter. It doesn't mean the image is scaled, instead it is the scale at which the features are being evaluated. For example, with higher $\sigma$ the image is more blurred and therefore only larger image features contribute to the gradient ...

4

Another way to get rotational invariance for free, is to choose objects that are rotationally invariant. For instance, a circle or a ring is invariant to rotations. Feature extractor: Run edge detection. For each neighborhood of NxN pixels, calculate edge direction and magnitude 2D histogram. Find all points that have high total magnitude, and high angular ...

4

There are two versions of optical flow(OF): Feature based (sparse) or dense. In the dense version OF is applied to all the image pixels, while in the sparse one, only certain characteristic feature points are tracked. However, both approaches depend on the tracking of pixel quantities. This is fundamentally different than tracking the whole patch, because in ...

3

Probably not. The SIFT detector finds centers of blob-like features. Shi-Tomasi detector finds corners. Furthermore, SIFT detector operates at multiple scales, while the classic Shi-Tomasi does not.

3

If I understand correctly what you are asking -- In general, the feature is found at the same scale as the SIFT detector says, but in David Lowe's SIFT, the image is pre-smoothed with sigma: 0.5, so, you need to "subtract" this amount of smoothing from the sigma, so the "real" scale could be: sqrt(sigma^2 - 0.5^2) where sigma is the scale the feature was ...

3

In music theory, an octave is an interval in frequency, from a frequency $f$ to frequency $2f$. For example "an octave higher" means "twice the frequency". Expressed as wavelength inversely proportional to frequency, $\lambda \propto \frac{1}{f}$, an octave would be the interval from a $\lambda$ to $\frac{1}{2}\lambda$. In the SIFT paper'...

2

Building on previous responses: (1) You can use SIFT (or another improved variant of this local-patch descriptor) with dense sampling, instead of the inbuilt detector. You can choose the size of the local patch and the sampling density to suit your requirements of performance and computational cost. (2) SIFT is an affine invariant descriptor for wide ...

2

The paper referenced in your link seems to be this one. Of particular interest there is Table 1 (included below). The accuracy rates aren't great, though they are better than other approaches.

2

I don't know if I completely understand your question, but I will have a go at clarifying the scale space, multi-resolution ocataves and why they are important for SIFT. To understand the scale space it is helpful to consider how you recognise images at different distances (e.g far away you may be able to distinguish the shape of a person. As that person ...

2

Horizontal and vertical gradients are computed by taking neighbor pixel differences: $$g_{x}=L(x+1,y)-L(x-1,y)\\g_{y}=L(x,y+1)-L(x,y-1)$$ Gradient magnitude is computed the same way as in your formula: $$m(x,y)=\sqrt{g_x^2+g_y^{2}}$$ Replacing $g_{x}$ and $g_{y}$ with above will give you the original formula. Gradients are usually computed by forward or ...

2

Consider one-dimensional function $f(x)$. The first order taylor expansion is $f(x_0+h) \approx f(x_0) + f'(x_0)h$ The second order taylor exapnsion is $f(x_0+h) \approx f(x_0) + f'(x_0)h + \frac 1 2 f''(x_0)h^2$ Now we expand three-dimensional function.  D(\mathbf{x_0}+\mathbf h) \approx D(\mathbf{X_0}) + \bigg(\frac{ \partial D}{\partial \mathbf x}\...

2

The ROC: ROC curves are popularly used as performance metric for classification tasks. If the images in your dataset has class labels, then you can employ supervised learning to train a classifier (SVM for example). The dataset is split into training and testing and predicted class score from the classifier for images in the test set are compared to ground ...

2

The answer boils down to 2 issues with the practical approximations of the Gaussian Kernel: Though the Gaussian Kernel is radially symmetric its discrete approximation has a rectangle support. Unless this support will have infinite length a rotation by any angle different from a multiplication of 90 degrees will yield a shape which has to modified to fit ...

2

Each SIFT descriptor corresponds to a region of the image. You take these from a bunch of images and group them into some number of clusters. I think what he's showing in the slide there is just a few samples from each cluster where he chose human-meaningful names for the clusters after the fact.

2

I think you have a matrix. Each Row / Column is a descriptor vector of a point in the image. Just like having features, let's say M features, and each point has M values corresponding to M features. So each element in the descriptor vector is a value of specific feature for this point. And yes, if you have M = 128 Features and 1000 points you'll get a ...

2

LoG and DoG (an approximation of LoG) masks can serve as blob detectors. A blob can exist in an image at a number of locations $(x,y)$-coordinates and scales (some parameter; $t$). In some situation where scale space is divided into 3 discrete 'slices' and there are only 'small,' 'medium' and 'large' sized blobs, a 'medium' sized blob will have some response ...

2

One of the most important characteristics of the key points is its repeatability under different geometric transformations and also lighting. Repeatability ensures that if, for example, you have two images of the same scene, at different sizes and also with a different angle of rotation, the vast majority of key points in both images will coincide and, in ...

1

Depends. If you use two separate pre-canned libraries to compute them, likely not. However, note that when people talk about "SIFT features" they refer to two things: Point locations on the images Descriptors, a.k.a. collections of numbers computed from the pixels around the point locations. What defines SIFT is really the descriptors, whereas the point ...

1

SIFT works on points in an image while segmentation is about dividing up the image into regions. So, no, segmentation is not necessary when using SIFT. In segmentation you divide up the image into regions so classification can be done by extracting features from each region and see if you can recognize your object. A downside to this approach is that ...

1

Check out Szeliski's book: http://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf There is also an old book on feature detection: http://www.amazon.com/Feature-Extraction-Processing-Computer-Edition/dp/0123965497 You can read the sections that you care about. Also, I think it is always a good idea to read about scale space theory if you are to ...

1

You essentially got it right: the final purpose of the whole BoW clustering algorithm is to somehow produce a single image descriptor for every image. In case of BoW clustering (either K-means, or hierarchical K-means, or some other clustering), this image descriptor is a histogram of visual words for that image often normalized by the number of local ...

1

First of all, there are two distinct parts to SIFT. The first part is interest point detection algorithm (aka key-point detection), which finds local extrema of the multi-scale difference-of-gaussians function. The second part is computing the feature descriptor, which is a vector describing the image patch around each key point. SIFT computes this ...

1

With slight modification you might want to use RootSift: http://www.robots.ox.ac.uk/~vgg/publications/2012/Arandjelovic12/arandjelovic12.pdf Also the other steps in the paper will guide to improve the recall rate. Cheers,

1

The descriptor obtained from a $64\times 64$ neighborhood of interest point at the obtained scale. It will divide this $64\times 64$ region to $16\times 16$ patches which lead to 16 patches. For each patch we calculate the gradients and then find the dominant direction of gradients(which has some details), then taking the dominant direction as the ...

1

I can only find this is the paper: As this graph shows, the highest repeatability is obtained when sampling 3 scales per octave, and this is the number of scale samples used for all other experiments throughout this paper. It might seem surprising that the repeatability does not continue to improve as more scales are sampled. The reason is that ...

1

Yes, only scale space is sufficient, but at some point when you are scaling it down, instead of creating new Gaussian filters, it's more efficient to just resize the image and use the same/old filters (ie, don't need to keep increasing sigma, but rather decrease image size) this has the same effect as just increasing the scale (σ^2 = scale)

Only top voted, non community-wiki answers of a minimum length are eligible