IP Library Granted Patent US 12,412,148
Granted Patent B2
US 12,412,148 · App. 17/936,232 · Granted Sep 9, 2025

Cart-based availability determination for an online concierge system

Inventors: Lin Gao (Miami, FL); Yilin Huang (Shanghai, CN); Shiyuan Yang (Shanghai, CN); Hao Wu (Shanghai, CN); Ganglu Wu (Shanghai, CN); Xiao Zhou (Shanghai, CN)
Assignee: Maplebear Inc.
G06Q10/087G06V20/52
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,412,148
App. No.
17/936,232
Granted
Sep 9, 2025
Kind
B2
Abstract

An online concierge system may use images received from shopping carts within retailers to determine the availability of items within those retailers. A shopping cart includes externally-facing cameras that automatically capture images of the area around the shopping cart as the shopping cart travels through a retailer. The online concierge system receives these images, which depict displays within the retailers from which a picker or a retailer patron can collect items. The online concierge system determines which items should be depicted in the images and which items are actually depicted in the images. The online concierge system identifies which items should be depicted, but are not depicted, and determines that these items are unavailable (e.g., out of stock) at that retailer. The online concierge system updates an availability database to indicate that these items are unavailable and may notify the retailer that the item is unavailable.

Claims (73)

1. A method comprising:

at a computer system, comprising at least one processor and memory:

capturing an image by a camera coupled to a shopping cart, wherein the image depicts items on display in a region of a retailer location associated with a retailer;

determining a location of the shopping cart within the retailer location when the image was captured by the shopping cart by capturing a location measurement using a location sensor coupled to the shopping cart;

identifying, by a first process, an expected set of items for the image based on the captured image and the determined location, wherein the expected set of items is a set of items that are expected to be depicted in the image, and wherein identifying the expected set of items comprises:

applying a first machine-learning model to the captured image to identify a set of barcodes depicted in the captured image, wherein the set of barcodes are coupled to a display for items depicted in the image; and

identifying an item of a plurality of items associated with the retailer corresponding to each of the identified barcodes as an expected item for the expected set of items;

identifying, by a second process separate from the first process, an actual set of items depicted in the image by applying a second machine-learning model to the image, wherein the second machine-learning model is computer-vision model that is trained to identify items depicted in an image, wherein the actual set of items is a set of items that are identified by the second machine-learning model as depicted in the image, wherein the expected set of items identified based on the identified barcodes comprises more items than the actual set of items depicted in the image;

identifying a difference set of items, wherein the difference set of items comprises items that are in the expected set of items expected to be depicted in the image but are not in the actual set of items identified by the second machine-learning model as depicted in the image;

updating an availability database for an online system to indicate that items in the difference set of items are unavailable;

receiving an order from a client device associated with a user of the online system, wherein the order comprises an item from the difference set of items;

determining that the item is unavailable by accessing the updated availability database; and

transmitting, to the client device, an indication that the item is unavailable.

2. The method of claim 1 , further comprising:

receiving a search query request from a client device of a user, wherein the search query request comprises a search query;

identifying a set of candidate items that are related to the search query from the search query request; and

determining whether each candidate item in the set of candidate items is available by accessing the updated availability database.

3. The method of claim 2 , further comprising:

responsive to determining that a candidate item in the set of candidate items is unavailable, filtering the set of candidate items to remove the unavailable candidate item; and

transmitting the filtered set of candidate items to the client device for presentation to the user.

4. The method of claim 3 , further comprising:

responsive to determining that a candidate item in the set of candidate items is unavailable, transmitting the set of candidate items to the client device for presentation to the user such that the unavailable candidate item is presented to the user with an indication that the unavailable candidate item is unavailable.

5. The method of claim 1 , wherein determining the location of the shopping cart comprises:

identifying a location marker in the image.

6. The method of claim 5 , wherein the location marker is a QR code.

7. The method of claim 5 , wherein the location marker is a barcode for an item in the expected set of items.

8. The method of claim 1 , wherein identifying the expected set of items comprises:

accessing an item map associated with the retailer location, wherein the item map indicates physical locations within the retailer location of items offered for collection within the retailer location.

9. The method of claim 1 , wherein the location measurement of the shopping cart comprises an orientation of the shopping cart.

10. The method of claim 1 , further comprising:

transmitting a notification to a computing system operated by the retailer, wherein the notification indicates that the difference set of items are unavailable.

11. The method of claim 1 , further comprising:

training an item availability model based on the updated availability database.

12. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to:

capture an image by a camera coupled to a shopping cart, wherein the image depicts items on display in a region of a retailer location associated with a retailer;

determine a location of the shopping cart within the retailer location when the image was captured by the shopping cart by capturing a location measurement using a location sensor coupled to the shopping cart;

identify, by a first process, an expected set of items for the image based on the captured image and the determined location, wherein the expected set of items is a set of items that are expected to be depicted in the image, and wherein identifying the expected set of items further comprises:

applying a first machine-learning model to the captured image to identify a set of barcodes depicted in the captured image, wherein the set of barcodes are coupled to a display for items depicted in the image; and

identifying an item of a plurality of items associated with the retailer corresponding to each of the identified barcodes as an expected item for the expected set of items;

identify, by a second process separate from the first process, an actual set of items depicted in the image by applying a second machine-learning model to the image, wherein the second machine-learning model is a computer-vision model that is trained to identify items depicted in an image, wherein the actual set of items is a set of items that are identified by the second machine-learning model as depicted in the image, wherein the expected set of items identified based on the identified barcodes comprises more items than the actual set of items depicted in the image;

identify a difference set of items, wherein the difference set of items comprises items that are in the expected set of items expected to be depicted in the image but are not in the actual set of items identified by the second machine-learning model as depicted in the image;

update an availability database for an online system to indicate that items in the difference set of items are unavailable;

receive an order from a client device associated with a user of the online system, wherein the order comprises an item from the difference set of items;

determine that the item is unavailable by accessing the updated availability database; and

transmit, to the client device, an indication that the item is unavailable.

13. The computer-readable medium of claim 12 , further storing instructions that cause the processor to:

receive a search query request from a client device of a user, wherein the search query request comprises a search query;

identify a set of candidate items that are related to the search query from the search query request; and

determine whether each candidate item in the set of candidate items is available by accessing the updated availability database.

14. The computer-readable medium of claim 13 , further storing instructions that cause the processor to:

responsive to determining that a candidate item in the set of candidate items is unavailable, filter the set of candidate items to remove the unavailable candidate item; and

transmit the filtered set of candidate items to the client device for presentation to the user.

15. The computer-readable medium of claim 14 , further storing instructions that cause the processor to:

responsive to determining that a candidate item in the set of candidate items is unavailable, transmit the set of candidate items to the client device for presentation to the user such that the unavailable candidate item is presented to the user with an indication that the unavailable candidate item is unavailable.

16. The computer-readable medium of claim 12 , wherein the instructions for determining the location of the shopping cart further cause the processor to:

identify a location marker in the image.

17. The computer-readable medium of claim 12 , wherein the instructions for identifying the expected set of items further cause the processor to:

access an item map associated with the retailer location, wherein the item map indicates physical locations within the retailer location of items offered for collection within the retailer location.

18. The computer-readable medium of claim 12 , wherein the location measurement of the shopping cart comprises an orientation of the shopping cart.

19. A system comprising:

a processor; and

a non-transitory computer-readable medium storing instructions that, when executed by the processor, cause the processor to:

capture an image by a camera coupled to a shopping cart wherein the image depicts items on display in a region of a retailer location associated with a retailer;

determine a location of the shopping cart within the retailer location when the image was captured by the shopping cart by capturing a location measurement using a location sensor coupled to the shopping cart;

identify, by a first process, an expected set of items for the image based on the captured image and the determined location, wherein the expected set of items is a set of items that are expected to be depicted in the image, and wherein identifying the expected set of items further comprises:

applying a first machine-learning model to the captured image to identify a set of barcodes depicted in the captured image, wherein the set of barcodes are coupled to a display for items depicted in the image; and

identifying an item of a plurality of items associated with the retailer corresponding to each of the identified barcodes as an expected item for the expected set of items;

identify, by a second process separate from the first process, an actual set of items depicted in the image by applying a second machine-learning model to the image, wherein the second machine-learning model is a computer-vision model that is trained to identify items depicted in an image, wherein the actual set of items is a set of items that are identified by the second machine-learning model as depicted in the image, wherein the expected set of items identified based on the identified barcodes comprises more items than the actual set of items depicted in the image;

identify a difference set of items, wherein the difference set of items comprises items that are in the expected set of items expected to be depicted in the image but are not in the actual set of items identified by the second machine-learning model as depicted in the image;

update an availability database for an online system to indicate that items in the difference set of items are unavailable;

receive an order from a client device associated with a user of the online system, wherein the order comprises an item from the difference set of items;

determine that the item is unavailable by accessing the updated availability database; and

transmit, to the client device, an indication that the item is unavailable.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2022
From: GAO, LIN; HUANG, YILIN; YANG, SHIYUAN; WU, HAO; WU, GANGLU; ZHOU, XIAO
To: MAPLEBEAR INC. (DBA INSTACART)
Reel/Frame 061435/0779 →
Continuity (2)
Continuation PCTCN2022111574 · Aug 10, 2022
Related Publication 20240054449A1 · Feb 15, 2024
References Cited (15)
US 10832305B1 · Woodbeck · 2020 [cited by examiner]
US 20090059270A1 · Opalach · 2009 [cited by examiner]
US 20150127496A1 · Marathe et al. · 2015 [cited by applicant]
US 20180005035A1 · Bogolea · 2018 [cited by examiner]
US 20190034864A1 · Skaff · 2019 [cited by examiner]
US 20190043003A1 · Fisher et al. · 2019 [cited by applicant]
US 20190149725A1 · Adato · 2019 [cited by examiner]
US 20200151692A1 · Gao · 2020 [cited by examiner]
US 20210012272A1 · Dugar · 2021 [cited by examiner]
US 20210287271A1 · Prasad et al. · 2021 [cited by applicant]
US 20230097019A1 · Narendra · 2023 [cited by examiner]
US 20230177457A1 · Francis · 2023 [cited by examiner]
CN 101976377A · 2011 [cited by applicant]
CN 110914843A · 2020 [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/CN2022/111574, Apr. 20, 2023, 8 pages. [cited by applicant]