IP Library › Granted Patent US 12,525,019
Granted Patent B2
US 12,525,019 · App. 18/759,890 · Granted Jan 13, 2026

Intelligent AI system for rapid weapon threat assessment in video streams

Inventors: John Gordon (Alameda, CA); Niclas Kurt Gustavsson (Leesburg, VA); Chad Thomas Green (Leesburg, VA)
Assignee: Omnilert LLC
G06V20/52G06V10/25G06V20/70G06V2201/07
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,525,019
App. No.
18/759,890
Granted
Jan 13, 2026
Kind
B2
Abstract

A device for efficient object detection and selective display of video frames is disclosed. A plurality of bounding boxes to visually bound one or more subjects are defined in the received video frames; each bounding box includes padding above and laterally with respect to the one or more subjects in the video frame. The device may reduce the plurality of bounding boxes by merging bounding boxes to create reduced plurality of merged bounding boxes. The device performs object detection on the reduced plurality of merged bounding boxes by searching a training database for detecting and identifying suspicious objects. The identified objects are annotated. On identifying that an object is suspicious, based on a trained database of firearms in a plurality of environments across a plurality of industries, the video frame is transmitted to a graphical user interface of a user device.

Claims (81)

1 . A system for efficient video processing, comprising:

a surveillance computer comprising a processor, a graphics processing unit (GPU), and a memory storing instructions that, when executed by the processor, cause the processor to:

receive video frames from one or more surveillance cameras;

process, using the GPU, the video frames to detect objects within the video frames;

annotate, using the GPU, detected objects within the video frames by adding bounding boxes and text information;

determine if one or more weapons is among the detected objects video frame based on the annotated detected objects;

when a weapon is detected:

transfer the annotated video frame from the GPU to the processor for rendering, generate an alert, and

transmit the annotated video frame to a user device; and

when no weapon is detected:

set a width of bounding boxes in the video frame to zero,

delete the text information, and

skip transfer of the video frame from the GPU to the processor;

determine whether the video frames are currently being viewed live on a user interface; and

when the video frames are being viewed live, transfer the annotated video frames from the GPU to the processor regardless of whether a weapon is detected or not.

2 . The system of claim 1 , wherein the weapon comprises at least one of: a handgun or a long gun.

3 . The system of claim 1 , wherein skipping transfer of the video frame comprises:

identifying the zero-width bounding boxes in the video frame; and

preventing copying of an image buffer containing the video frame from the GPU to the processor.

4 . The system of claim 1 , wherein the instructions further cause the processor to:

process video frames from multiple surveillance cameras, each camera providing video frames at a specified frame rate; and

optimize the GPU to processor transfers based on the number of surveillance cameras and their respective frame rates.

5 . The system of claim 1 , wherein the instructions further cause the processor to:

process the video frames to define bounding boxes to visually bound one or more subjects, each bounding box comprising padding above and laterally with respect to the one or more subjects, wherein the padding is operable to capture objects held by the one or more subjects; and

provide the bounding boxes to an object detector for weapon detection.

6 . The system of claim 1 , wherein the instructions further cause the processor to:

reduce a plurality of bounding boxes by merging two bounding boxes to create a merged bounding box when:

a degree of overlap between the two bounding boxes is greater than or equal to an overlap threshold; and

a size of the merged bounding box would be less than a size threshold.

7 . The system of claim 1 , wherein annotating the detected objects comprises:

drawing bounding boxes around detected objects;

adding object labels to the video frame; and

wherein transferring the annotated video frame comprises copying image data of the video frame from the GPU to the processor only when the bounding boxes have a non-zero width.

8 . The system of claim 1 , wherein the instructions further cause the processor to:

determine whether a number of bounding boxes in a video frame is below a bounding box threshold; and

when the number of bounding boxes is below the bounding box threshold, skip a bounding box reduction operation and perform weapon detection on the unreduced bounding boxes.

9 . The system of claim 1 , wherein processing the video frames comprises:

receiving video frames from multiple surveillance cameras at a specified frame rate;

when no weapon is detected in the video frames, reducing processing overhead by:

setting bounding box widths to zero;

removing annotations; and

preventing GPU to processor transfers for the video frames with zero-width bounding boxes; and

wherein the reduction in processing overhead enables the system to process a higher number of surveillance camera feeds.

10 . A computer-implemented method for efficient video processing, comprising the steps of:

receiving video frames from one or more surveillance cameras at a surveillance computer comprising a graphics processing unit (GPU) and a processor;

processing, using the GPU, the video frames to detect and classify objects within the video frames;

annotating, using the GPU, detected objects within the video frames by adding bounding boxes and text information;

determining whether a weapon is among the detected objects in the video frame based on the annotated detected objects;

when a weapon is detected:

transferring the annotated video frame from the GPU to the processor for rendering, generating an alert, and p 2 transmitting the annotated video frame to a user device; and

when no weapon is detected:

setting a width of bounding boxes in the video frame to zero,

deleting the text information, and

skipping transfer of the video frame from the GPU to the processor:

determining whether the video frames are currently being viewed live on a user interface: and

when the video frames are being viewed live, transferring the annotated video frames from the GPU to the processor regardless of whether a weapon is detected or not.

11 . The method of claim 10 , wherein the weapon comprises at least one of a handgun or a long gun.

12 . The method of claim 10 , wherein skipping transfer of the video frame comprises the steps of:

identifying the zero-width bounding boxes in the video frame; and

preventing copying of an image buffer containing the video frame from the GPU to the processor.

13 . The method of claim 10 , further comprising the steps of:

processing video frames from multiple surveillance cameras, each camera providing video frames at a specified frame rate; and

optimizing the GPU to processor transfers based on the number of surveillance cameras and their respective frame rates.

14 . The method of claim 10 , further comprising the steps of:

processing the video frames to define bounding boxes to visually bound one or more subjects, each bounding box comprising padding above and laterally with respect to the one or more subjects, wherein the padding is operable to capture objects held by the one or more subjects; and

providing the bounding boxes to an object detector for weapon detection.

15 . The method of claim 10 , further comprising the steps of:

reducing a plurality of bounding boxes by merging two bounding boxes to create a merged bounding box when:

a degree of overlap between the two bounding boxes is greater than or equal to an overlap threshold; and

a size of the merged bounding box would be less than a size threshold.

16 . The method of claim 10 , wherein annotating the detected objects comprises the steps of:

drawing bounding boxes around detected objects; adding object labels to the video frame; and

wherein transferring the annotated video frame comprises copying image data of the video frame from the GPU to the processor only when the bounding boxes have a non-zero width.

17 . The method of claim 10 , further comprising the steps of:

determining whether a number of bounding boxes in a video frame is below a bounding box threshold; and

when the number of bounding boxes is below the bounding box threshold, skipping a bounding box reduction operation and performing weapon detection on the unreduced bounding boxes.

18 . The method of claim 10 , wherein processing the video frames comprises the steps of:

receiving video frames from multiple surveillance cameras at a specified frame rate; when no weapon is detected in the video frames, reducing processing overhead by:

setting bounding box widths to zero; removing annotations; and

preventing GPU to processor transfers for the video frames with zero-width bounding boxes; and

wherein the reduction in processing overhead enables processing of a higher number of surveillance camera feeds.

Continuity (4)
Continuation 18444995 · Feb 19, 2024
Continuation In Part 18433804 · Feb 6, 2024
Provisional Application 63499714 · May 3, 2023
Related Publication 20240371167A1 · Nov 7, 2024
References Cited (11)
US 10861302B2 · Savvides · 2020 [cited by examiner]
US 11159628B1 · Gupta · 2021 [cited by examiner]
US 11580851B2 · Tan · 2023 [cited by examiner]
US 11765321B2 · Sulzer et al. · 2023 [cited by applicant]
US 20160019427A1 · Martin · 2016 [cited by examiner]
US 20160027535A1 · Kanuch et al. · 2016 [cited by applicant]
US 20180047193A1 · Gao · 2018 [cited by examiner]
US 20210209402A1 · Harrison et al. · 2021 [cited by applicant]
US 20210304550A1 · Kelly · 2021 [cited by examiner]
US 20220207266A1 · Wang · 2022 [cited by examiner]
US 20220412998A1 · Lobanov · 2022 [cited by examiner]