Video Analysis, Archiving and Alerting Methods and Appartus for a Distributed, Modular and Extensible Video Surveillance System
Systems and methods are disclosed for analyzing, managing and cataloguing video tracks generated by a video surveillance system. Systems and methods operating in accordance with the present invention receive video tracks from a video surveillance system; analyze them for particular categories of, for example, objects or events, assign unique identifying tags to the video tracks; and save them in highly-cross-referenced databases so that video tracks containing, for example, particular objects or events can be easily searched for and recalled. In addition, the present invention provides browsing facilities for viewing events that have just elapsed, events that are occurring in near real-time.
Latest IBM Patents:
This application hereby claims priority from provisional U.S. patent application Ser. Nos. xxx and yyy filed on Oct. 12, 2004 and assigned to the same assignee as the present application. These provisional applications are hereby incorporated by reference in their entirety as if fully restated herein. This application is also related to U.S. patent application Ser. No. vvv filed on even date and assigned to the same assignee as the present application. U.S. patent application Ser. No. vvv is also incorporated by reference in its entirety as if fully restated herein.
TECHNICAL FIELDThe present invention generally concerns video surveillance systems and more particularly concerns methods and systems for analyzing, managing and cataloguing of video tracks. The present invention also more particularly concerns systems and methods for organizing video tracks and associated event and statistical information in well-indexed databases whereby video tracks containing certain types of, for example, objects; events; and activities, are easily managed and accessed through web services and browsers.
BACKGROUNDIn the present environment of heightened concern over criminal and terrorist activities, those skilled in the art have recognized the need for a more widespread application of video surveillance systems. This recognition has resulted in the desire for a more flexible suite of physical video surveillance assets (for example, highly programmable video cameras having the innate ability to handle a multitude of surveillance situations) and firmware for integrating and managing a distributed system of video surveillance assets. U.S. patent application Ser. No. yyy, assigned to the same assignee as the present invention, discloses such methods and systems and is hereby incorporated by reference in its entirety as if fully restated herein.
The desire for flexibility also extends to the establishment and management of video surveillance activities. Current systems for establishing and managing video surveillance activities lack flexibility and therefore are difficult to modify to respond to evolving threat environments. In particular, current systems for establishing and managing video surveillance activities were often constructed to respond to a relatively limited number of threats and to perform little or no video analysis. In order to take advantage of the flexibility and programmability of video surveillance cameras and video analysis engines, new video surveillance system architectures are required.
Those skilled in the art desire video surveillance system architectures that adopt a modular approach to video analysis applications and operations. For example, those skilled in the art desire a software and middleware framework that accommodates the rapid addition of video analysis applications to a suite of pre-existing video analysis applications. Such a framework would make it far easier to tailor video surveillance system assets to evolving threat environments.
In addition, state-of-the-art video surveillance systems, particularly those with large numbers of a video surveillance cameras and video analysis engines, create a great deal of video and data. Obviously, it would be prohibitively expensive and impractical to employ a human user to monitor the output each video camera of such a highly integrated and distributed video surveillance system. In addition, it would thwart one of the objectives of such systems, that is, to give a cadre of surveillance system analysts a holistic view of a particular surveillance environment through highly distributed video analysis operations. Instead, the surveillance system analysts would develop only a tunnel vision view of a particular surveillance environment.
Another problem results simply from the number of video cameras that comprise such a distributed and large video surveillance system. Since it would be prohibitively expensive to employ security personnel to monitor each video camera, there must be a system for recording, analyzing and cataloguing the output of the video surveillance system, and for alerting surveillance system analysts in dependence on evolving threats revealed by analysis. Otherwise, the data created by such a system would simply go to waste as so much un-reviewed data.
An additional problem arises from the fact that security system analysts in next generation video surveillance systems will not be continuously monitoring a relatively limited number of video feeds giving them the ability to develop a contextual understanding of fields of view as events evolve in the field of view. Rather, due to the large number of available views, it is simply impossible to monitor all of them. As a result, some way must be devised to analyze, manage, catalogue and present video tracks so that the situational awareness of surveillance system analysts is substantially improved over current video surveillance systems.
Thus, those skilled in the art desire a modular, extensible and distributed video surveillance system architecture that easily accommodates the addition and management of video analysis applications. Those skilled in the art also desire a system for analyzing, managing, cataloguing and presenting video tracks. In particular, those skilled in the art desire a system for assigning meaningful track identifying tags to simplify and ease the cataloguing of such tracks. In addition, those skilled in the art desire a suite of video analysis applications capable of generating a wide degree of track information from key frames suitable for improving the situational awareness of surveillance analysts, to statistical information summarizing monitored object activities and events.
SUMMARY OF THE PREFERRED EMBODIMENTSThe foregoing and other problems are overcome, and other advantages are realized, in accordance with the presently preferred embodiments of these teachings. The present invention comprises methods and apparatus for performing and managing video surveillance activities.
In particular, a first alternate embodiment of the present invention comprises a video surveillance system comprising: at least one video surveillance system module comprising: a video surveillance camera, wherein the video surveillance camera is remotely programmable; a video encoder to encode video gathered by the video surveillance camera; and a video analysis engine coupled to the video surveillance camera to analyze video gathered by the video surveillance camera and to create data derived from the video; at least one video surveillance system network coupled to the at least one video surveillance system module; at least one database and application system coupled to the at least one video surveillance system network to store video gathered by the video surveillance camera and data created by the video analysis engine, and to receive and process queries for the video and data; a video surveillance system control interface coupled to the at least one video surveillance system network to control the operations of the video surveillance system; and a video surveillance application and control interface coupled to the at least one video surveillance system network for controlling video surveillance activities, the video surveillance application and control interface comprising: a program for controlling video surveillance activities; a display for displaying video gathered by the video surveillance camera and data created by the video analysis engine; and at least one input device for creating queries of the database and application system.
A second alternate embodiment of the present invention comprises: a signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus of a computer system to perform operations comprising management of video surveillance activities using an electronic video surveillance system, the operations comprising: applying a video analysis application tool to video gathered by a video surveillance camera in real time, wherein the video analysis application tool comprises at least one user-specified video analysis criterion, and where application of the video analysis application tool to the video generates a data stream related to the at least one user-specified video analysis criterion; transmitting the data stream to an electronic database and application system; storing information comprising the data stream in the electronic database and application system; selecting at least a portion of the information comprising the data stream for forwarding to a video surveillance analyst performing video surveillance activities, wherein the selection is made based on at least one user-specified information forwarding criterion; and forwarding the selected information to the video surveillance analyst for display on an interface device of the electronic video surveillance system.
Thus it is seen that embodiments of the present invention overcome the limitations of the prior art. In particular, the methods and apparatus of the present invention provide a highly flexible middleware architecture for adding new video analysis applications in order to accommodate the availability of new technology or to respond to new threat environments.
In addition, methods and apparatus of the present invention achieve continuous situational awareness through around-the-clock automated object and event detection; object tracking and object classification. In prior video surveillance systems, the systems often depended on the constant vigilance of a video surveillance analyst, a situation fraught with danger due to the inherent limitations of human beings, for example the inability to remain at a high degree of attentiveness. In contrast to the prior art, in the present invention computer-controlled automated systems perform most of the object and event detection, object tracking and object classification, meaning that the lack of attentiveness of a video surveillance analyst will be much less of an issue.
Continuing, the methods and apparatus of the present invention heighten the situational awareness of video surveillance analysts by performing video surveillance in a more structured manner. In the prior art, video surveillance often consisted of setting up a bank of video cameras and associated video displays and monitoring them. Such a low-level approach did not take into consideration likely threats; instead the video monitors are simply observed for “anything which might happen”. In contrast, the methods and apparatus of the present invention institute highly regimented video surveillance procedures and activities which take into consideration likely threats and desired responses. For example, video analytics are selected based on the threat environment. In addition, alarm events are pre-instituted, meaning that the potential negative effect of human judgment is reduced.
Further, the methods and apparatus of the present invention apply video analytics continuously, and sometimes supply the results in real time, thereby providing the video surveillance analyst with a wealth of focused information that simply was not available in prior-art systems. The systematic way in which video analytics is performed and the resulting data saved means that information is available both for real-time alarm situations and near- and far-term investigative situations. This is particularly important as video surveillance analysts simply cannot observe patterns which only become visible over many months or years.
In addition, the continuous recording and cataloguing of objects and events means that a video surveillance analyst always has available just-occurred-event information. Often the most important information for deciding how to respond to a threat situation is event information that is only minutes or tens of minutes old. In prior art situations where the information simply was not recorded or, if recorded, was not immediately or easily accessible (for example, video tape) the ability to make decisions based on an almost immediate review of just-occurred-event information was either very difficult or impossible. In the present invention, just-occurred-event information is saved continuously and is immediately available in response to simple queries to assist a decision maker in deciding how to respond to a threat situation.
In summary, the foregoing alternate embodiments of the present invention are exemplary and non-limiting. For example, one of ordinary skill in the art will understand that one or more aspects or steps from one alternate embodiment can be combined with one or more aspects or steps from another alternate embodiment to create a new embodiment within the scope of the present invention.
The foregoing and other aspects of these teachings are made more evident in the following Detailed Description of the Preferred Embodiments, when read in conjunction with the attached Drawing Figures, wherein:
Particular embodiments and features of the present invention are illustrated in the schematic block diagrams depicted in
Individual cameras comprising the videos surveillance camera clusters are preferably highly programmable with programmable pan, tilt, zoom and digital zoom features. The individual cameras also have view-programming capability, wherein a view comprised of a specific set of operations or movements selected from at least one of the pan, tilt, zoom or digital zoom options are programmed into a sequence of operations or movements. In certain embodiments, each camera may have multiple programmed views as illustrated by camera 124 in
In addition to view programming, the video corresponding to a particular view 146 gathered by a video surveillance camera 124 is analyzed by a video analysis engine 214 according to one or more user-specified criteria. The video analysis 214 engine creates track data 162, 164 by analyzing the video gathered by the video surveillance cameras, for example, video surveillance camera 124. As is shown in
In contrast to the embodiment depicted in
This feature illustrates a particular advantage of the present invention in that video surveillance and analysis activities can be easily and continually customized to a particular threat environment. A video surveillance analyst is not confronted with a situation as in the case of the prior art where video surveillance options were predetermined at the establishment of the video surveillance system; rather, when practicing the methods and apparatus of the present invention the video surveillance analyst can continually adjust the system to evolving threat situations.
In other embodiments the video surveillance system module further comprises a keyframe generation system to create a keyframe of a specific field of view viewed by the video surveillance camera. Keyframes are generated whenever a user-specified video analysis criterion is satisfied, and generally correspond to a still image of a field of view best capturing an object or event being observed. In further embodiments, a keyframe may be a headshot of a person entering a facility. The headshot may be created by momentarily zooming the video surveillance camera on the person's face.
A unitary system network 215 is depicted in
The electronic database system 220 comprises a database server 222 for receiving and cataloguing data generated by the video analysis engines 214; a video manager for receiving video encoded by video encoders 216; and an application server 226 for managing video surveillance applications. In the particular embodiment depicted in
In addition, the database system is depicted in
In the embodiment depicted in
Particular advantages of the methods and apparatus of the present invention are apparent in
In addition, the unique identifiers assigned to the clusters, cameras and views can also function as web address in a web-based system, greatly simplifying interactions with the electronic video surveillance system. For example, if a video surveillance analyst desired to see a live feed associated with a particular camera view, the analyst need merely enter the address of the camera view using the unique identifier to form a portion of the address to access the camera view.
An alternate video surveillance system operating in accordance with the methods and apparatus of the present invention is depicted in
The video encoder 216 comprises multiple video encoding applications, providing a wide range of options for video surveillance analysts using the video surveillance system. In particular, video encoder 216 comprises an MPEG4 encoder 260; a Windows Media encoder 262; and a Verint Encoder 264.
The database server 222 depicted in
Additional details of a video surveillance system 200 made in accordance with the present invention are depicted in the conceptual block diagram depicted in
The data processor 301 may also be coupled through the bus 302 to a network interface 308 that provides bidirectional access to the video surveillance system network 215, such as an intranet and/or the internet. In various embodiments of the present invention, both system implementation and management, as well as surveillance activities can be performed through the display 307 and input devices 306.
In general, these teachings may be implemented using at least one software program running on a personal computer, a server, a microcomputer, a mainframe computer, a portable computer, an embedded computer, or by any suitable type of programmable data processor 301 operating in combination with video surveillance system management application 228 and video surveillance application 230 residing on the electronic database system 200. A video surveillance system technician can also manage the video surveillance system modules 210 comprising at least one video surveillance camera cluster 211 through the display 305 and input device 306.
One of the advantages of the present invention is the ease in which a distributed video surveillance system can be quickly and easily constructed. This is the result of the modular concept embodied in the system, reflected in
The foregoing description generally concerned the architecture of a video surveillance system operating in accordance with the methods and apparatus of the present invention. The following description will concern establishment of video surveillance activities—particularly the establishment of automatic video analysis operations—and the handling of data created during video surveillance operations.
For example,
The immediately preceding description concerned the selection of video analysis activities and general information distribution details of a system operating in accordance with the present invention. The following description will concern details associated with data identification and storage in a distributed video surveillance system operating in accordance with the present invention.
In general, in video surveillance systems operating in accordance with the present invention, video gathered by a particular programmed view of a video surveillance camera is continuously analyzed by a video analysis engine 214 of the video surveillance system to generate tracks, and the data derived from the analysis is then transmitted to the electronic database system 220 for storage in the database server 222. Each track is comprised of track data and captures the activity of an object inside the field of view of the video surveillance camera. The track data comprises at least a pointer to a video segment containing the object, and can further comprise in various embodiments location data, trajectory data, motion data, visual features (for example, color texture and shape) and object class or identity. In addition to pointers to video segments, the track data can also comprise digital video clips, keyframes, foreground models and background models.
In one alternate embodiment of the present invention, primitive tracks output from a video analysis engine 214 are represented as XML documents. In this particular alternate embodiment there are three types of XML documents: track summary documents, track data documents and background image documents.
This document type allows multiple occurrences of <TrackSummary> so that a video analysis engine 214 can send an optimal number of track summary documents to the database server 222 of the electronic database system in dependence on load conditions and the urgency of real time data delivery. Each track summary document 520 is associated with a particular video surveillance camera view that is identified through use of a globally-unique identifier.
Track data documents 530 each contain a root tag <TrackData> . . . </TrackData> and are structured as follows:
As in the case of the track summary document, the track data document type allows multiple occurrences of <TrackDataFragment> so that the video analysis engine 214 can send the optimal amount of <TrackDataFragment> to the database server 222 of the electronic database system 220 in dependence on load conditions and the urgency of real time data delivery. Each <TrackDataFragment> contains all the meta-data of a primitive track.
The background image XML document 540 contains a root tag <BGImages> . . . </BGImages> and is structured as follows:
As in the case of the track summary and track data documents, the background image document type allows multiple occurrences of <BGImage> so that the video analysis engine 214 can send the optimal amount of <BGImage> to the database server 222 of the electronic database system 220 in dependence on load conditions and the urgency of real time data delivery.
The track summary 520, track data 530 and background image 540 XML documents created during video analysis activities of a video analysis engine operating on video gathered by a particular view of a video surveillance camera each contain at least a sub-tag <ViewID> nnnnn </ViewID> to uniquely identify in a global manner the view under analysis by the video analysis engine 214.
<TrackSummary> and <TrackDataFragment> also contain at least a sub-tag <TrackID> nnnnn </TrackID> to identify the primitive track extracted by the video analysis engine 214. This identifier is globally unique across the electronic database system 220. In response to a query, the electronic database system can use the unique identifier to access all data associated with a primitive track. Combining the unique track identifier with the multiple occurrences XML document design, the electronic database system 220 of the present invention can support near-real-time search and alert by the video analysis engine 214. The unique track identifier 550 of a video surveillance system operating in accordance with the present invention is depicted in
In various embodiments of the present invention, certain classes of data are “pushed” to the database server 222 of the electronic database system 220 of the video surveillance system 200 in real time, while other categories of data are saved locally. The locally-saved data is then pushed to the database server 222 during off-peak situations when the video surveillance system network is experiencing relatively light traffic. A local data storage structure 570 for storing data created by video analysis engines operating in accordance with the present invention is depicted
In one possible embodiment where the smallest temporal directory corresponds to a particular day, all track data generated during that day for a particular view of a video surveillance camera would be stored in the same directory, for example, /ViewID/Yxxxx/Mxx/Dxx. In various embodiments of the present invention, a particular day directory can contain videos 592, background images 594, keyframes 596, foreground models 598 and XMLS subdirectories 600. Furthermore, the XMLS subdirectory 600 is divided into three additional subdirectories: BGImages 602, TrackData 604 and TrackSummary 606. To prevent access inefficiency for large directories, file limitations can be instituted which would cause new directories to be created when a file limitation has been exceeded.
Particular advantages of the present invention associated with a temporal-based data structure are: scalable growth of track data over the long term; easy access to data segments based on temporal information; online and offline archival management based on temporal information; ease of temporal-information-based data package composition and decomposition; and ease of web-based access based on temporal information.
Another feature of the present invention is that data associated with a particular view of a video surveillance camera for many consecutive time segments can be easily packaged and unpackaged. This can be accomplished by an XML document residing directly inside the ViewID directory structured as follows:
This format allows multiple occurrences of <ViewStruct> . . . </ViewStruct>. Each <ViewStruct> provides the track data structure for a continuous time span. The manifest file allows packaging and un-packaging of data files for many consecutive time spans.
The foregoing temporal-based database architecture concerned local data storage strategies in video surveillance systems operating in accordance with the present invention. The following description concerns details associated with the database architecture for performing near-real-time alerts and for archiving data generated by the video analysis engines 214 of a video surveillance system for later retrieval in response to queries.
A feature of the present invention comprises methods and apparatus for use in establishing and managing a database architecture for use in a video surveillance system capable of performing, for example, near-real-time alerts based on video analysis activities. The control flow associated with a database schema management service is depicted in
A method for creating and managing a database for use in a video surveillance system capable of performing near-real-time alerts based on the results of video analysis activities is depicted in
The next steps concern another particular advantage of the invention involving the automated forwarding of certain categories of data to video surveillance analysts. At step 655, the information forwarding specification is retrieved. The information forwarding specification specifies what data will be forwarded, and when it will be forwarded. Applications are then programmed at step 656 to identify information satisfying the information forwarding criteria specified in the information forwarding specification, and at step 657 to forward the data.
Other operations available for establishing and managing an electronic database system for use in a distributed video surveillance system are depicted in
A schematic depiction of the table architecture 705 of a database server 222 made in accordance with the methods and apparatus of the present invention is depicted in
The ingestion of data created by the video analysis engine 214 into the database server of the electronic database system is depicted in
A particular advantage of the present invention is the ability to “push” data generated by the video analysis engines 214 to a video surveillance analyst in real- or near-real-time. In
Not all data created by the video analysis engines of a video surveillance system needs to be transmitted to the database server 222 of the electronic database system 220 in real time. In such situations data can be stored locally in accordance with the methods described with respect to
The local archiving of data is controlled by a data archiving service manager operating either as part of the video analysis engine or independently. The data archiving service manager actively monitors a view result; archives data; and manage data ingestion into the local temporal-based database. The service relies on user-specified policy parameters to indicate how data should be archived and/or when an archival ingestion should happen. For example, a video surveillance analyst could specify that only data from today should be kept and the rest of the data should be archived, and at the end of today to send the electronic database system a view jar file of today to ingest. The following basic functions can be used to implement the service:
-
- Jar-File JarView(Root-View-Path)
- Jar-File JarTemporalView(Root-View-Path, BGIMGES|FGIMAGES|VIDEOS|KEYFRAMES|XMLS, Temporal-Path-1, Temporal-Path-2
- Jar-File ListTemporalView(Jar-File, BGIMGES|FGIMAGES|VIDEOS|KEYFRAMES|XMLS, Temporal-Path-1, Temporal-Path-2)
- Jar-File ExtractTemporalView(Jar-File, BGIMGES|FGIMAGES|VIDEOS|KEYFRAMES|XMLS, Temporal-Path-1, Temporal-Path-2)
- Jar-File MergeTemporalView(Jar-File-1, Jar-File-2)
- UnjarTemporalView(Jar-File, BGIMGES|FGIMAGES|VIDEOS|KEYFRAMES|XMLS, Temporal-Path-1, Temporal-Path-2
The immediately preceding description concerned data archiving in accordance with the methods and apparatus of the present invention. The next feature to be described concerns event retrieval. A particular advantage of the present invention is the rich database of object and activity statistics and track data. This information can be accessed in near-real-time to assist in, for example, policing activities, or much later in time to assist in, for example, investigative activities. The event retrieval feature of the present invention automates the retrieval of event and object data in response to automatic triggers and surveillance analyst queries.
After receiving a query, the event retrieval service performs a search of the database to retrieve information stored in the database server responsive to the request. The data and control flow associated with this activity is illustrated in the block diagram depicted in
Various user queries can be formulated by a video surveillance analyst. For example, the following are three examples of property-based queries that may be created by video surveillance analysts and received by the event retrieval manager at step 820:
-
- DoSummaryQuery(“PCS(p1, p2, p3, . . . , pm)”)
- DoDataQuery(“PCD(p1, p2, p3, . . . , pn)”)
- DoSDQuery(“PCS(p1, p2, p3, . . . pm)”, (“PCD(p1, p2, p3, . . . , pm)”)
The “DoSummaryQuery” is a request for track summary information, and p1, etc. are search parameters relating to, for example, object classes; object characteristics; or event class. The “DoDataQuery” is a request for track data information comprising, for example, object trajectory information. The “DoSDQuery” is a combination request seeking track summary and track data information.
The following are examples of temporal-based queries:
-
- DoTSummaryQuery(“PCS(p1, p2, p3, . . . , pm)”, “TC(start_time, end_time)”)
- DoTDataQuery(“PCD(p1, p2, p3, . . . , pn)”, “TC(start_time, end_time)”)
- DoTSDQuery(“PCS(p1, p2, p3, . . . , pm)”, “PCD(p1, p2, p3, . . . , pn)”, “TC(start_time, end_time)”)
These requests are formulated similar to the property-based requests except they are further delimited by a time criterion “TC(start_time, end_time)”.
The following are example of spatial-based queries:
-
- DoSSummaryQuery(“PCS(p1, p2, p3, . . . , pm)”, “SC(l1, l2, l3, . . . , ll)”)
- DoSDataQuery(“PCD(p1, p2, p3, . . . , pn)”, “SC(l1, l2, l3, . . . , ll)”)
- DoSSDQuery(“PCS(p1, p2, p3, . . . , pm)”, (“PCD(p1, p2, p3, . . . , pn)”, “SC(l1, l2, l3, . . . , ll”)
Spatial-based queries concern specific portions of a field of view of a video surveillance camera and seek information concerning objects entering the specified portion of a field of view, or events or activities occurring in the specified field of view. In embodiments with this capability the video analysis engine 214 creates data concerning where in a field of view an object entered or an event occurred.
The following is an example of a spatial-temporal based query:
-
- DoSTSummaryQuery(“PCS(p1, p2, p3, . . . , pm)”, “SC(l1, l2, . . . , ll) “TC(start_time, end_time)”
This request is a combination temporal-spatial request seeking information concerning activities or events occurring in specified portion of a field of view over a specified time period.
- DoSTSummaryQuery(“PCS(p1, p2, p3, . . . , pm)”, “SC(l1, l2, . . . , ll) “TC(start_time, end_time)”
Various queries can be posed to the database of video track information. For example, after the event retrieval manager 780 has parsed the user query, and reformulated the query in a format the database server can understand, the event retrieval manager may issue one of the following queries. For example, the following query will retrieve tracks identifying all members of a particular class observed by the video surveillance system:
The following query finds tracks containing a specific object (for example, a particular automobile) or a specific individual (for example, a particular person):
The following query finds tracks associated with activity of a specified type (for example, tracks of all people entering a particular building):
The following query finds tracks containing automobiles and other vehicles traveling faster than a specified speed:
The following query finds tracks containing automobiles and other vehicles with a minimum speed slower than a given value:
The following query finds tracks containing similar properties:
The following query can be very useful to detect loitering when duration is very long and detect noise (caused by, for example, sudden camera movements, swing trees, rain drops) when the duration is very short:
This query finds all tracks with centroid passing through a bounding box:
When the track identifiers responsive to any of these example queries are returned, they are forwarded to whatever process or person requested them.
Another feature of the present invention is the instant alert management service. As expressed throughout this specification, a particular advantage of a distributed electronic video surveillance system operating in accordance with the present invention is the ability of the system to perform real-time or nearly-real-time alerts based on video analysis performed by the electronic video surveillance system.
A method in accordance with the instant alert service is depicted in
Additional operations that may be performed by an instant alert manager operating in accordance with the present invention are depicted in
In the speeding alert instructions 1070, 1072 depicted in
In the loitering alert instructions 1080, 1082 depicted in
In the embodiment depicted in
Based on queries received from video surveillance analysts, the activity summary manager 1140 relays the constraints 1150 to the event retrieval manager 780; this begins the information collection process by retrieving track identifiers satisfying the constraints. The track identifiers are returned at 1152. In addition, in other embodiments not depicted, the activity summary manager can retrieve track information associated with the track identifiers if this additional information is required to create the statistics sought by the video surveillance analyst. After the information necessary to generate the statistics has been retrieved, the activity summary manager generates the statistics and issues a summary at 1154.
In further embodiments, the activity summary manager interacts with the information transformation manager 910 to format the activity summary information in a manner specified by the video surveillance analyst.
A method for performing activity summarization is depicted in
Additional operations that may be performed by the activity summary manager are depicted in
Accordingly, in the video surveillance system of
Another category of information that may be generated by the activity summary service is illustrated by
In other embodiments alternate and more sophisticated presentation strategies can be employed. For example, in each keyframe comprising an HTML document an object could be outlined with a color-coded boundary box and contains a color-coded trajectory overlying the original keyframe image. The keyframe is the representative frame of the track video clip best depicting an object viewed by a surveillance camera. Optionally, there can be more than one keyframe for each track or event. The additional keyframes can be obtained by directing active surveillance cameras to capture the close-up appearance of a tracked object. By clicking a keyframe, an associated video track clip is played back immediately.
Thus it is seen that the foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of the best method and apparatus presently contemplated by the inventors for implementing a distributed video surveillance system. One skilled in the art will appreciate that the various embodiments described herein can be practiced individually; in combination with one or more other embodiments described herein; or in combination with interactive tabular query interfaces differing from those described herein. Further, one skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments; that these described embodiments are presented for the purposes of illustration and not of limitation; and that the present invention is therefore limited only by the claims which follow.
Claims
1-128. (canceled)
129. A video surveillance system comprising:
- at least one video surveillance system module comprising: a video surveillance camera, wherein the video surveillance camera is remotely programmable; a video encoder to encode video gathered by the video surveillance camera; and a video analysis engine coupled to the video surveillance camera to analyze video gathered by the video surveillance camera and to create data derived from the video, where at least a portion of the created data is generated in dependence on at least one user-specified video analysis criterion, where the created data comprises at least one pointer to a portion of the video gathered by the video surveillance system satisfying the specified video analysis criterion;
- at least one video surveillance system network coupled to the at least one video surveillance system module;
- at least one database and application system coupled to the at least one video surveillance system network to store video gathered by the video surveillance camera and data created by the video analysis engine, and to receive and process queries for the video and data;
- a video surveillance system control interface coupled to the at least one video surveillance system network to control the operations of the video surveillance system; and
- a video surveillance application and control interface coupled to the at least one video surveillance system network for controlling video surveillance activities, the video surveillance application and control interface comprising: a program for controlling video surveillance activities; a display for displaying video gathered by the video surveillance camera and data created by the video analysis engine; and at least one input device for creating queries of the database and application system.
130. The video surveillance system of claim 129, wherein:
- the video analysis engine further comprises: a track identification system for assigning a unique identifier to the at least one track.
131. The video surveillance system of claim 130, wherein the track further comprises track summary information.
132. The video surveillance system of claim 131, where the track identification system applies the unique identifier assigned to the at least one track to the track summary information associated with the at least one track.
133. The video surveillance system of claim 131, wherein the track summary information further comprises at least one of timestamp information memorializing a creation time of the track, object class information specifying an object class, object area information, object velocity information, activity class information, activity class information corresponding to loitering activity, a pointer to a video segment and a pointer to a keyframe.
134. The video surveillance system of claim 130, wherein the at least one database and application system further comprises:
- a database server to save the at least one track using the unique identifier.
135. The video surveillance system of claim 134, where the video surveillance application and control interface further comprises: a track query formulation application to formulate queries to locate tracks saved in the database server satisfying a user-specified criterion, where the database and application system further comprises: an event retrieval system to accept user-specified track location queries and to locate tracks satisfying the criterion contained in the user-specified queries; and a track identifier forwarding system to forward track identifiers satisfying the user-specified query to the user requesting the track identifiers.
136. The video surveillance system of claim 135, where the video surveillance application and control interface further comprises: a track information request application to request track information associated with forwarded track identifiers, where the at least one database and application system further comprises: a track information retrieval application to retrieve track information associated with track identifiers; and a transformation application for transforming the track information into a desired output format.
137. The video surveillance system of claim 130, where the video surveillance system further comprises:
- a local storage database associated with the at least one video surveillance system module and coupled to the at least one video surveillance system network for storing data created by the video analysis engine.
138. The video surveillance system of claim 130, wherein the video surveillance system module further comprises:
- a keyframe generation system to create a keyframe of a specific field of view viewed by the video surveillance camera satisfying the specified video analysis criterion.
139. The video surveillance system of claim 138, where the track further comprises a pointer to the keyframe, wherein the keyframe generation system performs the following operation: generating a keyframe satisfying the at least one specified video analysis criterion, wherein the video analysis engine performs the following operation: creating tracks in dependence on the at least one specified video analysis criterion, wherein the at least one database and application system performs the following operation: saving the keyframe and track created when the specified criterion is satisfied.
140. The video surveillance system of claim 139, wherein the video surveillance application and control interface performs the following operations: receiving a query for tracks corresponding to the specified criterion; and transmitting the query for the tracks to the at least one database and application system, wherein the at least one database and application system performs the following operations: receiving the query for tracks corresponding to the specified criterion; and locating tracks corresponding to the specified criterion, wherein the at least one database and application system performs the following operations: locating the keyframe corresponding to the specified criterion by using the tracks; and transmitting the keyframe satisfying the specified criterion to the video surveillance application and control interface.
141. The video surveillance system of claim 130, wherein the video analysis criterion corresponds to at least one of an object appearing in the video gathered by the video surveillance camera, an event appearing in video gathered by the video surveillance camera and an activity appearing in video gathered by the video surveillance camera.
142. The video surveillance system of claim 129, where the at least one database and application system further comprises:
- an alert system, wherein the alert system further comprises: an alert criterion specification system to specify an alert based on data created by the video analysis engine; and an alert action specification system to specify alert actions to be taken when the alert criterion is satisfied.
143. The video surveillance system of claim 142, where the alert criterion concerns at least one of vehicle speed and loitering activity.
144. The video surveillance system of claim 142, where the alert action comprises at least one of an e-mail issued to a video surveillance analyst and a browser page comprising alert information, where the alert information comprises at least one of a keyframe, track identifiers and a video segment capturing activity that satisfied the alert criterion.
145. The video surveillance system of claim 129, where:
- the video surveillance camera has a multiple programmable view feature, the video surveillance camera further comprising: a view programming system for programming views of the video surveillance camera; and
- the video surveillance system control interface further comprises: a video surveillance camera view programming system to program views of the video surveillance camera by interacting with the view programming system of the video surveillance camera.
146. The video surveillance system of claim 145, where the video analysis engine further comprises:
- a video surveillance camera view selection system to select a particular view of the video surveillance camera having the multiple programmable view feature and to analyze video associated with the view; and
- a track identification system for assigning a unique identifier to the track created by the video analysis engine, where the unique identifier references at least the selected view of the video surveillance camera.
147. The video surveillance system of claim 129, wherein the at least one database and application system performs the following operation:
- saving the at least one track generated when the at least one user-specified video analysis criterion is satisfied.
148. The video surveillance system of claim 147, wherein the video surveillance system application and control interface performs the following operations: receiving a query for tracks corresponding to the at least one user-specified video analysis criterion, and transmitting the query for the tracks to the at least one database and application system; wherein the at least one database and application system performs the following operations: receiving the query for the tracks corresponding to the specified criterion, and locating tracks corresponding to the at least one user-specified video analysis criterion.
Type: Application
Filed: Mar 31, 2011
Publication Date: Sep 1, 2011
Applicant: International Business Machines Corporation (Armonk, NY)
Inventors: Chiao-Fe Shu (Yorktown Heights, NY), Arun Hampapur (Norwalk, CT), Max Lu (Yorktown Heights, NY)
Application Number: 13/076,656
International Classification: H04N 7/18 (20060101);