IP Library Granted Patent US 10,229,314
Granted Patent B1
US 10,229,314 · App. 15/281,517 · Granted Mar 12, 2019

Optical receipt processing

Inventors: Stephen Clark Mitchell (Chicago, IL); Pavel Melnichuk (Chicago, IL)
Assignee: GROUPON, INC.
G06K9/00442G06K9/4671G06Q20/0453G06K9/6227G06K2209/01
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 10,229,314
App. No.
15/281,517
Granted
Mar 12, 2019
Kind
B1
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 (79)

1. A system, comprising:

one or more servers configured to:

receive a first transformed image of a receipt from a consumer device, wherein the first transformed image is created by programmatically transforming image data captured by a camera using first image parameter values optimized for logo detection;

determine a training logo associated with a merchant;

perform a logo identification based on determining whether the first transformed image includes a logo corresponding with the training logo;

subsequent to determining that the first transformed image includes a logo that corresponds with the training logo associated with the merchant:

determine second image parameter values optimized for text extraction;

create a second transformed image by programmatically transforming the image data using the second image parameter values; and

perform a text extraction using the second transformed image to create receipt text data.

2. The system of claim 1 , wherein the one or more servers are further configured to determine the second image parameter values optimized for the text extraction based on the one or more servers being configured to:

generate test images of a second receipt using different combinations of image parameter values;

determine keywords of the second receipt;

determine text extraction scores based on comparisons of extracted text from the test images with the keywords; and

determine the second image parameter values based on the text extraction scores.

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

determine whether the receipt text data has been successfully created based on the text extraction; and

in response to determining that the receipt text data fails to be successfully created based on the text extraction, send a request for a third transformed image of the receipt to the consumer device, wherein the third transformed image is created by programmatically transforming second image data captured by the camera.

4. The system of claim 1 further comprising:

the consumer device configured to:

create the first transformed image by programmatically transforming the image data using the first image parameter values; and

send the first transformed image to the one or more servers.

5. The system of claim 1 , wherein the one or more servers are further configured to determine the first image parameter values optimized for logo detection based on being configured to:

generate test images of a second receipt using different combinations of image parameter values;

determine keywords of the second receipt;

determine text extraction scores based on comparisons of extracted text from the test images with the keywords; and

determine the second image parameter values based on the text extraction scores.

6. The system of claim 1 , wherein the one or more servers are further configured to, in response to determining that the first transformed image fails to include a logo corresponding with the training logo, send a request for a third transformed image of the receipt to the consumer device, wherein the third transformed image is created by programmatically transforming second image data captured by the camera.

7. The system of claim 1 , wherein the one or more servers configured to perform the logo identification includes the one or more servers being configured to perform a point-by-point comparison of the first transformed image with the training logo.

8. The system of claim 1 , wherein the one or more servers are further configured to provide the first image parameter values to the consumer devices prior to receiving the first transformed image from the consumer device.

9. A method comprising:

receiving a first transformed image of a receipt from a consumer device, wherein the first transformed image is created by programmatically transforming image data captured by a camera using first image parameter values optimized for logo detection;

determining a training logo associated with a merchant;

performing a logo identification based on determining whether the first transformed image includes a logo corresponding with the training logo;

subsequent to determining that the first transformed image includes a logo that corresponds with the training logo associated with the merchant:

determining second image parameter values optimized for text extraction;

creating a second transformed image by programmatically transforming the image data using the second image parameter values; and

performing a text extraction using the second transformed image to create receipt text data.

10. The method of claim 9 , wherein determining the second image parameter values optimized for the text extraction comprises:

generating test images of a second receipt using different combinations of image parameter values;

determining keywords of the second receipt;

determining text extraction scores based on comparisons of extracted text from the test images with the keywords; and

determining the second image parameter values based on the text extraction scores.

11. The method of claim 9 , further comprising:

determining whether the receipt text data has been successfully created based on the text extraction; and

in response to determining that the receipt text data fails to be successfully created based on the text extraction, sending a request for a third transformed image of the receipt to the consumer device, wherein the third transformed image is created by programmatically transforming second image data captured by the camera.

12. The method of claim 9 , wherein the consumer device is configured to:

create the first transformed image by programmatically transforming the image data using the first image parameter values; and

send the first transformed image to the one or more servers.

13. The method of claim 9 , wherein determining the first image parameter values optimized for logo detection comprises:

generating test images of a second receipt using different combinations of image parameter values;

determining keywords of the second receipt;

determining text extraction scores based on comparisons of extracted text from the test images with the keywords; and

determining the second image parameter values based on the text extraction scores.

14. The method of claim 9 , further comprising in response to determining that the first transformed image fails to include a logo corresponding with the training logo, sending a request for a third transformed image of the receipt to the consumer device, wherein the third transformed image is created by programmatically transforming second image data captured by the camera.

15. The method of claim 9 , further comprising providing the first image parameter values to the consumer devices prior to receiving the first transformed image from the consumer device.

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

receive a first transformed image of a receipt from a consumer device, wherein the first transformed image is created by programmatically transforming image data captured by a camera using first image parameter values optimized for logo detection;

determine a training logo associated with a merchant;

perform a logo identification based on determining whether the first transformed image includes a logo corresponding with the training logo;

subsequent to determining that the first transformed image includes a logo that corresponds with the training logo associated with the merchant:

determine second image parameter values optimized for text extraction;

create a second transformed image by programmatically transforming the image data using the second image parameter values; and

perform a text extraction using the second transformed image to create receipt text data.

17. The computer program product of claim 16 , wherein determining the second image parameter values optimized for the text extraction comprises:

generating test images of a second receipt using different combinations of image parameter values;

determining keywords of the second receipt;

determining text extraction scores based on comparisons of extracted text from the test images with the keywords; and

determining the second image parameter values based on the text extraction scores.

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

determine whether the receipt text data has been successfully created based on the text extraction; and

in response to determining that the receipt text data fails to be successfully created based on the text extraction, send a request for a third transformed image of the receipt to the consumer device, wherein the third transformed image is created by programmatically transforming second image data captured by the camera.

19. The computer program product of claim 16 , wherein the consumer device is configured to:

create the first transformed image by programmatically transforming the image data using the first image parameter values; and

send the first transformed image to the one or more servers.

20. The computer program product of claim 16 , wherein determining the first image parameter values optimized for logo detection comprises:

generating test images of a second receipt using different combinations of image parameter values;

determining keywords of the second receipt;

determining text extraction scores based on comparisons of extracted text from the test images with the keywords; and

determining the second image parameter values based on the text extraction scores.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2024
From: GROUPON, INC.
To: BYTEDANCE INC.
Reel/Frame 068833/0811 →
RELEASE OF SECURITY INTEREST Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY RIGHTS Recorded Feb 26, 2024
From: JPMORGAN CHASE BANK, N.A.
To: GROUPON, INC.; LIVINGSOCIAL, LLC (F/K/A LIVINGSOCIAL, INC.)
Reel/Frame 066676/0251 →
SECURITY INTEREST Recorded Jul 23, 2020
From: GROUPON, INC.; LIVINGSOCIAL, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 053294/0495 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2017
From: MITCHELL, STEPHEN CLARK; MELNICHUK, PAVEL
To: GROUPON, INC.
Reel/Frame 043647/0084 →
Continuity (1)
Provisional Application 62235173 · Sep 30, 2015
Cited By (5)
US 12,211,242 US 12,306,882 US 12,307,801 US 12,536,600 US 12,586,107