Abstract:
The proposed technical solution allows processing of machine-readable forms of unfixed format. An auxiliary brief description may be optionally specified to determine the spatial orientation of the image. A method of searching for elements of a document comprises the following main operations in addition to the operations of preliminary image processing: selecting the varieties of structural description from several available variants, determining the orientation of the image, selecting the text objects, where the text must be recognized, and determining the minimal required volume of recognition, recognizing the text objects, searching for elements of the form. Searching for elements of the form comprises the following actions: selecting a searched element in the structural description, gaining the algorithm of search constraints from the structural description, searching for the element, testing the obtained variants.

Description:
[0001]    The present invention relates generally to image recognition and particularly to the recognition of non-text and/or text objects contained in a bit-mapped image of a document. 
         [0002]    The mentioned methods are also applied for, but not limited to, recognition of data input forms, containing typographical and hand-written texts as well as a set of special text-marks for document navigation. Documents as supposed herein are inquiry lists, questionnaires, bank documents with rigid or arbitrary arrangement of data fields. 
         [0003]    The mentioned methods may be applied for recognition of predefined form objects contained in an electronic graphical image. 
       PRIOR ART 
       [0004]    Methods of structure assignment and document element search in an electronic graphical image are known in the art (U.S. Pat. No. 5,416,849 Huang, May 16, 1995). 
         [0005]    The capability of the known methods to process only fixed forms, not allowing deviations in field arrangement, is the shortcoming of the methods. 
         [0006]    Anyone of the described methods and the system may be taken as a prototype. 
         [0007]    The technical result consists in the improvement of searching capabilities as well as the accuracy of identification of obtained image objects, the increase of noise immunity during the process of object search on the image. 
       SUMMARY OF THE INVENTION 
       [0008]    The declared technical result is achieved by using tools for search and identification of objects on an image; with further assignment of the estimate of correspondence of the search result to the description. Numbers from 0 to 1 are used for the evaluation. The accuracy of evaluation is 10 −5  (ten to the power of minus five). The value equal to 1 means the absolute correspondence of the obtained result to the description. If the estimate differs from zero, the application of flexible structural description also comprises the stage of forming block regions, i.e. evaluation of the arrangement of the required fields on the basis of the information about the obtained objects. 
         [0009]    Structural description comprises the description of spatial and parametric characteristics of document elements, and the logical connections between document elements. 
         [0010]    The method of preliminary assignment of a document structure consists in setting a description of the document&#39;s logical structure in the form of interdependences of spatial and parametric characteristics of elements, algorithms of obtaining the parameters of the search for each element, methods of identifying the obtained elements, methods of decreasing the number of obtained variants of an element, acceleration of the search for the best variant. 
         [0011]    The method of searching and recognizing the elements (fields or field fragments) of a document on a graphical (bit-mapped) image consists in using of a predefined logical structure of the document in the form of structural description, algorithms of obtaining the parameters of the search for each element, methods of identifying the obtained elements, methods of decreasing the number of obtained variants of an element, acceleration of the search for the best variant. 
         [0012]    Searching for elements with the help of a flexible structural description is performed sequentially in the order in which they are described in the flexible structural description, top-down through the “tree” (hierarchy) of elements, in accordance with the logical structure of the document description. For each element in the assigned search area, several variants of image objects or sets of image objects corresponding to the description of the element in the structural description may be found. Various obtained variants of objects are considered to be the variants of the position of the element on the image. An estimate of the degree of correspondence of the variant to the element description is assigned to each obtained variant (i.e. the estimate of the quality of the variant). 
         [0013]    The accuracy of the obtained position of the object determines the accuracy of obtaining the positions of objects described further in the description relative to this object. Searching for the next dependent object is performed separately for each obtained variant of the current object. Therefore, the variants of objects obtained on the image comprise a hierarchical tree, considerable more branched than the hierarchical tree of elements in a structural description. 
         [0014]    If an element or an object is compound, i.e. composed of several parts, the whole group also represents an element, which requires generating several possible variants, the number of which corresponds to the number of complete chains of group sub-elements (dependent elements of a lower level). The chain is considered complete if all its obtained sub-elements (elements of a lower level) have sufficient quality. The total estimate of the quality of a variant of a compound element is calculated by multiplying the estimates of the quality of element variants forming the compound element. A flexible structural description as a whole also represents a compound element, therefore, the quality of the correspondence of the variant to the flexible structural description is determined by multiplying the quality of its elements. 
         [0015]    Application of a flexible structural description comprises searching for the best complete branch in the whole tree of variants, i.e. the branch that include all the elements, from first to last. A general solution of such a task implies taking into consideration all the possible combinations of hypotheses for all elements, construction of a total multitude of complete branches and selecting the best among them. However, in practice, such a solution requires too much resources, and is therefore impractical. Moreover, an abrupt increase in the number of variants taken into consideration is possible, caused by an increase in the number of elements and a lack of rigid restrictions on the search area and element parameters. 
         [0016]    To limit the time required to analyze the variants, one of the several methods of decreasing the volume is used. 
         [0017]    Each element gets the maximum allowed number of acceptable variants, rated in the order of decreasing quality. These variants will be used in the further search, i.e. when searching for the next element. Any variants beyond this number will be discarded. Usually this number is 5 (five) for simple elements and 1 (one) for compound elements. This means that, if 15 variants are obtained for a simple element in the assigned search area, five variants with the best quality rating will be selected. Other 10 chains of variants will not be complete and will not be taken into consideration. A compound element is identified with a greater quality rating than a simple element, because the quality of identification is determined not only by multiplying the quality ratings of the constituent simple elements, but also by several additional (mainly qualitative) characteristics, such as mutual arrangement, object size, correspondence to the conditions of mutual arrangement several elements, and so on. 
         [0018]    Since a compound element is identified with a greater quality rating than a simple element, its best variant usually turns out to be accurate. 
         [0019]    The process of searching for objects almost always includes generating several incomplete chains of variants of obtained objects and, therefore, several directions of further search. Search for the best hypothesis is performed by using an algorithm of “broad searching”, i.e. the search is always directed through the chain of variants which has the best quality rating at the current step, regardless of the length of the chain. For example, if in a flexible structural description of 30 elements 2 chains are obtained during search, one of which consists of 30 elements with the quality rating of 0.89 and the other chain has 2 elements with the quality rating of 0.92, then the second chain will be pursued until its total quality becomes lower than that of the first chain. 
         [0020]    The following rule of quality optimization is used for compound elements: if an ideal complete chain for this element is obtained, i.e. the quality of the obtained chain equals 1, other variants of sub-elements composition of this compound element are not taken into consideration. 
         [0021]    Moreover, the maximum number of variants for every element in the entire hypothesis tree is restricted to 1000. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0022]    A set of spatial and parametric characteristics sufficient for search for and identification of an element is used to describe elements of a document of anon-fixed format. A structural description consists of a description of spatial and/or parametric characteristics of the element, and a description of its logical connections with other elements. 
         [0023]    A flexible structural description may also additionally include all or some of the following conditions. The logical structure of a document is represented as a sequence of elements connected mainly by hierarchical dependences; an algorithm of determining the search parameters is set, spatial characteristics for searching for each element are specified, parametric characteristics of the searching for each element are set, the set of parameters for identifying a compound element on the basis of the aggregate of components is set, and an algorithm of estimating the quality of an obtained variant of an element is set. 
         [0024]    A flexible structural description may also additionally include a separate brief structural description for determining the correct spatial orientation of the image. 
         [0025]    A flexible structural description may also additionally include a separate brief structural description for determining the document type and selecting the corresponding comprehensive document description from several possible descriptions. A comprehensive description is created for each document type. If a document type does not have a brief description, then the comprehensive description of the document is used for selecting its type. 
         [0026]    The structure of element connection is mainly realized as a hierarchical structure. 
         [0027]    The essence of the invention as regards the method of searching (recognizing) elements (fields) on a document form in a bit-mapped image according to the first method consists in the following. A method of searching and identifying (including recognition) the elements of a document with non-fixed format comprises at least the following preliminary actions. Revision of the whole document image. Detection of obtained objects or object fragments. Performing an initial classification of detected objects according to the set of predefined types. Recognition of all or a part of text objects, where each object is recognized partially or entirely. To speed up the processing, recognition of text objects is performed to a degree which is sufficient for identifying the document structure and other elements of the form. 
         [0028]    A separate structural description is set to detect the spatial orientation of an object. Such a description usually contains a brief set of structural elements which can be easily recognized on a document (form). Orientation is accepted as correct if the elements of the structural description coincide with the elements on the image with the best quality estimate. 
         [0029]    A corresponding separate brief description is set for quick detection of the type of recognized document and selecting the comprehensive (main) description of the document type from several possible descriptions. A comprehensive description is created for each document type. If any document type does not have a brief description, then the comprehensive description of the document is used for selecting its type, and the selection of the document type is performed by comparing the quality estimates of the used (brief or comprehensive) descriptions of different types. 
         [0030]    Then the following main actions are performed. Choosing an element for search in the structural description. Obtaining an algorithm of determining the search parameters from the structural description. Searching for the element. Testing the obtained variants. 
         [0031]    Searching for an element comprises the following operations. Search by using the spatial characteristics of the search area (for example, a half-plane, a rectangle, a circle, a polygon, or any combinations thereof). Searching by using parametric characteristics of an element. Search by using the spatial characteristics of an element. For example, as absolute coordinates and/or coordinates relative to the other elements (located higher in the tree). The coordinates may be specified as exact values or as an interval. 
         [0032]    Search with the help of the results of preliminary text recognition. 
         [0033]    Testing the detected elements comprises the following actions. Identification of detected elements. Analysis of the results of testing the hypotheses about the presence of the element, completeness of the element composition, and types of composite parts of the element, analysis of correspondence of the structure of a compound element to the hypothesis. 
         [0034]    Optimization of the search through element combination variants, in its turn, comprises the following actions. Assigning to each element several variants with the best quality rating, which are kept for further analysis, and discarding all other variants. Searching for the best variant of a compound element, taking into account the best total quality estimate of the composite parts, regardless of their number. The total quality estimate of a compound element is calculated as the product of the quality estimates of the parts thereof. Additionally, other qualitative characteristics are taken into consideration. 
         [0035]    Initially, the first element in the list is selected. 
         [0036]    The following spatial characteristics of an element may be also applied: absolute coordinates and/or coordinates relative to the other elements. 
         [0037]    The coordinates may be specified as exact values or as an interval. 
         [0038]    The following spatial characteristics of the search area may be used: half-plane, rectangle, circle, polygon. 
         [0039]    Revision of the element combination variants is considered complete if the total quality estimate of the complete set of elements achieves the quality value of 1. 
         [0040]    The number of variants of a compound element which have the best quality estimate and are used for further analysis should be in the range from one to three. 
         [0041]    The number of variants of a simple element which have the best quality estimate and are used for further analysis should be in the range from three to ten. 
         [0042]    A method of search and recognition (identification) of elements (fields) on a document of non-fixed format according to the second variant comprises at least the following preliminary actions. Revision of the entire document image. Allocation of the detected objects or object fragments. Performing the initial classification of the allocated objects according to the set of predefined types. Recognition of all or a part of text objects, where each object is recognized partially or entirely. Recognition of text objects is performed to a degree which is sufficient for identifying the document structure and other elements of the form. 
         [0043]    A separate structural description is set to detect the spatial orientation of an object. Such a description usually contains a brief set of structural elements which can be easily recognized on a document (form). Orientation is accepted as correct if the elements of the structural description coincide with the elements on the image with the best quality estimate. 
         [0044]    A corresponding separate brief description is set for quick detection of the type of a recognized document and selecting the comprehensive (main) description of the document type from several possible descriptions. A comprehensive description is created for each document type. If any document type does not have a brief description, then the comprehensive description of the document is used for selecting its type, and the selection of the document type is performed by comparing the quality estimates of the used (brief or comprehensive) descriptions of different types. 
         [0045]    Then all or at least a part of the following operations are performed. 
         [0046]    Choosing the next element in the structural description (starting from the first one). 
         [0047]    Calculating or getting a predefined algorithm for determining the search parameters. 
         [0048]    Performing a search for an element, comprising at least the following operations: 
         [0049]    searching by using the spatial characteristics of the search area such as, for example, half-plane, rectangle, circle, polygon and others; 
         [0050]    searching by using the parametric characteristics of an element (the type of element); 
         [0051]    searching by using the spatial characteristics of an element, represented as absolute coordinates and/or coordinates relative to the other elements. 
         [0000]    The coordinates may be specified as exact values or as an interval. 
         [0052]    calculating the quality of correspondence of the obtained variant to the description of the required element. 
         [0053]    Testing the obtained variant of the object comprises the following operations. 
         [0054]    identifying the obtained element variant; 
         [0055]    calculating the quality of the identification of the element; 
         [0056]    analyzing the results of testing the hypotheses about the presence and completeness of the composition of the element and the types of composite parts, analyzing of the correspondence of a compound element to the hypothesis about the type of the element; 
         [0057]    calculating the total reliability of the obtained variant 
         [0058]    Optimization of revision of element combination variants comprises 
         [0059]    assigning to each type of the element several variants with the best quality rating, which are kept for further analysis; 
         [0060]    searching for the best variant of a compound element, taking into account the best total quality estimate of composite parts, regardless of their number. 
         [0061]    revision of the quality estimates of the variants which were discarded earlier in order to find any quality estimates which would be higher than the current one. 
         [0062]    If the total quality estimate is lower than the predefined level, searching for the next variant of the same element and calculating its total quality estimate are performed. 
         [0063]    If the total quality estimate is higher than the predefined level, searching for the next element is performed. 
         [0064]    The variant with the maximum total quality estimate is selected. 
         [0065]    Searching for the best variant of a compound element is performed, taking into account the best total quality estimate of accountable composite parts, regardless of their number. 
         [0066]    The quality of a variant as supposed herein is the estimation which indicates the degree of correspondence of the obtained variant to the present element (its properties and search constraints). The numerical constituent of the quality of a variant is a number ranging from 0 to 1. The quality of a hypothesis for a compound element is calculated by multiplying the quality estimates of the hypotheses of all the sub-elements thereof. 
         [0067]    The quality of a variant is a result of multiplication of the quality of the element, assigned at the stage of specification of the structural description during the specification of the element type, and the quality of the element (object), variant is calculated at the stage of the search. The total quality of the variant is calculated as a product of quality ratings of all interdependent composing elements in the chain, from the first element in the structural description to the current element. 
         [0068]    For optional elements i.e. such elements, which may be missing on a document, a “zero” variant of an element is used, if the element has not been detected. A “zero” variant supposes that the required object is missing in the search area. A “zero” variant is formed, if no objects are detected corresponding to the optional element and having the quality estimate which is greater than the quality of the zero variant. If the zero variant is selected as the most appropriate, the process is started of searching and identifying the next element in the list (including the elements which depend on the element which has not been obtained), or analyzing one of the earlier rejected variants of the same element or another element, simultaneously taking appropriate measures to avoid creating an infinite loop in the process. 
         [0069]    If no objects are detected corresponding to the optional element, the use of the flexible description is not stopped. Instead, a zero variant is generated which gains the quality value predefined by the user in the description of this optional element. 
         [0070]    Creation of the flexible structural description uses the following main types of elements conventionally divided into the following: simple element which do not contain other elements: Static Text, Separator, White field, Barcode, Text String, Text Fragment, Set of objects, Date, Phone Number, Currency, and Table, and compound elements—Group, and some other types. 
         [0071]    Static text, as supposed herein, is an element of structural description describing a text with the known meaning. The text may consist of one word, of several words, or of an entire paragraph. “Several words” differs from “a word” by the presence of at least one blank space or another inter-word separator, depending on the language, for example, a full stop, a comma, a colon, or any other punctuation mark. Several words may take up several text strings. 
         [0072]    Separator, as supposed herein, is an element representing a vertical or horizontal graphical object between other objects. A separator can be represented, for example, by a solid line or a dotted line. 
         [0073]    White field, as supposed herein, is an element of description representing a rectangular region of an image which does not contain any objects within it. 
         [0074]    Barcode, as supposed herein, is an element of flexible description representing a line drawing which codes numerical information. 
         [0075]    Text string, as supposed herein, is an element representing a sequence of characters located on a single line one after another. Character strings can consist of text objects, for example, words, or of fragments of text objects. 
         [0076]    Text fragment, as supposed herein, is an element representing an aggregate of text objects. 
         [0077]    Set of objects (of the specified type), as supposed herein, is an element representing an aggregate of different types of objects on an image, where each object meets the search constraints. 
         [0078]    Date as supposed herein, is an element representing a date. 
         [0079]    Telephone number, as supposed herein, is an element representing a telephone number which may be accompanied a by prefix (“tel.”, “home tel.”, etc.) and by a code of the city/region, which is separated from the number by brackets. 
         [0080]    Currency, as supposed herein, is an element of description representing money sums, where the name of the currency can be used as the prefix. 
         [0081]    Table, as supposed herein, is an element of flexible description representing data in the form of a table. 
         [0082]    Compound element (element group), as supposed herein, is an aggregate of several elements (sub-elements). Sub-elements may be simple or compound. 
         [0083]    Compound elements are used for: 
         [0084]    joining elements into a group. Each of these compound elements may contain smaller compound elements which search for smaller fragments of the element; 
         [0085]    providing the logical hierarchy of elements for better navigation through the structural description; 
         [0086]    reducing the number of possible variants of the element in order to speed up the search for the resulting variant. Joining elements into a compound element allows to analyze this set of sub-elements as a single entity which has its own complete variant (consisting of the variants of the sub-elements) and a total estimate of reliability of the entire group. Revision of possible combinations of variants of the sub-elements is performed within the group, and only a predefined number of the best variants in the group take part in the further analysis and search for the next elements. The number of the best variants of a compound element which take part in further searching is usually 1; 
         [0087]    specifying restrictions of the search area which are common for all the sub-elements. The search area of a certain sub-element in this case is calculated as the intersection of the search area set for the sub-element itself and the search area of the group which contains this sub-element.