Systems and methods for processing video streams
First Claim
Patent Images
1. A computer-implemented method for processing video streams, the method comprising:
- a special purpose processor collecting video data from a plurality of dissimilar sources, that manages video feeds from the plurality of dissimilar sources, processes the video feeds into data, stores the data, and computes analytics and predictions;
The system includes a backend subsystem consisting of specially programmed processors executing software that manages video feeds, processes the video feeds into data, stores the data, and computes analytics and predictionsthe special purpose processor, in an iterative process, defining known foreground objects and newly emerged objects;
the special purpose processor determining moving objects from the video data, wherein determining moving objects comprises,movement detection comprising at least one non-linear time-domain high-pass filter, and determining trajectories of objects;
foreground detection comprising processing video data from a current frame and an expected background, including determining an absolute difference between the current frame and an expected background, and adding R, G and B planes with saturation to generate a merged absolute difference with background;
object tracking comprising determining histories of the positions of objects;
classifying moving objects comprising receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning; and
high level analysis comprising determining one or more of, the speed of an object, whether an object is entering or leaving a building, and whether an object is crossing a virtual turnstile; and
the special purpose processor processing the video data as video streams from the plurality of dissimilar sources, providing video data of different types, to allow the video data from the plurality of dissimilar sources to be analyzed without dependence on a source of any of the video data.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of a method and system described herein enable capture of video data streams from multiple, different video data source devices and the processing of the video data streams. The video data streams are merged such that various data protocols can all be processed with the same worker processors on different types of operating systems, which are typically distributed.
157 Citations
18 Claims
-
1. A computer-implemented method for processing video streams, the method comprising:
-
a special purpose processor collecting video data from a plurality of dissimilar sources, that manages video feeds from the plurality of dissimilar sources, processes the video feeds into data, stores the data, and computes analytics and predictions; The system includes a backend subsystem consisting of specially programmed processors executing software that manages video feeds, processes the video feeds into data, stores the data, and computes analytics and predictions the special purpose processor, in an iterative process, defining known foreground objects and newly emerged objects; the special purpose processor determining moving objects from the video data, wherein determining moving objects comprises, movement detection comprising at least one non-linear time-domain high-pass filter, and determining trajectories of objects; foreground detection comprising processing video data from a current frame and an expected background, including determining an absolute difference between the current frame and an expected background, and adding R, G and B planes with saturation to generate a merged absolute difference with background; object tracking comprising determining histories of the positions of objects; classifying moving objects comprising receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning; and high level analysis comprising determining one or more of, the speed of an object, whether an object is entering or leaving a building, and whether an object is crossing a virtual turnstile; and the special purpose processor processing the video data as video streams from the plurality of dissimilar sources, providing video data of different types, to allow the video data from the plurality of dissimilar sources to be analyzed without dependence on a source of any of the video data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transient computer readable medium having stored thereon instructions, that when executed by a special purpose processor cause a method for processing video data to be performed, the method comprising:
-
a special purpose processor collecting video data from a plurality of dissimilar sources, that manages video feeds from the plurality of dissimilar sources, processes the video feeds into data, stores the data, and computes analytics and predictions; the special purpose processor, in an iterative process, defining known foreground objects and newly emerged objects; the special purpose processor determining moving objects from the video data; the special purpose processor classifying the moving objects from the video data comprising receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning; the special purpose processor tracking the moving objects from the video data wherein tracking comprises receiving as input an instance of one object at one point in time and calculating its trajectory and shape over time, and for each new video frame attempting to match foreground objects with existing objects tracked in prior iterations of the iterative process, and determining where the moving objects start and end their trajectories over a period of time; the special purpose processor determining likely detection of a building entrance based on where the moving objects start and end their trajectories over the period of time; and the special purpose processor processing the video data as video streams from the plurality of dissimilar sources, providing video data of different types, to allow the video data from the plurality of dissimilar sources to be analyzed without dependence on a source of any of the video data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for processing multiple video data streams, comprising:
-
a plurality of input video data sources; a backend subsystem configured to receive video data from the plurality of dissimilar input video data sources, managing video feeds from the plurality of dissimilar sources, processing the video feeds into data, storing the data, and computing analytics and predictions, the backend subsystem comprising, a plurality of video analysis workers comprising special purpose processors tasked with executing video analysis worker processes, comprising, in an iterative process, defining known foreground objects and newly emerged objects; determining moving objects from the video data; classifying the moving objects from the video data; tracking the moving objects from the video data, wherein tracking comprises receiving as input an instance of one object at one point in time and calculating its trajectory and shape over time, and for each new video frame attempting to match foreground objects with existing objects tracked in prior iterations of the iterative process; classifying moving objects comprising receiving groups of foreground pixels and outputting one or more objects per group with an associated class using class supervised learning; wherein tracking the moving objects comprises tracking moving objects from a plurality of dissimilar sources, which supply video data of different types, to allow the video data from the plurality of dissimilar sources to be analyzed without dependence on a source of any of the video data; and a data analytics module configured to receive processed video data from the plurality of video analysis workers and output human readable information, wherein the human readable information comprises likely locations of building entrances. - View Dependent Claims (16, 17, 18)
-
Specification