A commonly desired feature of video surveillance cameras is the ability to detect when something unusual happens and then issue an appropriate report or alarm. Historically, detection of unusual events in video surveillance has been performed by is having security professionals watching video footage of a scene on one or more video display monitors. More recently, the field of video analytics has allowed computers to perform automatic detection of objects in video. Security professionals can use these detected video objects to create rules that trigger alarms or events when certain criteria are met. For example, an object of a certain size entering a predefined area of a scene may trigger an alarm. These rules are used for a variety of purposes, such as intrusion detection, abandoned object detection, removed object detection, tailgating detection, speeding detection, and falling over detection.
While such rules are useful in a scene with requirements that are well understood and easily definable, sometimes a scene is more complicated and it is difficult to set up accurate rules, or the security professional just wants to be told when something unusual happens.
There are several existing systems for detecting abnormal events. One method uses motion detection to estimate velocity at each point of a scene captured in a video sequence, without associating that velocity with any particular object, in order to build up an average “flow map” of the scene over a period of time. If a current video sequence has velocities that are sufficiently different from the flow map, the method triggers an abnormal behaviour event. This method is limited to velocity vectors, however, because this method does not perform true object detection. This method cannot detect objects of unusual size, or objects in unusual positions in the scene, unless these objects are also accompanied by sufficiently unusual velocity vectors.
Another method uses background subtraction to build up statistics for a scene over time relating to how often a portion of the scene is part of the background. At a given time, a current foreground mask can be compared with an average background mask to detect whether the current frame has objects in abnormal positions. This method is limited to detecting abnormal positions of objects. This method is not able to detect an object moving at an unusual speed, or an object of an unusual size, unless that object was also in an unusual position.
A third method uses histograms to accumulate position and motion information about a scene, using point-feature extraction to obtain object and tracking data. Abnormal events are detected by comparing current positions and motions of objects with the histograms. This method has a disadvantage in that because input parameters are broken up into histogram bins, it is memory intensive to add extra parameters, each parameter contributing an additional dimension to the storage array. In addition, because this method uses point-feature extraction, it has no concept of object size.
Thus, a need exists to provide an improved method for classifying a behaviour of a detected video object in a video frame.