IP Library Granted Patent US 8,885,984
Granted Patent B1
US 8,885,984 · App. 14/141,295 · Granted Nov 11, 2014

Efficient image matching for large sets of images

Inventors: Uri Lavi (Netanya, IL); Eli Goz (Herzlya, IL); Gregory Begelman (Rishon Lezion, IL)
Assignee: PicScout (Israel) Ltd.
G06K9/6202
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,885,984
App. No.
14/141,295
Granted
Nov 11, 2014
Kind
B1
Abstract

A system and method to detect similarities between images. The system and method allow comparisons between a query image and one or more catalog images in a manner that is resilient to scanning, scaling, rotating, cropping and other distortions of the query image. The system includes an image processing module that determines and/or calculates principle features of a catalog image and constructs a feature vector using one or more of the principle features. The system also includes a matching module that matches a query image to one or more catalog images. The system finds matches based on a distance measure of features present in the query image and features present in the catalog images.

Claims (75)

1. A method in a computing system for matching a query image against a catalog of images to identify semi-identical images, the method comprising:

maintaining an inverted index to a catalog of images, each image in the catalog of images characterized by vectors associated with principle feature points of the image, the inverted index comprised of hash values of the vectors associated with each image, wherein the hash value of vectors are calculated using a k-d tree;

receiving a query image that is to be searched against the catalog of images;

characterizing the received query image by:

extracting principal feature points from the query image;

creating vectors characterizing the extracted principal feature points; and

generating hash values for each of the vectors characterizing the query image; and

searching the catalog of images to find semi-identical images to the query image by:

comparing the query image hash values with the inverted index to the catalog of images;

identifying a set of catalog images having a predetermined number of hash values in common with the query image hash values;

identifying a number of geometric inliers in each image in the identified set of catalog images; and

identifying, from the set of catalog images, a set of near-identical images based on images that have a total number of geometric inliers that exceed a threshold value.

2. The method of claim 1 , wherein the k-d tree has a predetermined number of vectors.

3. The method of claim 1 , wherein the number of hash values characterizing a catalog image is less than the number of hash values characterizing the query image.

4. The method of claim 1 , wherein the set of near-identical images is further based on normalizing the total number of geometric inliers for an image by the number of hash values characterizing the image.

5. The method of claim 1 , wherein the geometric inliers are identified by a random sample consensus (RANSAC) algorithm.

6. The method of claim 1 , further comprising pre-processing the catalog of images to remove unwanted aspects from images in the catalog.

7. The method of claim 6 , wherein the catalog of images is pre-processed using a support vector machine (SVM) to remove principle feature points associated with an image.

8. The method of claim 6 , wherein the catalog of images is pre-processed by comparison with a catalog of unwanted features to remove unwanted features from an image.

9. A non-transitory computer-readable medium containing instructions that, when executed on a processor, cause the processor to implement a method for matching a query image against a catalog of images to identify semi-identical images, the method comprising:

maintaining an inverted index to a catalog of images, each image in the catalog of images characterized by vectors associated with principle feature points of the image, the inverted index comprised of hash values of the vectors associated with each image, wherein the has values of vectors are calculated using a k-d treee;

receiving a query image that is to be searched against the catalog of images;

characterizing the received query image by:

extracting principal feature points from the query image;

creating vectors characterizing the extracted principal feature points; and

generating hash values for each of the vectors characterizing the query image; and

searching the catalog of images to find semi-identical images to the query image by:

comparing the query image hash values with the inverted index to the catalog of images;

identifying a set of catalog images having a predetermined number of hash values in common with the query image hash values;

identifying a number of geometric inliers in each image in the identified set of catalog images; and

identifying, from the set of catalog images, a set of near-identical images based on images that have a total number of geometric inliers that exceed a threshold value.

10. The non-transitory computer-readable medium of claim 9 , wherein the number of hash values characterizing a catalog image is less than the number of hash values characterizing the query image.

11. The non-transitory computer-readable medium of claim 9 , wherein the set of near-identical images is further based on normalizing the total number of geometric inliers for an image by the number of hash values characterizing the image.

12. The non-transitory computer-readable medium of claim 9 , wherein the geometric inliers are identified by a random sample consensus (RANSAC) algorithm.

13. The non-transitory computer-readable medium of claim 9 , further comprising pre-processing the catalog of images to remove unwanted aspects from images in the catalog.

14. The non-transitory computer-readable medium of claim 13 , wherein the catalog of images is pre-processed using a support vector machine (SVM) to remove principle feature points associated with an image.

15. The non-transitory computer-readable medium of claim 13 , wherein the catalog of images is pre-processed by comparison with a catalog of unwanted features to remove unwanted features from an image.

16. A method in a computing system for matching a query image against a catalog of images to identify semi-identical images, the method comprising:

maintaining an inverted index to a catalog of images, each image in the catalog of images characterized by vectors associated with principle feature points of the image, the inverted index comprised of hash values of the vectors associated with each image;

pre-processing the catalog of images to remove unwanted aspects from images in the catalog,

wherein the catalog of images is pre-processed by comparison with a catalog of unwanted features to remove unwanted features from an image;

receiving a query image that is to be searched against the catalog of images;

characterizing the received query image by:

extracting principal feature points from the query image;

creating vectors characterizing the extracted principal feature points; and

generating hash values for each of the vectors characterizing the query image; and

searching the catalog of images to find semi-identical images to the query image by:

comparing the query image hash values with the inverted index to the catalog of images;

identifying a set of catalog images having a predetermined number of hash values in common with the query image hash values;

identifying a number of geometric inliers in each image in the identified set of catalog images; and

identifying, from the set of catalog images, a set of near-identical images based on images that have a total number of geometric inliers that exceed a threshold value.

17. The method of claim 16 , wherein the hash value of vectors are calculated using a k-d tree.

18. The method of claim 17 , wherein the k-d tree has a predetermined number of vectors.

19. The method of claim 16 , wherein the number of hash values characterizing a catalog image is less than the number of hash values characterizing the query image.

20. The method of claim 16 , wherein the set of near-identical images is further based on normalizing the total number of geometric inliers for an image by the number of hash values characterizing the image.

21. The method of claim 16 , wherein the geometric inliers are identified by a random sample consensus (RANSAC) algorithm.

22. The method of claim 16 , wherein the catalog of images is pre-processed using a support vector machine (SVM) to remove principle feature points associated with an image.

23. A non-transitory computer-readable medium containing instructions that, when executed on a processor, cause the processor to implement a method for matching a query image against a catalog of images to identify semi-identical images, the method comprising:

maintaining an inverted index to a catalog of images, each image in the catalog of images characterized by vectors associated with principle feature points of the image, the inverted index comprised of hash values of the vectors associated with each image;

pre-processing the catalog of images to remove unwanted aspects from images in the catalog,

wherein the catalog of images is pre-processed by comparison with a catalog of unwanted features to remove unwanted features from an image, or

wherein the catalog of images is pre-processed using a support vector machine (SVM) to remove principle feature points associated with an image;

receiving a query image that is to be searched against the catalog of images;

characterizing the received query image by:

extracting principal feature points from the query image;

creating vectors characterizing the extracted principal feature points; and

generating hash values for each of the vectors characterizing the query image; and

searching the catalog of images to find semi-identical images to the query image by:

comparing the query image hash values with the inverted index to the catalog of images;

identifying a set of catalog images having a predetermined number of hash values in common with the query image hash values;

identifying a number of geometric inliers in each image in the identified set of catalog images; and

identifying, from the set of catalog images, a set of near-identical images based on images that have a total number of geometric inliers that exceed a threshold value.

24. The non-transitory computer-readable medium of claim 23 , wherein the number of hash values characterizing a catalog image is less than the number of hash values characterizing the query image.

25. The non-transitory computer-readable medium of claim 23 , wherein the set of near-identical images is further based on normalizing the total number of geometric inliers for an image by the number of hash values characterizing the image.

26. The non-transitory computer-readable medium of claim 23 , wherein the geometric inliers are identified by a random sample consensus (RANSAC) algorithm.

Assignments (3)
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 18, 2025
From: GETTY IMAGES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071680/0468 →
NOTES SECURITY AGREEMENT Recorded May 6, 2025
From: GETTY IMAGES, INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 071183/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2014
From: LAVI, URI; GOZ, ELI; BEGELMAN, GREGORY
To: PICSCOUT (ISRAEL) LTD.
Reel/Frame 032539/0903 →
Priority Claims (1)
IL 226219 · May 7, 2013 · national