Method for deriving character features in a character recognition system

Abstract: A method for deriving character features in a character recognition system for recognising characters, such as letters and digits, and a character recognition system in which the method is applied. After deriving a character description from a recorded image pattern of a character to be recognised, a unique point P i of said character description is appended, by means of a distance transform, to each point R i of a subset R = {R i /i=1,--,N} of preselected reference points in the plane of said image pattern. Feature values of one or more features possessed by the character description in each appended unique point are then determined. If the character description is a contour description, the unique point P i appended to each reference point R i is that point where the reference point R i has the shortest distance D(R i ) to the contour of the character, and the character features selected are the shortest distance D(R i ) and the direction H(R i ) of the contour in the appended point P i .

Description: A. Background of the invention 1. Field of the invention The invention is in the field of pattern recognition. It relates to a system for recognising characters, such as digits and letters, both in handwritten and printed form, and more particularly to a method for deriving features of a character to be recognised in a character recognition system of this type. 2. Prior art Character recognition systems such as those indicated above usually comprise a number of process steps which are described below with reference to a block diagram shown in Fig. 1. Said process steps are: (1) optical scanning of a character on the surface of a carrier; such scanning, for example with a video camera, results in a two-dimensional pixel pattern, for example 64 × 64 pixels, to which a grey value encoded in 5 bits is appended; (2) binary quantisation of the pixel pattern, by subjecting the grey values of all the pixels to a threshold operation, the result, which can be seen as a black/white pattern or a pattern of "zeros" and "ones", being stored in a memory; (3) deriving, from said quantised pixel pattern, an image description of the character to be recognised; (4) deriving, from the image description, a set of character features of the character to be recognised; (5) checking the set of character features found against results obtained previously with the aid of learning processes on known characters; (6) deciding, on the basis of the check, which known character the character to be recognised is recognised as. A recognition technique of this type is known, for example, from reference [1] (cf. under C.). In this technique the quantised pixel pattern is used to derive a contour description. As a contour of a digitised pattern of a feature to be recognised is followed, the coordinates of certain points are selected. Those points are selected whose inner product of the point vector corresponding to each point and a directional vector in a number of predefined directions has the highest value. A selected point is characterised as an "extreme point" if the difference between said inner product at that point and the inner product at the following selected point exceeds a previously established limit value. Said extreme points define a polygonal approximation of the contour of the pattern. Said polygon shows a pattern of convex and concave structures. Said pattern is used for comparison with similar patterns, which are characteristic of known characters and stored in a previously compiled "dictionary". The character to be recognised is read as that known character whose patterns show the best correspondence. A limitation of the pattern features derived in said known recognition technique is its being based on a structural description of the patterns to be recognised. This, however, produces acceptable recognition results only if the patterns to be recognised have a clear structure. This means that said known technique can be sensibly applied only for the recognition of characters from clear handwriting or typing. Another limitation is the variability of the number of features on which the recognition is based, i.e. the number of convex and concave structures in the pattern. This makes it difficult to apply deciders in the recognition, which work with a fixed number of features, such as, for example, those which make use of standard "feed-forward" neural networks. Reference [2] discloses another character recognition system of the above mentioned type. The recognition technique, on which this system is based, derives character features from a number of so-called views of an image, either the complete image or parts thereof, of a binary quantised pixel pattern of a character to be recognised. In this so-called views method, a number of different features of the pixel pattern is derived for each view, from above, from below and from the side, and for each image or part image. For these features, such as jumps, slopes, endpoints and islands, feature values are determined for specific patterns found in the views. During the check phase, the feature values found are weighted using adjustable weighting factors for each class of characters to be recognised. Said weighting factors have been obtained previously from a learning process on known characters. The weighted feature values are used to determine a score for each class. The character to be recognised is recognised as that character which belongs to the class in which the highest score has been determined. This known technique, using the views method for deriving character features, has been developed in the first instance for recognising digits. The character features which are derived in this process have been found to be too general for acceptable letter recognition. Moreover, because of the many different features for which a character to be recognised has to be checked, the method for deriving the features is rather complex. Because of the type of the features, which are in fact structural features, a recognition based on said features is furthermore sensitive to breaks in an image pattern of a character to be recognised, and this recognition method is therefore unsuitable for, for example, matrix writing, such as, in particular, letters printed by a matrix printer. In digital picture processing it is also known to make use of distance functions. Methods based thereon are sometimes denoted as "distance transform" or "distance mapping". A known "distance mapping" method of this type is, for example, disclosed by reference [3]. This involves appending to each pixel, which may form part of a subset of pixels, in the object (or in the background) of the original binary image, the shortest distance to the nearest pixel in the background (or the object). Corresponding to each point there is thus a distance tag. Further processing is then carried out on the basis of this two-component description, in which processing, inter alia, skeleton structures of the character to be recognised being traced. A distance tag of this type is inadequate per se as a character feature for the purpose of, in particular, recognising handwritten characters. B. Summary of the invention The object of the invention is to provide a method for deriving character features in a character recognition system, and a character recognition system in which this method is applied, which method and system do not have the above mentioned drawbacks and limitations. According to the invention, a method for deriving character features in a character recognition system for recognising characters, such as letters and digits, which comprises a step of deriving for each point of a plurality of points in an image plane of image points including a pattern of a character to be recognised feature data indicative of the distance to a nearest boundary point of the pattern, and which is known from reference [3], is, to this end, characterised according to Claim 1. An underlying idea in this context is that generally for such a reference point R i a nearest boundary point corresponds to a unique point of the image description of the character to be recognised, including its surroundings. By then considering the surroundings of such a unique point corresponding to a reference point R i , it is possible to select, in addition to the distance data D(R i ), yet one or more additional features which may characterise the outline of the image description of the character in the vicinity of such a reference point. It was found that a very strong feature for this purpose is the feature which provides an estimate of the direction H(R i ), which, if the image description of the character contains a contour description, has a contour in a unique contour point corresponding to the reference point R i . Indeed, in a preferred embodiment the method according to the invention is characterised according to Claim 2. Compared with the views method described above, the method according to the invention bases the recognition on a number of features which have been obtained, as it were, from local views of a character pattern, as seen from each of the reference points. Reference [5] discloses a method for deriving features for the purpose of gray-level image recognition, in which features are determined in so called feature cells of which the locations for matching purposes are described by means of polar coordinates relative to an origin, called reference cell. The derived features are much more complicated than the features derived by the method of the present invention. According to the invention, a character recognition system of a type indicated in the precharacterising clause of Claim 7 and which is known from reference [1] or [2], is, to this end, characterised as in Claim 7. C. References [1] United States Patent document number 4,566,124, entitled "Pattern reading system"; [2] United States Patent document number 3,999,161, entitled "Method and device for the recognition of characters preferably of figures"; [3] P.-E. Danielsson, "Euclidean distance mapping, Computer Graphics and Image Processing 14, 227-248 (1980); [4] R. P. Lippmann, "An introduction to computing with neural nets", IEEE ASSP Magazine, April 1987, pp. 4-22; [5] M. Sano, et al., "Gray-level image recognition based on multiple cell-features", Systems and Computers in Japan, 22(1991) No. 5, New York, US, pp. 81-93. D. Brief description of the drawings The invention will be explained in more detail by means of a description of an illustrative embodiment, with reference to a drawing in which: Fig. 1 shows a block diagram of process steps of a character recognition system; Fig. 2 represents a black/white pixel image of a character to be recognised having an inner and an outer contour; Fig. 3 illustrates a process of tracing a contour, Fig. 3a showing the situation for a single black pixel, and Fig. 3b showing the situation after a kth contour point has been found; Fig. 4 represents the contour outline after filtering of the contours of the pixel image according to Fig. 2; Fig. 5 shows, in the subsections Figs 5a, 5b and 5c, three different situations of the position of a reference point with regard to a contour chord; Fig. 6 shows an overview as a block diagram of processor and memory means for the specific purpose of carrying out the process steps (3) and (4) from Fig. 1 according to the invention; Fig. 7 shows a diagram of a decider for carrying out the process steps (5) and (6) according to Fig. 1, as applied in combination with the method according to the invention. E. Description of an illustrative embodiment The invention relates to a method for deriving character features for the purpose of a recognition system for recognising characters, such as, for example, printed or handwritten digits and letters. Starting from a description of a character to be recognised, the recognition proceeds on the basis of a number of features, derived within suitably determined boundary points, of the described character. The invention therefore relates, in the first instance, to process step (4) in the character recognition system described with reference to Fig. 1. The invention can be applied both to a pixel description and to a contour description of a character to be recognised. This relates to process step (3). Since a contour approach is preferred, it will be described in detail hereinafter, while the pixel approach will only be hinted at. The process steps (1) and (2) are carried out according to known techniques by recording means which are known per se and are therefore not described in further detail here. In the further description of an illustrative embodiment it is assumed that these steps have taken place and that a black/white pixel pattern of a character to be recognised has been stored in a two-dimensional image memory and is accessible for further operations. Such a black/white pixel pattern in an image plane comprising LxM pixels has an elementary description, called the pixel description, by means of a function B(i,j), of pixel values for each pixel (i,j) in the image plane, where i=1,--,L, and j=1,--,M, which function is defined by B(i,j)=1 for each black pixel (i,j) and B(i,j)=0 for each white pixel (i,j) in the image plane. It is further assumed that, if the character to be recognised is part of a row of simultaneously recorded characters, a segmentation operation has already been carried out on said row, according to techniques known per se, in order to separate the characters and make them suitable for separate treatment. The process steps (5) and (6) are also carried out by known techniques. Since, however, the checking and decision means required there-for must previously have been learnt, so that certain characters may be recognised on the basis of the character features derived according to the method according to the invention, such means will be briefly explained in more detail following a full description of the method. In the field of image processing and pattern recognition, the so-called distance transform is known. This transform appends a number D(P) to each point P in an image plane of a black-and-white pattern of image points, in the following way: if the point P is situated in a white area of the image plane, then D(P) is equal to the distance to the nearest black image point; and if the point P is situated in a black area which, for example, represents a digit or a letter, then D(P) is equal to the distance to the nearest white image point, provided with a minus sign. This distance transform is often used in so-called skeleton algorithms for tracing skeleton structures, the character recognition then being carried out on the basis of the skeleton structures found. An image signal thus transformed is also sometimes used directly for the purpose of the recognition process. A distance tag is then used as a character feature. If a limited number of image points is included in the process, for example to speed up the arithmetic operation, the distance tag is insufficient for describing a character to be recognised. To achieve an acceptable recognition probability, very large numbers, if not all, of the image points are therefore included in the transform. Nevertheless, the recognition of, in particular, handwriting is insufficient. The object of the invention, however, is to achieve a considerably higher recognition probability by appending one or more additional character features to each distance tag obtained on the basis of a distance transform on a limited number N of points R i , which have been preselected in a suitable way (where i=1,2,--,N), and which are called reference points, in the image plane. This is based on the idea that, if such a reference point R i has a distance tag D(R i ) appended to it, in general a unique boundary point P i of a character to be recognised will correspond thereto, including its surroundings. Boundary points are to be understood as those image points which have both white and black image points in their direct surroundings. In the case of a contour description, a boundary point is a point on the contour, a contour point. Unless stated otherwise, from now on, a contour description and contour points will be assumed. By then considering the surroundings of a unique contour point P i of this type and corresponding to a reference point R i , it is possible to append, to the distance tag D(R i ), one or more additional features, which, seen from such a reference point R i , describe the outline of the nearest contour segment C(R i ). It was found that a very strong feature therefor is the feature which provides an estimate of the direction H(R i ) of the contour in the contour point P i . Other supplementary features to be named, also those which provide an estimate of the second and third derivative of the contour in the contour point P i . Said supplementary features, however, do not provide much of an additional contribution to increasing the recognition probability of a character. All these descriptions, on the basis of said additional features, of the said nearest contour segments C(R i ) for all the N reference points R i together are found to enable very effective recognition if N is sufficiently large. From 70 to 120 reference points are preferably used for each character, which points may be distributed regularly or randomly over the image plane. In an example given below, the method for determining the features D(R i ) and H(R i ) for a reference point R i in the image plane of a pattern to be recognised will be explained in more detail. For this purpose, Fig. 2 shows a black-and-white pattern of a separate character in a rectangle of 12 fields by 16, each field corresponding to a pixel. For the sake of clarity, the number of pixels in this example has been kept small. Each field is uniquely identifiable by means of its centre coordinates (i,j), where i=1,--,12 and j=1,--,16. The black fields are hatched. Each field is black or white. Thus field (2,3) is white and field (4,3) is black. If a field (i,j) is black, then it has a pixel value B(i,j)=1; and, if it is white, then it has the pixel value B(i,j)=0. Where a black field adjoins a white field, the boundary lines are drawn as bold lines. Said two-dimensional description is then converted, by means of a process which is called contour tracer, into a one-dimensional contour description of the pattern of the character to be recognised. Said contour tracer successively runs through all the 12 × 16 fields of the pixel image wile looking for contour points. Each time a starting point is found, a contour is generated. In this process, the contours are given a number, and their relative position is established by remembering whether a starting point found is situated within a previously determined contour. The process of tracing a contour is now explained in more detail with reference to Fig. 3 with sections 3a and 3b. In this process, each pixel is regarded as a black or white small square of finite dimensions. The corners of such a square are called grid points. In Fig. 3a, a single black pixel having centre coordinates (i,j) is shown as a hatched small square, with numbered grid points 1 to 4 inclusive. A separate black pixel by itself already has a well-defined contour, which is formed by the boldly drawn periphery segments from 1 to 2, from 2 to 3, etc., which encloses the black area in a clockwise direction (according to the direction of the arrow). The x,y coordinates of said four contour grid points 1 to 4 inclusive are chosen as: (x(1),y(1)) = (i-0.5,j+0.5) (x(2),y(2)) = (i+0.5,j+0.5) (x(3),y(3)) = (i+0.5,j-0.5) (x(4),y(4)) = (i-0.5,j-0.5) In Fig. 3b the situation is shown where, when tracing a contour C after the (k-2)th and the (k-1)th contour grid point, when coming from an arrival direction v, a grid point (x(k),y(k)) has been found as the kth contour point. The arrival direction v = (vx,vy) has four possible values, which can be expressed as follows: (1,0), (-1,0), (0,1) and (0,-1). In the example drawn it is (1,0). To the left and to the right of the continuation of the arrival direction v, past the kth contour point, two pixels L and R are shown as broken lines. Three directions are possible, in which the following (k+1)th contour point may be found, shown in the figure as v 1 , v 2 and v 3 . The direction in which the following contour point is found depends on the pixel value B of each of the pixels L and R. The centre coordinates of the pixels L and R, given the arrival direction (vx, vy) and the coordinates of the kth contour grid points, are: iL = x(k) + (vx-vy)/2 and jL = y(k) + (vx+vy)/2 iR = x(k) + (vx=vy)/2 and jR = y(k) + (vx-vy)/2 The (k+1)th contour grid point and associated arrival direction are determined by means of a contour tracing algorithm, which may have the following appearance: if B(iL,jL) = 1 then begin vx := -vy; vy := vx end else if B(iR,jR) = 0 then begin vx:= vy; vy := -vx end ; x(k+1) :=x(k) + vx; y(k+1) := y(k) + vy; k := k+1; continue to next point; To find the contours of a pixel image such as that shown in Fig. 2, the image plane is scanned from left to right and from top to bottom. A first starting point for a contour is found if, during this scan, the first black pixel, in the example pixel (6,14), is found. The first two contour points selected in this case are those corresponding to contour grid points 1 and 2 in Fig. 3a, with v = (1,0) as arrival direction in the second contour grid point. The contour tracing algorithm is then started until a return is made to the first contour grid point. For each new start of the contour tracing algorithm, a contour number CN is increased by one. During each execution of the contour tracing algorithm, the pixels which belong to the same contour are marked with the same contour number CN. This marking is remembered in a separate, second image memory. Prior to the commencement of scanning of the image plane, all the pixels in the second image memory have the same initial mark, for example zero. After completion of a contour, the pixel image is scanned further in the search for a starting point for a next contour. The next starting point is found if, during further scanning, a black pixel is found which has not yet been marked, or if an unmarked white pixel is found within a previously found contour. In such a case the tracing algorithm is again run through. During the run-through, all the contour grid points found are recorded, in the order found, in a contour table, including an associated contour account. Said account comprises, for each contour, the number CN of the contour, pointers nrept and nrlpt to the first and last contour grid point of the contour in question, respectively, and a code cdoc which indicates the number of the immediately surrounding contour. The periphery of the whole pixel image is considered, in this context, as a virtual contour having the number 0. The pixel image of Fig. 2 has a first contour C1, whose contour grid points are successively numbered 1, 2, 3, --, 61 and 62. It has a second contour C2, whose contour grid points are numbered 63, 64, --, 77 and 78, and which is entirely situated within the first contour C1. The associated contour table is shown in Table 1 with subsections 1a and 1b, the contour account being incorporated in subsection 1a, and Table 1b forming the list of contour grid points. By way of example, assume a set RP of reference points RP(m,n), comprising a number of pixel centres: RP = {RP(m,n) = (4m-2,5n-2)|m,n = 1,2,3} One of said reference points, RP(3,2), has been drawn in Fig. 2. If, from such a point, the local shape of the closest contour segment, in this case of contour C1, is investigated, features are obtained of a rather angular and busy pattern. Therefore, prior to commencing the feature derivation proper, the contour description obtained by the above contour tracing algorithm is first supplied to what can be called a contour filtering process, which produces a contour with a quieter outline. This is carried out, again by way of example, with a simple linear filter which, running along the contour, always determines a weighted mean of the corresponding contour grid points. In this process, the filtering step is always carried out with an offset of one grid spacing. The result of this filtering is a new, equally long list of contour points, which are usually no longer grid points, and which form the corners of a polygon with a quiet outline. If the length of such a linear filter is chosen to be four grid units, each filtering step always involves five successive contour grid points from the contour table. A new contour table is compiled by appending, new coordinates to the coordinates of each kth contour grid point in the now old contour table by: X(k) = x(k-2)/8 + x(k-1)/4 + x(k)/4 + x(k+1)/4 + x(k+2)/8 Y(k) = y(k-2)/8 + y(k-1)/4 + y(k)/4 + y(k+1)/4 + y(k+2)/8 When applied to the image pattern shown in Fig. 2 with the contour table according to Table 1b, this produces a new contour outline which is depicted in Fig. 4, and whose associated contour table is shown in Table 2 with the list of new coordinates of the contour points. The contour account in this case has remained unchanged. It is the case that the contour description is more suitable for the derivation proper of local contour features D and H for each of the reference points of the set RP. In this process, each contour is regarded as being composed of chords. A chord, with the number k, is the straight connection line segment between two successive numbered contour points k-1 and k, including the contour point k as the end point, and excluding the contour point k-1 as the starting point. The list of contour points in the contour table thus becomes a list of end points of successive chords which constitute the contours specified in the contour account. It is then determined, for each reference point from the set RP, which of the chords of all the contours in the contour table the reference point Dmin(RQ) is at the shortest distance from as well as said shortest distance itself. This is achieved by running successively through the list of end points of the chords. Depending on the position of a reference point RQ with regard to a chord k, three different situations may arise. These are shown diagrammatically in Fig. 5 with subsections 5a, 5b and 5c. In the situation according to Fig. 5a, the most closely situated point is in fact the starting point of the chord k. The minimum distance Dmin(RQ) found so far has therefore already been determined in the case of a preceding chord. In the situations according to Figs 5b and 5c, respectively, a point P of the chord k and the end point of the chord k are the nearest points which are at a distance d from the reference point RQ. In both cases a test is then carried out to discover whether this distance d found is shorter than the minimum distance Dmin(RQ) previously recorded so far. If so, the distance d found is recorded as the new value for Dmin(RQ), together with the associated chord number. The following formulae are used for calculating the distance: in the situation according to Fig. 5b: d 2 = (ax * cy - ay * cx) 2 /(cx 2 +cy 2 ) and in the situation according to Fig. 5c: d 2 = ax 2 + ay 2 in which: ax = x(RQ) - X(k) and ay = y(RQ) - Y(k) cx = X(k) - X(k-1) and cy = Y(k) - Y(k-1) In fact, the minimum d 2 is first determined, and only if this has been found is its root calculated. At the same time, the process checks whether the reference point RQ in question is located to the left or the right of the contour of which the chord with the minimum distance Dmin(RQ) forms part. This is done by determining the inner product (ax * cy - ay * cx) of the vector (cy,cx) perpendicular to the chord, which is now interpreted as a vector (cx,cy), with the vector (ax,ay) defined by the end point of the chord and the reference point RQ. If the value of the inner product is positive, the reference point RQ is located to the right and, if negative, to the left of the contour. Since a contour is always chosen clockwise around black, it is then known whether the reference point RQ in question is situated in a "black" or in a "white" area of the filtered image pattern. The desired features at the reference point RQ are now determined as follows: (i) D (RQ) = Dmin(RQ) if RQ is in a "white" area; D (RQ) = -Dmin(RQ) if RQ is in a "black" area; (ii) H (RQ) = direction of the nearest chord found, which is calculated as the direction of the vector [X(k) - X(k-1), Y(k) - Y(k-1)] in the situation according to Fig. 5b; H(RQ) = direction of the vector perpendicular to the connecting line between the end point of the nearest chord and the reference point RQ, which is calculated as the direction of the vector ±[Y(k) - Y(RQ), -X(k) + X(RQ)] in the situation according to Fig. 5c, the plus/minus sign applying according to whether the reference point RQ is situated in "black" or "white", respectively. The direction feature is preferably expressed as an angle, and it can be calculated, for example, by means of a cos -1 , a sin -1 or a tan -1 function. When applied to the filtered contour description as shown in Fig. 4, it is found for a reference point RP(3,2) that the chord having number 14 are at the shortest distance. Since the reference point is located in "white" the minimum distance is to be regarded as positive, and the direction feature H(RP(3,2)) = direction of the vector [X(14) - X(13), Y(14) - Y(13)] . As already mentioned previously, the method according to the invention can be carried out not only with a contour description of an image pattern. A description on a pixel basis, the pixel description B(i,j), is similarly directly suitable for determining the features D(RQ) and H(RQ). In the case of this description, it is, moreover, possible to make use of one of the many known algorithms for determining the distance transform. If pixel centres are again chosen as reference points, a simple algorithm can proceed as follows: if a reference point RQ is located in "white', the pixel surroundings round the reference point RQ are scanned in steadily increasing "circles" until the nearest "black" pixel Z has been found. Then the features are chosen as follows: D(RQ) = {(i(Z) - i(RQ)) 2 + (j(z) - j(RQ)) 2 } ½ and H(RQ) = direction of the vector [-j(Z) + j(RQ), i(Z) - i(RQ)] If RQ is situated in a "black" area, the nearest "white" pixel W is, of course, searched for, and the analogous expressions then apply for the features. The above mentioned selection for the directional feature H(RQ) is very simple, but rather coarse. Refinements can be obtained by including surrounding points of Z or W, whose pixel value correlates with Z or W. The features obtained according to the manner described above, on the basis of either a pixel description or a contour description of a character to be recognised, form the elements of a vector, the feature vector V = {v n } with n=1,--,2N, the row of vector coefficients being chosen as {v n } = {D(R 1 ), H(R 1 ), D(R 2 ), H(R 2 ),--, D(R N ), H(R N )}. Figure 6 shows, as a block diagram, an overview of processor means PM and of memory means MM, which are specific for carrying out the process steps (3) and (4) from Fig. 1 according to the method described above for deriving character features. Below a broken dashed line, the memory means are shown, indicated by M1, M2, M3 and M4, and above said dashed line are shown the processor means PM for carrying out three processes indicated by CD, CF and FD. The relationship is as follows. The process CD describes the contour of a character. It carries out the contour tracing algorithm on the image pattern of the character which, after process steps (1) and (2) from Fig. 1 have been carried out, is available in a first memory M1, the image memory; and it puts the contour description obtained into a second memory M2. Then the process CF carries out the contour filtering process on the contour description put into the second memory M2, and puts the filtered contour description thus obtained into a third memory M3. Stored in a fourth memory M4 is a list with coordinate data of the reference points R i of the set RP. The process FD carries out the feature derivation for all the reference points from the list in the fourth memory M4 on the filtered contour description present in the third memory, and outputs the feature vector V thus found. The feature vector V is subsequently presented to combined checking and decision means, designated decider 100, of which a diagram is shown in Fig. 7, for carrying out the process steps (5) and (6) of Fig. 1. The decider 100 comprises a feature checker 101 and a maximum selector 102. The feature checker has as many inputs I n as the feature vector V has coefficients, in the present example, therefore, 2N, for receiving all the coefficients v n , the derived feature values; and as many outputs u m as the total number M of characters to be recognised. Said number M is, for example, 34, if the set of characters to be recognised is formed by the digits 0, 1, --, 9 and the capital letters A, B, --, Z. For each feature vector V presented at the input of the feature checker 101, the latter determines a score vector S = {s m |m=1,--,M} , each coefficient s m of which expresses the measure, according to which the presented feature vector V fits the mth character from the set of characters to be recognised. The coefficients of the score vector S are presented, via the outputs u m , to the maximimum selector 102. Said maximum selector 102 determines the largest of the coefficients s m and outputs a signal CH at its output 103, according to the character from the character set to be recognised, which corresponds to the determined largest coefficient. The feature checker is preferably a multi-larger neural network, e.g. composed of three layers of perceptrons, as disclosed, for example, by reference [4]. In FIG. 7, however, the feature checker 101 has been shown simply only as a single-layer neural network having a number M of perceptrons. Three steps are to be distinguished in the feature checker 101, viz.: a distribution step, denoted by the letter T; a weighting step, denoted by the letter W; and a summation step, denoted by the letter Σ. The feature values presented with the feature vector V to the feature checker 101 are, as derived, continuous values. In the distribution step T each presented value v n is, as it were, distributed by distribution units t n (n=1,--,2N) by presenting the same value in a multiple way, viz. in M directions, i.e. as many as there are perceptrons. During the weigthing step W each feature value v n in each direction m is weighted by means of a weighting factor W nm from a set of weighting factors {W nm }. This set of weighting factors in fact forms a dimensional array, the weighting factor matrix, where n=1,--,2N is the number of a presented feature value v n , and m=1,--,M is the number of a character to be recognised in the set of characters to be recognised. With the aid of the weighting factors, a score is then determined in the summation step Σ by each one of a number M of summators σ m , which score forms the previously mentioned coefficient s m of the score vector S. For each summator σ m , this score is: s m =f(Σw nm *v n ) in which the summation is carried out over all n=1,--,2N and f represents a non-linear function such as a sigmoid. This is indicated in FIG. 7 by arrows from each distribution unit t n to each of the summators σ m . The arrows here are provided with their associated weighting factor from the weighting factor matrix. The coefficients s m of the score vector S are presented to the maximum selector 102. The weighting factor matrix {w nm } is located in a memory accessible to the decider. The coefficients of this matrix have been predetermined according to a training algorithm which is known as the "back propagation containing algorithm" (see, for example, reference [4], particularly Box 6.). In that case, character features were presented to the decider of known characters from a training set of known characters, which had been derived with the aid of the new method described above. When applied to a large test set of practice material (approximately 200,000) of readily separable handwritten digits, a character recognition system, which worked with the new method for deriving the character features "distance" and "direction", was found to satisfactorily recognise 99.3% of the characters presented. If only the character feature "distance" was used, the maximum yield was found to be 98.6%. CN nrept nrlpt cdoc 1 1 62 0 2 63 78 1 k x y 1 5.5 14.5 2 6.5 14.5 3 7.5 14.5 4 8.5 14.5 5 8.5 13.5 6 9.5 13.5 7 9.5 12.5 . . . . . . 60 3.5 13.5 61 4.5 13.5 62 5.5 13.5 63 6.5 13.5 64 6.5 12.5 65 5.5 12.5 . . . . . . 76 8.5 12.5 77 7.5 12.5 78 7.5 13.5 k X Y 1 5.875 14.125 2 6.625 14.375 3 7.375 14.375 4 8.125 14.125 5 8.750 13.75 6 9.125 13.125 7 9.5 12.5 . . . . . . 60 3.875 13.125 61 4.5 13.5 62 5.125 13.875 63 6.75 13.0 64 6.125 12.875 65 5.5 12.5 . . . . . . 76 8.125 12.125 77 7.75 12.75 78 7.25 13.0

Claims: A method for deriving character features in a character recognition system for recognising characters, such as letters and digits, the method comprising a step of deriving for each point of a plurality of points in an image plane of image points including a pattern of a character to be recognised feature data indicative of the distance to a nearest boundary point of the pattern, wherein the plurality of points includes a set ( R = {R i /i-1,--,N} ) of preselected points (R i ), called reference points, and the method includes a further step of deriving, for each reference point, further feature data (H(R i )) indicative of the direction of the boundary in its corresponding nearest boundary point. The method according to Claim 1, characterised in that the boundary points are contour points on a filtered contour (C1, C2), the filtered contour being obtained by steps of contour tracing and filtering, preceeding said first deriving step. The method according to Claim 1 or 2, characterised in that the method comprises a step of determining a feature vector ( V = {v n }/n=1,--,2N ) from said feature data and said further feature data, the feature vector including the distance data (D(R i )) and the directional data (H(R i )) for each reference point (R i ) as vector coefficients. The method according to Claim 1, 2 or 3, characterised in that the number of reference points is greater than 70 and less than 120. The method according to any of the Claims 1,--,4, characterised in that the set of reference points includes points randomly distributed in the image plane. The method according to any of the Claims 1,--,4, characterised in that the set of reference points includes points regularly distributed in the image plane. Character recognition system for recognising characters such as letters and digits, which system comprises: means for recording an image pattern of a character to be recognised on the surface of a carrier, feature derivation means for deriving feature data for a number of character features of the character to be recognised from said recorded image pattern, checking means (101) for checking the derived feature data against results obtained previously on a set of known characters, and for outputting checking results, deciding means (102), for deciding, on the basis of the checking results, which known character the character to be recognised is recognised as, wherein the feature derivation means (FD) include deriving means for deriving, for each point of a set of preselected points, called reference points, in an image plane of said recorded image pattern, feature data indicative of the distance to a nearest boundary point of the pattern, and feature data indicative of the direction of the boundary in its corresponding nearest boundary point. Character recognition system according to Claim 7, characterised in that the system further comprises a contour tracer (CD, CF) for locating a contour of the character to be recognised and for determining a contour description of the contour found, the deriving means being arranged for determining, for each reference point (RQ), the distance ( D(RQ) = d ) to a nearest contour segment (k), and the direction (H(RQ)), at least as an approximation, of the nearest contour segment.

Inventors: WILCKE ROBERT, WILCKE, ROBERT
Applicants: KONINKL KPN NV, KONINKLIJKE KPN N.V.
Application year: 1992
Main classification: G06K9
IPC codes: G06K9, G06T7