IP Library Granted Patent US 12,056,183
Granted Patent B2
US 12,056,183 · App. 18/347,503 · Granted Aug 6, 2024

Hyperzoom attribute analytics on the edge

Inventors: Yi Xu (Belmont, CA); Mayank Gupta (Foster City, CA); Xia Yang (San Jose, CA); Yuanyuan Chen (San Mateo, CA); Zixiao (Shawn) Wang (San Mateo, CA); Qiang (Kevin) Fu (Sunnyvale, CA); Yunchao Gong (Los Altos, CA); Naresh Nagabushan (San Mateo, CA)
Assignee: Verkada Inc.
G06F16/5838G06F16/532G06F16/538G06V10/26G06V10/56G06V10/82
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,056,183
App. No.
18/347,503
Granted
Aug 6, 2024
Kind
B2
Abstract

A computer vision processor of a camera extracts attributes of persons or vehicles from hyperzooms generated from image frames. The hyperzooms represent traffic patterns. The extracting is performed using a feature extractor of an on-camera convolutional neural network (CNN) including an inverted residual structure. The attributes include at least colors of clothing of the persons or colors of the vehicles. Mobile semantic segmentation models of the CNN are generated using the hyperzooms and the attributes. Attribute analytics are generated by executing the mobile semantic segmentation models while obviating network usage by the camera. The attribute analytics are stored in a key-value database located on a memory card of the camera. A query is received from the server instance specifying one or more of the attributes. The attribute analytics are filtered using the one or more of the attributes to obtain a portion of the traffic patterns.

Claims (76)

1. A computer-implemented method comprising:

generating hyperzooms corresponding to objects within a plurality of images captured by a camera, each of the images associated with a corresponding time frame;

based on executing a Kalman Filter on the hyperzooms, estimating joint probability distributions for positions of the objects,

wherein each joint probability distribution is for the corresponding time frame;

generating estimates of the positions of the objects in each of the plurality of images over time frames based on the joint probability distributions,

wherein each estimate comprises an estimated position for a corresponding object for a given time frame;

generating tracks of the objects from image to image based on the estimates; and

sending a visualization of the tracks to a user device to perform traffic analytics for the objects.

2. The computer-implemented method of claim 1 , wherein generating the tracks of the objects based on the estimates comprises:

generating weighted averages from the estimates of the positions; and

updating the estimates of the positions of the objects based on the weighted averages.

3. The computer-implemented method of claim 1 , wherein generating the estimates of the positions of the objects over the time frames comprises:

determining horizontal coordinates and vertical coordinates for hyperzoom centers associated with the objects; and

determining the estimates of the positions of the objects based on the horizontal coordinates and the vertical coordinates.

4. The computer-implemented method of claim 3 , wherein generating the estimates of the positions of the objects over the time frames comprises:

generating the joint probability distributions; and

estimating the positions of the objects based on the joint probability distributions.

5. The computer-implemented method of claim 1 , wherein generating the tracks of the objects comprises:

generating image positions corresponding to the tracks, wherein the image positions are measured in pixel units relative to a corner of an image; and

converting the image positions corresponding to the tracks into world coordinates using a set of transformations to define the tracks.

6. The computer-implemented method of claim 5 , wherein converting the image positions into the world coordinates comprises:

determining a scale, an origin, and an angle for a coordinate system; and

converting the image positions into the world coordinates based on the coordinate system.

7. The computer-implemented method of claim 1 , wherein generating the tracks comprises:

determining a set of similarity metrics for the objects, wherein each similarity metric of the set of similarity metrics indicates a similarity of a first detected object in a first image with a second detected object in a second image; and

determining identifiers for the objects based on the set of similarity metrics.

8. A system comprising:

one or more computer processors; and

one or more non-transitory, computer-readable storage media storing computer instructions, which when executed by the one or more computer processors cause the one or more computer processors to:

generate hyperzooms corresponding to objects within a plurality of images captured by a camera, each of the images associated with a corresponding time frame;

based on executing a Kalman Filter on the hyperzooms, estimate joint probability distributions for positions of the objects,

wherein each joint probability distribution is for the corresponding time frame;

generate estimates of the positions of the objects in each of the plurality of images over time frames based on the joint probability distributions,

wherein each estimate comprises an estimated position for a corresponding object for a given time frame;

generate tracks of the objects from image to image based on the estimates; and

send a visualization of the tracks to a user device to perform analytics for the objects.

9. The system of claim 8 , wherein the computer instructions for generating the tracks of the objects based on the estimates cause the one or more computer processors to:

generate weighted averages from the estimates of the positions; and

update the estimates of the positions of the objects based on the weighted averages.

10. The system of claim 8 , wherein the computer instructions for generating the estimates of the positions of the objects over the time frames cause the one or more computer processors to:

determine horizontal coordinates and vertical coordinates for hyperzoom centers associated with the objects; and

determine the estimates of the positions of the objects based on the horizontal coordinates and the vertical coordinates.

11. The system of claim 10 , wherein the computer instructions for generating the estimates of the positions of the objects over the time frames cause the one or more computer processors to:

generate the joint probability distributions; and

estimate the positions of the objects based on the joint probability distributions.

12. The system of claim 8 , wherein the computer instructions for generating the tracks of the objects cause the one or more computer processors to:

generate image positions corresponding to the tracks, wherein the image positions are measured in pixel units relative to a corner of an image; and

convert the image positions corresponding to the tracks into world coordinates using a set of transformations to define the tracks.

13. The system of claim 12 , wherein the computer instructions for converting the image positions into the world coordinates cause the one or more computer processors to:

determine a scale, an origin, and an angle for a coordinate system; and

convert the image positions into the world coordinates based on the coordinate system.

14. The system of claim 8 , wherein the computer instructions for generating the tracks cause the one or more computer processors to:

determine a set of similarity metrics for the objects, wherein each similarity metric of the set of similarity metrics indicates a similarity of a first detected object in a first image with a second detected object in a second image; and

determine identifiers for the objects based on the set of similarity metrics.

15. One or more non-transitory, computer-readable storage media storing computer instructions, which when executed by one or more computer processors, cause the one or more computer processors to:

generate hyperzooms corresponding to objects within a plurality of images captured by a camera, each of the images associated with a corresponding time frame;

based on executing a Kalman Filter on the hyperzooms, estimate joint probability distributions for positions of the objects;

generate estimates of the positions of the objects in each of the plurality of images over time frames based on the joint probability distributions,

wherein each estimate comprises an estimated position for a corresponding object for a given time frame;

generate tracks of the objects from image to image based on the estimates; and

send a visualization of the tracks to a user device to perform analytics for the objects.

16. The one or more non-transitory, computer-readable storage media of claim 15 , wherein the computer instructions for generating the tracks of the objects based on the estimates cause the one or more computer processors to:

generate weighted averages from the estimates of the positions; and

update the estimates of the positions of the objects based on the weighted averages.

17. The one or more non-transitory, computer-readable storage media of claim 15 , wherein the computer instructions for generating the estimates of the positions of the objects over the time frames cause the one or more computer processors to:

determine horizontal coordinates and vertical coordinates for hyperzoom centers associated with the objects; and

determine the estimates of the positions of the objects based on the horizontal coordinates and the vertical coordinates.

18. The one or more non-transitory, computer-readable storage media of claim 17 , wherein the computer instructions for generating the estimates of the positions of the objects over the time frames cause the one or more computer processors to:

generate the joint probability distributions; and

estimate the positions of the objects based on the joint probability distributions.

19. The one or more non-transitory, computer-readable storage media of claim 15 , wherein the computer instructions for generating the tracks of the objects cause the one or more computer processors to:

generate image positions corresponding to the tracks, wherein the image positions are measured in pixel units relative to a corner of an image; and

convert the image positions corresponding to the tracks into world coordinates using a set of transformations to define the tracks.

20. The one or more non-transitory, computer-readable storage media of claim 19 , wherein the computer instructions for converting the image positions into the world coordinates cause the one or more computer processors to:

determine a scale, an origin, and an angle for a coordinate system; and

convert the image positions into the world coordinates based on the coordinate system.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2024
From: VERKADA INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 068758/0910 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2024
From: XU, YI; GUPTA, MAYANK; YANG, XIA; CHEN, YUANYUAN; WANG, ZIXIAO (SHAWN); FU, QIANG (KEVIN); GONG, YUNCHAO; NAGABUSHAN, NARESH
To: VERKADA INC.
Reel/Frame 067890/0082 →
Continuity (4)
Continuation 18155687 · Jan 17, 2023
Continuation 17869164 · Jul 20, 2022
Continuation 17700396 · Mar 21, 2022
Related Publication 20230367808A1 · Nov 16, 2023