IP Library Granted Patent US 12,050,960
Granted Patent B2
US 12,050,960 · App. 17/703,076 · Granted Jul 30, 2024

Image-based barcode decoding

Inventors: Shiyuan Yang (Jersey City, NJ); Yilin Huang (Shanghai, CN); Wentao Pan (Shanghai, CN); Xiao Zhou (Shanghai, CN)
Assignee: Maplebear Inc.
G06K7/1413G06T7/10G06F2218/12G06T2207/20081
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,050,960
App. No.
17/703,076
Granted
Jul 30, 2024
Kind
B2
Abstract

A barcode decoding system decodes item identifiers from images of barcodes. The barcode decoding system receives an image of a barcode and rotates the image to a pre-determined orientation. The barcode decoding system also may segment the barcode image to emphasize the portions of the image that correspond to the barcode. The barcode decoding system generates a binary sequence representation of the item identifier encoded in the barcode by applying a barcode classifier model to the barcode image, and decodes the item identifier from the barcode based on the binary sequence representation.

Claims (68)

1. A method comprising:

at a computer system comprising a processor and a computer-readable medium:

receiving, from a camera, a barcode image comprising an image depicting a barcode, wherein the barcode represents an item identifier for an item using a sequence of bars, wherein each bar corresponds to a binary encoding of the item identifier;

generating a rotated image of the barcode by applying a rotation model to the barcode image, wherein the rotation model comprises a machine-learning model trained to rotate barcode images to a pre-determined orientation;

generating a segmented image of the barcode by applying a segmentation model to the rotated image of the barcode, wherein the segmentation model comprises a machine-learning model trained to remove backgrounds from rotated images of barcodes;

generating a binary sequence representation of the item identifier for the item by applying a barcode classifier model to the segmented image of the barcode, wherein the binary sequence representation comprises a set of binary predictions, wherein each of the binary predictions corresponds to a bar of the sequence of bars of the barcode and indicates a probabilistic prediction of a corresponding binary value of the binary encoding of the item identifier, and wherein the barcode classifier model is a machine-learning model trained to generate binary sequence representations of item identifiers for barcodes in segmented images; and

decoding the item identifier represented in the barcode from the binary sequence representation of the item identifier generated by the barcode classifier model.

2. The method of claim 1 , further comprising:

adding the item represented by the item identifier to a shopping list associated with a user.

3. The method of claim 2 , wherein:

receiving the barcode image comprises receiving an image captured by a camera of a shopper client device; and

adding the item represented by the item identifier to the shopping list associated with the user comprises adding the item represented by the item identifier to a shopping list of a user of an online concierge system.

4. The method of claim 2 , wherein receiving the barcode image comprises receiving an image that is captured by a camera coupled to a shopping cart, wherein the image captured by the camera coupled to the shopping cart depicts an item added to a basket of the shopping cart.

5. The method of claim 4 , further comprising: causing information associated with the item to be displayed on a display device coupled to the shopping cart.

6. The method of claim 1 , wherein the barcode classifier model generates the binary sequence of the item identifier by applying a connectionist temporal classification inference algorithm to the segmented image.

7. The method of claim 6 , wherein the barcode classifier model is trained based on a connectionist temporal classification loss function.

8. The method of claim 1 , wherein the segmentation model comprises an attention mechanism.

9. The method of claim 1 , wherein the pre-determined orientation is horizontal.

10. The method of claim 1 , wherein decoding the item identifier from the binary second representation comprises translating the binary sequence representation to an alphanumeric representation of the item identifier.

11. The method of claim 10 , wherein translating the binary sequence representation comprises applying a decoding process for a barcode encoding.

12. A method comprising:

at a computer system comprising a processor and a computer-readable medium:

receiving, from a camera, a barcode image comprising an image depicting a barcode, wherein the barcode represents an alphanumeric value using a sequence of bars, wherein each bar corresponds to a binary encoding of the alphanumeric value;

generating a binary sequence representation of the alphanumeric value by applying a barcode classifier model to the barcode image, wherein the barcode classifier model is a machine-learning model trained to generate binary sequence representations of alphanumeric values, wherein the binary sequence representation comprises a set of binary predictions, wherein each of the binary predictions corresponds to a bar of the sequence of bars of the barcode and indicates a probabilistic prediction of a corresponding binary value of the binary encoding of the item identifier for barcodes in images; and

decoding the alphanumeric value represented in the barcode from the binary sequence representation of the alphanumeric value.

13. The method of claim 12 , wherein the alphanumeric value represents an item identifier for an item.

14. The method of claim 13 , further comprising:

adding the item represented by the item identifier to a shopping list associated with a user.

15. The method of claim 14 , wherein:

receiving the barcode image comprises receiving an image captured by a camera of a shopper client device; and

adding the item represented by the item identifier to the shopping list associated with the user comprises adding the item represented by the item identifier to a shopping list of a user of an online concierge system.

16. The method of claim 14 , wherein receiving the barcode image comprises receiving an image that is captured by a camera coupled to a shopping cart, wherein the image captured by the camera coupled to the shopping cart depicts an item added to a basket of the shopping cart.

17. The method of claim 16 , further comprising: causing information associated with the item to be displayed on a display device coupled to the shopping cart.

18. The method of claim 12 , wherein the barcode classifier model generates the binary sequence of the alphanumeric value by applying a connectionist temporal classification inference algorithm based on the barcode image.

19. The method of claim 18 , wherein the barcode classifier model is trained based on a connectionist temporal classification loss function.

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

receive, from a camera, a barcode image comprising an image depicting a barcode, wherein the barcode represents an item identifier for an item using a sequence of bars, wherein each bar corresponds to a binary encoding of the item identifier;

generate a rotated image of the barcode by applying a rotation model to the barcode image, wherein the rotation model comprises a machine-learning model trained to rotate images of barcodes to a pre-determined orientation;

generate a segmented image of the barcode by applying a segmentation model to the rotated image, wherein the segmentation model comprises a machine-learning model trained to remove backgrounds from rotated images of barcodes;

generate a binary sequence representation of the item identifier for the item by applying a barcode classifier model to the segmented image of the barcode, wherein the binary sequence representation comprises a set of binary predictions, wherein each of the binary predictions corresponds to a bar of the sequence of bars of the barcode and indicates a probabilistic prediction of a corresponding binary value of the binary encoding of the item identifier, and wherein the barcode classifier model is a machine-learning model trained to generate binary sequence representations of item identifiers for barcodes in segmented images; and

decode the item identifier represented in the barcode from the binary sequence representation of the item identifier generated by the barcode classifier model.

21. The computer-readable medium of claim 20 , wherein the instructions further cause the processor to:

add the item represented by the item identifier to a shopping list associated with a user.

22. The computer-readable medium of claim 21 , wherein:

receiving the barcode image comprises receiving an image captured by a camera of a shopper client device; and

adding the item represented by the item identifier to the shopping list associated with the user comprises adding the item represented by the item identifier to a shopping list of a user of an online concierge system.

23. The computer-readable medium of claim 21 , wherein receiving the barcode image comprises receiving an image that is captured by a camera coupled to a shopping cart, wherein the image captured by the camera coupled to the shopping cart depicts an item added to a basket of the shopping cart.

24. The computer-readable medium of claim 23 , wherein the instructions further cause the processor to: cause information associated with the item to be displayed on a display device coupled to the shopping cart.

25. The computer-readable medium of claim 20 , wherein the barcode classifier model generates the binary sequence of the item identifier by applying a connectionist temporal classification inference algorithm to the segmented image.

26. The computer-readable medium of claim 25 , wherein the barcode classifier model is trained based on a connectionist temporal classification loss function.

27. The computer-readable medium of claim 20 , wherein the segmentation model comprises an attention mechanism.

28. The computer-readable medium of claim 20 , wherein the pre-determined orientation is horizontal.

29. The computer-readable medium of claim 20 , wherein decoding the item identifier from the binary second representation comprises translating the binary sequence representation to an alphanumeric representation of the item identifier.

30. The computer-readable medium of claim 29 , wherein translating the binary sequence representation comprises applying a decoding process for a barcode encoding.

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

receive, from a camera, a barcode image comprising an image depicting a barcode, wherein the barcode represents an alphanumeric value using a sequence of bars, wherein each bar corresponds to a binary encoding of the alphanumeric value;

generate a binary sequence representation of the alphanumeric value by applying a barcode classifier model to the barcode image, wherein the barcode classifier model is a machine-learning model trained to generate binary sequence representations of alphanumeric values, wherein the binary sequence representation comprises a set of binary predictions, wherein each of the binary predictions corresponds to a bar of the sequence of bars of the barcode and indicates a probabilistic prediction of a corresponding binary value of the binary encoding of the item identifier for barcodes in images; and

decode the alphanumeric value represented in the barcode from the binary sequence representation of the alphanumeric value.

32. The computer-readable medium of claim 31 , wherein the alphanumeric value represents an item identifier for an item.

33. The computer-readable medium of claim 32 , wherein the instructions further cause the processor to:

add the item represented by the item identifier to a shopping list associated with a user.

34. The computer-readable medium of claim 33 , wherein:

receiving the barcode image comprises receiving an image captured by a camera of a shopper client device; and

adding the item represented by the item identifier to the shopping list associated with the user comprises adding the item represented by the item identifier to a shopping list of a user of an online concierge system.

35. The computer-readable medium of claim 33 , wherein receiving the barcode image comprises receiving an image that is captured by a camera coupled to a shopping cart, wherein the image captured by the camera coupled to the shopping cart depicts an item added to a basket of the shopping cart.

36. The computer-readable medium of claim 35 , wherein the instructions further cause the processor to: cause information associated with the item to be displayed on a display device coupled to the shopping cart.

37. The computer-readable medium of claim 31 , wherein the barcode classifier model generates the binary sequence of the alphanumeric value by applying a connectionist temporal classification inference algorithm based on the barcode image.

38. The computer-readable medium of claim 37 , wherein the barcode classifier model is trained based on a connectionist temporal classification loss function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2022
From: YANG, SHIYUAN; HUANG, YILIN; PAN, WENTAO; ZHOU, XIAO
To: MAPLEBEAR INC. (DBA INSTACART)
Reel/Frame 060404/0820 →
Continuity (2)
Provisional Application 63165693 · Mar 24, 2021
Related Publication 20220309264A1 · Sep 29, 2022
Cited By (1)
US 12,488,091