Is LSH about transforming vectors to binary vectors for hamming distance?

拈花ヽ惹草 提交于 2019-12-02 00:50:48

1) You can bypass it, but then you will work in D dimensions, not N as you say. where N << D. That means that the algorithm has to adapt to D dimensions as well.


2) No.

Read SIFT from openCV:

  1. Keypoint Descriptor

Now keypoint descriptor is created. A 16x16 neighbourhood around the keypoint is taken. It is devided into 16 sub-blocks of 4x4 size. For each sub-block, 8 bin orientation histogram is created. So a total of 128 bin values are available. It is represented as a vector to form keypoint descriptor. In addition to this, several measures are taken to achieve robustness against illumination changes, rotation etc.

Here is how I have it in my mind, hope that will be enough:

LSH takes as input a pointset, of n points, where every point lies in d dimensions.

So, a query is a point, in d dimensions and the goal is to find its NN*.


  1. Now every point, represents an image descriptor. So, we have n images in our dataset.

  2. The query, which is also a point (i.e. a vector with d coordinates), represents another image descriptor.

  3. We are seeking to match (i.e. to find the Nearest Neighbor) the query image descriptor with an image descriptor from our dataset.

So the conversion you are talking about is applied in a vector, not a matrix.


Edit:

Moreover, from our High-dimensional approximate nearest neighbor: k-d Generalized Randomized Forests paper, see this in the Experiments section:

SIFT is a 128-dimensional vector that describes a local image patch by histograms of local gradient orientations.


*or the Fixed-radius near neighbors problem

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!