IP Library Granted Patent US 11,080,864
Granted Patent B2
US 11,080,864 · App. 15/864,029 · Granted Aug 3, 2021

Feature detection, sorting, and tracking in images using a circular buffer

Inventors: Dipan Kumar Mandal (Bangalore, IN); Nagadastagiri Reddy C (Bangalore, IN); Mahesh Mamidipaka (Bangalore, IN); Om J Omer (Bangalore, IN)
Assignee: Intel Corporation
G06T7/248G06K9/2054G06K9/36G06K9/4642G06K9/6201G06K9/78G06T1/60G06T7/246
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 11,080,864
App. No.
15/864,029
Granted
Aug 3, 2021
Kind
B2
Abstract

An example apparatus for tracking features in image data includes an image data receiver to receive initial image data corresponding to an image from a camera and store the image data a circular buffer. The apparatus also includes a feature detector to detect features in the image data. The apparatus further includes a feature sorter to sort the detected features to generate sorted feature points. The apparatus includes a feature tracker to track the sorted feature points in subsequent image data corresponding to the image received at the image data receiver. The subsequent image data is to replace the initial image data in the circular buffer.

Claims (46)

1. An apparatus to track features in image data, the apparatus comprising:

an image data receiver to:

receive a first line of pixels of an image from a camera; and

store the first line of pixels in a circular buffer, the circular buffer to store a first number of lines of pixels of the image, the first number of lines to be fewer than a total number of lines of pixels of the image, the image data receiver to store a subsequent second line of pixels of the image over the first line of pixels of the image in the circular buffer at a later time;

a feature detector to detect features in a first group of lines of pixels of the image from the circular buffer, the first group including the first line of pixels of the image;

a feature sorter to sort the detected features to generate sorted feature points; and

a feature tracker to track the sorted feature points in a second group of lines of pixels of the image, the second group including the subsequent second line of pixels of the image received at the image data receiver.

2. The apparatus of claim 1 , wherein the circular buffer is implemented with an on-chip L2 static random-access memory (SRAM) that is communicatively coupled with the feature detector, the feature tracker, and the feature sorter.

3. The apparatus of claim 1 , wherein the feature detector, the feature tracker, and the feature sorter are to process the first line of pixels of the image before the subsequent second line of pixels of the image is stored in the circular buffer.

4. The apparatus of claim 1 , wherein the sorted feature points comprise include an ordered set of a selected number of the detected features with corresponding feature descriptors.

5. The apparatus of claim 1 , wherein the feature sorter is to format a first one of the sorted feature points into a packed format including a feature descriptor, feature point pixel co-ordinates, and an integer score, the feature descriptor including a pixel patch centered at the feature point pixel co-ordinates.

6. The apparatus of claim 1 , wherein the feature sorter is to perform an on-the-fly dynamic heap sort using the circular buffer.

7. The apparatus of claim 1 , wherein the detected features are first detected features, and the feature tracker is to match the first detected features with second features detected in the second group of lines of pixels of the image.

8. The apparatus of claim 1 , first including a circular buffer manager to:

maintain the circular buffer;

track production and consumption rates of the feature detector, the feature tracker, and the feature sorter; and

synchronize data buffer availability for the feature detector, the feature tracker, and the feature sorter.

9. A method for tracking features in image data, comprising:

obtaining, by executing an instruction with at least one processor, a first line of pixels of an image from a camera;

storing the first line of pixels in a circular buffer, the circular buffer to store a first number of lines of pixels of the image, the first number of lines to be fewer than a total number of lines of pixels of the image, a subsequent second line of pixels of the image to be stored over the first line of pixels in the circular buffer at a later time;

detecting, by executing an instruction with the at least one processor, features in a first group of lines of pixels of the image from the circular buffer, the first group including the first line of pixels of the image;

sorting, by executing an instruction with the at least one processor, the detected features to generate sorted feature points; and

tracking, by executing an instruction with the at least one processor, the sorted feature points in a second group of lines of pixels of the image, the second group including the subsequent second line of pixels of the image.

10. The method of claim 9 , wherein the sorting of the detected features includes performing on-the-fly dynamic heap sorting using the circular buffer.

11. The method of claim 9 , wherein the detected features are first detected features, and the tracking of the detected features includes matching the first detected features with second features detected in the second group of lines of pixels of the image.

12. The method of claim 9 , wherein the sorting of the detected features includes:

populating the detected features into a histogram based on score; and

storing the detected features into an input corner memory implemented with an on-chip L1 SRAM.

13. The method of claim 9 , wherein the sorting of the detected features includes performing an intermediate sorting job in response to detecting that a threshold number of detected features has been exceeded.

14. The method of claim 9 , wherein the sorting of the detected features includes:

traversing a histogram populated with the detected features based on score, the traversing beginning from a largest-valued-bin; and

computing a cumulative histogram.

15. The method of claim 9 , wherein the sorting of the detected features includes packing the features into a packed format, the packed format including a feature descriptor, feature point pixel co-ordinates, and an integer score, the feature descriptor including a pixel patch centered at the feature point pixel co-ordinates.

16. The method of claim 9 , further including processing additional lines of image data corresponding to the image until the image is completely processed.

17. At least one computer readable storage device comprising computer readable instructions that, when executed, cause a computing device to at least:

obtain a first line of pixels of an image from a camera;

store the first line of pixels in a circular buffer, the circular buffer to store a first number of lines of pixels of the image, the first number of lines to be fewer than a total number of lines of pixels of the image;

detect one or more features in a first group of lines of pixels of the image from the circular buffer, the first group including the first line of pixels of the image;

sort the detected features to generate sorted feature points;

replace the first line of pixels of the image in the circular buffer with a subsequent second line of pixels of the image; and

track the sorted feature points in a second group of lines of pixels of the image, the second group including the subsequent second line of pixels of the image.

18. The at least one computer readable storage device of claim 17 , wherein the instructions cause the computing device to perform an on-the-fly dynamic heap sort using the circular buffer.

19. The at least one computer readable storage device of claim 17 , wherein the detected features are first detected features, and the instructions cause the computing device to match the first detected features with second features detected in the second group of lines of pixels of the image.

20. The apparatus of claim 1 , wherein the feature sorter is to trigger an intermediate sorting job in response to a determination that a threshold number of detected features has been exceeded.

21. The apparatus of claim 1 , wherein the feature sorter is to prune the sorted feature points to a second number of feature points.

22. The apparatus of claim 1 , wherein the feature detector is to detect the features and the feature tracker is to track the sorted feature points of the image in parallel with reception of at least a portion of the image at the image data receiver.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2021
From: INTEL IP CORPORATION
To: INTEL CORPORATION
Reel/Frame 056322/0723 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2018
From: MANDAL, DIPAN KUMAR; C, NAGADASTAGIRI REDDY; MAMIDIPAKA, MAHESH; OMER, OM J
To: INTEL IP CORPORATION
Reel/Frame 044556/0586 →
Continuity (1)
Related Publication 20190043204A1 · Feb 7, 2019