DETECTED OBJECT TRACKER FOR A VIDEO ANALYTICS SYSTEM
5 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed which provide a detected object tracker for a video analytics system. As disclosed, the detected object tracker provides a robust foreground object tracking component for a video analytics system which allow other components of the video analytics system to more accurately evaluate the behavior of a given object (as well as to learn to identify different instances or occurrences of the same object) over time. More generally, techniques are disclosed for identifying what pixels of successive video frames depict the same foreground object. Logic implementing certain functions of the detected object tracker can be executed on either a conventional processor (e.g., a CPU) or a hardware acceleration processing device (e.g., a GPU), allowing multiple camera feeds to be evaluated in parallel.
20 Citations
81 Claims
-
17-61. -61. (canceled)
-
62. A computer-implemented method for tracking foreground objects depicted in a video scene, the method comprising:
-
receiving via at least one processor, a background/foreground BG/FG segmentation of a current video frame from a plurality of video frames of the video scene, the current video frame including at least one appearance value for each of a plurality of pixels and wherein the BG/FG segmentation classifies at least one pixel in the plurality of the pixels as depicting at least one of scene foreground or scene background; for each region of pixels in the current frame classified as depicting the video scene foreground, determining via the at least one processor, an ellipse to bound that region; comparing via the at least one processor, a geometry of at least a first one of the ellipses in the current frame with a geometry of a second ellipse in at least a prior frame from the plurality of video frames; classifying via the at least one processor, the first ellipse as corresponding to a first known foreground object tracked in at least the prior frame based at least in part on the comparison; extending via the at least one processor, a trajectory of the first known foreground object based on the at least one appearance value of the pixels bound by the first ellipse to update at least one of size, orientation, and motion data of the first foreground object; and tracking via the at least one processor, the first foreground object based at least in part on the trajectory. - View Dependent Claims (63, 64, 65, 66, 67, 68, 69)
-
-
70. A non-transitory computer-readable storage medium containing a program, which when executed on a processor, performs an operation for tracking foreground objects depicted in a video scene, the operation comprising:
-
receiving a background/foreground BG/FG segmentation of a current video frame from a plurality of video frames of the video scene, the current video frame including at least one appearance value for each of a plurality of pixels and wherein the BG/FG segmentation classifies at least one pixel in the plurality of the pixels as depicting either scene foreground or scene background; for each region of pixels in the current frame classified as depicting the video scene foreground, determining an ellipse to bound that region; comparing a geometry of at least a first one of the ellipses in the current frame with a geometry of a second ellipse in at least a prior frame from the plurality of video frames; classifying the first ellipse as corresponding to a first known foreground object tracked in at least the prior frame based at least in part on the comparison; extending a trajectory of the first known foreground object based on the at least one appearance value of the pixels bound by the first ellipse to update at least one of size, orientation, and motion data of the first foreground object; and tracking the first foreground object based at least in part on the trajectory . - View Dependent Claims (71, 72, 73, 74, 75, 76)
-
-
77. A system, comprising:
-
a video input source configured to provide a sequence of video frames, each depicting a video scene; a central processing unit (CPU); and a memory containing a program, which, when executed on the CPU is configured to perform an operation for tracking foreground objects depicted in the video scene, the operation comprising; receiving a background/foreground BG/FG segmentation of a current video frame from a plurality of video frames of the video scene, wherein the current video frame includes at least one appearance value for each of a plurality of pixels and wherein the BG/FG segmentation classifies one or more of the pixels as depicting at least one of scene foreground or scene background, for each region of pixels in the current frame classified as depicting the video scene foreground, determining an ellipse to bound that region, comparing a geometry of at least a first one of the ellipses in the current frame with a geometry of a second ellipse in at least a prior frame from the plurality of video frames, classifying the first ellipse as corresponding to a first known foreground object tracked in at least the prior frame based at least in part on the comparison, extending a trajectory of the first known foreground object based on the at least one appearance value of the pixels bound by the first ellipse to update at least one of size, orientation, and motion data of the first foreground object, and tracking the first foreground object based at least in part on the trajectory. - View Dependent Claims (78, 79, 80, 81)
-
Specification