IP Library Granted Patent US 12,652,455
Granted Patent B2
US 12,652,455 · App. 18/769,939 · Granted Jun 9, 2026

Approaches to obfuscating biometric data for privacy reasons in a browser environment and surveillance systems for accomplishing the same

Inventors: Pushpak Pujari (San Mateo, CA); Rishabh Goyal (San Mateo, CA); Song Cao (Foster City, CA); Erich J. Kreutzer (Cabin John, MD); Alan M. Anderson (Mountain View, CA)
Assignee: Verkada Inc.
H04N23/611G06T5/70G06V10/25G06V20/52H04N23/661
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,652,455
App. No.
18/769,939
Granted
Jun 9, 2026
Kind
B2
Abstract

Introduced here are surveillance systems and associated approaches for obfuscating biometric identifiers generated by, or available to, those surveillance systems for privacy reasons. In the event that a surveillance system generates a biometric identifier (e.g., by imaging a face of a person entering the premises of an organization), caution must be taken to only share the biometric identifier with individuals as necessary for security reasons. The approaches introduced here allow the privacy of persons being surveilled to be protected. Specifically, a computer program may selectively apply blurring as an impermanent mask to obfuscate each face in a digital image. This approach limits “reidentification” of a given person to those scenarios where her identity must be determined.

Claims (68)

1 . A method performed by a computer program implemented by, or accessible to, a web browser, the method comprising:

receiving digital images that are generated by a digital camera that is part of a surveillance system responsible for monitoring an environment;

for each of the digital images,

applying either

a first machine learning model that predicts positions of people, if any, in that digital image, or

a second machine learning model that infers positions of people, if any, in that digital image,

wherein the first machine learning model is applied to the digital images at a fixed frequency, while the second machine learning model is applied to digital images to which the first machine learning model is not applied such that the first machine learning model is applied to a first subset of the digital images and the second machine learning model is applied to a second subset of the digital images; and

causing display of the digital images with blur being applied to those digital images that are determined, based on outputs produced by the first and second machine learning models, to include at least one person.

2 . The method of claim 1 , further comprising:

initializing

(i) a rendering program that allows for rendering in a canvas that is visible via the web browser,

(ii) a thread that is programmatically independent from the canvas,

(iii) the first machine learning model within the thread, and

(iv) the second machine learning model within the web browser.

3 . The method of claim 2 , wherein said causing comprises:

for each of the digital images,

determining a region in that digital image to blur based on either a predicted position output by the first machine learning model or an inferred position output by the second machine learning model, and

updating the rendering program with the region to blur, so as to cause that digital image to be presented on the canvas with the region blurred.

4 . The method of claim 1 , further comprising:

for each of the digital images,

determining whether the first machine learning model is to be applied; and

in response to a determination that the first machine learning model is to be applied,

resizing that digital image to match expected input dimensions for the first machine learning model; and

providing that resized digital image to the first machine learning model as input.

5 . The method of claim 1 , wherein for a given digital image to which the first machine learning model is not applied, the second machine learning model infers position of each person contained therein based on (i) content of the given digital image and (ii) a most recent predicted position of that person.

6 . The method of claim 1 , wherein the digital images are received from the digital camera.

7 . A non-transitory medium with instructions stored thereon that, when executed by a processor of a computing device, cause the computing device to perform operations comprising:

receiving digital images that are arranged in temporal order and that are generated by a digital camera that is part of a surveillance system responsible for monitoring an environment;

applying, to the digital images at a given frequency, a first machine learning model that is trained to identify faces and that outputs predicted positions of faces, if any, in each digital image supplied as input; and

in response to a predicted position of a face being output by the first machine learning model,

causing display of a corresponding one of the digital images with blur being applied to a region corresponding to the predicted position; and

providing the predicted position to a second machine learning model that is to be applied to a next one of the digital image that is generated images;

wherein the second machine learning model is applied to each of the digital images to which the first machine learning model is not applied, such that the first machine learning model is applied to a first subset of the digital images and the second machine learning model is applied to a second subset of the digital images.

8 . The non-transitory medium of claim 7 , wherein the blur is selectively reversible through an interface on which the digital image is displayed.

9 . The non-transitory medium of claim 7 , wherein each of the digital images is initially loaded into a queue, where either the first machine learning model or the second machine learning model is applied, and then removed from the queue for display.

10 . The non-transitory medium of claim 7 , wherein for the next digital image, the second machine learning model infers a position of the face based on (i) content of the next digital image and (ii) the predicted position output by the first machine learning model.

11 . The non-transitory medium of claim 7 , wherein the digital images are received directly from the digital camera or another computing device that is part of the surveillance system.

12 . The non-transitory medium of claim 7 , wherein the digital images are received from a server system to which the surveillance system is communicatively connected.

13 . A non-transitory medium with instructions stored thereon that, when executed by a processor of a computing device, cause the computing device to perform operations comprising:

receiving a digital image that is generated by a digital camera that is part of a surveillance system responsible for monitoring an environment;

applying, to the digital image, a first machine learning model that is trained to identify faces and outputs predicted positions of faces, if any, in that digital image; and

in response to a predicted position of a face being output by the first machine learning model for the digital image,

causing display of the digital image with blur being applied to a region corresponding to the predicted position; and

providing the predicted position to a second machine learning model that is to be applied to a next digital image that is generated by the digital camera,

wherein the digital image is one of multiple digital images that are generated by the digital camera and received in temporal order, and

wherein the first machine learning model is applied to the multiple digital images at a predetermined frequency, while the second machine learning model is applied to digital images to which the first machine learning model is not applied, and

wherein the predetermined frequency is variable based on performant capability of a web browser in which the multiple digital images are displayed.

14 . The non-transitory medium of claim 13 , wherein each of the digital images is initially loaded into a queue, where either the first machine learning model or the second machine learning model is applied, and then removed from the queue for display.

15 . The non-transitory medium of claim 13 , wherein the blur is selectively reversible through an interface on which the digital image is displayed.

16 . The non-transitory medium of claim 13 , wherein for the next digital image, the second machine learning model infers a position of the face based on (i) content of the next digital image and (ii) the predicted position output by the first machine learning model.

17 . The non-transitory medium of claim 13 , wherein the digital images are received directly from the digital camera or another computing device that is part of the surveillance system.

18 . The non-transitory medium of claim 13 , wherein the digital images are received from a server system to which the surveillance system is communicatively connected.

19 . A method comprising:

receiving digital images that are generated by a digital camera that monitors an environment and that are arranged in temporal order;

for each of the digital images, either

(a) predicting positions of people, if any, in that digital image based on an analysis of that digital image, or

(b) inferring positions of people, if any, in that digital image based on an analysis of that digital image and a most recently predicted position of each person,

wherein said predicting is performed at a predetermined frequency while said inferring is performed for digital images for which said predicting is not performed, such that said predicting is performed for a first subset of the digital images and said inferring is performed for a second subset of the digital images; and

causing a computer program to display the digital images, in temporal order, with blur being applied to a subset of the digital images that are determined to include at least one person.

20 . The method of claim 19 , wherein for each digital image in the subset, a region to be blurred is determined based on a predicted position or an inferred position of each person in that digital image.

21 . The method of claim 19 , wherein the computer program is a web browser.

22 . The method of claim 19 , further comprising:

receiving input that is indicative of a request from an individual to deblur a given digital image; and

causing display of the given digital image with a region to which blur was applied being unblurred.

23 . The method of claim 22 , further comprising:

determining whether a characteristic of the individual satisfies a criterion;

wherein the region is unblurred in response to a determination that the characteristic satisfies the criterion.

24 . The method of claim 23 , wherein the characteristic is a permission level, a job title, or an identifier that uniquely identifies the individual.

Assignments (1)
SECURITY INTEREST Recorded Oct 1, 2024
From: VERKADA INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 068758/0910 →