IP Library Granted Patent US 12,361,393
Granted Patent B2
US 12,361,393 · App. 18/533,584 · Granted Jul 15, 2025

Optical receipt processing

Inventors: Stephen Clark Mitchell (Chicago, IL); Pavel Melnichuk (Chicago, IL)
Assignee: BYTEDANCE INC.
G06Q20/047G06V30/40G06F18/285G06V30/10G06V30/19113G06V2201/09
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,361,393
App. No.
18/533,584
Granted
Jul 15, 2025
Kind
B2
Abstract

Techniques for providing improved optical character recognition (OCR) for receipts are discussed herein. Some embodiments may provide for a system including one or more servers configured to perform receipt image cleanup, logo identification, and text extraction. The image cleanup may include transforming image data of the receipt by using image parameters values that optimize the logo identification, and performing logo identification using a comparison of the image data with training logos associated with merchants. When a merchant is identified, a second image clean up may be performed by using image parameter values optimized for text extraction. A receipt structure may be used to categorize the extracted text. Improved OCR accuracy is also achieved by applying on format rules of the receipt structure to the extracted text.

Claims (66)

1. A system comprising:

one or more servers; and

a consumer device, the consumer device configured to:

capture image data;

execute at least one image cleanup process with respect to the image data, wherein the at least one image cleanup process comprises:

iteratively adjusting at least one image parameter value to programmatically identify receipt image data from the image data; and

extracting the receipt image data from the image data; and

output the extracted receipt image data to the one or more servers, wherein the one or more servers are configured to:

determine a merchant associated with the receipt image data, wherein determining the merchant associate with the receipt image data is based at least on logo detection, the logo detection comprising:

identifying a merchant logo within the receipt image data;

accessing training logo image data defining training logos associated with a plurality of merchants;

determining logo match scores between the identified merchant logo and the training logos; and

determining whether the logo match scores satisfy a logo match score threshold.

2. The system of claim 1 , wherein iteratively adjusting at least one image parameter value to programmatically identify receipt image data from the image data comprises:

setting one or more image parameters to predefined values according to a first set of predefined image parameters; and

iteratively adjusting the at least one image parameter value of the first set of predefined image parameters to distinguish the receipt image data from background image data.

3. The system of claim 2 , wherein the first set of predefined image parameters comprises at least one of contrast, brightness, filter size, offset, smoothing strategy, enhancement strategy, rotation, or skew.

4. The system of claim 3 , wherein iteratively adjusting the at least one image parameter value comprises:

identifying one or more receipt edges; and

performing one or more of an image de-skew, an image resize, or an image de-warp.

5. The system of claim 3 , wherein iteratively adjusting the at least one image parameter value comprises iteratively adjusting the contrast of the image data until edges of the receipt image data are identified within the image data.

6. The system of claim 5 , wherein the consumer device is further configured to:

perform a pixel-by-pixel analysis of each iteratively adjusted image to identify at least one of a color or a shape of a receipt corresponding to the receipt image data in the image data.

7. The system of claim 1 , wherein iteratively adjusting image parameter values is based on a predefined number of iterations.

8. The system of claim 7 , wherein the consumer device is further configured to:

capture second image data in an instance wherein one or more receipt edges are not identified in the image data subsequent to the predefined number of iterations.

9. The system of claim 1 , wherein determining the merchant associated with the receipt image data further comprises:

determining a merchant identifier associated with the receipt image data based on the logo detection.

10. The system of claim 1 , wherein the one or more servers are further configured to:

determine a receipt structure associated with the merchant, wherein the receipt structure defines one or more receipt elements and one or more locations respectively associated with the one or more receipt elements.

11. The system of claim 10 , wherein the one or more receipt elements include one or more transaction receipt elements, category receipt elements, or item receipt elements.

12. The system of claim 10 , wherein the one or more receipt elements include one or more of a stock keeping unit identifier receipt element, an item type receipt element, an item brand receipt element, a unit size receipt element, a unit count receipt element, a per unit price receipt element, or a total item price receipt element.

13. The system of claim 1 , wherein determining the merchant associated with the receipt image data further comprises:

receiving merchant identifier input via the consumer device.

14. The system of claim 1 , wherein determining the merchant associated with the receipt image data further comprises:

determining a consumer device location of the consumer device; and

associating the consumer device location with a known merchant location.

15. The system of claim 1 , wherein the one or more servers are further configured to perform text extraction on the receipt image data to generate receipt text data.

16. A computer-implemented method comprising:

causing capture of image data;

causing execution of at least one image cleanup process with respect to the image data, wherein the at least one image cleanup process comprises:

iteratively adjusting at least one image parameter value to programmatically identify receipt image data from the image data; and

extracting the receipt image data from the image data;

causing transmission of the extracted receipt image data to one or more servers; and

determining a merchant associated with the receipt image data, wherein determining the merchant associate with the receipt image data is based at least on logo detection, the logo detection comprising:

identifying a merchant logo within the receipt image data;

accessing training logo image data defining training logos associated with a plurality of merchants;

determining logo match scores between the identified merchant logo and the training logos; and

determining whether the logo match scores satisfy a logo match score threshold.

17. The computer-implemented method of claim 16 , further comprising:

determining a receipt structure associated with the merchant, wherein the receipt structure defines one or more receipt elements and one or more locations respectively associated with the one or more receipt elements.

18. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions comprising program code instructions configured to:

cause capture of image data;

cause execution of at least one image cleanup process with respect to the image data, wherein the at least one image cleanup process comprises:

iteratively adjusting at least one image parameter value to programmatically identify receipt image data from the image data; and

extracting the receipt image data from the image data;

cause transmission of the extracted receipt image data to one or more servers; and

determine a merchant associated with the receipt image data, wherein determining the merchant associate with the receipt image data is based at least on logo detection, the logo detection comprising:

identifying a merchant logo within the receipt image data;

accessing training logo image data defining training logos associated with a plurality of merchants;

determining logo match scores between the identified merchant logo and the training logos; and

determining whether the logo match scores satisfy a logo match score threshold.

19. The computer program product of claim 18 , the computer-executable program code instructions comprising program code instructions further configured to:

determine a receipt structure associated with the merchant, wherein the receipt structure defines one or more receipt elements and one or more locations respectively associated with the one or more receipt elements.

20. The system of claim 7 , wherein the consumer device is further configured to:

send a request to a display of the consumer device to capture second image data in an instance wherein receipt edges are not identified subsequent to the predefined number of iterations.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068538/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2023
From: MITCHELL, STEPHEN CLARK; MELNICHUK, PAVEL
To: GROUPON, INC.
Reel/Frame 065810/0165 →
Continuity (6)
Continuation 18058408 · Nov 23, 2022
Continuation 17115447 · Dec 8, 2020
Continuation 16254040 · Jan 22, 2019
Continuation 15281517 · Sep 30, 2016
Provisional Application 62235173 · Sep 30, 2015
Related Publication 20240177123A1 · May 30, 2024
References Cited (117)
US 6028970A · Dipiazza et al. · 2000 [cited by applicant]
US 6633687B1 · Cui · 2003 [cited by examiner]
US 6862335B2 · Basu · 2005 [cited by examiner]
US 6891633B1 · Hayward et al. · 2005 [cited by applicant]
US 7522755B2 · Li et al. · 2009 [cited by applicant]
US 7774075B2 · Lin · 2010 [cited by examiner]
US 7840092B2 · Sato et al. · 2010 [cited by applicant]
US 7889929B2 · Ashikaga · 2011 [cited by applicant]
US 7899249B2 · Furmaniak et al. · 2011 [cited by applicant]
US 8111927B2 · Vincent et al. · 2012 [cited by applicant]
US 8509536B2 · Hwang et al. · 2013 [cited by applicant]
US 8577118B2 · Nepomniachtchi et al. · 2013 [cited by applicant]
US 8756497B2 · Le et al. · 2014 [cited by applicant]
US 8805079B2 · Petrou et al. · 2014 [cited by applicant]
US 8811742B2 · Petrou et al. · 2014 [cited by applicant]
US 8903136B1 · Wang et al. · 2014 [cited by applicant]
US 9047265B2 · Hagisawa et al. · 2015 [cited by applicant]
US 9087235B2 · Petrou et al. · 2015 [cited by applicant]
US 9129340B1 · Medina, III · 2015 [cited by examiner]
US 9148675B2 · Ives et al. · 2015 [cited by applicant]
US 9165388B2 · Delia · 2015 [cited by examiner]
US 9176986B2 · Petrou et al. · 2015 [cited by applicant]
US 9218661B2 · Gazit · 2015 [cited by examiner]
US 9349133B2 · Park · 2016 [cited by examiner]
US 9355496B2 · Kasahara · 2016 [cited by applicant]
US 9418304B2 · Koo · 2016 [cited by examiner]
US 9558426B2 · Song et al. · 2017 [cited by applicant]
US 9569692B2 · Xie et al. · 2017 [cited by applicant]
US 9626556B2 · Wang et al. · 2017 [cited by applicant]
US 9641715B2 · Shimazaki · 2017 [cited by applicant]
US 9665787B2 · Zhou et al. · 2017 [cited by applicant]
US 9672510B2 · Roach et al. · 2017 [cited by applicant]
US 9754187B2 · Panferov et al. · 2017 [cited by applicant]
US 9824270B1 · Mao · 2017 [cited by applicant]
US 9922375B1 · Neveu · 2018 [cited by applicant]
US 10127636B2 · Ma et al. · 2018 [cited by applicant]
US 10134023B2 · Zhgeng et al. · 2018 [cited by applicant]
US 10192217B1 · Ellis · 2019 [cited by examiner]
US 10210579B1 · Neveu et al. · 2019 [cited by applicant]
US 10235668B1 · Ellis · 2019 [cited by examiner]
US 10255691B2 · Li et al. · 2019 [cited by applicant]
US 10318849B2 · Cooper · 2019 [cited by applicant]
US 10484610B2 · Ishida · 2019 [cited by applicant]
US 10664798B2 · Lorenzini · 2020 [cited by examiner]
US 10685223B2 · Nepomniachtchi et al. · 2020 [cited by applicant]
US 10963657B2 · Rodriguez et al. · 2021 [cited by applicant]
US 10990966B1 · Ellis · 2021 [cited by examiner]
US 11526913B2 · Sears et al. · 2022 [cited by applicant]
US 11538263B2 · Mitchell · 2022 [cited by examiner]
US 11797979B1 · Ellis · 2023 [cited by examiner]
US 20040264625A1 · Basu · 2004 [cited by examiner]
US 20050264527A1 · Lin · 2005 [cited by examiner]
US 20060204076A1 · Avinash et al. · 2006 [cited by applicant]
US 20070091373A1 · Sato et al. · 2007 [cited by applicant]
US 20070115510A1 · Braudaway · 2007 [cited by examiner]
US 20070206881A1 · Ashikaga · 2007 [cited by applicant]
US 20080025555A1 · Visan et al. · 2008 [cited by applicant]
US 20080107338A1 · Furmaniak et al. · 2008 [cited by applicant]
US 20090018895A1 · Weinblatt et al. · 2009 [cited by applicant]
US 20100005115A1 · Richter et al. · 2010 [cited by applicant]
US 20100073402A1 · Delia · 2010 [cited by examiner]
US 20100268604A1 · Kim et al. · 2010 [cited by applicant]
US 20100331043A1 · Chapman et al. · 2010 [cited by applicant]
US 20110091092A1 · Nepomniachtchi et al. · 2011 [cited by applicant]
US 20110123114A1 · Hwang et al. · 2011 [cited by applicant]
US 20110166934A1 · Comay · 2011 [cited by examiner]
US 20110170788A1 · Nepomniachtchi · 2011 [cited by applicant]
US 20110225031A1 · Park · 2011 [cited by examiner]
US 20110262536A1 · Jordan et al. · 2011 [cited by applicant]
US 20120128250A1 · Petrou et al. · 2012 [cited by applicant]
US 20120128251A1 · Petrou et al. · 2012 [cited by applicant]
US 20120134590A1 · Petrou et al. · 2012 [cited by applicant]
US 20130004076A1 · Koo · 2013 [cited by examiner]
US 20130085935A1 · Nepomniachtchi et al. · 2013 [cited by applicant]
US 20130155474A1 · Roach et al. · 2013 [cited by applicant]
US 20130230246A1 · Nuggehalli · 2013 [cited by examiner]
US 20140016845A1 · Gazit · 2014 [cited by examiner]
US 20140032406A1 · Roach · 2014 [cited by examiner]
US 20140067631A1 · Dhuse et al. · 2014 [cited by applicant]
US 20140193038A1 · Kasahara · 2014 [cited by applicant]
US 20140214652A1 · Zheng et al. · 2014 [cited by applicant]
US 20140366052A1 · Ives et al. · 2014 [cited by applicant]
US 20150139506A1 · Wang et al. · 2015 [cited by applicant]
US 20150248391A1 · Watanabe · 2015 [cited by applicant]
US 20150248733A1 · Evans · 2015 [cited by examiner]
US 20150262030A1 · Kawabata et al. · 2015 [cited by applicant]
US 20150278593A1 · Panferov et al. · 2015 [cited by applicant]
US 20150297949A1 · Aman · 2015 [cited by examiner]
US 20150310306A1 · Song et al. · 2015 [cited by applicant]
US 20160125265A1 · Xie et al. · 2016 [cited by applicant]
US 20160189314A1 · Nakayama · 2016 [cited by applicant]
US 20160227066A1 · Shimazaki · 2016 [cited by applicant]
US 20160309094A1 · Ishida · 2016 [cited by applicant]
US 20160344860A1 · Chapman et al. · 2016 [cited by applicant]
US 20160350590A1 · Cooper · 2016 [cited by applicant]
US 20160350592A1 · Ma et al. · 2016 [cited by applicant]
US 20160379188A1 · Barton · 2016 [cited by examiner]
US 20170018011A1 · Nakaoka · 2017 [cited by examiner]
US 20170091580A1 · Song et al. · 2017 [cited by applicant]
US 20170169422A1 · Ye · 2017 [cited by examiner]
US 20180025314A1 · Lorenzini · 2018 [cited by examiner]
US 20180114337A1 · Li et al. · 2018 [cited by applicant]
US 20180307942A1 · Pereira · 2018 [cited by examiner]
US 20190278986A1 · Nepomniachtchi et al. · 2019 [cited by applicant]
US 20200380226A1 · Rodriguez et al. · 2020 [cited by applicant]
US 20240054478A1 · Ellis · 2024 [cited by examiner]
EP 2546801A1 · 2013 [cited by examiner]
JP 4194301B2 · 2008 [cited by examiner]
Machine translation of JP 4194301 B2 (Year: 2008). [cited by examiner]
Machine translation of EP 2546801 A1 (Year: 2013). [cited by examiner]
U.S. Appl. No. 18/058,408, filed Nov. 23, 2022, U.S. Pat. No. 11,887,070, Issued. [cited by applicant]
U.S. Appl. No. 17/115,447, filed Dec. 8, 2020, U.S. Pat. No. 11,538,263, Issued. [cited by applicant]
U.S. Appl. No. 16/254,040, filed Jan. 22, 2019, U.S. Pat. No. 10,891,474, Issued. [cited by applicant]
U.S. Appl. No. 15/281,517, filed Sep. 20, 2016, U.S. Pat. No. 10,229,314, Issued. [cited by applicant]
Hamza et al., “Case-based reasoning for invoice analysis and recognition,” 7th International Conference on Case-based Reasoning—ICCBR 2007, Aug. 2007, Belfast, United Kingdom, pp. 404-418, ff10.1007/978-3-540-74141 -128… [cited by applicant]
Ozarslan et al., “Text recognition and correction for automated data collection by mobile devices,” Proc. SPIE 9027, Imaging and Multimedia Analytics in a Web and Mobile World 2014, 902706 (Mar. 3, 2014); doi: 10.1117/1… [cited by applicant]
U.S. Appl. No. 62/235,173, filed Sep. 30, 2015, entitled Optical Receipt Processing, 49 pages total. [cited by applicant]