Hot answers tagged

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

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 ...


4

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 ...


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

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'...


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.


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

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

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

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

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 ...


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

I'm not sure I fully understood what's the issue you're having. Yet I will show a simple property of the Gaussian filter which might make things clearer. For simplicity, I will use 1D Signal. Yet it is easy to extend it into 2D. The Problem For $ u \in \mathbb{R} $ (1D, unbounded domain), show that a Gaussian convolution with the initial condition solves ...


2

Actually, the purpose of all this is to approximate a Laplacian of Gaussian! This computation is part of the corner detection of SIFT. You can find corners by examining extrema of the Laplacian of Gaussians (2nd order derivative). You use Gaussians for denoising, and a Laplacian to find inflection points. However, it is classical to not deal directly with ...


1

I don't understand whether these processes are also invariant to object-alterations! They are not. How would the extracted fft-features look, if I alter the object (scratches, marks, dents etc.)? Would I still be able to match them properly? Yes. But within certain limits. The Fourier-Mellin transform is based on the Discrete Fourier Transform (DFT) whose ...


1

You have to take the derivative with respect to the vector $x$ and set it equal to zero. For a constant matrix $A$, the derivative of $A^Tx$ is $A$, and the derivative of $\frac12 x^TA^Tx=Ax$. So taking the derivative of $(1)$ gives $$\frac{\partial D}{\partial x}+\frac{\partial^2D}{\partial x^2}x\tag{1}$$ Setting $(1)$ equal to zero results in $(2)$.


1

As you know, you find interest point (SIFT points) by finding the local maxima in scale-space, it mean the response of the detector must be maximum regarding the coordinates and also the scale. So knowing the scale you select features from that scale. Now consider the same process for same interest point in the same picture but with different zoom, the ...


1

Few reasons i could think of are: Size of your training set is very small. Larger training sets have always been the key for accuracy. Each algorithm will have some drawback like SURF is not good at viewpoint change and illumination change. So if the test images vary from the training images in case of illumination and viewpoint, results on those data will ...


1

The function is fully approximated if one uses all the derivatives (see Taylor expansion). With using the Hessian only, we can only make a second degree approximation (because it is second derivative matrix), which is geometrically the same as using the second order polynomial.


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

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

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

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

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)


1

First of all, read this. Then: Due to the nature of this question, I will only give you some hints on pre-processing to improve your retrieval task. Don't use Sift. Use RootSift. This is a performance gain at no cost. It is taking the square root of Sift vectors and applying L1 normalization. You can use Harris Affine regions to even be more robust. VLAD ...


1

There is now support for the bag-of-words model in the Computer Vision System Toolbox for MATLAB.


1

If you remap a local patch around a feature point to log–polar coordinates (with the origin in the point of interest), scale changes correspond to a translation along the log–radial axis, while rotations correspond to translations (with wrap-around) along the angular axis. If you then calculate the two-dimensional Fourier transform, translations in the ...


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