hellinger_vector_128_dsift

menpo.feature.hellinger_vector_128_dsift(x, dtype=<class 'numpy.float32'>)[source]

Computes a SIFT feature vector from a square patch (or image). Patch must be square and the output vector will always be a (128,) vector. Please see dsift() for more information.

The output of vector_128_dsift() is normalized using the hellinger norm (also called the Bhattacharyya distance) which is a measure designed to quantify the similarity between two probability distributions. Since SIFT is a histogram based feature, this has been shown to improve performance. Please see 1 for more information.

Parameters
  • x (Image or subclass or (C, Y, Y) ndarray) – Either the image object itself or an array with the pixels. The first dimension is interpreted as channels. Must be square i.e. height == width.

  • dtype (np.dtype, optional) – The dtype of the returned vector.

Raises

ValueError – Only square images are supported.

References

1

Arandjelovic, Relja, and Andrew Zisserman. “Three things everyone should know to improve object retrieval.”, CVPR, 2012.