Systems and methods for classifying payment documents during mobile image processing

Information

  • Patent Grant
  • 12125302
  • Patent Number
    12,125,302
  • Date Filed
    Thursday, September 23, 2021
    5 years ago
  • Date Issued
    Tuesday, October 22, 2024
    a year ago
Abstract
Systems and methods are provided for processing an image of a financial payment document captured using a mobile device and classifying the type of payment document in order to extract the content therein. These methods may be implemented on a mobile device or a central server, and can be used to identify content on the payment document and determine whether the payment document is ready to be processed by a business or financial institution. The system can identify the type of payment document by identifying features on the payment document and performing a series of steps to determine probabilities that the payment document belongs to a specific document type. The identification steps are arranged starting with the fastest step in order to attempt to quickly determine the payment document type without requiring lengthy, extensive analysis.
Description
BACKGROUND
1. Technical Field

The embodiments described herein relate to processing images of documents captured using a mobile device, and more particularly to real-time processing and feature extraction of images of payment documents for classifying the payment document therein.


2. Related Art

Financial institutions and other businesses have become increasingly interested in electronic processing of checks and other financial documents in order to expedite processing of these documents. Some techniques allow users to scan a copy of the document using a scanner or copier to create an electronic copy of the document that can be digitally processed to extract content. This provides added convenience over the use of a hardcopy original, which would otherwise need to be physically sent or presented to the recipient for processing. For example, some banks can process digital images of checks and extract check information from the image needed to process the check for payment and deposit without requiring that the physical check be routed throughout the bank for processing. However, the type of information and the accuracy of information which can be processed from an image of a check are limited. As a result, some checks cannot be processed and are rejected during the mobile deposit process. Furthermore, the types of documents which can be processed are often limited to checks, as other financial documents have varying formats and sizes which are too difficult to process electronically.


Mobile devices that incorporate cameras have also become ubiquitous and may also be useful to capture images of financial documents for mobile processing of financial information. The mobile device may be connected with a financial institution or business through a mobile network connection. However, the process of capturing and uploading images of financial documents is often prone to error and produces images of poor quality which cannot be used to extract data. The user is often unaware of whether the captured document image is sufficient and ready for processing by a business or financial institution. Additionally, the variety of formats, sizes and content found on different types of financial documents makes capturing a quality image and accurately extracting content a difficult process.


Therefore, there is a need for identifying a document type from a digital image of a document captured by a mobile device and accurately extracting content from the document.


SUMMARY

Systems and methods are provided for processing an image of a financial payment document captured using a mobile device and classifying the type of document in order to extract the content therein. These methods may be implemented on a mobile device or a central server, and can be used to identify content on the payment document and determine whether the payment document is ready to be processed by a business or financial institution. The system can identify the type of payment document by identifying features on the payment document and performing a series of steps to determine probabilities that the payment document belongs to a specific document type. The identification steps are arranged starting with the fastest step in order to attempt to quickly determine the payment document type without requiring lengthy, extensive analysis.


The payment document may be classified as a check, it may be classified as a personal check, business check, traveler's check, cashier's check, rebate check, etc, based on features identified on the image and compared using databases which store payment type information. Once the type of payment document is determined, known information about the type of payment document is utilized to determine whether the content on the payment document is sufficient for processing of the payment (such as depositing the check) or whether any risk or indications of fraud associated with a particular type of payment document require further processing. Customized rules can be created by a business or financial institution to provide specific actions depending on the type of payment document which is being deposited. Additional portions of the payment document, including a signature line, addressee field, etc. can be checked to ensure that the check is ready to be deposited by the bank.


These and other features, aspects, and embodiments are described below in the section entitled “Detailed Description.”





BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and embodiments are described in conjunction with the attached drawings, in which:



FIG. 1 is a block diagram of a system for classifying a payment document, according to one exemplary embodiment;



FIG. 2 is a flow diagram of a method of classifying the payment document, according to one exemplary embodiment;



FIG. 3 is a flow diagram of a decision tree for processing an image of a payment document and classifying the payment document, according to one exemplary embodiment;



FIG. 4 is an image of a MICR line which is detected in the process of classifying the payment document, according to one embodiment of the invention;



FIG. 5 is an image of a money order with an OCRA codeline that can be detected for classifying the payment document, according to one embodiment of the invention;



FIG. 6 is an image of a rebate check with a barcode which can be detected, parsed and read for classifying the payment document, according to one embodiment of the invention;



FIG. 7 is an image of a portion of a check depicting the identification of connected components on the payment document, according to one embodiment;



FIG. 8 is an image of a check where an image processing step has identified horizontal and vertical lines, according to one embodiment of the invention;



FIG. 9 is an image of a check where a check number and a lock icon have been identified on the check, according to one embodiment of the invention;



FIG. 10 is an image of a check where a cross-validation process is carried out to match the check number in one location of the check with the check number located in the MICR line, according to one embodiment of the invention;



FIG. 11 is an image of a money order where the MICR line is parsed and analyzed in order to classify the type of check, according to one exemplary embodiment;



FIG. 12 is an image of a rebate form which is identified by finding linear patterns on the document, according to one exemplary embodiment;



FIG. 13 is an image of a rebate form which is identified by finding a one-dimensional barcode on the document, according to one exemplary embodiment;



FIG. 14A is an image of a money order which is identified by finding a keyword on the payment document, according to one embodiment of the invention;



FIG. 14B is an image of a cashier's check which is identified by finding a keyword on the payment document, according to one embodiment of the invention;



FIG. 15 is a block diagram of various functional elements of a mobile device that can be used with the various systems and methods described herein, according to one embodiment; and



FIG. 16 is a block diagram of functional elements of a computer system that can be used to implement the mobile device and/or the servers described in the systems and methods disclosed herein.





DETAILED DESCRIPTION

The following detailed description is directed to certain specific embodiments. However, it will be understood that these embodiments are by way of example only and should not be seen as limiting the systems and methods described herein to the specific embodiments, architectures, etc. In this description, reference is made to the drawings wherein like parts are designated with like numerals throughout.


Systems and methods are provided for processing an image of a financial payment document captured using a mobile device and classifying the type of payment document in order to extract the content therein. By correcting aspects of the image and extracting relevant features, the type of payment document can be identified, which then provides for faster and more accurate content extraction. An image of a payment document captured by a mobile device is first processed to improve the quality of the image and increase the ability to extract content from the image. Various features are then extracted from the image, and these features are analyzed using a probabilistic approach with a hierarchical classification algorithm to quickly and accurately classify the payment document in the fewest number of steps. Existing information about types of payment documents is utilized to determine if the features and characteristics indicate a particular payment document classification. Additionally, geometric characteristics of the payment document or keyword identification based on an optical character recognition (OCR) step may be used to classify the payment document.


In one embodiment, the payment document is a type of check, wherein the check is classified as a personal check, business check, traveler's check, cashier's check, rebate check, money order, gift certificate, IRS refund check. By classifying the type of check, stored information about particular check types can be used to more accurately capture the content of the check and verify the accuracy of the information on the check. The identified check type may also tell a third party recipient of the check, such as a bank or business, whether the payment document is authentic or fraudulent and whether further processing of the payment document is needed before it can be accepted for payment. Types of checks may be more generally sorted into categories that may be customized by the recipient, such as a group of “regular” check types which are known to be authentic or a group of “irregular checks” that are known to be fraudulent or which are difficult to process to accurately extract their content. In one embodiment, the system may determine that the payment document is simply not a check at all if the features, geometric characteristics and keywords do not provide any indications that the document is a payment document.


These systems and methods may be implemented on a mobile device or at a central server, and either can access stored information about different payment documents and their formats from databases connected with the mobile device or central service over a network. Users are also able to customize the functionality of the classification algorithm to determine the thresholds for various feature matching steps, but also to set customized classifiers which may group certain sets of payment documents into one group and the rest in another based on the user's preferences or experiences in handling checks.


Once the payment document has been classified, content can be extracted based on customized payment document information about where certain fields are located on the form and the expected values of some of those fields. The content of the payment document is more quickly and accurately captured, allowing third parties who need to process the payment document—such as a bank receiving the check for a mobile deposit process—to have greater confidence in the ability to extract the correct information.


I. System Overview


FIG. 1 illustrates one embodiment of a system 100 for processing an image of a payment document captured by a mobile device and classifying the payment document. The system 100 includes a mobile device 102, such as a cellular phone, smartphone, tablet, personal digital assistant (PDA) or other portable electronic device that may be connected with a communications network. The mobile device 102 may include an image capture device (not shown), such as a digital camera or a portable scanning device, that uses an image sensor to capture an image of a document. The mobile device 102 is connected with a central server 104 over a network so that the mobile device 102 can transmit captured images, content or other data to the central server 104. In one embodiment, the central server 104 may send information to the mobile device 102 (and specifically an application running on the mobile device) regarding the payment document types, features and other information needed for the mobile device to classify the payment document and extract content from the payment document. The mobile device 102 or the central server 104 may perform additional image processing and data extraction, as will be described in further detail below, in order to determine information about the document and identify the appropriate content. In one embodiment, the central server 104 may be connected with a feature knowledge database 106 which stores information about different payment document types and the features of each type of payment document. The central server 104 may also be connected with a feature extraction database 108 which stores information obtained from the images captured by the mobile device, such as the features, payment document classifications and content. The payment document type, content of the document and other extracted information may then be transmitted to a third party recipient 110, such as a bank or business which is attempting to process the payment indicated on the payment document.



FIG. 2 illustrates a high level flow diagram of a method of classifying the payment document, which depicts how the payment document types may be grouped into overall categories of “regular checks” 202 “irregular checks” 204 or “not-a-payment” 206 documents. A determination is first made as to whether the document is a payment document, after which a document which has been identified as a payment document is classified as either a regular check 202 or an irregular check 204. In one embodiment, personal and business check types comprise the so called “regular” check category, whereas the rest of payment types comprise the so called “irregular” check category. The irregular check categories can be further categorized into specific types or irregular checks, such as cashier's checks 208 or traveler's checks 210. In some instances, even the specific type of irregular checks may have multiple sub-types, as illustrated with the money order 212 in FIG. 2. As will be described further below, these categories may be customized by each user depending on the application and need for identifying certain types of payment documents.


II. Features of Payment Documents

In one embodiment, the system uses prior knowledge about each of the payment document types and includes this into a payment document model stored in the feature knowledge database 106. Each payment document type is characterized according to known information about: 1) the presence of certain image features (such as barcodes, code-lines, check numbers, “lock” icons etc); 2) the values of some geometric characteristic of the payment document (such as width, height, aspect ratio etc); 3) the presence of certain keywords (such as “Money Order,” “Pay to the order of” or “Cashier's Check”); and 4) cross-validation between certain features which have the same values (such as a check number in an upper right corner and the check number included in a MICR line), etc.


III. Probabilistic Feature Identification

Each feature is described in probabilistic terms, as in the probability that the payment document is a certain type of payment document based on the presence of a certain feature. For example, a “lock” icon (see FIG. 7) has a certain probability (x) of occurrence in personal checks, a second probability (y) of occurrence in a money order, etc. The probability value required to make a definitive determination of a payment document type may vary depending on the particular feature in question, or may be based on a combined probability of several features.


The probabilistic approach helps to build a payment classifier which is both fast and robust to the many distortions that occur in mobile images.


IV. Hierarchical Identification

The system uses document identification logic based on a hierarchical classification algorithm, according to the flowchart in FIG. 3, to perform a specifically-designed series of steps that will determine the payment document type as quickly and accurately as possible. The decision tree starts with easy-to-compute features and tries to make a final, definitive classification as early in the process as possible in order to avoid more time-consuming computation steps later on.


In order to finish the classification process, the system uses known probabilistic distributions of features within the payment document types and between the payment document types. At each decision point (see steps 500, 700 and 900 in FIG. 3), the system matches the features it identified against the feature knowledge database and estimates if the probability of identification is high enough to finish the process. If the probability of the payment document in the mobile-captured images exceeds a certain threshold at one of these decision points, the classification process stops. However, if the final decision of the payment document type cannot be determined at an earlier decision point, the system moves along the decision tree in FIG. 3 towards more time-consuming steps.


As illustrated in FIG. 3, the method may include a first step 10 of receiving a mobile image of the payment document. The mobile image of the payment document may remain on the mobile device for processing at the mobile device itself, or it may be passed on to the central server for processing. In step 20, one or more image processing steps may be performed on the mobile image in order to improve the quality of the image and correct one or more problems with the image caused by the limitations of mobile image capture. In one embodiment, the image processing steps may be those described in U.S. Pat. No. 8,000,514, entitled “Methods for Mobile Image Capture and Processing of Checks,” the content of which is incorporated herein in its entirety. The image processing may also crop the image to display only the portion of the image which includes the payment document. A third step 30 of creating a bitonal image of the cropped and corrected image may then be carried out in order to improve the readability of the payment document by a content recognition process such as OCR.


The cropped, corrected and binarized image may then be provided for the hierarchical classification steps, as will be described in detail immediately below.


Image Preprocessing


The hierarchical classification begins with an image pre-processing step 100. In this step, the image is processed in order to extract all features needed to classify the payment document type. Examples of features that may be identified are listed below, although one of skill in the art will appreciate that other features may be identified and used to determine payment document types. Image pre-processing may include the following operations:

    • 1. Finding and reading of a magnetic ink character recognition (“MICR”) line 402, as illustrated in FIG. 4.
    • 2. Finding and reading of an optical character recognition type A (“OCR-A”) codeline 502, as illustrated in FIG. 5.
    • 3. Finding one or more barcodes 602, as illustrated in FIG. 6.
    • 4. Finding one or more image elements, such as connected components 702 (FIG. 7), horizontal lines 802 and vertical lines 804 (FIG. 8), a check number 902 in a top-right quadrant of the image 900 (FIG. 9) and a “lock” icon 904 in a middle-right side of the image 900. A connected component (CC) is a group of mutually adjacent (connected) pixels on the image which is separated from the rest of the image. Usually, each character is represented by one CC (except for ‘I’ and ‘j’ which may have 2 CCs). If a character is broken due to imaging deficiencies, it's represented by 2 or more CCs.
    • 5. Performing a cross-validation and possible correction of the check number 1002 extracted from the MICR-line 1004 against the check number 1006 found in the upper right corner of image 1000, as illustrated in FIG. 10. This information is used in decision making steps described further herein.


      Extracting Geometric Features


In step 200, geometric image characteristics of the payment document may be determined, such as a width, height and aspect ratio. This step also provides the ability to estimate possible positions of the “lock” icon 904 and barcode line 602 by grouping found connected components. The system uses the size, alignment and adjacency characteristics to detect the “lock” icon and barcode. For example, a barcode contains at least N connected components, which are closer than Y pixels to each other and have height-to-width ration of at least Z.


Pre-Classification Using Geometric Features


In step 300, the geometrical features identified in step 200 are analyzed in order to narrow down the subset of possible document types. This step filters and eliminates inapplicable document types using geometrical characteristics of the given image. For instance, business checks are wider than personal checks; personal checks differ from most irregular check types by aspect ratio, etc.


Lock Icon Detection—First Decision Point


In step 400, the system looks for the “lock” icon 904 on the image in the areas where it is typically found on a personal check, cashier's check and money order. The results of the geometric feature extraction 200 helps identify the possible search areas for the lock icon 904. The “lock” detection is based on a technique designed for “lock” classification. The lock detection technique is a symbol recognition technique similar to the one used to recognize MICR-characters. It is based on a comparison of connected components (potential location of “lock”) against several hundred template images (from a training data base). The result of the lock icon detection 400 includes a set of found alternative lock positions within the image. These positions can then be compared with the known positions of the lock icon in different payment document types to hopefully determine the payment document type at this stage in the process.


At step 500, if the “lock” icon has been found in step 400 above and its position has been matched with a payment document type or types, the identification process is completed. Otherwise, further analysis is needed. In one embodiment, a standard Bayesian model is used for developing the probabilistic approach.


MICR Line Analysis—Second Decision Point


In step 600, if the document was not identified by the lock icon detection decision point 500, the process tries to complete identification by finding unique values and/or positions of the MICR line components 1102 that may be present in each document type, as illustrated in FIG. 11. The MICR-line analysis attempts to reduce a number of hypotheses for the payment document type. Each document type has its own type-specific MICR properties, presence or lack of which is used in this step. For example, more than 99% of personal checks will have the check number in the MICR line, whereas other types of payment are much less likely to have it. This information is built into the probabilistic model which is used at every decision-making step


In step 700, if the MICR line analysis provides a sufficient probability that the payment document is a specific type, the classification process is complete. If not, more detailed analysis is needed.


Store Rebate Detection—Third Decision Point


In step 800, the payment document is analyzed to find specific linear patterns 1202 indicated by the dashed line along a bottom edge of the rebate check 1200 in FIG. 12, or unique one-dimensional bar codes 1302 in FIG. 13 which are known to occur in a store rebate check 1300.


In step 900, if one or more of the aforementioned patterns were found and geometrical features confirm the patterns, the classification process is complete. If not, more detailed analysis is needed.


Keyword Classification


If none of the above steps have been able to classify the payment document, keyword classification is performed in step 1000 by performing optical character recognition (OCR) on the payment document and analyzing words and phrases to determine a payment document type. This is the slowest classification step since it uses OCR, which is why it is performed only at the end of the classification process and only if other classification steps have failed. Keyword classification looks for predefined keywords that are known to appear on different payment document types, such as the word “money order” 1402 on the money order 1400 in FIG. 14A, or the word “cashier's check” 1406 on the cashier's check 1408 in FIG. 14B. Other phrases such as “pay to the order of” may be used simply to determine if the payment document is a payment document or a non-payment document. If one of preconfigured keywords was found, the payment document is classified according to the corresponding document type, and the classification process stops.


If the keyword classification step 1000 fails to identify the document, the classification algorithm outputs a full set of hypotheses for each of the decision points listed above which correspond to the previous classification stages. The output of the hypotheses may provide insight into the type of payment document based on the determined probabilities in relation to each other.


V. User-Specific Configurations

The classification algorithm is adjustable and flexible enough to match a user's preferences, such as which document types should be distinguished and which should be placed to the same terminal category, according to the document models above. For instance, the user can configure the algorithm to classify an IRS refund check as a “Regular Check,” or configure it to ignore differences between Cashier's Checks and Traveler's Checks by placing them into the same output category.


In one embodiment, differentiating between types of checks provides additional information to a bank being asked to deposit the check as to the potential risk of the check being fraudulent. The risk of fraudulent checks varies depending on the type of check, and so a bank can set up customized rules for each type of check that it may receive during a mobile deposit process. If the check type is one that is commonly associated with fraud, the bank may immediately deny the request, or request additional processing of the check image before deciding whether to deposit the check. The user is sent a message if the deposit is denied, and may be provided with instructions to manually deposit the check so that the bank can review the original check.


VI. Computer-Implemented Embodiment


FIG. 15 is an exemplary embodiment of a mobile device 4400 according to an embodiment. Mobile device 4400 can be used to implement the mobile device 102 of FIG. 1. Mobile device 4200 includes a processor 4410. The processor 4410 can be a microprocessor or the like that is configurable to execute program instructions stored in the memory 4420 and/or the data storage 4440. The memory 4420 is a computer-readable memory that can be used to store data and or computer program instructions that can be executed by the processor 4410. According to an embodiment, the memory 4420 can comprise volatile memory, such as RAM and/or persistent memory, such as flash memory. The data storage 4440 is a computer readable storage medium that can be used to store data and or computer program instructions. The data storage 4440 can be a hard drive, flash memory, a SD card, and/or other types of data storage.


The mobile device 4400 also includes an image capture component 4430, such as a digital camera. According to some embodiments, the mobile device 4400 is a mobile phone, a smart phone, or a PDA, and the image capture component 4430 is an integrated digital camera that can include various features, such as auto-focus and/or optical and/or digital zoom. In an embodiment, the image capture component 4430 can capture image data and store the data in memory 4220 and/or data storage 4440 of the mobile device 4400.


Wireless interface 4450 of the mobile device can be used to send and/or receive data across a wireless network. For example, the wireless network can be a wireless LAN, a mobile phone carrier's network, and/or other types of wireless network.


I/O interface 4460 can also be included in the mobile device to allow the mobile device to exchange data with peripherals such as a personal computer system. For example, the mobile device might include a USB interface that allows the mobile to be connected to USB port of a personal computer system in order to transfers information such as contact information to and from the mobile device and/or to transfer image data captured by the image capture component 4430 to the personal computer system.


As used herein, the term unit might describe a given unit of functionality that can be performed in accordance with one or more embodiments of the present invention. As used herein, a unit might be implemented utilizing any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, logical components, software routines or other mechanisms might be implemented to make up a module. In implementation, the various modules described herein might be implemented as discrete modules or the functions and features described can be shared in part or in total among one or more modules. In other words, as would be apparent to one of ordinary skill in the art after reading this description, the various features and functionality described herein may be implemented in any given application and can be implemented in one or more separate or shared modules in various combinations and permutations. Even though various features or elements of functionality may be individually described or claimed as separate modules, one of ordinary skill in the art will understand that these features and functionality can be shared among one or more common software and hardware elements, and such description shall not require or imply that separate hardware or software components are used to implement such features or functionality.


Where components or modules of processes used in conjunction with the operations described herein are implemented in whole or in part using software, in one embodiment, these software elements can be implemented to operate with a computing or processing module capable of carrying out the functionality described with respect thereto. One such example-computing module is shown in FIG. 16, which illustrates a computer system that can be used to implement mobile image payment document classification system, according to an embodiment.


Various embodiments are described in terms of this example-computing module 1900. After reading this description, it will become apparent to a person skilled in the relevant art how to implement the invention using other computing modules or architectures.


Referring now to FIG. 16, computing module 1900 may represent, for example, computing or processing capabilities found within desktop, laptop and notebook computers; mainframes, supercomputers, workstations or servers; or any other type of special-purpose or general-purpose computing devices as may be desirable or appropriate for a given application or environment. Computing module 1900 might also represent computing capabilities embedded within or otherwise available to a given device. For example, a computing module might be found in other electronic devices. Computing module 1900 might include, for example, one or more processors or processing devices, such as a processor 1904. Processor 1904 might be implemented using a general-purpose or special-purpose processing engine such as, for example, a microprocessor, controller, or other control logic.


Computing module 1900 might also include one or more memory modules, referred to as main memory 1908. For example, random access memory (RAM) or other dynamic memory might be used for storing information and instructions to be executed by processor 1904. Main memory 1908 might also be used for storing temporary variables or other intermediate information during execution of instructions by processor 1904. Computing module 1900 might likewise include a read only memory (“ROM”) or other static storage device coupled to bus 1902 for storing static information and instructions for processor 1904.


The computing module 1900 might also include one or more various forms of information storage mechanism 1910, which might include, for example, a media drive 1912 and a storage unit interface 1920. The media drive 1912 might include a drive or other mechanism to support fixed or removable storage media 1914. For example, a hard disk drive, a floppy disk drive, a magnetic tape drive, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive. Accordingly, storage media 1914 might include, for example, a hard disk, a floppy disk, magnetic tape, cartridge, optical disk, a CD or DVD, or other fixed or removable medium that is read by, written to or accessed by media drive 1912. As these examples illustrate, the storage media 1914 can include a computer usable storage medium having stored therein particular computer software or data.


In alternative embodiments, information storage mechanism 1910 might include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into computing module 1900. Such instrumentalities might include, for example, a fixed or removable storage unit 1922 and an interface 1920. Examples of such storage units 1922 and interfaces 1920 can include a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, a PCMCIA slot and card, and other fixed or removable storage units 1922 and interfaces 1920 that allow software and data to be transferred from the storage unit 1922 to computing module 1900.


Computing module 1900 might also include a communications interface 1924. Communications interface 1924 might be used to allow software and data to be transferred between computing module 1900 and external devices. Examples of communications interface 1924 might include a modem or softmodem, a network interface (such as an Ethernet, network interface card, WiMedia, IEEE 802.XX or other interface), a communications port (such as for example, a USB port, IR port, RS232 port Bluetooth® interface, or other port), or other communications interface. Software and data transferred via communications interface 1924 might typically be carried on signals, which can be electronic, electromagnetic (which includes optical) or other signals capable of being exchanged by a given communications interface 1924. These signals might be provided to communications interface 1924 via a channel 1928. This channel 1928 might carry signals and might be implemented using a wired or wireless communication medium. These signals can deliver the software and data from memory or other storage medium in one computing system to memory or other storage medium in computing system 1900. Some examples of a channel might include a phone line, a cellular link, an RF link, an optical link, a network interface, a local or wide area network, and other wired or wireless communications channels.


Computing module 1900 might also include a communications interface 1924. Communications interface 1924 might be used to allow software and data to be transferred between computing module 1900 and external devices. Examples of communications interface 1924 might include a modem or softmodem, a network interface (such as an Ethernet, network interface card, WiMAX, 802.XX or other interface), a communications port (such as for example, a USB port, IR port, RS232 port, Bluetooth interface, or other port), or other communications interface. Software and data transferred via communications interface 1924 might typically be carried on signals, which can be electronic, electromagnetic, optical or other signals capable of being exchanged by a given communications interface 1924. These signals might be provided to communications interface 1924 via a channel 1928. This channel 1928 might carry signals and might be implemented using a wired or wireless medium. Some examples of a channel might include a phone line, a cellular link, an RF link, an optical link, a network interface, a local or wide area network, and other wired or wireless communications channels.


In this document, the terms “computer program medium” and “computer usable medium” are used to generally refer to physical storage media such as, for example, memory 1908, storage unit 1920, and media 1914. These and other various forms of computer program media or computer usable media may be involved in storing one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on the medium, are generally referred to as “computer program code” or a “computer program product” (which may be grouped in the form of computer programs or other groupings). When executed, such instructions might enable the computing module 1900 to perform features or functions of the present invention as discussed herein.


While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not of limitation. The breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments. Where this document refers to technologies that would be apparent or known to one of ordinary skill in the art, such technologies encompass those apparent or known to the skilled artisan now or at any time in the future. In addition, the invention is not restricted to the illustrated example architectures or configurations, but the desired features can be implemented using a variety of alternative architectures and configurations. As will become apparent to one of ordinary skill in the art after reading this document, the illustrated embodiments and their various alternatives can be implemented without confinement to the illustrated example. One of ordinary skill in the art would also understand how alternative functional, logical or physical partitioning and configurations could be utilized to implement the desired features of the present invention.


Furthermore, although items, elements or components of the invention may be described or claimed in the singular, the plural is contemplated to be within the scope thereof unless limitation to the singular is explicitly stated. The presence of broadening words and phrases such as “one or more,” “at least,” “but not limited to” or other like phrases in some instances shall not be read to mean that the narrower case is intended or required in instances where such broadening phrases may be absent.

Claims
  • 1. A method comprising using at least one hardware processor to: receive an image to be classified as one of a plurality of types of payment document; andextract one or more features from the image, wherein the one or more features comprise at least one geometric characteristic of the image, and wherein the at least one geometric characteristic of the image comprises an aspect ratio; andclassify the image using a classification algorithm that comprises a plurality of classifiers, wherein the plurality of classifiers include at least a first classifier and a second classifier that requires a more time-consuming computation than the first classifier, wherein at least one of the plurality of classifiers eliminates one or more of the plurality of types of payment document based on the aspect ratio, and wherein classifying the image comprises, prior to executing the second classifier, executing the first classifier,when the first classifier classifies the image as one of the plurality of types of payment document with a probability that exceeds a threshold, classifying the image as the certain one type of payment document without executing the second classifier, and,when the first classifier is unable to classify the image as one of the plurality of types of payment document with a probability that exceeds the threshold, executing the second classifier.
  • 2. The method of claim 1, further comprising using the at least one hardware processor to, before classifying the image, crop, correct, and binarize the image.
  • 3. The method of claim 1, wherein the one or more features comprise a magnetic ink character recognition (MICR) line.
  • 4. The method of claim 1, wherein the one or more features comprise an optical character recognition type A (OCR-A) codeline.
  • 5. The method of claim 1, wherein the one or more features comprise a barcode.
  • 6. The method of claim 1, wherein the one or more features comprise a check number.
  • 7. The method of claim 1, wherein the one or more features comprise a lock icon.
  • 8. The method of claim 1, wherein at least one of the plurality of classifiers: determines a position of a component in the image; andcompares the determined position of the component to known positions of the component in one or more of the plurality of types of payment document to identify at least one of the plurality of types of payment document for which the known position matches the determined position.
  • 9. The method of claim 8, wherein the component is a lock icon.
  • 10. The method of claim 1, wherein at least one of the plurality of classifiers: identifies a magnetic ink character recognition (MICR) line in the image; anddetermines a probability that the image is of one or more of the plurality of types of payment document based on one or more characteristics of the MICR line.
  • 11. The method of claim 1, wherein at least one of the plurality of classifiers identifies a specific linear pattern, associated with one of the plurality of types of payment document, in the image.
  • 12. The method of claim 1, wherein the second classifier: performs optical character recognition on the image to recognize one or more character strings; andanalyzes the one or more character strings to classify the image.
  • 13. The method of claim 1, wherein the plurality of types of payment document comprises a personal check, a business check, and one or more categories of irregular check.
  • 14. The method of claim 1, wherein the first classifier does not utilize keywords obtained by optical character recognition (OCR) performed on the image, and wherein the second classifier does utilize keywords obtained by OCR performed on the image.
  • 15. A system comprising: at least one hardware processor; andone or more software modules that are configured to, when executed by the at least one hardware processor, receive an image to be classified as one of a plurality of types of payment document,extract one or more features from the image, wherein the one or more features comprise at least one geometric characteristic of the image, and wherein the at least one geometric characteristic of the image comprises an aspect ratio, andclassify the image using a classification algorithm that comprises a plurality of classifiers, wherein the plurality of classifiers include at least a first classifier and a second classifier that requires a more time-consuming computation than the first classifier, wherein at least one of the plurality of classifiers eliminates one or more of the plurality of types of payment document based on the aspect ratio, and wherein classifying the image comprises, prior to executing the second classifier, executing the first classifier,when the first classifier classifies the image as one of the plurality of types of payment document with a probability that exceeds a threshold, classifying the image as the certain one type of payment document without executing the second classifier, and,when the first classifier is unable to classify the image as one of the plurality of types of payment document with a probability that exceeds the threshold, executing the second classifier.
  • 16. A non-transitory computer-readable medium having instructions stored thereon, wherein the instructions, when executed by a processor, cause the processor to: receive an image to be classified as one of a plurality of types of payment document;extract one or more features from the image, wherein the one or more features comprise at least one geometric characteristic of the image, and wherein the at least one geometric characteristic of the image comprises an aspect ratio; andclassify the image using a classification algorithm that comprises a plurality of classifiers, wherein the plurality of classifiers include at least a first classifier and a second classifier that requires a more time-consuming computation than the first classifier, wherein at least one of the plurality of classifiers eliminates one or more of the plurality of types of payment document based on the aspect ratio, and wherein classifying the image comprises, prior to executing the second classifier, executing the first classifier,when the first classifier classifies the image as one of the plurality of types of payment document with a probability that exceeds a threshold, classifying the image as the certain one type of payment document without executing the second classifier, and,when the first classifier is unable to classify the image as one of the plurality of types of payment document with a probability that exceeds the threshold, executing the second classifier.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 16/817,451, filed on Mar. 12, 2020, which is a continuation of U.S. application Ser. No. 16/579,625, filed on Sep. 23, 2019, which is a continuation of U.S. application Ser. No. 15/077,801, filed on Mar. 22, 2016, which is a continuation of U.S. application Ser. No. 13/844,748, filed on Mar. 15, 2013, which is a continuation-in-part of U.S. patent application Ser. No. 12/778,943, filed on May 12, 2010, which is a continuation-in-part of U.S. patent application Ser. No. 12/717,080, filed on Mar. 3, 2010, which is a continuation-in-part of U.S. patent application Ser. No. 12/346,071, filed on Dec. 30, 2008, which is a continuation-in-part of U.S. patent application Ser. No. 12/346,091, filed on Dec. 30, 2008, which all claim priority to U.S. Provisional Application No. 61/022,279, filed on Jan. 18, 2008, which are all hereby incorporated herein by reference in their entireties.

US Referenced Citations (384)
Number Name Date Kind
4311914 Huber Jan 1982 A
5326959 Perazza Jul 1994 A
5600732 Ott et al. Feb 1997 A
5751841 Leong et al. May 1998 A
5761686 Bloomberg Jun 1998 A
5920847 Kolling et al. Jul 1999 A
5966473 Takahashi et al. Oct 1999 A
5999636 Juang Dec 1999 A
6038351 Rigakos Mar 2000 A
6038553 Hyde, Jr. Mar 2000 A
6070150 Remington et al. May 2000 A
6125362 Elworthy Sep 2000 A
6282326 Lee et al. Aug 2001 B1
6304684 Niczyporuk et al. Oct 2001 B1
6345130 Dahl Feb 2002 B1
6408094 Mirzaoff et al. Jun 2002 B1
6516078 Yang Feb 2003 B1
6621919 Mennie et al. Sep 2003 B2
6735341 Horie et al. May 2004 B1
6807294 Yamazaki Oct 2004 B2
6947610 Sun Sep 2005 B2
6985631 Zhang Jan 2006 B2
6993205 Lorie et al. Jan 2006 B1
7020320 Filatov Mar 2006 B2
7072862 Wilson Jul 2006 B1
7133558 Ohara et al. Nov 2006 B1
7245765 Myers et al. Jul 2007 B2
7283656 Blake et al. Oct 2007 B2
7301564 Fan Nov 2007 B2
7331523 Meier et al. Feb 2008 B2
7376258 Klein et al. May 2008 B2
7377425 Ma et al. May 2008 B1
7426316 Vehvilinen Sep 2008 B2
7433098 Klein et al. Oct 2008 B2
7478066 Remington et al. Jan 2009 B2
7548641 Gilson et al. Jun 2009 B2
7558418 Verma et al. Jul 2009 B2
7584128 Mason et al. Sep 2009 B2
7593595 Heaney, Jr. et al. Sep 2009 B2
7606741 King et al. Oct 2009 B2
7636483 Yamaguchi et al. Dec 2009 B2
7735721 Ma et al. Jun 2010 B1
7778457 Nepomniachtchi et al. Aug 2010 B2
7793831 Beskitt Sep 2010 B2
7793835 Coggeshall et al. Sep 2010 B1
7817854 Taylor Oct 2010 B2
7869098 Corso et al. Jan 2011 B2
7873200 Oakes, III et al. Jan 2011 B1
7876949 Oakes, III et al. Jan 2011 B1
7949176 Nepomniachtchi May 2011 B2
7950698 Popadic et al. May 2011 B2
7953268 Nepomniachtchi May 2011 B2
7982770 Kahn et al. May 2011 B1
7974899 Prasad et al. Jul 2011 B1
7978900 Nepomniachtchi et al. Jul 2011 B2
7983468 Ibikunle et al. Jul 2011 B2
7986346 Kaneda et al. Jul 2011 B2
7995196 Fraser Aug 2011 B1
7996317 Gurz Aug 2011 B1
8000514 Nepomniachtchi et al. Aug 2011 B2
8023155 Jiang Sep 2011 B2
8025226 Hopkins, III et al. Sep 2011 B1
8109436 Hopkins, III Feb 2012 B1
8118216 Hoch et al. Feb 2012 B2
8121948 Gustin et al. Feb 2012 B2
8126252 Abernethy et al. Feb 2012 B2
8160149 Demos Apr 2012 B2
8180137 Faulkner et al. May 2012 B2
8233714 Zuev et al. Jul 2012 B2
8238638 Mueller et al. Aug 2012 B2
8290237 Burks et al. Oct 2012 B1
8300917 Borgia et al. Oct 2012 B2
8320657 Burks et al. Nov 2012 B1
8326015 Nepomniachtchi Dec 2012 B2
8339642 Ono Dec 2012 B2
8340452 Marchesotti Dec 2012 B2
8358826 Medina, III et al. Jan 2013 B1
8370254 Hopkins, III et al. Feb 2013 B1
8374383 Long et al. Feb 2013 B2
8379914 Nepomniachtchi et al. Feb 2013 B2
8442844 Trandal et al. May 2013 B1
8532419 Coleman Sep 2013 B2
8538124 Harpel et al. Sep 2013 B1
8540158 Lei et al. Sep 2013 B2
8542921 Medina Sep 2013 B1
8559766 Tilt et al. Oct 2013 B2
8582862 Nepomniachtchi et al. Nov 2013 B2
8688579 Ethington et al. Apr 2014 B1
8699779 Prasad et al. Apr 2014 B1
8837833 Wang et al. Sep 2014 B1
8861883 Tanaka Oct 2014 B2
8879783 Wang et al. Nov 2014 B1
8959033 Oakes, III et al. Feb 2015 B1
8977571 Bueche, Jr. et al. Mar 2015 B1
9058512 Medina, III Jun 2015 B1
9208393 Kotovich et al. Dec 2015 B2
9460141 Coman Oct 2016 B1
9613258 Chen et al. Apr 2017 B2
9679214 Kotovich et al. Jun 2017 B2
9710702 Nepomniachtchi et al. Jul 2017 B2
9773186 Nepomniachtchi et al. Sep 2017 B2
9786011 Engelhorn et al. Oct 2017 B1
9842331 Nepomniachtchi et al. Dec 2017 B2
10095947 Nepomniachtchi et al. Oct 2018 B2
10102583 Strange Oct 2018 B2
10275673 Kotovich et al. Apr 2019 B2
10360447 Nepomniachtchi et al. Jul 2019 B2
10373136 Pollack et al. Aug 2019 B1
10452908 Ramanathan et al. Oct 2019 B1
10546206 Nepomniachtchi et al. Jan 2020 B2
10621660 Medina et al. Apr 2020 B1
10789496 Kotovich et al. Sep 2020 B2
10789501 Nepomniachtchi et al. Sep 2020 B2
10891475 Nepomniachtchi et al. Jan 2021 B2
10909362 Nepomniachtchi et al. Feb 2021 B2
11157731 Nepomniachtchi et al. Oct 2021 B2
11380113 Nepomniachtchi et al. Jul 2022 B2
11393272 Kriegsfeld et al. Jul 2022 B2
20010014183 Sansom-Wai et al. Aug 2001 A1
20010016084 Pollard et al. Aug 2001 A1
20010019334 Carrai et al. Sep 2001 A1
20010019664 Pilu Sep 2001 A1
20010044899 Levy Nov 2001 A1
20020003896 Yamazaki Jan 2002 A1
20020012462 Fujiwara Jan 2002 A1
20020023055 Antognini et al. Feb 2002 A1
20020037097 Hoyos Mar 2002 A1
20020041717 Murata et al. Apr 2002 A1
20020044689 Roustaei et al. Apr 2002 A1
20020046341 Kazaks et al. Apr 2002 A1
20020067846 Foley Jun 2002 A1
20020073044 Singhal Jun 2002 A1
20020077976 Meyer et al. Jun 2002 A1
20020080013 Lii et al. Jun 2002 A1
20020085745 Jones Jul 2002 A1
20020120846 Stewart et al. Aug 2002 A1
20020128967 Meyer et al. Sep 2002 A1
20020138351 Houvener et al. Sep 2002 A1
20020143804 Dowdy Oct 2002 A1
20020150279 Scott et al. Oct 2002 A1
20030009420 Jones Jan 2003 A1
20030072568 Lin et al. Apr 2003 A1
20030086615 Dance et al. May 2003 A1
20030099379 Monk May 2003 A1
20030099401 Driggs May 2003 A1
20030156201 Zhang Aug 2003 A1
20030161523 Moon et al. Aug 2003 A1
20030177100 Filatov Sep 2003 A1
20040012679 Fan Jan 2004 A1
20040017947 Yang Jan 2004 A1
20040024769 Forman Feb 2004 A1
20040037448 Brundage Feb 2004 A1
20040081332 Tuttle Apr 2004 A1
20040109597 Lugg Jun 2004 A1
20040205474 Eskin et al. Oct 2004 A1
20040213434 Emerson et al. Oct 2004 A1
20040213437 Howard et al. Oct 2004 A1
20040218799 Mastie et al. Nov 2004 A1
20040236688 Bozeman Nov 2004 A1
20040236690 Bogosian Nov 2004 A1
20040247168 Pintsov Dec 2004 A1
20050011957 Attia et al. Jan 2005 A1
20050065893 Josephson Mar 2005 A1
20050071283 Randle et al. Mar 2005 A1
20050080698 Perg et al. Apr 2005 A1
20050091161 Gustin et al. Apr 2005 A1
20050097046 Singfield May 2005 A1
20050100216 Myers et al. May 2005 A1
20050125295 Tidwell Jun 2005 A1
20050129300 Sandison Jun 2005 A1
20050141028 Koppich Jun 2005 A1
20050143136 Lev et al. Jun 2005 A1
20050163362 Jones Jul 2005 A1
20050180661 El Bernoussi et al. Aug 2005 A1
20050192897 Rogers et al. Sep 2005 A1
20050196069 Yonaha Sep 2005 A1
20050196071 Prakash et al. Sep 2005 A1
20050213805 Blake et al. Sep 2005 A1
20050219367 Kanda et al. Oct 2005 A1
20050220324 Klein et al. Oct 2005 A1
20050229010 Monk Oct 2005 A1
20050242186 Ohbuchi Nov 2005 A1
20050261990 Gocht et al. Nov 2005 A1
20060008167 Yu et al. Jan 2006 A1
20060008267 Kim Jan 2006 A1
20060012699 Miki Jan 2006 A1
20060039629 Li et al. Feb 2006 A1
20060045322 Clarke et al. Mar 2006 A1
20060045342 Kim et al. Mar 2006 A1
20060045344 Paxton et al. Mar 2006 A1
20060045379 Heaney et al. Mar 2006 A1
20060071950 Kurzweil et al. Apr 2006 A1
20060072822 Hatzav et al. Apr 2006 A1
20060088214 Handley et al. Apr 2006 A1
20060106717 Randle et al. May 2006 A1
20060140504 Fujimoto et al. Jun 2006 A1
20060164682 Lev Jul 2006 A1
20060177118 Ibikunle et al. Aug 2006 A1
20060182331 Gilson et al. Aug 2006 A1
20060186194 Richardson et al. Aug 2006 A1
20060210192 Orhun Sep 2006 A1
20060221415 Kawamoto Oct 2006 A1
20060242063 Peterson et al. Oct 2006 A1
20060280354 Murray Dec 2006 A1
20060291727 Bargeron Dec 2006 A1
20070009155 Potts et al. Jan 2007 A1
20070053574 Verma et al. Mar 2007 A1
20070058851 Quine et al. Mar 2007 A1
20070064991 Douglas et al. Mar 2007 A1
20070071324 Thakur Mar 2007 A1
20070076940 Goodall et al. Apr 2007 A1
20070081796 Fredlund et al. Apr 2007 A1
20070084911 Crowell Apr 2007 A1
20070086642 Foth et al. Apr 2007 A1
20070086643 Spier et al. Apr 2007 A1
20070110277 Hayduchok May 2007 A1
20070114785 Porter May 2007 A1
20070118391 Malaney et al. May 2007 A1
20070131759 Cox et al. Jun 2007 A1
20070140678 Yost et al. Jun 2007 A1
20070154071 Lin et al. Jul 2007 A1
20070156438 Popadic et al. Jul 2007 A1
20070168382 Tillberg et al. Jul 2007 A1
20070171288 Inoue et al. Jul 2007 A1
20070174214 Welsh et al. Jul 2007 A1
20070195174 Oren Aug 2007 A1
20070206877 Wu et al. Sep 2007 A1
20070211964 Agam et al. Sep 2007 A1
20070214078 Coppinger Sep 2007 A1
20070244782 Chimento Oct 2007 A1
20070265887 Mclaughlin et al. Nov 2007 A1
20070288382 Narayanan et al. Dec 2007 A1
20070297664 Blaikie Dec 2007 A1
20080010215 Rackley, III et al. Jan 2008 A1
20080031543 Nakajima et al. Feb 2008 A1
20080040259 Snow et al. Feb 2008 A1
20080040280 Davis Feb 2008 A1
20080062437 Rizzo Mar 2008 A1
20080086420 Gilder Apr 2008 A1
20080089573 Mori et al. Apr 2008 A1
20080128505 Challa et al. Jun 2008 A1
20080152238 Sarkar Jun 2008 A1
20080174815 Komaki Jul 2008 A1
20080183576 Kim et al. Jul 2008 A1
20080192129 Walker et al. Aug 2008 A1
20080193020 Sibiryakov et al. Aug 2008 A1
20080212901 Castiglia et al. Sep 2008 A1
20080231714 Estevez et al. Sep 2008 A1
20080235263 Riaz et al. Sep 2008 A1
20080247629 Gilder et al. Oct 2008 A1
20080249931 Gilder et al. Oct 2008 A1
20080249936 Miller et al. Oct 2008 A1
20080267510 Paul et al. Oct 2008 A1
20080306787 Hamilton et al. Dec 2008 A1
20090041377 Edgar Feb 2009 A1
20090063431 Erol Mar 2009 A1
20090092322 Erol et al. Apr 2009 A1
20090108080 Meyer et al. Apr 2009 A1
20090114716 Ramachandran May 2009 A1
20090125510 Graham et al. May 2009 A1
20090141962 Borgia et al. Jun 2009 A1
20090159659 Norris et al. Jun 2009 A1
20090185241 Nepomniachtchi Jul 2009 A1
20090185736 Nepomniachtchi Jul 2009 A1
20090185737 Nepomniachtchi Jul 2009 A1
20090185738 Nepomniachtchi Jul 2009 A1
20090185752 Dwivedula et al. Jul 2009 A1
20090190830 Hasegawa Jul 2009 A1
20090196485 Mueller et al. Aug 2009 A1
20090198493 Hakkani-Tur et al. Aug 2009 A1
20090201541 Neogi et al. Aug 2009 A1
20090216672 Zulf Aug 2009 A1
20090261158 Lawson Oct 2009 A1
20090265134 Sambasivan et al. Oct 2009 A1
20090271287 Halpern Oct 2009 A1
20090285444 Erol et al. Nov 2009 A1
20100030524 Warren Feb 2010 A1
20100037059 Sun et al. Feb 2010 A1
20100038839 DeWitt Feb 2010 A1
20100073735 Hunt et al. Mar 2010 A1
20100074547 Yu et al. Mar 2010 A1
20100080471 Haas et al. Apr 2010 A1
20100082470 Wałach et al. Apr 2010 A1
20100102119 Gustin et al. Apr 2010 A1
20100104171 Faulkner et al. Apr 2010 A1
20100114765 Gustin et al. May 2010 A1
20100114766 Gustin et al. May 2010 A1
20100114771 Gustin et al. May 2010 A1
20100114772 Gustin et al. May 2010 A1
20100150424 Nepomniachtchi et al. Jun 2010 A1
20100161466 Gilder Jun 2010 A1
20100200660 Moed et al. Aug 2010 A1
20100208282 Isaev Aug 2010 A1
20100239160 Enomoto et al. Sep 2010 A1
20100246972 Koyama et al. Sep 2010 A1
20100253787 Grant Oct 2010 A1
20100254604 Prabhakara Oct 2010 A1
20100284611 Lee et al. Nov 2010 A1
20110013822 Blackson et al. Jan 2011 A1
20110026810 Hu Feb 2011 A1
20110052065 Nepomniachtchi et al. Mar 2011 A1
20110075936 Deaver Mar 2011 A1
20110081051 Tayal et al. Apr 2011 A1
20110091092 Nepomniachtchi Apr 2011 A1
20110134248 Heit et al. Jun 2011 A1
20110170740 Coleman Jul 2011 A1
20110188759 Filimonova Aug 2011 A1
20110194750 Nepomniachtchi Aug 2011 A1
20110249905 Singh et al. Oct 2011 A1
20110255795 Nakamura Oct 2011 A1
20110280450 Nepomniachtchi et al. Nov 2011 A1
20110289028 Sato Nov 2011 A1
20120010885 Hakkani-Tr et al. Jan 2012 A1
20120023567 Hammad Jan 2012 A1
20120030104 Huff et al. Feb 2012 A1
20120033892 Blenkhorn et al. Feb 2012 A1
20120051649 Saund Mar 2012 A1
20120070062 Houle et al. Mar 2012 A1
20120072859 Wang Mar 2012 A1
20120086989 Collins et al. Apr 2012 A1
20120106802 Hsieh et al. May 2012 A1
20120109792 Eftekhari et al. May 2012 A1
20120113489 Heit May 2012 A1
20120150773 Dicorpo et al. Jun 2012 A1
20120197640 Hakkani-Tr et al. Aug 2012 A1
20120201416 DeWitt Aug 2012 A1
20120226600 Dolev Sep 2012 A1
20120230577 Calman Sep 2012 A1
20120265655 Stroh Oct 2012 A1
20120278336 Malik et al. Nov 2012 A1
20120308139 Dhir Dec 2012 A1
20130004076 Koo et al. Jan 2013 A1
20130022231 Nepomniachtchi et al. Jan 2013 A1
20130051610 Roach et al. Feb 2013 A1
20130058531 Hedley et al. Mar 2013 A1
20130085935 Nepomniachtchi et al. Apr 2013 A1
20130120595 Roach et al. May 2013 A1
20130148862 Roach et al. Jun 2013 A1
20130155474 Roach et al. Jun 2013 A1
20130181054 Durham et al. Jul 2013 A1
20130182002 Macciola et al. Jul 2013 A1
20130182951 Shustorovich et al. Jul 2013 A1
20130182973 Macciola et al. Jul 2013 A1
20130202185 Irwin, Jr. et al. Aug 2013 A1
20130204777 Irwin, Jr. et al. Aug 2013 A1
20130223721 Nepomniachtchi et al. Aug 2013 A1
20130272607 Chattopadhyay et al. Oct 2013 A1
20130297353 Strange et al. Nov 2013 A1
20130311362 Milam et al. Nov 2013 A1
20130317865 Tofte et al. Nov 2013 A1
20130325706 Wilson et al. Dec 2013 A1
20140032406 Roach et al. Jan 2014 A1
20140037183 Gorski Feb 2014 A1
20140040141 Gauvin et al. Feb 2014 A1
20140044303 Chakraborti Feb 2014 A1
20140046841 Gauvin et al. Feb 2014 A1
20140064621 Reese Mar 2014 A1
20140108456 Ramachandrula Apr 2014 A1
20140126790 Duchesne et al. May 2014 A1
20140133767 Lund et al. May 2014 A1
20140172467 He et al. Jun 2014 A1
20140188715 Barlok et al. Jul 2014 A1
20140233837 Sandoz et al. Aug 2014 A1
20140254887 Amtrup et al. Sep 2014 A1
20140258838 Evers et al. Sep 2014 A1
20140270540 Spector et al. Sep 2014 A1
20140281871 Brunner et al. Sep 2014 A1
20140307959 Filimonova Oct 2014 A1
20150012382 Ceribelli et al. Jan 2015 A1
20150012442 Ceribelli et al. Jan 2015 A1
20150040001 Kannan et al. Feb 2015 A1
20150142545 Ceribelli et al. May 2015 A1
20150142643 Ceribelli et al. May 2015 A1
20150334184 Liverance Nov 2015 A1
20160092730 Smirnov Mar 2016 A1
20170185972 Bozeman Jun 2017 A1
20170316263 Nepomniachtchi et al. Nov 2017 A1
20180101751 Ghosh et al. Apr 2018 A1
20180101836 Nepomniachtchi et al. Apr 2018 A1
20180240081 Doyle et al. Aug 2018 A1
20200304650 Roach et al. Sep 2020 A1
20200342248 Nepomniachtchi et al. Oct 2020 A1
20210090372 Kriegsfeld et al. Mar 2021 A1
20220351161 Roach et al. Nov 2022 A1
Foreign Referenced Citations (7)
Number Date Country
2773730 Apr 2012 CA
1020040076131 Aug 2004 KR
1020070115834 Dec 2007 KR
03069425 Aug 2003 WO
2006075967 Jul 2006 WO
2006136958 Dec 2006 WO
2012144957 Oct 2012 WO
Non-Patent Literature Citations (33)
Entry
Office Action dated Jan. 12, 2023 in related U.S. Appl. No. 17/479,904, in 34 pages.
Pdf417, Wikipedia: the free encyclopedia, Oct. 21, 2008, https://en.wikipedia.org/w/index.php?title=PDF417&oldid=246681430 (Year: 2008), 3 pages.
Abdulkader et al. “Low Cost Correction of OCR Errors Using Learning in a Multi-Engine Environment.” Proceedings of the 10th International Conference on Document Analysis and Recognition (ICDAR '09). IEEE Computer Society, Washington, D.C., USA. pp. 576-580. http://dx.doi.org/10.1109/ICDAR.2009.24.
Bassil, Youssef. “OCR Post-Processing Error Correction Algorithm Using Google's Online Spelling Suggestion.” Journal of Emergin Trends in Computing and Information Sciences 3, No. 1 (Jan. 2012): 1. Accessed May 13, 2015. http://arxiv.org/ftp/arxiv/papers/1204/1204.0191.pdf.
Bieniecki et al. “Image preprocessing for improving OCR accuracy.” Perspective Technologies and Methods in MEMS Design, 2007. International Conference on MEMSTECH 2007. IEEE, 2007.
Chattopadhyay et al. “On the Enhancement and Binarization of Mobile Captured Vehicle Identification Number for an Embedded Solution.” 10th IAPR International Workshop on Document Analysis Systems (DAS), 2012. pp. 235-239. Mar. 27-29, 2012.
Cook, John. “Three Algorithms for Converting Color to Grayscale.” Singular Value Consulting. Aug. 24, 2009. Accessed May 13, 2015. http://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/.
Gatos et al. “Improved Document Image Binarization by Using a Combination of Multiple Binarization Techniques and Adapted Edge Information.” 19th International Conference on Pattern Recognition, 2008. IEEE.
He et al, “Comer deterctor Based on Global and Local Curvature Properties” Optical Engineering 47(5), 0570008 (2008).
International Search Report and Written Opinion received in PCT/US2011/056593, mailed May 30, 2012, 9 pages.
International Search Report issued in related International Application No. PCT/US2011/056593 dated May 30, 2012 (3 pages).
Notice of Allowance dated Feb. 22, 2023 received in U.S. Appl. No. 17/236,373 in 30 pages.
Notice of Allowance for related U.S. Appl. No. 16/160,796, mailed on Jan. 22, 2021, in 17 pages.
Notice of Allowance for related U.S. Appl. No. 16/579,625, mailed on Jan. 13, 2020 in 27 pages.
Notice of Allowance for related U.S. Appl. No. 16/742,439, mailed on Sep. 18, 2020, in 39 pages.
Notice of Allowance for related U.S. Appl. No. 17/829,025, mailed on Apr. 11, 2023, in 13 pages.
OCR: The Most Important Scanning Feature You Never Knew You Needed. hp (blog), Feb. 24, 2012. Accessed May 13, 2015. http://h71036.www7.hp.com/hho/cache/608037-0-0-39-121.html., 4 pages.
Office Action dated Feb. 1, 2023 in related U.S. Appl. No. 16/987,782, in 104 pages.
Office Action dated Jan. 9, 2020 for related U.S. Appl. No. 16/397,728 in 56 pages.
Office Action dated Jul. 11, 2019 for related U.S. Appl. No. 15/614,456 in 45 pages.
Office Action dated Jul. 26, 2019 for related U.S. Appl. No. 16/282,250 in 21 pages.
Office Action dated Mar. 20, 2020 in related U.S. Appl. No. 16/282,250, in 20 pages.
Office Action dated May 27, 2020 for related U.S. Appl. No. 16/282,250 in 18 pages.
Office Action dated Sep. 25, 2019 for related U.S. Appl. No. 16/518,815, in 10 pages.
Office Action for related CA Patent Application No. 2,773,730, dated Aug. 21, 2017, in 4 pages.
Office Action for related U.S. Appl. No. 16/259,896, mailed on Dec. 12, 2019, in 22 pages.
Office Action for related U.S. Appl. No. 17/983,785, mailed on Jun. 23, 2023, in 48 pages.
Office Action for related U.S. Appl. No. 17/983,785, mailed on Mar. 30, 2023, in 46 pages.
Relativity. “Searching Manual.” Aug. 27, 2010. Accessed May 13, 2015. http://www.inventus.com/wp-content/uploads/2010/09/Relativity-Searching-Manual-6.6.pdf, 67 pages.
Shah et al. “OCR-Based chassis-number recognition using artificial neural networks.” 2009 IEEE Conference on Vehicular Electronics and Safety. pp. 31-34. Nov. 11-12, 2009.
Stevens. “Advanced Programming in the UNIX Environment.” Addison-Wesley Publishing Company, pp. 195-196 (1992).
“Tokenworks Introduces IDWedge ID Scanner Solution.” 2008, 5 pages.
Junker et al. “Evaluating OCR and Non-OCR Text Representation for Learning Document Classifiers.” Proceedings of the 4th International Conference on Document Analysis and Recognition. Ulm, Germany. Aug. 18-20, 1997. p. 1060-1066 (1997). Accessed http://citeseerxist.psu.eduviewdoc/download?doi=10.1.1.6.6732&rep=rep1-&type=pdf.
Related Publications (1)
Number Date Country
20220012487 A1 Jan 2022 US
Provisional Applications (1)
Number Date Country
61022279 Jan 2008 US
Continuations (4)
Number Date Country
Parent 16817451 Mar 2020 US
Child 17482782 US
Parent 16579625 Sep 2019 US
Child 16817451 US
Parent 15077801 Mar 2016 US
Child 16579625 US
Parent 13844748 Mar 2013 US
Child 15077801 US
Continuation in Parts (4)
Number Date Country
Parent 12778943 May 2010 US
Child 13844748 US
Parent 12717080 Mar 2010 US
Child 12778943 US
Parent 12346071 Dec 2008 US
Child 12717080 US
Parent 12346091 Dec 2008 US
Child 12346071 US