21

An interest point (key point, salient point) detector is an algorithm that chooses points from an image based on some criterion. Typically, an interest point is a local maximum of some function, such as a "cornerness" metric. A descriptor is a vector of values, which somehow describes the image patch around an interest point. It could be as simple as the ...


11

I will try to avoid math, because math and "how to do it" tutorials can be easily found. So, I start by pointing out one VERY important thing: One does not compute Harris for a single pixel, but for a vicinity (a patch of image) around that pixel! Let $I(i)_{xx}, I(i)_{xy} ...$ be your derivatives for a point $i_0$, then, $H = \left[ \begin{array}{cc} \...


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.


9

Image keypoints are a key feature in many Image and Video processing softwares, both industrial and academic. The principle behind is always the same: detect some meaningful points in some images; [optional] compute a stable description of the image part surrounding each keypoint; match keypoints from an image (the template) to another (the query). Now, ...


9

I think it is kind'a similar to soft and hard thresholding using in wavelet de-noising. Have you come across this topic? pywt has already an in-built function for this purpose. Please take a closer look at this code and try to play with it: import pywt import matplotlib.pyplot as plt import numpy as np ts = [2, 56, 3, 22, 3, 4, 56, 7, 8, 9, 44, 23, 1, 4, 6,...


8

Here is what I did for a client (What you are asking is the same). Assuming that you have access to certain type of a pattern on the image (or the center of the hole), you could always detect the template to obtain the location of a possible unwarp: Note that in the transformed image, two region of interests are defined and the region within which we would ...


8

Some Features: Mean. Variance. Skewness. Kurtosis. Dominant 3 frequencies in the DFT. Energy of the 3 dominant frequencies. Max Value. Min Value. Median. Usually I'd compute them in running windows. Another great information is the Histogram of the Derivative. Or just all the above of the Derivative.


7

The 1D gabor filter has the following form in the frequency domain: $$G_{b(\sigma,\omega_0)}(\omega) = \text{exp}\left(-\frac{\sigma^2}{2}(\omega - \omega_0)^2\right)$$ The 1D log-gabor filter is: $$G_{l(\sigma,\omega_0)}(\omega) = \text{exp}\left(-\frac{\ln^2(\omega/\omega_0)}{2\ln^2(\sigma)}\right)$$ Log-gabor filters are used because they have 0 DC ...


5

There are two different concepts: If you think as your signal as a single random variable $X$ that is emitting values, then what you want is to calculate the Entropy of the random variable http://en.wikipedia.org/wiki/Entropy_estimation If you are considering the entire random signal or stochastic process, then you have to estimate the autocorrelation ...


5

In the robot navigation problem, the localization problem refers to the real time estimation of its position and orientation under various backgrounds. This is usually achieved by some natural landmark selection (laser points, camera views, etc.), and the features in the image (corners, tiny lines with different orientations, etc.). So the localizability ...


5

In addition to the features mentioned so far I would like to mention measures of complexity such as: Shannon Entropy LZ Complexity Fractal Dimension There are also Fourier Descriptors (as hinted by Drazick already) and their equivalent in Wavelet Analysis and of course simple histogram bins which would return how frequently each gear is engaged en route. ...


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

I am currently working on CBIR using Component Trees, which should be a relatively new idea. Some expected advantages of using Component Trees to describe images would be: The Component Tree representation of an image would not depend so much on the deformations (even projective) to the image Examining different levels of the tree would allow comparisons ...


4

MSER (Maximally stable extremal regions) are regions, not points. And they're invariant to affine transformation. But it's not a segmentation method, strictly speaking Informally speaking, the idea is to find blobs at various thresholds, then select the blobs that have the least change in shape/area over a range of thresholds. These regions should be stable ...


4

Most likely your images look different from the ones in the lectures because of scaling. Note that the result of the convolution with a Laplacian filter will have positive and negative values. What the resulting image looks like depends on the data type of the array, and on the range to which the values are scaled. For example, if you store your filtered ...


3

The $\sigma_I$ determines the scale level at which the Harris corners are computed. Coarser scales (higher values of $\sigma_I$) correspond to larger corners. The $\sigma_D$ is effectively the window size, over which the derivatives are summed to generate the entries of the matrix. If $\sigma_D$ is too small, then the detector will be seriously affected by ...


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

For a quantized or digital signal, you can get a upper bound on an estimate of information complexity or randomness by attempting to compress the data and/or the data's spectrum using a large variety of compression algorithms.


3

I don't know if you are familiar with statistical signal processing and therefore will write my answer assuming that you are not. Everything I explain here is much better presented in any book about statistics. I would recommend Kay's book about detection theory. I first summarize your question by reformulating the 2 points you made, first in comprehensive ...


3

Haralick's primal topograhic sketch is the answer to that. Check-out the peak section of : Haralick R., et al. - The Topographic Primal Sketch If you also look at the notation and Hessian parts, you will grasp how to implement peak finding (local-max) as a convolution operator. Regarding your comments below: Of course you get multiple peaks, but ...


3

As Conrad pointed out, a correlator is probably your best bet. The correlation of a signal with itself (also known as its self-similarity) is larger than its correlation with any other signal (except for a constant factor related to the signals' energy). In your case, you would implement two correlators, one for Signal 1 and one for Signal 2. Then, you'd ...


3

The generalisation of the concept of an analytic signal is not straight forward. I'm quite certain however that looking for such a generalisation with quarternions (or even octonions) will not turn out fruitful. Those generalise complex numbers primarily algebraically, attempting to preserve as much of the field structure as possible, and not so much as a ...


2

Do you really have to use Harris corners? There is many features developed after Harris corners, with better properties. A good overview can be found in this article: A.L. Dahl, H. Aanæs, and K.S. Pedersen. Finding the Best Feature Detector- Descriptor combination Based on that article as well as my personal experience, I would suggest switching either to ...


2

I think a better way to understand what PCA does is to understand what is a good feature. Suppose you are classifying obese people from non-obese people. A good feature (let's call it $f_1$) to use for example might be "body mass index (BMI)" for each person. Another good feature (called $f_2$) to use might be "weight". A third feature $f_3$ to use would be ...


2

Ok, it sounds like you are trying to do eigenfaces, right? In that case, you have to think of your face images as points in a very high-dimensional space. For example, if your images are 32x32, then the space has 32 * 32 = 1024 dimensions. Operating in so many dimensions is very difficult, because distances between points become almost meaningless. With ...


2

You could take a look at recent publications by Segvic et al, I know they have been working on the problems of traffic sign detection. The basic idea was to use the Viola-Jones framework for object detection, which was later improved by adding some temporal and spatial constraints. If I remember correctly, they achieved a nearly 100% recall rate with just 2 ...


2

Do you know what signs you are looking for? If yes, maybe you could do template matching (e.g. a normalized cross-correlation, available in matlab). It won't work great when signals are getting closer, since the perspective projection will change their appearance, but it should work for mid-range detection. You can limit your template-matching search to the ...


2

The original question was well posed, while the edit made it wrong. Let's clarify things first: the term scale normalized derivative was introduced (to my knowledge) in Mikolajczyk, K. and Schmid, C. 2001. Indexing based on scale invariant interest points. In Proceedings of the 8th International Conference on Computer Vision, Vancouver, Canada, pp. ...


2

Well, that's a great answer by @sansuiso, so I'll just concentrate on various possible uses of detected keypoints, and describe some examples for you. There are certainly more uses, the ones listed are just based on what I came in touch with until now. Content based image retrieval (CBIR) You treat the features (the feature vectors you get after applying ...


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