IP Library Granted Patent US 12,579,783
Granted Patent B2
US 12,579,783 · App. 18/476,479 · Granted Mar 17, 2026

System and method for selecting an item from a plurality of identified items by filtering out back images of the items

Inventors: Sumedh Vilas Datar (Grapevine, TX); Sailesh Bharathwaaj Krishnamurthy (Irving, TX); Ravi Teja Mulpuri (Sunnyvale, CA); Shashipal Reddy Masini (Austin, TX)
Assignee: 7-Eleven, Inc.
G06V10/764G06T7/11
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,579,783
App. No.
18/476,479
Granted
Mar 17, 2026
Kind
B2
Abstract

In response to detecting a triggering event corresponding to placement of a first item on a platform, a plurality of images are captured of the first item and a plurality of cropped images are generated based on the first images. An item identifier is identified based on each cropped image, wherein each item identifier is associated with a numerical similarity value. Each cropped image is further tagged as a front image or a back image. A particular item identifier identified for a corresponding cropped image tagged as a front image is selected and associated with the first item. An indicator of the particular item identifier is displayed on a user interface device.

Claims (142)

1 . An item tracking system, comprising:

a plurality of cameras, wherein each camera is configured to capture images of at least a portion of a platform;

a memory configured to store:

an encoded vector library, wherein the encoded vector library comprises a plurality of encoded vectors, wherein each encoded vector describes one or more attributes of a particular item and is associated with an item identifier for the particular item; and

one or more processors communicatively coupled to the memory, and configured to:

detect a triggering event at the platform, wherein the triggering event corresponds to a placement of a first item on the platform;

in response to detecting the triggering event, capture a plurality of images of the first item on the platform using two or more cameras of the plurality of cameras;

generate a cropped image of the first item for each of the images by editing the image to isolate at least a portion of the first item, wherein the cropped images correspond to the first item depicted in the respective images;

for each cropped image:

generate a first encoded vector for the cropped image, wherein the first encoded vector describes one or more attributes of the first item based on the cropped image;

compare the first encoded vector to the encoded vectors in the encoded vector library;

select a second encoded vector from the encoded vector library that most closely matches with the first encoded vector, wherein a numerical similarity value indicates a degree of similarity between the first encoded vector and the selected second encoded vector; and

identify an item identifier in the encoded vector library that is associated with the second encoded vector;

input the cropped image to a machine learning model, wherein the machine learning model is configured to output whether the cropped image is a back image of an item or a front image an item;

obtain the output from the machine learning model indicating whether the cropped image is a back image of an item or a front image an item; and

tag the cropped image as a back image or a front image based on the output from the machine learning model;

determine whether any of the cropped images are tagged as front images;

in response to determining that one or more cropped images are tagged as front images, select a particular item identifier identified for a particular cropped image from the one or more cropped images tagged as front images;

associate the particular item identifier to the first item; and

display an indicator of the particular item identifier on a user interface device.

2 . The item tracking system of claim 1 , wherein the one or more processors are further configured to select the particular item identifier by:

determining that only a single cropped image is tagged as a front image; and

selecting a first item identifier that is identified for the single cropped image as the particular item identifier for association with the first item.

3 . The item tracking system of claim 1 , wherein the one or more processors are further configured to:

determine that none of the cropped images are tagged as front images; and

in response to determining that none of the cropped images are tagged as front images:

display, on the user interface device, a plurality of different item identifiers identified for the respective cropped images;

receive, from the user interface device, a selection of a first item identifier from the plurality of different item identifiers; and

assign the first item identifier to the first item.

4 . The item tracking system of claim 1 , wherein the one or more processors are further configured to:

determine that none of the cropped images are tagged as front images; and

in response to determining that none of the cropped images are tagged as front images:

display, on the user interface device, an instruction to rotate or flip the first item on the platform.

5 . The item tracking system of claim 1 , wherein the one or more processors are configured to select the particular item identifier by:

determining that a plurality of cropped images are tagged as front images; and

in response to determining that the plurality of cropped images are tagged as front images:

determining a first set of item identifiers from a plurality of item identifiers that are identified for the respective plurality of cropped images based on similarity values that equal or exceed a threshold similarity value;

determining whether the same item identifier from the first set of item identifiers was identified for a majority of the plurality of cropped images; and

in response to determining that the same item identifier from the first set of item identifiers was identified for the majority of the plurality of cropped images, selecting the same item identifier as the particular item identifier to be associated with the first item.

6 . The item tracking system of claim 5 , wherein the one or more processors are further configured to select the particular item identifier by:

determining that the same item identifier from the first set of item identifiers was not identified for a majority of the plurality of cropped images; and

in response to determining that the same item identifier from the first set of item identifiers was not identified for the majority of the plurality of cropped images:

determining a first item identifier from the first set that was identified for a first cropped image based on a highest similarity value among the similarity values corresponding to the item identifiers in the first set;

determining a second item identifier from the first set that was identified for a second cropped image based on a second highest similarity value among the similarity values corresponding to the item identifiers in the first set;

determining whether the difference between the highest similarity value and the second highest similarity value equals or exceeds a threshold difference; and

in response to determining that the difference between the highest similarity value and the second highest similarity value equals or exceeds a threshold difference, selecting the first item identifier as the particular item identifier to be associated with the first item.

7 . The item tracking system of claim 6 , wherein the one or more processors are further configured to select the particular item identifier by:

determining that the difference between the highest similarity value and the second highest similarity value does not equal or exceed a threshold difference; and

in response to determining that the difference between the highest similarity value and the second highest similarity value does not equal or exceed a threshold difference:

displaying, on the user interface device, a plurality of different item identifiers from the first set of item identifiers identified for respective cropped images;

receiving, from the user interface device, a selection of a second item identifier from the plurality of different item identifiers; and

assigning the second item identifier as the particular item identifier to be associated with the first item.

8 . A method for identifying an item, comprising:

detecting a triggering event at a platform, wherein the triggering event corresponds to a placement of a first item on the platform;

in response to detecting the triggering event, capturing a plurality of images of the first item on the platform using two or more cameras of a plurality of cameras wherein each camera is configured to capture images of at least a portion of a platform;

generating a cropped image of the first item for each of the images by editing the image to isolate at least a portion of the first item, wherein the cropped images correspond to the first item depicted in the respective images;

for each cropped image:

generating a first encoded vector for the cropped image, wherein the first encoded vector describes one or more attributes of the first item based on the cropped image;

comparing the first encoded vector to encoded vectors in an encoded vector library, wherein the encoded vector library comprises a plurality of encoded vectors, wherein each encoded vector describes one or more attributes of a particular item and is associated with an item identifier for the particular item;

selecting a second encoded vector from the encoded vector library that most closely matches with the first encoded vector, wherein a numerical similarity value indicates a degree of similarity between the first encoded vector and the selected second encoded vector; and

identifying an item identifier in the encoded vector library that is associated with the second encoded vector;

inputting the cropped image to a machine learning model, wherein the machine learning model is configured to output whether the cropped image is a back image of an item or a front image an item;

obtaining the output from the machine learning model indicating whether the cropped image is a back image of an item or a front image an item; and

tagging the cropped image as a back image or a front image based on the output from the machine learning model;

determining whether any of the cropped images are tagged as front images;

in response to determining that one or more cropped images are tagged as front images, selecting a particular item identifier identified for a particular cropped image from the one or more cropped images tagged as front images;

associating the particular item identifier to the first item; and

displaying an indicator of the particular item identifier on a user interface device.

9 . The method of claim 8 , wherein selecting the particular item identifier comprises:

determining that only a single cropped image is tagged as a front image; and

selecting a first item identifier that is identified for the single cropped image as the particular item identifier for association with the first item.

10 . The method of claim 8 , further comprising:

determining that none of the cropped images are tagged as front images; and

in response to determining that none of the cropped images are tagged as front images:

displaying, on the user interface device, a plurality of different item identifiers identified for the respective cropped images;

receiving, from the user interface device, a selection of a first item identifier from the plurality of different item identifiers; and

assigning the first item identifier to the first item.

11 . The method of claim 8 , further comprising:

determining that none of the cropped images are tagged as front images; and

in response to determining that none of the cropped images are tagged as front images:

displaying, on the user interface device, an instruction to rotate or flip the first item on the platform.

12 . The method of claim 8 , wherein selecting the particular item identifier comprises:

determining that a plurality of cropped images are tagged as front images; and

in response to determining that the plurality of cropped images are tagged as front images:

determining a first set of item identifiers from a plurality of item identifiers that are identified for the respective plurality of cropped images based on similarity values that equal or exceed a threshold similarity value;

determining whether the same item identifier from the first set of item identifiers was identified for a majority of the plurality of cropped images; and

in response to determining that the same item identifier from the first set of item identifiers was identified for the majority of the plurality of cropped images, selecting the same item identifier as the particular item identifier to be associated with the first item.

13 . The method of claim 12 , wherein selecting the particular item identifier comprises:

determining that the same item identifier from the first set of item identifiers was not identified for a majority of the plurality of cropped images; and

in response to determining that the same item identifier from the first set of item identifiers was not identified for the majority of the plurality of cropped images:

determining a first item identifier from the first set that was identified for a first cropped image based on a highest similarity value among the similarity values corresponding to the item identifiers in the first set;

determining a second item identifier from the first set that was identified for a second cropped image based on a second highest similarity value among the similarity values corresponding to the item identifiers in the first set;

determining whether the difference between the highest similarity value and the second highest similarity value equals or exceeds a threshold difference; and

in response to determining that the difference between the highest similarity value and the second highest similarity value equals or exceeds a threshold difference, selecting the first item identifier as the particular item identifier to be associated with the first item.

14 . The method of claim 13 , wherein selecting the particular item identifier comprises:

determining that the difference between the highest similarity value and the second highest similarity value does not equal or exceed a threshold difference; and

in response to determining that the difference between the highest similarity value and the second highest similarity value does not equal or exceed a threshold difference:

displaying, on the user interface device, a plurality of different item identifiers from the first set of item identifiers identified for respective cropped images;

receiving, from the user interface device, a selection of a second item identifier from the plurality of different item identifiers; and

assigning the second item identifier as the particular item identifier to be associated with the first item.

15 . A non-transitory computer-readable medium storing instructions that when executed by a one or more processors cause the one or more processors to:

detect a triggering event at a platform, wherein the triggering event corresponds to a placement of a first item on the platform;

in response to detecting the triggering event, capture a plurality of images of the first item on the platform using two or more cameras of a plurality of cameras wherein each camera is configured to capture images of at least a portion of a platform;

generate a cropped image of the first item for each of the images by editing the image to isolate at least a portion of the first item, wherein the cropped images correspond to the first item depicted in the respective images;

for each cropped image:

generate a first encoded vector for the cropped image, wherein the first encoded vector describes one or more attributes of the first item based on the cropped image;

compare the first encoded vector to encoded vectors in an encoded vector library, wherein the encoded vector library comprises a plurality of encoded vectors, wherein each encoded vector describes one or more attributes of a particular item and is associated with an item identifier for the particular item;

select a second encoded vector from the encoded vector library that most closely matches with the first encoded vector, wherein a numerical similarity value indicates a degree of similarity between the first encoded vector and the selected second encoded vector; and

identify an item identifier in the encoded vector library that is associated with the second encoded vector;

input the cropped image to a machine learning model, wherein the machine learning model is configured to output whether the cropped image is a back image of an item or a front image an item;

obtain the output from the machine learning model indicating whether the cropped image is a back image of an item or a front image an item; and

tag the cropped image as a back image or a front image based on the output from the machine learning model;

determine whether any of the cropped images are tagged as front images;

in response to determining that one or more cropped images are tagged as front images, select a particular item identifier identified for a particular cropped image from the one or more cropped images tagged as front images;

associate the particular item identifier to the first item; and

display an indicator of the particular item identifier on a user interface device.

16 . The non-transitory computer-readable medium of claim 15 , wherein selecting the particular item identifier comprises:

determining that only a single cropped image is tagged as a front image; and

selecting a first item identifier that is identified for the single cropped image as the particular item identifier for association with the first item.

17 . The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the one or more processors to:

determine that none of the cropped images are tagged as front images; and

in response to determining that none of the cropped images are tagged as front images:

display, on the user interface device, a plurality of different item identifiers identified for the respective cropped images;

receive, from the user interface device, a selection of a first item identifier from the plurality of different item identifiers; and

assign the first item identifier to the first item.

18 . The non-transitory computer-readable medium of claim 15 , wherein the instructions further cause the one or more processors to:

determine that none of the cropped images are tagged as front images; and

in response to determining that none of the cropped images are tagged as front images:

display, on the user interface device, an instruction to rotate or flip the first item on the platform.

19 . The non-transitory computer-readable medium of claim 15 , wherein selecting the particular item identifier comprises:

determining that a plurality of cropped images are tagged as front images; and

in response to determining that the plurality of cropped images are tagged as front images:

determining a first set of item identifiers from a plurality of item identifiers that are identified for the respective plurality of cropped images based on similarity values that equal or exceed a threshold similarity value;

determining whether the same item identifier from the first set of item identifiers was identified for a majority of the plurality of cropped images; and

in response to determining that the same item identifier from the first set of item identifiers was identified for the majority of the plurality of cropped images, selecting the same item identifier as the particular item identifier to be associated with the first item.

20 . The non-transitory computer-readable medium of claim 19 , wherein selecting the particular item identifier comprises:

determining that the same item identifier from the first set of item identifiers was not identified for a majority of the plurality of cropped images; and

in response to determining that the same item identifier from the first set of item identifiers was not identified for the majority of the plurality of cropped images:

determining a first item identifier from the first set that was identified for a first cropped image based on a highest similarity value among the similarity values corresponding to the item identifiers in the first set;

determining a second item identifier from the first set that was identified for a second cropped image based on a second highest similarity value among the similarity values corresponding to the item identifiers in the first set;

determining whether the difference between the highest similarity value and the second highest similarity value equals or exceeds a threshold difference; and

in response to determining that the difference between the highest similarity value and the second highest similarity value equals or exceeds a threshold difference, selecting the first item identifier as the particular item identifier to be associated with the first item.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2023
From: DATAR, SUMEDH VILAS; KRISHNAMURTHY, SAILESH BHARATHWAAJ; MULPURI, RAVI TEJA; MASINI, SHASHIPAL REDDY
To: 7-ELEVEN, INC.
Reel/Frame 065060/0418 →
Continuity (4)
Continuation In Part 18366155 · Aug 7, 2023
Continuation In Part 17455903 · Nov 19, 2021
Continuation In Part 17362261 · Jun 29, 2021
Related Publication 20240029405A1 · Jan 25, 2024
References Cited (35)
US 12412145B1 · Bhatia · 2025 [cited by examiner]
US 20130223673A1 · Davis et al. · 2013 [cited by applicant]
US 20130248593A1 · Bonner et al. · 2013 [cited by applicant]
US 20160065856A1 · Sohn et al. · 2016 [cited by applicant]
US 20190108396A1 · Dal Mutto et al. · 2019 [cited by applicant]
US 20210326544A1 · Jackson · 2021 [cited by examiner]
US 20220414375A1 · Krishnamurthy · 2022 [cited by examiner]
US 20220414378A1 · Datar · 2022 [cited by examiner]
US 20220414398A1 · Krishnamurthy · 2022 [cited by examiner]
US 20220414399A1 · Datar · 2022 [cited by examiner]
US 20220414899A1 · Datar · 2022 [cited by examiner]
US 20220414900A1 · Datar · 2022 [cited by examiner]
US 20220414924A1 · Krishnamurthy · 2022 [cited by examiner]
US 20240020333A1 · Krishnamurthy · 2024 [cited by examiner]
US 20240029274A1 · Wang et al. · 2024 [cited by applicant]
KR 101350387B1 · 2014 [cited by applicant]
KR 20180074976A · 2018 [cited by applicant]
Xinan Wang, System and method for detecting a trigger event for identification of an item, U.S. Appl. No. 18/476,425, filed Sep. 28, 2023. [cited by applicant]
Sailesh B. Krishnamurthy, System and method for selecting an item from a plurality of identified items based on a similarity value, U.S. Appl. No. 18/476,429, filed Sep. 28, 2023. [cited by applicant]
Sailesh B. Krishnamurthy, System and method for camera re-calibration based on an updated homography, U.S. Appl. No. 18/476,468, filed Sep. 28, 2023. [cited by applicant]
Sailesh B. Rishnamurthy, System and method for identifying unmoved items on a platform during item identification, U.S. Appl. No. 18/476,436, filed Sep. 28, 2023. [cited by applicant]
Xinan Wang, System and method for identifying moved items on a platform during item identification, U.S. Appl. No. 18/476,445, filed Sep. 28, 2023. [cited by applicant]
Sailesh Bharathwaaj Krishnamurthy, System and method for item identification using container-based classification, U.S. Appl. No. 18/476,497, filed Sep. 28, 2023. [cited by applicant]
Sailesh B. Krishnamurthy, System and method for identifying an item based on interaction history of a user, U.S. Appl. No. 18/476,512, filed Sep. 28, 2023. [cited by applicant]
Crystal Maung, System and method for space search reduction in identifying items from images via item height, U.S. Appl. No. 18/476,541, filed Sep. 28, 2023. [cited by applicant]
Sumedh V. Datar, System and method for confirming the identity of an item based on item height, U.S. Appl. No. 18/476,432, filed Sep. 28, 2023. [cited by applicant]
Sumedh V. Datar, System and method for search space reduction for identifying an item, U.S. Appl. No. 18/476,511, filed Sep. 28, 2023. [cited by applicant]
Sumedh V. Datar, System and method for identifying an item based on an amount of image information in an image of the item, U.S. Appl. No. 18/476,555, filed Sep. 28, 2023. [cited by applicant]
PCT International Search Report and Written Opinion of the Intl. Searching Authority, or the Declaration for International Application No. PCT/US2024/048094, date of mailing Dec. 24, 2024 (Dec. 24, 2024), 11 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Hand Detection Trigger for Item Identification,” U.S. Appl. No. 17/455,902, filed Nov. 19, 2021, 108 pages. [cited by applicant]
Datar, S. V. et al., “Item Identification Using Multiple Cameras,” U.S. Appl. No. 17/455,905, filed Nov. 19, 2021, 107 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Reducing a Search Space for Item Identification Using Machine Learning,” U.S. Appl. No. 17/455,906, filed Nov. 19, 2021, 106 pages. [cited by applicant]
Krishnamurthy, S. B. et al., “Image Cropping Using Depth Information,” U.S. Appl. No. 17/455,907, filed Nov. 19, 2021, 108 pages. [cited by applicant]
Maung, C. et al., “Determining Dimensions of an Item Using Point Cloud Information,” U.S. Appl. No. 17/455,908, filed Nov. 19, 2021, 107 pages. [cited by applicant]
Partial Search Report for PCT Patent Application No. PCT/US2022/072832, mailed Oct. 6, 2022; 12 pages. [cited by applicant]