US 12,254,686 B2
Systems and methods for trajectory-based object search using edge computing
David Mwaura, San Francisco, CA (US); Nitish Poddar, San Francisco, CA (US); Anders Brekke Holden, Foster City, CA (US); Bhavna Sud, Cupertino, CA (US); Michele Casertano, San Francisco, CA (US); Thantham Madan, San Mateo, CA (US); Hao Nan, Sunnyvale, CA (US); Rishabh Goyal, San Mateo, CA (US); Yingjie Shen, Hayward, CA (US); Yunchao Gong, Los Altos, CA (US); Yi Xu, Belmont, CA (US); and Filip Kaliszan, Menlo Park, CA (US)
Assigned to Verkada Inc., San Mateo, CA (US)
Filed by Verkada Inc., San Mateo, CA (US)
Filed on May 19, 2023, as Appl. No. 18/320,467.
Prior Publication US 2024/0386715 A1, Nov. 21, 2024
Int. Cl. G06V 10/94 (2022.01); G06F 16/735 (2019.01); G06F 16/738 (2019.01); G06T 7/246 (2017.01); G06V 20/40 (2022.01)
CPC G06V 10/945 (2022.01) [G06F 16/735 (2019.01); G06F 16/739 (2019.01); G06T 7/248 (2017.01); G06V 20/44 (2022.01); G06V 20/46 (2022.01); G06T 2200/24 (2013.01); G06T 2207/10016 (2013.01); G06T 2207/20092 (2013.01); G06T 2207/30204 (2013.01); G06T 2207/30241 (2013.01); G06V 2201/10 (2022.01)] 21 Claims
OG exemplary drawing
 
1. A non-transitory, processor-readable medium storing instructions that, when executed by a processor, cause the processor to:
receive, at a processor, a user request including a representation of at least one of: a geographic region of interest or a time period of interest;
identify, via the processor and based on the user request, a plurality of video-derived object trajectories based on the user request;
identify, via the processor and based on the plurality of video-derived object trajectories, a plurality of events by (1) processing each video-derived object trajectory from the plurality of video-derived object trajectories individually, or (2) aggregating video-derived object trajectories, from the plurality of video-derived object trajectories, that overlap with respect to at least one feature, each event from the plurality of events including a representation of a video-derived object trajectory from the plurality of video-derived object trajectories;
combine at least two spatially overlapping events from the plurality of events to generate at least one event;
for each event from the at least one event:
select a preview image via the processor, the preview image including an image that has been cropped from one of a thumbnail image or a video frame, based on the user request and using a ranking algorithm;
receive, at the processor, event metadata associated with the preview image;
retrieve, from a memory operably coupled to the processor, a video segment associated with that event;
cause display of the preview image via a user device associated with the user request; and
in response to a user interaction with the preview image, cause display of the video segment via the user device associated with the user request.