IP Library Granted Patent US 9,626,556
Granted Patent B2
US 9,626,556 · App. 14/525,152 · Granted Apr 18, 2017

Client side filtering of card OCR images

Inventors: Xiaohang Wang (Jersey City, NJ); Alessandro Bissacco (Los Angeles, CA); Glenn Merlind Berntson (Jersey City, NJ); Marria Nazif (San Francisco, CA); Justin Scheiner (Oceanside, NY); Sam Shih (Long Island City, NY); Mark Leslie Snyder (Oakland, CA); Daniel Talavera (San Francisco, CA)
Assignee: GOOGLE INC.
G06K9/00463G06K9/036G06K9/18G06K2209/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 9,626,556
App. No.
14/525,152
Filed
Oct 27, 2014
Granted
Apr 18, 2017
Kind
B2
Art Unit
2665
USPC
382/112
Abstract

The technology of the present disclosure includes computer-implemented methods, computer program products, and systems to filter images before transmitting to a system for optical character recognition (“OCR”). A user computing device obtains a first image of the card from the digital scan of a physical card and analyzes features of the first image, the analysis being sufficient to determine if the first image is likely to be usable by an OCR algorithm. If the user computing device determines that the first image is likely to be usable, then the first image is transmitted to an OCR system associated with the OCR algorithm. Upon a determination that the first image is unlikely to be usable, a second image of the card from the digital scan of the physical card is analyzed. The optical character recognition system performs an optical character recognition algorithm on the filtered card.

Claims (57)

1. A computer-implemented method to filter images before transmission to optical character recognition systems to reduce unnecessary communications and processing of unusable images, comprising:

capturing, by a mobile computing device, a first image of a card;

analyzing, by the mobile computing device, features of the first image to determine whether the first image is likely to be usable by an optical character recognition algorithm operating on an optical character recognition system;

capturing, by the mobile computing device, a second image of the card in response to determining that the first image is not likely to be usable by an optical character recognition algorithm operating on an optical character recognition system;

analyzing, by the mobile computing device, features of the second image to determine whether the second image is likely to be usable by an optical character recognition algorithm operating on the optical character recognition system;

transmitting, by the mobile computing device, the second image to the optical character recognition system associated with the optical character recognition algorithm in response to determining that the second image is likely to be usable by the optical character recognition algorithm;

performing, by the optical character recognition system, the optical character recognition algorithm on the second image to extract relevant data; and

receiving, by the mobile computing device and from the optical character recognition system, the relevant data.

2. The computer-implemented method of claim 1 , wherein a third image is captured upon receiving, by the one or more computer devices and from the optical character recognition system, an indication that the optical character recognition algorithm produced results that were below a configured threshold confidence level.

3. The computer-implemented method of claim 1 , wherein the analyzing step comprises:

detecting, by the one or more computing devices, blur in the image; and

determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of blur detected in the image is below a configured threshold.

4. The computer-implemented method of claim 1 , wherein the analyzing step comprises:

detecting, by the one or more computing devices, a level of brightness in the image; and

determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that the level of brightness detected in the image is between configured thresholds.

5. The computer-implemented method of claim 1 , wherein the analyzing step comprises:

detecting, by the one or more computing devices, text in the image; and

determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of text detected in the image is above a configured threshold.

6. The computer-implemented method of claim 5 , further comprising determining, by the one or more computing devices, that the image is likely to be usable by an optical character recognition algorithm upon a determination that the text detected in the image is in a location of the image that corresponds to a configured expected location.

7. The computer-implemented method of claim 1 , wherein the card is a credit card, a debit card, an identification card, a loyalty card, an access card, or a stored value card.

8. A computer program product, comprising:

a non-transitory computer-readable storage device having computer-executable program instructions embodied thereon that when executed by a computer cause the computer to filter images before transmission to optical character recognition systems to reduce unnecessary communications and processing, the computer-executable program instructions comprising:

computer-executable program instructions to capture a first image of a card;

computer-executable program instructions to analyze features of the first image to determine whether the first image is likely to be usable by an optical character recognition algorithm;

computer-executable program instructions to capture a second image of the card in response to determining that the first image is not likely to be usable;

computer-executable program instructions to analyze features of the second image to determine whether the second image is likely to be usable by an optical character recognition algorithm; and

computer-executable program instructions to transmit the second image to an optical character recognition system associated with the optical character recognition algorithm in response to determining that the second image is likely to be usable by an optical character recognition algorithm.

9. The computer program product of claim 8 , wherein a third image is captured upon receiving, from the optical character recognition system, an indication that the optical character recognition algorithm produced results that were below a configured threshold confidence level.

10. The computer program product of claim 8 , wherein the analyzing step comprises:

computer-executable program instructions to detect blur in the image; and

computer-executable program instructions to determine the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of blur detected in the image is below a configured threshold.

11. The computer program product of claim 8 , wherein the analyzing step comprises:

computer-executable program instructions to detect a level of brightness in the image; and

computer-executable program instructions to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the level of brightness detected in the image is between configured thresholds.

12. The computer program product of claim 8 , wherein the analyzing step comprises:

computer-executable program instructions detect text in the image; and

computer-executable program instructions to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of text detected in the image is above a configured threshold.

13. The computer program product of claim 12 , further comprising computer-readable program instructions that cause the system to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the text detected in the image is in a location of the image that corresponds to a configured expected location.

14. A system to filter images before transmission to optical character recognition systems to reduce unnecessary communications and processing, comprising:

a storage resource;

a processor communicatively coupled to the storage resource, wherein the processor is configured to execute computer-readable instructions that are stored in the storage resource to cause the system to:

capturing a first image of a card;

analyze features of the first image to determine whether the first image is likely to be usable by an optical character recognition algorithm;

capture a second image of the card in response to determining that the first image is not likely to be usable;

analyze features of the second image to determine whether the second image is likely to be usable by an optical character recognition algorithm; and

transmit the first image to an optical character recognition system associated with the optical character recognition algorithm in response to determining that the first image is likely to be usable.

15. The system of claim 14 , wherein a third image is captured upon receiving, from the optical character recognition system, an indication that the optical character recognition algorithm produced results that were below a configured threshold confidence level.

16. The system of claim 14 , wherein the analyzing step comprises computer-readable instructions that cause the system to:

detect blur in the image; and

determine the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of blur detected in the image is below a configured threshold.

17. The system of claim 14 , wherein the analyzing step comprises computer-readable instructions that cause the system to:

detect a level of brightness in the image; and

determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the level of brightness detected in the image is between configured thresholds.

18. The system of claim 14 , wherein the analyzing step comprises computer-readable instructions that cause the system to:

detect text in the image; and

determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that an amount of text detected in the image is above a configured threshold.

19. The system of claim 18 , further comprising computer-readable instructions that cause the system to determine that the image is likely to be usable by an optical character recognition algorithm upon a determination that the text detected in the image is in a location of the image that corresponds to a configured expected location.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: WANG, XIAOHANG; BISSACCO, ALESSANDRO; BERNTSON, GLENN; NAZIF, MARRIA; SCHEINER, JUSTIN; SHIH, SAM; SNYDER, MARK LESLIE; TALAVERA, DANIEL
To: GOOGLE INC.
Reel/Frame 034923/0516 →
Continuity (3)
Continuation 14133232 · Dec 18, 2013
Provisional Application 61904801 · Nov 15, 2013
Related Publication 20150139506A1 · May 21, 2015