TRACKER COMPONENT FOR BEHAVIORAL RECOGNITION SYSTEM
First Claim
Patent Images
1. A method for tracking one or more objects depicted in a sequence of video frames, comprising:
- receiving a current video frame, of the sequence of video frames;
receiving a background model of a scene depicted by the sequence of video frames and one or more foreground patches, wherein each foreground patch includes a set of pixels covered by the foreground patch in the current video frame;
for each of the one or more tracked objects;
identifying, a predicted location of the tracked object,identifying, at the predicted location, one or more foreground patches,searching for the tracked object at a plurality of points in the scene using a model of the tracked object generated from one or more previous video frames,selecting one of the searched points as a position of the tracked object in the current video frame, andupdating the model of the tracked object based on the selected position of the tracked object in the current video frame; and
passing the updated models of the one or more tracked objects to a machine learning engine configured to identify patterns of behavior engaged in by the tracked objects.
6 Assignments
0 Petitions
Accused Products
Abstract
A tracker component for a computer vision engine of a machine-learning based behavior-recognition system is disclosed. The behavior-recognition system may be configured to learn, identify, and recognize patterns of behavior by observing a video stream (i.e., a sequence of individual video frames). The tracker component may be configured to track objects depicted in the sequence of video frames and to generate, search, match, and update computational models of such objects.
121 Citations
25 Claims
-
1. A method for tracking one or more objects depicted in a sequence of video frames, comprising:
-
receiving a current video frame, of the sequence of video frames; receiving a background model of a scene depicted by the sequence of video frames and one or more foreground patches, wherein each foreground patch includes a set of pixels covered by the foreground patch in the current video frame; for each of the one or more tracked objects; identifying, a predicted location of the tracked object, identifying, at the predicted location, one or more foreground patches, searching for the tracked object at a plurality of points in the scene using a model of the tracked object generated from one or more previous video frames, selecting one of the searched points as a position of the tracked object in the current video frame, and updating the model of the tracked object based on the selected position of the tracked object in the current video frame; and passing the updated models of the one or more tracked objects to a machine learning engine configured to identify patterns of behavior engaged in by the tracked objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium containing a program which, when executed by a processor, performs an operation for tracking one or more objects depicted in a sequence of video frames, the operation comprising:
-
receiving a current video frame, of the sequence of video frames; receiving a background model of a scene depicted by the sequence of video frames and one or more foreground patches, wherein each foreground patch includes a set of pixels covered by the foreground patch in the current video frame; for each of the one or more tracked objects; identifying, a predicted location of the tracked object, identifying, at the predicted location, one or more foreground patches, searching for the tracked object at a plurality of points in the scene using a model of the tracked object generated from one or more previous video frames, selecting one of the searched points as a position of the tracked object in the current video frame, and updating the model of the tracked object based on the selected position of the tracked object in the current video frame; and passing the updated models of the one or more tracked objects to a machine learning engine configured to identify patterns of behavior engaged in by the tracked objects. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising,
a video input source configured to provide a sequence of video frames, each depicting a scene; -
a processor; and a memory containing a computer vision engine which when executed by the processor is configured to perform an operation for tracking one or more objects depicted in a sequence of video frames, the operation comprising; receiving a current video frame, of the sequence of video frames; receiving a background model of a scene depicted by the sequence of video frames and one or more foreground patches, wherein each foreground patch includes a set of pixels covered by the foreground patch in the current video frame; for each of the one or more tracked objects; identifying, a predicted location of the tracked object, identifying, at the predicted location, one or more foreground patches, searching for the tracked object at a plurality of points in the scene using a model of the tracked object generated from one or more previous video frames, of the sequence of video frames, selecting one of the searched points as a position of the tracked object in the current video frame, and updating the model of the tracked object based on the selected position of the tracked object in the current video frame; and passing the updated models of the one or more tracked objects to a machine learning engine configured to identify patterns of behavior engaged in by the tracked objects. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification