IP Library Granted Patent US 8,687,892
Granted Patent B2
US 8,687,892 · App. 13/528,965 · Granted Apr 1, 2014

Generating a binary descriptor representing an image patch

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,687,892
App. No.
13/528,965
Granted
Apr 1, 2014
Kind
B2
Abstract

Embodiments described herein provide a system and method for generating a binary descriptor representing an image patch ( 200 ). The method includes determining a first specified number of features within an image patch ( 200 ), performing mean intensity difference tests for the first specified number of features, and generating a binary string of the first specified number of features for the image patch ( 200 ) based on the mean intensity difference tests. The method includes dividing the image patch ( 200 ) into a number of sub-patches ( 204 ), and, for each sub-patch ( 204 ), determining a second specified number of features within the sub-patch ( 204 ), performing mean intensity difference tests for the second specified number of features, and generating a binary string of the second specified number of features. The method also includes transforming the binary strings for the image patch ( 200 ) and the sub-patches ( 204 ) into a binary descriptor representing the image patch ( 200 ).

Claims (62)

1. A method for generating a binary descriptor representing an image patch ( 200 ), comprising:

determining a first specified number of features within an image patch ( 200 );

performing mean intensity difference tests for the first specified number of features;

generating a binary string of the first specified number of features for the image patch ( 200 ) based on the mean intensity difference tests;

dividing the image patch ( 200 ) into a plurality of sub-patches ( 204 );

for each sub-patch ( 204 ), determining a second specified number of features within the sub-patch ( 204 );

for each sub-patch ( 204 ), performing mean intensity difference tests for the second specified number of features;

for each sub-patch ( 204 ), generating a binary string of the second specified number of features based on the mean intensity difference tests; and

transforming the binary string for the image patch ( 200 ) and the binary strings for the sub-patches ( 204 ) into a binary descriptor representing the image patch ( 200 ).

2. The method of claim 1 , wherein transforming the binary string for the image patch ( 200 ) and the binary strings for the sub-patches ( 204 ) into the binary descriptor comprises concatenating the binary string for the image patch ( 200 ) and the binary strings for the sub-patches ( 204 ).

3. The method of claim 1 , comprising:

dividing each sub-patch ( 204 ) into a plurality of secondary sub-patches ( 206 );

for each secondary sub-patch ( 206 ), determining a third specified number of features within the secondary sub-patch ( 206 );

for each secondary sub-patch ( 206 ), performing mean intensity difference tests for the third specified number of features;

for each secondary sub-patch ( 206 ), generating a binary string of the third specified number of features based on the mean intensity difference tests; and

transforming the binary string for the image patch ( 200 ), the binary strings for the sub-patches ( 204 ), and the binary strings for the secondary sub-patches ( 206 ) into a binary descriptor representing the image patch ( 200 ).

4. The method of claim 1 , wherein each feature comprises a group of pixels comprising a particular pattern.

5. The method of claim 4 , wherein determining a feature comprises determining a mean intensity for the group of pixels within the feature.

6. The method of claim 1 , comprising generating the image patch ( 200 ) from an image, wherein the image patch ( 200 ) is centered on a keypoint ( 202 ) within the image.

7. The method of claim 1 , comprising adjusting a length of the binary descriptor by adjusting the first specified number or the second specified number, or both.

8. The method of claim 1 , comprising:

generating a second binary descriptor representing a second image patch; and

determining a similarity between the binary descriptor and the second binary descriptor by computing a Hamming distance between the binary descriptor and the second binary descriptor.

9. The method of claim 1 , comprising using the binary descriptor to identify an object represented by pixels within the image patch ( 200 ).

10. The method of claim 9 , comprising displaying the image patch ( 200 ) such that the object within the image patch ( 200 ) is emphasized.

11. A computing system ( 104 ) for generating a binary descriptor representing an image patch ( 200 ), comprising:

a processor ( 110 ) that is adapted to execute stored instructions; and

a memory ( 112 ) that stores instructions, the memory ( 112 ) comprising processor executable code that, when executed by the processor ( 110 ), is adapted to:

determine a first specified number of features within an image patch ( 200 );

perform mean intensity difference tests for the first specified number of features,

generate a binary string of the first specified number of features for the image patch ( 200 ) based on the mean intensity difference tests;

divide the image patch ( 200 ) into a plurality of sub-patches ( 204 );

for each sub-patch ( 204 ), determine a second specified number of features within the sub-patch ( 204 );

for each sub-patch ( 204 ), perform mean intensity difference tests for the second specified number of features,

for each sub-patch ( 204 ), generate a binary string of the second specified number of features based on the mean intensity difference tests; and

concatenate the binary string for the image patch ( 200 ) and the binary strings for the sub-patches ( 204 ) to generate a binary descriptor representing the image patch ( 200 ).

12. The computing system ( 104 ) of claim 11 , wherein a length of the binary descriptor comprises a sum of the first specified number and a product of the second specified number and a total number of sub-patches.

13. The computing system ( 104 ) of claim 11 , wherein each feature comprises a group of pixels comprising a particular pattern.

14. The computing system ( 104 ) of claim 11 , wherein the processor executable code is adapted to identify an object represented by pixels within the image patch ( 200 ) using the binary descriptor.

15. The computing system ( 104 ) of claim 11 , wherein the processor executable code is adapted to:

generate a second binary descriptor for a second image patch;

compare the second binary descriptor to the binary descriptor by computing a Hamming distance comprising a similarity between the second binary descriptor and the binary descriptor.

16. The computing system ( 104 ) of claim 11 , wherein the processor executable code is adapted to:

generate binary descriptors for a plurality of image patches obtained from a low quality image; and

transform the low quality image into a high quality image using the binary descriptors.

17. A tangible, non-transitory, computer-readable medium ( 400 ) comprising code configured to direct a processor ( 402 ) to:

determine a first specified number of pixel groups within an image patch ( 200 );

perform mean intensity difference tests for the first specified number of pixel groups,

generate a bit string of the first specified number of features for the image patch ( 200 ) based on the mean intensity difference tests;

split the image patch ( 200 ) into a plurality of sub-patches ( 204 );

for each sub-patch ( 204 ), determine a second specified number of pixel groups within the sub-patch ( 204 );

for each sub-patch ( 204 ), perform mean intensity difference tests for the second specified number of pixel groups,

for each sub-patch ( 204 ), generate a bit string of the second specified number of features based on the mean intensity difference tests; and

generate a binary descriptor representing the image patch ( 200 ) by concatenating the bit string for the image patch ( 200 ) and the bit strings for the sub-patches ( 204 ).

18. The tangible, non-transitory, computer-readable medium ( 400 ) of claim 17 , wherein each pixel group comprises a specific pattern of pixels.

19. The tangible, non-transitory, computer-readable medium ( 400 ) of claim 17 , comprising code configured to direct the processor ( 402 ) to:

split each sub-patch ( 204 ) into a plurality of secondary sub-patches ( 206 );

for each secondary sub-patch ( 206 ), determine a third specified number of pixel groups within the secondary sub-patch ( 206 );

for each secondary sub-patch ( 206 ), perform mean intensity difference tests for the third specified number of pixel groups,

for each secondary sub-patch ( 206 ), generate a bit string of the third specified number of features based on the mean intensity difference tests; and

generate a binary descriptor representing the image patch ( 200 ) by concatenating the bit string for the image patch ( 200 ), the bit strings for the sub-patches ( 204 ), and the bit strings for the secondary sub-patches ( 206 ).

20. The tangible, non-transitory, computer-readable medium ( 400 ) of claim 17 , comprising code configured to direct the processor ( 404 ) to identify one or more objects within the image patch ( 200 ) based on the binary descriptor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2020
From: THOMSON LICENSING S.A.S.
To: MAGNOLIA LICENSING LLC
Reel/Frame 053570/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2012
From: DEMOULIN, VINCENT; SAHA, SAJIB; OISEL, LIONEL; PEREZ, PATRICK
To: THOMSON LICENSING
Reel/Frame 028907/0483 →