Patent ID: 8300924

Claim:
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; passing the updated models of the one or more tracked objects to a machine learning engine; and generating, by the machine learning engine, from the passed models, one or more semantic representations of behavior engaged in by the tracked objects in the scene over the sequence of video frames, wherein the machine learning engine is configured to learn patterns of behavior engaged in by the tracked objects in the scene over the plurality of video frames and to identify occurrences of the patterns of behavior engaged in by the tracked objects.