System and method for identifying events in a video stream
Events may be identified in a video stream using a first video analytics algorithm and the identified events may be validated using a second video analytics algorithm that is more comprehensive than the first video analytics algorithm. The event as identified by the first video analytics algorithm may be reported when the identified event is validated by the second video analytics algorithm.
1 . A method for identifying events in a video stream, the method comprising:
processing the video stream using a first video analytics algorithm to identify a candidate event in the video stream;
extracting one or more images from the video stream that represent the candidate event;
processing the one or more images extracted from the video stream that represent the candidate event using a second video analytics algorithm which is more computationally intensive than the first video analytics algorithm to validate the candidate event identified by the first video analytics algorithm, wherein the second video analytics algorithm identifies an event in the one or more images extracted from the video stream, and includes a Visual Transformer Large Language Model (ViTLLM) that outputs a textual description of the event identified by the second video analytics algorithm;
determining whether the event identified by the second video analytics algorithm matches the candidate event as determined by the first video analytics algorithm;
reporting the candidate event to a monitoring station if the event identified by the second video analytics algorithm matches the candidate event as determined by the first video analytics algorithm; and
not reporting the candidate event to the monitoring station if the event identified by the second video analytics algorithm does not match the candidate event as determined by the first video analytics algorithm.
2 . The method of claim 1 , wherein:
an edge device processing the video stream using the first video analytics algorithm to identify the candidate event in the video stream; and
a server processing the one or more images extracted from the video stream that represent the candidate event using the second video analytics algorithm to validate the candidate event identified by the first video analytics algorithm.
3 . The method of claim 1 , wherein the one or more images from the video stream that represent the candidate event comprises a cropped image from a video frame of the video stream that represent the candidate event.
4 . The method of claim 1 , wherein the one or more images from the video stream that represent the candidate event comprises a video clip.
5 . The method of claim 1 , wherein the first video analytics algorithm comprises one or more object detection algorithms, object tracking algorithms, or object classification algorithms.
6 . The method of claim 5 , wherein the one or more object detection and/or object tracking algorithms comprise one or more of an object detection algorithm, an intrusion detection algorithm, a loitering detection algorithm, an abandoned object detection algorithm and an object tracking algorithm.
7 . The method of claim 6 , wherein the first video analytics algorithm identifies the candidate event in the video stream and the candidate event type based at least in part on an output from one or more of the one or more object detection and/or tracking algorithms of the first video analytics algorithm.
8 . The method of claim 1 , wherein the first video analytics algorithm outputs a text description of the candidate event, and wherein determining whether the event identified by the second video analytics algorithm matches the candidate event determined by the first video analytics algorithm comprises comparing the text description of the candidate event output by the first video analytics algorithm with the textual description of the event identified by the second video analytics algorithm output by the ViTLLM.
9 . The method of claim 8 , wherein comparing the text description of the candidate event output by the first video analytics algorithm with the textual description of the event identified by the second video analytics algorithm output by the ViTLLM model comprises detecting one or more keywords in the text description of the candidate event and/or in the textual description of the event identified by the second video analytics algorithm.
10 . The method of claim 1 , further comprising: if the event identified by the second video analytics algorithm does not match the candidate event determined by the first video analytics algorithm, training the first video analytics algorithm using the event identified by the second video analytics algorithm.
11 . A system comprising:
one or more memories for storing a first video analytics algorithm and a second video analytics algorithm, wherein the second video analytics algorithm is more computationally intensive than the first video analytics algorithm;
one or more controllers operatively coupled to the one or more memories, the one or more controllers configured to:
receive a video stream;
process the video stream using the first video analytics algorithm to identify a candidate event in the video stream;
extract one or more images from the video stream that represent the candidate event;
process the one or more images extracted from the video stream that represent the candidate event using the second video analytics algorithm to validate the candidate event identified by the first video analytics algorithm, wherein the second video analytics algorithm identifies an event in the one or more images extracted from the video stream, and includes a Visual Transformer Large Language Model (ViTLLM) that outputs a textual description of the event identified by the second video analytics algorithm;
determine whether the event identified by the second video analytics algorithm matches the candidate event as determined by the first video analytics algorithm;
report the candidate event if the event identified by the second video analytics algorithm matches the candidate event as determined by the first video analytics algorithm; and
not report the candidate event if the event identified by the second video analytics algorithm does not match the candidate event as determined by the first video analytics algorithm.
12 . A method for identifying events in a video stream, the method comprising:
identifying an event in a video stream using a first video analytics algorithm;
validating the identified event in the video stream using a second video analytics algorithm, wherein the second video analytics algorithm is more comprehensive than the first video analytics algorithm, and includes a Visual Transformer Large Language Model (ViTLLM) that outputs a textual description of an event identified by the second video analytics algorithm;
reporting the event as identified by the first video analytics algorithm when the identified event is validated by the second video analytics algorithm; and
not reporting the event as identified by the first video analytics algorithm when the identified event is not validated by the second video analytics algorithm.