IP Library Granted Patent US 9,087,271
Granted Patent B2
US 9,087,271 · App. 14/455,350 · Granted Jul 21, 2015

Learning semantic image similarity

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 9,087,271
App. No.
14/455,350
Granted
Jul 21, 2015
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for identifying similar images. In some implementations, a method is provided that includes receiving a collection of images and data associated with each image in the collection of images; generating a sparse feature representation for each image in the collection of images; and training an image similarity function using image triplets sampled from the collection of images and corresponding sparse feature representations.

Claims (41)

1. A method comprising:

receiving an image search query;

providing image search results responsive to the image search query;

receiving a request for images similar to an identified image in the provided image search results;

determining similar images to the identified image using the identified image and obtained data generated from a plurality of image triplets, each image triplet including an image, a more relevant image to the image, and a less relevant image to the image, and wherein each image triplet has a corresponding vector representation; and

providing one or more similar images.

2. The method of claim 1 , wherein determining similar images includes identifying the image in a similarity matrix and identifying images in the similarity matrix having a threshold similarity to the image.

3. The method of claim 2 , wherein the similarity matrix is generated from the plurality of image triplets.

4. The method of claim 1 , wherein determining similar images to the identified image includes using a similarity function trained using the plurality of image triplets and the corresponding vector representations.

5. The method of claim 4 , wherein training the image similarity function further comprises iteratively sampling image triplets p, p i + , p i − from a collection of images such that the relative similarity, r, for r(p, p i + )>r(p, p i − ).

6. The method of claim 4 , wherein the plurality of image triplets is identified using collection of image search queries and a specified number of image resources identified in ranked results responsive to each image query.

7. The method of claim 1 , wherein the similar images are provided in a search results interface along with the identified image.

8. The method of claim 1 , wherein the vector representation for each image of the plurality of images is determined from a sparse feature representation generated for the image.

9. The method of claim 8 , wherein generating the sparse feature representation for the image comprises:

dividing the image into blocks;

generating an edge histogram and a color histogram for each block to determine local descriptors for the image; and

combining the local descriptors to obtain a sparse feature representation of the image.

10. A system comprising:

one or more computers configured to perform operations comprising:

receiving an image search query;

providing image search results responsive to the image search query;

receiving a request for images similar to an identified image in the provided image search results;

determining similar images to the identified image using the identified image and obtained data generated from a plurality of image triplets, each image triplet including an image, a more relevant image to the image, and a less relevant image to the image, and wherein each image triplet has a corresponding vector representation; and

providing one or more or similar images.

11. The system of claim 10 , wherein determining similar images includes identifying the image in a similarity matrix and identifying images in the similarity matrix having a threshold similarity to the image.

12. The system of claim 11 , wherein the similarity matrix is generated from the plurality of image triplets.

13. The system of claim 10 , wherein determining similar images to the identified image includes using a pairwise similarity function trained using the plurality of image triplets and the corresponding vector representations.

14. The system of claim 13 , wherein training the image similarity function further comprises iteratively sampling image triplets p, p i + , p i − from a collection of images such that the relative similarity, r, for r(p, p i + )>r(p i , p i − ).

15. The system of claim 13 , wherein the plurality of image triplets is identified using collection of image search queries and a specified number of image resources identified in ranked results responsive to each image query.

16. The system of claim 10 , wherein the similar images are provided in a search results interface along with the identified image.

17. The system of claim 10 , wherein the vector representation for each image of the plurality of images is determined from a sparse feature representation generated for the image.

18. The method of claim 17 , wherein generating the sparse feature representation for the image comprises:

dividing the image into blocks;

generating an edge histogram and a color histogram for each block to determine local descriptors for the image; and

combining the local descriptors to obtain a sparse feature representation of the image.

19. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:

receiving an image search query;

providing image search results responsive to the image search query;

receiving a request for images similar to an identified image in the provided image search results;

determining similar images to the identified image using the identified image and obtained data generated from a plurality of image triplets, each image triplet including an image, a more relevant image to the image, and a less relevant image to the image, and wherein each image triplet has a corresponding vector representation; and

providing one or more similar images.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2014
From: CHECHIK, GAL; BENGIO, SAMY; SHARMA, VARUN
To: GOOGLE INC.
Reel/Frame 033652/0833 →