Detecting if an object from one image is in another image with OpenCV

前端 未结 4 1959
别那么骄傲
别那么骄傲 2021-01-01 00:48

I have a sample image which contains an object, such as the earrings in the following image:

http://imgur.com/luj2Z

I then have a large candidate set of imag

4条回答
  •  太阳男子
    2021-01-01 01:31

    As said, algorithms like SIFT and SURF contain a feature point, which is invariant to a number of distortions and a descriptor, which aims to robustly model the feature point its surroundings.

    The latter is increasingly used for image categorization and identification in what is commonly known as the "bag of word" or "visual words" approach.

    In the most simple form, one can collect all data from all descriptors from all images and cluster them, for example using k-means. Every original image then has descriptors that contribute to a number of clusters. The centroids of these clusters, i.e. the visual words, can be used as a new descriptor for the image. These can then be used in an architecture with an inverted file design.

    This approach allows for soft matching and for a certain amount generalization, e.g retrieve all images with airplanes.

    • The VLfeat website contains, next to an excellent SIFT library, a nice demo of this approach, classifying the caltech 101 dataset.

    • Caltech itself offers Matlab/C++ software together with relevant publications.

    • Also a good start is the work by LEAR

提交回复
热议问题