IP Library Granted Patent US 8,457,400
Granted Patent B2
US 8,457,400 · App. 12/147,832 · Granted Jun 4, 2013

Patch-based texture histogram coding for fast image similarity search

Inventors: Lei Wu (Anhui, CN); Mingjing Li (Beijing, CN)
Assignee: Microsoft Corporation
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,457,400
App. No.
12/147,832
Granted
Jun 4, 2013
Kind
B2
Abstract

Techniques for identifying copied images based on an original image are described. The identifying copied image is based on creating unique and identifiable features that in turn are used to generate multiple histograms. The histograms are generated by patches of the image, where the patches are created by equally dividing the image. The combined patch histograms are representative of the image.

Claims (41)

1. A method comprising:

dividing a digital image into a plurality of equal size patches;

dividing each patch of the plurality of equal size patches into eight texture directions;

creating a feature vector for each patch of the plurality of equal size patches;

determining a dominant gradient direction corresponding to each patch of the plurality of equal size patches;

generating a texture histogram for each patch of the plurality of equal size patches based on the feature vector for each patch; and

combining the histograms to create a combined histogram to represent the digital image.

2. The method of claim 1 , wherein the dividing is into 8 by 8 (64) equal size patches.

3. The method of claim 1 , wherein the creating uses one or more of the following as features: mean gray, color histogram, and texture histogram.

4. The method of claim 1 , wherein the generating the texture histogram for each patch is performed without regard to color changes.

5. The method of claim 1 further comprising creating a hash code particular to the image based on Principle Component Analysis.

6. The method of claim 1 further comprising measuring similarity of the image with other images, using distance functions.

7. The method of claim 4 , wherein distance functions include one or more of the following: Minkowski metrics, histogram cosine distance, and fuzzy logic.

8. A computer-readable memory including instructions that are executable by one or more processors to perform acts comprising:

dividing a digital image into a plurality of patches, each patch of the plurality of patches having a same size;

dividing each patch of the plurality of patches into eight texture directions;

identifying a dominant gradient direction for each patch of the plurality of patches;

creating a feature vector for each patch of the plurality of patches;

generating a texture histogram for each patch of the plurality of patches based on each feature vector; and

combining the texture histograms to create a combined histogram to represent the digital image.

9. The computer-readable memory of claim 8 , wherein each feature vector is a 64-dimension feature vector.

10. The computer-readable memory of claim 9 , further comprising reducing each 64-dimension feature vector into a 32-dimension feature vector.

11. The computer-readable memory of claim 8 , wherein creating the feature vectors comprises:

quantizing dimensions of the feature vectors into a binary value; and

determining whether the dimensions are above a mean value.

12. The computer-readable memory of claim 8 , wherein the feature vectors are associated with features that are unaffected by patch rotation, image scale change, and color change.

13. The computer-readable memory of claim 8 , further comprising determining a dominant gradient direction of the image.

14. The computer-readable memory of claim 13 , further comprising calculating a hash code based on the combined histogram.

15. A system comprising:

a memory to store instructions; and

one or more processors to execute the instructions to perform acts comprising:

dividing a digital image into equal size patches;

creating a feature vector for each of the patches;

determining a dominant gradient direction corresponding to each of the patches;

generating texture histograms for each of the patches based on each feature vector;

combining the texture histograms using a coding scheme to create a hash code that represents the digital image; and

comparing the hash code to additional hash codes associated with additional images.

16. The system of claim 15 , further comprising identifying duplicate image and near duplicate images based on the comparing.

17. The method of claim 15 , wherein the coding scheme includes projecting the features to a subspace.

18. The method of claim 17 , wherein the subspace is represented by a compact hash code.

19. The method of claim 15 , wherein the coding scheme includes a vector quantization.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2008
From: WU, LEI; LI, MINGJING
To: MICROSOFT CORPORATION
Reel/Frame 021389/0949 →
Continuity (1)
Related Publication 20090324077A1 · Dec 31, 2009