Coarse Document Classification
Systems and methods coarsely classify unknown documents in a group or not with reference document(s). Documents get scanned into digital images. Counts of contours are taken. The closer the counts of the contours of the unknown document reside to the reference document(s), the more likely the documents are all of a same type. Embodiments typify contour analysis, classification acceptance or not, application of algorithms, and imaging devices with scanners, to name a few.
The present disclosure relates to classifying or not unknown documents with a group of reference document(s). It relates further to coarse classification of documents without regard to optical character recognition (OCR). Contour detection in images, count, and analysis typifies the embodiments.
BACKGROUNDIn traditional classification environments, a “document” becomes classified or not according to a variety of schemes. Among them, schemes define categories for document placement according to content or attributes of the document, e.g., subject matter, author, document type, size, etc. In automatic classification, a hard copy document becomes digitized for computing actions, such as electronic editing, searching, storing, displaying, etc. Digitization also launches routines, such as machine translation, data extraction, text mining, invoice processing, invoice payment, storage, displaying, sorting, and the like. Optical character recognition (OCR) and image feature detection/extraction are conventional methods used during the routines.
Unfortunately, OCR and feature detection require intensive CPU processes and extended periods of time during execution, thus limiting their effectiveness. OCR and feature detection are both also known to regularly fail their role of extracting data when two or more scanned documents have variations in their resolution, bit-depth, and/or rotation, especially between a trained set of reference documents and an unknown document being evaluated. As such, automated processes often seek manual assistance from a user, including helping recognize and sort documents by identifying one or more key features. However, the problem is compounded, and can become labor intensive, when training complicated documents, multiple versions of the same document, closely matching documents, etc. Also, conventional processing of these documents places practical limits on how many documents can be processed per a given interval and often returns ambiguity with unstructured documents or documents containing no ascertainable text that can be read with OCR.
Solutions to these problems are often obtained by additional and more complicated software routines, which only add to the burden of CPU consumption. For many users, this overly complicates their needs and slows down processing, especially when their classification schemes are of a narrow or regular interest. For example, small businesses needing invoice bill paying and sorting for but a few vendors would enjoy faster and less intensive processing with coarse or gross document sorting, instead of slower/intensive processing with more robust OCR and feature detection models. If such also included the entire elimination of OCR, business owners could achieve even cheaper and faster results, especially with poorly scanned documents, e.g., angled or distorted documents (smudge, wrinkle, etc.), where OCR techniques struggle. What is needed then, are coarse classification schemes for documents. Further needs should also contemplate instructions or software executable on controller(s) for hardware, such as imaging devices. Additional benefits and alternatives are sought when devising solutions.
SUMMARYThe above-mentioned and other problems are solved by coarse document classification. Systems and methods serve as an alternative to OCR and feature detection techniques. Schemes involve contour detection for both training and classification processes. Particular advantages relate to the lack of time/CPU consumption associated with the former and classification of documents even when they become rotated or slightly distorted (smudged, wrinkled etc.).
In a representative embodiment, techniques coarsely classify unknown documents in a group or not with reference document(s) without resort to optical character recognition. Documents get scanned into digital images. Counts of contours are taken. The closer the counts of the contours of the unknown document reside to the reference document(s), the more likely the documents are all of the same type. Embodiments typify contour analysis, classification acceptance or not, application of algorithms, and imaging devices with scanners, to name a few.
These and other embodiments are set forth in the description below. Their advantages and features will become readily apparent to skilled artisans. The claims set forth particular limitations.
In the following detailed description, reference is made to the accompanying drawings where like numerals represent like details. The embodiments are described to enable those skilled in the art to practice the invention. It is to be understood that other embodiments may be utilized and that changes may be made without departing from the scope of the invention. The following, therefore, is not to be taken in a limiting sense and the scope of the invention is defined only by the appended claims and their equivalents. In accordance with the features of the invention, methods and apparatus teach coarse document classification.
With reference to
Regardless of type, the documents 10, 12 have digital images 16 created at 20. The creation occurs in a variety of ways, such as from a scanning operation using a scanner and document input 15 on an imaging device 18. Alternatively, the image comes from a computing device (not shown), such as a laptop, desktop, tablet, smart phone, etc. In either, the image 16 typifies a grayscale, color or other multi-valued image having pluralities of pixels 17-1, 17-2, . . . . The pixels define text and background of the documents 10, 12 according to their pixel value intensities. The amounts of pixels in the images are many and depend in volume upon the resolution of the scan, e.g., 150 dpi, 300 dpi, 1200 dpi, etc. Each pixel also has an intensity value defined according to various scales, but a range of 256 possible values is common, e.g., 0-255. The pixels may also be in binary form (black or white, 1 or 0) after conversion from other values or as a result of image creation at 20. In many schemes, binary creation occurs by splitting in half the intensity scale of the pixels (0-255) and labeling as black pixels those with relatively dark intensities and white pixels those with light intensities, e.g., pixels 17 having intensities ranging from 0-127 become labeled black, while those with intensities from 128-255 become labeled white. Other schemes are also possible.
Regardless, the images in their digital form are next supplied to a controller 25 for further processing. The controller can reside in the imaging device 18 or elsewhere. The controller can be a microprocessor, ASIC, etc. That the document input function 15 to the controller 25 will sometimes result in documents 10, 12 having rotation, skew, wrinkle, etc., and/or that differing documents might have differing resolutions or bit-depth, such becomes largely irrelevant for the next steps of classifying documents which offers great advantage over the prior art, e.g., classifying with OCR.
Upon receipt, the controller applies an algorithm function to the images to determine 30 the edges or contours 32 in the images. As a design implementation, the inventors used a Canny edge detector for defining contours, but other techniques are possible. The controller also notes a numerical count of the contours in each of the images corresponding to the unknown input document and the one or more reference documents. The classification technique of the unknown input document belonging or not to the group of reference documents next uses a formula established by the inventors as comparing the counts of contours. It takes a difference of the counts of contours between the images corresponding to the unknown input document and the one or more reference documents and dividing the difference by a maximum count of contours from either the images corresponding to the unknown input document or the one or more reference documents, whichever is greater. Mathematically, the equation looks as follows:
[|Cs−max(Cs, Ci)]≦k, (eqn. 1)
where
Cs=Count of contours 32 in an image 17 corresponding to any of the reference documents 12, e.g., a known or “seed” image,
Ci=Count of contours 32 in an image 17 corresponding to the unknown input image 10, and
max(Cs, Ci)=a maximum count of contours in either the images corresponding to the unknown input document or the one or more reference documents, whichever is greater.
As an example of operation, if the count of contours for Cs=171 and Ci=169, |Cs−Ci|=|171-169|=2, and max(Cs, Ci)=171, or the larger of 171 and 169, whereby [|Cs−Ci|/max(Cs, Ci)] is 2/171=0.012, or 1.2%
The value k in eqn. 1 delineates a probability of acceptance 40 that the unknown input image belongs or not to the group of the one or more reference documents. Naturally, the closer the count Cs is to the count Ci, the closer the match between the unknown and the reference documents. Mathematically, the closer the match between the documents, the closer |Cs−Ci|/(max(Cs,Ci) will be nearer to zero (0). Conversely, the farther away the match between the documents, the greater the value of |Cs−Ci|l/(max(Cs,Ci), and farther away from zero.
As has been empirically determined by the inventors, k has been found to work satisfactorily when set in a range from 0 to 0.07 (7%), inclusive. Of course, other values can be derived based on a particular set of documents used for classification and the level of discernment sought when determining matches or not between documents.
With reference to
y=(|Cs−Ci)/(max(Cs,Ci)), where 0≦y≦1.
- If,
- x=Ci and
- C=Cs,
- when Ci≦Cs, y becomes
which corresponds to a linear equation 208 in the form y=mx+b as noted to the left of points Cs1 and Cs2 on the x-axis in the graph 200. On the other hand, when Ci>Cs, y becomes
which corresponds to an equation for a rectangular hyperbola 210 with horizontal asymptote as noted to the right of points Cs1 and Cs2 on the x-axis in the graph 200.
In turn, artisans can deduce that any minimum (min) and maximum (max) values where linear equation 208 and rectangular hyperbola 210 intersect the delineated probability of acceptance, k, in the graph 200, is:
where i corresponds to an “index” for an image corresponding to a document used to train the system for classification.
For example, graph 200l plots two training documents Cs1 and Cs2 of differing type (not belonging to a same classification). There is also a range R of contours for these two reference documents established by the minimum-most point for Cs1 and the maximum-most point for Cs2, inclusive of those points, that fall on their respective curves in graph 200 within the probability of acceptance, k, established at 40,
Thereafter, images corresponding to an unknown input document 10,
Similarly, there is a range of contours that can be established on graph 200 for any number of training documents of a same type (e.g., same classification) or different type (e.g., not belonging to a same classification). In turn, images corresponding to other unknown input documents can be evaluated against the counts of contours in images corresponding to these training documents. Stated differently, given a trained document S with contour count Cs, its “range of influence” can be noted as occurring in a range between its min to max, e.g., Csmin-Csmax, inclusive of the points. Then, any other unknown document with a contour count within this range can be treated as matching with the document type of S. From eqn. 1, the range of influence can be written as:
With reference to
Types A and C, have two documents in their trained sets as A1 and A2 and C1 and C2, respectively. Their respective minimum and maximums have been merged together to create a larger range of A1min-A2max and C1min-C2max, rewritten as Amin-Amax and Cmin-Cmax. Likewise, documents of Type B have three documents in its trained set, e.g., B 1, B2 and B3, and the entire range for counts of contours of these documents runs from B1min-B3max, rewritten as Bmin-Bmax. Next, during run time when classifying an unknown input document whose contour count falls within one of the ranges, the unknown input document can be classified as that specific document type, and turned into a known document.
As seen back in
Relative advantages of the foregoing include at least the following: (1) being relatively faster than the art; (2) successfully processing images with various degrees of rotations, imperfections, noise, etc., not currently done in the art absent extensive training of reference documents; (3) can be fully automated as necessary; (4) independent of platform, e.g., Windows, Unix/Linux, etc. and can use open source or not as needed; and (5) storing of data pertaining to reference documents, e.g., trained data, requires relatively little space. Of course, there are limitations to the system. That the foregoing represents only a coarse classification scheme, processing can become bogged down or declared ambiguous if there are too many similar types of documents.
The foregoing illustrates various aspects of the invention. It is not intended to be exhaustive. Rather, it is chosen to provide the best illustration of the principles of the invention and its practical application to enable one of ordinary skill in the art to utilize the invention. All modifications and variations are contemplated within the scope of the invention as determined by the appended claims. Relatively apparent modifications include combining one or more features of various embodiments with features of other embodiments.
Claims
1. An imaging device, comprising:
- a user interface;
- a scanner for converting an unknown input document and one or more reference documents to digital images; and
- a controller for executing instructions responsive to the digital images upon a user selecting a classifying application from the user interface, wherein the controller is further configured to determine whether or not the unknown input document belongs to a group with the one or more reference documents by determining and comparing counts of contours of the digital images corresponding to said each of the unknown input document and the one or more reference documents.
2. The imaging device of claim 1, wherein the controller is further configured to determine inclusion or not in the group according to a delineated probability of acceptance for the counts of contours.
3. The imaging device of claim 1, wherein the controller is further configured to take a difference of the counts of contours between the digital images corresponding to the unknown input document and the one or more reference documents and dividing the difference by a maximum count of contours from either the images corresponding to the unknown input document or the one or more reference documents.
4. The imaging device of claim 1, wherein the controller is further configured to determine inclusion or not in the group according to an established range of the counts of contours for the digital images corresponding to the one or more reference documents.
5. The imaging device of claim 4, wherein the controller is further configured to determine whether the count of contours for the digital image corresponding to the unknown input document falls within or not the established range of the counts of contours for the digital images corresponding to the one or more reference documents.
6. The imaging device of claim 1, wherein the classifying application does not include a process for examining the digital images with optical character recognition.
8. The imaging device of claim 2, wherein the delineated probability of acceptance includes a range of 0.00 to 0.07, inclusive.
Type: Application
Filed: Sep 10, 2014
Publication Date: Feb 4, 2016
Inventors: Ranajyoti Chakraborti (Kolkata), Kunal Das (Kolkata), Rajib Dutta (Kolkata), Sabyasachi Samanta (Uttarpara), Subhadeep Samanta (Kolkata)
Application Number: 14/482,594