A pattern matching method and a pattern recognition apparatus

Abstract: A pattern matching method in which distances between an input pattern and standard patterns are multiplied by distance-scale correcting weight coefficients respectively prepared for the standard patterns, allowing to obtain a distance corresponding to a category shape of a standard pattern and enhance an input pattern recognition ratio. A pattern recognition and speech recognition apparatus in which distance-scale correcting weight coefficients respectively prepared for all standard patterns are stored in storage means and distances between stored standard patterns and an input pattern generated by input pattern generating means are calculated to multiply an obtained distance by a weight coefficient stored in the storage means in accordance with the standard pattern used for calculating the distance from the input pattern. This constitution reduces the number of templates when providing the standard patterns as multiple templates and, at the same time, enhances the input pattern recognition ratio.

Description: The present invention relates to a pattern recognition method and recognition apparatus to be preferably used for recognizing speech and image data. With conventional speech recognition apparatus, for example, an input speech (or an input pattern) is recognized by identifying a category of a word to which the input speech belongs. However, even if the same word is spoken by the same speaker, the pattern of the word is not necessarily the same as that of the word spoken again by the same speaker, indicating that the category has an area more or less extending into a recognition space. For recognizing the category extended into the recognition space, a multi-template method is known, for example, in which a plurality of standard patterns are prepared for a single word. With the conventional multi-template method, which represents the closest prior art, distances between an input pattern and templates (or standard patterns) are all calculated on a same distance scale, and that one of the templates (or standard patterns) which minimizes the distance from the input pattern is regarded as a recognition result. Thus, performing pattern recognition on all templates by using the same distance scale is to determine whether a point representing an input pattern is contained in or touching one of a number of circles (or spheres) of the same radius around a point representing a template (or a standard pattern) on a parameter plane. Therefore, enclosing each of the word categories shown in Fig. 7 of the accompanying drawings, for example, with circles (or spheres) having the same radius neither too much nor too little enhances recognition performance. US-A-4,520,500 discloses a pattern recognition apparatus comprising a spectrum converter for creating an input pattern in a parameter space from a speech signal; a reference memory storing means for storing a plurality of standard patterns (referred to in US-A-4,520,500 as "reference categories"); distance calculating means for computing distances between the input pattern and the standard patterns; and a decision circuit for recognising the input pattern based on the computed distances. The distance calculating means uses weight co-efficients in computing the distances. In particular the distance element between each element of the input pattern and the standard pattern is multiplied by a weighting co-efficient element and the multiplication product is summed, instead of merely summing the distance elements prior to multiplication. Each weighting co-efficient element is adjusted from an initial stored value, depending on the relative values of the corresponding elements of the input pattern and the standard pattern. The purpose of the weighting co-efficients and their adjustment is to emphasize the effect of some of the distance elements over the effect of other distance elements in the distance calculation. According to a first aspect of the present invention there is provided a pattern recognition method comprising the steps of: entering an input pattern in a parameter space; storing, in respect of each of a plurality of word categories, a set of standard patterns; and computing distances between the input pattern and the standard patterns, and characterised in that the method further comprises: storing, in respect of each of the plurality of word categories, a set of distance-scale correcting weight coefficients respectively prepared for the respective standard patterns for covering each word category in the parameter space; and multiplying each distance by the stored weight coefficient which corresponds to the standard pattern used to compute that respective distance and using the multiplication product to recognize said input pattern. According to a second aspect of the present invention there is provided a pattern recognition apparatus comprising: means for receiving an input pattern in a parameter space; storing means for storing, in respect of each of a plurality of word categories, a set of standard patterns computing means for computing distances between the input pattern and the standard patterns; and recognizing means for recognizing the input pattern based on the computed distances, and characterised in that: the storing means is also for storing, in respect of each of the plurality of word categories, a set of distance-scale correcting weight coefficients respectively prepared for the standard patterns for covering each word category in the parameter space; and said apparatus is arranged to multiply each distance by the stored weight coefficient which corresponds to the standard pattern used to compute that respective distance, prior to supply to said recognising means. Embodiments of the present invention can provide a pattern recognition method and apparatus which can, as well as enhancing the pattern recognition ratio, also reduce the cost of apparatus fabrication. The invention will be further described by way of non-limitative example with reference to the accompanying drawings, in which:- Fig. 1 is a block diagram of a constitution of an embodiment of a pattern recognition apparatus implemented by a pattern matching method according to the present invention; Fig. 2 is a view depicting word category shapes on a recognition plane covered, neither too much nor too little, with standard patterns (or templates) having corrected weight coefficients; Fig. 3 is a block diagram of a constitution of an embodiment of a speech recognition apparatus based on by the pattern recognition apparatus of the present invention; Fig. 4 is a block diagram showing details of an NAT processing section 14 of the embodiment of Fig. 3; Fig. 5 is a view showing a locus of feature parameters of a speech; Fig. 6 is a flowchart describing a algorithm for creating weight coefficients to be stored in a standard pattern storage section 16 of the embodiment of Fig. 3; Fig. 7 is a view showing a distribution of word categories on a recognition plane; Fig. 8 is a view showing word categories covered with standard patterns (or templates) of a conventional template method; and Fig. 9 is a view showing word categories covered with standard patterns (or templates) of a conventional template method. Fig. 1 is a block diagram of a constitution of an embodiment of a pattern recognition apparatus implemented by a pattern matching method according to the present invention. A distance computing section 1 computes a distance (for example, an Euclid distance) between an input pattern created from an image signal or a speed signal for example and a standard pattern (or a template) stored in the standard-pattern storage section 2 using, for example, a Pythagorean calculation. A standard-pattern storage section 2 stores standard patterns created beforehand from image or speech signals. A weight-coefficient storage section 5 stores distance-scale correcting weight coefficients respectively prepared for the standard patterns stored in the standard pattern storage section 2. Referring to Fig. 2, a category A and a category B on a recognition plane are respectively enclosed by circles neither too much nor too little. Each of these circles on the recognition plane indicates an equidistant surface from its center, or a template (or a standard pattern). Therefore, for a template (or a standard pattern) of a relatively large radius, a weight coefficient having a relatively small value (as compared with a weight coefficient for a template of circle having a relatively small radius) is stored in the weight-coefficient storage section 5; conversely, for a template (or a standard pattern) of a relatively small radius, a weight coefficient having a relatively large value (as compared with a weight coefficient for a template of a circle having a relatively large radius) is stored in the weight-coefficient storage section 5. A pattern selecting section 3 controls supply of standard patterns from the standard pattern storage section 2 to the distance computing section 1 and supply of weight coefficients from the weight-coefficient storage section 5 to a weight correcting section 4. The weight correcting section 4 multiplies distances between input patterns supplied from the distance computing section 1 and standard patterns by weight coefficients stored in the weight-coefficient storage section 5. A distance determining section 6 detects a shortest distance from among those multiplied by weight coefficients and supplied from the weight correcting section 4, or distances between corrected input patterns and standard patterns, outputting as a recognition result a standard pattern which minimizes a distance with the detected input pattern. The following describes registration of weight coefficients into the weight-coefficient storage section 5. If standard patterns (or templates) have already been entered in the standard pattern storage section 2, a relatively large weight coefficient (as compared with a weight coefficient for a standard pattern corresponding to a center of a circle not totally covering a word category) is registered in the weight-coefficient storage section 5 in the case of a standard pattern corresponding to a center of a circle getting out of a category to be recognized (for example, each of two circles enclosing top of the word-A category in Fig. 8); a relatively small weight coefficient (as compared with a weight coefficient for a standard pattern corresponding to a circle getting out of a word category) is registered in the weight coefficient storage section 5 in the case of a standard pattern corresponding to a center of a circle not totally covering a category to be recognized. When a standard pattern is newly registered in the standard pattern storage section 2, its weight coefficient is determined so that circles around the newly registered pattern will cover a category corresponding to the standard pattern neither too much nor too little before being registered in the weight coefficient storage section 5. Now, the embodiment operates as follows. The distance computing section 1 computes a distance (an Euclid distance) between an input pattern created from an image signal or a speech signal for example and a standard pattern (a template) stored in the standard pattern storage section 2. The pattern selecting section 3 reads from the weight coefficient storage section 5 a distance-scale correcting weight coefficient corresponding to the standard pattern whose distance from the input pattern has been computed in the distance computing section 1. The read weight coefficient is then supplied to the weight correcting section 4. The weight correcting section 4 multiplies the distance between the input pattern and the standard pattern supplied from the distance computing section 1 by the weight coefficient supplied from the weight coefficient storage section 5 to send a result to the distance determining section 6. It should be noted that the above-mentioned processing is performed on each of the standard patterns stored in the standard pattern storage section 2. In the distance determining section 6, a shortest distance is selected from among those multiplied by weight coefficients, or corrected distances between the input pattern and standard patterns to output as a recognition result a standard pattern that minimizes the distance from the detected input pattern. Thus, multiplying distances between the input pattern and standard patterns by distance-correcting weight coefficients respectively prepared for respective standard patterns allows to obtain a distance corresponding to a shape of a category of each standard pattern, enhancing a recognition ratio of input patterns. Fig. 3 is a block diagram showing a constitution of an embodiment of a speech recognition apparatus implemented by the pattern recognition apparatus according to the present invention. A microphone 11 converts an input speech into an equivalent electrical speech signal to be supplied to an acoustic analyzing section 12. The acoustic analyzing section 12 performs acoustic analysis processing on the speech signal supplied from the microphone 11 to extract a power and a zero-cross count of the speech signal and send them to a speech division detecting section 13. At the same time, the acoustic analyzing section 12 extracts a spectral characteristic (or a power) for each predetermined frequency band as a feature parameter to be supplied to a NAT (Normalization Along Trajectory) processing section (the number of frequency bands provides the number of dimensions of the feature parameter). The speech division detecting section 13 detects, from the power or zero-cross count of the speech signal coming from the acoustic analyzing section 12, a speech division of the speech signal coming from the microphone 11, or a start frame and an end frame of the speech signal, to supply a resultant signal to the NAT processing section 14. The NAT processing section 14 performs NAT processing as disclosed in Japanese Patent Laid-open No. 60-249198 and USP 4972164. Referring to Fig. 4, the NAT processing section, comprising a locus length computing unit 14a, an interpolation interval computing unit 14b, and an interpolation point extracting unit 14c, performs NAT processing on a feature parameter series supplied from the acoustic analyzing section 12 in a speech division supplied from the speech division detecting section 13. The locus length computing unit 14a of the NAT processing section 14 computes a locus length SL drawn through linear approximation by the feature parameters supplied from the acoustic analyzing section 12 in their parameter space. That is, when only two (or two dimensional) feature parameters are considered for example, the locus length computing unit 14a computes a locus length drawn by the two parameters in a two-dimensional parameter space (a two dimensional plane) as shown in Fig. 5 (a locus is indicated by dots). The interpolation interval computing unit 14b computes an interval T (or a resampling interval T) for resampling the locus of the feature parameters drawn in the parameter space by a preset number of sampling points K and the locus length computed by the locus length computing unit 14a according to an equation below to supply a result to the interpolation point extracting unit 14c: T = SL/(K - 1) The interpolation point extracting unit 14c resamples the locus of the feature parameters at the resampling interval T computed by the interpolation interval computing unit 14b, as indicated by tiny circles in Fig. 5, along the locus obtained by linearly approximating the locus drawn the by the feature parameters supplied from the acoustic analyzing section 2 to compute a new feature parameter series q(j, k) ( j = 1, 2, ..., J : where J is the number of dimensions of feature parameters) ( k = 1, 2, ..., K : K = SL/T + 1 ) as an input pattern and supply it to the distance computing section 15. The standard pattern storage section 16 stores weight coefficients wi for standard patterns p i (j, k) ( i = 1, 2, ..., I : where I is the number of standard patterns) and standard patterns p i (j, k). The distance computing section 15 computes a distance D i between the input pattern q(j, k) supplied from the NAT processing section 14 and the standard patterns p i (j, k) stored in the standard pattern storage section 16 according to a following equation: D i = j=1 J k=1 K |q(j,k) - p i (j,k)| wi It should be noted that the distance computing section 15 computes the distance from the input pattern q(j, k) for each of the standard patterns p 1 (j, k) or p I (j, k) stored in the standard pattern storage section 16. The distance determining section 17 detects a shortest distance D i(MIN) from among distances D 1 or D I between the input pattern q(j, k) and all standard patterns p 1 (j, k) or p I (j, k) computed by the distance computing section 15 to determine whether the shortest distance D i(MIN) is greater than a predetermined reference value R TH . If the distance D i(MIN) is found greater than the predetermined reference value R TH (D i(MIN) > R TH ), the distance determining section 17 determines that it could not recognize the input pattern q(j, k), outputting nothing (or rejecting the input pattern q(j, k)). It should be noted that the above-mentioned predetermined reference value R TH is hereinafter called a rejection threshold value. If the distance determining section 17 has found that the distance D i(MIN) is smaller than the rejection threshold value R TH (D i(MIN) ≤ R TH ), it outputs, as a result of having recognized the input pattern q(j, k), a word corresponding to the standard pattern p i(MIN) (j, k) which minimizes the distance from the input pattern q(j, k). Next, an algorithm for creating the weight coefficient wi for each of the standard patterns p i (j, k) and the standard patterns p I (j, k) will be described by referring to Fig. 6. Before a processing shown in Fig. 6 is performed, a same processing as one in which an input pattern to be described later is created (or a speech is recognized) is performed by the microphone 11, the acoustic analyzing section 12, the speech division detecting section 3, and the NAT processing section 14 to create standard patterns. It should be noted that this processing is performed on S pieces of data pronounced by an unspecified speaker for generating standard patterns to create S standard patterns Q s (1 ≤ s ≤ S). Further, a minimum number of standard patterns required for entirely covering a category of each word to be registered as a standard pattern with circles each having, for example, the above-mentioned rejection threshold value R TH as its radius is selected from the S standard patterns Q s created as mentioned above (hereinafter called candidate patterns). Here, let the number of selected standard patterns be I for example, or let the minimum number of selected standard patterns be P 1 or P I (P i (1 ≤ i ≤ I)). In step S1 shown in Fig. 6, an initial value W is set to a weight coefficient w1 or wI of standard patterns P1 or P I and a repeat count C for repeating a preset processing of step S2 or S12 is set to a variable cnt. Then the processing goes to step S2 where one is set to a variable s which is a suffix of the candidate patterns Q s and zero is set to a variable sw i (1 ≤ i ≤ I) to which one is set when updating (or correcting) the weight coefficient w i in step S8 to be described later. Then, in step S3, one is set to a variable i which is a suffix of the preselected minimum number of standard patterns P i . In step S4, distances d si (d (Q s , P i )) between the candidate patterns Q s , and the standard patterns P i are calculated and distances obtained by multiplying the distance d si by the weight coefficient w i , or weight-corrected distances D si (= d si x w i ) are calculated. In step S5, it is determined whether the variable i is equal to the number of standard patterns I. If it is found not equal, the processing goes back to step S4. Steps S4 and S5 are repeated until the variable i is found equal to the number of standard patterns I. Thus, in step S3 or S5, weight-corrected distances (D s1 or D SI ) are calculated with respect to a combination of I standard patterns P1 or PI and candidate patterns Q s . If the variable i is found equal to the number of standard patterns I in step S5, the processing goes to step S6 where a shortest distance D sm is selected from among the weight-corrected distances D s1 or D sI . In step S7, it is determined whether a category of standard patterns P m in which a distance from the candidate patterns Q s becomes the shortest distance Dms detected in step 7, or a category of the standard patterns P m that minimizes the distance from the candidate patterns Q s and a category of the candidate patterns Q s belong to a same category. It should be noted that the standard patterns P 1 or P I are the minimum number of patterns selected from among the candidate patterns Q 1 or Q s , and required for entirely covering a category of each word to be registered as a standard pattern with circles having the rejection threshold value R TH as their radii. Therefore, the category of the standard pattern P m in which the distance from the candidate pattern Q s becomes the shortest distance D sm and the category of the candidate pattern Q s should belong to the same category. If it has been determined in step S7 that the category of the standard pattern P m and the category of the candidate pattern Q s do not belong to the same category, or the candidate pattern Q s has not been recognized as the standard pattern P m , the candidate pattern Q s has been recognized erroneously. Consequently, if it has been determined in step S7 that the category of the standard pattern P m and the category of the candidate pattern Q s do not belong to the same category, the processing goes to step S8 where one is set to the variable S wi to correct the weight coefficient W i so that the erroneously recognized candidate pattern Q s is recognized as the standard pattern P m . Then, the processing goes to step S9. If, on the other hand, the category of the standard pattern P m and the category of the candidate pattern Q s have been found belonging to the same category in step S7, the processing skips step 8 and goes directly to step S9. In step S9, it is determined whether the variable s which is the suffix of the candidate pattern Q s is equal to the number of candidate patterns S. If it is not found equal, the processing goes back to step S3. Step S3 or S9 is repeated until the variable s is found equal to the number of candidate patterns S. If the variable s which is the suffix of the candidate pattern Q s is found equal to the number of candidate patterns S, the processing goes to step S10 where the weight coefficient w i whose suffix is the i with one set to the variable S wi in step S8 is updated (or corrected) according to a following equation: w i = w i + δ where, δ is sufficiently smaller than W. Further, in step S9, the result of determination whether the category of the standard pattern P m and the category of the candidate pattern Q s belong to the same category as processed in step S7, or the recognition result of the candidate pattern Q s is stored in a predetermined storage area along with the weight coefficient W i . Then, the processing goes to step S11 where the variable cnt is decremented by one. The processing further goes to step S12 where it is determined whether the variable cnt is equal to zero or not. If the variable cnt is found unequal to zero, the processing goes back to step S2. Step S2 or S12 is repeated until the variable cnt is found equal to zero. If the variable cnt is found equal to zero in step S12, the processing goes to step S13 where the recognition result stored in step S10 is referenced to determine that the weight coefficient w 1 or w I at a highest recognition ratio for example is a final weight coefficient, upon which the processing comes to an end. Thus, the weight coefficient is determined, which encloses, neither too much nor too little, the category A or B with circles as a word on the recognition plane as shown in Fig. 2. Operations of speech recognition will be described as follows. A speech entered in the microphone 11 is converted into an equivalent electrical speech signal to be supplied to the acoustic analyzing section 12. In the acoustic analyzing section 12, acoustic analysis processing is performed on the speech signal supplied from the microphone 11 to extract the power and zero-cross count of the speech signal which are supplied to the speech division detecting section 13 and, at the same time, extract a spectral characteristic (power) for each predetermined frequency band as feature parameters which are supplied to the NAT processing section 14. In the speech division detecting section 13, the speech division, or the start frame and end frame of the speech signal supplied from the acoustic analyzing section 12 are detected from the power or zero-cross count of the speech signal supplied from the acoustic analyzing section to be supplied to the NAT processing section 14. In the NAT processing section 14, NAT processing is performed on the feature parameter series supplied from the acoustic analyzing section 12 in the speech division supplied from the speech division detecting section 13. That is, the locus length computing unit 14a of the NAT processing section 14 calculates the length SL of the locus drawn by the feature parameters supplied from the acoustic analyzing section 12 in their parameter space through linear approximation. In the interpolation interval computing unit 14b, the interval (or the resampling interval) T for resampling the locus of the feature parameters drawn in the parameter space is calculated from the preset number of sampling points K and the locus length SL supplied from the locus length computing unit 14a according to the equation (1) to be supplied to the interpolation point extracting unit 14c. The interpolation point extracting unit 14c resamples the locus of the feature parameters as indicated by tiny circles in Fig. 5 along the locus drawn by the feature parameters supplied from the acoustic analyzing section 2 through linear approximation at the resampling interval T calculated by the interpolation interval computing unit 14b, providing a new feature parameter series as an input pattern. The distance computing section 15 computes the distances Di between the input pattern q(j, k) supplied from the NAT processing section 14 and the standard patterns pi(j, k) stored in the standard pattern storage section 16 according to the equation (2) by multiplying the distance-scale correcting weight coefficient w i prepared for each of the standard patterns pi(j, k) by the simple distance between the input pattern q(j, k) and the standard patterns p i (j, k). It should be noted that the distance computing section 15 computes the distances from the input pattern q(j, k) for each of the standard patterns p 1 (j, k) or p I (j, k) stored in the standard pattern storage section 16. The distance determining section 17 detects the shortest distance D i(MIN) from among the distances D 1 or DI between the input pattern q(j, k) and all standard patterns p 1 (j, k) or p I (j, k) to determine whether the distance D i(MIN) is greater than the rejection threshold value R TH or not. If the distance Di(MIN) is found greater than the rejection threshold value R TH (Di(MIN) > R TH ), the input pattern q (j, k) is rejected as not having been recognized. If the distance D i(MIN) is found equal to or smaller than the rejection threshold value R TH (D i(MIN) - R TH ), a word corresponding to the standard pattern p i(MIN) which minimizes the distance from the input pattern q(j, k) is outputted as a result of a successful recognition of the input pattern q(j, k). As described above, the distances between the input pattern and standard patterns are multiplied by distance-scale correcting weight coefficients respectively prepared for the standard patterns to obtain a distance corresponding to a category of a standard pattern, thereby enhancing a speech recognition ratio. Although, in the embodiment of the present invention, I standard patterns are selected from among given S candidate patterns to update (or correct) weight coefficients for these I standard patterns to adapt them to a shape of a word category, determining the weight coefficients (corresponding to the centers and radii of the circles covering the category A or B in Fig. 2 for example) according to a category shape along with the standard patterns (or templates) may reduce the number of the standard patterns (or templates). While preferred embodiments of the invention have been described using specific terms, such description is for illustrative purpose only, and it is to be understood that changes and variations may be made without departing from the scope of the appended claims.

Claims: A pattern recognition method comprising the steps of: entering an input pattern in a parameter space; storing, in respect of each of a plurality of word categories, a set of standard patterns; and computing distances between the input pattern and the standard patterns, and characterised in that the method further comprises: storing, in respect of each of the plurality of word categories, a set of distance-scale correcting weight coefficients respectively prepared for the respective standard patterns for covering each word category in the parameter space; and multiplying each distance by the stored weight coefficient which corresponds to the standard pattern used to compute that respective distance and using the multiplication product to recognize said input pattern. A pattern recognition method according to claim 1, further comprising creating the input pattern in the parameter space from an input speech signal. A pattern recognition method according to claim 2, wherein the step of creating the input pattern comprises: detecting at least a power of an input speech signal and extracting feature parameters of the speech signal; detecting speech division from the power of the speech signal; and processing the feature parameters to create the input pattern in the parameter space. A pattern recognition apparatus comprising: means for receiving an input pattern in a parameter space; storing means (2, 16) for storing, in respect of each of a plurality of word categories, a set of standard patterns computing means (1, 5) for computing distances between the input pattern and the standard patterns; and recognizing means (6, 17) for recognizing the input pattern based on the computed distances, and characterised in that: the storing means (5, 16) is also for storing, in respect of each of the plurality of word categories, a set of distance-scale correcting weight coefficients respectively prepared for the standard patterns for covering each word category in the parameter space; and said apparatus is arranged to multiply each distance by the stored weight coefficient which corresponds to the standard pattern used to compute that respective distance, prior to supply to said recognising means (17). A pattern recognition apparatus according to claim 4, further comprising: weight correcting means (4) for performing the multiplication of each distance by a weight coefficient; and a pattern selecting section (3) for controlling supply of the standard patterns from the storing means (2) to the computing means (1) and supply of the weight coefficients from the storing means to a weight correcting section. A pattern recognition apparatus according to claim 4 or 5, further comprising input pattern creating means (12, 13,14) for creating the input pattern in the parameter space from an input speech signal. A pattern recognition apparatus according to claim 6, wherein the input pattern creating means comprises: acoustic analyzing means (12) for at least detecting a power of an input speech signal and extracting feature parameters of the speech signal; speech division detecting means (13) for detecting speech division from the power of the speech signal; and speech processing means (14) for processing the feature parameters to create the input pattern in the parameter space.

Inventors: KATO YASUHIKO, TANAKA MIYUKI, WATARI MASAO, KATO, YASUHIKO, TANAKA, MIYUKI, WATARI, MASAO, KATO, YASUHIKO, C/O SONY CORPORATION, Tanaka, Miyuki, c/o Sony Corporation, WATARI, MASAO, C/O SONY CORPORATION
Applicants: SONY CORP, SONY CORPORATION
Application year: 1993
Main classification: G10L15
IPC codes: G06T7, G06K9, G10L15