IP Library Granted Patent US 12,073,612
Granted Patent B2
US 12,073,612 · App. 17/207,277 · Granted Aug 27, 2024

Apparatus and method for processing detection boxes

Inventor: Juraj Mlynar (Hertfordshire, GB)
Assignee: Imagination Technologies Limited
G06V10/96G06T1/20G06T7/11G06T7/136G06T11/20G06V10/25G06V10/762G06T2207/20021G06T2207/20084G06T2210/12
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 12,073,612
App. No.
17/207,277
Granted
Aug 27, 2024
Kind
B2
Abstract

A mechanism for performing non-maximum suppression (NMS) on a plurality of detection boxes identifying potential locations for one or more objects within an image. The mechanism uses a tiling system that divides the image into a plurality of tiles. A tile-by-tile suppression process is performed, in which at least some detection boxes that overlap a particular tile are processed to determine whether any detection boxes are to be discarded.

Claims (55)

1. A computer-implemented method for performing non-maximum suppression (NMS) on a plurality of detection boxes identifying potential locations for one or more objects within an image, the computer-implemented method comprising:

dividing the image into a plurality of tiles;

identifying, for each tile, which, if any, detection boxes overlap a portion of the tile, wherein a confidence value is associated with each detection box;

performing a tile-by-tile suppression process comprising, for each tile having detection boxes that overlap one another by more than a predetermined amount:

comparing confidence values of detection boxes that overlap one another by more than a predetermined amount, a confidence value indicating the confidence that the detection box identifies an object, and

for each comparison, marking the detection box associated with the lowest confidence value for discarding.

2. The computer-implemented method of claim 1 , wherein the tile-by-tile suppression process comprises, for each tile, iteratively performing a thresholding process comprising:

selecting a first detection box overlapping a portion of the tile, wherein the first detection box has not been marked for discarding;

selecting a second, different detection box overlapping a portion of the tile for comparing to the first detection box, wherein the second detection box has not been marked for discarding and wherein the first and second detection boxes have not previously been compared to one another during the thresholding process for the tile;

determining a relative overlap between the selected first and second detection boxes; and

in response to the determined relative overlap exceeding a predetermined threshold:

marking the first detection box for discarding if the confidence value for the first detection box is less than the confidence value for the second detection box; and/or

marking the second detection box for discarding if the confidence value for the second detection box is less than the confidence value for the first detection box,

wherein the thresholding process for a tile is repeated until all detection boxes of that tile have either been compared to each other detection box of that tile or been marked for discarding.

3. The computer-implemented method of claim 2 , wherein the step of determining the relative overlap between the selected first and second detection boxes comprises:

determining a total area of the image occupied by the union of the first and second detection boxes;

determining a total area of the image occupied by the intersection of the first and second detection boxes; and

calculating the relative overlap by dividing the total area of the image occupied by the intersection of the first and second detection boxes by the total area of the image occupied by the union of the first and second detection boxes.

4. The computer-implemented method of claim 2 , further comprising a step of sorting the detection boxes by order of confidence, and wherein:

the step of selecting the first detection box comprises selecting the most confident detection box that has not been marked for discarding and has not previously been compared to all other detection boxes that have not been marked for discarding during the thresholding process for the tile; and

the step of selecting the second detection box comprises selecting a detection box that has not previously been compared to the first detection box.

5. The computer-implemented method of claim 1 , wherein:

the computer-implemented method further comprises a step of sorting the detection boxes by order of confidence, the step of sorting taking place before the tile-by-tile suppression process; or

the tile-by-tile suppression process comprises, for each tile, sorting the detection boxes overlapping a portion of the tile by order of confidence.

6. The computer-implemented method of claim 1 , wherein the size of each tile is dependent upon:

an estimated ratio between size of the detection box and a resolution of the image; and/or

an estimated number of objects in the image; and/or

an estimated size of a detection box and a resolution of the image.

7. The computer-implemented method of claim 1 , further comprising:

identifying detection boxes associated with a confidence value below a predetermined confidence value threshold; and

marking detection boxes associated with a confidence value below the predetermined confidence value threshold for discarding,

optionally wherein the step of identifying, for each tile, which, if any, detection boxes overlap a portion of the tile does not identify detection boxes that have already been marked for discarding.

8. The computer-implemented method of claim 1 , wherein the step of performing a tile-by-tile suppression process is performed using a parallel processing technique.

9. The computer-implemented method of claim 1 , wherein the step of identifying, for each tile, which, if any, detection boxes overlap a portion of the tile comprises generating, for each tile, a tile list identifying which, if any, detection boxes overlap a portion of the tile.

10. The computer-implemented method of claim 1 , further comprising building an output list of detection boxes, the output list identifying detection boxes that have never been marked for discarding during the tile-by-tile suppression process, optionally wherein either:

the step of marking the detection box associated with the lowest confidence value for discarding comprises modifying a flag associated with the detection box; and the step of building an output list of detection boxes comprises processing the flags to identify detection boxes that have never been marked for discarding during the non-maximum suppression method; or

the step of building an output list comprises initializing a global list identifying all detection boxes, before performing the tile-by-tile suppression process, and the step of marking the detection box associated with the lowest confidence value for discarding comprises modifying a flag in the global list associated with the detection box for marking, so that when the tile-by-tile suppression process is complete, the global list facilitates provision of the output list identifying detection boxes that have never been marked for discarding.

11. The computer-implemented method of claim 1 , further comprising a step of obtaining detection box data identifying, for each of the plurality of detection boxes, a location of the detection box within the image and a confidence value indicating the confidence that the detection box identifies an object,

wherein the step of identifying, for each tile, which, if any, detection boxes overlap a portion of the tile comprises processing the detection box data to identify, for each tile, which, if any, detection boxes overlap a portion of the tile.

12. A computer-implemented method for performing non-maximum suppression (NMS) on a plurality of detection boxes identifying potential locations for one or more objects of different classes within an image, the computer-implemented method comprising:

dividing the plurality of detection boxes into different classes, each class of detection box being associated with a different class of object; and

performing the method as set forth in claim 1 on each class of detection box.

13. A graphics processing system configured to perform the method of claim 1 .

14. The graphic processing system of claim 13 , wherein the graphics processing system comprises:

a neural network accelerator configured to process an image to generate a plurality of detection boxes identifying potential locations for one or more objects within an image; and

a processing module configured to obtain the plurality of detection boxes from the neural network accelerator and perform the method of claim 1 .

15. The graphics processing system of claim 13 , wherein the graphics processing system is embodied in hardware on an integrated circuit.

16. A method of manufacturing, using an integrated circuit manufacturing system, a graphics processing system as claimed in claim 13 , the method comprising:

processing, using a layout processing system, a computer readable description of the graphics processing system so as to generate a circuit layout description of an integrated circuit embodying the graphics processing system; and

manufacturing, using an integrated circuit generation system, the graphics processing system according to the circuit layout description.

17. A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of a graphics processing system as claimed in claim 13 that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture an integrated circuit embodying the graphics processing system.

18. An integrated circuit manufacturing system comprising:

a non-transitory computer readable storage medium having stored thereon a computer readable description of a graphics processing system as claimed in claim 13 ;

a layout processing system configured to process the computer readable description so as to generate a circuit layout description of an integrated circuit embodying the graphics processing system; and

an integrated circuit generation system configured to manufacture the graphics processing system according to the circuit layout description.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2021
From: MLYNAR, JURAJ
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 055872/0802 →