IP Library Granted Patent US 12,432,321
Granted Patent B2
US 12,432,321 · App. 18/520,183 · Granted Sep 30, 2025

Action detection during image tracking

Inventors: Shahmeer Ali Mirza (Celina, TX); Sailesh Bharathwaaj Krishnamurthy (Irving, TX); Sarath Vakacharla (Irving, TX); Deepanjan Paul (Plano, TX)
Assignee: 7-ELEVEN, INC.
H04N7/188G06T5/30G06T7/215G06T7/292G06V10/44G06V10/764G06V10/82G06V20/40G06V20/52G06V40/23G08B13/1472G08B13/19613G08B13/19645G08B13/19669H04N7/183G06T2207/10016G06T2207/20036G06T2207/20084G06T2207/30232
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,432,321
App. No.
18/520,183
Granted
Sep 30, 2025
Kind
B2
Abstract

A system includes a sensor, a weight sensor, and a tracking subsystem. The tracking subsystem receives an image feed of top-view images generated by the sensor and weight measurements from the weight sensor. The tracking subsystem detects an event associated with an item being removed from a rack in which the weight sensor is installed. The tracking subsystem determines that a first person or a second person may be associated with the event. In response to determining that the first or second person may be associated with the event, buffer frames are stored of top-view images generated by the sensor during a time period associated with the event. The tracking subsystem then determines, using at least one of the stored buffer frames and a first action-detection algorithm, whether an action associated with the event was performed by the first person or the second person.

Claims (77)

1. A system comprising:

a plurality of sensors, each sensor of the plurality of sensors configured to generate images of at least a portion of a space; and

a tracking subsystem communicatively coupled to the plurality of sensors, the tracking subsystem comprising a processor configured to:

receive the images generated by the plurality of sensors;

track a first object and one or more other objects in the space using at least a portion of the images generated by the plurality of sensors;

determine that re-identification of the tracked first object is needed based at least upon a probability that an identifier of the tracked first object is associated with the first object is less than a threshold probability value;

in response to determining that re-identification of the tracked first object is needed, determine candidate identifiers for the tracked first object, wherein the candidate identifiers comprise a subset of identifiers of all tracked objects, the subset comprising possible identifiers of the tracked first object based at least in part upon a history of movements of the tracked first object;

receive, from a first sensor of the plurality of sensors, a first image of the tracked first object;

determine a first descriptor for the tracked first object, the first descriptor comprising at least one value associated with the tracked first object;

compare the first descriptor to a set of predetermined descriptors associated with the candidate identifiers determined for the tracked first object;

based on results of the comparison, determine an updated identifier for the tracked first object, wherein the updated identifier is the predetermined descriptor from the set of predetermined descriptors with a value that is within a threshold range of a first descriptor value; and

assign the updated identifier to the tracked first object.

2. The system of claim 1 , wherein:

the first descriptor comprises a first data vector associated with characteristics of the tracked first object in a frame;

each of the predetermined descriptors from the set of predetermined descriptors comprises a corresponding predetermined data vector; and

the processor of the tracking subsystem is further configured to:

compare the first descriptor to each of the predetermined descriptors from the set of predetermined descriptors associated with the candidate identifiers by calculating a first cosine similarity value between the first data vector and each of the predetermined data vectors; and

determine the updated identifier as a particular candidate identifier that corresponds to the first cosine similarity value nearest one.

3. The system of claim 2 , wherein the processor of the tracking subsystem is further configured to determine that each of the first cosine similarity values is less than a threshold similarly value and, in response:

determine a second descriptor value for each of the one or more other objects, wherein each second descriptor value comprises a second data vector;

determine a second cosine similarity value between each of the second data vectors and each of the predetermined descriptor values; and

determine second updated identifiers for the tracked first object and each of the other objects, based on the first and second cosine similarity values.

4. The system of claim 1 , wherein the first descriptor is determined based on a portion of the first image, the portion corresponding to a predefined field-of-view comprising a central sub-region of a full field-of-view addressed by the first sensor.

5. The system of claim 1 , wherein the tracked first object is a first person.

6. The system of claim 1 , wherein the processor of the tracking subsystem is further configured to, prior to determining that re-identification of the tracked first object is needed, periodically determine updated predetermined descriptors associated with the candidate identifiers.

7. The system of claim 6 , wherein the processor of the tracking subsystem is further configured to:

in response to determining the updated predetermined descriptors, determine that a first updated predetermined descriptor is different by at least a threshold amount than a corresponding previously predetermined descriptor; and

store in a memory both the updated descriptor and the corresponding previous predetermined descriptor.

8. A method comprising:

receiving images generated by a plurality of sensors, each sensor of the plurality of sensors configured to generate images of at least a portion of a space;

tracking a first object and one or more other objects in the space using at least a portion of the images generated by the plurality of sensors;

determining that re-identification of the tracked first object is needed based at least upon a probability that an identifier of the tracked first object is associated with the first object is less than a threshold probability value;

in response to determining that re-identification of the tracked first object is needed, determining candidate identifiers for the tracked first object, wherein the candidate identifiers comprise a subset of identifiers of all tracked objects, the subset comprising possible identifiers of the tracked first object based at least in part upon a history of movements of the tracked first object;

receiving, from a first sensor of the plurality of sensors, a first image of the tracked first object;

determining a first descriptor for the tracked first object, the first descriptor comprising at least one value associated with the tracked first object;

comparing the first descriptor to a set of predetermined descriptors associated with the candidate identifiers determined for the tracked first object;

based on results of the comparison, determining an updated identifier for the tracked first object, wherein the updated identifier is the predetermined descriptor from the set of predetermined descriptors with a value that is within a threshold range of a first descriptor value; and

assigning the updated identifier to the tracked first object.

9. The method of claim 8 , wherein:

the first descriptor comprises a first data vector associated with characteristics of the tracked first object in a frame;

each of the predetermined descriptors from the set of predetermined descriptors comprises a corresponding predetermined data vector; and

the method further comprises:

comparing the first descriptor to each of the predetermined descriptors from the set of predetermined descriptors associated with the candidate identifiers by calculating a first cosine similarity value between the first data vector and each of the predetermined data vectors; and

determining the updated identifier as a particular candidate identifier that corresponds to the first cosine similarity value nearest one.

10. The system of claim 9 , further comprising determining that each of the first cosine similarity values is less than a threshold similarity value and, in response:

determining a second descriptor value for each of the one or more other objects, wherein each second descriptor value comprises a second data vector;

determining a second cosine similarity value between each of the second data vectors and each of the predetermined descriptor values; and

determining second updated identifiers for the tracked first object and each of the other objects, based on the first and second cosine similarity values.

11. The method of claim 8 , determining the first descriptor based on a portion of the first image, the portion corresponding to a predefined field-of-view comprising a central sub-region of a full field-of-view addressed by the first sensor.

12. The method of claim 8 , wherein the tracked first object is a first person.

13. The method of claim 8 , further comprising, prior to determining that re-identification of the tracked first object is needed, periodically determining updated predetermined descriptors associated with the candidate identifiers.

14. The method of claim 13 , further comprising:

in response to determining the updated predetermined descriptors, determining that a first updated predetermined descriptor is different by at least a threshold amount than a corresponding previously predetermined descriptor; and

storing in a memory both the updated descriptor and the corresponding previous predetermined descriptor.

15. A tracking subsystem communicatively coupled to a plurality of sensors, each sensor of the plurality of sensors configured to generate images of at least a portion of a space, the tracking subsystem comprising a processor configured to:

receive images generated by the plurality of sensors;

track a first object and one or more other objects in the space using at least a portion of the images generated by the plurality of sensors;

determine that re-identification of the tracked first object is needed based at least upon a probability that an identifier of the tracked first object is associated with the first object is less than a threshold probability value;

in response to determining that re-identification of the tracked first object is needed, determine candidate identifiers for the tracked first object, wherein the candidate identifiers comprise a subset of identifiers of all tracked objects, the subset comprising possible identifiers of the tracked first object based at least in part upon a history of movements of the tracked first object;

receive, from a first sensor of the plurality of sensors, a first image of the tracked first object;

determine a first descriptor for the tracked first object, the first descriptor comprising at least one value associated with the tracked first object;

compare the first descriptor to a set of predetermined descriptors associated with the candidate identifiers determined for the tracked first object;

based on results of the comparison, determine an updated identifier for the tracked first object, wherein the updated identifier is the predetermined descriptor from the set of predetermined descriptors with a value that is within a threshold range of a first descriptor value; and

assign the updated identifier to the tracked first object.

16. The tracking subsystem of claim 15 , wherein:

the first descriptor comprises a first data vector associated with characteristics of the tracked first object in a frame;

each of the predetermined descriptors from the set of predetermined descriptors comprises a corresponding predetermined data vector; and

the processor of the tracking subsystem is further configured to:

compare the first descriptor to each of the predetermined descriptors from the set of predetermined descriptors associated with the candidate identifiers by calculating a first cosine similarity value between the first data vector and each of the predetermined data vectors; and

determine the updated identifier as a particular candidate identifier that corresponds to the first cosine similarity value nearest one.

17. The tracking subsystem of claim 16 , wherein the processor is further configured to determine that each of the first cosine similarity values is less than a threshold similarity value and, in response:

determine a second descriptor value for each of the one or more other objects, wherein each second descriptor value comprises a second data vector;

determine a second cosine similarity value between each of the second data vectors and each of the predetermined descriptor values; and

determine second updated identifiers for the tracked first object and each of the other objects, based on the first and second cosine similarity values.

18. The tracking subsystem of claim 15 , wherein the first descriptor is determined based on a portion of the first image, the portion corresponding to a predefined field-of-view comprising a central sub-region of a full field-of-view addressed by the first sensor.

19. The tracking subsystem of claim 15 , wherein the tracked first object is a first person.

20. The tracking subsystem of claim 15 , wherein the processor is further configured to, prior to determining that re-identification of the tracked first object is needed, periodically determine updated predetermined descriptors associated with the candidate identifiers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2023
From: MIRZA, SHAHMEER ALI; KRISHNAMURTHY, SAILESH BHARATHWAAJ; VAKACHARLA, SARATH; PAUL, DEEPANJAN
To: 7-ELEVEN, INC.
Reel/Frame 065671/0296 →
Continuity (5)
Continuation 17071262 · Oct 15, 2020
Continuation 16857990 · Apr 24, 2020
Continuation 16793998 · Feb 18, 2020
Continuation 16663500 · Oct 25, 2019
Related Publication 20240098228A1 · Mar 21, 2024
References Cited (123)
US 5013896A · Ono et al. · 1991 [cited by applicant]
US 6437819B1 · Loveland · 2002 [cited by applicant]
US 6725206B1 · Coveley · 2004 [cited by applicant]
US 7672876B2 · Bonner et al. · 2010 [cited by applicant]
US 7844509B2 · Bodin et al. · 2010 [cited by applicant]
US 7848964B2 · Bonner et al. · 2010 [cited by applicant]
US 9886827B2 · Schoner · 2018 [cited by applicant]
US 9972187B1 · Srinivasan et al. · 2018 [cited by applicant]
US 9984354B1 · Chinoy et al. · 2018 [cited by applicant]
US 9996818B1 · Ren et al. · 2018 [cited by applicant]
US 10055853B1 · Fisher et al. · 2018 [cited by applicant]
US 10064502B1 · Gyori et al. · 2018 [cited by applicant]
US 10127438B1 · Fisher et al. · 2018 [cited by applicant]
US 10133933B1 · Fisher et al. · 2018 [cited by applicant]
US 10134004B1 · Liberato, Jr. et al. · 2018 [cited by applicant]
US 10140483B1 · Huebner et al. · 2018 [cited by applicant]
US 10140820B1 · Zalewski et al. · 2018 [cited by applicant]
US 10157452B1 · Tighe et al. · 2018 [cited by applicant]
US 10169660B1 · Ren et al. · 2019 [cited by applicant]
US 10181113B2 · Rivalto et al. · 2019 [cited by applicant]
US 10198710B1 · Hahn et al. · 2019 [cited by applicant]
US 10244363B1 · Niranjayan et al. · 2019 [cited by applicant]
US 10250868B1 · Arnold et al. · 2019 [cited by applicant]
US 10262293B1 · Prater et al. · 2019 [cited by applicant]
US 10268983B2 · Kumar et al. · 2019 [cited by applicant]
US 10282720B1 · Buibas et al. · 2019 [cited by applicant]
US 10282852B1 · Buibas et al. · 2019 [cited by applicant]
US 10291862B1 · Liberato et al. · 2019 [cited by applicant]
US 10296814B1 · Kumar et al. · 2019 [cited by applicant]
US 10303133B1 · Dhalla et al. · 2019 [cited by applicant]
US 10318917B1 · Goldstein et al. · 2019 [cited by applicant]
US 10318919B2 · Bermudez Rodriguez et al. · 2019 [cited by applicant]
US 10321275B1 · Orlov et al. · 2019 [cited by applicant]
US 10332066B1 · Palaniappan et al. · 2019 [cited by applicant]
US 10339411B1 · Hua et al. · 2019 [cited by applicant]
US 10353982B1 · Kumar et al. · 2019 [cited by applicant]
US 10366306B1 · Raghavan et al. · 2019 [cited by applicant]
US 10368057B1 · Saran et al. · 2019 [cited by applicant]
US 10384869B1 · Shiee et al. · 2019 [cited by applicant]
US 10388019B1 · Hua et al. · 2019 [cited by applicant]
US 10438277B1 · Jiang et al. · 2019 [cited by applicant]
US 10442852B2 · Kruzel et al. · 2019 [cited by applicant]
US 10445694B2 · Fisher et al. · 2019 [cited by applicant]
US 10459103B1 · Shi et al. · 2019 [cited by applicant]
US 10466095B1 · O'Neill et al. · 2019 [cited by applicant]
US 10474991B2 · Fisher et al. · 2019 [cited by applicant]
US 10474992B2 · Fisher et al. · 2019 [cited by applicant]
US 10475185B1 · Raghavan et al. · 2019 [cited by applicant]
US 10586203B1 · Maldonado · 2020 [cited by examiner]
US 11386306B1 · Siddiquie · 2022 [cited by examiner]
US 11907339B1 · Siddiquie · 2024 [cited by examiner]
US 11961303B1 · Osherovich · 2024 [cited by examiner]
US 12315171B2 · Sibley · 2025 [cited by examiner]
US 20060279630A1 · Aggarwal et al. · 2006 [cited by applicant]
US 20070011099A1 · Sheehan · 2007 [cited by applicant]
US 20070069014A1 · Heckel et al. · 2007 [cited by applicant]
US 20070282665A1 · Buehler et al. · 2007 [cited by applicant]
US 20100138281A1 · Zhang et al. · 2010 [cited by applicant]
US 20100318440A1 · Coveley · 2010 [cited by applicant]
US 20130117053A2 · Campbell · 2013 [cited by applicant]
US 20130284806A1 · Margalit · 2013 [cited by applicant]
US 20140016845A1 · Gazit et al. · 2014 [cited by applicant]
US 20140132728A1 · Verano et al. · 2014 [cited by applicant]
US 20150363638A1 · Takahashi · 2015 [cited by examiner]
US 20160092739A1 · Oami et al. · 2016 [cited by applicant]
US 20170323376A1 · Glaser et al. · 2017 [cited by applicant]
US 20180048894A1 · Chen et al. · 2018 [cited by applicant]
US 20180150685A1 · Ebrom et al. · 2018 [cited by applicant]
US 20190138986A1 · Puerini et al. · 2019 [cited by applicant]
US 20190147709A1 · Schoner · 2019 [cited by applicant]
US 20190156277A1 · Fisher et al. · 2019 [cited by applicant]
US 20190156506A1 · Fisher et al. · 2019 [cited by applicant]
US 20190236531A1 · Adato et al. · 2019 [cited by applicant]
US 20190244386A1 · Fisher et al. · 2019 [cited by applicant]
US 20190244500A1 · Fisher et al. · 2019 [cited by applicant]
US 20190251499A1 · Kumar et al. · 2019 [cited by applicant]
US 20190347611A1 · Fisher et al. · 2019 [cited by applicant]
US 20250155900A1 · Schulz · 2025 [cited by examiner]
CA 1290453C · 1991 [cited by applicant]
CA 2201423C · 1998 [cited by applicant]
EP 0348484A1 · 1990 [cited by applicant]
WO 2018038968A1 · 2018 [cited by applicant]
WO 2018181364A1 · 2018 [cited by applicant]
WO 2019032304A1 · 2019 [cited by applicant]
WO 2019038965A1 · 2019 [cited by applicant]
WO 2019038968A1 · 2019 [cited by applicant]
WO 2019093293A1 · 2019 [cited by applicant]
WO 2019181364A1 · 2019 [cited by applicant]
Schroff F, Kalenichenko D, Philbin J. Facenet: A unified embedding for face recognition and clustering. InProceedings of the IEEE conference on computer vision and pattern recognition 2015 (pp. 815-823) (Year: 2015). [cited by examiner]
[Machine English Translation] Japanese Notice of Allowance for JP Application No. 2022-523937; date mailed Jun. 4, 2024 (Jun. 4, 2024); 3 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Scalable Position Tracking System for Tracking Position in Large Spaces,” U.S. Appl. No. 16/663,633, filed Oct. 25, 2019, 117 pages. [cited by applicant]
Boulio, C. A. et al., “Sensor Array for Scalable Position Tracking System,” U.S. Appl. No. 16/663,415, filed Oct. 25, 2019, 113 pages. [cited by applicant]
Paul, D. et al., “Custom Rack for Scalable Position Tracking System,” U.S. Appl. No. 16/633,669, filed Oct. 25, 2019, 110 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Tracking Positions Using a Scalable Position Tracking System,” U.S. Appl. No. 16/633,432, filed Oct. 25, 2019, 122 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Topview Object Tracking Using a Sensor Array,” U.S. Appl. No. 16/663,710, filed Oct. 25, 2019, 199 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Detecting Shelf Interactions Using a Sensor Array,” U.S. Appl. No. 16/663,766, filed Oct. 25, 2019, 205 pages. [cited by applicant]
Vakacharla, S. et al., “Topview Item Tracking Using a Sensor Array,” U.S. Appl. No. 16/663,451, filed Oct. 25, 2019, 204 pages. [cited by applicant]
Mirza, S. A. et al., “Detecting and Identifying Misplaced Items Using a Sensor Array,” U.S. Appl. No. 16/663,794, filed Oct. 25, 2019, 200 pages. [cited by applicant]
Mirza, S. A. et al., “Sensor Mapping To a Global Coordinate System,” U.S. Appl. No. 16/663,822, filed Oct. 25, 2019, 204 pages. [cited by applicant]
Mirza, S. A. et al., “Sensor Mapping To a Global Coordinate System Using a Marker Grid,” U.S. Appl. No. 16/663,472, filed Oct. 25, 2019, 206 pages. [cited by applicant]
Mirza, S. A. et al., “Shelf Position Calibration in a Global Coordinate System Using a Sensor Array,” U.S. Appl. No. 16/663,856, filed Oct. 25, 2019, 206 pages. [cited by applicant]
Magee, M. R. et al., “Customer-Based Video Feed,” U.S. Appl. No. 16/664,470, filed Oct. 25, 2019, 103 pages. [cited by applicant]
Mirza, S. A. et al., “System and Method for Presenting a Virtual Store Shelf That Emulates a Physical Store Shelf,” U.S. Appl. No. 16/664,490, filed Oct. 25, 2019, 103 pages. [cited by applicant]
Nguyen, T. N. et al., “Contour-Based Detection of Closely Spaced Objects,” U.S. Appl. No. 16/664,160, filed Oct. 25, 2019, 199 pages. [cited by applicant]
Mirza, S. A. et al., “Object Re-Identification During Image Tracking,” U.S. Appl. No. 16/664,219, filed Oct. 25, 2019, 201 pages. [cited by applicant]
Chinnam, M. M. et al., “Vector-Based Object Re-Identification During Image Tracking,” U.S. Appl. No. 16/664,269, filed Oct. 25, 2019, 199 pages. [cited by applicant]
Mirza, S. A. et al.,“Image-Based Action Detection Using Contour Dilation,” U.S. Appl. No. 16/664,332, filed Oct. 25, 2019, 199 pages. [cited by applicant]
Mirza, S. A. et al., “Determining Candidate Object Identities During Image Tracking,” U.S. Appl. No. 16/664,363, filed Oct. 25, 2019, 201 pages. [cited by applicant]
Mirza, S. A. et al., “Object Assignment During Image Tracking,” U.S. Appl. No. 16/664,391, filed Oct. 25, 2019, 198 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Auto-Exclusion Zone for Contour-Based Object Detection,” U.S. Appl. No. 16/664,426, filed Oct. 25, 2019, 199 pages. [cited by applicant]
Mirza, S. A. et al.,“Multi-Camera Image Tracking on a Global Plane ,” U.S. Appl. No. 16/663,533, filed Oct. 25, 2019, 198 pages. [cited by applicant]
Mirza, S. A. et al., “Feedback and Training for a Machine Learning Algorithm Configured to Determine Customer Purchases During a Shopping Session At a Physical Store,” U.S. Appl. No. 16/663,564, filed Oct. 25, 2019, 97 … [cited by applicant]
Mirza, S. A. et al., “Identifying Non-Uniform Weight Objects Using a Sensor Array,” U.S. Appl. No. 16/663,901, filed Oct. 25, 2019, 199 pages. [cited by applicant]
Magee, M. R. et al., “System and Method for Populating a Virtual Shopping Cart Based on Video of a Customer's Shopping Session At a Physical Store,” U.S. Appl. No. 16/663,589, filed Oct. 25, 2019, 103 pages. [cited by applicant]
Magee, M. R. et al., “ Tool for Generating a Virtual Store That Emulates a Physical Store ,” U.S. Appl. No. 16/664,529, filed Oct. 25, 2019, 100 pages. [cited by applicant]
Mirza, S. A. et al., “Sensor Mapping to a Global Coordinate System Using Homography,” U.S. Appl. No. 16/663,948, filed Oct. 25, 2019, 197 pages. [cited by applicant]
Mirza, S. A. et al.,“Action Detection During Image Tracking ,” U.S. Appl. No. 16/663,500, filed Oct. 25, 2019, 198 pages. [cited by applicant]
Mirza, S. A. et al.,“Action Detection During Image Tracking ,” U.S. Appl. No. 16/793,998, filed Feb. 18, 2020, 198 pages. [cited by applicant]
Mirza, S. A. et al.,“Action Detection During Image Tracking ,” U.S. Appl. No. 16/857,990, filed Apr. 24, 2020, 200 pages. [cited by applicant]
Patent Cooperation Treaty, International Search Report and Written Opinion, International Application No. PCT/US2020/057011, date of mailing Feb. 4, 2021, 14 pages. [cited by applicant]
Japanese Patent Office Notice of Reason(s) for Rejection for JP Application No. 2022-523937, mailing date Jan. 9, 2024 (Jan. 9, 2024), 2 pages. [English Translation]. [cited by applicant]
KIPO's Notice of Preliminary Rejection for Korean Application No. 10-2022-7017154 dated Feb. 21, 2024 (Feb. 21, 2024); English Translation; 7 pages. [cited by applicant]
European Patent Office, Communication Pursuant to Article 94(3) EPC for EP Application No. 20 808 558.9-1207, date of mailing Dec. 6, 2024 (Dec. 6, 2024), 12 pages. [cited by applicant]