IP Library › Granted Patent US 12,731,400
Granted Patent B2
US 12,731,400 · App. 19/037,468 · Granted Sep 8, 2026

Video surveillance system with comprehensive event detection

Inventors: Nathaniel Paul Lee (San Francisco, CA); Amrish Sushil Kapoor (Belmont, CA); Dunchadhn Hanley Broer Lyons (Durham, NC); Cameron Akhavan (Los Angeles, CA); Kevin Tajeran (Roseville, CA); Jordan Hart (Jupiter, FL); Douglas Rogers (Tucker, GA); Lisa Marie Carlson Heile (Cupertino, CA)
Assignee: SPOT AI, INC.
G06V20/44G06V10/7715G06V20/52
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,731,400
App. No.
19/037,468
Granted
Sep 8, 2026
Kind
B2
Abstract

Methods, systems, and computer programs are presented for detecting events based on video surveillance data and performing automated actions in response to detecting the events. The video surveillance system analyzes video data to detect events. The video is analyzed to detect objects within the video frames, and the objects may include, but are not limited to, people, animals, vehicles, tools, weapons, etc. The system identifies object attributes, such as appearance or movement, which may be used for event search and analysis. The system determines the object locations and calculates relationships between the objects. The triggers for the events are actuated based on the detected objects, such as presence of an object, relationships among the objects, movement of the objects, etc. The actions configured for the events are performed in response to the triggering. The system provides a user interface for defining event parameters, such as camera selection, triggers, and actions.

Claims (62)

1 . A computer-implemented method comprising:

causing presentation of a user interface (UI) comprising options to select an event template from a plurality of event templates for creating agents to detect events, each event template being a pre-configured agent for detecting an occurrence of an event, each event template being a pre-configured agent for detecting an occurrence of an event with configurable parameters that determine a trigger for an occurrence of the event and one or more actions to perform when the event is triggered, the agent being a program that determines if the trigger is activated to determine that the event has occurred;

causing presentation on the UI of options, based on the selected event template, for defining the configurable parameters of the selected event template that determine the trigger for the occurrence of the event and the one or more actions, the UI providing options to select a trigger filter from a plurality of filter options comprising zone, person or car, object presence, object absence, objects overlapping, objects spatial relationship, and object count, the UI options further comprising an option to select one or more cameras from a plurality of cameras;

creating the agent based on the selected event template and the selected trigger filter; and

ongoing monitoring, by the agent, video data from one or more cameras to determine an activation of the trigger for the occurrence of the event in a zone based on the trigger filter applied to the video data, the zone being an area that has been delineated by a user within view of the one or more cameras, wherein ongoing monitoring the video data comprises:

detecting objects within one or more frames in the video data;

determining values of the trigger filter based on the detected objects in the one or more frames;

determining that the trigger has been activated based on the values of the trigger filter;

determining the occurrence of the event in response to the trigger being activated; and

performing the one or more actions configured for the selected event template in response to the determining the occurrence of the event.

2 . The method as recited in claim 1 , the configurable parameters of the event comprising camera selection, the trigger or combination of triggers, and the one or more actions.

3 . The method as recited in claim 2 , wherein the configurable parameters of the event further comprise a value for a severity of the event, wherein determining that the trigger has been activated further comprises:

determining that the value of the severity exceeds a predetermined threshold.

4 . The method as recited in claim 2 , wherein the plurality of event templates further comprises crowding, person of interest, fence jumping, forklift near miss, vehicle near miss, tailgating, loitering, and possible fall.

5 . The method as recited in claim 1 , wherein the options for defining the configurable parameters that determine the occurrence of the event comprise people, animals, vehicles, tools, and weapons.

6 . The method as recited in claim 1 , wherein detecting the objects further comprises:

identifying object attributes selected from a group comprising person identity, color, position, vehicle type, and license plate; and

identifying movement of the object based on a plurality of frames.

7 . The method as recited in claim 1 , wherein the trigger comprises two or more conditions comprising a first condition associated with a relationship between locations of a detected person and a detected machine in a warehouse and a second condition associated with the machine moving closer to the person.

8 . The method as recited in claim 7 , wherein the UI provides options for defining the relationship between the locations of two detected objects comprising overlapping, directional relationship of one object with reference to another object, and distance between objects.

9 . The method as recited in claim 1 , further comprising:

identifying features of the detected objects; and

storing the features in a table.

10 . The method as recited in claim 9 , further comprising:

providing a UI for searching events based on the features stored in the table, the UI providing filtering options comprising time, event name, location, camera, and event severity.

11 . The method as recited in claim 1 , wherein each camera is in communication with an intelligent video recorder (IVR) that transmits the video data to a server, wherein the IVR includes a machine-learning (ML) model for detecting the objects.

12 . The method as recited in claim 1 , wherein the trigger comprises a filter based on an external-data condition based on data provided by an external device.

13 . The method as recited in claim 12 , wherein the external device is a badging device controlling access to the zone.

14 . A system comprising:

a memory comprising instructions; and

one or more computer processors, the instructions, when executed by the one or more computer processors, causing the system to perform operations comprising:

causing presentation of a user interface (UI) comprising options to select an event template from a plurality of event templates for creating agents to detect events, each event template being a pre-configured agent for detecting an occurrence of an event, each event template being a pre-configured agent for detecting an occurrence of an event with configurable parameters that determine a trigger for an occurrence of the event and one or more actions to perform when the event is triggered, the agent being a program that determines if the trigger is activated to determine that the event has occurred;

causing presentation on the UI of options, based on the selected event template, for defining the configurable parameters of the selected event template that determine the trigger for the occurrence of the event and the one or more actions, the UI providing options to select a trigger filter from a plurality of filter options comprising zone, person or car, object presence, object absence, objects overlapping, objects spatial relationship, and object count, the UI options further comprising an option to select one or more cameras from a plurality of cameras;

creating the agent based on the selected event template and the selected trigger filter; and

ongoing monitoring, by the agent, video data from one or more cameras to determine an activation of the trigger for the occurrence of the event in a zone based on the trigger filter applied to the video data, the zone being an area that has been delineated by a user within view of the one or more cameras, wherein ongoing monitoring the video data comprises:

detecting objects within one or more frames in the video data;

determining values of the trigger filter based on the detected objects in the one or more frames;

determining that the trigger has been activated based on the values of the trigger filter;

determining the occurrence of the event in response to the trigger being activated; and

performing the one or more actions configured for the selected event template in response to the determining the occurrence of the event.

15 . The system as recited in claim 14 , the configurable parameters of the event comprising camera selection, the trigger or combination of triggers, and the one or more actions.

16 . The system as recited in claim 15 , wherein the plurality of event templates further comprises crowding, person of interest, fence jumping, forklift near miss, vehicle near miss, tailgating, loitering, and possible fall.

17 . The system as recited in claim 14 , wherein detecting the objects further comprises:

identifying object attributes selected from a group comprising person identity, color, position, vehicle type, and license plate; and

identifying movement of the object based on a plurality of frames.

18 . A non-transitory machine-readable storage medium including instructions that, when executed by a machine, cause the machine to perform operations comprising:

causing presentation of a user interface (UI) comprising options to select an event template from a plurality of event templates for creating agents to detect events, each event template being a pre-configured agent for detecting an occurrence of an event, each event template being a pre-configured agent for detecting an occurrence of an event with configurable parameters that determine a trigger for an occurrence of the event and one or more actions to perform when the event is triggered, the agent being a program that determines if the trigger is activated to determine that the event has occurred;

causing presentation on the UI of options, based on the selected event template, for defining the configurable parameters of the selected event template that determine the trigger for the occurrence of the event and the one or more actions, the UI providing options to select a trigger filter from a plurality of filter options comprising zone, person or car, object presence, object absence, objects overlapping, objects spatial relationship, and object count, the UI options further comprising an option to select one or more cameras from a plurality of cameras;

creating the agent based on the selected event template and the selected trigger filter; and

ongoing monitoring, by the agent, video data from one or more cameras to determine an activation of the trigger for the occurrence of the event in a zone based on the trigger filter applied to the video data, the zone being an area that has been delineated by a user within view of the one or more cameras, wherein ongoing monitoring the video data comprises:

detecting objects within one or more frames in the video data;

determining values of the trigger filter based on the detected objects in the one or more frames;

determining that the trigger has been activated based on the values of the trigger filter;

determining the occurrence of the event in response to the trigger being activated; and

performing the one or more actions configured for the selected event template in response to the determining the occurrence of the event.

19 . The non-transitory machine-readable storage medium as recited in claim 18 , the configurable parameters of the event comprising camera selection, the trigger or combination of triggers, and the one or more actions.

20 . The non-transitory machine-readable storage medium as recited in claim 19 , wherein the plurality of event templates further comprises crowding, person of interest, fence jumping, forklift near miss, vehicle near miss, tailgating, loitering, and possible fall.

21 . The non-transitory machine-readable storage medium as recited in claim 18 , wherein the options for defining the configurable parameters that determine the occurrence of the event comprise people, animals, vehicles, tools, and weapons.

22 . The non-transitory machine-readable storage medium as recited in claim 18 , wherein detecting the objects further comprises:

identifying object attributes selected from a group comprising person identity, color, position, vehicle type, and license plate; and

identifying movement of the object based on a plurality of frames.

23 . The method as recited in claim 1 , wherein the plurality of event templates comprises people absent in a configurable zone, person running, occurrence of slip and fall, person enters a configurable restricted area, kiosk is unattended, and unattended vehicle, each event template comprising one or more filters and one or more actions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2026
From: HEILE, LISA MARIE CARLSON
To: SPOT AI, INC.
Reel/Frame 073520/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: LEE, NATHANIEL PAUL; KAPOOR, AMRISH SUSHIL; BROER LYONS, DUNCHADHN HANLEY; AKHAVAN, CAMERON; TAJERAN, KEVIN; HART, JORDAN; ROGERS, DOUGLAS
To: SPOT AI, INC.
Reel/Frame 070437/0430 →
Continuity (2)
Provisional Application 63709215 · Oct 18, 2024
Related Publication 20260112162A1 · Apr 23, 2026
References Cited (21)
US 12158762B1 · O'hara et al. · 2024 [cited by applicant]
US 12272138B1 · Annigeri · 2025 [cited by examiner]
US 12456299B1 · Lee et al. · 2025 [cited by applicant]
US 20070013776A1 · Venetianer · 2007 [cited by examiner]
US 20070268145A1 · Bazakos · 2007 [cited by examiner]
US 20070279214A1 · Buehler · 2007 [cited by examiner]
US 20200186454A1 · Thapliyal · 2020 [cited by applicant]
US 20200334631A1 · Conlon · 2020 [cited by examiner]
US 20210256823A1 · Ito · 2021 [cited by examiner]
US 20220083767A1 · Subramanian · 2022 [cited by examiner]
US 20230186630A1 · Joseph · 2023 [cited by examiner]
US 20230351753A1 · Gorti et al. · 2023 [cited by applicant]
US 20240127587A1 · Kim et al. · 2024 [cited by applicant]
US 20240203085A1 · Bangalath et al. · 2024 [cited by applicant]
US 20240371164A1 · Yan et al. · 2024 [cited by applicant]
US 20240378859A1 · He et al. · 2024 [cited by applicant]
US 20250045329A1 · Gottumukkal · 2025 [cited by examiner]
US 20250104394A1 · Qiu et al. · 2025 [cited by applicant]
“U.S. Appl. No. 19/037,493, Non Final Office Action mailed Apr. 25, 2025”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 19/037,493, Response filed Jul. 11, 2025 to Non Final Office Action mailed Apr. 25, 2025”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 19/037,493, Notice of Allowance mailed Jul. 22, 2025”, 7 pgs. [cited by applicant]