Character recognition equipment

Abstract: The present invention relates to a character recognition equipment (10) which is capable of recogniz­ ing with high accuracy those characters that have poor contrast and produce variation in printing density such as characters printed on industrial products. The character recognition equipment (10) according to the present invention is composed of an input unit group (3) which processes in image in a plurality of window regions (201, 202, 203, ...) that are set on a character image, a feature unit group (4) which performs calculation on values obtained by adding thresholds to the output values therefrom, and an output unit group (6) which performs calculation on values obtained by multiplying output values from the feature unit group and adding the thresholds to the sum total thereof. Here, the thresholds and the weights can be adjusted automatically with an actual object image.

Description: BACKGROUND OF THE INVENTION The present invention relates to a character recognition equipment for imprints, printed matters and stamped characters, and more particularly to a character recognition equipment suitable for recognition of characters in which the contrast between characters and the background is poor and printing quality is varied. A conventional character recognition equipment utilizes an application of a pattern matching method in which a character pattern is divided in a plurality of sections and recognition judgement is made by comparing and collating the degree of resemblance for every division unit as described in Japanese Patent Laid-Open No. 61-255488 for instance. This method is a recognition algorithm using a binary image, and when a change such as breaking and thinning are produced in a character's line, processing becomes complicated and recognition time gets longer because such variation is absorbed by algorithm. For example, a binarized threshold also becomes unable to correspond to the variation of printing quality of characters with a fixed threshold. Besides, such recognition algorithm is performed by classifying extracted features in accordance with a judgement tree, but the way of combining these features for obtaining an optimum judgement has been obtained through experiments in a trial-and-error manner. Another conventional Pattern recognition equipment is presented in IEEE First International Conference on Neural Networks, Vol. II, 21-24 June 1987, San Diego, US, pages 531-540; M. Fukaya et al.: "Two-level neural networks; Learning by interaction with environment". Such a two-level neural network comprises two layers which correspond to input and output layers. Each element of the layers has two possible states: 0 and 1. The output is a function of a threshold value and a postsynaptic potential, which is a weighted sum of the input signals. However, only a neural network with two-layer structure and a computer simulation using simple idea calculations are presented, such that merely some principle aspects of the problem are discussed, but an actually working technical solution is not disclosed. Since above-described conventional technique depends on the application of a pattern matching method and is a recognition algorithm using a binary image, a satisfactory result is obtainable for character recognition of paper with good printing quality and the like. However, there have been such problems that, when the contract of characters to be recognized is poor and breaking and thinning are produced when binarized, the recognition algorithm thereof becomes complicated, thus making the recognition time longer and the misrecognition rate higher. SUMMARY OF THE INVENTION It is an object of the present invention to provide a character recognition equipment and a corresponding method which is capable of recognizing characters in which the contrast is poor and printing density is varied such as characters printed on industrial parts safely and with high accuracy and is also adaptable automatically to variation of a character style. The object is solved by a character recognition equipment according to claim 1 and a method according to claim 24 . A character recognition equipment of the present invention is composed of an input unit group which processes images in a plurality of window regions that are set on the character images and outputs the result, a feature unit group which performs operation on those values obtained by adding thresholds to the output values from the input unit group, and an output unit group which performs operation on the values obtained by multiplying the output values from the feature unit group by weights and adding thresholds to the sum total thereof, wherein the thresholds and the weights may be adjusted automatically with an image of an actual object. Furthermore, when a character string consisting of a plurality of characters is recognized, the type of a character of the recognition object is designated for each column of the character string, the thresholds and the weights are held separately for each column of the character string, and character recognition is performed using them. In the above-described character recognition equipment, such a mechanism that is capable of sampling features of the character with high accuracy and is able to learn how to weight a plurality of features automatically from an actual sample character is implemented for the purpose of optimizing the combination among the features, and two types of informations, not only brightness information of the character's line, but also edge information detected from the differential image of an original image, are used in each of a plurality of windows provided appropriately in the character region, thereby making it possible to sample features stably with high reliability even for a printing character of poor contrast. Moreover, as to be method of determining the combination of features, automatic adjustment is performed by utilizing the actual sample image, thereby to perform stabilized recognition. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a character judgement module showing an embodiment of a character recognition equipment according to the present invention; Fig. 2 is a hardware block diagram of the character recognition equipment shown in Fig. 1; Fig. 3A, Fig. 3B and Fig. 3C are explanatory diagrams showing a processing example in an image processor of the input unit shown in Fig. 1; Fig. 4 is an explanatory diagram showing a process of adjusting thresholds and weights shown in Fig. 1; Fig. 5 is an explanatory view showing a scope in which a user sets an initial value of the weights shown in Fig. 4 through the user's judgement; Fig. 6 is an explanatory view showing a scope in which the positions and the sizes of the window regions of Fig. 1 are set; Fig. 7 is a top view showing an example of a keyboard used in the operation of Fig. 6; Fig. 8 is an explanatory view showing a scope in which the type of processing in the image processor of Fig. 1 is set; Fig. 9A and Fig. 9B are explanatory diagrams showing how to compensate the brightness of the image of Fig. 1; Fig. 10 is another partial block diagram of a character judgement module showing an embodiment of a character recognition equipment according to the present invention; Fig. 11 is an explanatory diagram showing a method of reducing misrecognition in Fig. 10; Fig. 12 is an explanatory view showing a scope in which the number of columns is set when the method of reducing misrecognition in Fig. 11 is employed; Fig. 13 is a flow chart showing a process of adjusting thresholds and weights of Fig. 1 by using a computer other than the character recognition equipment; Fig. 14 is a system block diagram showing an example in which a character recognition equipment of the present invention is employed in a production line; Fig. 15 is a flow chart showing a read process of a product number shown in Fig. 14; Fig. 16 is a flow chart showing a sequence in automatic recognition mode of a character recognition equipment of the present invention; Fig. 17 is a flow chart showing a sequence in semiautomatic recognition mode thereof; Fig. 18 is an explanatory view showing a display scope of the recognition result in Fig. 17; Fig. 19 is a flow chart showing a sequence in manual recognition mode of a character recognition equipment according to the present invention; Fig. 20 is a block diagram showing a function in teaching mode of a character recognition equipment according to the present invention; Fig. 21 is an explanatory view showing a selection scope of an anitial state of adjustment execution in Fig. 20; Fig. 22 is a block diagram showing a function in utility mode of a character recognition equipment according to the present invention; Fig. 23 is an explanatory diagram showing a time chart when a character recognition equipment of the present invention adjusts thresholds and weights while performing recognition; Fig. 24A and Fig. 24B are explanatory diagrams showing a method of automatically creating an image in which dislocation is generated from the sample image and an image in which brightness is varied in the character recognition equipment of the present invention; Fig. 25A, Fig. 25B and Fig. 25C are explanatory diagrams showing a processing example of an image processor of the input unit in Fig. 1; Fig. 26 is an explanatory diagram of a combined feature unit; Fig. 27 is an explanatory view for setting the combination for combined feature unit; Fig. 28 is an explanatory view showing an example or a processing menu of a work station connected to the character recognition equipment; and Fig. 29 is an explanatory view of the function of the work station shown in Fig. 28. DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described hereafter with reference to Fig. 1 thru Fig. 24. Fig. 1 is a block diagram of a character judgement module showing an embodiment of a character recognition equipment according to the present invention. In Fig. 1, a character image of a recognition object is taken into an image memory 2 of a character judgement module 1 by means of a TV camera 23 (Fig. 2). In an input unit group 3, there are provided window position storages 311, 321, 331, which store window position data and image processing modules 312, 322, 332, ... in each of respective input units 31, 32, 33, ..., image processing is performed in respective window regions 201, 202, 203, ... on the image memory 2 and processing results are output, and the values of processing results are sent to a feature unit group 4. In respective feature units 41, 42, 43, ... of the feature unit group 4, there are provided threshold storages 411, 421, 431, ... which store thresholds and feature unit calculation modules 412, 422, 432, ..., and operation is performed on values obtained by adding thresholds to the output values from respective input units and operation results are output. The output values of respective units of this feature unit group 4 are multiplied by weights which are stored in a weight storage 5, and these values are sent to an output unit group 6. In the output unit group 6, there are provided output units 61, 62, 63, ... which correspond to the types of characters, and in respective output units, there are provided output threshold storages 611, 621, 631, ... which store thresholds and output unit calculation modules 612, 622, 632, ..., in which operation is performed on the values obtained by adding thresholds to the sum total of the values obtained by multiplying the output values from respective feature units by the weights, and the results of operation are output. Fig. 2 is a hardware block diagram of the character recognition equipment shown in Fig. 1. In Fig. 2, a character recognition equipment 10 is composed of a video interface 13 which receives a signal from the TV camera 23 and stores it in an image memory 2, and also outputs it to a monitor TV 12, a general interface 14 for performing input/output of an external signal to and from an equipment other than the character recognition equipment such as a work station, a program and data memory 15 which stores programs and data, a video processor 16 which performs image processing, an IC card interface 18 for connecting with an IC card 17 used for preservation of various data, a teaching box 19 for manual operation such as teaching, and a CPU 20 which controls the whole of above-described operation. Here, the character judgement module 1 (Fig. 1) is implemented with the image memory 2, the program and data memory 15, the video processor 16 and the CPU 20. That is, window position storages 311, 321 and 331 of the input units, threshold storages 411, 421 and 431 of the feature units, a weight storage 5 and output threshold storages 611, 621 and 631 of the output units are located in the program and data memory 15. The image processing modules 312, 322 and 332 are implemented with the video processor 16 and the CPU 20, and the feature units calculation modules 412, 422 and 432 and the output units calculation modules 612, 622 and 632 are implemented with the CPU 20. In the next place, a process in which the character judgement module 1 judges a character will be described. Fig. 1 shows a case in which a character "2" is input to the image memory 2, window positions are stored in window position storages 311 and 321, etc. of respective input units, and the type of image processing is also designated. Accordingly, if differential from the right is designated as the type of image processing for an image in a window region 201, the input unit 31 performs differential processing thereof and outputs the result. Similarly, if differential from the right is designated as the type of image processing for an image in a window region 202, the input unit 32 performs differential processing thereof and outputs the result. There are differential from the right, differential from the left, differential from the top, differential from the bottom, density sum and the like as the type of such image processing. The method of processing is shown in Fig. 3 in the case of differential from the left for instance. Fig. 3A, Fig. 3B and Fig. 3C are explanatory diagrams showing an example of differential processing from the left in the image processing module 312, etc. of the input unit shown in Fig. 1. Fig. 3A shows an example of the window which is cut on the character's line in the vertical direction, in which the hatched portion represents the character's line. Fig. 3B shows the differential value with respect to the line with an asterisk in X direction when differential from the left in this window. Fig. 3C shows the sum total of these differential values "1", "2", "3", "4" and "5", which is the output value of the input unit. As shown in Fig. 3C, a value obtained by adding differential values in the differential direction in such a manner in the window is obtained for each line, and the mean value thereof is adopted as the output of that window. Further, for a window where the type of image processing is density sum, the mean is obtained by adding up the densities of all the picture elements in the window and dividing that value by the number of picture elements, and this mean value is adopted as the output of the window. Moreover, in image processing in a window region, it is possible to obtain an output value of the input unit independent of the size of the window by normalizing the value of image processing result with the size of the window. The output values of these input units 31, 32 and 33 are connected to one of feature units 41, 42 and 43, respectively. In these feature units, an output y given by a sigmoid function shown in the following expression is obtained with feature units calculation modules 412, 422 and 432 against a value z obtained by adding thresholds stored in threshold storages 411, 421, and 431 to the output values of these input units. Here, T is a constant. y = l/(l + e-z/T) For the output values of these respective feature units 41, 42 and 43, weights are stored in the weights storage 5 for each of the output units 61, 62 and 63, and in respective output units, values obtained by multiplying output values y 1,j of the feature units by the weights w 1,k,j as shown in the following expression (2) are added up, and outputs o k given by a sigmoid function shown in the following expression (3) is obtained in the output units calculation modules 612, 622 and 623 against a value z obtained by adding output thresholds that are stored in output threshold storages 611, 621 and 631 to the values z 2,k . Here, T is a constant. o k = l/(l+e -z/T ) Respective output units exist corresponding to the types of characters, and the character corresponding to the output unit which has shown the maximal output value is adopted as the result of judgement. Next, means for adjusting the thresholds of the feature units 41, 42 and 43 and the output units 61, 62 and 63 and the weights of the weight storage 5 using the results of character recognition will be explained. Fig. 4 is an explanatory diagram showing a process of adjusting the thresholds and the weights of the feature units and the output units. The output values of an inversion feature units in Fig. 4 are calculated with an expression (6). As shown in Fig. 4, adjustment of the thresholds and the weights is made in such a manner that, by feeding a teaching signal to the output units, respectively, the weight w 1,k,j between the feature units of the feature unit group 4 and the output units of the output unit group 6 are corrected, and then the thresholds w o,j between the input units of the input unit group 3 and the feature units of the feature unit group 4 is corrected. The teaching signal is an ideal value for the outputs of respective output units, and 1 is given to the output unit which corresponds to a character of correct interpretation, and 0 is given to other output units. Fig. 4 shows an example of a case when the thresholds and the weights are adjusted with respect to a numeral 2. Since the correct interpretation is a numeral 2, the teaching signal gives 1 to the output unit corresponding to the numeral 2 and gives 0 to other output units. Such correct on can be made by a method known as the back-propagation method shown in the following expressions in which the difference between each output unit and the teaching signal corresponding thereto is obtained and adjusting signals Δw 0,j and Δw 1,k,j are created. Here, C is a constant. Δw l,k,j = (t k - o k ) f′(z 2,k )·y l,j Δw 0,j = C k w l,j,k (t k - o k )f′(z l,k )·f′(z l,j ) In above described adjustment of the thresholds and the weights of the feature units and the output units, the trial number of times required for adjustment depends on whether the initial value of the weight is close to the result of adjustment or not. In the present character recognition equipment 10, it is possible for a user to set the initial value of the weight through the user's judgement. Fig. 5 is an explanatory view showing a scope with which a user sets the initial value of the weights in Fig. 4 through the user's judgement. This is a chart scope having the types of characters and the types of input units longitudinally and latitudinally. In this chart scope, the user sets ○ when a character's line exists in the window region of each input unit and sets X when it does not exist. When the existence of the character's line is not clear, neither ○ nor X is set. When the user makes setting in such a manner, the character recognition equipment 10 initializes the weight of the output unit corresponding to the character designated as ○ and the feature unit connected to the input unit at "+1", the weight for that which is designated as X at "-1", and the weight for that which is designated neither ○ nor X at "0", respectively as the initial values of the weights. By doing so, the trial number of times for adjustment may be reduced lower than the case when the weights are determined at random. Next, a method of setting positions and sizes of window regions 201, 202 and 203 of the input units 31, 32 and 33 will be explained. The position of the window region is expressed, by assuming a character region, with the origin of the outer frame of the character region. For this purpose, the outer frame of the character is designated first, and then, the window region is designated. The outer frame and the window region and each window region are affixed with numbers, and setting is started by designating these numbers. Fig. 6 is an explanatory view showing a scope for setting the positions and the sizes of the window regions of the input units shown in Fig. 1. Also, Fig. 7 is a top view showing an example of a keyboard 11 used for the operation in Fig. 6. Here, the number of the outer frame of the character is determined as "0", and the numbers of respective window regions 1, ... 9, A, ... Z are assigned. Since a raw image is always displayed on this scope, it is possible to set the window regions while looking at the character to be registered. Number strings being arranged in the lower part of the scope, number designation of the window regions is made by pressing the SET key after moving a cursor to the position of the number to be designated with a crosswide feed cursor key of the keyboard 11. The outer frame of the character is set in the first place. Since the movement of the outer frame of the character can be performed vertically and horizontally by means of the cursor key under such a state that the character outer frame, viz., the number "0" has been selected, the position of the character outer frame is set to an appropriate position. Setting of the window region is performed by selecting the number of the window region with the cursor under the above described state. Further, when the size of the character outer frame is set or altered, since a cross cursor is displayed under the state that the character outer frame has been selected, a point in the upper left part of the character outer frame is set first, and then, a point in the right lower part is determined. Here, when the point in the right lower part of the character outer frame is being moved, a value representing the X and Y position of the cursor expressed in a coordinate with the left upper part of the character outer frame as the origin is displayed. Thus, precise position setting is possible. In the next place, setting of respective window regions is started by designating the numbers of the window regions. Since a cursor is displayed in the scope for setting the position of this window region, the position is designated while moving the cursor with the cursor key. As a value representing the X and Y position of the cursor in a coordinate with the upper left part of the character outer frame as the origin is displayed at that time, precise position setting is possible. Since the window region can be expressed with a parallelogram, three points, in left upper, left lower and right lower parts are designated for positional designation. A pair of sides of this parallelogram have to be always horizontal or vertical. If there positions are not met, an error is generated and the state of designating the window region is produced again. After above-mentioned position and size of said window region have been set, the type of image processing performed by image processing modules 312, 322 and 332 of the input units in the window regions 201, 202 and 203 is set in the next place. Fig. 8 is an explanatory view showing a scope for setting the type of image processing in the image processing modules shown in Fig. 1. Such setting is made by selecting the type of image processing in a menu scope such as shown in Fig. 8. In this example, five types, that is differential from the left of the character's line in the longitudinal direction, differential from the right thereof, differential from the top of the character's line in the horizontal direction, differential from the bottom thereof, and the density sum of the whole, may be selected. The results of such selection are stored in the image processing modules 312, 322 and 332 of the input units 31, 32 and 33, and selected image processing is performed in character recognition. The differential processing described here is effectual when the brightness of the image is not uniform or when the contrast is poor. In the next place, brightness correction of an image will be explained in conjunction with Fig. 9A and Fig. 9B. Fig. 9A and Fig. 9B are explanatory diagrams showing a method of correcting the brightness of the image in Fig. 1. In general, if the brightness of lighting is different for a same sample, both the density of the image and the differential value of the image are varied. In the present character recognition equipment 10, the brightness is compensated in the input units 31, 32 and 33 with a relational expression shown in Fig. 9A in order to eliminate the effects by such variation of lighting. In this processing, the density value of the background and the density value of the character's line are preserved against the image of the character which was used previously in adjusting the thresholds and the weights of the feature units and the output units in Fig. 4, and the density value of the image and the differential value of the image at the time of recognition are compensated using these values. Fig. 9B is a relational diagram showing experimental results that are effectual reasons for the brightness compensation method shown in Fig. 9A. In Fig. 9B, the relationship between the density value (brightness) of the background and the density value (contrast) of the background and the character's line has been investigated for the same character in which the brightness of lighting is varied. Since this result shows that both are almost in proportion to each other, it is possible to make compensation assuming the density of the image and the differential value of the image under lighting conditions at the time of adjustment by compensating the density of the image and the differential value of the image at the time of recognition with the relational expression shown in Fig. 9A. In the next place, a method of improving a recognition factor when a character string consisting of a plurality of characters is recognized is explained with reference to Fig. 10. Fig. 10 is another partial block diagram of a character judgement module showing an embodiment of a character recognition equipment according to the present invention. In Fig. 10, the character judgement module 1 of this character recognition equipment 10 is provided with a character candidate storage 7, a character recognition management module 8 and a parameter storage 9 in addition to the fundamental elements shown in Fig. 1. Further, in the parameter storage 9, an absolute judgement threshold storage 91, a relative judgement threshold storage 92 and a number of check column storage 93 are provided. These character candidate storage 7 and parameter storage 9 are located in the program and data memory 15 shown in Fig. 2. The character recognition management module 8 is implemented by the CPU 20. Now, when a character string consisting of a plurality of character strings is recognized, the characters which may be provided in each column can be limited sometimes in product numbers and the like. For example, in case the first character (the character in the first column) shows a year, the same character will appear unless the year changes, and the types of the usable characters are several even a range of several years is considered. When a usable character candidates are designated for each column in this case, they are stored in the character candidate storage 7 of the character judgement module 1 of the character recognition equipment 10 composed as described above. The character recognition management module 8 checks the character candidates stored in the character candidate storage 7 for each column, and performs calculation only with respect to the output units 61, 62 and 63 which correspond to character candidates which are designated therein. Then, the character corresponding to the output unit which provides the maximal value among the output units for which calculation has been performed is adopted. By doing so, even in case there are both "I" and a similar character such as "1" for instance, correct judgement as "1" can be made if it is designated that that column can take a numeral only. Besides, when such a promise is made that all of alphanumeric characters are to be adopted as character candidates for columns in which character candidates are not designated, a user who thinks designation of character candidates is complicated may omit such designation. Next, it will be explained how to provide the weights for the purpose of improving the recognition factor when a character string consisting of a plurality of characters is recognized. In a product number consisting of a plurality of character strings for instance, the character usable in each column may be limited sometimes. Therefore, in Fig. 10, a method in which character candidates which may be used in a column are stored in the character candidate storage 7 shown in Fig. 10 for each column and processing calculation for recognition judgement is executed only on the stored character candidates has been explained. Two systems may be considered as the system of the weights for the above-described purpose. One is the thresholds and the weights that are different for each column corresponding to the character candidate, and the other is the thresholds and the weights that are common to all columns. First of all, the adjusting method and the effect in the system using the thresholds and the weights that are different for each column corresponding to the character candidate will be explained. The types of characters used for respective columns are stored in the character candidate storage 7 shown in Fig. 10. If the types of usable characters of each column are few at that time, the recognition factor of that column is improved. Only two to three types of usable characters are sufficient for some columns which, for example, express the year, and some columns make all the characters the object thereof. Therefore, when the column number in which adjustment is made in case of adjustment of the threshold and the weights is designated and adjustment is made on the stored character candidates only while referring to character candidates usable for that column from the character candidate storage 7, it is possible to obtain the thresholds and the weights that are optimum for a column having different usable character candidates. As the result, the recognition factor is improved and the misrecognition factor is lowered, thus making it possible to improve the recognition accuracy greatly. Further, when the usable character candidates stored in the character candidate storage 7 are as small as one to two types in number, it is possible to inspect the printing quality of the characters by checking the value of the degree of confidence on those characters. Next, as to the system in which common thresholds and weights are used for all the columns, the adjusting method and the effects thereof will be explained. When the thresholds and the weights that are intended to be optimized for each column as described above are used, the recognition accuracy is greatly improved, but there are some cases when the thresholds and the weights need not be adjusted for each column having different usable character candidates. In this case, the character judgement module 1 calculates the degree of confidence on all the characters by using the thresholds and the weights that are common to all the columns, and makes only the usable character candidates stored in the character candidate storage 7 the object of recognition judgement based on the result of said calculation. That is, judgement of one character is made by referring to only the value of the degree of confidence of the output unit corresponding to the usable character candidates stored in the character candidate storage 7. In this system, it is possible to reduce the storage quantity of the thresholds and the weights, thus providing an effect that adjustment may be executed at a high speed. Next, a method of returning whether the character recognition has been completed or not will be explained. The present character recognition equipment 10 recognizes the input character as the character which corresponds to the output unit which has taken the maximal value. Here, since the value of the output unit shows the degree of confidence of regarding as that character, there is a possibility that the recognition is an error when the value is small even if the maximal value has been obtained. Therefore, a user can set an absolute judgement threshold and output a result of wrong recognition when the maximal value of the output unit is at the absolute judgement threshold or below. In order to implement such a function, in the present character recognition equipment 10, the absolute judgement threshold designated by the user is stored in an absolute judgement threshold storage 91 provided in the parameter storage 9 shown in Fig. 10, and the character recognition management module 8 confirms that the maximal value of the output unit is at this absolute judgement threshold or above after the calculation in the output unit is completed and outputs a result of wrong recognition when said maximal value is at the absolute judgement threshold or below. Further, when the maximal value of the output unit is close to the second value, it is difficult to judge which output unit of the maximal value or the second value the character corresponds to. Thus, the user may set a relative judgement threshold, and output the result of wrong recognition when the difference between the maximal value of the output unit and the second value is at the relative judgement threshold or below even if the maximal value of the output unit exceeds the absolute judgement threshold. In order to implement this function, in the present character recognition equipment, the relative judgement thresholds designated by the user are stored in a relative judgement threshold storage 92 provided in the parameter storage 9 shown in Fig. 10, the character recognition management module 8 obtains the difference between the maximal value and the second value of the output unit after calculation of the output unit is completed, it is confirmed whether the difference value is at the relative judgement threshold or above, and the result of wrong recognition is output when said value is below the relative judgement threshold. Next, a method called sum check which reduces misrecognition when a character string having a predetermined number of characters is recognized will be explained. Fig. 11 is an explanatory diagram showing a method of reducing misrecognition of the character judgement module 1 of the character recognition equipment 10 shown in Fig. 10. This method called sum check is such a method that, when there is a number composed of seven columns as shown in Fig. 11, the sum of seven numerals in the first column thru the seventh column is obtained, the last digit is printed in the eighth column as a check digit, and the character recognition equipment recognizes the digit as the number in eight columns and collates the result of recognition. In the case of Fig. 11, the product number is "1 2 3 4 5 6 7", and the sum thereof is 28. Therefore, 8 is printed in the eighth column, and the character recognition equipment recognizes the product number as "1 2 3 4 5 6 7". The values in the first column thru the seventh column are added in the character recognition equipment after recognizing the number as described above, and it is checked whether the last digit coincides with the value in the eighth column so as to judge the consistency. This sum check is performed after recognition of respective characters are completely finished as shown in Fig. 16 and Fig. 17 which are shown later. Such sum check is performed in some cases and is not performed in other cases, and the number of columns used for the check is not constant even when the sum check is performed. Therefore, a menu scope as shown in Fig. 12 is used so that the user inputs this number of columns. Fig. 12 is an explanatory view showing a scope for setting the number of columns when the method of sum check is employed for reducing misrecognition of the character judgement module of the character recognition equipment shown in Fig. 11. Here, it means that no checking is performed when the column number which is input by the user is "0", and "1" means that the last one character is used for checking. The number of the check columns designated here is stored in a check storage 93 provided in the parameter storage 9 shown in Fig. 10, and the character recognition management module 8 takes out the number of check columns therefrom and performs checking after recognition of all characters is completed. Next, a method of adjusting the thresholds of the feature units 41, 42 and 43 and the output units 61, 62 and 63 and the weights of the weight storage 5 by using a computer other than the character recognition equipment 10 will be explained. Since adjustment of these thresholds and weights takes long processing time, it is better sometimes to perform such adjustment not by the character recognition equipment itself but by a computer having a high processing capacity. Fig. 13 is a flow chart showing a process in which adjustment of the thresholds of the feature units and the output units in Fig. 1 is made by employing a computer other than the character recognition equipment. On this computer, there are provided a program for adjusting the thresholds and the weights as explained in conjunction with Fig. 4 previously and a program which up-loads teaching data and image data such as the number of characters stored in the parameter storage 9 shown in Fig. 10 and down-loads the results of adjustment of the thresholds and the weights, and adjustment of the thresholds and the weights may be executed in accordance with these programs. In the learning using other computer, recognition data of teaching data and recognition data stored in the parameter storage 9 in Fig. 10 from the character recognition equipment 10 are up-loaded to the computer (step 131). Then, the thresholds and the weights are adjusted using these teaching data and character image data. Since parameters such as character numbers and character candidates for each column have been up-loaded, adjustment calculation of optimum thresholds and weights is performed to these parameters (step 132). The learning is completed by down-loading the result of adjustment to the character recognition equipment 10 in the last place. Since the data of a plurality of results of adjustment can be preserved in the computer as a file, it is possible to down-load appropriate recognition data according to circumstances (step 133). Next, an operation mode in which the present character recognition equipment 10 is executed will be explained. Fig. 14 is a system block diagram showing an example when the character recognition equipment 10 of the present invention is used along with other equipments in a production line. In Fig. 14, this system is provided with the present character recognition equipment 10, a work station 21, a loader controller 22, a TV camera 23, a lighting source 24, a work 25, a loader 26 and a monitor TV 27, and recognizes a product number printed on the surface of the work 25 by a command for recognition start from the work station 21 connected to the present character recognition equipment 10. This character of the recognition object is a character of a very poor printing quality which is liable to produce breaking and thinning of a character's line such as a stamped character on a metallic surface and a laser marking character on a ceramic surface. Besides, the product number has markers printed for positional segmentation at the head and the tail thereof. Fig. 15 is a flow chart showing a read process of the product number of the work 25 within the character recognition equipment 10 shown in Fig. 14. This flow for the product number is common to any operation mode of recognition among manual recognition, semiautomatic recognition and automatic recognition. This processing program is stored in the program and data memory 15 in Fig. 2. First, after receiving a recognition start command from the external work station 21 through the general interface 14 shown in Fig. 2, an image of the product number printed on the surface of the work 25 which is located already within the visual field of the TV camera 23 is picked up by using the video interface 13 thereby to bring it into the image memory 2 (step 151). Then, the character position is detected after detecting the marker positions, and recognition is performed character by character. The detection of the marker positions is executed in such a manner that windows are set around two markers, respectively, and the center positions of projection distribution of the density in these windows (step 152). Next, when the marker positions are detected, the distance between these markers is calculated. Since the distance between these markers is known in advance, it may be judged whether the markers could be detected correctly or not by comparing the distance with the result of calculation. That is, if this distance differs much from the specified value, it is judged that the markers could not be detected correctly, and character recognition is suspended. Also, when the marker positions could not be detected correctly, one character is segmented in accordance with the relative relationship between the marker positions and the character position. This relative relationship is taught by using an actual object at the time of teaching the relationship among the character pitch, the character position and the marker positions (step 153). Then, judgement processing is performed on every segmented character (step 154), and the character candidate is determined (step 155). Lastly, it is judged whether all characters have been completed (step 156), and processing is terminated if all characters are completed. First, the operation of the automatic recognition mode will be explained. The loader 26 which is controlled by the loader controller 22 positions the work 25 on which the product number is printed so that it enters into the visual field of the TV camera 23, and informs the work station 21 of the completion of loading. This work which entered into the visual field is illuminated uniformly by the lighting source 24. Also, the work station 21 which was informed of the completion of loading commands recognition start to the character recognition equipment 10, and the character recognition equipment 10 which receives this command picks up the image of the recognition object with the TV camera 23 and takes the image into the image memory 2. Then, the character recognition equipment 10 executes recognition of the character with respect to the picked-up image, and transmits the result to the work station 21. The work station 21 transfers the result further to a host computer after receiving the recognition result, whereby completing the first recognition. Fig. 16 is a flow diagram showing the sequence in the automatic recognition mode of the character recognition equipment 10 shown in Fig. 14 (Fig. 2). First, when this automatic recognition mode is selected (step 160), the character recognition equipment 10 is under a command waiting state for the recognition command from the work station 21 (step 161), and the character recognition equipment 10 which receives a command signal for recognition start from the work station 21 executes recognition and transmits a result code to the work station 21 along with the recognition result (step 162). If it is designated to perform sum check at this time, this sum check is performed, and if mismatching is found in the recognition result through sum check, a sum check error code is set in the result code (step 163). Lastly, it is judged whether adjustment of above-mentioned thresholds and weights is designated using a character image picked up at this time (step 164), and adjustment is started if adjustment has been designated (step 165). Next, the operation of the semiautomatic mode will be explained. In the semiautomatic mode, it is possible to ask the user to confirm the result before the recognition result is returned to a host equipment, and to correct the result on the spot in an interactive manner when the result is in error. Since it is complicated to always ask the user for confirmation, it is possible to ask the user for confirmation only when the degree of confidence on recognition is low. The user can set this semiautomatic degree of confidence threshold in the same manner as a function 234 in Fig. 20 shown later. Fig. 17 is a flow diagram showing the sequence of the semiautomatic recognition mode of the character recognition equipment 10 shown in Fig. 14 (Fig. 2). When this semiautomatic recognition mode is selected (step 170), a control state by communication from the work station 21 is produced similarly to above said automatic recognition mode so as to be put under a command waiting state for recognition command (step 171), and the character recognition equipment 10 which receives the command signal of recognition start from the work station 21 executes recognition (step 172). The recognition result of this semiautomatic recognition mode is displayed in a similar form to the scope of manual recognition result as shown in Fig. 18. Fig. 18 is an explanatory view showing a display scope of the recognition result in the semiautomatic recognition mode of the character recognition equipment 10 shown in Fig. 14 (Fig. 2). When the degree of confidence on the recognition result obtained here is lower than the designated semiautomatic degree of confidence threshold, the user is asked for confirmation of the recognition result before the recognition result is returned to the work station 21. When the recognition result is correct in this case, the result is returned by pushing a key which has a transmission function. When the recognition result is wrong, the cursor is moved to the position of the erroneously recognized character with a cursor crosswise shifting key (→ ←), and the cursor is moved to the position of the correct character among alphanumeric characters displayed in the lower part of the scope for correction. Here, when there are two or more characters which are mis-recognized, the cursor is shifted to the positions of erroneously recognized characters and the recognition result is corrected in a similar manner as above, and the recognition result and the result code are transmitted to the work station 21 when the user has confirmed all the recognition results (step 173). If sum check is designated at this time, sum check is performed, and a sum check error code is set in the result code if mismatching is found in the recognition result through this sum check (step 174). Lastly, it is judged whether it is designated to adjust the thresholds and the weights using the character image picked up that time (step 175), and adjustment processing is performed if such designation has been made (step 176). Then, the operation in the manual recognition mode will be explained. Fig. 19 is a flow diagram showing the sequence of the manual recognition mode of the character recognition equipment 10 shown in Fig. 14 (Fig. 2). This manual recognition mode is for executing recognition in order to judge whether correct recognition can be made with the thresholds and the weights of the feature units 41, 42 and 43 and the output units 61, 62 and 63 that are adjusted in teaching before performing automatic recognition. First, when the manual recognition mode is selected (step 190), the command for recognition start is given not from the work station 21, but by the operation from the teaching box 19 (step 191). With this, recognition is executed (step 192), the recognition result is displayed in the upper row of the scope, and the degree of confidence is displayed thereunder (step 193). In the next place, the character recognition equipment 10 includes, in addition to the automatic recognition mode in which recognition is started by the above-described recognition command from the work station 21 and the recognition result is transmitted to the work station 21, the semiautomatic recognition mode in which it is possible to start recognition by the recognition command from the work station 21 and to confirm and correct the recognition result, and the manual recognition mode for executing recognition with the data to which teaching was given and confirming the recognition result so as to judge recognition performance, a teaching mode for inputting characteristics of the recognition object such as a font, a window and a candidate character and a utility mode for performing image evaluation, operation of IC card input/output, setting of data transfer specifications for the work station, etc. and so forth, thus having five operational modes. These teaching mode and utility mode will be explained in the next place. Fig. 20 is a block diagram showing respective functions in the teaching mode of the character recognition equipment 10 shown in Fig. 14 (Fig. 2). When one set of the TV camera 23 which is a visual sensor, is used in a variety of environments, it is required to set the teaching data for every environment because the arrangement and the size of the character is different depending on the environment. Those that are given teaching in this teaching mode 200 are setting 210 related to a recognition object character string, font selection 220 of those characters, setting 230 of recognition parameters and adjustment 240 of the thresholds and the weights of the font. First, as to the setting 210 for the recognition object character string, there are setting 211 of the number of the characters, setting 212 of the character size displayed with the number of picture elements and setting 213 of the reference marker positions for segmenting variation scope and position of a printing character string. In the next font selection 220, the character style of the recognition object character is designated. For this, it is designated whether a reference character style 221 provided in the character recognition equipment 10 in advance such as OCR-A is adopted for the type of the font or an actual character pattern is registered. When this reference character style 221 is designated, the reference character style contained in advance is registered as the character style of the recognition object character. Also, when an actual object teaching character style 222 is designated, feature region setting 223 such as setting of a window region suitable for judgement of the character style and feature setting 224 are performed. For setting the next recognition parameter, there are provided degree of confidence threshold setting 231, digit number setting 224 of the check code and degree of confidence threshold setting 234 of semiautomatic recognition. In this degree of confidence threshold setting 231, there is threshold setting 232 of the difference in the degree of confidence, and in the degree of confidence threshold setting 234 of semiautomatic recognition, there is threshold setting 235 of the difference in the degree of confidence. In the next adjustment 240 of the thresholds and the weights of the font, there are setting 241 of the character candidates, character image registration 242 of the font used for adjustment, setting 243 of adjustment parameters and adjustment execution 248. In the character image registration 242 of the font, the outer frame is designated for every type of the character of the font and the image thereof is taken in, and adjustment of the thresholds and the weights is performed on this registered font. The image in the marker portion is taken in and reference brightness of the background is obtained first before inputting the character image, and then the character image is started to be taken in when the above is finished. In taking-in of the character image, the type of the character is designated first and then take-in operation of the image is performed. Even when this image is taken in, a raw image is displayed, and it is possible to take in the next character without a break. Since the character strings are arranged in the lower part of the scope, designation of the character type is performed by moving the cursor to the position of the character to be designated by means of the crosswise cursor key. When the character type is designated, a box showing the outer frame of the character is displayed at the center of the scope and the character image is input after moving this outer frame of the character to the position where the character is displayed by means of the cursor. The movement of the outer frame of the character may be performed by the cursor key under a state that the outer frame of the character has been selected. In setting 243 of the adjustment parameters, four parameters, that is, setting 244 of a least square error for judging convergence as an adjustment parameter, setting 245 of the upper limit value of adjustment calculation number of times, setting 246 of a coefficient (0 ≦ coefficient ≦ 1) applied by the correction quantity of the result of adjustment calculation to the correction quantity at the present moment, and setting 247 of a coefficient (0 ≦ coefficient ≦ 1) applied by the correction quantity of the calculation result of last previous adjustment to the correction quantity at the present moment, are set. In adjustment execution 248, adjustment is executed practically using the data and the image which have been set so far. A selective scope appears for selecting whether adjustment is proceeded further with the adjustment result heretofore obtained as shown in Fig. 21 as initial values, or adjustment is started from new initial values obtained by resetting. Fig. 21 is an explanatory view showing a selective scope of the initial state of adjustment execution 248 shown in Fig. 20. When such selection is made, a graph showing the adjustment result is displayed. The axis of ordinates of the graph expresses an error of an evaluation function. The maximal value of the axis of ordinates is 1.0, and is displayed at 1.0 when the error exceeds 1.0. The axis of abscissas thereof expresses the adjustment number of times, and the maximal value thereof is the value designated as the convergence number of times in setting of adjustment parameters. The designated convergence error is displayed with a straight line on this graph. Since adjustment is executed column after column, a column number is input here and adjustment is executed, and the execution results of adjustment are calculated and displayed every ten times on this graph. The adjustment is terminated when either condition of the convergence error or the convergence number of times which is set in setting adjustment parameters is materialized. Fig. 22 is a block diagram showing the function the utility mode of the character recognition equipment 10 shown in Fig. 14 (Fig. 2). In the present character recognition equipment 10, an IC card 17 may be used as an external memory, and teaching data and image data can also be stored. In this utility mode 500, there are provided port setting 510, interface function 520 of the IC card, image evaluation 530, data transmission function 540 and setting 550 of the character recognition equipment. First, in port setting 510, there are provided transmission speed setting 511, stop bit setting 512, and parity setting 513. In the interface function 520 of an IC card, there are provided a function 521 for loading and erasing the image of the IC card 17 and saving the image on an IC card, a function 522 for loading and erasing the recognition data of the IC card and saving the image on the IC card, and a function 523 for initializing the IC card. Each of these processings can be executed simple in accordance with the instructions of the menu. For example, when the image saving function 521 is selected, a menu scope is displayed in which a raw image is displayed and the image to be saved is input from the TV camera 23. Here, when carriage return is input while keeping an image to be input visible, the scope is taken in, and then, when the IC card 17 is inserted and the title of image data is input, the taken-in image is saved. In multivalued image evaluation 531 of the next image evaluation 530, a raw multivalued image is displayed for the purpose of adjustment of the optical system. Also, when sectional brightness distribution display 532 is selected, a raw image from the TV camera is displayed. Therefore, the image is taken in when an appropriate image appears. A horizontal line cursor showing a sectional position is displayed thereafter on the image which has been taken in. Thus, when the sectional position is designated by moving the horizontal line cursor by using the up-and-down cursor key, a brightness graph at that position is displayed. There is also provided binary image evaluation function 533. In data transmission function 540, there are provided data transmission 541 of teaching data and transmission 542 of the image data. Next, a method of executing adjustment processing of the thresholds and the weights of the feature units 41, 42 and 43 and the output units 61, 62 and 63 while processing character recognition will be explained. This is possible in the automatic recognition mode and the semiautomatic recognition mode of the character recognition equipment 10. In both the automatic recognition mode and the semiautomatic recognition mode, it is judged whether this adjustment in Fig. 16 is to be executed or not (step 164) and it is also judged whether the adjustment in Fig. 7 is to be executed or not (step 175) after performing above-described sum check in Fig. 16 (step 163) and sum check in Fig. 17 (step 174). Such judgement is made depending on whether adjustment during recognition has been designated as one of setting 550 of the character recognition equipment among the utility function 500 shown in Fig. 22. In case adjustment during recognition is performed, it is possible to have even an object in which the printing quality of the character is varied follow and adapt to the variation. Further, even when the character recognition equipment 10 is used in a different environment, complicated operation is not required in installation but stabilized recognition is made possible by adjusting during recognition in the environment of installation. Fig. 23 is an explanatory diagram showing a time chart when the character recognition equipment 10 shown in Fig. 14 (Fig. 2) adjusts the thresholds and the weights while performing recognition. In Fig. 23, adjustment calculation is possible by time sharing during periods 753, 754 and 755 when character recognition is being performed, but adjustment calculation takes longer time as compared with recognition calculation. Therefore, adjustment of the periods 156 and 157 for executing adjustment is performed during the periods 751 and 752 for loading and unloading of the work 25 which is the recognition object. With this, online adjustment is made possible without disturbing the execution of the character recognition equipment 10. Moreover, when the degree of recognition confidence is found low as the result of recognition, it is also possible not to perform adjustment in which that character image is used. Next, the composition of special feature units 41, 42 and 43 will be explained. The function of above-described feature units has been to perform calculation on the values obtained by adding the thresholds to the output values from the input units 31, 32 and 33 and to output the calculation results, but it is possible to provide inversion feature units which output those values that are obtained by subtracting the output values of the feature units from the maximal values of the output of above-described feature units as feature units for other functions. It means that, above-described feature units product bigger outputs as the output values of the input units get bigger, whereas the inversion feature units produce bigger outputs as the output values from the input values get smaller. It also means that effective action is operated when the fact that there is nothing in the window regions of the input units is the feature of the character. The output y of these inversion feature units may be expressed in a following expression by using the output y of the feature units obtained previously by the expression (1). y l, n+j = l - y l, j The calculation of these feature units may be modified as shown in the following expression. w l,k,j × y l,j + w l,k,j+n × y l,n+j = w l,k,j × y l,j + w l,k,j+n × (1-y l,j ) = (w l,k,j - w l,k,j+n ) × y l,j + w l,k,j+n Accordingly, even if no inversion feature unit is provided, the function similar to that when inversion feature units are provided can be implemented as shown in the following expression (8) by determining the thresholds of the output units 61, 62 and 63 appropriately from the above-mentioned relative expression (7). In this case, the number of the feature units is half of that when the inversion feature units are provided, and calculation of character recognition gets less and high in speed accordingly. However, since it is easier to obtain the thresholds of these output units when the weights are adjusted under a state that the inversion feature units exist, a method in which the inversion feature units are provided at the time of adjustment and the invention feature units are removed at the time of character recognition is effectual. Lastly, sample character images for adjusting the thresholds and the weights of the feature units and the output units will be explained. As these sample character images get more, it means that adjustment which can correspond to variety of cases has been made. However, mandays are required in order to collect various character images as samples. Accordingly, if a positional dislocation range and the variation range of brightness are designated for one character image, adjustment using various sample images can be made without spending so much manday by arranging to create automatically an image which has dislocated from the sample image and an image in which the brightness has been varied. Fig. 24A and Fig. 24B are explanatory diagrams showing a method in which the character recognition equipment 10 shown in Fig. 14 (Fig. 2) creates automatically an image which has produced positional dislocation from the sample image and an image in which the brightness has been varied. As shown in Fig. 24A, automatic creation of an image which has dislocated the position thereof can be implemented by shifting the origin 0 of the original sample image to 0′ within a range designated as the variation range. For example, when the variation range is specified to be plus or minus three picture elements, it is possible to obtain a dislocated sample image by using 49 types of images in which the origin 0 of the sample image is shifted by +3, +2, +1, 0, -1, -2 and -3 both in X and Y directions. Similarly, when the variation range of brightness from the original sample image is specified as shown in Fig. 24B, it is possible to obtain a sample image having a contrast with brightness variation by creating an image in which the density is varied by the variation range. In the next place, types of image processing in the input units will be explained with reference to another image processing method. The image processing performed in the input units 31, 32 and 33 which was explained in Fig. 3 included five types, that is, differential from the top on a lateral character's line, differential from the bottom on the lateral character's line, differential from the left on a longitudinal character's line, differential from the right on the longitudinal character's line and density sum. As explained with reference to Fig. 3, this differential processing is a system of adding differential values in the vertical direction with respect to the character's line, and density sum is a system for obtaining the mean value of the density in the windows. This image processing method is effectual for a character having a poor contrast such as a laser printing character on a ceramic surface. The present character recognition equipment 10 is provided with twelve image processing types, that is, four image processing types in which a differential value is obtained by primary differential on a variable density image in the window thereby to detect the edge, four image processing types in which a differential value is obtained by secondary differential on a variable density image in the window thereby to detect the edge, two image processing types in which the inside of the window is binarized and the area of the white region (or black region) in that window is counted, and two image processing types in which the inside of a window is binarized and the edge is detected with respect to the binarized image in addition to five types of image processing described above. Next, these twelve types of image processing will be explained one after another. First, a method of detecting the edge by primary differential or secondary differential on a variable density image will be explained in conjunction with Fig. 25. Fig. 25A, Fig. 25B and Fig. 25C are explanatory diagrams of an edge detecting method by primary differential and secondary differential from the left among image processings within the windows. Fig. 25A shows an example of a window which is cut on the longitudinal character's line, and the hatched portion represents the character's line in this diagram. Fig. 25B shows primary differential values with respect to the line marked with an asterisk in X direction when primary differential is applied from the left in X direction in this window, and Fig. 25C also shows secondary differential values from the left in X direction in the window with respect to the line marked with an asterisk. First, primary differential will be explained. As shown in Fig. 25B, primary differential values in the window are calculated with respect to each line. Then, the maximal value of the primary differential values for respective lines is obtained and the sum of the differential values is calculated for all the lines, and a mean value of the maximal values of differential values obtained by dividing said sum total by the number of the lines in that window is calculated and this value is adopted as the output value of the input unit. Next, secondary differential will be described. As shown in Fig. 25C, secondary differential values in the window are calculated with respect to each line. Then, similarly to primary differential, the maximal value of secondary differential values of respective lines is obtained and the sum total of these differential values are calculated for all the lines, and a mean value of the maximal values of secondary differential values obtained by dividing the sum total by the number of the lines in that window is calculated, and this value is adopted as the output values of the input units 31, 32 and 33. By normalizing the result of image processing with the size of the window in this manner, it is possible to obtain the output value of the input unit which is independent of the size of the window. Next, a method of binarizing the inside of the window and counting the area of the black region in the window will be explained. The use of this system of image processing within the window is limited to a case when a stabilized binary image which has comparatively good contrast is obtainable. First, the inside of the window is binarized, and then the number of picture elements corresponding to black is counted in the binarized window. The output values of the input units 31, 32 and 33 are obtained by dividing the number of counted black picture elements by the area of the window. Here, even if the counted picture elements are white picture elements instead of black picture elements, the inversion units are equivalent exactly to the above. For the binarization thresholds, fixed binarized thresholds and binarized thresholds determined by, for example, algorithm such as a p tile method and a discriminant analysis method may be used. However, when a binary image which has a good contrast of the object character and is stabilized is obtainable, for example, a method in which the result obtained through calculation on brightness of the character background by referring to that brightness is adopted as the binarized threshold is also effectual. As an example, a method in which 85% of the brightness of the character background is adopted as the binarized threshold may be considered. Next, a system in which the inside of the window is binarized and the edge is detected with respect to the binary image will be explained. The use of this system of image processing in the window is also limited to the case when a binary image which has comparatively good contrast and is stabilized is obtainable. First, the inside of the window is binarized and the portion where white is changed into black is detected as the edge with respect to each line in the binarized window. The line mentioned here is defined in the same way as the line for primary differential and secondary differential on the variable density image which was explained with reference to Fig. 25, and has a direction perpendicular to the character's line. When the edge is detected with that line, the same edge detection method is applied to the next line, and detection is made on all the lines in the window. Then, when processing of all the lines is complete, the number of lines which have detected the edges in the window is calculated and normalized with the sizes of the window, which are adopted as the output values of the input units 31, 32 and 33. Next, a special feature unit 44 in which two or more windows are combined will be explained. The above-described feature units have been the feature units which operate calculation on the values obtained by adding the thresholds to the output values from the input units 31, 32 and 33 and output the calculation results and the feature units which output the inverted results. The input value of these feature units is a mean value of the sizes of differential values and the brightness in the window. Therefore, when the density of printing is varied, the mean value of the sizes and the brightness of the differential values is varied greatly, being different from the case when the brightness is varied, and feature extraction cannot be performed correctly. In order to solve such a problem, a combined feature unit 44 having the relative values of the output values of the input units 31, 32, 33 and 34 as the input values by combining a plurality of input units is provided. This combined feature unit will be explained in conjunction with Fig. 26. Fig. 26 is an explanatory diagram showing an example of a combined feature unit which in a special feature unit of the character recognition equipment 10 shown in Fig. 14 (Fig. 2). The feature unit 44 shown in Fig. 26 combines the output values of the input units 32 and 34 of the input unit group 3 to adopt as the input. First, above-described respective input units 31, 32, 33 and 34 perform image processing in the windows in the image processing modules 312, 322, 332 and 342 based on window position data which are stored in the window position storages 311, 321, 331 and 341, and adopt the results of image processing as the output values of the input units. The feature unit 44 combines the output values of the input units 32 and 34 of the input unit group 3 so as to adopt the results of image processing as the input. In this case, when the output values of the input units 32 and 34 are input to the feature unit 44, the operation module 442 of the feature unit 44 obtains the difference between the output values of two input units, and performs calculation on the value obtained by adding the threshold stored in the threshold storage 441 to said difference so as to obtain the output value of the feature unit 44. The input units are combined not only by using the difference between the output values of two input units, but also by using one output values of three or more input units sometimes. When a case in which three input units are used is explained as an example, a mean value of the output values of two input units is obtained first, and then the difference between this mean value and the output value of another input unit so as to obtain the input value of the feature unit 44. Such average calculation and calculation to obtain the difference are executed in the feature unit calculation module 442, and calculation is performed on a value obtained by adding the threshold stored in a threshold storage 441 so as to obtain the output value of the feature unit 44. It is also possible that this combined unit is included among ordinary units, and the input units that are input to ordinary feature units are used for the combined unit. Next, setting and alteration of the combination of these input units will be explained in conjunction with Fig. 27. Fig. 27 shows a menu scope for setting and alteration of the input units for the above-described combined feature unit. First, the number of the feature unit for which the combination is set is input. Fig. 27 shows an example in which "1" is input. Next, the number of input units of the first term for which combination is performed is input, and then the number of the input unit (window) is input. For the second term, the numbers of the input units are input, and then the input units are input. When a plurality of input units exist, input is made with marking-off with commas. Then, lastly, it is input with the number whether setting or deletion of combination is input so as to perform setting or alteration. The values in the first term and the second term which are set here are input to the feature unit. Next, the calculation performed in the feature unit calculation module 442 will be explained. The calculation in this combined feature unit is performed in accordance with the image processing types as follows. (1) When the image processing type is differential processing: feature unit input value = (combination 2nd term - combination 1st term) + threshold (2) When the image processing type is density sum processing: feature unit input value = (combination 2nd term - combination 1st term)/combination 2nd term + threshold (3) When the image processing type is binarization processing: feature unit input value = (combination 1st term - combination 2nd term) + threshold After the input value of the feature unit is computed in above-mentioned (1) thru (3), remaining processing is exactly the same is the feature unit described previously, and the inversion feature unit for these feature units can be formed, too. That is, this combined feature unit has such a feature that it is different only in the calculation performed in the feature unit calculation module, and can be handled exactly in the same manner as the feature units heretofore used which is not the combined feature unit for others. Thus, the combined feature unit can be used at the same time together with a feature unit which is not a combined feature unit. Besides, as to the method of determining the combination of the input units, that is, a subject that which input units are to be combined, optimum combination of the input units is determined by employing, for example, a technique of main component analysis or a technique such as a variable selecting method among conventional multivariate analysis. Next, another adjustment method of the thresholds and the weights will be explained. The thresholds and the weights may be adjusted successively by a method explained in conjunction with Fig. 4, but they may be obtained by using a multiple-regression model. According to this method, the weights can be calculated simply. In this multiple-regression model, when it is assumed that the output values of the feature units are y 1,j and the weights are w′ 1,k,j , the output values o 2,k of the output units may be expressed as shown in the following expression. That is, in order to recognize a certain image, the output value y 1,j of the feature units may be calculated first. At this time, it is found that, if it is considered with respect to all the character types assuming that "1" is given to a correct interpretation of the character of the image and "0" is given to others for o 2,k corresponding to the output values of the output units, the weights w′ can be calculated simply by solving simultaneous equations that are equal in number to variables w′ expressed by a suffix k in the expression (9) and the number of the output units. As to the thresholds of the feature units, a statistical mean value is obtained with respect to the image which was input, which may be adopted as the feature unit threshold. Recognition performance may be achieved to some extent by using the thresholds and the weights obtained by the above-described method, but adjustment processing explained in conjunction with Fig. 4 may also be performed with above said thresholds and the weights are initial values in order to further improve the recognition accuracy. In the present character recognition equipment 10, it is possible to perform above-described setting of the windows, designation of image processing type in the windows and so forth using the work station by transmitting data through a telecommunication line. Now, an example in which another computer such as a work station is used for above-described setting of the windows, designation of image processing types in the windows and so forth will be explained in conjunction with Fig. 28 and Fig. 29. Fig. 28 shows a scope showing a processing menu of the work station connected to the character recognition equipment 10 shown in Fig. 14 (Fig. 2). As shown, the work station includes functions of data transmission adjustment parameter setting, character parameter setting, adjustment execution, window evaluation, window setting, weights data setting, character type alteration, statistical analysis and termination. Fig. 29 is a block diagram showing an example of functions of the work station connected to the character recognition equipment 10 shown in Fig. 14 (Fig. 2). The function 2900 of this work station includes data transmission 2910, adjustment parameter setting 2920, character parameter setting 2930, adjustment execution 2940, window evaluation 2950, window setting 2960, weights data setting 2970, character type alteration 2980 and statistical analysis 2990. These functions correspond to the ten functions shown in Fig. 28. Similarly, the respective functions shown in Fig. 29 also select processing numbers by a processing menu corresponding to respective functions shown in Fig. 28. First, data transmission 2910 includes teaching data transmission 2911 for the thresholds and the weights, etc. and image data transmission 2912. In adjustment parameter setting 2920, the values of constants Bk and Ck in the above-described adjustment expressions (4) and (5) are set, respectively, in parameter setting 2921 first. Further, in binarized threshold setting 2922, binarized thresholds are set. In character parameter setting 2930, it is possible to alter or set the number of character rows, the number of character in each row, longitudinal and lateral sizes of the character, longitudinal and lateral pitches of the character, and usable character candidates in each column included in the teaching data. First, the number of rows of a product number, etc. to be recognized, which is formed in a matrix, is set in character row number setting 2931, and the number of characters in every row is set in character number setting 2932. Longitudinal and lateral sizes of the recognition object character are set in the unit of picture element in character size setting 2933, the pitch of the characters in the lateral direction is set in the unit of picture element in character pitch setting 2934, and longitudinal pitch, viz., the pitch between the rows is also set in the unit of picture element in character pitch setting 2934 when there are two or more character strings. Further, in character candidate setting 2935, usable character candidates for each column are set in each column. In adjustment execution 2940, adjustment of the thresholds and the weights explained in conjunction with Fig. 13 is executed. Adjustment execution 2940 is a method which includes two modes, adjustment calculation 2941 and multiple-regression analysis 2942, in which adjustment calculation 2941 uses above described expressions (4) and (5) and multiple-regression analysis 2942 uses the expression (9). In adjustment calculation 2941, it is designated first on which column calculation is to be performed, then shifting to the next execution. In designating the column, when usable character candidates have been determined for each column as a product number, that character candidate is used. This character candidate can be set and altered by character candidate setting 2935 as described above. In the execution of adjustment calculation, a display with the latest value of the degree of confidence on every character for all the characters shown along the axis of ordinates and the character type shown along the axis of abscissas, a display with the value of the degree of confidence of the character immediately after calculation and the hysteresis since calculation has been started shown along the axis of ordinates and the character type shown along the axis of abscissas, and a continuous display with the value of the sum of square-law errors shown along the axis of ordinates and the number of times of adjustment calculation shown along the axis of abscissas are made. Window evaluation 2950 includes window input value evaluation 2951, input unit combination evaluation 2952, font pattern evaluation 2953, window position evaluation 2954 and all window input value evaluation 2955. In window input value evaluation 2951, a display is made with the values of the windows of all the characters shown along the axis of ordinates and the character type shown along the axis of abscissas by designating image processing type such as positions of the windows, above-described differentials and density sum, and binarization. Since the window is basically square in shape, the method of inputting a window position is to input at three points, that is, the x and y coordinates at the left upper portion, the x and y coordinates at the left lower portion and the x and y coordinates at the right under portion. In combination evaluation 2952 of the input units, the feature unit in which above-described input units are combined is evaluated. The numbers of the input units (windows) to be combined are input first, and the output values of the feature unit at that time are displayed with respect to all the characters with the character types shown along the axis of abscissas and the output values of the feature units shown along the axis of ordinates. In font pattern evaluation 2953, the output values of the feature units against the positions of the windows and the image processing types which have been set are displayed for all the characters with the axis of abscissas to show the character type and the axis of ordinates to show the output value of the input unit. At this time, it is input first whether the binarization processing or variable density processing, the character is designated next and this character is displayed with magnification so as to show the position of the window, and then, the number of the feature unit to be displayed is designated and the output value of the feature unit is displayed. Window position evaluation 2954 is used for confirming the position of the window against the character frame, and the position of the window is displayed when the number of the window is input first. In all windows evaluation 2955, the character type is input, and the output value of each input unit is displayed with the axis of abscissas to show the window number and the axis of ordinates to show the output value of the input unit. Window setting 2960 includes two items, window setting 2961 and input unit combination setting 2962. In window setting 2961, a use graph showing whether this window is used or not, the image processing type for the window described above, and positional coordinates of the window are input and set. The position setting method of the window is similar to that in window evaluation 2950. In input unit combination setting 2962, the menu is the same as that shown in Fig. 27, and designation of the number of the feature unit in which combination is employed, selection of designation of whether the combination is set or altered and designation of whether deletion is to be made, and designation of the numbers of the input units to be combined are performed. Weights data setting 2970 is a function for manually inputting the initial values of the weights between the feature units and the output units, and includes data setting 2971, data clear 2972, data copy 2973, data compression 2974 and automatic setting 2975. Data setting 2971 is a function used when the initial value of the weights for a specific output unit is set or altered, in which the number of the output unit is designated first, and then a value to be set is input. Data clear 2972 is a function to make all the weights for a specific feature unit zero, and is used when a new feature unit is installed additionally for instance. Here, the number of the feature unit to be cleared is designated first. In data copy 2973, the thresholds and the weights are copied between columns. The number of columns having the thresholds and the weights to be copied is designated, and the number of the column which is desired to be copied is designated and copying is performed. In data compression 2974, the weights between the feature units and the output units are divided by a designated value so as to make the value of the weights smaller as a whole. This is used, for example, when the value gets too big and an overflow is produced. Automatic setting 2975 is a function for determining the initial values of the thresholds and the weights. The value of the feature unit is calculated using an appropriate character image, and the initial value is determined based on the output value of that feature unit in such a manner that the initial value of the weights is determined to be -1 when the output value is 0 to 0.4, the initial value of the weights is determined to be 0 when the output value is 0.4 to 0.6, and the initial value of the weights is determined to be +1 when the output value is 0.6 to 1.0. Character type alteration 2980 is a function to alter or correct correspondence between the character image and the character type, and is used for creating teaching data in adjustment calculation 2941. Further, in case there is a character image of poor quality, recognition performance is deteriorated sometimes when this image is put in adjustment calculation. In this case, it is better not to use this image in adjustment calculation by skipping it. At this time, adjustment calculation is not performed by designating the character types which are not used on this image from character type alteration 2980, and general recognition performance is not deteriorated. In statistical analysis 2990, optimum combination of the windows (input units) is determined by a method called a variable selecting method. According to this method, all the combinations of the input units are calculated and it is selected which input units are to be combined by a method called a variable selecting method. This is a function in which reference of this selection is input first, and the combination which can secure recognition performance shown by this reference is output, and adjustment calculation is adjustment execution 2940 can be performed with this combination. According to this use method, teaching data are first loaded by teaching data transmission 2911 in data transmission 2910, and image data that are used for adjustment or evaluation are loaded by image data transmission 2912, thus executing respective functions. According to the present invention, such effects are obtainable that the recognition equipment adapts itself automatically to variations even to an object in which the printing quality of the character and the font of the character are varied or printing state of the character is poor such as an image having poor contrast and an object in which breaking or thinning has been produced, thereby to implement stabilized recognition without being affected by the variations.

Claims: A character recognition equipment in which a character image is input and the input character image is processed so as to discriminate a character type, comprising: means (15, 20) for processing an image in a plurality of window regions (201-203) set on the character image (2), wherein sizes and positions of the window regions may be set and altered in an interactive manner, said means for processing producing processing outputs, said means for processing including a plurality of input units (31-33) and, performing a processing operation selected from the following group of differential from the left processing, differential from the right processing, differential from the top processing, differential from the bottom processing, and density sum processing, on the windowed image, wherein said types of processing can be designated in an interactive manner; first means for performing calculations on values obtained by adding thresholds to said processing outputs, and providing calculation results, wherein said first means for performing calculations includes a plurality of feature units (41-43); and second means (61-63) for performing calculations on values obtained by multiplying the calculation results from respective units of said first means by a respective weight and adding thresholds to the sum total thereof, wherein either one of the thresholds or the weights or both of them are adjustable by using recognition results and the character type being discriminated is determined by the output of said second means. A character recognition equipment (10) according to claim 1, characterized in that each of the plurality of the weights is initialized by selection by a user of one of three types of designation made by a user, said three types of designation being: existence of a character's line in a respective one of said plurality of window regions, non-existence of a character's line in a respective one of said plurality of window regions, and uncertainty as to the existence of a character's line. A character recognition equipment (10) according to claim 2, characterized in that output values of the input units (31, 32, 33, ...) independent of the sizes of the windows are obtained by normalizing the values of image processing result with the sizes of the windows in image processing in the window regions (201, 202, 203, ...). A character recognition equipment (10) according to claim 3, characterized in that, when differential is designated in image processing in the window regions (201, 202, 203, ...), differential values in a designated differential direction are added, and values obtained by dividing said addition values by the widths of the windows are adopted as the output values of the input units (31, 32, 33, ...). A character recognition equipment (10) according to claim 3, characterized by further means for designating a density sum in image processing in a window region (201, 202, 203, ...), said means for designating a density sum adds densities of all picture elements in the windows and divides the addition values by the number of picture elements and adopts values obtained therefrom as the outputs of the input unit (31, 32, 33, ...) that corresponds to said window region. A character recognition equipment (10) according to claim 2, characterized by means for adjusting the thresholds and the weights, means for holding the image density when the thresholds and the weights are adjusted in image processing in the window regions (201, 202, 203, ...), and means for compensating the density of the character image, said means for compensating the density with the density of a recognition object character. A character recognition equipment (10) according to claim 1, characterized by means for recognizing a character string and means for designating the types of the recognition object character for each column of a character string such that when a character string consisting of a plurality of characters is recognized, the thresholds and the weights are held separately for each column of the character string, and character recognition is performed using them. A character recognition equipment (10) according to claim 1, characterized by means for providing a message such that when the maximal value of respective output values of an output unit group (6) of said second means which shows the judging result of the character is at a preset absolute judgement threhold or less, said message indicates that character recognition cannot be performed. A character recognition equipment according to claim 1, characterized in that said second means provides a message such that, when the difference between the maximum value and the second highest value among respective output values of an output unit group of said second means showing a judgement result of a character is at a preset relative judgement threshold or less, said message indicates that character recognition cannot be performed. A character recognition equipment according to claim 8 or claim 9,characterized by a means for setting and altering the absolute judgement threshold or the relative judgement threshold in an interactive manner. A character recognition equipment according to claim 1, characterized by means for obtaining a value of the sum total of character values when a character string having a predetermined number of characters is recognized, means for recognizing a printed character string as well as the sum total value, means for summing the values of recognized characters, means for checking whether the sum total value coincides with printed sum total value, and a means for providing a message such that if the sum total value does not coincide with the printed sum total value, the message indicates that character recognition cannot be performed. A character recognition equipment according to claim 11, characterized by a means for setting and altering the number of columns showing the sum total value of a character string in an interactive manner. A character recognition equipment according to claim 1, characterized by means for transmitting a character image from the character recognition equipment to another computer, and for transmitting adjustment results to the character recognition equipment again after executing an adjustment of the thresholds and the weights. A character recognition equipment according to claim 1, having a recognition operation mode selected from three modes, characterized by an automatic recognition mode in which a character is recognized by a command for recognition start from an equipment other than the character recognition equipment and the recognition result is transmitted to the other equipment; a semiautomatic recognition mode in which a user is asked to confirm a judgement result when the maximum value among respective output values of the output units of said second means which recognize the character in accordance with the command for recognition start from an equipment other than the character recognition equipment and show the character judgement result is at a preset semiautomatic judgement threshold or below, and the recognition result is transmitted to the other equipment after correcting the recognition result in an interactive manner when the recognition result is wrong; and a manual recognition mode in which a character is recognized by inputting the command for recognition start through a keyboard, and the recognition result is displayed on a monitor screen. A character recognition equipment according to claim 1, characterized by a means for executing adjustment processing of the thresholds and the weights while processing character recognition. A character recognition equipment according to claim 15, characterized by means for designating whether or not adjustment processing of the thresholds and the weights is to be executed while processing character recognition. A character recognition equipment according to claim 1, characterized by an inversion feature unit outputting a value obtained by subtracting the output value of a feature unit from the maximum value obtainable as the output of that feature unit to respective feature units of the feature unit group. A character recognition equipment according to claim 17, characterized in that a weight procuding a similar result as that under a state in which the inversion feature unit is not removed, under such a state that the inversion feature unit has been removed, is obtained from the weights of the feature units and the inversion feature unit, and character judgement is executed under the state that the inversion feature unit has been removed. A character recognition equipment according to claim 1, characterized in that means for designating a positional dislocation range and a brightness variation range of a character; means for automatically creating a dislocated image and an image in which brightness has been varied from a sample image used for adjustment when the positional dislocation range and the brightness variation range of a character are designated in adjustment processing of the thresholds and the weights, such that adjustment processing is performed. A character recognition equipment according to claim 1, characterized in that means for obtaining either the processing result of two input units or a mean value of output values of a plurality of input units and the processing result of another input unit; means for combining the two obtained values; third means for performing calculation on the combination of the two obtained values, and means for adopting the calculation result as the input value of a feature unit (44). A character recognition equipment according to claim 20, further comprising means for optionally setting or altering said combination. A character recognition equipment according to claim 1, further comprising means for designating object characters; means for performing character judgement; and means for designating the type of a recognition object character for each column of a character string when a character string consisting of a plurality of characters is recognized, characterized in that all the thresholds and the weights are common to each column, and character judgement is performed among recognition object characters designated at the time of recognition judgement. A character recognition equipment according to claim 1, characterized in that there are provided, as the types of image processing in the region within the window, secondary differential function in the window, edge extracting function for a binarized image in the window, and an image processing function for counting the area of white region or the area of black region of the binarized image in the window, in addition to image processing in the window. A character recognition using the character recognition equipment according to one of the preceding claims, characterized by setting the initial value of the weight automatically in dependence on a value of a said input unit of one sampled image. A character recognition method according to claim 24, characterized by determining said weights in advance by a multivariate analysis technique.

Inventors: FUJIMORI SHIGERU, HISATOMI RYOICHI, ISOBE MITSUNOBU, KATO KAZUO, MATSUZAKI KICHIE, NEMOTO KOUZOU, OONO MITSUO, SUZUKI HIDEAKI, TAKEICHI KENZO, FUJIMORI, SHIGERU, HISATOMI, RYOICHI, ISOBE, MITSUNOBU, KATO, KAZUO, MATSUZAKI, KICHIE, NEMOTO, KOUZOU, OONO, MITSUO, SUZUKI, HIDEAKI, TAKEICHI, KENZO
Applicants: HITACHI LTD, HITACHI, LTD.
Application year: 1990
Main classification: G06K9
IPC codes: G06K9