IP Library Granted Patent US 9,501,713
Granted Patent B2
US 9,501,713 · App. 14/516,310 · Granted Nov 22, 2016

Method of producing compact descriptors from interest points of digital images, corresponding system, apparatus and computer program product

Inventor: Danilo Pietro Pau (Sesto San Giovanni, IT)
Assignee: STMicroelectronics S.r.l.
G06K9/4647G06K9/4671G06K9/6212G06T7/0022G06T2207/10004G06T2207/20021G06T2207/20024G06T2207/20076
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,501,713
App. No.
14/516,310
Granted
Nov 22, 2016
Kind
B2
Abstract

Compact descriptors of digital images are produced by detecting interest points representative of the digital images and selecting out of the interest points key points for producing e.g. local and global compact descriptors of the images. The digital images are decomposed into blocks by computing an energy (variance) for each said block and then subjecting the blocks to culling by rejecting those blocks having an energy failing to pass an energy threshold. The interest points are detected only in the blocks resulting from culling, and the key points for producing the compact descriptors are selected out of the interest points thus detected, possibly by using different selection thresholds for local and global compact descriptors, respectively. The number of key points for producing the compact descriptors may be varied e.g. by adaptively varying the number of the interest points detected in the blocks resulting from culling.

Claims (133)

1. A method, comprising:

decomposing digital images into blocks;

computing an energy for each said block;

culling blocks based on the computed block energies and one or more energy thresholds;

detecting interest points in the blocks remaining after said culling;

selecting key points out of the detected interest points; and

generating compact descriptors of the digital images using the selected key points, wherein the selecting key points comprises:

selecting local key points based on one or more local selection thresholds; and

selecting global key points based on one or more global selection thresholds.

2. The method of claim 1 wherein the selecting key points out of the interest points is based on one or more of:

an interest point scale value;

an interest point coordinate value; and

an interest point orientation value.

3. The method of claim 2 wherein the selecting key points out of the interest points comprises comparing a selection threshold to a sum of a weighted interest point scale value, a weighted interest point coordinate value and a weighted interest point orientation value.

4. A method, comprising:

decomposing digital images into blocks;

computing an energy for each said block;

culling blocks based on the computed block energies and one or more energy thresholds;

detecting interest points in the blocks remaining after said culling;

selecting key points out of the detected interest points;

generating compact descriptors of the digital images using the selected key points; and,

adaptively varying a number of said key points selected.

5. The method of claim 4 wherein the selecting key points comprises:

selecting local key points based on one or more local selection thresholds; and

selecting global key points based on one or more global selection thresholds.

6. The method of claim 4 wherein said adaptively varying the number of said key points selected includes adaptively varying a number of interest points detected in the blocks remaining after said culling.

7. The method of claim 6 wherein adaptively varying the number of the interest points detected includes setting a number L_next_frame of target interest points to be detected for a next i+1-th frame starting from a number L_prev_frame of interest points detected for a previous i-th frame as a function of the number points_detected_prev_frame of interest points selected for said previous i-th frame and a Previously Presented target number points_targeted_next_frame of selected interest points for said next i+1-th frame.

8. The method of claim 6 wherein detecting the interest points in the blocks remaining after said culling comprises at least one of:

filtering out low contrast points; and

edge response elimination.

9. The method of claim 8 wherein said filtering out low contrast points comprises:

detecting stable interest point locations in scale space by using scale-space extrema in a Difference-of-Gaussian function convolved with the image D(x,y,σ);

determining a value of a 2 nd -order Taylor expansion of D(x,y,σ) at an offset x using a scale space value at a previously found location; and

filtering out points based on the value determined and a low contrast threshold.

10. The method of claim 8 wherein said edge response elimination comprises:

determining Hessian Eigenvalues of a 2×2 Hessian matrix H computed at a location and scale of an interest point being considered;

computing a ratio R of a square of a trace Tr(H) and a Determinant Det (H) of said Hessian matrix; and

eliminating points based on said ratio R and an edge response threshold.

11. The method of claim 9 , comprising determining at least one of said low contrast threshold and an edge response threshold on a frame-by-frame basis.

12. A device, comprising:

one or more memories; and

digital image processing circuitry, which, in operation:

decomposes digital images into blocks;

computes an energy value for each said block;

selects blocks based on the computed block energy values and one or more energy thresholds;

detects interest points in the selected blocks;

selects key points out of the detected interest points; and

generates compact descriptors of the digital images using the selected key points, wherein the digital image processing circuitry, in operation:

selects local key points based on one or more local selection thresholds; and

selects global key points based on one or more global selection thresholds.

13. The device of claim 12 wherein the digital image processing circuitry, in operation, selects key points out of the interest points based on one or more of:

an interest point scale value;

an interest point coordinate value; and

an interest point orientation value.

14. The device of claim 12 wherein the digital image processing circuitry, in operation, selects key points out of the interest points based on a comparison of a selection threshold to a sum of a weighted interest point scale value, a weighted interest point coordinate value and a weighted interest point orientation value.

15. A device, comprising:

one or more memories; and

digital image processing circuitry, which, in operation:

decomposes digital images into blocks;

computes an energy value for each said block;

selects blocks based on the computed block energy values and one or more energy thresholds;

detects interest points in the selected blocks;

selects key points out of the detected interest points; and

generates compact descriptors of the digital images using the selected key points, wherein the digital image processing circuitry, in operation, adaptively varies a number of key points selected.

16. The device of claim 15 wherein the digital image processing circuitry, in operation:

selects local key points based on one or more local selection thresholds; and

selects global key points based on one or more global selection thresholds.

17. The device of claim 15 wherein the digital image processing circuitry, in operation, adaptively varies a number of interest points detected in the selected blocks.

18. The device of claim 17 wherein the digital image processing circuitry, in operation, sets a number L_next_frame of target interest points to be detected for a next i+1-th frame starting from a number L_prev_frame of interest points detected for a previous i-th frame as a function of the number points_detected_prev_frame of interest points selected for said previous i-th frame and a new target number points_targeted_next_frame of selected interest points for said next i+1-th frame.

19. The device of claim 17 wherein the digital image processing circuitry, in operation, detects the interest points in the selected blocks based on at least one of:

low contrast point filtering; and

edge response elimination.

20. The device of claim 19 wherein the digital image processing circuitry, in operation, filters out low contrast points by:

detecting stable interest point locations in scale space by using scale-space extrema in a Difference-of-Gaussian function convolved with the image D(x,y,σ);

determining a value of a 2 nd -order Taylor expansion of D(x,y,σ) at an offset x using a scale space value at a previously found location; and

filtering out points based on the value determined and a low contrast threshold.

21. The device of claim 20 wherein the digital image processing circuitry, in operation:

determines Hessian Eigenvalues of a 2×2 Hessian matrix H computed at a location and scale of an interest point being considered;

computes a ratio R of a square of a trace Tr(H) and a Determinant Det (H) of said Hessian matrix; and

eliminates points based on said ratio R and an edge response threshold.

22. The device of claim 21 wherein the digital image processing circuitry, in operation, determines at least one of said low contrast threshold and said edge response threshold on a frame-by-frame basis.

23. A system, comprising:

an image capture device, which, in operation, outputs digital images; and

image processing circuitry coupled to the image capture device, and which, in operation:

decomposes digital images into blocks;

computes an energy value for each said block;

selects blocks based on the computed block energy values and one or more energy thresholds;

detects interest points in the selected blocks;

selects key points out of the detected interest points; and

generates compact descriptors of the digital images using the selected key points, wherein the image processing circuitry, in operation;

selects local key points based on one or more local selection thresholds; and

selects global key points based on one or more global selection thresholds.

24. The system of claim 23 wherein the image processing circuitry, in operation, selects key points out of the interest points based on one or more of:

an interest point scale value;

an interest point coordinate value; and

an interest point orientation value.

25. A non-transitory computer-readable medium having contents which, when accessed by a digital image processor, configure the digital image processor to perform a method, the method comprising:

decomposing digital images into blocks;

computing an energy value for each block;

selecting blocks based on the computed block energy values and one or more energy thresholds;

detecting interest points in the selected blocks;

selecting key points out of the detected interest points; and

generating compact descriptors of the digital images using the selected key points wherein the selecting key points comprises:

selecting local key points based on one or more local selection thresholds; and

selecting global key points based on one or more global selection thresholds.

26. The computer-readable medium of claim 25 wherein the selecting key points is based on one or more of:

an interest point scale value;

an interest point coordinate value; and

an interest point orientation value.

27. A method, comprising:

decomposing digital images into blocks;

computing an energy for each said block;

culling blocks based on the computed block energies and one or more energy thresholds;

detecting interest points in the blocks remaining after said culling;

selecting key points out of the detected interest points; and

generating compact descriptors of the digital images using the selected key points, wherein,

the selecting key points out of the interest points is based on one or more of:

an interest point scale value;

an interest point coordinate value; and

an interest point orientation value; and

the selecting key points out of the interest points comprises comparing a selection threshold to a sum of a weighted interest point scale value, a weighted interest point coordinate value and a weighted interest point orientation value.

28. The method of claim 27 , comprising:

adaptively varying a number of said key points selected.

29. A device, comprising:

one or more memories; and

digital image processing circuitry, which, in operation:

decomposes digital images into blocks;

computes an energy value for each said block;

selects blocks based on the computed block energy values and one or more energy thresholds;

detects interest points in the selected blocks;

selects key points out of the detected interest points; and

generates compact descriptors of the digital images using the selected key points, wherein the digital image processing circuitry, in operation, selects key points out of the interest points based on a comparison of a selection threshold to a sum of a weighted interest point scale value, a weighted interest point coordinate value and a weighted interest point orientation value.

30. The device of claim 29 wherein the digital image processing circuitry, in operation, adaptively varies a number of key points selected.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2022
From: STMICROELECTRONICS S.R.L.
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 060301/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2014
From: PAU, DANILO PIETRO
To: STMICROELECTRONICS S.R.L.
Reel/Frame 033997/0112 →
Priority Claims (1)
IT TO2013A0835 · Oct 16, 2013 · national
Continuity (1)
Related Publication 20150103199A1 · Apr 16, 2015