APPARATUS AND METHODS FOR VIDEO ALARM VERIFICATION
A method for verification of alarms is disclosed. The method involves receiving an alarm signal trigger associated with an alarm signal, receiving video data from a premise associated with the alarm signal, rapidly analyzing the video data to test for the existence a significant event, and when a significant event exists, sending a representation of a segment of interest of the video data, the segment of interest being associated with the significant event, to a user.
Latest CheckVideo LLC Patents:
- ANALYTICS-MODULATED CODING OF SURVEILLANCE VIDEO
- AUTOMATED, REMOTELY-VERIFIED ALARM SYSTEM WITH INTRUSION AND VIDEO SURVEILLANCE AND DIGITAL VIDEO RECORDING
- Analytics-modulated coding of surveillance video
- ANALYTICS-MODULATED CODING OF SURVEILLANCE VIDEO
- AUTOMATED, REMOTELY-VERIFIED ALARM SYSTEM WITH INTRUSION AND VIDEO SURVEILLANCE AND DIGITAL VIDEO RECORDING
The present application is a continuation of U.S. patent application Ser. No. 14/959,595, entitled “Apparatus and Methods for Alarm Verification based on Image Analytics,” filed Dec. 4, 2015, which is a continuation of U.S. patent application Ser. No. 14/452,847, entitled “Apparatus and Methods for Encoding an Image with Different Levels of Encoding,” filed Aug. 6, 2014 (now U.S. Pat. No. 9,208,667), which is a continuation of U.S. patent application Ser. No. 12/174,225, entitled “Apparatus And Methods For Video Alarm Verification,” filed Jul. 16, 2008 (now U.S. Pat. No. 8,804,997), which claims priority to and the benefit of U.S. Provisional Patent Application No. 60/950,019, entitled “Apparatus and Methods for Video Alarm Verification,” filed Jul. 16, 2007, the disclosures of which are incorporated herein by reference in their entireties.
BACKGROUND Field of TechnologyThe present application discloses video analysis technology (described in part in U.S. Pat. No. 6,940,998 (the “'998 patent”), the disclosure of which is incorporated herein by reference) that can analyze video streams and identify content of interest based on the characteristics and motions of people and objects in the video streams.
Background of the InventionTraditional security and monitoring systems rely on various sensors to trigger an alarm condition. Because such sensors are relatively undiscerning, such systems will always suffer from false alarms. An alarm can be triggered by an authorized or benign cause, such as a motion detector being triggered by a pet or a window or door contact getting dirty. False alarms lead to frustration and wasted resources.
Although surveillance and security systems can employ motion detectors, the effective range of the motion detectors is relatively limited. This can be impractical, obtrusive or otherwise undesirable. Motion detectors with extremely high sensitivity can be used to detect motions at higher ranges; however, such detectors will be plagued by false alarms from relatively minor and benign motion at a closer range. What is needed, then, is a security system that can verify alarm conditions before alerting a user.
Current security systems send an alarm message to a central monitoring station. This alarm cannot be visually verified, and the typical response is via audio or phone communication to the alarming facility to speak with a person who can confirm or deny the alarm. This is time-consuming and burdensome, especially if the alarm is false, which is the case for a majority of alarms.
Video cameras on the monitored premise can be used for verification; however the intruder or alerting condition may have left the scene or ceased motion by the time an operator in a central monitoring station has the opportunity to view the video feed corresponding to the sensor that caused the alarm. Even if the video can be made available at the central monitoring station in time to display a significant event in progress, it is physically impractical and costly for the security service provider to deploy sufficient manpower to manually view and assess all of the alarming video streams without a way of triaging the information. An automated verification technique that lets personnel at the central station receive verified video contemporaneously with the alarm is therefore desirable. Furthermore, verified video can be used by the end-customer and other security and law enforcement personnel to proactively respond to alarm conditions.
SUMMARY OF THE INVENTIONA method for verification of alarms is disclosed. The method involves receiving an alarm signal trigger associated with an alarm event, receiving video data from a premise associated with the alarm signal, analyzing the video data to test for the existence of a significant event, and when a significant event exists, sending a representation of a segment of interest of the video data, the segment of interest being associated with the significant event, to a user or another device. The video data may be analyzed at the premise. The alarm signal trigger may be generated by analysis of the video data itself, rather than by a separate sensor or other trigger source.
Monitored premise MP can be any physical location that may be desirable to monitor, such as a residence, business, parking facility, recreation facility, perimeter (such as a fence or gate), roadway, walkway, or any portions thereof. Video cameras C can be any type of camera with any capabilities and features desired, and may be stationary or portable, be capable of imaging in the visible, infrared, ultraviolet, or other portion of the spectrum, may include tilt, sweep, and/or other motion capabilities, zoom, brightness compensation, etc. Alarm sensors S may also be of any desired type, including motion, window/door opening, glass breakage, infrared, sound, pressure, tension, magnetic, temperature, humidity, fire or smoke, or other input devices such as security keypad, card swipe, or biometric input (iris, face, finger or palm print, etc.) Cameras C and alarm sensors S may be coupled to processor P by any suitable communications link capable of carrying video data VD and/or alarm signals AS, including wired or wireless (including RF, IR, laser, Bluetooth, WiFi, etc.), and/or via a packet-switched network. Processor P can be any suitable device capable of receiving video data VD and alarm signals AS and processing those data and signals using video analytics and other suitable techniques, and generating an alert to be communicated to recipient(s) R via communications gateway G. Similarly, a communications gateway G can be any suitable device capable of interfacing with a desired communications network. The system can be used with various types of broadband data services such as broadband over power line (BPL), cable, DSL, and wireless broadband.
The video analytics capability of processor P can be used to confirm the presence or existence of anomalous or otherwise undesirable circumstances such as an intruder or a broken or open door or window at monitored premise MP. An exemplary process is illustrated in
The video analytics capability of processor P can be of any suitable type, as will be apparent to the artisan. Known video analytics techniques identify video content of interest and control responses. Given raw video data provided by video source, for example a video camera or network connection, video analytics techniques can process the video data progressively from pixels to blobs to objects to targets to behavior. For example, video data from a video source can first be received by a background subtraction filter. The background subtraction filter acts as a change detector, and can filter video data to identify pixels that have changed compared to a background. During background subtraction, pixels from the video data are treated to a first level of processing to conduct segmentation to produce a segmented image. The background can then be maintained based on a background maintenance model and updated over time, either as a whole or in part based on the degree of qualified change. A threshold or a set of thresholds can be used to qualify the sensitivity and noise rejection capability of the background subtraction filter. These thresholds can also be determined adaptively based on the content of the video identified in future filter steps.
A blob labeling filter can receive data associated with the segmented image, connect groups of adjacent pixels into a single object blob, and label them uniquely. Blobs can be generated using the method described in the '998 patent. Noise blobs and other blobs of interest can be identified, effectively segmenting changes from the background. The blob labeling filter can produce a list of blobs and their properties, including geometric properties and appearance properties.
Subsequently, objects can be correlated over consecutive frames of video data to identify targets, which are simply objects that exist over multiple frames. This results from tracking over the course of consecutive frames. Tracking is the process of assigning correspondences between objects from frame to frame, analyzing blob properties over time and determining a correlation between blobs across frames to identify targets. Once blobs have been correlated over multiple frames, trajectories or tracks for those blobs can be calculated.
Targets can then be classified into different classes of interest. Classification can perform additional analysis on the target and compute a confidence of the target being a member of one of several classes, such as persons, vehicles, packages, noise blobs, etc.
Video analytics such as those described above can make use of the efficient video analytics described in the incorporated '998 patent that can be run on relatively simple and inexpensive hardware, such as a personal computer and an associated off-the-shelf operating system, or other techniques known to the artisan. Such video analytics can be implemented in processor P in software running on a general purpose processor, in firmware, on an application-specific integrated circuit (ASIC), etc.
Many variations on, and specific implementations of, the broad concepts discussed above are possible. Analysis of video data VD generated by camera(s) C can take place in any one or more of a variety of physical locations. For example, rather than being located at the monitored premise MP, the video analytics capability can be located at a central station, at a network analysis server, and/or distributed at multiple sites according to processing capabilities.
Each camera C can include integrated video analytics capability. This provides several additional options. For example, each camera C can analyze its own video data VD and determine that an alarm condition exists, and thus generate an alarm signal AS as well as video data VD. Thus, a camera C disposed to view a window at the monitored premise MP. Camera C can continually analyze the video data VD that it produces, and determine that the window has been opened, and/or that an object has passed through the window, and/or that such object is a person. Depending on the parameters provided to the analytics on the camera C, an alarm signal may be generated on any or all of these conditions. The capabilities of processor P may be included within camera C, such that camera C can essentially confirm its own alarm signal, generate an alert, and forward the alert to gateway G for transmission to recipient R. Further, the capabilities of gateway G may also be integrated into camera C, so that camera C is fully self-sufficient to generate and send alerts based solely on its own analysis of its own video data.
As a further variation, camera C may be operatively coupled directly to one or more alarm sensors S. Camera C may be activated by an alarm signal AS received from alarm sensor S, to begin analysis of its own video data, and/or to begin transmitting video data VD to other devices, such as processor P. Camera C may use alarm signal AS as an input to its own analysis of its own video data, e.g. to confirm the results using video analysis that a window has been opened.
The components of the system shown in
In practice, the embodiment of
As illustrated in
Analysis of video data VD can be conducted sequentially or hierarchically to verify and classify an alarm event and to determine the appropriate action to take in response. Analysis can be conducted according to a process flow based on a user defined profile (described in more detail below). For example, as illustrated in
In the embodiment illustrated in
In some embodiments, the process flow that defines hierarchical video analysis can be made to depend upon the nature of a trigger event, the time at which it is received, the frequency and/or distribution of trigger events during a particular time window, the zone in which the trigger event occurs, or other environmental, temporal, or situational factors.
Analysis of video data VD and alarm signal(s) AS can be based on many inputs and parameters. For example, a user of the system can specify a user profile to determine what anomalous or noteworthy content or events to confirm. The response alert scheme can be made to depend on different times of day, days of the week, or holidays. A profile can contain properties or parameters for various aspects of the system and rules that govern system functions based on these properties. The system can use any combination of sensors and inputs as a part of the criteria used by the user defined profile to specify how video content is treated, encoded and/or transmitted. Users can define multiple profiles for different circumstances and times. Additionally, different combinations of alerts can be programmed into a profile for different time segments, for example throughout a 24-hour period, week, month, or year, giving users the flexibility to easily customize their service to suit specific lifestyle patterns and needs.
For example, as illustrated in
Optionally, the alarm verification system can perform further analysis. As illustrated in
As illustrated in
As further illustrated in
User profiles can also be used to specify dissemination rules governing how alerts are disseminated to users and devices. A dissemination rule provides a mapping between an event or multiple events and actions resulting from these events. As
Profiles can also be defined according to a schedule. Scheduling rules specify a mapping between the date, time and properties. As is illustrated in
Profiles can also define the response that is desired upon the occurrence of a particular verified alarm. As illustrated in
Further, the user-defined profile can specify various alert priorities, for example, based upon different alert conditions. The alert priorities can have different associated levels and modes of alert. For example, for a critical alert a user can specify that the user would like to be notified by a voice call to his or her cell phone. The call can contain a recorded message alerting the user of the associated alert condition. Another level of alert priority can be associated with a different level of notification, for example, an email or a text message. Additionally, the user profile can specify that a selected segment of video associated with the alert condition be downloaded automatically to the user's mobile device.
For example, a user can specify that in the case of an unexpected vehicle parking in the driveway, the selected segment will be sent from the analytics processor to a central server. The central server can then, according to the user defined profile, send an instruction to the user's mobile device, for example, a cell phone, personal digital assistant, smart phone or a laptop computer, to download the selected segment and simultaneously notify the user. The central server can encode the selected segment in order to facilitate transmission to low bandwidth devices, for example, over wireless networks. The user's end device can be configured to decode and play back the selected segment. Additionally, based on video analytics, specific parts of the image that correspond to the verified alarm condition may be encoded at a higher bit rate and/or quality of encoding.
Different groups may be created, each with a particular associated profile. As illustrated in
As illustrated in
Referring to the embodiment shown in
In related embodiments, a camera can be facing a door, for example a front or back door of a residence in order to monitor household traffic. In this embodiment, a user can be alerted, for example, as soon as a person approaches within a specified distance from the monitored door. In conjunction with a door contact sensor, the system can allow the user to confirm when a person opens a monitored door, for example to know as soon as a child comes home from school, and to receive an alert if the entry is unauthorized.
In an alternative embodiment, a motion detector along with an appropriate user-defined profile can leverage the ability of video analytics to sense “ghosting”. Such embodiments can be used to cause an alert to be sent when an object is removed from a defined monitored area. In this sort of embodiment, a motion detector or other sensor and camera can overwatch a home office, artwork, office safe, or other valuables. The system can analyze the collected, associated video signal to confirm an alert condition and alert a user, according to a user profile, when valuables are removed from their usual locations.
Video segments can be sent, either directly from the monitored premises or relayed from an intermediate central server, to recipients in encoded, un-encoded, compressed, uncompressed or another format, depending on the capabilities of the recipient and the need for quality in the transmitted video. Portions of video corresponding to times immediately before and after the alarm trigger can also be sent. In embodiments, upon the verification of an alarm, alerts, with or without video excerpts, can be sent to other parties, such neighbors or relatives. These variable are controlled by the dissemination rules contained in a user profile.
The disclosed technology can also be used, in embodiments, to detect and alert a user to wrong-way motion.
Claims
1. A non-transitory processor-readable medium storing code representing instructions to be executed by a processor, the code comprising code to cause the processor to:
- receive from a sensor an indication of an event at a monitored premise having a predetermined zone;
- analyze image data associated with the monitored premise (1) based on a user-defined profile to identify an object associated with the event, and (2) to identify the predetermined zone in which the object is located; and
- send to a recipient an indication of an alarm event when the zone from which the object is located does not meet a zone authorization criterion assigned to the identity of the object and defined by the user-defined profile.
2. The non-transitory processor-readable medium of claim 1, the code further comprising code to cause the processor to identify a time associated with the event,
- the code to cause the processor to send includes code to cause the processor to send to the recipient the indication of the alarm event when the time associated with the event does not meet a time authorization criterion assigned to the identity of the object and defined by the user-defined profile.
3. The non-transitory processor-readable medium of claim 1, wherein the code to cause the processor to analyze the image data includes code to cause the processor to analyze the image data in response to the indication of the event.
4. The non-transitory processor-readable medium of claim 1, wherein the object is a first object, the code further comprising code to cause the processor to send to the recipient the indication of the alarm event when a second object is identified from the image data.
5. The non-transitory processor-readable medium of claim 1, wherein the object is a first object, the indication of the event is associated with a user-request for access to a portion of the monitored premise, the user-request generated during a first time period, the image data is first image data and is generated during the first time period, the code further comprising code to cause the processor to:
- analyze second image data associated with the monitored premise and generated during a second time period after the first time period, and
- send a signal representing approval of the user-request for access when the second image data does not include an indication of a second object.
6. The non-transitory processor-readable medium of claim 1, wherein the object is a person, the user-defined profile includes parameters associated with an authorization level of the person based at least in part on an event type, a schedule associated with an event, a time of a day, a day of a week, a day of a month, or a time period.
7. The non-transitory processor-readable medium of claim 1, wherein the sensor is at least one of a contact sensor, a biometric sensor, a magnetic sensor, an infrared sensor, an image sensor, or an audio sensor.
8. The non-transitory processor-readable medium of claim 1, wherein the indication of the event is generated at the sensor based on a user input,
- the code to cause the processor to analyze including code to cause the processor to analyze the image data to match the identity of the object with the user input.
9. The non-transitory processor-readable medium of claim 1, the code further comprising code to cause the processor to:
- send a signal representing instructions to engage or disengage a security mechanism at the monitored premise.
10. The non-transitory processor-readable medium of claim 1,
- the code further comprising code to cause the processor to: send, at a first time, a signal representing instructions to engage a security mechanism at the monitored premise; receive at a second time after the first time instructions to disengage the security mechanism at the monitored premise; send at a third time after the second time a signal representing instructions to disengage the security mechanism at the monitored premise in accordance with the instructions received at the second time.
11. The non-transitory processor-readable medium of claim 1, wherein the sensor is a first sensor and the event is a first event, the code further comprising code to cause the processor to:
- receive from a second sensor an indication of a second event at the monitored premise;
- send to the recipient the indication of the alarm event based on the indication of the first event and the indication of the second event.
12. The non-transitory processor-readable medium of claim 1, the code further comprising code to cause the processor to:
- analyze at least one of (1) the indication of the event, or (2) the image data, based on the user-defined profile, to determine an event type,
- the code to cause the processor to analyze the image data includes code to cause the processor to analyze the image data at a first server when the event type matches a first event type,
- the code to cause the processor to analyze the image data includes code to cause the processor to analyze the image data at a second server when the event type matches a second event type, the second server being different from the first server.
13. The non-transitory processor-readable medium of claim 1, wherein the sensor is a first sensor, the event is a first event, and the image data is first image data,
- the code to cause the processor to analyze includes code to cause the processor to analyze the first image data at a first server, the code further comprising code to cause the processor to:
- receive from a second sensor an indication of a second event at the monitored premise;
- analyze second image data (1) associated with the second sensor and the monitored premise, and (2) at a second server separate from the first server.
14. The non-transitory processor-readable medium of claim 1, the code further comprising code to cause the processor to:
- send a signal representing an audio message to a device when the predetermined zone in which the object is located does not meet the zone authorization criterion assigned to the identity of the object.
15. The non-transitory processor-readable medium of claim 1, wherein the code to cause the processor to send to the recipient the indication of the alarm event includes code to cause the processor to send to the recipient the indication of the alarm event when the identity of the object does not meet a predefined object authorization criterion.
16. The non-transitory processor-readable medium of claim 1, wherein the alarm event is a first alarm event and the image data is first image data,
- the code to cause the processor to analyze the first image data includes code to cause the processor to analyze the first image data at a first time, the code further comprising code to cause the processor to:
- analyze, at a second time after the first time, second image data associated with the monitored premise to identify the object and whether the object is located in the predetermined zone; and
- send an indication of a second alarm event when according to the second image data the object is not located in the predetermined zone in which the object is located according to the first image data.
17. A system, comprising:
- an analytics module implemented in at least one of a memory or a processor device, the analytics module configured to receive from a first sensor an indication of a first event, the first event associated with a predefined first zone at a monitored premise, the analytics module configured to receive from a second sensor an indication of a second event, the second event associated with a predefined second zone at the monitored premise, the second zone being different from the first zone; and
- an alert module operatively coupled to the analytics module, the alert module configured to send an indication of an alarm event when the first event occurs before the second event.
18. The system of claim 17, wherein the first sensor is the second sensor, the second sensor being an image capture device.
19. The system of claim 17, wherein the analytics module is configured to analyze first image data associated with the first event to identify a first object, the analytics module configured to analyze second image data different from the first image data and associated with the second event to identify a second object,
- the alert module configured to send the indication of the alarm event when the first object matches the second object.
Type: Application
Filed: Mar 16, 2018
Publication Date: Feb 28, 2019
Applicant: CheckVideo LLC (Falls Church, VA)
Inventors: Nikhil GAGVANI (Potomac Falls, VA), Philip Allen ROBERTSON (Leesburg, VA)
Application Number: 15/923,788