METHOD AND SYSTEM FOR ANONYMOUS VIDEO ANALYTICS PROCESSING
A method includes receiving, at a peer node, statistical data based on video data and relating to the video data, but other than a video content and an image content of the video data. In particular, the peer node is other than within a trusted group of nodes trusted for accessing the video data. At the peer node, the statistical data is analyzed to identify predetermined patterns therein. Upon identifying a predetermined pattern, a signal is provided to a trusted processor relating to the identified pattern.
This application is a continuation of U.S. patent application Ser. No. 13/956,697 filed Aug. 1, 2013. U.S. patent application Ser. No. 13/956,697 claims the benefit of U.S. Provisional Application No. 61/678,993 filed Aug. 2, 2012. The entire contents of U.S. Provisional Application No. 61/678,993 and U.S. patent application Ser. No. 13/956,697 are incorporated herein by reference.
FIELD OF THE INVENTIONThe invention relates generally to video analytics and more particularly to video analytics in the absence of video data.
BACKGROUNDIn the art of video analytics, video frames are analyzed and compared in order to detect objects or events therein. Many researchers are working on different methods of extracting objects and events from video data. For example, extracting an object and tracking its motion is currently heavily studied. Another area that has found considerable interest is face extraction and analysis. As analysis methodologies improve, they become more effective. In time, they will likely gain in efficiency as well. That said, analysis requires considerable processing power and is therefore most commonly performed on a dedicated high performance system.
Another area garnering considerable attention is massively parallel processing. In massively parallel processing a same problem is distributed amongst a very large number of computer systems. For example, to break an encrypted message, different keys are provided to each of a large number of systems to “test” on the message. When a suitable decrypted message results it is passed to another system for review. As such, instead of serializing a brute force attack, the attack is highly parallelized. With 100,000,000 computers it is possible to test 100,000,000 keys at once being approximately 26 bits. Thus, a 40 bit key is reduced to the efficacy of a 14 bit key. As is evident from this example, there is considerable power in numbers especially for easily parallelized operations.
Another reason massively parallel computing is of interest is because most computer systems today are idle much of the time. Using up an idle resource is better than acquiring more resources for a same problem.
Unfortunately, massively parallel processing is ill suited to video analytics, not for technical reasons, but for privacy reasons. People do not want their video data to be publicly available as it would be in a massively parallel approach to video analytics. For example, a processor that is idle could analyze movement in a home based on video data, but that would allow that system, and potentially others, to view the hallway and what happens there. This is unlikely to be acceptable to everyone.
It would be advantageous to provide a method of video analytics that retains privacy of the video data and that is suitable to massively parallel application or to distributed processing on peer computers.
SUMMARY OF EMBODIMENTS OF THE INVENTIONAccording to an aspect of an embodiment of the invention there is provided a method comprising: receiving at a peer node statistical data based on video data and relating to the video data but other than a video content and an image content of the video data, the peer node other than within a trusted group of nodes trusted for accessing the video data; at the peer node, analyzing the statistical data to identify predetermined patterns therein; and, upon identifying a predetermined pattern, providing a first signal to a trusted processor relating to the identified pattern.
According to an aspect of an embodiment of the invention there is provided a method comprising: capturing video information at a transducer to provide video data; providing the video data to a server in communication with the transducer; providing statistical data to a peer node, the statistical data based on video data and relating to the video data but other than a video content and an image content of the video data, the peer node other than within a trusted group of nodes trusted for accessing the video data; at the peer node, analyzing the statistical data to identify predetermined patterns therein; upon identifying a predetermined pattern, providing a signal to the server relating to the identified pattern; and, processing the video data relating to the identified pattern by the server to determine an occurrence identifiable by video analytics.
According to an aspect of an embodiment of the invention there is provided a method comprising: receiving video data at a server; determining statistical data, the statistical data based on the video data and relating to the video data but other than a video content and an image content of the video data; providing the statistical data to a peer node, the peer node other than within a trusted group of nodes trusted for accessing the video data; at the peer node, analyzing the statistical data to identify predetermined patterns therein; upon identifying a predetermined pattern, providing a signal to the server relating to the identified pattern; and, processing the video data relating to the identified pattern by the server to determine an occurrence identifiable by video analytics.
According to an aspect of an embodiment of the invention there is provided a system comprising: a plurality of video cameras coupled together via a wide area network; at least a trusted server for receiving video data from the plurality of video cameras; a plurality of peer nodes in communication with the wide area network and for receiving statistical data, the statistical data based on video data and relating to the video data but other than a video content and an image content of the video data; and at least a processor for determining the statistical data, for directing the statistical data to peer nodes and for directing the video data from each of the plurality of video cameras to at least one of the at least a trusted server via the wide area network.
According to an aspect of an embodiment of the invention there is provided a method comprising: receiving video data from a source of video data; applying a transformation to the video data, the transformation being one of a numerical transformation and a geometrical transformation for resulting in irreversibly transformed video data; providing the irreversibly transformed video data to a peer system; at the peer system, analyzing the irreversibly transformed video data to identify predetermined patterns indicative of potential occurrences of events of interest within the video data; upon identifying a predetermined pattern, providing a first signal relating to the identified predetermined pattern from the peer system to a trusted processor.
According to an aspect of an embodiment of the invention there is provided a method comprising: receiving video data from a source of video data, the video data received in electronic form; extracting numerical descriptors of visual content from the video content; providing the extracted numerical descriptors to a peer system; at the peer system, analyzing the numerical descriptors to identify predetermined patterns indicative of potential occurrences of events of interest within the video data; and upon identifying a predetermined pattern, providing a first signal relating to the identified pattern from the peer system to a trusted processor.
The following description is presented to enable a person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments disclosed, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Referring to
Referring to
Referring now to
The data that is determined by the processor 304 is provided to the server 308 via the wide area network. The server 308 analyzes the data to find specific statistical flags therein. When a statistical flag is found, then a further action is performed. For instance, the processor 304 performs additional processing of the video data, or the processor 304 provides the video data to the server 308 for additional processing.
Optionally, the server 308 receives the data that is determined by the processor 304, and then subsequently redirects the data to a plurality of peer systems 310a-310c. In this optional implementation, the peer systems 310a-310c analyze the data to find specific statistical flags therein. When a statistical flag is found, then a further action is performed. For instance, the processor 304 or the server 308 receives a notification that a statistical flag has been found, and either the processor 304 performs additional processing of the video data, or the processor 304 provides the video data to the server 308 for additional processing.
Referring now to
The statistical data described is easily extracted from a video data stream. That said, other forms of statistical data that are either more or less processor intensive are also supported recognizing that the off loaded portion of the processing—searching—is often a processing portion that is time consuming since it is done over and over again. For example video data stream changes are statistical in nature, such as repeat period when one exists, interframe change, inter—P—frame changes, and so forth. Alternatively, more processing intensive methodologies are employed wherein transforms of video stream data or of video frame data are provided for further analysis by the other system.
Referring to
At 504 the mathematical data is directed to another system for correlative processing. For example, at 506 a peer computer is used to correlate the mathematical data against known patterns in order to flag some of the patterns. Optionally, the peer system does not know what a specific pattern correlates with, thereby improving overall privacy. Further optionally, the mathematical data is anonymous in nature such that the peer system does not know its exact origins.
Optionally, according to the method that is shown in
When a pattern is detected, then at 512 the trusted system once notified processes the video data relating to the extracted pattern or, alternatively, provides the data to another trusted processor for processing thereof
Referring to
At 604 the mathematical data is directed to a plurality of peer systems for correlative processing. For example, peer computers are used to correlate the mathematical data against known patterns in order flag some of the patterns. Optionally, the peer systems do not know what a specific pattern correlates with, thereby improving overall privacy. Further optionally, the mathematical data is anonymous in nature such that the peer systems do not know its exact origins.
Advantageously, as shown in
When a pattern is detected at 608, the trusted system is notified at 610 and processes the video data at 612 based on detection of a plurality of patterns either by a same node, or as shown, by each of a plurality of different nodes. Though two nodes are shown each for analyzing based on different patterns, optionally some processes will be triggered by detection of three or more patterns at three or more peer nodes.
The data then processed by the trusted processor or by another trusted processor relates to the extracted patterns or is identified based on which patterns are extracted.
A method according to an alternative embodiment of the invention includes receiving video data from a source of video data. In particular, the video data is received at a system that is trusted for accessing the video data, such as a central server system. By way of a few specific and non-limiting examples, the video data is received from a video capture device such as a network camera; alternatively, the video data is previously captured video data received from a data storage device. The trusted system applies an irreversible transformation to the video data, rendering visual content of the video data unintelligible by a human. The irreversible transformation that is applied to the video data is one of a numerical transformation and a geometrical transformation, a specific and non-limiting example being the local binary pattern (LBP). Alternatively, an obfuscating reversible transformation is applied, for example one requiring a key, maintaining security and privacy while retaining the irreversibility of the transformed data in the absence of the key resulting in irreversibly transformed video data so long as the key is not provided to a recipient thereof
The irreversibly transformed video data is provided from the trusted system to a peer system, the peer system typically being other than within a trusted group of systems trusted for accessing the video data. At the peer system, the irreversibly transformed video data is analyzed to identify predetermined patterns, which are indicative of occurrences of predetermined events of interest within the video data. Upon identifying a predetermined pattern, the peer system provides a signal to the trusted system or to another system relating to the identified pattern. Alternatively, in some cases the peer system requests the video data or a key for accessing the video data and is provided same upon indicating a presence of a known pattern.
Optionally, the peer system does not know what a specific pattern correlates with, thereby improving overall privacy. Further optionally, the irreversibly transformed video data are anonymous in nature such that the peer system does not know the exact origins of the original video data.
A method according to another alternative embodiment of the invention includes receiving video data from a source of video data. In particular, the video data is received at a system that is trusted for accessing the video data, such as a central server system. By way of a few specific and non-limiting examples, the video data is received from a video capture device such as a network camera, or alternatively the video data is previously captured video data received from a data storage device. The trusted system extracts numerical descriptors of visual content from the video content. In particular, the extracted numerical descriptors are other than useful for reconstructing the original video data, but at the same time pattern recognition techniques may be applied to the numerical descriptors.
The extracted numerical descriptors are provided from the trusted system to a peer system, the peer system being other than within a trusted group of systems trusted for accessing the video data. At the peer system, the extracted numerical descriptors are analyzed to identify predetermined patterns, which are indicative of occurrences of predetermined events of interest within the video data. Upon identifying a predetermined pattern, the peer system provides a signal to the trusted system or to another system relating to the identified pattern.
Optionally, the peer system does not know what a specific pattern correlates with, thereby improving overall privacy. Further optionally, the numerical descriptors are anonymous in nature such that the peer system does not know the exact origins of the original video data.
The embodiments presented are exemplary only and persons skilled in the art would appreciate that variations to the embodiments described above may be made without departing from the scope of the invention, which is solely defined by the appended claims.
Claims
1. A method comprising:
- receiving at a peer node statistical data based on video data and relating to the video data but other than a video content and an image content of the video data, the peer node other than within a trusted group of nodes trusted for accessing the video data;
- at the peer node, analyzing the statistical data to identify predetermined patterns therein; and,
- upon identifying a predetermined pattern, providing a first signal to a trusted processor relating to the identified pattern.
2. A method according to claim 1 comprising:
- determining, based on the video data, the statistical data relating to the video data but other than a video content and an image content of the video data; and,
- providing the statistical data to the peer node, the peer node within a network and other than within a trusted group of nodes trusted for accessing the video data.
3. A method according to claim 1 comprising:
- receiving at a second other peer node second statistical data based on second video data and relating to the second video data but other than a video content and an image content of the second video data, the second peer node other than within a second trusted group of nodes trusted for accessing the second video data;
- at the second other peer node, analyzing the second statistical data to identify predetermined patterns therein; and,
- upon identifying a predetermined pattern, providing a second signal to the trusted processor relating to the identified pattern.
4. A method according to claim 1 wherein;
- a plurality of video sources each provide statistical data to each of a plurality of peer nodes and wherein said video sources also provide video data to the trusted processor.
5. A method according to claim 4 wherein upon receiving one of the first signal and the second signal, the trusted processor processes a respective one of the first video data and the second video data relating to the identified pattern to determine an occurrence of a known event.
6. A method according to claim 5 comprising:
- when the occurrence of the known event is determined, initiating a further action.
7. A method according to claim 1 wherein the statistical data is other than usable for determining the one of the video content and the image content of the video data.
8. A method comprising:
- capturing video information at a transducer to provide video data;
- providing the video data to a server in communication with the transducer;
- providing statistical data to a peer node, the statistical data based on video data and
- relating to the video data but other than a video content and an image content of the video data, the peer node other than within a trusted group of nodes trusted for accessing the video data;
- at the peer node, analyzing the statistical data to identify predetermined patterns therein;
- upon identifying a predetermined pattern, providing a signal to the server relating to the identified pattern; and,
- processing the video data relating to the identified pattern by the server to determine an occurrence identifiable by video analytics.
9. A method according to claim 8 wherein from the statistical data the peer node is unable to reformulate the video data in a visually representative form.
10. A method according to claim 8 wherein the peer node is one of a plurality of peer nodes and wherein statistical data provided to each of the plurality of peer nodes is same statistical data.
11. A method according to claim 8 wherein the peer node is one of a plurality of peer nodes and wherein statistical data provided to each of the plurality of peer nodes is different statistical data.
12. A method according to claim 8 wherein the statistical data is other than usable for determining the one of the video content and the image content of the video data.
13. A method comprising:
- receiving video data from a source of video data;
- applying a transformation to the video data, the transformation being one of a numerical transformation and a geometrical transformation for resulting in irreversibly transformed video data;
- providing the irreversibly transformed video data to a peer system;
- at the peer system, analyzing the irreversibly transformed video data to identify predetermined patterns indicative of potential occurrences of events of interest within the video data;
- upon identifying a predetermined pattern, providing a first signal relating to the identified predetermined pattern from the peer system to a trusted processor.
14. The method according to claim 13 wherein the transformation comprises an irreversible transformation to the video data.
15. The method according to claim 14 wherein the applied irreversible transformation renders visual content of the video data unintelligible to a human when displayed.
16. The method according to claim 13 wherein the peer system is other than within a trusted group of systems trusted for accessing the video data.
17. The method according to claim 13 wherein the irreversibly transformed video data is other than usable for determining either one of video content and image content of the video data.
Type: Application
Filed: May 16, 2017
Publication Date: Sep 7, 2017
Inventors: Charles BLACK (Gatineau), Jason PHILLIPS (Lower Sackville), Robert LAGANIERE (Gatineau), Pascal BLAIS (Ottawa)
Application Number: 15/596,271