IP Library › Granted Patent US 12,675,860
Granted Patent B2
US 12,675,860 · App. 18/327,955 · Granted Jul 7, 2026

Computerized image analysis for automatically determining wait times for a queue area

Inventors: Matta Wakim (Petersburg, CA); Dexter Lamont Fichuk (Kitchener, CA); Sophia Dhrolia (Toronto, CA); Christopher Michael Dulhanty (Waterloo, CA)
Assignee: The Toronto-Dominion Bank
G06T7/0002G06Q10/06G06Q30/016G06Q30/0205G06V20/52G06T7/70G06T2207/10016G06T2207/30196G06T2207/30242
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,675,860
App. No.
18/327,955
Filed
Jun 2, 2023
Granted
Jul 7, 2026
Kind
B2
Art Unit
2662
USPC
382/155
Abstract

A computer-implemented method allows a wait time to be determined automatically for a queue area. A series of images showing the environment are received over time. A wait time associated with the queue area is determined by detecting a location of a object corresponding to a person in a first one of the images; associating the object with an identifier uniquely identifying the object in the first one of the images matching objects in later images; and determining the wait time based on times associated with an image in which an object associated with the identifier enters the queue area through the defined entrance area and later one of the images in which an object associated with the identifier exits the queue area through the defined exit area. An indication of the wait time is output. Machine learning may be used to extract features of an object from an image.

Claims (63)

1 . A computer system comprising:

at least one processor; and

a memory module coupled to the at least one processor and storing instructions that, when executed by the at least one processor, cause the computer system to:

receive respective images from a plurality of cameras;

synchronize the plurality of cameras based on respective timestamps associated with the respective images;

pass respective outputs of a plurality of object detection models trained using a data set corresponding to different vantage points of the plurality of cameras, to respective intra-feed identity models to track only within a queue area detected objects by the plurality of object detection models across sequential images of a plurality of series of images received from the synchronized cameras to maintain an identity of the detected objects as the detected objects move through time and space in the queue area;

pass outputs of the respective intra-feed identity models, to an inter-feed identity model that matches respective objects present in the plurality of series of images to identify new objects and identify previous objects in the plurality of series of images and to identify a common identifier across and within each series of the plurality of series of images; and

compare a last timestamp of a last detection of a first detected object of the detected objects when the first detected object has left the queue area, to a logged timestamp for the common identifier to determine, in real time and without requiring extensive computational resources, a wait time corresponding to how long the first detected object has been in the queue area.

2 . The computer system of claim 1 , wherein synchronizing the plurality of cameras is further based on frame rates of each of the plurality of cameras.

3 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

create, by object localization of the computer system, proposed regions that contain distinct objects; and

determine, by object classification of the computer system, detected objects among the distinct objects in the proposed regions.

4 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

log, by the computer system, a timestamp of the respective timestamps, for the detected objects with bounding boxes falling inside a bounding box of a queue area in association with a unique identifier of an object first detected in the queue area, and discarding, after a timeout period, those of the bounding boxes falling outside the bounding box of the queue area, and those of the detected objects remaining in the queue area for a prolonged period.

5 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

determine, by the computer system, respective outputs of the plurality of object detection models that identify bounding boxes for the detected objects.

6 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

delineate, by the respective intra-feed identity models executed by the computer system, bounding boxes that correspond to specific objects matching those objects detected in a previous frame and bounding boxes corresponding to a new object.

7 . The computer system of claim 6 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

reclassify, by the respective intra-feed identity models, bounding boxes provided by the plurality of object detection models, by:

associating the bounding boxes with a unique identifier;

assigning to the detected objects in the sequential images, the unique identifier as the first detected object so that identity of the detected objects is persisted across the sequential images of the series of the respective images;

assigning, upon first appearance of the new object, a new unique identifier to the new object and the matching objects in the sequential images of a plurality of series of images; and

correlating the bounding box of the first detected object with the bounding boxes corresponding to the objects matching the first detected object in earlier frames as the first detected object moves through the queue area and the subsequent images.

8 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to train the inter-feed identity model with a convolutional neural network on a labeled dataset of the plurality of cameras.

9 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

extract a fingerprint for each of the detected objects;

perform clustering on the extracted fingerprints; and

identify the clustered fingerprints as belonging to a same object.

10 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

correlate, using a terminal associated with a service position in the queue area, a specific time and account associated with the determined wait time of the first detected object, based on transactions performed in association with the queue area during a time window defined by times associated with the first detected object entering and leaving the queue area.

11 . The computer system of claim 1 , wherein the inter-feed identity model is a machine learning model used to extract features of an object from an image.

12 . The computer system of claim 1 , wherein the instructions, when executed by the at least one processor, further cause the computer system to:

determine that a transaction associated with the wait time is also associated with providing, by the computer system, a service that could have been accessed through a different channel that does not require waiting in the queue area; and

provide, to a device, an indication that the service provided by the computer system is accessible through the device.

13 . A computer implemented method comprising:

receiving, by a computer system, respective images from a plurality of cameras;

synchronizing, by the computer system, the plurality of cameras based on respective timestamps associated with the respective images;

passing, by the computer system, respective outputs of a plurality of object detection models trained using a data set corresponding to different vantage points of the plurality of cameras, to respective intra-feed identity models to track only within a queue area detected objects by the plurality of object detection models across sequential images of a plurality of series of images received from the synchronized cameras to maintain an identity of the detected objects as the detected objects move through time and space in the queue area;

passing, by the computer system, outputs of the respective intra-feed identity models, to an inter-feed identity model that matches respective objects present in the plurality of series of images to identify new objects and identify previous objects in the plurality of series of images and to identify a common identifier across and within each series of the plurality of series of images; and

comparing, by the computer system, a last timestamp of a last detection of a first detected object of the detected objects when the first detected object has left the queue area, to a timestamp for the common identifier to determine, in real time and without requiring extensive computational resources, a wait time corresponding to how long the first detected object has been in the queue area.

14 . The method of claim 11 , wherein synchronizing the plurality of cameras is further based on frame rates of each of the plurality of cameras.

15 . The method of claim 13 , further comprising:

creating, by object localization of the computer system, proposed regions that contain distinct objects; and

determining, by object classification of the computer system, detected objects among the distinct objects in the proposed regions.

16 . The method of claim 13 , further comprising:

logging, by the computer system, a timestamp of the respective timestamps, for the detected objects with bounding boxes falling inside a bounding box of a queue area in association with a unique identifier of an object first detected in the queue area, and discarding, after a timeout period, those of the bounding boxes falling outside the bounding box of the queue area, and those of the detected objects remaining in the queue area for a prolonged period.

17 . The method of claim 13 , further comprising:

determining, by the computer system, respective outputs of the plurality of object detection models that identify bounding boxes for the detected objects.

18 . The method of claim 13 , further comprising:

delineating, by the respective intra-feed identity models executed by the computer system, bounding boxes that correspond to specific objects matching those objects detected in a previous frame and bounding boxes corresponding to a new object.

19 . The method of claim 18 , further comprising:

reclassifying, by the respective intra-feed identity models executed by the computer system, bounding boxes provided by the plurality of object detection models, by:

associating the bounding boxes with a unique identifier;

assigning to the detected objects in the sequential images, the unique identifier as the first detected object so that identity of the detected objects is persisted across the sequential images of a plurality of series of images;

assigning, upon first appearance of the new object, a new unique identifier to the new object and the matching objects in the subsequent images of the series of the respective images; and

correlating the bounding box of the first detected object with the bounding boxes corresponding to the objects matching the first detected object in earlier frames as the first detected object moves through the queue area and the subsequent images.

20 . A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor cause the at least one processor to:

receive respective images from a plurality of cameras;

synchronize the plurality of cameras based on respective timestamps associated with the respective images;

pass respective outputs of a plurality of object detection models trained using a data set corresponding to different vantage points of the plurality of cameras, to respective intra-feed identity models to track only within a queue area detected objects by the plurality of object detection models across sequential images of a plurality of series of mages received from the synchronized cameras to maintain an identity of the detected objects as the detected objects move through time and space in the queue area;

pass outputs of the respective intra-feed identity models, to an inter-feed identity model that matches respective objects present in the plurality of series of images to identify new objects and identify previous objects in the plurality of series of images and to identify a common identifier across and within each series of the plurality of series of images; and

compare a last timestamp of a last detection of a first detected object of the detected objects when the first detected object has left the queue area, to a logged timestamp for the common identifier to determine, in real time and without requiring extensive computational resources, a wait time corresponding to how long the first detected object has been in the queue area.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2023
From: FICHUK, DEXTER LAMONT
To: THE TORONTO-DOMINION BANK
Reel/Frame 063837/0467 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2023
From: DHROLIA, SOPHIA
To: THE TORONTO-DOMINION BANK
Reel/Frame 063837/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2023
From: DULHANTY, CHRISTOPHER MICHAEL
To: THE TORONTO-DOMINION BANK
Reel/Frame 063837/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2023
From: WAKIM, MATTA
To: THE TORONTO-DOMINION BANK
Reel/Frame 063837/0543 →
Continuity (2)
Continuation 16150696 · Oct 3, 2018
Related Publication 20230316485A1 · Oct 5, 2023
References Cited (55)
US 5953055A · Huang · 1999 [cited by examiner]
US 6263088B1 · Crabtree · 2001 [cited by examiner]
US 6654047B2 · Iizaka · 2003 [cited by applicant]
US 6829583B1 · Knapp et al. · 2004 [cited by applicant]
US 8224028B1 · Golan et al. · 2012 [cited by applicant]
US 8527575B2 · Xiao et al. · 2013 [cited by applicant]
US 9124778B1 · Crabtree · 2015 [cited by examiner]
US 10606668B2 · Snell et al. · 2020 [cited by applicant]
US 10673784B1 · Perez Rodreguez et al. · 2020 [cited by applicant]
US 20050198107A1 · Cuhls et al. · 2005 [cited by applicant]
US 20070003141A1 · Rittscher et al. · 2007 [cited by applicant]
US 20090249342A1 · Johnson · 2009 [cited by examiner]
US 20090268028A1 · Ikumi et al. · 2009 [cited by applicant]
US 20090313062A1 · Natsuyama et al. · 2009 [cited by applicant]
US 20100004997A1 · Mehta et al. · 2010 [cited by applicant]
US 20110231419A1 · Papke et al. · 2011 [cited by applicant]
US 20140267738A1 · Allen et al. · 2014 [cited by applicant]
US 20150058049A1 · Shaw · 2015 [cited by applicant]
US 20150095107A1 · Matsumoto et al. · 2015 [cited by applicant]
US 20150120237A1 · Gouda et al. · 2015 [cited by applicant]
US 20150134418A1 · Leow et al. · 2015 [cited by applicant]
US 20150169954A1 · Schlattmann et al. · 2015 [cited by applicant]
US 20150278608A1 · Matsumoto et al. · 2015 [cited by applicant]
US 20160005053A1 · Klima et al. · 2016 [cited by applicant]
US 20160180173A1 · Westmacott · 2016 [cited by examiner]
US 20160191865A1 · Beiser et al. · 2016 [cited by applicant]
US 20160224844A1 · Gyger · 2016 [cited by examiner]
US 20160224845A1 · Gyger et al. · 2016 [cited by applicant]
US 20160292514A1 · Robinson · 2016 [cited by examiner]
US 20170070707A1 · Winter · 2017 [cited by examiner]
US 20170083831A1 · Ghosh et al. · 2017 [cited by applicant]
US 20170098337A1 · Galley et al. · 2017 [cited by applicant]
US 20170277956A1 · Winter et al. · 2017 [cited by applicant]
US 20170277959A1 · Winter et al. · 2017 [cited by applicant]
US 20180061081A1 · Nagao et al. · 2018 [cited by applicant]
US 20180061161A1 · Nagao · 2018 [cited by examiner]
US 20180129984A1 · Polk et al. · 2018 [cited by applicant]
US 20180260864A1 · Leclercq et al. · 2018 [cited by applicant]
US 20180330285A1 · Nagao · 2018 [cited by applicant]
US 20190026565A1 · Ikegami · 2019 [cited by applicant]
US 20190080178A1 · To et al. · 2019 [cited by applicant]
US 20190332856A1 · Sato et al. · 2019 [cited by applicant]
US 20190370976A1 · Oya · 2019 [cited by applicant]
US 20200134323A1 · Dami · 2020 [cited by applicant]
US 20210110167A1 · Ogawa · 2021 [cited by applicant]
CA 2627051A1 · 2008 [cited by examiner]
CN 105139040A · 2015 [cited by examiner]
JP H10143715A · 1998 [cited by examiner]
Redmon et al.: “YOLO9000: Better, Faster, Stronger”, available from https://arxiv.org/pdf/1612.08242.pdf, dated Dec. 25, 2016. [cited by examiner]
Previtali, F., Bloisi, D.D. & Iocchi, L. A distributed approach for real-time multi-camera multiple object tracking. Machine Vision and Applications 28, 421-430 (2017). https://doi.org/10.1007/s00138-017-0827-5 (Year: 2… [cited by examiner]
Girshick: “Fast R-CNN”, available from https://arxiv.org/pdf/1504.08083.pdf, dated Apr. 27, 2015. [cited by applicant]
Ren et al.: “Faster R-CNN: Towards Real-Time Object Detection with Regional Proposal Networks”, available from https://arxiv.org/pdf/1506.01497.pdf, dated Jan. 6, 2016. [cited by applicant]
Liu et al.: “SSD: Single Shot MultiBox Detector”, available from https://arxiv.org/pdf/1512.02325.pdf, dated Dec. 29, 2016. [cited by applicant]
Wojke et al.: “Simple Online and Realtime Tracking with a Deep Association Metric”, available from https://arxiv.org/pdf/1703.07402.pdf, dated Mar. 21, 2017. [cited by applicant]
Peleshko et al.: “Design and implementation of visitors queue density analysis and registration method for retail video surveillance purposes”, http:ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7583531, year 2016. [cited by applicant]