Optimized neural network structure
AssigneeChiral Software, Inc.
InventorsEric Jonathan Hollander, Michael Travis Remington
Life of this patent
Estimating the term…
Abstract
A method for performing real-time recognition of objects includes receiving an input video stream from a camera, pre-processing a current frame of the input video stream using one or more pre-processing layers of a neural network structure, detecting if there is an object in the current pre-processed frame using an auxiliary branch of the neural network structure, recognizing one or more objects in the current pre-processed frame using a primary branch of the neural network structure if an object is detected in the current pre-processed frame, and displaying the one or more recognized objects of the current frame in one or more bounding boxes.
Claims18
A method for performing real-time recognition of objects, the method comprising:
- receiving an input video stream from a camera;
- pre-processing a current frame of the input video stream using one or more pre-processing layers of a neural network structure;
- detecting if there is an object in the current pre-processed frame using an auxiliary branch of the neural network structure;
- recognizing one or more objects in the current pre-processed frame using a primary branch of the neural network structure, if an object is detected in the current pre-processed frame;
- and
- displaying the one or more recognized objects of the current frame in one or more bounding boxes;
- simultaneously tracking a location of a recognized object within a corresponding frame from a latest coordinate of the recognized object, while the object recognition continues for one or more objects;
- generating a tracking box and overlaying the tracking box on the recognized object and then transmitting the video stream for display;
- and
- continuing the tracking of the recognized object till the object recognition continues for a corresponding object of the one or more objects.
A system for performing real-time recognition of objects, the system comprising:
- a camera to generate an input video stream;
- an object recognizer implemented through a neural network structure, the neural network structure comprising:
- one or more pre-processing layers configured to pre-process a current frame of the input video stream;
- an auxiliary branch configured to detect if there is an object in the current pre-processed frame;
- and
- a primary branch configured to recognize one or more objects in the current pre-processed frame, if an object is detected in the current pre-processed frame;
- and
- a display device configured to display the one or more recognized objects in the current frame in one or more bounding boxes;
- an object tracker configured to:
- simultaneously track a location of a recognized object within a corresponding frame from a latest coordinate of the recognized object, while the object recognition continues for one or more objects;
- generate a tracking box and overlay the tracking box on the recognized object and then transmit the video stream to the display device;
- and
- continue the tracking of the recognized object till the object recognition continues for a corresponding object of the one or more objects.
A computer programmable product stored on a non-transitory computer readable medium for performing real-time recognition of objects, the computer programmable product comprising a set of instructions, the set of instructions when executed by a processor causes the processor to:
- receive an input video stream from a camera;
- pre-process a current frame of the input video stream using one or more pre-processing layers of a neural network structure;
- detect if there is an object in the current pre-processed frame using an auxiliary branch of the neural network structure;
- recognize one or more objects in the current pre-processed frame using a primary branch of the neural network structure, if an object is detected in the current pre-processed frame;
- display the one or more recognized objects of the current frame in one or more bounding boxes;
- simultaneously track a location of a recognized object within a corresponding frame from a latest coordinate of the recognized object, while the object recognition continues for one or more objects;
- generate a tracking box and overlay the tracking box on the recognized object and then transmit the video stream to the display device;
- and
- continue the tracking of the recognized object till the object recognition continues for a corresponding object of the one or more objects.
Dependencies are inferred from the claim text.