Voice pattern recognition using average covariance matrices

Abstract: A pattern recognizing method of recognizing an input pattern by using a probability model, in which each of a plurality of standard patterns is expressed as a probability distribution defined by an average vector and a covariance matrix respectively, is provided with the processes of: extracting a characteristic vector which indicates a characteristic feature of the input pattern; performing a comparison based on a probability calculation between the extracted characteristic vector and respective one of the standard patterns by using an average matrix of a plurality of covariance matrixes of the standard patterns as the covariance matrix for the respective one of the standard patterns; and recognizing the input pattern on the basis of a result of the performed comparison.

Description: The present invention generally relates to a pattern recognizing apparatus such as a voice recognizing apparatus, and more particularly to a pattern recognizing apparatus for performing a calculation to recognize a pattern by expressing a distribution of the recognized pattern with a multiple dimensional normal distribution. There is a method of pattern-recognizing various information, which is sensible by a human being, by use of a computer. Especially, a voice recognition for recognizing a voice pronounced by a human being and understanding the content of a language thereof is important as an elemental technique of a human interface. In case of performing such a pattern recognition represented by the voice recognition by use of a computer, there is a pattern recognizing method to which a probability model is applied as a statistical property of an information source is noticed. For example, the Hidden Marcov Model (HMM), which expresses a transition of the condition due to a time series of a voice pattern by use of a probability, is representative. In this type of method, a characteristic vector necessary to recognize the pattern is extracted from the information source, and the extracted characteristic vector is compared with a modeled standard pattern on the basis of a probability calculation, so as to recognize the pattern. The probability distribution of this standard pattern is expressed by a multiple dimensional normal distribution, and is described by an average vector and a covariance matrix. Here, in case that the dimension number of the characteristic vector is N, the covariance matrix becomes an N ×M matrix. Thus, in this case, a calculation amount of the probability calculation in proportion to the square of the dimension number N is necessary. Further, in case that the total number of the standard patterns is M, this calculation amount increases in proportion to the total number M. However, it may be necessary to increase the dimension number N of the characteristic vector in order to cope with a coding process for example, and it may be also necessary to increase the total number M of the standard patterns in order to perform a finer recognition process. As explained above, because the calculation amount increases in proportion to the square of the dimension number N and the total number M of the standard patterns in the probability calculation, an enormous calculation amount may be required in case that the values of these N and M are increased. Further, the memory amount required in correspondence with the calculation amount may be also increased in the same degrees. On the other hand, in case of performing the recognizing process in the voice recognizing apparatus etc., since it is often performed in a real time manner, in order to cope with the increases of the calculation amount and the memory amount, a CPU (Central Processing Unit) having a high processing rate, a memory having a large memory capacity and so one, which are rather expensive parts, should be employed resulting in a significant increase of the cost of the apparatus. Namely, there is a problem that it is difficult to realize a pattern recognizing apparatus with a relatively low cost while keeping a certain quality by use of the probability model. Unified techniques for vector quantisation and hidden Markob modeling using semi-continuous models, ICASSP 1989 Glasgow, May 1989, Volume 1, pages 639 to 642 discloses a pattern recognizing method employing a probability model in which each of a plurality of standard patents is expressed as a probability distribution defined by an average vector. The document "On text independent speaker identification using a quadratic classifier with optimal features, Cohen A. and Froind I., Speech Communication 8, 1989, pages 35-44, discloses a speaker identification system which uses the average matrix of the covariance matrix of all of the standard patterns in the probability model. It is therefore an object of the present invention to provide a pattern recognizing apparatus and method as well as a program storage device for a pattern recognition, which can reduce the required calculation amount and the required memory mount for the probability calculation while keeping the recognition capability to a relatively high level. According to the present invention there is provided a pattern recognizing method of recognizing an input voice pattern by using a probability model, in which each of a plurality of standard patterns is expressed as a probability distribution defined by an average vector and a covariance matrix respectively, said pattern recognizing method comprising the steps of: classifying the standard patterns into a predetermined number of classes; for each of the classes, calculating an average matrix of the covariance matrices of the standard patterns in the class; extracting a characteristic vector which indicates a characteristic feature of the input pattern; performing a comparison based on a probability calculation between the extracted characteristic vector and respective one of the standard patterns by using the average matrix of the class to which the respective one of the standard pattern belongs as the covariance matrix for the respective one of the standard patterns; and recognizing the input pattern on the basis of a result of the performed comparison. According to the present invention there is also provided a pattern recognizing apparatus for recognizing an input voice pattern by using a probability model, in which each of a plurality of standard patterns is expressed as a probability distribution defined by an average vector and a covariance matrix respectively, said pattern recognizing apparatus comprising: a classifying device arranged to classify, in use, the standard patterns into a predetermined number of classes; a calculating device arranged to calculate, in use, for each of the classes an average matrix of the covariance matrices of the standard patterns in the class; an extracting device arranged to extract, in use, a characteristic vector which indicates a characteristic feature of the input pattern; a comparison performing device arranged to perform, in use, a comparison based on a probability calculation between the extracted characteristic vector and respective one of the standard patterns by using the average matrix of the class to which the respective one of the standard pattern belongs as the covariance matrix for the respective one of the standard patterns; and a recognizing device arranged to recognize, in use, the input pattern on the basis of a result of the performed comparison. According to the present invention there is provided a program storage device readable by a computer for a pattern recognition, tangibly embodying a program of instructions executable by said computer to perform method processes for recognizing an input voice pattern by using a probability model, in which each of a plurality of standard patterns is expressed as a probability distribution defined by an average vector and a covariance matrix respectively, said method processes comprising the steps of: classifying the standard patterns into a predetermined number of classes; for each of the classes, calculating an average matrix of the covariance matrices of the standard patterns in the class; extracting a characteristic vector which indicates a characteristic feature of the input pattern; performing a comparison based on a probability calculation between the extracted characteristic vector and respective one of the standard patterns by using the average matrix of the class to which the respective one of the standard patterns belongs as the covariance matrix for the respective one of the standard patterns; and recognizing the input pattern on the basis of a result of the performed comparison. The nature, utility, and further features of this invention will be more clearly apparent from the following detailed description with respect to preferred embodiments of the invention when read in conjunction with the accompanying drawings briefly described below. In the drawings:- Fig. 1 is a diagram showing a concept of the HMM (Hidden Markov Model) used in an embodiment of the present invention; Fig. 2A is a graph indicating the HMM of discrete distribution type; Fig. 2B is a graph indicating the HMM of continuous distribution type; Fig. 3 is a block diagram of a voice recognition apparatus as the embodiment; and FIG. 4 is a front appearance view of the voice recognizing apparatus. Referring to the accompanying drawings, an embodiment of the present invention will be now explained. In the embodiment described below, the present invention is applied to a voice recognizing apparatus. At first, a voice recognition by means of the HMM used in the embodiment is explained with reference to FIG. 1 to FIG. 2B. The HMM is one kind of the Markov model characterized to have a plurality of conditions which are related to each other by a condition-transition-probability and to output a predetermined symbol series when one condition is transited to another condition. In a voice recognition, the Markov model of left-to-right type may be employed in which the time does not regress. In the voice recognizing apparatus by means of the HMM, the HMMs as for all of the words as objectives for the recognition are generated and registered in a dictionary. Then, when recognizing the voice, the HMMs are read out one after another from the dictionary, and a probability (i.e., a likelihood) of outputting the observed symbol series, which is same as the inputted voice, is calculated as for each of the HMMs. The word corresponding to the HMM which gives the largest probability among those is outputted as the recognition result. FIG. 1 shows an example of the HMM. This HMM is an example of a model, which is capable of outputting two symbols a and b , and has three conditions S1 to S3 as internal conditions. The condition starts from the condition S1 and ends at the condition S3. Arrow lines connecting the conditions S1 to S3 represent condition-transitions respectively. Marks aij written beside each arrow line represent condition-transition-probabilities respectively, and marks cij represent symbol-output-probabilities corresponding to marks aij respectively. An upper element in [ ] of the symbol-output-probability represents the output-probability of the symbol a and a lower element in [ ] of the symbol-output-probability represents output-probability of the symbol b . Now, assuming that the observed symbol series of the inputted voice is (aab) for example, the probability (i.e., the likelihood) that the HMM shown in FIG. 1 outputs this observed symbol series (aab) is calculated as following (refer to Ohgauchi Masaaki, "Voice Recognition by the Marcov Model", Electric Information Transmission Academy Papers, vol. April (1987)). First of all, the length of the syllable of the observed symbol series (aab) is "3" of /a/a/b/. At this time, the transition route (path) though which the observed symbol series (aab) can be outputted in the HMM of FIG. 1 is limited to either one of three routes S1→S1→S2 →S3, S1→S2→S2→S3 and S1→S1→S1→S3. The probability that the observed symbol series (aab) is outputted as for each transition route is obtained as following since it is expressed by the product of the symbol-output-probabilities cij and the condition-transition-probabilities aij along the transition route. in case of S1→S1→S2→S3: 0.3×0.8×0.5×1.0×0.6×0.5 = 0.036 in case of S1→S2→S2→S3: 0.5×1.0×0.4×0.3×0.6×0.5 = 0.018 in case of S1→S1→S1→S3: 0.3×0.8×0.3×0.8×0.2×1.0 = 0.01152 Since the probability of outputting the observed symbol series (aab) exists in either one of the above mentioned three transition routes, the sum of those three probabilities as following is the probability (likelihood) of outputting the observed symbol series (aab) in the HMM of FIG. 1. 0.036 + 0.018 + 0.01152 = 0.06552 Incidentally, the greatest value 0.036 of the above calculated three probabilities may be adopted as a representative of the probability of the HMM in a simplified way. By performing the above explained calculation of the probability for all of the HMM registered in the dictionary and by outputting a word corresponding to the HMM which gives the greatest value from among the obtained probabilities as a recognition result, the inputted voice can be recognized. There are (i) the HMM of discrete distribution type in which the symbol-output-probabilities cij changes in a discontinuous manner as shown in FIG. 2A, and (ii) the HMM of continuous distribution type in which the symbol-output-probabilities cij changes in a continuous manner as shown in FIG. 2B. Among those two types, since a quantization error is generated in case of the HMM of discrete distribution type, it is preferable to employ the HMM of continuous distribution type for the voice recognition. As shown in FIG. 2B, in case of the symbol-output-probabilities cij of the continuous distribution type, the probability distribution changes in conformity with the normal distribution. Then, this distribution can be prescribed by the average vector µ and the variance Σ of the symbols. Therefore, in case of the HMM of continuous distribution type, the whole model is described by three parameters of the condition-transition-probabilities aij (refer to FIG. 1), the average vector µ and the variance Σ of the symbols. In order to make the above mentioned HMM as for each registered word, the above mentioned three parameters may be estimated by learning a large number of samples in the population expressing the voice models. As concrete examples of this estimating method, there are various algorithms such as a forward and backward algorithm for example. As for the calculating method for the probability (likelihood) in which the HMM as shown in FIG, 1 outputs the predetermined observed symbol series (aab), there are various algorithms such as the forward algorithm and the Viterbi algorithm for example. Next, the construction of the voice recognizing apparatus of the present embodiment is explained with reference to FIG. 3 and FIG. 4. As shown in FIG. 3, the voice recognizing apparatus of the present embodiment is provided with: a microphone 1; a characteristic feature extraction unit 2 for extracting the characteristic vector, which is a vector of the parameter characterizing the feature of the voice, by analyzing the inputted voice through the microphone 1; a dictionary 3 for storing the HMM as for each word; a probability calculation unit 4 and a judgment unit 5. Incidentally, the voice recognizing apparatus of the present embodiment is expressed by functional blocks thereof, which are realized in a software manner by use of a microcomputer or a DSP (Digital Signal Processor) with a microphone 1 and other components to constitute the whole apparatus. As shown in FIG. 4, a program to function the pattern recognizing apparatus of the present embodiment can be stored in a record medium 200, such as a ROM, a CD-ROM, a floppy disc or the like which is readable by a computer 100. The computer 100 is provided with: a reading device 100a for reading the record medium 200; a display device 100b for displaying various information including the recognition result, and a main body 100c to which the microphone 1 is connected. Then, by installing the program to the computer 100 by use of the record medium 200 so that the computer 100 can perform the installed program, the pattern recognizing apparatus (which includes: a CPU functioning as the characteristic feature extraction unit 2, the probability calculation unit 4 and a judgment unit 5; and a memory functioning as the dictionary 3 shown in FIG. 3) can be realized. In FIG. 3, when a voice is pronounced toward the microphone 1, an inputted voice signal thereof is quarried out for each appropriate window length (i.e., a frame length) by the characteristic feature extraction unit 2, and is converted into the predetermined observed symbol series for each frame length (e.g., 10 dimensional mel-frequency cepstral coefficients) to be outputted to the probability calculation unit 4. The probability calculation unit 4 reads out all of the HMM registered in the dictionary 3 one after another, and calculates the probability (likelihood) of generating the above mentioned observed symbol series as for each HMM. The judgment unit 5 selects the HMM corresponding to the greatest probability from among the calculated probabilities, and outputs it as the recognition result corresponding to the inputted voice. Here, the recognizing process performed by the probability calculation unit 4 and the judgment unit 5 is more concretely explained. The characteristic vectors extracted by the characteristic feature extraction unit 2 are collectively treated as a vector for each frame or for each predetermined number of frames as a unit for processing the inputted voice, to constitute a characteristic vector y. Then, the comparison between each distribution i of the standard patterns of the HMM stored in the dictionary 3 and this characteristic vector y is performed. Here, the dimension number of the vector is represented by N and the number of the distributions i of the standard patterns stored in the dictionary 3 is represented by M. The distributions i of the standard patterns are expressed by the N dimensional average vector µi of each distribution and the N×M dimensional covariance matrix Σi. Then, when performing the comparison between the distribution i of each standard pattern and the characteristic vector y, a probability density function bi is obtained by calculating a following expression. bi(y, µi, Σi) = {1/((2π) π/2 | Σi | 1/2 )} × e -(1/2)Di In the above expression, Di represents a distance between the characteristic vector and each standard pattern, and is expressed by a following expression. Di = (y - µi) t Σi-1(y - µi) Wherein, a mark "t" represents a transposition and a mark "-1" represents an inverse matrix. In order to obtain a recognition result on the basis of the above calculation, the calculation may be performed as for all of the standard patterns in the dictionary 3. At this time, since the terms (y - µi) t and (y - µi) are N dimensional while the term Σi-1 is N×M dimensional and the number of the distributions i is M, the number of the calculations about M ×(N2+N) times is required. Further, as for the memory to store the progress of the calculation, the memory capacity corresponding to this number of the calculation is required. Therefore, if the dimension number N is set large, both of the process amount and the memory amount for the recognizing process are drastically increased, resulting in that it causes a hindrance especially in case that a real time processing is required. In the present illustrative embodiment, in order to solve this problem, the reduction of the processing amount and the memory amount for the recognizing process is realized by the process explained hereinbelow. Namely, at first, an average matrix Σ a as for the M distributions i of the covariance matrix Σi is calculated. Then, when calculating the above mentioned distance Di, the covariance matrix Σi of each distribution is approximately replaced by Σa. Here, since the inverse matrix Σa-1 of the matrix Σa is a symmetrical matrix, it can be taken apart to a product of the N dimensional matrix A as expressed by a following expression. Σa-1 = A t A Therefore, the distance Di can be calculated by a following expression. Di = (y - µi) t Σa-1(y - µi) = (y - µi) A t A(y - µi) = (Ay - Aµi) t (Ay - Aµi) Here, in order to calculate the distance Di in this manner, it is enough to perform the calculation of the term Aµi only in case that the standard patterns in the dictionary 3 are changed. In other words, it is not necessary to perform the calculation of the term Aµi for each recognizing process. Further, it is also enough to perform the calculation of the term A y only once, before performing the comparison between it and all of the M distributions i. Thus, the number of the calculations required to obtain the distance Di is about N2 + M × N times, and that, as for the memory to store the progress of the calculation, only the memory capacity corresponding to this number of the calculations is required. Therefore, both of the required calculation amount and the required memory amount can be significantly reduced in case of not-using the average matrix Σa as compared with the M × (N2 + N) times. Further, as the total number M of the standard patterns and the dimension number N are made the larger, the effect to reduce the calculation amount and the memory amount becomes the larger. In this way, in case that the covariance matrix Σi of each standard pattern is replaced by the average matrix Σa so as to perform an approximate probability calculation, the accuracy may be slightly degraded as compared with the case of performing the strict probability calculation. However, in the covariance matrix in the probability model, since the difference between each distribution is relatively small as compared with the average vector µi for example, it does not give a substantial influence onto the final recognition result in the pattern recognizing process even if such an approximate calculation is performed. This point is experimentally confirmed. In the above described embodiment, it is possible to calculate the average matrix Σa in advance and to stored the calculated average matrix Σa in the ROM etc., so as to use the stored average matrix Σa for the probability calculation by reading it out when performing the recognizing process. Alternatively, it is also possible to calculate the average matrix Σa in a real time manner when the recognizing process is actually performed, so as to use the calculated average matrix Σa for the probability calculation without calculating and storing it in advance. The former method is advantageous since the processing amount is relatively small as compared with the latter method, while the latter method is advantageous since it can flexibly cope with such a case that the amendment or correction of the value of the average matrix Σa is required along with a change of the combination of the standard data or the like. Next, although, in the above described calculating method, only one average matrix of the covariance matrix is obtained with respect to a plurality of standard patterns registered in the dictionary 3, according to the present invention it is possible to obtain a plurality of average matrixes. More concretely, the distributions i of the standard patterns are classified into K classes (K < M) in dependence upon the respective characteristic features, and obtain the average matrix is obtained for the covariance matrix in each of the classes, so as to finally calculate the distance Di by use of the average matrix in each of the classes. By this, the number of the calculations required to obtain Di is about K×N2+M×N times, and that, as for the memory to store the progress of the calculation, only the memory amount corresponding to this number of the calculations is required. Therefore, although the effect to reduce the calculation amount and the memory amount is made slightly smaller than the case of obtaining just one average matrix, the accuracy of the probability calculation can be improved. Consequently, it is preferable to employ this calculation method especially in case of performing the pattern recognition, which is special and to which the high accuracy is required. Incidentally, the present invention is defined in the appended claims. The program to function the pattern recognizing apparatus of the present embodiment can be stored in a record medium 200 (refer to FIG. 1), such as a ROM, a CD-ROM, a floppy disc or the like which is readable by a computer 100. Then, by installing the program to the computer 100 by use of the record medium 200, so that the computer 100 can perform the installed program, the above described pattern recognizing apparatus can be realized.

Claims: A pattern recognizing method of recognizing an input voice pattern by using a probability model, in which each of a plurality of standard patterns is expressed as a probability distribution defined by an average vector and a covariance matrix respectively, said pattern recognizing method comprising the steps of: classifying the standard patterns into a predetermined number of classes; for each of the classes, calculating an average matrix of the covariance matrices of the standard patterns in the class; extracting a characteristic vector which indicates a characteristic feature of the input pattern; performing a comparison based on a probability calculation between the extracted characteristic vector and respective one of the standard patterns by using the average matrix of the class to which the respective one of the standard pattern belongs as the covariance matrix for the respective one of the standard patterns; and recognizing the input pattern on the basis of a result of the performed comparison. A pattern recognizing method according to claim 1, wherein the input pattern comprises a pattern of a pronounced voice which is indicated by an input voice signal inputted through a microphone (1). A pattern recognizing method according to claim 2, wherein in the extracting process, the input voice signal is analyzed for each window length, and is converted into an observed symbol series for each window length. The pattern recognizing method according to any one of claims 1 to 3, wherein said method further comprises a process of calculating the average matrix in advance and storing the calculated average matrix, wherein in the performing process, the comparison is performed by using the average matrix stored in the calculating process. The pattern recognizing method according to claim 4, wherein the calculating process is performed when at least one of the plurality of standard patterns is changed. A pattern recognizing apparatus for recognizing an input voice pattern by using a probability model, in which each of a plurality of standard patterns is expressed as a probability distribution defined by an average vector and a covariance matrix respectively, said pattern recognizing apparatus comprising: a classifying device arranged to classify, in use, the standard patterns into a predetermined number of classes; a calculating device arranged to calculate, in use, for each of the classes an average matrix of the covariance matrices of the standard patterns in the class; an extracting device (2) arranged to extract, in use, a characteristic vector which indicates a characteristic feature of the input pattern; a comparison performing device (3, 4) arranged to perform, in use, a comparison based on a probability calculation between the extracted characteristic vector and respective one of the standard patterns by using the average matrix of the class to which the respective one of the standard pattern belongs as the covariance matrix for the respective one of the standard patterns; and a recognizing device (5) arranged to recognize, in use, the input pattern on the basis of a result of the performed comparison. A pattern recognizing apparatus according to claim 6, wherein said apparatus further comprises a memory device (3) for storing the average matrix which is calculated in advance. A pattern recognizing apparatus according to any one of claims 6 or 7, wherein said apparatus further comprises a memory device (3) for storing the standard patterns which are prepared in advance. A pattern recognizing apparatus according to any one of claims 6 to 8, wherein the input pattern comprises a pattern of a pronounced voice which is indicated by an input voice signal inputted through a microphone (1). A pattern recognizing apparatus according to claim 9, wherein, in the extracting device (2), the input voice signal is analyzed for each window length, and is converted into an observed symbol series for each window length. A program storage device (200) readable by a computer (100) for a pattern recognition, tangibly embodying a program of instructions executable by said computer to perform method processes for recognizing an input voice pattern by using a probability model, in which each of a plurality of standard patterns is expressed as a probability distribution defined by an average vector and a covariance matrix respectively, said method processes comprising the steps of: classifying the standard patterns into a predetermined number of classes; for each of the classes, calculating an average matrix of the covariance matrices of the standard patterns in the class; extracting a characteristic vector which indicates a characteristic feature of the input pattern; performing a comparison based on a probability calculation between the extracted characteristic vector and respective one of the standard patterns by using the average matrix of the class to which the respective one of the standard patterns belongs as the covariance matrix for the respective one of the standard patterns; and recognizing the input pattern on the basis of a result of the performed comparison. A program storage device (200) according to claim 11, wherein the input pattern comprises a pattern of a pronounced voice which is indicated by an input voice signal inputted through a microphone (1). A program storage device according to claim 12, wherein, in the extracting process, the input voice signal is analyzed for each window length, and is converted into an observed symbol series for each window length.

Inventors: FUJITA IKUO, FUJITA, IKUO, Fujita, Ikuo, c/o Pioneer Electronic Corp.
Applicants: PIONEER ELECTRONIC CORP, PIONEER ELECTRONIC CORPORATION
Application year: 1999
Main classification: G10L15
IPC codes: G10L15