Content-based image search
First Claim
1. A computer-implemented method for searching a plurality of images, the method comprising:
- receiving a search query that includes an image;
identifying, by a computing device, a plurality of first descriptor identifiers based on the search query, each of the first descriptor identifiers comprising an identifier used to identify a respective descriptor, each descriptor having been calculated over a respective portion of the image comprising a subset of pixels of the image that includes a respective interest point in the image;
searching a plurality of indexed images in a search engine inverted index by comparing one or more of the first descriptor identifiers to one or more second descriptor identifiers associated with the indexed images to identify one or more candidate images, wherein the searching comprises;
traversing the search engine inverted index to identify a predetermined number of second descriptor identifiers having location identifiers with lowest values;
identifying an end-of-document location identifier that follows a largest location identifier value of the predetermined number of second descriptor identifiers having the location identifier with lowest values;
identifying a start-of-document location value for a candidate indexed image that is identified by the end-of-document location identifier; and
returning the candidate indexed image as a candidate image based on determining the location identifiers of all of the predetermined number of second descriptor identifiers having the lowest location identifier values are greater than or equal to the start-of-document location value; and
ranking the one or more candidate images.
2 Assignments
0 Petitions
Accused Products
Abstract
Image descriptor identifiers are used for content-based search. A plurality of descriptors is determined for an image. The descriptors represent the content of the image at respective interest points identified in the image. The descriptors are mapped to respective descriptor identifiers. The image can thus be represented as a set of descriptor identifiers. A search is performed on an index using the descriptor identifiers as search elements. A method for efficiently searching the inverted index is also provided. Candidate images that include at least a predetermined number of descriptor identifiers that match those of the image are identified. The candidate images are ranked and at least a portion thereof are presented as content-based search results.
42 Citations
20 Claims
-
1. A computer-implemented method for searching a plurality of images, the method comprising:
-
receiving a search query that includes an image; identifying, by a computing device, a plurality of first descriptor identifiers based on the search query, each of the first descriptor identifiers comprising an identifier used to identify a respective descriptor, each descriptor having been calculated over a respective portion of the image comprising a subset of pixels of the image that includes a respective interest point in the image; searching a plurality of indexed images in a search engine inverted index by comparing one or more of the first descriptor identifiers to one or more second descriptor identifiers associated with the indexed images to identify one or more candidate images, wherein the searching comprises; traversing the search engine inverted index to identify a predetermined number of second descriptor identifiers having location identifiers with lowest values; identifying an end-of-document location identifier that follows a largest location identifier value of the predetermined number of second descriptor identifiers having the location identifier with lowest values; identifying a start-of-document location value for a candidate indexed image that is identified by the end-of-document location identifier; and returning the candidate indexed image as a candidate image based on determining the location identifiers of all of the predetermined number of second descriptor identifiers having the lowest location identifier values are greater than or equal to the start-of-document location value; and ranking the one or more candidate images. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more computer storage memory storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:
-
receiving a search query; identifying a plurality of first descriptor identifiers based on the search query; searching a plurality of indexed images in a search engine inverted index by comparing one or more of the first descriptor identifiers to one or more second descriptor identifiers associated with the indexed images to identify one or more candidate images, each of the one or more second descriptor identifiers comprising an identifier used to identify a respective descriptor, each descriptor having been calculated over a respective portion of a respective indexed image comprising a subset of pixels of the respective indexed image that includes a respective interest point in the respective indexed image, wherein the searching comprises; traversing the search engine inverted index to identify a predetermined number of second descriptor identifiers having location identifiers with lowest values; identifying an end-of-document location identifier that follows a largest location identifier value of the predetermined number of second descriptor identifiers having the location identifier with lowest values; identifying a start-of-document location value for a candidate indexed image that is identified by the end-of-document location identifier; and returning the candidate indexed image as a candidate image based on determining the location identifiers of all of the predetermined number of second descriptor identifiers having the lowest location identifier values are greater than or equal to the start-of-document location value; and
ranking the one or more candidate images. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer device comprising:
-
one or more processors; and one or more computer storage devices storing computer-useable instructions that, when used by the one or more processors, cause the one or more processors to; identify a plurality of first descriptor identifiers based on a search query; search a plurality of indexed images in a search engine inverted index by comparing one or more of the first descriptor identifiers to one or more second descriptor identifiers associated with the indexed images to identify one or more candidate images, each of the one or more second descriptor identifiers comprising an identifier used to identify a respective descriptor, each descriptor having been calculated over a respective portion of a respective indexed image comprising a subset of pixels of the respective indexed image that includes a respective interest point in the respective indexed image, wherein the searching comprises; traversing the search engine inverted index to identify a predetermined number of second descriptor identifiers having location identifiers with lowest values; identifying an end-of-document location identifier that follows a largest location identifier value of the predetermined number of second descriptor identifiers having the location identifier with lowest values; identifying a start-of-document location value for a candidate indexed image that is identified by the end-of-document location identifier; and return the candidate indexed image as a candidate image based on determining the location identifiers of all of the predetermined number of second descriptor identifiers having the lowest location identifier values are greater than or equal to the start-of-document location value; and rank the one or more candidate images. - View Dependent Claims (17, 18, 19, 20)
-
Specification