CA1195779A - Pattern recognition apparatus and method for making same - Google Patents

Pattern recognition apparatus and method for making same

Info

Publication number
CA1195779A
CA1195779A CA000426327A CA426327A CA1195779A CA 1195779 A CA1195779 A CA 1195779A CA 000426327 A CA000426327 A CA 000426327A CA 426327 A CA426327 A CA 426327A CA 1195779 A CA1195779 A CA 1195779A
Authority
CA
Canada
Prior art keywords
vector
input
category
reference vectors
vectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000426327A
Other languages
French (fr)
Inventor
Kenichi Maeda
Tsuneo Nitta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to CA000426327A priority Critical patent/CA1195779A/en
Application granted granted Critical
Publication of CA1195779A publication Critical patent/CA1195779A/en
Expired legal-status Critical Current

Links

Abstract

PATTERN RECOGNITION APAPRATUS
AND METHOD FOR MAKING SAME
ABSTRACT
A pattern recognition apparatus is provided including a vector generating unit for generating an input vector representing the charac-teristics of an unknown input pattern, a dictionary unit which stores a plurality of reference vectors for each category, a similarlity calculat-ing unit which calculates a similarity between the input vector and a plurality of reference vectors for each category, a comparing unit which determines the category to which the input pattern belongs by comparing the similarities derived from the similarity calculating unit, and an additional dictionary generating unit which generates additional reference vectors for a particular need or application.
The additional dictionary generating unit generates an additional reference vector obtained by subtracting the components of at least common reference vectors, in the specified category, from the input vector. The additional reference vector is stored in the storage area within the additional dictionary memory corresponding to a specified category.

Description

l~9S7 ~

PATTERN RECOGNITION APPARATVS
AND METHOD FOR MAKING SAME
BACKGROUND OF THE INVENTION
This invention relates to an apparatus and method for recog-nizing input patterns such as voice patterns and character patterns.
Pattern recognition is gaining more acceptance as a fundamental tech-nique for inputting information into computer systems. One method called the similarity method or psttern matching method is a well-known pattern recognition process and is widely utilized in the field of charscter recognition. Several different similarity methods are known, including the simple similarity method, multiple similarity method and mixed similarity method.
The simple similarity method utili2es a single separate reference pattern, for each category, represented by a vector which is stored in a dictionary memory. A single referenee pattern corresponding to each designated category represents, for example, fl certain character or voice pattern to be identified That is, one category c~n consist of the letter (A), another category can consist of lower case letter (a).
In voice recognition, separate categories ~an eonsist of the respective sounds for pronouncing each of the vowels ~a9 e, i, o and u). These reference patterns are then compared with the vector representations of the patterns to be identified (i.e., input patterns) to determine its numerical value of similarity. A high value oî similarity indicntes that the input pattern is identical or nearly identical to the reference pat-tern. In particular, the simple similarity method ~an be performed as follows. First, signals representing the input pattern ars~ sQmpled and these discrete sampled values are stored as vector components of ~he ~95~

input signal. This input vector is then compared with the vectors representing each category. A numerical value of similarity is then calculated for each category which indicates the degree of similarity between the input pattern and the reference pattern for each category.
Second, the maximum value of similarity is determined from all the calculated values; this value thus identifies the c~itegory to which the input patterns belong.
This simple similarity method has an advantage in that the design of the dictionary of reference patterns can be easily automated, and is not greatly affected by such local noise as stain or scratches in the patterns. It is liable to be affected adversely, however, by such overall ehanges in the patterns which occur in handwritten letters or voice patterns. That is due to the wide variation in handwriting and voice patterns or pronounciations, more deformations in the input pat-tern can occur. Thus, it is impractical to represent each category by a single reference pattern.
Consequently, other methods have been devised to recogni~e the input pattern in view of such wide deformations. One such method is the multiple similarity method as disclosed in l~.S. Patent No.
3,688,267 and the mixed similarity method as disclosed in U.S. Patent No. 3,906,446.
According to the multiple similarity method, a plurality of reference pattern vectors are created for each eategory. The multiple similarity for a certain c~tegory is defined ~s the sum of the square root of the values of simple similarity between the input pattern and every reference pattern in the same CQtegory. As in the case of si~-ple similarity discussed above, recognition is carried out as follows.
First, signals representing the input pattern are sampled and these dis-crete sampled values are stored as vector components of the input sig-nal. This input vector is then compared wi~h each reference pattern vector in the same category. A numerical value of similari~y is then calculated for each comparison; the sguare root of these values are r~;J ~

then summed to provide a multiple similarity value for each category. Second, the maximum value of similarity is detec-ted from all calculated values; this value thus ider.tifi~s the catego-y to which the input pattern belongs.
In the case of mi.Yed similarity, the procedures discussed above for multiple similarity are employed. In addition, the similarity values for mutually similar reference patterns are identified and substracted to provide even more accurate iden--tification.
The above-described multiple similarity and rnixed similarity methods are useful to recognize patterns capable of having numerous variations or overall deformations. How-ever, the conventional systems employing such methods require storage of numerous reference patterns to provide suffici~nt 15 data to accurately identify and recognize various input patterns. In fact, it is very costly and time consuming to com-pile the necessary data.- Not only is an unduly large memory capacity needed, but excessive computer time is required to calculate the numerous matrix calculations needed to analyæe and compare the various stored reference pattern data and input patterns. Consequently, preparation and computation of reference patterns stored in a computer memory for achieving complete and accurate recognition of patterns subject to various deformations have been impractical. As a result, many systems have been developed with a limited reference pattern storage to avoid the cost and incident problems discussed above; consequently, misrecognition has frequently occurred when input patterns sub-ject to various deformations have been applied. The industry, therefore, has required a system which can easily be adapted and tailored for special and individual needs without develop-ing an unduly large common memory of reference patterns.
SUMMARY OF THE INVENTION
It is therefore an object of an aspect of the invention to provide a new and improve pattern recognition apparatus and method.

~3 ' j~77~3 It is an object of an aspec. of the invention to pro~Jide a new and improved recognition apparatus and method capable of recognizing, with high accuracy, patterns capable of having various deformations.
It is an object of an aspect of the invention to provide a new and improved pattern recognition apparatus and method with an improved dictionary to thereby provide accurate recognitio~
for patterns which were once misrecogni~ed.
An object of an aspect of the present invention is to provide a flexible pat-tern recognition system which can be easily tailored to many applications without the necessity of constructing a costly and unduly large common memory of reference patterns.
An object of an aspect of the present invention is to accurately identify input patterns capable of various deforma-tions without requiring excessive matrix calculations and computer time.
Various aspects of the invention are as follows:
A pattern recognition apparatus for identifying the cate-20 gory of an input pattern from various categories of valuepatterns stored in the apparatus comprising: a vector generating means for converting an input pattern signal to an input vector representing the characteristics of the input pattern; a dictionary means for storing a plurality of reference vectors for each of said various categories, including a first memory means for storing a plurality of first reference vectors for each of said categories and a second memory means for storing a plurality of second reference vectors for each of said categories; a reference vector generating means for generating 30 said second reference vectors from the input vector and for storing them in said second memory means, said reference vector generating means generating said second reference vectors by subtracting from the input vector a vector having components corresponding to the angles between the input vector and each ~ '>'7~

- 4a -of said first reference vectors; a similarlty calcula-ting me2ns for calculating the similarities between said input vector and reference vectors stored in said dictionary means for each of of said categories; and a comparing means for comparing the 5 similarities calculated for each of said categories and :Eor identifying the category of the input pattern.
A pattern recognition apparatus for identifying the cate-gory of an input pattern from various categories of reference patterns stored in the apparatus, comprising: a vector genera-10 ting means for converting an input pattern signal to an lnputvector representing the characteristics of the inpu~ pattern;
a dictionary means for storing a plurality of reference vectors for each of said various ca~egories, including a first memory means for storing a plurality of first reference vectors for 15 each of said categories and a second memory means for storing plurality of second refe`rence vectors for each of said cate-gories a reference vector generating means for generating said second reference vectors from the input vector and said first reference vectors and for storing them in said second 20 memory means, said second reference vectors representing characteristics which are specific to said input pattern; a similarity calculating means for calculating the similarities between said input vector supplied from the vector generating means and reference vectors stored in said dictionary means 25 for each of said categories, said similarity calculating means co~prising a scalar product calculating means for calculating the scalar product between the input vector and each of said reference vectors, a squaring means for squaring each output of said scalar product calculating means, and an adding means ~0 for adding each of said squared outputs; and a comparing means for comparing the similarities calculated for each of said categories and for identifying the category of -the input pattern.

~3 -4b-In a pattern recognition system for identi'ying the cate-gory of an input pattern from varlous categories of reference patterns stored in the system including means for generating an input vector representing the characteristics of the lnput 5 pattern to be identified, a dictionary means for storing sets of reference ~ectors each set representing the characteristics of a particular category of reference patterns, a similarity calculating means for determining the similarities for every category by calculating the squared scalar products between 10 the input vector and each set of reference vectors, a comparing means for comparlng the category to which the input pattern belongs by comparing said calculated similarities and a reference vector generating means for generating an additional reference vector which is added to the set of reference vectors 15 previously stored, the system having a recognizing mode wherein an unknown input pattern is identified and a learning moc'.e wherein the reference vector generating means is energized, the method of generating said additional reference vector during the learning mode comprising the steps of: supplying said 20 input vector to the reference vector generating means; specifying the category to which the additional reference vector belongs;
transferring the sets of reference vectors of the specified category from the dictionary means to the vector generating means;obtaining said additional reference vector by removing 25 components of the transferred reference vectors from the supplied input vector; and storing the additional reference vector in the dictionary means as one of the reference vectors of the specified category.
By way of added explanation, according to an aspect oi-30 the invention, there is provided a pattern recognition apparatus including a vector generating unit for generating an input vector representing the characteristics of an unknown input pattern, a dictionary unit which stores a plurality of reference - 4c -vectors for each category, a similarity calculating I- t which calculates a similarity between the input vector anl a plurality of reference vectors for each category, a compar-ns unit which determines the cateyory to which the input pattern belongs by comparing the similarities del-ived from the simi-larity calculating unit, and an additional dictionary generatiag unit which generates additional reference vectors for a particular need or application.
The vector generating unit comprises an input unit or converting the unknown input pattern into electrical signals, and a pre-processing unit receiving the electrical signals ancl generating the input vector which represents the characteristics of the unknown input pattern.
The dictionary unit has a common dictionary memory for storing common reference vectors previously prepared and an additional dictionary memory for storing additional reference vectors generated by the additional dictionary generating uni-t.

~3S~

The s;milarity calculating unit calculates similarities between the input vector ~nd reference vectors stored in both the c~mmon and additional dictionary for each cstegory. The similarity for eaeh cate-gory is calculated as follows. First, scalar (inner) products between the input vector and each of the common reference vectors belonging to each category are calculated. The scalar products thus obtained are squared. The squared scalar products ~re summed to provide a first sum. Second, scalar products between the input vector and each additional reference vector corresponding to each category are calcula-ted. These scalar products are likewise squared. Then these second squared scalar products are summed to provide a second sum. The similarity for each e~tegory is obtained by adding ehe first sum and the second sum for each category.
The additional dictionary generating unit generates an additional reference vector obtained by subtracting the components of nt least common reference vectors, in the specified category, from the input vector. The additional reference vector is stored in the storage area within the additional dictionary memory corresponding to a specified category.
Thus, it is possible to satisfy the objective mentioned above.
Other objects and features of this invention will be apparent from the following description read in connection with the accompanying draw-ings.
BRIEF DESCRIPTION OF T~IE DRAWINGS
Figure 1 is a block disgram of the pattern recognition apparatus showing an embodiment of this invention.
Figure 2 is a block diagram of the input unit and pre-processing~
unit of Figure 1.
Figure 3A is a block diagram of the similsrity c~lculating uni~
of Figure 1.
Figure 3B is a diagram of the c~lculHtor 52-1 of Figure ~A.

57 7~

Figure 3C is a diagram of the calculator 53-1 of Figure 3A.
Figure 3D is a diagram of the absolute value squaring circuit 54 of Figure 3A.
Figure 4 is A block diagram of the comparing unit of Figure 1.
Figure 5A is a block diagram of the additional dictionary gener-ating unit of Figure 1.
Figure 5B is a flow chart showing the operation of the addi-tional dictionary generating unit of figure 5A.
Figure 5C is a block diagram of the vector generator 70 of Figure 5A.
Figure 6 is another embodiment of a pre-processing unit of Figure 1.
Figure 7 is a flow chart showing another operation of the addi-tional dictionary generating unit of Figure 5A.
DETAILED DESCRIP~ION OF T}3E PREFERRED EMBODIMENT
Figure 1 shows the preferred embodiment of the apparatus according to the present invention for recogni~ing voice patterns. A
theoretical explanation will be given with reference to Figure 1 in order to clarify the features of the inven~ior..
Input unit 1 converts an input voice into electrical signals and is then converted into a pattern vector in a pre-processing unit 2. The input pattern vector (hereinafter indicated by F) represents the charac-teristics of the input voice signal. The vector F consists of N number of components fi ti=1,2, --,N), each component, for example, being a frequency spectrum component of the input voice.
A common dictionary memory 3 stores Q plurality of reference vectors for each category which have been previously prepered as reference patterns for permitting multiple or mixed ~imilarity as mentioned above. A category ~ ( ~ =1,2,---L) which is a subject of recognition includes a set of reference5 vectors indicated by [0m~)] or indicated individually by vectors Plt~), 02(Q), -~0M(~ The value ) is the number of reference vectors in the c~tegory ~ . Each 7~

reference vector consists of N number of components; ~h~t is, the same dimension ss input vector F. The vectors in this category shou~d preferably satisfy an orthogonal relstion given by the following formula:
(0m( )~ ~m'( ~ ~ O (m~rn') (m, m=1,2,~
where (13m(~)~ 0m'(~ ) denotes a scalar (i~ner) product between vectors 0m(Q) and 0m'(~) Based upon this formula, the number of reference vectors required to represent a given category is minimized so that the size of the common dictionQry memory 3 is reduced.
An additional diction~ry memory 4 stores a plurslity of ~ddi-tional reference vectors which are generated by sn additional dictionary generating unit 7 described later. The set of additional reference vec-tors for the ~ategory ~ is indicated by ~tJ n(Q) ~ and each additional reference vector is indicated by ~ 2(~), --,~N(e)( ), where N
is R number of additional reference vectors for the category ~ stored in memory 4. 5imilar to veetor F, each additional reference vector also consists of N number of components.
A similarity calculating unit 5 cQ]culates similarities for individual categories. The calcul~tion of a similarity for one c8tegory includes three steps. In the first step, the similarity S[F3(~ ) between the input vector F ~nd reference vector 0m(Q) of cstegory.Q is cal-t~ulated as follows~
Q (Q~ t~)) I IF/ ~ (1) In lhis equstion, tF, 0m~)) denotes a scalar product between vectors Fand ~rn(Q). am(~) (m=1,2,--,M(~)) denotes a coefficient corresponding to the vector 0m(~) (m=1,2,--,M(~)), and ~ F¦ is the absolute value of the input vector F defined as follows:
IFI 2 = (F,F) Further, each reference vector 0m(~ ) is normalized so that g ~

in equation (1). According to the conventional multiple or mixed similarity method mentioned above, similarities for all categories obtained by equation (1) are compared with each other to determine the category to which the input pattern belongs.
In the second step, the similarity calculating unit 5 of this invention further calculates the similarity S'[F](~) between the input vector F and additional reference vectors ~Q~ which are generated by an additional dictionary generating unit ~ . The similarity S'[F](Q) is calculated as follows~

SL~ = (2) In this equation, bn(~)(n=1,2,--,N( Q)) denotes a coefficient corresponding to the vector~n(~)(n=1,2,--N(~)), and each additional reference vector n(-Q) is normalized so thst ~Y~n(~
In the third step, unit 5 calculates the summed similarity T[F]
of the input vector F for each category as follows:

~r[F] = S[F] l S [F] (3) The similarities T[F](l)~ T[F](2)~--, T[F](L) for each category are supplied to a comparing unit 6. Comparing unit 6 detects the maximum value among the L summed similarities T[F~ 1,2,--,L), and determines the category to which the input pattern belongs.
Comparing unit 6 produces an output signal representing Q name or code of the category. In some cases wherein the maximum similarity is very close to another similarity, comparing unit 6 produces an output reject signal which establishes that the apparatus cannot recog-nize or identify the input pattern. The output of comparing unit 6 is preferably displayed c~n a display unit 8 in order to show the result to an operator.
The additiona] reference vectors ~ n(Q) are genera~ed in addi-tional dictionary unit 7 in the following manner. Assume that the 7~

input pattern belongs to the category A, and that this input contains a deformation, for example, a deformation, representing a peculiarity in the operator's pronounciation. Upon being supplied with and an input pattern, similarity calculating unit 5 might produce an output indicating that a similarity S[F](B) for another category (i.e., incorrect category B) is greater than the similarity S[F~(A) for the correct category A as shown by the following expression:
S[F] ~ S~F]~A) In that SitUQtiOn~ the additional dictionary unit 7 is manually or auto-matically energi7ed ~nd generates an additional vector ~ (A) in accord-ance with the following formula:

(Q) F~ (A)) 7F~ F~

Equation (4) shows that the additionfll vector ~(A) is obtained by calculations using input vector F, previously recognized as an incor-rect category, and reference vectors [0m(A)]~ The vector thus obtained is stored in the additional dictionary memory 4 as one of the addi-tional vectors belonging to the ¢ategory A ti.e., ~orrect category). In other words, vector ~l(A) represents a v~ctor wherein the particular deformation components of the reference vectors of category ~ are removed from the input vector F. The vector Y11(A) given by the equation (4) satisfies the orthogonal relationship with vectors [0m(A)]~
and IY)1(A)I =1. After storing additional YeCtOr ~l(A) into the addi-tional dictionary memory 4, the similarity calculating unit 5 calculates the similarity T(F)(A) for category A in accordance with equation (3).
The similarity T(F)(A) is now found to be greater than S(F)~A) to the extent calculated from equation (1) by th~ amount b'~' c~
. .
¦ ~ ¦ ?

~ ~ ~3~776~

Therefore, it is possible to make the similarity T(F)(A) for category Agreater than the similarity T(F~) for the category B by giving coeffi-cient b1(A) an appropriate positive value. Thus, input patterns includ-ing particular deformations can be corectly recognized and proper c~te-gories identified by storing the ~dditional vectors into the proper cate-gories of additional dictionary memory 4.
It is also possible, if desired, to store an additional vector ~) l(B) into category B instead of category A. In this casel the fldditiona~
dictionary ~enerating unit 7 generates the vector ~Vl(B) as follows:

~ ) ~
I F- ~ ~F, cp(~) (p~,~)/

Vector ~l(B) is stored in Hdditional dictionary memory 4 ~s one of the additional vectors belonging to the c~tegory B. Vector ~1(B), given by equation (5), also satisfies the orthogonal relationship with vectors [0m(B)], and ~ (B)¦ =1.
After the storage of vector ~1(B)~ the similarity for the cate-gory B is calculated by the unit 5 in accordance with equation (3). It differs from the similarity which would result without the calculation and storage of Y)1(B) by the amount \~1 ~3 ~ 7~7~

Therefore, it is possible to make the similarity T F)( ) for the category B smaller than the similarity T(F)(A~for the category A by giving coefficient bl( an appropriate negatlve value. Further, it may also be desirable t-o ~enerate two 5 vectors ~ 1(A), ~ l(B) according to equatLons (4), (5), and store both vectors in the additional dictionary memory ~1.
The apparatus, according to ~igure 1, has two different operation modes, mode I and mode L.. ~ode I performs an identifi-cation or recognition process where unknown input patterns are 10 recognized, mode L performs a learning or storing process where additional reference vectors are generated and stored in the additional dictionary memory so that the system can be tailored to special needs or applications.
Fi~re 2 shows the configuration of the input unit 1 and 15 pre-processing unit 2 in Figure 1. Those elements are similar to the ones disclosed in a European patent application published November 3, 1982 under No. 0063765. A microphone 11 converts the voice signals uttered by the operator into electrical signals. The electrical signals are amplified by the amplifier 20 12 and supplied to an A/D converter 13. A/D converter 13 converts the electrical signals into digital signals, for example, every lûOusec. The digital signals are supplied to band pass filters (BPFl - BPF16), each consisting of well known digital filters .and extracting the frequency spectrum components in 25 different frequency ranges. The output of each bandpass filter is supplied to squaring circuits 22. Each squaring circuit squares the output of the corresponding bandpass filter in order to ob-tain the energy component of the input voice.
The output of each squaring circuit 22 is supplied to low 30 pass filters 23; each low pass filter comprises well known digital filters for obtaining the total energy components corresponding to each frequency range. The output oE each low pass filter 23 is stored in an input vector register 24 as respective components fn(n=1,2,-,16) of input vector F. Thus, input vector F, repre-35 senting the characteristic of the input pattern, in extractedas a distribution of energies.

3~7~

Figure 3A shows the configuration of the similarity calculating unit 5. Shown is L number of similarity calculflting circuits 50-1, 50-2, ---, 50-Q, ---, 50 L, each corresponding the the category 1, 2, --, Q, --, L. Since each circuit consists of the same configura-tion, only circuit 50-1 is shown in detail in Figure 3A.
When the system is in mode 1, the input vector F, stored in register 24, is supplied to a buffer register 51. The content of buffer register 51 is supplied ~o each circuit 50-1, --, 50-L. Also supplied to circuit 50-1 are reference vectors [0m(~)] and coefficients [am(~)]
which are stored in memory area 31 of the common dictionary memory 3 and corresponding to c~tegory ~, ~nd additionfll reference vectors [l~pn(~)] and coefficients [bnt~1] which are stored in a memory area 41 of the additional dictionary memory 4 and corresponding to category Q .
Circuit 50-~ includes M(~) number of calculators 52-1, ~, 52-M(Q), each having the same configuration. Calculator 52-1 is shown in Figure 3B, as receiving input vector F, reference vector 01~) ancl coefficient al(~). A scalar product circuit 522 calculRtes the scalar product between input vector F ~nd the reference vector ~ )- The output of the scalar product circuit 522 is applied to a squaring cir-cuit 523. The squaring circuit 523 squares ~nd output of scalar pro-duct circuit 522. The output of squaring circuit 523 is supplied to a multiplier 524 for multiplying this output by the coefficient a~
The output of multiplier 524 is thus a1(~)(F,01(~)). Other calculators 52-2, --, 52-M(~) have the same configuration as calculator 51-1.
Circuit 50-1 also includes Nmax number of calculators 53~
53-Nmax, where Mmax is a maximum number of Qdditiona] reference vectors capable of being stored in memory area 41. Cslculator 53-1 is shown in Figure 3C, as receiving input vector F, reference vector Q) and coefficient bl(~). A scalar product circuit 532 calculates the scalar product between the input veetor P ~nd the reference vec-tor (~ ). The output of the scalar product circuit 532 i5 supplied to a squaring circuit 533. Squaring circuit 533 squares the output of 77~3 scalar product circuit 532. The output of sqUQring circuit 533 is supplied to a multiplier 534 for multiplying this output by the coeffi-cient bl(~); the output of the multiplier 534 is thus bl~)(F,~l(~)).
Other calculators 53-2, --, 53-Nmax have the same configuration as calculator 53-1. The outputs of the calculators 52-1, --, 52-M(~) and calculators 53-1, --, 53-Nmax are supplied to the adder 55, and their sum is thereby obtained.
The output of adder 55 is ~Q) ~Q) ~ Q))`
~ 3 1 where N(l~) is the number of additional reference vectors stored thus far in the additional memory for the c~tegory ~. While the memory area 41 of the additional dictionary memory 4 is capable of storing Nmax number of additional reference veetors and eoefficients, the residual area of the memory area 41, not being used, stores all zeros.
Circuit 50-1 further includes an absolute value squaring circuit 54 and a divider 56. Absolute value squaring circuit 54 comprises a sca-lar product circuit 542 as shown in Figure 3D. The scalar product circuit 542 calculates the scalar product of two inputs; in îhis case, since the same input vector F is supplied, ¦F¦ 2=(F, F). Divider 56 divides the output of the adder 55 by the output of the absolute value squaring circuit 54; as R result, the output of divider 56 is the simi-larity T(F) for the category and is obtained as follows:

T(~ Jr ~ b(e) (~ ) ~,, ~,, 77~

Thus, circuits 50~ -, 50-L calculate the similarities T(F)( T(F)(L)~ and supply them to the comparing unit 6.
The block diagram of comparing unit 6 is shown in Figure 4.
The similarities T(F)(~ , T(F)(L) are supplied to an editing circuit 61. Circuit 61 pairs each calculated similarity with a category name (code) obtained from the c~tegory code generator 63, and arranges the pairs in order according to the magnitude of the similarity. Then the ordered pairs are stored in a memory 62. Now, it is assumed that the category code which gives the maximum value T(F)(A) of the simi-larities is A and that the category ~ode which give the second largest value T(F)(B) of the similarities is B.
A decision logic 64 circuit determines the category to which the input pattern belongs by analyzing the contents of memory 62. For example, predetermined threshold values ~1 and 92 are stored in deci-sion logic eircuit 64. Decision logic circuit 64 receives the maximum value T(F)(A) and the second largest value T(F)(B) from memory 62 and compares T(F)(A) with al. In particular, it determines whether T(F)(A) is larger than the predetermined value ~1, that is:
T(F)(A)aBl (6a~
and also compares whether the difference between T(F)(A) Qnd T(F)(~3) is larger than the predetermined value ~2, that is:
T(F~(A) - T(F)(B)~02 (6b) When the equations (6a), (6b) are satisfied, decision logic circuit 64 determines that the input pattern whose characteristics are represented by the input vector F belong to the CAtegOry A and outputs the c~te-gory code A as a r ecognition result. If one of the ~quations (6a), (6b) is unsatisfied, decision logic circuit 64 outputs 8 reject signal indicat-ing that the category cannot be determined.

~3S7~

The outputs of decision logic are supplied to the display unit ~, which comprises a well-kno~vn CRT display device and displays the result to the operator. If the operator sees that the input voice pat-tern is rejected, he can utter the voice pattern again. If the operator finds that the recognition result is incorrect (i.e., the input pattern was misrecognized7 or that the particular voice pattern was rejected several times) he will push a mode key tnot shown) on keyboard 9.
Upon pushing the mode key, the system is set to mode L (Learning mode) in accordance with the following embodiment whereby sn addi-tionsl dictionary generating process is performed.
~ igure 5A shows the configuration of the additional dictionary generating unit 7. As shown, a signal is generated by the keyboard 9 in response to pushing of the mode key. This sets a mode flipflop 71 corresponding to mode I. while the reset condition of mode flipflop 71 corresponds to mode 1. Unit 7 includes a controller 72 comprising, for example, a micro-computer. Controller 72 operates according to the flow chsrt shown in Figure 5B. Controller 72 checks mode flipflop 71 to determine whether it is in a set or reset condition. When the mode flipflop 71 is in the reset condition (mode 1), controller 72 repeats the checking process. If controller 72 detects that mode flip-flop 71 is in the set condition (mode L~, it executes an additiona~ dic-tionary generating process ss outlined in Figures 5A and 5B.
During the first step, the operator inputs from keyboard 9 a category code for the additionsl reference vector he desires to store.
Preferably, a ~nessage indicating that a cstegory code is needed is sent to the display unit 8 via line 77. ~esponding to the message com-mand displayed on unit 8, the operator inputs the desired categol y code. According to the key operation by the operator, keyboard 9 supplies the selected category code (hereinafter designAied as A) to controller 72 via line 76.
During the second step, controller 72 by referring to ~n address table memory 73 fetches the necessary dats and supplies it to a ~''3~7 vector gener~tor 70 and coefficient calculator 74. Address table memory 73 stores ~n ~ddress table whose data format is shown below:
L ~ I ~ V1 ~ DZ ¦ N(e~
wherein, field ~ : category code (name) ~ .
field ADl : start address of the memory are~ 31 in the common dictionary memory 3 corresponding to the category .
field M(Q): the number of reference vectors 0m(~) for the category ~ .
field AD2 : start address of the memory area 41 in the additional dictionaiy memory 4 corresponding to the category ~ .
field N(~) : the number of additional reference vectors n(~) for the category ~ previously stored.
Controller 72 searches address table memory 73 and obt~ins each field corresponding to category code A. Controller 72 fetches data within the memory area of the common diction~ry memory 3 design~-ted by the field ADl, including reference vectors ~ m(~)~ and coefficients am(~). It also fetches d~ta within the memory area of the additional dietionary memory designated by the field AD2~ including sdditional reference vectors ~ n(~) ~nd coefficients b~ . It also fetches the input vector F from register 24. Then, controller 7 2 sup-plies input vector F, reference vectors 0m(~), and additional reference vectors ~) ntQ) to vector generator 70, while supplying the coefficents am(~), bn(~) to the coefficient calculator 74.
During the third step, vector generator 70 generates a new addi-tional reference vector(~)X(A) ~nd calculator 74 gener~tes a coefficient bX(A). Fig. 5C shows the configurRtion of the vector generator 70.
Register 701 stores the input vector F supplied by conItroller 72.
Register 702-1, ---, 702-M' store the reference vectors ~)m(A) and ~ ~ ~5~7 ~3 additional reference vectors ~ n(A) supplied by controller 72. The number ~1' of the registers 702~ , 702-M' is selected ~s follows:
M' = MmaX + NmflX - 1 where i~maX is the maximum value among M( ~ =1,2,---,L)9 and NmaX is the number of additional reference vectors which can be stored in the additional dictionary memory 4. Since the number of reference vectors 0m(A) and ~dditional reference vectors l~) n(A) fetched by controller 72 is MtA) ~ N(A), and M(A) + N(A)C M', con-troller 72 supplies not only the reference vectors and ~dditional reference vectors to the M(A) ~ N(A) number of registers but also "0"
to the residual registers, Vector generator 70 fllso includes scal~r pro-duct circuits 703-1, --, 703-M' (Fig. 5C). Each scalar product circuit calculates a scalar product between the input vector F in register 701 and corresponding reference vectors and additional reference vectors.
There is also provided discrete groups of multiplier circuits 70~-1, ---, 704-M', each corresponding to respective scalar product circuits 703-1, --, 703-M'. Each multiplier group consists of the number of mul-tipliers equaling the number of components of the vector. For exam-ple, multiplier 704-1 consists of 16 multipliers, each multiplying the output of the scalar product circuit 703-1 by a respective component of the reference vector 01(A) in register 702-1.
The outputs of the multiplier groups 704-1, ~, 704-M are sup-plied to a group of adder circuits group 705, consisting of 16 discrete adder circuits. Each adder of adder group 705 calculates the sum of M' inputs which are the multiplied output of multiplier groups 704 and the same component order of the vectors. For ex~mple, the first adder circuit adds the first multiplied component of multiplier 704-1, the iirst multiplied component of multiplier 704-2 etc. The output of adder group 705 is indicated by ~ vector D and is given byO

7~

As can be seen from eguation (7), vector D has components corresponding to the angles between input vector F and each of the reference vectors. For example, 8S known from vector mathematics (F,0m(A)) = ~F¦ ¦0rr~J Cos ~ where ~ is the angle between F &nd (A)~
A subtr~ctor group 706 subtracts vector D from the input vector F in register 701. The output of subtractor gr~up 706 is supplied to an absolute value circuit 707 and a divider circuit group 708. The absolute value circuit 707 comprises an absolute value squaring circuit.
Thus, circuit can comprise a scalar product circuit, such as the circuit shown in Fig. 3D, and a square root circuit for calculating the square root of the output of the scalar product circuit. The divider circuit group 708 divides the output of the subtractor circuit group 706 by the output of the flbsolute value circuit 707, and the result is supplied to a register 709. The content of register 709 is the additional vec-tor ~ x(A), which is given by:

x(A) = F - D (8) tF - Dl This additional vector YX(A) generated by vector generator 70 satisifies an orthogonal relationship not only with reference vectors 0m(A) but also with additional vectors ~ n(A) previously stored in additional dictionary memory 4. Equation ~4) shown above, is obt&ined by substituting N(A) = 0 in equations (7), (8).
The coefficient calculator 74 detects the maximum value CmaX
and the minimum value Cmin from the coefficients am(A), bn(~) sup-plied by controller 72, and determines the coefficient bX(A) as follows:
bX(A) = CmaX ~ Cmin During the fourth step, controller 72 receives vector YJX(A) îrom vector generator 7Q and writes it into the memory area in the ~9~7~7~

additional dictionary memory 4 corresponding to category A as an additional reference vector~ 3 . Controller 72 also receives coeffi-cient bX(B) from tt)e coefficient calculator 74 and writes it into the memory area in the additional dictionary memory 4 corresponding to category A as coefficient b~ . During the last step, controller 72 increments the content of the field N(A) of address t~ble memory 73 corresponding to category A, and supplies a reset signal to the mode flipflop 71 via line 78, so that the mode condition returns to mode I (see Fig. 5B).
Many scalar product circuits are utilized in this embodiment. It is noted, in general, that the scalar product between a vector P and a vector Q is calculated as follows:
I

tP,Q) = ~ Pi qi i=l where pi(i=1,2,--,I) are components of the vector P, and q (i=1,2,--,1) are components of the vector Q. Therefore, a scalar product circuit can be constructed by utilizing a multiplier and an adder (or accumu-lator).
Fig. 6 shows another embodiment of the pre-processing unit 2.
Provided are band pass filters 25 similar to those shown in Fig. 2;
however, only four band pass filters 25 are utilized. As a result, the frequency range is selected to be four times broader than the bandpass filters 21 shown in Fig. 2. The output of each bandpass filter 25 is supplied to a corresponding squaring circuit 26 and a lowpass filter 2 7 .
The outputs of lowpass filters 27 ~re distributed into a register 2~ by a distributor 28 at intervals of, for example, lOmsec. The inpu~ vec-tor stored in register 24 is indicated by F' whose components are f'(i=1,2,--,16). Components f'1,--,f'4 represent an energy distribution of the first time interval, f'5,--,f'8 represent an energy distribution of the second time interval, and so on. The type of input vector obtained by the current shown in Fig. 2 is effective for the 7~

recognition of voice patterns such as vowel patterns, while the type of input vector obtained by the circuit shown in Fig. 6 is effective for the recognition of f cnsonflnt patterns or word patterns.
In reco~nizing character patterns, hand-written or printed on paper, a photo~lectric converter such ~s a CCD scanner can be uti-lized as the input unit. Such 8 scanner scans the character patterns and provides electrical signals representing lhe darkness of each picture elements, so that the eomponents of the input vector corresponds to the darkness of ench picture element of a character pattern, for e~ample, as shown in the aforementioned U.S. Patent No. 3,906,446.
Although each additional vector generated by vector generator 70 is stored in the additional dictionary memory 40 for the above embodi-ment, this is not always necessary to practice this invention. The additional dictionary generating unit 7 can be modified as discussed below. In particular, a vector memory can be connected to the con-troller 72 tnot shown in Fig. 5A) for storing the generated additional vectors, the coefficients and the number of generated vectors for each category denoted by R~) for the category A. The flow ehart for controller 72 for operation of this modified system is shown in Fig. 7.
The first, second and third steps shown in Fig. 7 are similar to the steps shown in Fig. 5B. During the fourth step in Fig. 7, how-ever, the additional vector ~x(A) and the coefficient bX(A) are stored in the vector memory, and the number R(A) is incremented by one~
During the fifth step, R(A) is eompared with a predetermined value Ro. If E~(A) ~ Ro, the mode conditiun is changed to mode I without storing additional vectors. If the condition R(A) = Ro is satisified, controller 72 processes as follows.
During the sixth step, vectors ~)xr(A)(r=l~2~ ) in ~he vector memory are substituted into the following equation and eorrelation m~trix H is obtained:

~ ~L s~ 5~ â ~3 where wr(A) are weighting factors, and ~ ",~ denotes the oper~tion of dyad. r)uring the seventh step, eigenvalues are obtained for the correlation matrix as follows:

~t n(~) ~ n(A) = H(A~n(A) (10) Eigenvectors are then obtained corresponding to the eigenvalues. In the eighth step, several of the eigenvectors which have the largest eigenvalues are selected and stored in the additional dictionary 4 as additional reference vectors. During the ninth step~ N(A) OI the address table 73 is added to the number of selected eigenvectors. The vectors ~y xr(A) are cleared from the vector memory and R(A) is set to zero. The number of additional reference vectors to be stored is generally selected so that it is smaller than the number of deformed patterns which were mis-recognized or rejected.
Further, the steps of storing coefficients in the dictionary memory is not necessary when, for example, the following reference vectors are used:

~.ptlQ) "~ y~

The above described arrangement is merely illustr~tive of the principles of the present invention. Numerous modifications and adap-tations thereof will be readily apparent to those skilled in the art without departing from the spirit and scope of the present invention.

Claims (11)

1. A pattern recognition apparatus for identifying the cate-gory of an input pattern from various categories of value patterns stored in the apparatus comprising:
a vector generating means for converting an input pattern signal to an input vector representing the characteristics of the input pattern;
a dictionary means for storing a plurality of reference vectors for each of said various categories, including a first memory means for storing a plurality of first reference vectors for each of said categories and a second memory means for storing a plurality of second reference vectors for each of said categories;
a reference vector generating means for generating said second reference vectors from the input vector and for storing them in said second memory means, said reference vector generating means generating said second reference vectors by subtracting from the input vector a vector having components corresponding to the angles between the input vector and each of said first reference vectors;
a similarity calculating means for calculating the simi-larities between said input vector and reference vectors stored in said dictionary means for each of said categories; and a comparing means for comparing the similarities calcula-ted for each of said categories and for identifying the category of the input pattern.
2. A pattern recognition apparatus of claim 1 wherein the similarity calculating means comprises:
a scalar product calculating means for calculating the sca-lar product between the input vector and each of said reference vec-tors;
squaring means for squaring each output of said scalar product calculating means; and adding means for adding each of said squared outputs.
3. A pattern recognition apparatus of claim 2 wherein said first and second memory means store coefficients corresponding to each of said reference vectors, said similarity calculating means further comprising a multiplying means for multiplying the output of said squaring means by the corresponding coefficient, and said reference vector generating means further comprising a coefficient calculating means for calculating the coefficient corresponding to the generated second reference vector from the coefficients of the first reference vectors .
4. A pattern recognition apparatus according to claim 1 in which said vector generating means includes an input means for converting said input pattern into electrical signals, and a pre-processing means, receiving said electrical signals, for extracting said input vector representing the characteristic of the input pattern from said electrical signals.
5. A pattern recognition apparatus according to claim 4 wherein said input pattern is a voice pattern, and said input means comprises a microphone.
6. A pattern recognition apparatus according to claim 4 wherein said pre-processing means comprises: a plurality of band-pass filters, each filter having a different frequency range; a plurality of squaring circuits, each coupled to a corresponding bandpass filter; and a plurality of low pass filters, each coupled to a corresponding squar-ing circuit.
7. A pattern recognition apparatus according to claim 2 wherein said similarity calculating means further comprises an absolute value squaring means for obtaining the squared absolute value of the input vector, and a dividing means for dividing the output of said adding means by the output of the absolute value squaring means.
8. A pattern recognition apparatus according to claim 1 or 2 wherein said comparing means comprises: a detecting means for determining the maximum value of said calculated similarities and the second largest value of said calculated similarities; a first comparing means for comparing said maximum value with a predetermined first threshold value; and, a second comparing means for comparing the dif-ference between said maximum value and said second largest value with a predetermined second threshold value.
9. A pattern recognition apparatus according to claim 1 or 2 wherein said reference vector generating means includes a category designating means for designating the desired category for the genera-ted second reference vectors and a reference vector calculating means for calculating and generating said second reference vectors for the category A according to the following equation:

wherein A?x(A) is the second reference vectors to be generated, F is the input vector, 0m(A)(m=1,_,M(A)) are the first reference vectors of category A wherein category A is designated by the designating means, M(A) is a number of first reference vectors of category A, A? n(A)(n=l,_,N(A)) are the second reference vectors of category A pre-viously stored in the second memory means, N(A) is a number of second reference vectors of category A previously stored, (F, 0m(A)) denotes the calculation of a scalar product between vector F and vec-tor 0m(A).
10. A pattern recognition apparatus for identifying the cate-gory of an input pattern from various categories of reference patterns stored in the apparatus, comprising:
a vector generating means for converting an input pattern signal to an input vector representing the characteristics of the input pattern;
a dictionary means for storing a plurality of reference vectors for each of and various categories, including a first memory means for storing a plurality of first reference vectors for each of said categories and a second memory means for storing a plurality of second reference vectors for each of said categories;
a reference vector generating means for generating said second reference vectors from the input vector and said first reference vectors and for storing them in said second memory means, said second reference vectors representing characteristics which are specific to said input pattern;
a similarity calculating means for calculating the simi-larities between said input vector supplied from the vector generating means and reference vectors stored in said dictionary means for each of said categories, said similarity calculating means comprising a scalar product calculating means for calculating the scalar product between the input vector and each of said reference vectors, a squaring means for squaring each output of said scalar product calculating means, and an adding means for adding each of said squared outputs; and a comparing means for comparing the similarities calcula-ted for each of said categories and for identifying the category of the input pattern.
11. In a pattern recognition system for identifying the cate-gory of an input pattern from various categories of reference patterns stored in the system including means for generating an input vector representing the characteristics of the input pattern to be identified, a dictionary means for storing sets of reference vectors each set repre-senting the characteristics of a particular category of reference pat-terns, a similarity calculating means for determining the similarities for every category by calculating the squared scalar products between the input vector and each set of reference vectors, a comparing means for comparing the category to which the input pattern belongs by compar-ing said calculated similarities and a reference vector generating means for generating an additional reference vector which is added to the set of reference vectors previously stored, the system having a recognizing mode wherein an unknown input pattern is identified and a learning mode wherein the reference vector generating means is energized, the method of generating said additional reference vector during the learning mode comprising the steps of:
supplying said input vector to the reference vector gener-ating means;
specifying the category to which the additional reference vector belongs;
transferring the sets of reference vectors of the specified category from the dictionary means to the vector generating means;
obtaining said additional reference vector by removing components of the transferred reference vectors from the supplied input vector; and storing the additional reference vector in the dictionary means as one of the reference vectors of the specified category.
CA000426327A 1983-04-20 1983-04-20 Pattern recognition apparatus and method for making same Expired CA1195779A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA000426327A CA1195779A (en) 1983-04-20 1983-04-20 Pattern recognition apparatus and method for making same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA000426327A CA1195779A (en) 1983-04-20 1983-04-20 Pattern recognition apparatus and method for making same

Publications (1)

Publication Number Publication Date
CA1195779A true CA1195779A (en) 1985-10-22

Family

ID=4125061

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000426327A Expired CA1195779A (en) 1983-04-20 1983-04-20 Pattern recognition apparatus and method for making same

Country Status (1)

Country Link
CA (1) CA1195779A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988002512A1 (en) * 1986-10-03 1988-04-07 John Emil Sander Improvements in pattern recognition apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988002512A1 (en) * 1986-10-03 1988-04-07 John Emil Sander Improvements in pattern recognition apparatus

Similar Documents

Publication Publication Date Title
US4651289A (en) Pattern recognition apparatus and method for making same
US4752957A (en) Apparatus and method for recognizing unknown patterns
Lu et al. Hierarchical attributed graph representation and recognition of handwritten Chinese characters
EP0063765B1 (en) Pattern recognition apparatus and method
EP0325233B1 (en) Character string recognition system
Liang et al. A robust fingerprint indexing scheme using minutia neighborhood structure and low-order delaunay triangles
US5748850A (en) Knowledge base system and recognition system
US4590608A (en) Topographic feature extraction using sensor array system
CN112668580A (en) Text recognition method, text recognition device and terminal equipment
JPH08305797A (en) Dynamic verification method of handwriting based on reference handwriting
WO2004038532A2 (en) Apparatus for online signature verification using pattern transform technique and method therefor
CA1195779A (en) Pattern recognition apparatus and method for making same
Toh Fingerprint and speaker verification decisions fusion
Singh Some clarifications about the pairwise divergence measure in remote sensing
Yoon et al. Is there a fingerprint pattern in the image?
Cherepanov et al. On automated workflow for fine-tuning deepneural network models for table detection in document images
CN112231456B (en) Question generation method, device, storage medium and electronic equipment
CN111259658B (en) General text classification method and system based on category dense vector representation
JP2701311B2 (en) Character recognition device with recognition dictionary creation function
Marzal et al. Contour-based shape retrieval using dynamic time warping
JP3388918B2 (en) String reader
JP2515732B2 (en) Pattern matching device
Kirsanov et al. Graph Analysis for Thermal Networks
Heszler et al. The Use of Confidence Indicating Prediction Score in Online Signature Verification
Tajeripour et al. A novel staff removal method for printed music image

Legal Events

Date Code Title Description
MKEC Expiry (correction)
MKEX Expiry