# Tag Info

## Hot answers tagged local-features

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

12

Some Features: Mean. Variance. Skewness. Kurtosis. Dominant 3 frequencies in the DFT. Energy of the 3 dominant frequencies. Max Value. Min Value. Median. Total Variation. 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.

10

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 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 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, ... 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 ... 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 ... 4 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 ... 4 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)$$ 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 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 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 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 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 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 2 I have referred to Stage I.D of this tutorial. Hope this helps. http://www.robots.ox.ac.uk/~vgg/practicals/instance-recognition/index.html#stage-id-improving-sift-matching-using-a-geometric-transformation When the features have scale and orientation assigned (e.g. SIFT features have these properties), you can compute similarity transform between each ... 2 I'm not into details of this specific case but I can see some logic. A convolution layer can be reformulated as a Matrix Multiplication: $$y = W x$$ Let's say we trained on Data Set$ {x}^{1} $which is big and general. Namely we expect the trained weights$ {W}^{1} \$ to be good enough for almost any other data set. Let's assume we have another data ...

2

When using a randomized pattern in BRIEF, this means that you computed random positions inside the patch once in an offline procedure, then used these random locations every time you computed the descriptors. This makes sense, as it means that when comparing descriptors you will actually compare the same locations, it's simply that the sampling pattern was ...

1

I haven't used the Zernike module from PeRL's myself, but check out their implementation here. It's written as an OpenCV module and looks well optimized. However! I have no idea what their license on this is, so definitely check before you integrate it into anything you're going to distribute or sell.

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