Embodiments of the present invention relate generally to a method and system for Optical Character Recognition (OCR).
Document recognition typically involves a stage at which the structure of the document is analyzed. At this stage, various areas are identified in the document image, their sizes and positions are saved to memory, and their classes are detected based on their content, for e.g. text, picture, table, chart, or noise.
Thus, picture areas are detected in the document image by that part of the OCR software which is responsible for analysis and is therefore termed the analyzer.
Various solutions are available for distinguishing between text and non-text areas, but not for distinguishing between noise and picture areas. When dealing with magazine pages with complicated layouts, finding and identifying picture objects is of great practical importance. Magazine articles will often have text printed over photographs, which in turn, may have non-rectangular borders of various shapes.
In one embodiment, a method for identifying areas in a document image is provided. The method comprises generating binarized and gradient images based on the document image; and performing a classification operation to classify areas in the document image into one of a noise area and a picture area based on attributes computed on the binarized and gradient images.
Other aspects of the inventions may be apparent from the written description below.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these specific details.
Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not other embodiments.
The method of the invention enables the classification of objects on an image being recognized based on information obtained from a grayscale or color version of the image. In a grayscale image, each pixel has a brightness from 0 (black) to 255 (white), and in a color image, the three parameters of the RGB (Red, Green, Blue) color model assume values from 0 to 255.
The method of the invention comprises several stages, shown in the block diagram of
A binarized image is an image in which each pixel may be either black or white. The color of each pixel is determined based on a brightness threshold: pixels brighter than the threshold are deemed to be white and pixels darker than the threshold are deemed to be black. The threshold value is selected either heuristically or by using any known binarization method (for example the binarization method described in co-pending U.S. patent application Ser. No. 12/269,789).
A gradient image is a grayscale image in which the brightness of each pixel corresponds to the absolute value of the brightness gradient on the source image. A gradient image provides information about the contrast of the source image. The gradient at a certain point is defined as the function of the brightness of the neighboring pixels. To compute the gradient, in one embodiment, a 5×6 Sobel operator is used. The Sobel operator is a discrete differentiation operator that approximates the gradient of the image intensity function. In a gradient image, the darkest areas are those where the source image has the biggest jump in brightness.
A horizontal or vertical gradient image is a grayscale image in which the brightness of each pixel corresponds to the absolute value of the horizontal or vertical component of the gradients of the initial grayscale image.
Next, at the step 103, the page is preliminarily segmented into areas which possess certain properties. The segmentation into areas may involve the use of the images obtained at the step 102. Next, the objects are classified (104), i.e. the class of each detected area is identified based on its various attributes which account for the typical features of the possible classes. As a rule, the system refers to various classifiers when detecting each new area. The classification process is described in greater detail later. Based on the data obtained at the steps 103 and 104, the system decides on the position, size, and classes of the detected areas (105). The result of the analysis is the mark-up of the document image (106). The mark-up is a set of identified and classified areas containing different classes of data: text, pictures, tables, noise, etc.
During the analysis process usually several classifiers are used, each responsible for a specific task. A classifier is an algorithm which quantitatively evaluates the set of attributes of an object to determine whether the object belongs to a certain class. The greater the numerical value returned by a classifier, the greater the probability that the analyzed object belongs to the corresponding class. Embodiments of the present invention discloses a classifier which performs the task of classifying picture areas that uses attributes computed on binarized and gradient images.
Areas are classified based on a set of attributes, which may include, for example, subsets of attributes used for classifying text areas, subsets of attributes that describe the distinguishing features of pictures, and other attributes. In one embodiment, distributions of various values may be used, such as the brightness values of individual pixels and the values of the gradients computed and averaged by applying various techniques. The major characteristics of said distributions are its average value, dispersion, asymmetry coefficient, and the coefficient of excess (i.e. a measure of the sharpness of the peak of a distribution of a random quantity).
The value that characterizes the asymmetry of a distribution can be obtained from the formula
where, μ3 is the third central moment of the distribution under consideration and σ is its dispersion. The coefficient of excess may be calculated using the formula
where μ4 is the fourth central moment of a distribution under consideration.
Embodiments of the present invention use attributes that have been experimentally shown to produce good-quality classification. These attributes include:
The method of the invention uses the classifier to resolve ambiguities that may arise during classification of one of the areas that were detected during the preliminary segmentation (103). The preliminary segmentation may be performed by any means. It does not matter how these areas were detected, the areas may be labeled even manually.
Often the system needs to decide whether an area should be classified as one or the other of the two possible classes, e.g. answer the questions “Is it a picture or text?” or “Is it a picture or noise?” This may happen when the segmentation process produces two different hypotheses about the class of the area, of which the most probable hypothesis must be selected. To achieve this, the steps shown in
In one embodiment, to identify the class of a separated area (201), that was found on the page, four attributes are computed on the binarized image (for example,
Next, based on the two gradient images, a combined gradient image of the examined area is created (203). The combined gradient image is an image of the real boundaries which is obtained by combining their horizontal and vertical parts.
Next, all the computed attributes are combined (205). Based on this set of attributes, the classifier makes a decision on a class of the object.
In one embodiment, to classify the object at the stage 205, one of the following methods may be selected:
where ρ1 is a probability density for the first possible class and ρ2 is a probability density for the second possible class. This approach is usually used to resolve “picture or text?” ambiguities.
Next, the computed probability density is compared (323) with this constant, and if it is greater than the constant, the object may be classified (324) as attributed to the selected class. This approach is more often used to answer the question “picture or noise?” or, more precisely, “is there a picture in the area detected as noise?” The latter question often arises when noise is detected on the edges of a scanned image. Often a picture may be positioned below or above the body text and there is some risk that the picture may fall within a noise area and become lost. For example, on
The embodiment of the invention that includes steps shown in
A heading of an article in
In still another embodiment of the invention, for complicated cases, different stages may be invoked successively for one and the same area for greater reliability: e.g. stages 312, 313, and 314 followed by stages 322, 323, and 324, or stages 322, 323, and 324 followed by stages 312, 313, and 314. If both sequences show that the object is a picture, then the object is identified as a picture.
In one embodiment of the invention, when computing the distribution of the frequencies of occurrence of the gradient values, the values may be averaged by the neighboring pixels, and also only those pixels may be included in the distribution whose values are greater than a certain threshold. This is done to cut off the noise component, which may otherwise dominate in the distribution. It has been experimentally shown that usually about 80% of the surface of an average image contains small gradients with a corresponding sharp maximum in the distribution, which renders all other features inconspicuous.
The system 600 also typically receives a number of inputs and outputs for communicating information externally. For interface with a user or operator, the system 600 may include one or more user input devices 606 (e.g., a keyboard, a mouse, imaging device, etc.) and one or more output devices 608 (e.g., a Liquid Crystal Display (LCD) panel, a sound playback device (speaker, etc)).
For additional storage, the system 600 may also include one or more mass storage devices 610, e.g., a floppy or other removable disk drive, a hard disk drive, a Direct Access Storage Device (DASD), an optical drive (e.g. a Compact Disk (CD) drive, a Digital Versatile Disk (DVD) drive, etc.) and/or a tape drive, among others. Furthermore, the system 600 may include an interface with one or more networks 612 (e.g., a local area network (LAN), a wide area network (WAN), a wireless network, and/or the Internet among others) to permit the communication of information with other computers coupled to the networks. It should be appreciated that the system 600 typically includes suitable analog and/or digital interfaces between the processor 602 and each of the components 604, 606, 608, and 612 as is well known in the art.
The system 600 operates under the control of an operating system 614, and executes various computer software applications, components, programs, objects, modules, etc. to implement the techniques described above. Moreover, various applications, components, programs, objects, etc., collectively indicated by reference 616 in
This application claims the benefit of priority to U.S. 61/226,704, filed on Jul. 18, 2009.
Number | Name | Date | Kind |
---|---|---|---|
5465304 | Cullen et al. | Nov 1995 | A |
5546474 | Zuniga | Aug 1996 | A |
5613016 | Saitoh | Mar 1997 | A |
5854853 | Wang | Dec 1998 | A |
5867593 | Fukuda et al. | Feb 1999 | A |
5884296 | Nakamura et al. | Mar 1999 | A |
6014450 | Heilper et al. | Jan 2000 | A |
6324309 | Tokuyama et al. | Nov 2001 | B1 |
6332045 | Sawada et al. | Dec 2001 | B1 |
6973213 | Fan et al. | Dec 2005 | B2 |
7254270 | Simske | Aug 2007 | B2 |
7302098 | Tang et al. | Nov 2007 | B2 |
7391917 | Ohta et al. | Jun 2008 | B2 |
7437002 | Tanaka | Oct 2008 | B2 |
7813554 | Wang et al. | Oct 2010 | B2 |
20030095709 | Zhou | May 2003 | A1 |
20070171473 | Iwasaki | Jul 2007 | A1 |
20070286499 | Freiburg et al. | Dec 2007 | A1 |
20080114564 | Ihara | May 2008 | A1 |
20090154810 | Enomoto et al. | Jun 2009 | A1 |
20100046842 | Conwell | Feb 2010 | A1 |
20100054595 | Demandolx et al. | Mar 2010 | A1 |
20100074523 | Ishiga | Mar 2010 | A1 |
20100111416 | Meiers | May 2010 | A1 |
Number | Date | Country |
---|---|---|
2259041 | Aug 2005 | RU |
Entry |
---|
Tuma Jan J—Engineering Mathematics Handbook—, ISBN 0-07-065529-4, 1997, pp. 304-312. |
Dellaert, Frank “The Expectation Maximization Algorithm”, Technical Report No. GIT-GVU-02-20, College of Computing, Georgia Institute of Technology,(Feb. 2002),1-7. |
Wong, Kwan Y., et al., “Document Analysis System”, IBM J. Research Development, vol. 26, No. 6,(Nov. 1982),647-656. |
Zheng, Yefeng “Machine Printed Text and Handwriting Identification in Noisy Document Images”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 26, No. 3,(Mar. 2004),337-353. |
Russell, Stuart J., et al., “Artificial Intelligence: A Modern Approach”, Second Edition; Pearson Education, Inc., Upper Saddle River; New Jersey,(2003),712-762. |
Number | Date | Country | |
---|---|---|---|
20110013847 A1 | Jan 2011 | US |
Number | Date | Country | |
---|---|---|---|
61226704 | Jul 2009 | US |