IP Library Granted Patent US 10,002,313
Granted Patent B2
US 10,002,313 · App. 15/379,277 · Granted Jun 19, 2018

Deeply learned convolutional neural networks (CNNS) for object localization and classification

Inventors: Gonzalo Vaca Castano (Orlando, FL); Syed Zain Masood (Orlando, FL); Stephen Neish (Winter Park, FL)
Assignee: Sighthound, Inc.
G06K9/6814G06K9/34G06K9/4628G06K9/4671G06K9/6286G06T7/136G06T7/74G06T2207/10016G06T2207/20004G06T2207/20016G06T2207/20024G06T2207/20084
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,002,313
App. No.
15/379,277
Granted
Jun 19, 2018
Kind
B2
Abstract

A Convolutional Neural Network (CNN) includes an initial set of convolutional layers and max pooling units, in which any input is convoluted with the learned image filters and the output is a stack of the different filter responses. Max pooling produces a scaled version of the output. The process can be repeated several times, resulting in a stack of space invariant-scaled images. Since the operation is space invariant, the computations of these layers not need to be recomputed if interested just in certain regions of the image. A Region Of Interest (ROI) Pooling layer is used to select regions to be processed by the set of fully connected layers, which uses the response of the multiple convolutional layers of the network to determine the regions where the objects (of different scales) could be located. This object proposal method is implemented as a Region Of Interest (ROI) Selector.

Claims (50)

1. A method, comprising:

receiving image data for one or more images;

processing the image data and generating therefrom location and classification information of objects within the one or more images by a Convolutional Neural Network (CNN), the generating including:

processing the image data by an initial set of multiple layers including convolutional, pooling and rectified linear unit (ReLU) layers;

processing output of the initial set of layers by one or more convolutional layers configured to act as scaling layers;

receiving output of the scaling layers at a Region Of Interest (ROI) selector and generating therefrom a list of one or more object location proposals within the one or more images;

receiving the generated list at a pooling layer and extracting therefrom a corresponding feature representation for one or more of the object location proposals;

analyzing the feature representations and corresponding object location proposals by a first set of one or more fully connected layers and, based on said analyzing, constructing a feature vector;

from the feature vector determining by a second set of one or more fully connected layers a probability of objects in the corresponding object location proposals belonging to one of a plurality of object categories; and

from the feature vector determining by a third set of one or more fully connected layers of whether to adjust the corresponding object location proposals for the objects, wherein the second and third sets of fully connected layers are independent.

2. The method of claim 1 , wherein the image data is from a single image.

3. The method of claim 1 , wherein the image data is from a sequence of video frames and wherein the image data from the video frames are processed sequentially.

4. The method of claim 1 , wherein generating the list of one or more object location proposals includes:

performing a first pooling operation to determine strong filter responses from the output of the scaling layers;

performing a second pooling operation to determine overall filter responses from the output of the scaling layers, where the second pooling operation is distinct from the first pooling operation; and

generating the list from a combination of the first and second pooling operations.

5. The method of claim 4 , wherein generating the list includes:

comparing the results of first and second pooling operations against an adaptive threshold.

6. The method of claim 4 , wherein generating the list includes performing a cluster operation of locations within the image and determining whether to merge locations determined by the cluster operation.

7. The method of claim 1 , wherein the processing output of the initial set of layers is by a plurality of convolutional layers configured to act as scaling layers to sequentially filter the output of the initial set of layers, and wherein the ROI selector generates the list of object location proposals from feature representations of object locations at multiple scales from corresponding scaling layers.

8. The method of claim 7 , wherein the number and aspect ratios of the locations generated by the ROI selector is variable dependent upon the output of the scaling layers.

9. The method of claim 1 , wherein the initial set of multiple layers includes a sequence of a plurality of convolutional layers alternating with pooling units followed by one or more ReLU layers.

10. A computer vision system, comprising:

an image data interface connectable to receive image data; and

processing circuitry configured as a Convolutional Neural Network (CNN) connected to receive and process the image data, generating therefrom location and classification information of objects within the one or more images, the generating including:

processing the image data by an initial set of multiple layers including convolutional, pooling and rectified linear unit (ReLU) layers;

processing output of the initial set of layers by one or more convolutional layers configured to act as scaling layers;

receiving output of the scaling layers at a Region Of Interest (ROI) selector and generating therefrom a list of one or more object location proposals within the one or more images;

receiving the generated list at a pooling layer and extracting therefrom a corresponding feature representation for one or more of the object location proposals;

analyzing the feature representations and corresponding object location proposals by a first set of one or more fully connected layers and, based on said analyzing, constructing a feature vector;

from the feature vector determining by a second set of one or more fully connected layers a probability of objects in the corresponding object location proposals belonging to one of a plurality of object categories; and

from the feature vector determining by a third set of one or more fully connected layers of whether to adjust the corresponding object location proposals for the objects, wherein the second and third sets of fully connected layers are independent.

11. The computer vision system of claim 10 , wherein the processing circuitry includes one or more CPUs configurable to perform elements of the generating location and classification information of objects within the one or more images.

12. The computer vision system of claim 10 , wherein the processing circuitry includes one or more GPUs configurable to perform elements of the generating location and classification information of objects within the one or more images.

13. The computer vision system of claim 10 , wherein image data interface includes one or more ASICs.

14. The computer vision system of claim 10 , wherein the image data is from a single image.

15. The computer vision system of claim 10 , wherein the image data is from a sequence of video frames and wherein the image data from the video frames are processed sequentially.

16. The computer vision system of claim 10 , wherein generating the list of one or more object location proposals includes:

performing a first pooling operation to determine strong filter responses from the output of the scaling layers;

performing a second pooling operation to determine overall filter responses from the output of the scaling layers, where the second pooling operation is distinct from the first pooling operation; and

generating the list from a combination of the first and second pooling operations.

17. The computer vision system of claim 16 , wherein generating the list includes:

comparing results of first and second pooling operations against an adaptive threshold.

18. The computer vision system of claim 16 , wherein generating the list includes performing a cluster operation of locations within the image and determining whether to merge locations determined by the cluster operation.

19. The computer vision system of claim 10 , wherein the processing output of the initial set of layers is by a plurality of convolutional layers configured to act as scaling layers to sequentially filter the output of the initial set of layers, and wherein the ROI selector generates the list of object location proposals from feature representations of object locations at multiple scales from corresponding scaling layers.

20. The computer vision system of claim 19 , wherein the number and aspect ratios of the locations generated by the ROI selector is variable dependent upon the output of the scaling layers.

21. The computer vision system of claim 10 , wherein the initial set of multiple layers includes a sequence of a plurality of convolutional layers alternating with pooling units followed by one or more ReLU layers.

22. The computer vision system of claim 10 , further comprising:

an output interface configured to provide the generated location and classification information to a user.

23. The computer vision system of claim 10 , wherein at least a portion of the processing circuitry is part of a mobile device including a display, where the display is connected to said at least a portion of the processing circuitry and configured to provide the generated location and classification information to a user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2017
From: CASTANO, GONZALO VACA; MASOOD, SYED ZAIN; NEISH, STEPHEN
To: SIGHTHOUND, INC.
Reel/Frame 040859/0393 →
Continuity (2)
Provisional Application 62267731 · Dec 15, 2015
Related Publication 20170169315A1 · Jun 15, 2017
Cited By (3)
US 12,450,889 US 12,640,235 US 12,646,590