IP Library Granted Patent US 8,787,680
Granted Patent B2
US 8,787,680 · App. 13/595,345 · Granted Jul 22, 2014

Scalable near duplicate image search with geometric constraints

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,787,680
App. No.
13/595,345
Granted
Jul 22, 2014
Kind
B2
Abstract

Methods are disclosed for finding images from a large corpus of images that at least partially match a query image. The present method makes use of feature detectors to bundle features into local groups or bundles. These bundled features are repeatable and much more discriminative than an individual SIFT feature. Equally importantly, the bundled features provide a flexible representation that allows simple and robust geometric constraints to be efficiently enforced when querying the index.

Claims (34)

1. A method of finding candidate images from a large corpus of images that at least partially match a query image, the method comprising the steps of:

(a) identifying local regions of interest within the candidate and query images by a first feature detection scheme;

(b) identifying local points of interest within the candidate and query images by a second feature detection scheme different than the first;

(c) defining bundled features within the candidate and query images by grouping together the local points of interest that occur within a given local region of interest;

(d) comparing bundled features of the query image to bundled features of a candidate image to find a bundled feature in the query image and a bundled feature in the candidate image that share at least two common local points of interest;

(e) determining the relative positions of local points of interest along first and second perpendicular axes within bundles in the query image and candidate image; and

(f) comparing the relative positions determined in said step (e) between bundles in the first image and the query image.

2. The method recited in claim 1 , wherein said step (a) of identifying local regions of interest comprises the step of identifying local regions of interest by a maximally stable extremal regions algorithm.

3. The method of claim 1 , further comprising the step of defining a k-dimensional descriptor for each local point of interest within a bundled feature.

4. The method of claim 3 , further comprising the step of quantizing the k-dimensional descriptor for each local point of interest into one or more visual words.

5. The method of claim 4 , further comprising the step of indexing the one or more visual words by storing a visual word together with an inverse hit list of all bundled features within which the visual word appears.

6. The method recited in claim 1 , further comprising the step of scoring a similarity between the query image and the candidate images, the scoring based at least in part on the number of local points of interest shared between bundled features of the query image and bundled features in the candidate images, and the scoring based in part on a correlation between the positions of the local points of interest in the query image and the positions of the local points of interest in the candidate images, the matched candidate images being ranked based on which candidate images achieve the highest scores.

7. A computer storage medium not including modulated data signals, the computer storage medium having computer-executable instructions for programming a processor to perform a method of finding candidate images from a large corpus of images that at least partially match a query image, the method comprising the steps of:

(a) identifying local regions of interest within the candidate and query images by a first feature detection scheme;

(b) identifying local points of interest within the candidate and query images by a second feature detection scheme different than the first;

(c) defining bundled features within the candidate and query images by grouping together the local points of interest that occur within a given local region of interest;

(d) determining feature descriptors for the local points of interest in the query and candidate images;

(e) processing visual words based on the feature descriptors determined in said step (d); and

(f) comparing one or more visual words from the query image to one or more visual words of a candidate image to determine if the candidate image is at least a partial match to the query image.

8. The computer storage medium of claim 7 , wherein the visual words processed in step (e) include information relating to the bundled features defined in said step (c), the information relating to the bundled features being used in said step (f) of comparing one or more visual words from the query image to one or more visual words of a candidate image.

9. The computer storage medium of claim 7 , further comprising the step (g) of determining a position of the local points of interest along an axis within bundles of the query image and along the same axis within bundles of the candidate images.

10. The computer storage medium of claim 9 , further comprising the step of encoding the positional information determined in said step (g) into the visual words and using that encoded information in said step (f) of comparing one or more visual words from the query image to one or more visual words of a candidate image.

11. The computer storage medium of claim 9 , further comprising the step of scoring a similarity between the query image and the candidate images, the scoring based at least in part on a similarity between one or more bundled features of the query image and one or more bundled features of the candidate images, the matched candidate images being ranked based on which candidate images achieve the highest scores.

12. A method of finding candidate images from a large corpus of images that at least partially match a query image, the method comprising the steps of:

(a) identifying local regions of interest within the candidate and query images by a first feature detection scheme;

(b) identifying local points of interest within the candidate and query images by a second feature detection scheme, different than the first feature detection scheme, the second feature detection scheme comprising a scale-invariant feature transform feature detection scheme;

(c) defining bundled features within the candidate and query images by grouping together the local points of interest that occur within a given local region of interest; and

(d) comparing bundled features of the query image to bundled features of a candidate image to find a bundled feature in the query image and a bundled feature in the candidate image that share at least two common local points of interest.

13. The method of claim 12 , further comprising the step of comparing relative positions of local points of interest within bundles in the query image and candidate image.

14. The method recited in claim 12 , wherein said step (a) of identifying local regions of interest comprises the step of identifying local regions of interest by a maximally stable extremal regions algorithm.

15. The method of claim 12 , further comprising the step of defining a k-dimensional descriptor for each local point of interest within a bundled feature.

16. The method of claim 15 , further comprising the step of quantizing the k-dimensional descriptor for each local point of interest into one or more visual words.

17. The method of claim 16 , further comprising the step of indexing the one or more visual words by storing a visual word together with an inverse hit list of all bundled features within which the visual word appears.

18. The method recited in claim 12 , further comprising the step of scoring a similarity between the query image and the candidate images, the scoring based at least in part on the number of local points of interest shared between bundled features of the query image and bundled features in the candidate images, and the scoring based in part on a correlation between the positions of the local points of interest in the query image and the positions of the local points of interest in the candidate images, the matched candidate images being ranked based on which candidate images achieve the highest scores.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2016
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ZHIGU HOLDINGS LIMITED
Reel/Frame 040354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2012
From: ISARD, MICHAEL; KE, QIFA; SUN, JIAN; WU, ZHONG
To: MICROSOFT CORPORATION
Reel/Frame 028853/0216 →