IP Library Granted Patent US 10,311,311
Granted Patent B1
US 10,311,311 · App. 15/692,253 · Granted Jun 4, 2019

Efficient two-stage object detection scheme for embedded device

Inventors: Yu Wang (San Jose, CA); Leslie D. Kohn (Saratoga, CA)
Assignee: Ambarella, Inc.
G06K9/00791G06K9/3241G06K9/4642G06K9/6282
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 10,311,311
App. No.
15/692,253
Granted
Jun 4, 2019
Kind
B1
Abstract

An apparatus comprises a detector and a processor. The processor may be configured to perform a two-stage object detection process utilizing the detector circuit. The detector circuit may be configured to implement a simple detection stage and a complex detection stage. In the simple detection stage, the two-stage object detection process comprises applying a first detector over a predefined region of interest. In the complex detection stage, the two-stage object detection process comprises applying a second detector on a set of best candidates identified by the simple detection stage.

Claims (44)

1. An apparatus comprising:

a detector circuit; and

a processor configured to perform a two-stage object detection process utilizing said detector circuit, wherein (i) the detector circuit is configured to implement a simple detection stage and a complex detection stage, (ii) in said simple detection stage, the two-stage object detection process comprises applying a first type of object detection to each image in a search space of scaled images, applying a first non-maximum suppression technique to results of said first type of object detection, and selecting a number of candidates identified by said first non-maximum suppression technique, and (iii) in said complex detection stage, the two-stage object detection process comprises applying a second type of object detection to the candidates identified by the simple detection stage and applying a second non-maximum suppression technique to the results of said second type of object detection.

2. The apparatus according to claim 1 , further comprising a coprocessor implementing said detector circuit, wherein:

said processor is configured to generate a command to run said two-stage object detection process; and

said coprocessor is configured to (a) receive said command from said processor and (b) perform said two-stage object detection process utilizing said detector circuit.

3. The apparatus according to claim 2 , wherein said coprocessor further comprises a dedicated memory, data paths, and an external memory interface.

4. The apparatus according to claim 2 , wherein said processor and said coprocessor form part of a digital camera.

5. The apparatus according to claim 2 , wherein said processor and said coprocessor form part of an object detection system of a vehicle.

6. The apparatus according to claim 1 , wherein said two-stage object detection process further comprises:

computing a score map for each image in said search space of scaled images using said first type of objection detection;

applying said first non-maximum suppression technique to said score maps;

computing estimates of location and scale of bounding boxes for the selected candidates using said second type of object detection; and

applying said second non-maximum suppression technique to the computed estimates.

7. The apparatus according to claim 6 , wherein said first non-maximum suppression technique comprises a sliding-window non-maximum suppression technique.

8. The apparatus according to claim 7 , wherein said sliding-window non-maximum suppression technique utilizes a diamond shaped region of interest.

9. The apparatus according to claim 1 , wherein said two-stage object detection process comprises:

computing multi-channel aggregated channel features for a search space of scaled images;

applying a low depth boosted tree classification to the aggregated channel features;

selecting a predetermined number of candidates identified by the low depth boosted tree classification;

computing locally decorrelated channel features for the selected candidates;

applying a higher depth boosted tree classification to the locally decorrelated channel features; and

selecting a number of candidates identified by the higher depth boosted tree classification based upon one or more predetermined criteria.

10. The apparatus according to claim 9 , wherein said search space of scaled images comprises an image pyramid or scale space.

11. The apparatus according to claim 10 , wherein said search space of scaled images is generated by re-scaling a captured image to a plurality of levels.

12. A method of object or feature detection comprising the steps of:

in a first stage, applying a first type of object detection using a first detector to each image in a search space of scaled images, applying a first non-maximum suppression technique to results of said first type of object detection, and selecting a number of candidates identified by said first non-maximum suppression technique; and

in a second stage, applying a second type of object detection using a second detector on a set of best candidates identified by the first stage and applying a second non-maximum suppression technique to the results of said second type of object detection, wherein (i) the first detector implements a simple detector and (ii) the second detector implements a complex detector.

13. The method according to claim 12 , further comprising:

configuring an object detection circuit to apply at least one classifier of said first detector to one or more regions of interest in said first stage; and

configuring said object detection circuit to apply at least one classifier of said second detector to said set of best candidates identified by the first stage in said second stage.

14. The method according to claim 12 , wherein:

said first stage comprises (i) computing multi-channel aggregated channel features for a plurality of scaled images, (ii) applying a low depth boosted tree classification to the aggregated channel features, and (iii) selecting a predetermined number of candidates identified by the low depth boosted tree classification; and

said second stage comprises (i) computing locally decorrelated channel features for the selected candidates from the first stage, (ii) applying a higher depth boosted tree classification to the locally decorrelated channel features, and (iii) selecting a number of candidates identified by the higher depth boosted tree classification based upon one or more predetermined criteria.

15. The method according to claim 14 , wherein said plurality of images comprise an image pyramid or scale space.

16. The method according to claim 15 , further comprising generating said plurality of images by re-scaling a captured image to a plurality of levels.

17. The method according to claim 12 , wherein:

the first stage further comprises (i) computing a score map for each image in said search space of scaled images using said first type of objection detection, (ii) applying said first non-maximum suppression technique to said score maps, and (iii) selecting a predetermined number of candidates identified by said first non-maximum suppression technique; and

said second stage further comprises (i) computing estimates of location and scale of bounding boxes for the selected candidates from the first stage using said second type of object detection and (ii) applying a second non-maximum suppression technique to the computed estimates.

18. The method according to claim 17 , wherein said first non-maximum suppression technique comprises a sliding-window non-maximum suppression technique.

19. The method according to claim 18 , wherein said sliding-window non-maximum suppression technique utilizes a diamond shaped region of interest.

20. A non-transitory computer readable medium embodying computer executable instructions, which when executed by an embedded processor cause the embedded processor to perform the steps of:

in a first object detection stage, applying a first type of object detection using a first detector to each image in a search space of scaled images, applying a first non-maximum suppression technique to results of said first type of object detection, and selecting a number of candidates identified by said first non-maximum suppression technique; and

in a second object detection stage, applying a second type of object detection using a second detector on said number of candidates identified by the first object detection stage, wherein (i) the first detector implements a simple detector and (ii) the second detector implements a complex detector.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2020
From: AMBARELLA, INC.
To: AMBARELLA INTERNATIONAL LP
Reel/Frame 051831/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2017
From: WANG, YU; KOHN, LESLIE D.
To: AMBARELLA, INC.
Reel/Frame 043462/0652 →