Abstract:
A classification tree which allows direct recoginition of an input pattern such as image or sound without extra processing such as pre-processing of unprocessed pattern data having high order characteristic variables is prepared. Information processing method and apparatus conduct hierarchical pre-processing for hierarchically pre-processing a learning pattern, prepares a classification tree based on the learning pattern processed by the hierarchical pre-processing and conducts the recognition by using the classification tree.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an information processing method and an apparatus relating to a classification method for classifying patterns such as images, sounds and characters into categories. 
     The present invention further relates to an information processing method and an apparatus suitable for recognizing information of images, sounds and characters. 
     2. Related Background Art 
     In a prior art method of pattern recognition, a recognition method using a neural network has been known. A great feature of the neural network resides in that a powerful learn algorithm represented by an error inverse propagation algorithm is provided. Because of this feature, the neural network has been adopted in a wide field of pattern recognition. 
     Another method for pattern recognition is a method for classifying a pattern into a category by using classification trees stepwise. For example, in the pattern recognition system disclosed in JP-B-6-52537, characteristic axes are numbered and they are categorized in accordance with the numbers. 
     A method for categorizing based on primary coupling of characteristic variables is also known. In general, a better result is provided by using the primary coupling of characteristic variables than using the characteristic axes one by one. 
     However, the above prior art techniques have the following defects. 
     1. The range of the characteristic variables to which the neural network is applicable is in the order of 10, and when input variables include higher order variables, some category pre-separation or character extraction is needed. In addition, when pre-processing such as category pre-separation or character extraction is conducted, an error may be included during the pre-processing and a final recognition rate is not that high even if the neural network is constructed with a high precision. 
     2. The range of character variables to which the classification trees are applicable is also in the order of 10, and when higher order characteristic variables are to be processed, the construction of the classification trees is virtually impossible. 
     3. In the actual pattern recognition, the orders of character variables of unprocessed data ranges between 100 and 1000. Thus, it is impossible to use the existing neural network and the classification trees which allow only the order of 10 to the actual pattern recognition as they exist. 
     SUMMARY OF THE INVENTION 
     The present invention comprises a hierarchical pre-processing step for hierarchically pre-processing input learning patterns and a classification tree preparation step for preparing a classification tree based on the learning patterns processed in the hierarchical pre-processing step. As a result, a high recognition factor is attained with a high efficiency even if input variables possess high order characteristics. 
     The present invention attains high efficiency categorization by degenerating the characteristic variables of the learning patterns stepwise in the hierarchical pre-processing step. 
     The present invention comprises a developed variable discrimination step for selecting variables in accordance with a relation between a higher hierarchy and a lower hierarchy in the classification tree preparation step, and develops the degenerated variables toward the lower hierarchy based on a result of the developed variable discrimination step to attain the efficient categorization. 
     The present invention recognizes the input pattern by using the prepared classification tree to attain the high recognition factor efficiently. 
     The present invention prepares a recognition template based on the prepared classification tree and recognizes the input pattern by using the template to attain the high recognition rate efficiently. 
     The present invention allows the recognition of hand-written characters efficiently at a high recognition factor by inputting a hand-written character pattern as the input pattern. 
     The present invention allows the recognition of a optically read character pattern efficiently at a high recognition factor by inputting the optically read character pattern as an input pattern. 
     The present invention allows the recognition of sound efficiently at a high recognition factor by inputting a sound pattern as an input pattern. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a method for preparing a dictionary for pattern recognition in one embodiment of the present invention. 
     FIG. 2 shows a block diagram of a configuration of an information processing apparatus of the embodiment. 
     FIG. 3 shows a structure of a neural network used in the present embodiment. 
     FIG. 4 shows a flow chart of a flow in a pattern recognition dictionary preparation process of the embodiment. 
     FIG. 5 shows a learning pattern. 
     FIG. 6 shows a hierarchical learning pattern. 
     FIG. 7 shows a classification tree preparation process of the embodiment. 
     FIG. 8 shows a classification tree of the embodiment, and 
     FIG. 9 shows an application of a prior art neural network. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     A preferred embodiment of the present invention is explained with reference to the accompanying drawings. 
     [Embodiment 1] 
     FIG. 2 shows a configuration of an information processing apparatus to which the pattern recognition method of the present invention is applied. 
     A pattern recognition apparatus comprises a pattern input unit  201 , a display unit  202 , a central processing unit (CPU)  203  and a memory  204 . 
     The pattern input unit  201  comprises a digitizer for on-line character recognition and coordinate data of a character or graphics inputted on the digitizer by a stylus is delivered to the CPU  203 . The pattern input unit is not limited to the combination of the digitizer and the stylus but it may by a scanner (for inputting binary pattern data) or microphone (for inputting a sound pattern) so long as it can input a pattern to be recognized. The display unit  202  displays unprocessed pattern data inputted by the pattern input unit  201  and a result of recognition by the CPU  203 . The CPU  203  recognizes the input pattern and executes a process shown in a flow chart to be described later in accordance with a control program stored in the memory  204  and controls all units. The memory  204  stores a recognition program and a dictionary to be used by the CPU  203  and stores variable parameters to be used by the recognition program and data produced during the recognition process. 
     FIG. 1 shows a pattern recognition dictionary preparation method and a pattern recognition method in the present embodiment. Numeral  101  denotes an unprocessed learning pattern, numeral  102  denotes a hierarchical pre-process for delivering the unprocessed learning pattern to a neural network, numeral  103  denotes a hierarchical learning pattern processed by the neural network, numeral  104  denotes classification tree preparation for preparing a classification tree based on the hierarchical learning pattern, numeral  105  denotes developed variable discrimination used during the preparation of the classification tree by the classification tree preparation, and numeral  106  denotes a final classification tree. 
     In the present embodiment, an input is the unprocessed learning pattern and an output is the classification tree. 
     Referring to FIGS. 3 to  7 , an operation of the present invention is explained. 
     Ten different numerals ‘0’ to ‘9’ drawn on a 16×16 mesh are assumed as a category of the input patterns. A ‘0’ input pattern is shown in FIG.  5 . It is assumed that learning patterns inputted for preparing the dictionary include ‘0’ to ‘9’ with each category including 100 patterns. That is, 100 templates are prepared for each category. The templates prepared from the learning patterns are designated by LT i,j  (learning template i, j, where i is a suffix indicating a category and 0≦i≦9, and j is a suffix indicating a template number and 1≦j≦100). 
     Based on the above assumption, a four-hierarchy neural network as shown in FIG. 3 is constructed. The four hierarchies in FIG. 3 comprises 2×2, 4×4, 8×8 and 16×16 neuron groups, respectively. 
     As shown in a flow chart of FIG. 4, the pattern recognition dictionary preparation process of the present embodiment is executed through two steps, a neural network developing phase and a classification tree preparation phase. The respective phases are explained in sequence. 
     (1) Neural Network Developing Phase 
     The learning templates are inputted as the lowest layer 16×16 neurons of FIG.  3 . It is assumed that the neurons are off at white portions of the input pattern (LT i,j ) and the neurons are on at black portions. (In the following description, black and neuron on, and white and neuron off are interchangeably used.) 
     The structure of the neural network is very simple. Namely, the input pattern is processed toward upper layer with a convention that if there is at least one on neuron in one 2×2 neuron group in a lower layer, a corresponding neuron in the immediately upper layer is set on. A learning template shown in FIG. 5 is processed in the neural network developing process to prepare a neural network comprising first to fourth layers as shown in FIG.  6 . 
     A characteristic space of the input pattern forms a 256-order super cubic lattice (2 256 ). It is degenerated to 2 64  in the third layer, to 2 16  in the second layer and to 2 4  in the first layer. 
     The structure/rule of the neural network is not limited to the above. 
     (2) Classification Tree Preparation Phase 
     All of the learning templates (LT i,j ) (ten categories each having 100 patterns) are developed into the neural network as shown in FIG. 3 in the neural network developing phase (1). The preparation of the classification tree is conducted from the upper (first) layer to the lower (fourth) layer as opposed to the development of the neural network. 
     A root node starts from a virtual neuron above the highest layer (first layer 2×2) of FIG.  3 . 
     As the development of the learning templates (LT i,j ), at least one of the neurons in the highest order layer (2×2) of FIG. 3 is on. (Not all neurons in the highest order layer (2×2) is off except when a totally white learning template is present). Accordingly, the activity of the virtual highest order neuron is on for all learning templates (LT i,j ). 
     Since there are 2 4 =16 states of the highest order layer (2×2) (more exactly, 15 states because there is no all-off state as explained above), 16 branches extend from the root node (see FIG.  7 ). 
     The number of learning templates (LT i,j ) which are present in each branch is counted. The subsequent process branches depending on the result. 
     (1) No learning template (LT i,j ) is present: 
     The branch is deleted. 
     (2) Only templates in certain category (for example, ‘1’) are present in the learning templates (LT i,j ): 
     If the branch is determined, the category will be uniquely determined and the branch is defined as a leaf and assigned with a category number (for example, ‘1’). (3) Other than (1) and (2) above, that is, templates of a plurality of categories are mixedly present: 
     The branch is defined as a node to continue the preparation of the classification tree. FIG. 7 shows a result of the above process. The branch states are shown by showing firing states of the neurons of the highest order layer (first layer) of FIG.  3 . (Black represents on and white represents off). 
     The branch for which the type of existing category is x corresponds to the case (1) “No learning template (LT i,j ) is present” and it is deleted. (Strictly speaking, since it has been known that there is no totally white pattern, the leftmost branch does not extend from the root.) 
     In the eighth branch from the left end, only the learning templates of the category ‘1’ are present. This corresponds to the case (2) “Only templates in certain category (for example, ‘1’) are present in the learning templates (LT i,j )” and it becomes a leaf. 
     In the twelfth branch from the left end, the learning templates of the categories ‘2’, ‘4’, ‘5’ and ‘6’ are present. This corresponds to the case (3) “Other than (1) and (2) above, that is, templates of a plurality of categories are mixedly present” and it becomes a node. 
     A method for preparing a branch from a node is described. 
     In preparing the branch from the node, it is desired to prepare a most efficient branch. The most efficient means that most information on the category is derived when the branch is developed. 
     It is assumed that the branches developed from the node are limited to those branches developed toward lower layers from the on-state neurons in the node. For example, for the twelfth branch from the left end in FIG. 7, one neuron is selected from three neurons at the left top and the right button in the first layer of FIG.  3  and branches are developed for the states of the neurons below those neurons, that is, the lower four neurons of the second layer of FIG.  3 . 
     As a result, a calculation time required for the development of the branches is significantly reduced. Such restriction does not essentially damage the classification function of the classification tree. 
     A method for selecting a most efficient neuron among the on-state neuron in the node when they are developed is now explained. 
     Assuming that the number of learning templates having the category number i among the learning templates (LT i,j ) present in a node is represented by N i  and the total number of the learning templates present in the node is represented by N, a probability p i  of presence of the respective category in the node is represented by p i =N i /N, where        N   =       ∑     i   =   0     9          N   i                              
     Accordingly, an entropy when the node information is derived is expressed by:                      Entropy   node     =       -       ∑     i   =   0     9            p   i          log        (     p   i     )             =     -       ∑     i   =   0     9              N   i     N        log                   (       N   i     N     )                         =       1   N            ∑     i   =   0     9            N   i          (       log                 N     -     log                   N   i         )                         (   1   )                                
     One on-state node in the node is selected and a decrease of the entropy when branches are developed therefrom is calculated. 
     As described above, the number of branches when one neuron is developed toward the lower layer is 16. A manner of distribution of the learning templates (LT i,j ) to the sixteen branches is shown by the number N i,b  of the learning templates (LT i,j ) present in the developed branches, where i represents the category number and b represents the branch number. An entropy when the respective branch information is derived is given by:                        Entropy   branch     =       -       ∑     i   =   0     9            p   i        log                   (     p   i     )           =     -       ∑     i   =   0     9              N     i   ,   b         N   b          log                   (       N     i   ,   b         N   b       )                         =       1     N   b              ∑     i   =   0     9            N     i   ,   b            (       log                   N   b       -     log                   N     i   ,   b           )                                 where                     N   b     =       ∑     i   =   0     9          N     i   ,   b                   (   2   )                                
     represents a total number of learning templates (LT i,j ) present in the branches. 
     A probabitility to go to the respective branches is given by:          N   b     N                          
     Since N is same as the N in the formula (1), an average entropy when the branches are developed is given by:                  Entropy   branch     _     =       1   N            ∑     b   =   1     16            ∑     i   =   0     9            N     i   ,   b            (       log                   N   b       -     log                   N     i   ,   b           )                     (   3   )                                
     Thus, an average decrease of the entropy is given by:              EntropyDecrease   =       Entropy   node     -       Entropy   branch     _               (   4   )                                
     A quotient of the formula (4) divided by the number of branches.              EntropyDecrease   BranchNumber           (   5   )                                
     represents a classification efficiency when the branches are developed. 
     A neuron having a maximum value for the formula (5) is selected and the branches are developed. 
     Instead of developing only one neuron, the branch may be developed for a group of neurons. 
     In this case, the Branch Number in the formula (5) is equal to the number of neurons×16. (Strictly speaking, the Branch Number is equal to the number of neurons×15 since it is not possible that all neurons in the lower layer are off.) 
     In the present embodiment, the value represented by the formula (5) is adopted as the value to represent the classification efficiency when the branches are developed but other value than the formula (5) may be used for a function representing the development efficiency of the branches of “Gini criterion” described in the reference “Classification and Regression Trees”. 
     When a neuron or a set of neurons to be developed is determined, the branches are developed and leaves and nodes are prepared. When all finally become leaves, the preparation of the classification tree is completed. 
     FIG. 8 shows a content of classification tree actually prepared. 
     FIG. 8 shows a detail of FIG. 7 with the deleted branches being omitted. The branches with circles in FIG. 8 indicate that they are leaves. 
     Since all branches other than leaves become nodes, the branches are developed further deeply. In FIG. 8, the result of the further development of the branches is shown for only the third node from the right end. In the third node from the right end, three categories ‘1’, ‘7’ and ‘9’ coexist and the development of branches is needed. It is assumed that in the third node from the right end, the neuron in the first layer to be developed is determined as the right top neuron in the first layer in the development variable discrimination step. Then, 2 4 =16 branches are developed for the state of the right top neuron as they are in FIG.  7  and some branches are deleted, some branches become leaves and some branches become nodes in accordance with the above conditions (1) to (3). 
     The leaves which become the nodes should further develop the branches and finally the ends of all branches are leaves. 
     In FIG. 8, the result of development of the third node from the right end is shown by overwriting the first layer and the second layer for simplification. In actuality, the states are represented in the four neurons of the first layer and the four right top neurons of the second layer of the neural network shown in FIG.  3 . 
     The actual recognition process may be conducted along the classification tree prepared in the manner described above or by making the leaves prepared by the classification tree into the form of templates. 
     [Embodiment 2] 
     In the neural network development phase (1) of the Embodiment 1, the neural structure/rule is set as follows: 
     If two or more neurons of the lower layer 2×2 neurons are on, one neuron on the above layer is on and others are off. 
     In this case, it is not always true that the information of only the on-state neuron degenerates as it is in the Embodiment 1. Accordingly, in the classification tree preparation phase (2), a neuron or a set of neurons to be developed, including off-state neurons, should be selected. It may be implemented in the same manner as that of the Embodiment 1. 
     Thus, the limitation to the neural network structure/rule is essentially zero and it is only needed that certain degree of continuity is assured. 
     For example, for the states of the branches of FIG. 7, the rule in the Embodiment 1 is that the leftmost neurons of the lower four neurons is off and others are on, and the rule of the present embodiment is that the neurons up to the fifth from the left end are off and others are on. 
     The boundary of off and on may be arbitrarily set in the array of states of FIG. 7 because the rule/mapping continuity is assured.