22

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

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

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


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


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

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

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

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

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

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

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


3

Unless mentioned otherwise withing the context the classic interpretation of Second Derivative Gaussian Filter is indeed (a) in your question: $$ L \left( x, y, \theta \right) = \cos \left( \theta \right) {g}_{xx} \left( x, y \right) + \sin \left( \theta \right) {g}_{yy} \left( x, y \right) $$


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

Make use of perceptual hashes. It is very fast to compute and is very lightweight, both in terms of memory and cpu consumption. They are represented by simple long integers and can be indexed using many types of data structures such as VP Trees: http://www.phash.org/ If that doesn't work, you can extract SURF features, quantize them into visual words using ...


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


2

Log-gabor are filters defined similarly as gabor filters in the sense that their envelope consist in a Gaussian in Fourier space. This is advantageous because this makes them optimal with respect to the compromise between localization (in space) and detection (of the mean frequency). The difference is that log-gabor (as their name implies) are defined in ...


2

Hello I will be brief and I hope you understand, due to the shape of your signal I think it is best treated with wavelet transform base HAAR, the reason for using this transform is that it will give a representation in time and frequency where you can get the relevant information of the signal, now an important parameter is that you use the base HAAR (there ...


2

The mean and standard deviation are two measurements of a distribution. Others you could also use are higher order moments like 'skewness' (how skewed the distribution is) and 'kurtosis' (how 'peaky' the distribution is). However, what I would try is a histogram of the values for each of the channels. For example, if you used a histogram with 16 bins, you ...


2

Regarding LAB, it is a good way if you are interested in the differences as humans perceive them. About texture, I would suggest taking a look at some proprietary texture descriptors: Gray level co-occurrence matrix. Response to wavelets


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