DE4435272C2 - Method and device for extracting a visual feature vector from a sequence of images and speech recognition device - Google Patents
Method and device for extracting a visual feature vector from a sequence of images and speech recognition deviceInfo
- Publication number
- DE4435272C2 DE4435272C2 DE4435272A DE4435272A DE4435272C2 DE 4435272 C2 DE4435272 C2 DE 4435272C2 DE 4435272 A DE4435272 A DE 4435272A DE 4435272 A DE4435272 A DE 4435272A DE 4435272 C2 DE4435272 C2 DE 4435272C2
- Authority
- DE
- Germany
- Prior art keywords
- mouth
- pixels
- line
- pixel
- area
- 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 - Fee Related
Links
- 239000013598 vector Substances 0.000 title claims description 106
- 230000000007 visual effect Effects 0.000 title claims description 85
- 238000000034 method Methods 0.000 title claims description 26
- 238000013528 artificial neural network Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 8
- 238000009499 grossing Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 49
- 210000002569 neuron Anatomy 0.000 description 45
- 238000001228 spectrum Methods 0.000 description 24
- 238000012549 training Methods 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 230000001815 facial effect Effects 0.000 description 13
- 230000005484 gravity Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000012935 Averaging Methods 0.000 description 12
- 230000003595 spectral effect Effects 0.000 description 12
- 210000004027 cell Anatomy 0.000 description 11
- 230000004913 activation Effects 0.000 description 10
- 101100079450 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) NCA3 gene Proteins 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 101150058760 NCA2 gene Proteins 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 230000001537 neural effect Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 241000196324 Embryophyta Species 0.000 description 2
- 208000032041 Hearing impaired Diseases 0.000 description 2
- 230000005534 acoustic noise Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 238000010183 spectrum analysis Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 101150084750 1 gene Proteins 0.000 description 1
- BSYNRYMUTXBXSQ-UHFFFAOYSA-N Aspirin Chemical compound CC(=O)OC1=CC=CC=C1C(O)=O BSYNRYMUTXBXSQ-UHFFFAOYSA-N 0.000 description 1
- 241000222120 Candida <Saccharomycetales> Species 0.000 description 1
- 240000006829 Ficus sundaica Species 0.000 description 1
- 101150073928 MCA3 gene Proteins 0.000 description 1
- 235000011449 Rosa Nutrition 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000020411 cell activation Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000008242 dietary patterns Nutrition 0.000 description 1
- 208000002173 dizziness Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 210000003061 neural cell Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 230000003389 potentiating effect Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/254—Fusion techniques of classification results, e.g. of results related to same input data
- G06F18/256—Fusion techniques of classification results, e.g. of results related to same input data of results relating to different input data, e.g. multimodal recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/248—Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/24—Speech recognition using non-acoustical features
- G10L15/25—Speech recognition using non-acoustical features using position of the lips, movement of the lips or face analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Description
Die Erfindung betrifft ein Verfahren zum Extrahieren eines visuellen Merkmalvektors aus einer Folge von Bildern nach dem Oberbegriff des Anspruchs 1, betrifft ferner eine Vorrichtung zum Extrahieren eines visuellen Merkmalvektors aus einer Folge von rastergescannten Videobildern nach dem Oberbegriff des Anspruchs 6. Ferner bezieht sich die Erfindung auf das Gebiet der maschinellen Spracherkennung und betrifft insbesondere eine Gesichtsmerkmal-Extraktion zur Verbesserung einer akustischen Spracherkennung mit Hilfe von Ge sichtsmerkmalen in Verbindung mit akustischen Daten in einem neu ronalen Netzwerk-Klassifikationssystem.The invention relates to a method for extracting a visual Feature vector from a sequence of images according to the generic term of Claim 1 further relates to an apparatus for extracting a visual feature vector from a sequence of raster-scanned Video images according to the preamble of claim 6. Further relates the invention relates to the field of machine speech recognition and is particularly concerned with facial feature extraction to improve acoustic speech recognition with the help of Ge visual characteristics in connection with acoustic data in one ronal network classification system.
Das Ziel einer automatischen oder maschinellen Spracherkennung besteht darin, ein System bzw. eine Vorrichtung so auszulegen, daß es der menschlichen Fähigkeit angenähert ist, gesprochene Sprache bei Änderungen in der Betonung des Sprechers, des Geschlechts, der Sprechgeschwindigkeit, des Artikulationsgrades zu verstehen, auch wenn störende Nebengeräusche und Lärm das System ablenken. Die derzeit vorhandenen automatisierten Geräte haben eine geringere Genauigkeit und Robustheit als das, was notwendig ist, um die sehr hohen Anforderungen in solchen Anwendungsfällen, wie einer Computer- Sprache-Text-Umwandlung, einer automatischen Übersetzung und bei auf Sprache basierenden Steuersystemen voll zu genügen. Typische Lö sungen enthalten versteckte Markov-Modelle, bei welchen Übergangs wahrscheinlichkeiten in Verbindungsgliedern zwischen Knotenpunkten (Zuständen) codiert werden, welche phonetische Segmente darstellen und "Blackboard"-Methoden, bei welchen mehrere spezielle phonologi sche, lexikalische und auf Grammatik basierende Untersysteme ver knüpft werden, um synergetisch zu arbeiten, um Spracherkennungser gebnisse (score) zu maximieren. In letzter Zeit sind neuronale Netz werke mit einem gewissen Erfolg in begrenzten Bereichen angewendet worden, wie beispielsweise von A. Waibel in einem Artikel mit dem Ti tel "Modular Construction of Time-Delay-Neural Networks for Speech Recorgnition" beschrieben worden ist, was in Neural Computation 1, Stn. 39 bis 46 (1989) veröffentlicht ist.The goal of automatic or machine speech recognition is in designing a system or device so that it is human Ability is approximated to spoken language when changes in the language Emphasis on the speaker, gender, speaking speed, to understand the degree of articulation, even if disturbing background noises and noise distract the system. The currently existing automated devices are less accurate and robustness than what is necessary to the very high Requirements in such use cases as a computer Speech-to-text conversion, automatic translation and at control systems based on language are sufficient. Typical Lö solutions contain hidden Markov models, at which transition probabilities in links between nodes (States) are encoded, which represent phonetic segments and "Blackboard" methods, in which several special phonologi Czech, lexical and grammar based subsystems be linked to work synergistically to speech recognizers maximize results. Lately there are neural networks works with some success in limited areas as described by A. Waibel in an article with the Ti tel "Modular Construction of Time-Delay-Neural Networks for Speech Recorgnition ", which is described in Neural Computation 1, Stn. 39 to 46 (1989).
Eine vorausgesagte Informationsquelle und irgendwelche Beschränkun gen, die vernünftigerweise in ein künstliches System eingebracht wer den können, erhöhen im allgemeinen die Erkennungsgenauigkeit und es ist folglich wünschenswert, daß sie in einem Spracherkennungssystem enthalten sind. Üblicherweise hat sich die Forschung hauptsächlich auf das Einbeziehen einer auf hohem Pegel liegenden, linguistischen Information, wie grammatikalischen und syntaktischen Daten, konzentriert. Menschen können auch Information außer dem akustischen Signal ver wenden, um das Verständnis zu verbessern. Beispielsweise benutzen schwerhörige bzw. hörgeschädigte Personen oft visuelle Information für ein "Sprachelesen", um die Erkennungsgenauigkeit zu verbessern. (Siehe beispielsweise Dodd, B. und Campbell, R. (eds.), "Hearing by Eye: The Psychology of Lipreading", Hillsdale, N.J., Lawrence Erlbaum Press (1987); oder DeFilippo, C.L. und Sims, D.G. (eds.), "New Reflections on Speechreading", special issue of The Volta Review 90(5), (1988).A predicted source of information and any restrictions conditions that are reasonably placed in an artificial system that can generally increase the detection accuracy and it it is therefore desirable that it be used in a speech recognition system are included. Usually, research has mainly focused on that Inclusion of high level linguistic information, like grammatical and syntactic data. People can also use information other than the acoustic signal turn to improve understanding. For example, use hearing impaired or hearing impaired people often visual information for "speech reading" to improve recognition accuracy. (See, for example, Dodd, B. and Campbell, R. (eds.), "Hearing by Eye: The Psychology of Lipreading ", Hillsdale, N.J., Lawrence Erlbaum Press (1987); or DeFilippo, C.L. and Sims, D.G. (eds.), "New Reflections on Speechreading ", special issue of The Volta Review 90 (5), (1988).
Ein Sprachelesen kann direkte Information über Sprachsegmente und Phoneme sowie über die Sprechgeschwindigkeit, das Geschlecht des Sprechenden und dessen Identität sowie subtile Information dadurch schaffen, daß Sprache von Hintergrundrauschen getrennt wird. Der be kannte "Cocktail-Party-Effect", bei welchem Sprache, welche durch Geräusche aus dem Menschengedränge verfälscht worden ist, merklich verständlicher wird, wenn man das Gesicht des Sprechenden sehen kann, stellt ein starkes Indiz dafür dar, daß Menschen visuelle Infor mation zur Spracherkennung benutzen.A voice reading can provide direct information about language segments and Phonemes as well as the speaking speed, the gender of the Speakers and their identity as well as subtle information manage to separate speech from background noise. The be knew "Cocktail Party Effect", in which language, which by Noise from the crowds has been falsified, noticeably becomes more understandable when you see the speaker's face can be a strong indication that people have visual information Use speech recognition.
Mehrere Sprachlese- und Gesichtsklassifikations-Systeme sind in letzter Zeit beschrieben worden, nämlichSeveral speech reading and face classification systems have been described recently, namely
- a) Petajan, E.D., et al., "An Improved Automatic Lipreading System to Enhance Speech Recognition", ACM SIGCHl-88, Stn. 19 bis 25, (1988);a) Petajan, E.D., et al., "An Improved Automatic Lipreading System to Enhance Speech Recognition ", ACM SIGCHl-88, Stn. 19 to 25, (1988);
- b) Pentland, A., et al., "Lip Reading: Automatic Visual Recognition of Spoken Words", Proc. Image Understanding and Machine Vision, Op tical Society of America, Juni 12 bis 14 (1984) undb) Pentland, A., et al., "Lip Reading: Automatic Visual Recognition of Spoken Words ", Proc. Image Understanding and Machine Vision, Op tical Society of America, June 12 to 14 (1984) and
- c) Yuhas, B.P., et al., "Integration of Acoustic and visual Speech Signals Using Neural Networks", Nov. 1989, IEEE Communications Magazine (1989). c) Yuhas, B.P., et al., "Integration of Acoustic and Visual Speech Signals Using Neural Networks ", Nov. 1989, IEEE Communications Magazine (1989).
- d) R. Buhr, "Analyse und Klassifikation von Gesichtsbildern", ntzArchiv Bd. 8 (1986) H. 10, S. 245-256.d) R. Buhr, "Analysis and Classification of Facial Images", ntzArchiv Bd. 8 (1986) H. 10, pp. 245-256.
- e) Kaneko et. al., US-Patentschrift Nr. 5,136,659e) Kaneko et. al., U.S. Patent No. 5,136,659
- f) Welsh et. al., US Patentschrift Nr. 4,841,575f) Welsh et. al., U.S. Patent No. 4,841,575
Petajan, et al. benutzten schwellenwert-beaufschlagte Bilder (Pixels) eines Sprechergesichts während der Erzeugung eines Wortes zusammen mit einem Wörterbuch von vorher gespeicherten und markierten Sprechweisen und einem Normabstand-Klassifikator für visuelle Er kennung.Petajan, et al. used thresholded images (pixels) of a speaker's face while creating a word together with a dictionary of previously saved and marked Speeches and a standard distance classifier for visual Er identifier.
Pentland, et al. verwendeten eine optische Verlauftechnik, um die Ge schwindigkeit der Oberlippe, der Unterlippe und der beiden Mundwinkel von dem unverarbeiteten Pixel-Video-Bild des Mundes zu schätzen. Sie benutzten dann eine prinzipielle Komponenten-Analyse und einen Mini mumabstand-Klassifikator bei drei oder vier Zifferphrasen.Pentland, et al. used an optical gradient technique to measure the Ge dizziness of the upper lip, lower lip and the two corners of the mouth from the unprocessed pixel video image of the mouth. she then used a principal component analysis and a mini mum spacing classifier with three or four digit phrases.
Yuhas, et al., trainierten ein neuronales Netzwerk mit Hilfe statischer Bilder der Mundform für eine Vokal-Erkennung zusammen mit einer Kontrolleinheit mit freien Parametern, um die relativen Wertigkeiten von visuellen und akustischen Beiträgen zum besten Erkennen beim Vorhandensein unterschiedlicher Pegel bei akustischen Geräuschen ein zustellen. Yuhas, et al., Trained a neural network using static Images of the mouth shape for vowel recognition along with one Control unit with free parameters to determine the relative weights of visual and acoustic contributions to the best recognition when Presence of different levels of acoustic noise to deliver.
Buhr verwendet eine wissensgestützte Bildsegmentierung zur Extraktion von spezifischen Bildpunkten, aus deren Koordinaten Merkmalvektoren zur Klassifikation von Gesichtsbildern gebildet werden.Buhr uses knowledge-based image segmentation to extract specific ones Pixels, from their coordinates feature vectors for the classification of facial images be formed.
Kaneko et. al. wendet eine Schwellenwert-Bearbeitung auf ein digitalisiertes Gesichtsbild an, um aus dem so bestimmten binären Bild eine kleine Anzahl von Parametern zu bestimmen, die für das Gesichtsbild charakteristisch sind.Kaneko et. al. applies threshold processing to a digitized face image, to determine a small number of parameters from the binary image so determined, which are characteristic of the facial image.
Welsh et. al. wendet die sogenannte Nagao-Methode an, bei der über die Spaltenwerte eines vorverarbeiteten digitalisierten Gesichtsbildes summiert wird, um aus den Summenwerten charakteristische Punkte in dem Bild und daraus Kode-Wörter, welche verschiedene Mundformen angeben, zu bestimmen.Welsh et. al. uses the so-called Nagao method, which uses a column value preprocessed digitized facial image is summed up from the sum values characteristic points in the picture and from them code words, which different Specify mouth shapes to determine.
Gemäß der Erfindung soll das Leistungsvermögen von Spracherken nungssystem verbessert werden, welche nur akustische oder visuelle Lippenpositions-Information insbesondere in einer ungünstigen, ge räuchvollen Umgebung benutzen. Ferner soll ein neues zeitverzögertes neuronales Netzwerk-Sprache-Lesesystem zum Klassifizieren von Aus sprache und Sprechweisen nur mit Hilfe von visuellen Daten geschaffen werden. Ferner soll ein akustisches Spracherkennungssystem verbes sert werden, indem ein ein zeitlich verzögertes neuronales Netzwerk be nutzendes, visuelles Spracherkennungssystem in Verbindung mit dem akustischen Spracherkennungssystem verwendet wird.According to the invention, the performance of speech recognition system, which is only acoustic or visual Lip position information especially in an unfavorable ge use a smoky environment. Furthermore, a new time-delayed neural network speech reading system for classifying Aus language and ways of speaking created only with the help of visual data will. Furthermore, an acoustic speech recognition system is said to be verbal be replaced by a delayed neural network using visual speech recognition system in connection with the acoustic speech recognition system is used.
Ferner soll der Klassifikator mit einem kontinuierlichen Strom von diesbezüglichen, visuellen und akustischen Daten versorgt werden, aus welchen die akustische Sprechweise detektiert und klassifiziert wer den kann. Darüber hinaus soll eine zeitverzögerte neuronale Netzwerk- Klassifikator-Architektur geschaffen werden, welche ein Gradienten gefälle oder andere Lernmethoden, wie ein Rückausbreitungs-Training (backpropagation training) trägt. Ferner soll eine akustische und vi suelle Signalverarbeitung vor dem zeitlich verzögerten neuronalen Netzwerk-Klassifikator geschaffen werden.The classifier is also intended to have a continuous stream of related, visual and acoustic data are supplied from which the acoustic way of speaking is detected and classified that can. In addition, a time-delayed neural network Classifier architecture can be created which is a gradient gradients or other learning methods, such as re-propagation training (backpropagation training). Furthermore, an acoustic and vi source signal processing before the delayed neural Network classifier can be created.
Darüber hinaus soll eine Ausgangsklassifikation, d. h. eine Wahrschein lichkeits-Verteilung geschaffen werden, welche die Wahrscheinlich keit jeder möglichen Kandidaten-Sprechweise darstellt, die in einem vorgegebenen Zeitintervall vorgekommen ist. Darüber hinaus soll ein einfaches Verfahren zum Extrahieren von dynamischer, visueller Ge sichtsinformation mittels einer ausgewählten Gruppe von Gesichts kennzeichen geschaffen werden.In addition, an initial classification, i.e. H. a probability distribution, which is likely represents every possible candidate spoken in one predetermined time interval has occurred. In addition, a simple process for extracting dynamic, visual Ge visual information using a selected group of facial marks are created.
Gemäß der Erfindung ist dies bei einem Verfahren zum Extrahieren ei nes visuellen Merkmalvektors aus einer Folge von Bildern nach dem Oberbegriff des Anspruchs 1 durch die Merkmale im kennzeichnen den Teil des Anspruchs 1 erreicht. Vorteilhafte Weiterbildungen sind Ge genstand der auf den Anspruch 1 unmittelbar oder mittelbar rückbezo genen Ansprüche 2 bis 5. Ferner ist dies mit einer Einrichtung zum Ex trahieren eines visuellen Merkmalvektors aus einer Folge von Bilddaten nach dem Oberbegriff des Anspruchs 6 durch die Merkmale im kenn zeichnenden Teil des Anspruchs 6 erreicht. Vorteilhafte Weiterbildun gen sind Gegenstand der auf den Anspruch 6 unmittelbar oder mittelbar rückbezogenen Ansprüche 7 bis 9. Darüber hinaus ist dies bei einem Spracherkennungssystem bzw. -vorrichtung nach dem Oberbegriff des Anspruchs 10 durch die Merkmale in dessen kennzeichnenden Teil erreicht. Vorteilhafte Weiterbildungen sind Gegenstand der auf den Anspruch 10 unmittelbar oder mittelbar rückbezogenen Ansprüche 11 bis 14 erreicht.According to the invention, this is in a method for extracting egg a visual feature vector from a sequence of images after the The preamble of claim 1 characterize the features in Part of claim 1 achieved. Advantageous further developments are Ge subject matter directly or indirectly related to claim 1 gene claims 2 to 5. Furthermore, this is with a device for Ex trace a visual feature vector from a sequence of image data according to the preamble of claim 6 by the features in the kenn drawing part of claim 6 achieved. Advantageous further training conditions are the subject of claim 6 directly or indirectly related claims 7 to 9. In addition, this is with a Speech recognition system or device according to the preamble of claim 10 the characteristics achieved in its characteristic part. Beneficial Developments are the subject of claim 10 directly or indirectly related claims 11 to 14.
Gemäß der Erfindung ist ein Spracherkennungssystem geschaffen, bei welchen sowohl akustische als auch visuelle Sprachsignale verarbeitet werden, um die Wahrscheinlichkeit einer richtigen Klassifizierung der Sprechweise bzw. Aussprache zu erhöhen.According to the invention, a speech recognition system is created in which processes both acoustic and visual speech signals to the probability of a correct classification of the Increase speech or pronunciation.
Ferner weist ein Spracherkennungssystem zum Erkennen von Sprech weisen, die zu einer vorher eingerichteten Gruppe von zulässigen Kan didaten-Sprechweisen gehören, eine akustische Merkmal-Extrahier- Einrichtung, eine dynamische, visuelle Merkmal-Extrahier-Einrichtung und eine ein neuronales Netzwerk umfassende klassifizierende Einrichtung auf. Die akustische Merkmal-Extrahiereinrichtung wandelt akustische Sprach signale, die eine Sprechweise darstellen, in einen entsprechenden spektralen Merkmal-Vektorsatz um. Die dynamische, visuelle Merkmal- Extrahier-Einrichtung wandelt die dynamischen Gesichtsmerkmale, die der Erzeugung der akustischen Sprechweise zugeordnet sind, in einen dynamischen, visuellen Merkmal-Vektorsatz um. Die ein neuronales Netzwerk umfassende klassifizierende Einrichtung wandelt die dynamischen, akustischen und visuellen Merkmalvektoren in eine bedingte Wahrschein lichkeitsverteilung um, welche die Wahrscheinlichkeit jeder Kandida ten-Sprechweise beschreibt, die gesprochen worden ist, indem die be obachteten akustischen und visuellen Daten vorgegeben worden sind.Furthermore, a speech recognition system for recognizing speech point to a previously set group of allowed channels didate speech modes include an acoustic feature extraction Facility, a dynamic, visual feature extraction facility and a classifying device comprising a neural network. The acoustic feature extractor converts acoustic speech signals that represent a way of speaking into a corresponding one spectral feature vector set. The dynamic, visual characteristic Extracting device converts the dynamic facial features that are assigned to the generation of acoustic speech, in one dynamic, visual feature vector set around. The one neural Network-wide classifying facility transforms the dynamic, acoustic and visual feature vectors into a conditional probability distribution around the the probability of each candida ten-way of speaking that has been spoken by the be observed acoustic and visual data have been specified.
Nachfolgend wird die Erfindung anhand von bevorzugten Ausführungs formen unter Bezugnahme auf die anliegenden Zeichnungen im einzelnen erläutert. Es zeigt:The invention based on preferred embodiment shape with reference to the accompanying drawings explained. It shows:
Fig. 1 ein Blockdiagramm eines akustischen und visuellen dynami schen Spracherkennungssystems; Figure 1 is a block diagram of an acoustic and visual dynamic speech recognition system.
Fig. 2 das Plazieren von visuellen Vergleichskennzeichen bzw. -Mar kierungen an und um die Lippen des Sprechers herum; Fig. 2, the placement of visual comparison marks or markings on and around the lips of the speaker;
Fig. 3 eine Vorderansicht eines Sprecher-Gesichts und physiologi sche Identifizierkennzeichen; Fig. 3 is a front view of a speaker face and physiological identifier;
Fig. 4 die Geometrie zum Einbringen einer Symmetrieachse und von ROI (interessierenden Bereichen); FIG. 4 shows the geometry for introducing a symmetry axis and ROI (regions of interest);
Fig. 5 eine pixel-definierte Begrenzung für den linken Augenbereich; Figure 5 is a pixel-defined boundary for the left eye area.
Fig. 6(a) bis 6(d) ein vertikales Grauskala-Profil des geschlossenen und offenen Mundes und deren Beziehung zu den Gesichtsmerkma len; Figures 6 (a) to 6 (d) show a vertical gray scale profile of the closed and open mouth and its relationship to the facial features;
Fig. 7(a) und 7(b) ein horizontales Grauskala-Gesichts-Profil des ge schlossenen und offenen Mundes entlang der Mundlinie; Figures 7 (a) and 7 (b) show a horizontal gray scale face profile of the closed and open mouth along the mouth line;
Fig. 8(a) und 8(b) die signifikanten Scheitelwerte und Täler der vertika len und horizontalen Grauskala-Profile; Figures 8 (a) and 8 (b) show the significant peaks and valleys of the vertical and horizontal grayscale profiles;
Fig. 9 einen reduzierten Satz von Datenpunkten, die beim Erzeugen eines visuellen Merkmalvektors verwendet worden sind; Figure 9 shows a reduced set of data points used in generating a visual feature vector;
Fig. 10 ein Sprach-Klassifikationssystem mit Hilfe von Videobildern ohne vertrauensvolle Kennzeichen; FIG. 10 is a speech classification system using video images without trust indicator;
Fig. 11 die Beziehung zwischen den gleichmäßigen Mel-Frequenzbän dern und den entsprechenden nicht-gleichförmigen, linearen Frequenzbändern; Fig. 11 countries, the relationship between the steady-Mel Frequenzbän and the corresponding non-uniform, linear frequency bands;
Fig. 12(a) und 12(b) zwei äquivalente Ausführungen eines zeitverzö gernden, einlagigen neuronalen Netzwerks (TDNN); Figures 12 (a) and 12 (b) show two equivalent designs of a time-delay, single-layer neural network (TDNN);
Fig. 13(a) und 13(b) das elektrische Analogon einer typischen Ausspra che zusammen mit deren Spektogramm; Fig. 13 (a) and 13 (b) the electrical analogue of a typical Ausspra che together with their spectogram;
Fig. 14 die Architektur einer nur visuellen (VO) Mehrfachlage TDNN; Fig. 14 only the architecture of a visual (VO) multi-ply TDNN;
Fig. 15 eine Hardware einer TDNN-Architektur; FIG. 15 is a hardware one TDNN architecture;
Fig. 16 ein Blockdiagramm eines akustischen und visuellen Spracher kennungssystems, das die Ausgangssignale von separaten aku stischen und visuellen Erkennungssystemen verknüpft; FIG. 16 is a block diagram of detection system audible and visual Spracher which links the output signals of separate AKU stischen and visual recognition systems;
Fig. 17 eine Hardware einer Ausführungsform eines AxV-TDNN- Sprach-Klassifikators; Fig. 17 is a hardware of an embodiment of a AxV-TDNN- speech classifier;
Fig. 18 eine Hardware einer Ausführungsform eines weiteren TDNN- Sprach-Klassifikators; FIG. 18 is a hardware of an embodiment of another TDNN- speech classifier;
Fig. 19 eine Hardware einer Ausführungsform eines vollen AV-Sprach- Klassifikators; Figure 19 is a hardware of an embodiment of a full AV speech classifier.
Fig. 20 die Architektur einer typischen McCulloch-Pitts neuronalen Zelle; FIG. 20 is the architecture of a typical McCulloch-Pitts neuronal cell;
Fig. 21(a) bis 21(c) Beispiele von Aktivierungsfunktion-Transferkenn daten; Fig. 21 (a) to 21 (c) examples of data transfer activation function characteristic;
Fig. 22 die Architektur einer typischen Sigma-Pi(πII) künstlichen neu ronalen Zelle; FIG. 22 is the architecture of a typical sigma Pi (πII) artificial ronalen new cell;
Fig. 23 einen Satz von Lernkurven, welche den Trainingsfortschritt zeigen, und Fig. 23 is a set of learning curves showing the training progress, and
Fig. 24(a) bis 24(d) eine Gruppe von Verwirrungs-Matrizen für vier Sy steme. Fig. 24 (a) to 24 (d) a group of Confusion matrices for four sy stems.
Nunmehr werden mehrere Ausführungsformen von Spracherkennungssy stemen beschrieben, wobei jedes System trainiert wird, um eine be grenzte Menge von Sprechweisen bzw. Aussprachen zu erkennen. Die verschiedenen Ausführungsformen unterscheiden sich in der verwende ten Informationsart und/oder auf welche Weise die Informationssigna le verarbeitet werden. Auf jeden Fall ist es das Ziel des Spracherken nungssystems, an dem Klassifikator-Ausgang eine Wahrscheinlich keits-Verteilung zu erzeugen, die jeder der möglichen Kandidaten- Sprechweisen zugeordnet ist.Now several embodiments of speech recognition systems described systems, each system being trained to be a to recognize limited amount of speech or pronunciations. The different embodiments differ in the use type of information and / or how the information signa le are processed. In any case, it is the goal of speech recognition system, a probable at the classifier output distribution that each of the possible candidate Speaking styles is assigned.
Im Hinblick auf die Klarheiten der folgenden Beschreibung werden spe zifische Beispiele der erfindungsgemäßen Ausführungsform verwendet, um eine von zehn Kandidaten-Sprechweisen zu erkennen. Hierbei sollte jedoch beachtet werden, daß dies nicht notwendigerweise eine Be schränkung auf eine Anzahl oder bestimmte Arten von Sprechweisen oder Äußerungen darstellt, welche in Einklang gebracht werden können.In view of the clarity of the description that follows, spe used specific examples of the embodiment according to the invention, to recognize one of ten candidate ways of speaking. Here should however, it should be noted that this is not necessarily a Be restriction to a number or certain types of speech or expressions that can be reconciled.
Die vorliegende Erfindung ist ein System für eine Spracherkennung, bei welchem sich dynamisch ändernde, akustische und visuelle Signale für eine verbesserte Spracherkennungs-Effizienz verwendet werden. Fig. 1 zeigt ein vereinfachtes Blockdiagramm einer Ausführungsform. Akusti sche Sprechdaten werden mittels eines Mikrophons 28 aufgenommen, welches über eine Ausgangsleitung 22 die elektrischen Signal-Repliken der akustischen Information an einen Spektrum-Analysator anlegt, von welchem aus die akustische Energie an eine Anordnung von 14 Filtern angelegt wird. Die sich kurzfristig zeitlich ändernde Energie, welche von jedem der 14 Filter abgegeben wird, wird gemessen, normiert und an die 14 Ausgangsleitungen 25 als ein sich zeitlich ändernder Vektor mit 14 Komponenten angelegt. The present invention is a speech recognition system in which dynamically changing acoustic and visual signals are used for improved speech recognition efficiency. Fig. 1 is a simplified block diagram showing one embodiment. Acoustic speech data are recorded by means of a microphone 28 which, via an output line 22, applies the electrical signal replicas of the acoustic information to a spectrum analyzer, from which the acoustic energy is applied to an arrangement of 14 filters. The briefly temporally changing energy which is emitted by each of the 14 filters is measured, normalized and applied to the 14 output lines 25 as a vector with 14 components which changes over time.
Gleichzeitig nimmt in der einen Ausführungsform eine Videokamera 27 die zugeordneten visuelle Daten auf, die aus einer Menge von Markie rungen erzeugt worden sind, die verwendet werden, um die Lippen- und Mund-Bewegung zu beschreiben, welche durch eine vorgegebene Sprech weise bzw. Aussprache erzeugt worden ist. Die unbehandelte Video-In formation wird an einen Lippen- und Mund-Positionsvektor-Generator 14 abgegeben, welcher die sich zeitlich ändernde Position der Lippen- und Mundmarkierungen für eine Kopfneigung und -größe normiert, was einen sich zeitlich ändernden Vektor auf den fünf Ausgangsleitungen 15 ergibt, welcher die Lippen- und Mund-Tätigkeit beschreibt, welche der akustischen Sprechweise zugeordnet ist.At the same time, in one embodiment, a video camera 27 captures the associated visual data generated from a set of markings used to describe lip and mouth movement, as evidenced by a given speech or pronunciation has been generated. The untreated video information is delivered to a lip and mouth position vector generator 14 , which normalizes the temporally changing position of the lip and mouth markings for a head inclination and size, which results in a temporally changing vector on the five output lines 15 results, which describes the lip and mouth activity, which is assigned to the acoustic speech.
Der Lippen- und Mund-Positionsvektor-Generator 14 weist ein Nach laufsystem 16, um die Position von lichtemittierenden oder lichtre flektierenden Vergleichsmarkierungen zu verfolgen, die an und um die Lippen des Sprechers plaziert sind, und einen Vektorgenerator 19 auf, welcher ausgewählte Abstände zwischen Vergleichsmarkierungen ex trahiert und normiert. Diese Einrichtung wurde mit Hilfe des auf einem Computer basierenden, zweidimensionalen Bewegungs-Analysesystems ausgeführt, das von Motion Analysis Corporation, 3650 North Laughlin Road, Santa Rosa, Kalifornien 95403 unter dem Warenzeichen "Expert Vision" hergestellt wird.The lip and mouth position vector generator 14 has a tracking system 16 to track the position of light emitting or light reflecting fiducial marks placed on and around the speaker's lips, and a vector generator 19 that has selected distances between fiducial marks ex tracted and standardized. This facility was implemented using the computer-based, two-dimensional motion analysis system manufactured by Motion Analysis Corporation, 3650 North Laughlin Road, Santa Rosa, California 95403 under the trademark "Expert Vision".
Das Expert-Vision-Video-Nachlaufsystem benutzt eine Videoeinrich tung, um die Bewegung von Objekten einzufangen und aufzunehmen. Re flektierende Markierungen werden an interessierenden Stellen plaziert. Das System kann Daten einfangen und analysieren, die von einer Video kamera (oder einem -Band) mit einer Video-Norm-Bildfrequenz von 60 Hz bis zu 200 Hz gewonnen worden sind.The Expert Vision video tracking system uses a video setup to capture and record the movement of objects. Right reflective marks are placed at points of interest. The system can capture and analyze data from a video camera (or tape) with a video standard frame rate of 60 Hz up to 200 Hz have been obtained.
Die unverarbeiteten Videodaten von der Videokamera werden einem Videoprozessor-Untersystem zugeführt, welches die Markierungsbilder isoliert und sie in Echtzeit in digitalisierte Video- Umrißlinien umwandelt. Der Videoprozessor versieht die Funktion des Nachlaufsystems 16, indem er x- und y-Koordinaten der Markierungs ränder in dem Host-Computer für eine anschließende Verarbeitung er zeugt. Die detektierten Bildschirmpositionen werden in Videobildfre quenz-Intervallen in einem rechteckigen Gitter ausgedrückt, das (in der x-Richtung) 256 Pixel breit und (in der y-Richtung) 240 Pixels hoch ist.The unprocessed video data from the video camera is fed to a video processor subsystem which isolates the marker images and converts them in real time into digitized video outlines. The video processor provides the function of the tracking system 16 by generating x and y coordinates of the marking edges in the host computer for subsequent processing. The detected screen positions are expressed in video frame rate intervals in a rectangular grid that is 256 pixels wide (in the x direction) and 240 pixels high (in the y direction).
Die Video-Umrißlinien werden mittels der Host-Computer-Software auf Schwerpunkte reduziert. Der Schwerpunkt jeder reflektierenden Markierung wird dadurch festgelegt, daß die Koordinaten der einzelnen Pixel gemittelt werden, welche die Umrißlinie der Markierung bilden. Die Schwerpunkte jeder Markierung werden von Bild-zu-Bild markiert und verbunden, um eine Trajektorie zu bilden. Zusätzliche Host-Compu ter-Software wird verwendet, um den Satz visueller Abstandsvektoren zu erzeugen und zu normieren, wie nachstehend noch beschrieben wird und funktionell durch den Vektorgenerator 19 der Fig. 1 angezeigt ist.The video outline is reduced to focal points using the host computer software. The center of gravity of each reflective marking is determined by averaging the coordinates of the individual pixels that form the outline of the marking. The focal points of each marker are marked from picture to picture and connected to form a trajectory. Additional host computer software is used to generate and normalize the set of visual distance vectors, as will be described below and functionally indicated by the vector generator 19 of FIG. 1.
Die beiden, sich zeitlich ändernden Vektoren auf den Leitungen 15 und 25 werden an einen ein zeitverzögerndes, neuronales Netzwerk ("TDNN") aufweisenden Sprach-Klassifikator 200 angelegt, wobei das neuronale Netzwerk zehn Ausgangssignale auf Leitungen 17 erzeugt. Jede der Ausgangsleitungen 17 ist ausschließlich eine von zehn möglichen Sprechweisen bzw. Aussprachen zugeordnet, so daß das TDNN 200 trai niert ist, sie zu erkennen. Die Signalgröße auf jeder der zehn Leitungen stellt die Wahrscheinlichkeit dar, daß die zugeordnete Sprechweise bzw. Aussprache gemacht wurde. Ein (gestrichelt dargestelltes) Ausga benetzwerk 18 ist ein optionaler (bekannter) Eins- aus-Zehn-Klassifika tor, welcher die wahrscheinlichste Aussprache auswählt, indem die Aussprache bzw. Sprechweise gewählt wird, die der Leitung mit dem höchsten Pegel (Wahrscheinlichkeit) der zehn Leitungen 17 entspricht. Da der TDNN-Klassifikator 200 einen sich zeitlich ändernden Daten strom prüfen kann, ist die genaue Kenntnis der zeitlichen Position der akustischen und visuellen Information nicht erforderlich.The two time-changing vectors on lines 15 and 25 are applied to a voice classifier 200 having a time-delaying neural network ("TDNN"), the neural network generating ten output signals on lines 17 . Each of the output lines 17 is exclusively assigned to one of ten possible speeches or pronunciations, so that the TDNN 200 is trained to recognize them. The signal size on each of the ten lines represents the probability that the associated speech or pronunciation has been made. An output network 18 (shown in dashed lines) is an optional (known) one-of-ten classifier that selects the most likely pronunciation by choosing the pronunciation or speech that is the line with the highest level (probability) of the ten Lines 17 corresponds. Since the TDNN classifier 200 can check a data stream that changes over time, precise knowledge of the time position of the acoustic and visual information is not necessary.
Fig. 2 zeigt das Plazieren der zehn reflektierenden Markierungen (M0, 9) an dem jeweiligen Sprechergesicht, die in einer Ausführungsform ver wendet wurden. Die Positionen der zehn Vergleichsmarkierungen waren die Spitze der Nase (M0), die Mitte des Kinns (M1), der linke Mundwinkel (M2), der rechte Mundwinkel (M3), die obere Mitte der Lippen (M4), die untere Mitte der Lippen (M5) und vier Stellen auf den Lippen, weIche annähernd die Hälfte zwischen der Mitte der oberen Lippe und den lin ken und rechten Mundwinkel (M6, M7) und zwischen der Mitte der unte ren Lippe und den linken und rechten Mundwinkeln (M8, M9) sind. Dieser Satz von Vergleichsmarkierungen wurde verwendet, um die generelle Form und Bewegung des Lippen- und Mundbereichs festzustellen. Diese spezielle Anordnung hat den großen Vorteil der Einfachheit, im Ver gleich zu dem rechnerisch aufwendigen Problem, dieselbe Information aus der gewaltigen Datenmenge herzuleiten, welche durch Folgen von Video-Pixel-Bildern erzeugt worden sind. Fig. 2 shows the placement of the ten reflective markings (M0, 9) on the respective speaker face, which were used in one embodiment ver. The positions of the ten comparison marks were the tip of the nose (M0), the center of the chin (M1), the left corner of the mouth (M2), the right corner of the mouth (M3), the top center of the lips (M4), the bottom center of the lips (M5) and four places on the lips, approximately half between the center of the upper lip and the left and right corners of the mouth (M6, M7) and between the center of the lower lip and the left and right corners of the mouth (M8, M9 ) are. This set of benchmarks was used to determine the general shape and movement of the lips and mouth area. This special arrangement has the great advantage of simplicity, in comparison to the computationally complex problem of deriving the same information from the enormous amount of data that has been generated by following video pixel images.
Die Position der reflektierenden Vergleichsmarkierungen auf jedem Gesicht eines Sprechenden wurde mittels einer Videokamera 27 mit ei ner 60 Hz-Bildfrequenz aufgezeichnet und dann mittels eines Posi tionsvektor-Generators 14 in visuelle Merkmalvektoren umgeformt, welche fünf Komponenten haben, wie in der nachstehenden Tabelle auf geführt ist.The position of the reflective fiducial marks on each face of a speaker was recorded by a video camera 27 at a 60 Hz frame rate and then transformed by a position vector generator 14 into visual feature vectors which have five components as shown in the table below .
Diese spezielle Auswahl von Vektorkomponenten-Merkmalen wurde so gemacht, daß die verschiedenen Abstände quer zum Mund und Gesicht bereits unabhängig von Verschiebungen und Drehungen des Kopfes ge macht werden können. Dies wurde mit dem Vektorgenerator 14 ausge führt, indem zuerst der Kopf gedreht wird, so daß eine Linie, die durch die Vergleichsmarkierungen M0 und M1 gezogen wurde, vertikal war, dann wurden die drei vertikalen Abstände (M0-M1, M4-M5 und der dur schnittliche Abstand von M6-M8 und M7-M9) sowie die zwei horizonta len Abstände (M2-M3 und der durchschnittliche Abstand von M6-M7 und M8-M9) berechnet.This special selection of vector component features was made so that the different distances across the mouth and face can be made independent of any movements and rotations of the head. This was done with the vector generator 14 by first turning the head so that a line drawn through the fiducial marks M0 and M1 was vertical, then the three vertical distances (M0-M1, M4-M5 and the average distance from M6-M8 and M7-M9) and the two horizontal distances (M2-M3 and the average distance from M6-M7 and M8-M9).
Eine weitere Normung der Komponenten-Merkmale wurde wegen Quer- Objekt-Unterschieden in Gesichtsabmessungen erforderlich. Ebenso wurde bemerkt, daß bei jedem Sprecher der Mund manchmal in einer teilweise offenen, bequemen und erholsamen Stellung war. Beim Nor mungsschritt wurde eine Menge von charakteristischen Gesichtsabmes sungen hinsichtlich der Größe jedes Gesichts eines Sprechers durch Mitteln der Vektoren erzeugt, die allen ausgeruhten Positionszeitpunk ten entsprechen. Dann wurde jeder visuelle Vektor in der Folge nor miert, indem der Ruhemittelwert von jeder Komponenten subtrahiert wurde und die Größe skaliert wurde, so daß jedem Komponentenwert ein Wert von plus oder minus eins zugeordnet ist, wenn dessen Pegel plus oder minus zwei Standardabweichungen von dem Durchschnitt entspricht.A further standardization of the component characteristics was due to cross Object differences in face dimensions required. As well it was noticed that the mouth of each speaker was sometimes in one partially open, comfortable and relaxing position. At the Nor step was a lot of characteristic facial dimensions the size of each speaker's face Averaging the vectors generated all the rested position time correspond to ten. Then each visual vector subsequently became nor by subtracting the mean rest from each component and the size was scaled so that each component value a value of plus or minus one is assigned if its level plus or minus two standard deviations from the average corresponds.
Obwohl die spezifische Gruppe von vorstehend aufgezählten Gesichts bewegungsmerkmalen verwendet wurde, um die Spracherkennung in der Praxis zu reduzieren, könnten auch andere entsprechend kennzeichnende Mengen von dynamischen Abmessungen verwendet werden, um die we sentliche visuelle Information zu übermitteln. Dies könnte zu einem anderen, jedoch effektiven, dynamischen visuellen Datenvektor führen. Beispielsweise könnte eine Videokamera ein dynamisches Pixel-Bild des Sprecher-Mundes und dessen Lippen erzeugen. Die dynamische Form könnte durch Messen des Abstandes zwischen den Schatten unter den Unter- und den Oberlippen gemessen werden, welche durch eine Über kopfbeleuchtung hervorgerufen sind. Eine Menge derartiger Abmessun gen quer zu dem Mund würde die dynamische Form beschreiben.Although the specific group of facial enumerated above Motion features was used to identify speech in the Reducing practice could also be characteristic of others Sets of dynamic dimensions are used to measure the we to convey substantial visual information. This could become one another, yet effective, dynamic visual data vector. For example, a video camera could have a dynamic pixel image of the speaker's mouth and lips. The dynamic form could be measured by measuring the distance between the shadows under the Lower and upper lips are measured, which are indicated by an over headlights are caused. A lot of such dimensions across the mouth would describe the dynamic shape.
Ein System bzw. eine Vorrichtung zum Extrahieren dynamischer Gesichtsmerkmalvektoren aus Videokamera-Bildern, das rechnerisch einfach ist und nur von einer Grauskala (Licht und Schatten) Information abhängt, ist implementiert worden.A system or device for extracting dynamic facial feature vectors from Video camera images that are mathematically simple and only from one Gray scale (light and shadow) information depends is implemented been.
Dieses System verwendet eine NTSC (National Television Standards Committee) Kamera, um die Vorderansicht eines Sprechergesichts ein zufangen und aufzunehmen, welches durch eine Überkopf-Lichtquelle beleuchtet wird. Die Grauskala-Videobilder werden mittels der Video kamera aufgenommen und in Abschnitte zerlegt, damit sich ein (150 × 150) Pixelbild bei 30 Rahmen (z. B. Bildern) pro Sekunde ergibt. Fig. 3 zeigt ein Vorderansichtbild eines Gesichts, das von oben beleuchtet ist, und die größeren Schatten und Schlag lichter, die für eine Gesichts- Merkmals-Extraktion verwendet worden sind, und welche enthalten: Augenhöhlenbereich-Schatten 10, einen Nasen-Schlaglichtbereich 20 einen Nasen- und Nasenloch-Schattenbereich 30, einen Oberlippen- Schlaglichtbereich 40, einen Schattenmund-Bereich 50, einen UnterIip pen-Schlaglichtbereich 60, einen Unterlippen-Schattenbereich 70 und einen oberen Kinn-Schlaglichtbereich 80. Die Augenschlagschatten- Bereiche 10 liegen entlang einer Augenlinie 11, welche senkrecht zur Symmetrieachse 9 verläuft, welche die Vorderansicht in zwei Teile aufteilt. Die Mundlinie 51 verläuft durch die Mitte eines Mundschat tenbereichs 50 unter rechtem Winkel zu der Symmetrieachse.This system uses an NTSC (National Television Standards Committee) camera to capture and capture the front view of a speaker's face, which is illuminated by an overhead light source. The gray-scale video images are recorded by the video camera and broken down into sections so that a (150 × 150) pixel image results at 30 frames (e.g. images) per second. FIG. 3 shows a front view image of a face illuminated from above and the larger shadows and highlights that have been used for facial feature extraction, and which include: orbital area shadow 10 , a nasal highlight area 20 one Nose and nostril shadow area 30 , an upper lip highlight area 40 , a shadow mouth area 50 , a lower lip highlight area 60 , a lower lip shadow area 70 and an upper chin highlight area 80 . The eye shadow regions 10 lie along an eye line 11 , which runs perpendicular to the axis of symmetry 9 , which divides the front view into two parts. The mouth line 51 runs through the middle of a Mundschat tenbereich 50 at right angles to the axis of symmetry.
Kritische sprachbezogene Schlagschatten sind der Nasenbereich 20, der Oberlippenbereich 40, der Unterlippenbereich 60 und der Kinnbereich 80 zusammen mit den jeweils benachbarten Schattenbereichen 30, 50 und 70. Um diese kritischen Merkmale festzulegen, werden Augenbe reich-Schatten 10 verwendet, um eine Augenlinie 11 zu schaffen. Vor einem Durchführen einer Gesichtsmerkmal-Extraktion ist herausgefun den worden, vorteilhafterweise die Videobilder vorherzuverarbeiten um ein Raumrauschen mit Hilfe eines zweidimensionen (3×3) Pixel- Faltungskerns mit einer Fourier-Transformations-Tiefpaßfilter-Cha rakteristik zu verringern.Critical language-related drop shadows are the nose area 20 , the upper lip area 40 , the lower lip area 60 and the chin area 80 together with the respectively adjacent shadow areas 30 , 50 and 70 . To set these critical features, area shadows 10 are used to create an eye line 11 . Before performing facial feature extraction, it has been found advantageous to preprocess the video images to reduce spatial noise using a two-dimensional (3 × 3) pixel convolution kernel with a Fourier transform low-pass filter characteristic.
Als nächstes wird ein Kanten-Schärffilter mit einem (3×3) Pixel-Fal tungskern angewendet, um die Schatten-Licht-Übergänge zu regenerie ren, die durch die Tiefpaßfilter-Operation "aufgeweicht" worden sind. Auf diese Operation folgt ein Kantenglättungsfilter mit einem effekti ven (9×9) Pixel-Faltungskern, um ein Bild mit glatten Übergängen wie derherzustellen. Ein letzter Vorverarbeitungsschritt schließt ein zeit liches Glätten über Gruppen von drei benachbarten Videobild-Rahmen ein. Typische Faltungskerne, die zum Vorverarbeiten von Pixel-Bildrah men verwendet worden sind, sind folgende:Next, an edge sharpening filter with a (3 × 3) pixel trap core used to regenerate the shadow-light transitions ren that have been "softened" by the low pass filter operation. This operation is followed by an anti-aliasing filter with an effekti ven (9 × 9) pixel convolution kernel to make an image with smooth transitions like to manufacture. A final preprocessing step includes a time smoothing over groups of three adjacent video image frames a. Typical convolution cores used for preprocessing pixel image frames The following have been used:
- 1) ein räumlicher Gauß′scher (3×3) Filterkern mit einer Standardab weichung von 0,391 Pixel mit den folgenden Verteilungswerten: 1) a spatial Gaussian (3 × 3) filter core with a standard deviation of 0.391 pixels with the following distribution values:
- 2) ein räumlicher (3×3) Kanten-Verbesserungs-Filterkern mit der folgenden Verteilung 2) a spatial (3 × 3) edge enhancement filter core with the following distribution
- 3) ein räumlicher (16×16) Tiefpaß, der implementiert worden ist, indem ein Ordnung 1-Binomial-Filter (1,1) wiederholt 15-mal ent lang und senkrecht zu jeder Rasterzeile angewendet wird, was ei nen effektiven Kern mit einer angenäherten Gauß′schen Gewichts menge ergibt, und3) a spatial (16 × 16) low pass that has been implemented by repeating an order 1 binomial filter (1,1) 15 times long and perpendicular to each grid line, which is ei effective core with an approximate Gaussian weight quantity results, and
- 4) ein zeitlicher Filterkern, um entsprechende Pixel-Elemente zwi schen drei benachbarten mit Kern-Gewichten von (1,4,1) zu filtern.4) a temporal filter core in order to match corresponding pixel elements filter three neighboring ones with core weights of (1,4,1).
Da diese drei Filteroperationen nur lineare Prozesse einschließen, kön nen die verschiedenen Filteroperationen in irgendeiner Reihenfolge an gewendet oder sogar in einem zweistufigen Prozeß kombiniert werden, der einen kanten-schärfenden Filterschritt und einen einzigen, das Rau schen reduzierenden und glättenden Filterschritt aufweist oder können auch in einem einzigen Filterschritt verknüpft werden, bei welchem ein einziger (9×9) Pixel-Faltungskern verwendet wird, der sich ergibt, wenn die drei zweidimensionalen Kerne in einem einzigen äquivalenten Filterkern gefaltet werden.Since these three filter operations only include linear processes, the various filter operations in any order turned or even combined in a two-step process, the one edge-sharpening filter step and one, the Rau has reducing or smoothing filter step or can can also be linked in a single filter step, in which a only (9 × 9) pixel convolution kernel is used which results when the three two-dimensional nuclei in a single equivalent Filter core can be folded.
Nach den vorstehend erwähnten räumlichen Filteroperationen wird die Bild-Grauskala abgetastet, um den maximalen Lichtintensitätswert Imax und den minimalen Intensitäts-(maximalen Schatten-)Wert Imin zu bestimmen. Ein Schwellenwert-Intensitätswert IT wird festgelegt, welcher zwischen den zwei Extrema (Imax und Imin) liegt und wird verwendet, um Schattenbereiche auszuwählen, welche eine Lichtinten sität haben, die kleiner als IT ist. Ein mittlerer Wert von IT = Imax- Imin)/2 ist für diesen Zweck als brauchbar herausgefunden worden. Da die Augen- und Mundschatten gerne die tiefsten Schatten aufweisen, läuft das Schwellenwertbilden auf ein Festlegen von drei Bereichen hinaus, wie sie durch die schräg schraffierten Bereiche in Fig. 4 darge stellt sind, nämlich die Augenbereichs-Schatten 10 und einen Mundbe reich-Schatten 40.After the spatial filtering operations mentioned above, the image gray scale is scanned to determine the maximum light intensity value I max and the minimum intensity (maximum shadow) value I min . A threshold intensity value I T is determined which lies between the two extremes (I max and I min ) and is used to select shadow areas which have a light intensity which is less than I T. An average value of I T = I max - I min ) / 2 has been found to be useful for this purpose. Since the eye and mouth shadows tend to have the deepest shadows, thresholding amounts to setting three areas, as shown by the hatched areas in FIG. 4, namely the eye area shadows 10 and a mouth area shadow 40 .
Da der Mundbereich-Schatten 40 infolge einer Kopfneigung, einer phy siologischen Asymmetrie oder wegen der Beleuchtung bezüglich einer vertikalen Linie keine Symmetrie aufweisen kann, wird zuerst die Au genlinie 11 festgelegt, um dadurch die Symmetrieachse 9 festzulegen.Since the mouth area shadow 40 cannot have any symmetry due to a head tilt, a physiological asymmetry or because of the illumination with respect to a vertical line, the eye line 11 is first defined, thereby defining the axis of symmetry 9 .
Augenschatten-Bereiche 10 werden leicht identifiziert, da sie paar weise auftreten und für eine annähernd vertikale Ausrichtung der tat sächlichen Symmetrieachse in streng horizontaler Nähe festgelegt werden. Die Mitte jedes Augenschattenbereichs 10 wird festgelegt in dem der Schwerpunkt jeweils relativ zu einem beliebig gewählten Ko ordinatensystem (x, y) aufgefunden wird, das bei Koordinaten (0, 0) mit tig eingestellt worden ist, wie in Fig. 5 dargestellt ist. Beispielsweise ist der Schwerpunkt (x₁, y₁), welcher dem linken Augenschattenbereich 10 zugeordnet ist, gegeben durch:Eye shadow areas 10 are easily identified since they occur in pairs and are set in a strictly horizontal proximity for an approximately vertical alignment of the actual axis of symmetry. The center of each eye shadow area 10 is determined in that the center of gravity is found relative to an arbitrarily selected coordinate system (x, y), which has been set at coordinates (0, 0) with tig, as shown in FIG. 5. For example, the center of gravity (x₁, y₁), which is assigned to the left eye shadow region 10 , is given by:
undand
wobei (xlk, ylk die Koordinaten des k-ten Pixel-Schwerpunkts des lin ken Augenschattenbereichs 10 sind, wlk ein dem k-ten Pixel zugeordne tes Gewicht ist und Kl die Anzahl an Pixel ist, die in dem linken Augen schattenbereich enthalten sind.where (x lk , y lk are the coordinates of the kth pixel center of gravity of the left eye shadow area 10 , w lk is a weight associated with the kth pixel, and K l is the number of pixels that are in the left eye shadow area are included.
Genauso können die Koordinaten (xr, yr) des rechten Augenschattenbe reichs 10 ausgedrückt werden als:Likewise, the coordinates (x r , y r ) of the right eye shadow region 10 can be expressed as:
undand
wobei (xrk, yrk) die Koordinaten des k-ten Pixel-Schwerpunkts des rechten Augenschattenbereichs sind, wrk ein dem k-ten Pixel zugeord netes Gewicht und Kr die Anzahl Pixel ist, die in dem rechten Augen schattenbereich 10 enthalten sind.where (x rk , y rk ) are the coordinates of the kth pixel center of gravity of the right eye shadow area, w rk is a weight assigned to the kth pixel and K r is the number of pixels contained in the right eye shadow area 10 .
Die Gewichte {wlk} und {wrk} werden üblicherweise entsprechend ge wählt, um den Wert des Schattens in dem k-ten Pixel darzustellen, welches als das Komplement der Beleuchtungswerte Ilk und Irk auf fol gende Weise festgelegt werden können:The weights {w lk } and {w rk } are usually selected accordingly to represent the value of the shadow in the kth pixel, which can be determined as the complement of the lighting values I lk and I rk in the following way:
wlk = Imax - Ilk
wrk = Imax - Ik w lk = I max - I lk
w rk = I max - I k
wobei Imax die vorher gefundene maximale Beleuchtungsintensität Ilk, Irk der Beleuchtungsintensitätswert des k-ten Pixels der linken bzw. rechten Augenschattenbereiche sind.where I max is the previously found maximum illumination intensity I lk , I rk is the illumination intensity value of the kth pixel of the left and right eye shadow areas.
Weitere Definitionen für die Gewichte {wlk} und {wrk} können festge legt werden. Beispielsweise kann das Komplement mit Hilfe von Ilmax und Irmax herausgefunden werden, welche die maximalen Beleuch tungswerte für die linken bzw. rechten Augenschatten-Bereiche dar stellen. Ebenso könnten Gewichte Maßstabsfaktoren enthalten, welche die Signifikanz der k-ten Pixel-Stelle darstellen, indem größere Werte Pixeln zugeordnet werden, die an Koordinaten festgelegt sind, die eine größere Wahrscheinlichkeit haben, Augenschatten-Bereiche zu sein. Wenn folglich die Gewichte mit 0 skaliert wurden, wenn das Pixel an den entsprechenden (x, y)-Koordinaten unwahrscheinlich war, um ein Augenschatten-Pixel zu erhalten und sonst durch 1 skaliert war, würde dies eine zusätzliche Schwellenwertbildung beim Separieren der Au genschatten-Bereiche schaffen. Oder es könnte dazu verwendet werden, die anfängliche Schwellenwertbildung zu ersetzen, die verwendet worden ist, um das Bild von Fig. 5 zu erzeugen.Further definitions for the weights {w lk } and {w rk } can be specified. For example, the complement can be found using I lmax and I rmax , which represent the maximum lighting values for the left and right eye shadow areas, respectively. Weights could also include scale factors that represent the significance of the kth pixel location by assigning larger values to pixels that are fixed at coordinates that are more likely to be eye shadow areas. Thus, if the weights were scaled to 0 if the pixel at the corresponding (x, y) coordinates was unlikely to get an eye shadow pixel and was otherwise scaled by 1, this would add an additional threshold when separating the eye shadows. Create areas. Or it could be used to replace the initial thresholding that has been used to generate the image of FIG. 5.
Wenn die Gewichte {wlk} und {wrk} gleichen Werten, beispielsweise ei ner Einheit, zugeordnet werden, werden nur die Koordinaten der Schwerpunkte durch die Pixel-Zuteilung der linken und rechten Augen schatten-Bereiche der Fig. 5 festgelegt und sind vereinfacht folgende:If the weights {w lk } and {w rk } are assigned the same values, for example a unit, only the coordinates of the centers of gravity are determined by the pixel allocation of the left and right eye shadow regions of FIG. 5 and are simplified the following:
undand
Es ist eine weitere Vereinfachung herausgefunden worden, um die Ver arbeitung, die zum Bestimmen der Schwerpunkte erforderlich ist, zu reduzieren und trotzdem akzeptable Ergebnisse zu schaffen, indem das Summieren nur auf diejenigen Pixel beschränkt wird, welche den Rand (die Begrenzungslinie) der durch Schwellenwerte festgelegten linken und rechten Augenschatten definieren, wie in Fig. 5 für den linken Au genschatten-Bereich dargestellt ist. Wenn die linken und rechten Au genbereich-Koordinaten herausgefunden sind, kann die Symmetrieachse 9 festgelegt werden, indem zuerst die Augenlinie 11 ausgeführt wird, welche durch die Schwerpunkte (xr, yr) und (xl, yl) hindurchgeht. Durch Halbieren des Linienabschnitts bzw. Liniensegments zwischen den beiden Schwerpunkten an der Stelle 12 und durch Konstruieren einer unter rechtem Winkel ver laufenden Linie durch den Punkt 12, wird die Symmetrieachse 9 erhalten.A further simplification has been found to reduce the processing required to determine the focal points and still provide acceptable results by restricting the summation to only those pixels that have the edge (boundary line) of the threshold values Define fixed left and right eye shadows as shown in Fig. 5 for the left eye shadow area. When the left and right eye area coordinates are found, the axis of symmetry 9 can be determined by first executing the eye line 11 which passes through the centers of gravity (x r , y r ) and (x l , y l ). By halving the line section or line segment between the two centers of gravity at point 12 and by constructing a line running at a right angle ver through point 12 , the axis of symmetry 9 is obtained.
Somit ist die Augenlinie 11 durch den folgenden Ausdruck zu den Schwerpunkten in Beziehung gesetzt:Thus, the eye line 11 is related to the focal points by the following expression:
Der entsprechende Ausdruck für die Symmetrieachse 9 lautet:The corresponding expression for the axis of symmetry 9 is:
Der Schwerpunkt des Mundschatten-Bereichs wird mit Hilfe von Aus drücken herausgefunden, welche den vorher verwendeten entsprechen, so daß der Schwerpunkt (xm, ym) des Mundbereichs 40 ist:The center of gravity of the mouth shadow area is found with the help of expressions which correspond to those previously used, so that the center of gravity (x m , y m ) of the mouth area 40 is:
wobei (xmk, ymk) die Koordinaten des k-ten-Pixel-Schwerpunkts sind, wmk das Gewicht ist, das dem k-ten Pixel zugeordnet ist, und die Sum mierung über alle Mundbereich-Pixel erfolgt, welche in der Berechnung enthalten sind. Die Gewichte {wmk} können verschiedene Auswertungen annehmen, wie vorstehend für die Augenschattenbereich-Schwerpunkte erläutert ist, und in einer Ausführung ist die Summierung auf diejeni gen Pixel beschränkt, welche die Begrenzungslinie des Mundschatten- Bereichs festlegen, wie in Fig. 4 dargestellt ist.where (x mk , y mk ) are the coordinates of the kth pixel center of gravity, w mk is the weight assigned to the kth pixel, and the sum is made over all mouth area pixels, which is in the calculation are included. The weights {w mk } can take various evaluations, as explained above for the eye shadow area focal points, and in one embodiment the summation is limited to those pixels which define the boundary line of the mouth shadow area, as shown in FIG. 4 .
Nachdem der Mundbereich-Schwerpunkt (xm, ym) bestimmt worden ist, kann die Mundlinie 51 konstruiert werden, indem eine Linie durch den Schwerpunkt gezogen wird, die auch senkrecht zu der Symmetrieachse 9 ist, und sich folgendermaßen ausdrücken läßt:After the center of gravity of the mouth region (x m , y m ) has been determined, the mouth line 51 can be constructed by drawing a line through the center of gravity which is also perpendicular to the axis of symmetry 9 and can be expressed as follows:
Ein Bereich, der als interessierender Bereich (region of interest - ROI) bezeichnet ist, kann nunmehr als ein Rechteck festgelegt werden, bei welchem zwei Seiten (52 und 53) parallel zu der Augenlinie 11 oder auch zu der Mundlinie 51 verlaufen und in dem gleichen Abstand ober halb und unterhalb der Mundlinie 51 angeordnet sind. Die anderen bei den Seiten (54 und 55) sind parallel und in gleichem Abstand auf jeder Seite der Symmetrieachse 9 angeordnet.A region which is referred to as a region of interest (ROI) can now be defined as a rectangle in which two sides ( 52 and 53 ) run parallel to the eye line 11 or also to the mouth line 51 and in the same Distance above half and below the mouth line 51 are arranged. The others on the sides ( 54 and 55 ) are arranged in parallel and at the same distance on each side of the axis of symmetry 9 .
Die Abmessungen von ROI sind ausreichend groß gemacht, um den Na senspitzen-Schlaglichtbereich 20, den Nasen- und Nasenlochbereich 30, den Oberlippenbereich 40, den Mundbereich 50, den Unterlippenbereich 70 und den oberen Kinnbereich 80 zu enthalten. Wie in Fig. 6 dargestellt, sind als praktische Größe für ROI (32×64) Pixel herausgefunden wor den.The dimensions of ROI are made large enough to include the tip tip area 20 , the nasal and nostril area 30 , the upper lip area 40 , the mouth area 50 , the lower lip area 70 and the upper chin area 80 . As shown in FIG. 6, a practical size for ROI (32 × 64) pixels has been found.
Die Pixel, die zu ROI gehören, können gefunden werden, indem zwei Ko ordinantensysteme (x, y) und (x′, y′) festgelegt werden, wobei der Ur sprung des (x′, y′) Systems passenderweise als der Schnittpunkt der Symmetrieachse 9 und der Mundlinie 51 genommen werden kann, was in Fig. 4 mit (x₀, y₀) bezeichnet ist. Koordinaten in dem x, y-System, wel che einem Punkt in dem x′, y′-System entsprechen, können durch ein Drehen und Verschieben der Koordinaten in der x′, y′-Ebene erhalten werden. Folglich gilt:The pixels belonging to ROI can be found by defining two coordinate systems (x, y) and (x ′, y ′), the origin of the (x ′, y ′) system fittingly being the intersection of the Axis of symmetry 9 and the mouth line 51 can be taken, which is designated in Fig. 4 with (x₀, y₀). Coordinates in the x, y system, which correspond to a point in the x ′, y′ system, can be obtained by rotating and shifting the coordinates in the x ′, y′ plane. Therefore:
wobei θ = tan-1 {(yl - yr)/ (xl - xr)} die gewünschte Transformation darstellt, um irgendwelche Koordinaten von ROI, die auf das System (x′, y′) bezogen sind, in Koordinaten umzuwandeln, die auf das System (x, y) bezogen sind, welches die "natürlichen" Koordinaten der Videobild-Pi xel sind. Folglich kann durch Auswählen des Ursprungs des Systems an einem geeigneten Punkt des Videobild-Rasters, wie beispielsweise ei ner Ecke, auf die interessierenden Punkte in ROI ohne weiteres zurück gegriffen werden.where θ = tan -1 {(y l - y r ) / (x l - x r )} represents the desired transformation to any coordinates of ROI related to the system (x ′, y ′) into coordinates convert that are related to the system (x, y) which are the "natural" coordinates of the video image pixels. Thus, by selecting the origin of the system at an appropriate point on the video image raster, such as a corner, the points of interest in ROI can be readily accessed.
Wenn der Drehwinkel θ klein ist, (θ « π/2 Radian), ist sinθ ≈ 0 und cosθ ≈ 1, so daß gilt:If the angle of rotation θ is small, (θ «π / 2 radian), sinθ ≈ 0 and cosθ ≈ 1, so that:
Folglich kann, wenn die Kopf-Symmetrieachse des Sprechenden in einem kleinen Winkel zur Vertikalen verläuft, eine einfache Beziehung zwischen den interessierenden Punkten in dem (x′, y′) System ohne wei teres in das (x, y) Koordinatensystem ungewandelt werden, was höch stens zwei Additionen erfordert.Hence, if the speaker's head axis of symmetry is in is a small angle to the vertical, a simple relationship between the points of interest in the (x ′, y ′) system without white teres are converted into the (x, y) coordinate system, what is highest at least two additions are required.
Da die Raster-Abtastwerte abgetastet worden sind, um ein 150 Pixel breites Bild zu erzeugen, muß die gesamte Koordinaten-Information, welche, wie vorstehend ausgeführt, durch Berechnungen erhalten wor den ist, auf die nächstliegenden Pixel-Koordinaten abgerundet werden, wenn von dem (x′, y′) Koordinatensystem in das (x, y) Koordinatensystem umgewandelt wird. Since the raster samples have been sampled by a 150 pixel to generate a wide image, the entire coordinate information, which, as stated above, was obtained by calculations is rounded down to the nearest pixel coordinates, if from the (x ′, y ′) coordinate system to the (x, y) coordinate system is converted.
Fig. 6(a) und 6(c) zeigen zwei typische Abtastverläufe entlang der Sym metrieachse 9. Fig. 6(a) zeigt die Grauskalen-Veränderung entlang der Symmetrieachse für den in Fig. 6(b) dargestellten geschlossenen Mund. Die vertikale Abmessung von ROI in diesem Beispiel beträgt 63 Pixels. Die Höhe der Balken, die jedem Pixel entsprechen, stellt die Intensität der Beleuchtung (das Grauskalen-Komplement) dar. In ähnlicher Weise zeigen Fig. 6(c) und 6(d) einen typischen Abtastverlauf für den offenen Mund. Die physiologische Änderung wird deutlich in den Änderungen in den zwei Balken-Graphen, die deutlich die Verschiebung in den Tälern und Spitzenwerten in der Nähe der Mundlinie 51 wiedergeben. Fig. 6 (a) and 6 (c) show two typical Abtastverläufe along the Sym metrieachse. 9 Fig. 6 (a) shows the gray scale change along the axis of symmetry for the closed mouth shown in Fig. 6 (b). The vertical dimension of ROI in this example is 63 pixels. The height of the bars corresponding to each pixel represents the intensity of the illumination (the gray scale complement). Similarly, Figures 6 (c) and 6 (d) show a typical open mouth scan. The physiological change is evident in the changes in the two bar graphs that clearly reflect the shift in the valleys and peaks near the mouth line 51 .
Fig. 7(a) und 7(b) zeigen die entsprechenden, geschlossenen und offenen Mundstellungen, wie sie durch die Balken-Graphen von Bild-Abtastver läufen entlang der Mundlinie 51 in dem in Fig. 6(b) bzw. 6(d) wiederge gebenen ROI dargestellt sind. Wiederum werden physiologische Verän derungen deutlich in der Änderung der zentralen Scheitelwerte und Tä ler wiedergegeben. Fig. 7 (a) and 7 (b) show the respective closed and open mouth positions as it passes through the bar graph of image Abtastver along the mouth line 51 in FIG. 6 (b) and 6 (d ) reproduced ROI are shown. Again, physiological changes are clearly reflected in the change in central peaks and valleys.
Fig. 8(a) zeigt typische vertikale Graupegel-Abtastverläufe und zeigt die Auswahl von Grauskalen-Pixelwerten, welche jedem signifikanten Scheitelwert und Tal zugeordnet sind. Scheitelwerte sind mit P1 bis P3 und Täler mit V1 bis V3 bezeichnet. Fig. 8 (b) zeigt die Identifizierung von zwei signifikanten Tälern V4 und V5, welche die Mundwinkel-Posi tionen als eine Funktion einer Pixel-Position darstellen. Figure 8 (a) shows typical vertical gray level scans and shows the selection of gray scale pixel values associated with each significant peak and valley. Peak values are labeled P1 to P3 and valleys are labeled V1 to V3. Figure 8 (b) shows the identification of two significant valleys V4 and V5, which represent the corner of the mouth positions as a function of a pixel position.
Auf diese Weise (d. h. durch eine Scheitelwert- und Tal-Identifizierung) wird der vertikale Profilabtast-Vektor von 64 Pixels auf sechs signifi kante Elemente P1 bis P3 und V1 bis V3 reduziert, und die 32 horizon talen Pixel-Abtastungen werden auf zwei signifikante Elemente redu ziert. Diese Daten stellen einen Satz Elemente eines visuellen Sprach vektors dar und können zur Spracherkennung verwendet werden.In this way (i.e. by peak and valley identification) the vertical profile scan vector of 64 pixels on six signifi edge elements P1 to P3 and V1 to V3 reduced, and the 32 horizon tal pixel scans are reduced to two significant elements graces. This data represents a set of elements of a visual language vector and can be used for speech recognition.
Jedoch kann eine weitere Reduzierung dadurch erreicht werden, daß der Pixel-Bildvektor auf Komponenten beschränkt wird, die in näherer Be ziehung zu dem Mund stehen. Es ist herausgefunden worden, daß eine wirksame Sprach-Klassifikation (Erkennung) mit Hilfe der fünf in Fig. 9 dargestellten Punkte gemacht werden kann, wobei die mit 1′ und 2′ bezeichneten Mundwinkel V4 bzw. V5 der Fig. 8(b) entsprechen, und wobei die Oberlippen-, Mund- und Unterlippen-Positionen, die mit 3′, 4′ und 5′ bezeichnet sind, P1, V2 bzw. P2 in Fig. 8(a) entsprechen. Dieser aus fünf Elementen gebildete Datensatz könnte auch als ein visueller Merkmalsvektor verwendet werden, der sich für eine Verarbeitung mit tels eines Spracherkennungs-Klassifikators eignet. Alternativ hierzu könnte der aus fünf Elementen gebildete Datensatz zusätzlich verarbei tet werden, bevor er bei einer Sprachen-Klassifikationseinheit ange wendet wird, mit der Erwartung, daß die zusätzliche Verarbeitung die Komplexität der Klassifikator-Einheit verringern würde.However, a further reduction can be achieved by restricting the pixel image vector to components that are more closely related to the mouth. It has been found that an effective speech classification (recognition) can be made with the help of the five points shown in FIG. 9, the mouth angles V4 and V5 denoted by 1 ′ and 2 ′ corresponding to FIG. 8 (b) , and wherein the upper lip, mouth and lower lip positions, which are denoted by 3 ', 4' and 5 ', correspond to P1, V2 and P2 in Fig. 8 (a). This data set formed from five elements could also be used as a visual feature vector, which is suitable for processing by means of a speech recognition classifier. Alternatively, the five-element data set could be additionally processed before it is applied to a language classification unit, with the expectation that the additional processing would reduce the complexity of the classifier unit.
In einer bevorzugten Ausführungsform, bei welcher die fünf Positionen P1, V2, P2, V4 und V5 verwendet sind, werden zusätzliche Merkmals- Vektorelemente aus den Rahmen-zu-Rahmen-(Bild-zu-Bild-)Beobach tungen von P1, V2, P2, V4 und V5 erzeugt. Die siebzehn zusätzlichen Elemente sind folgende:In a preferred embodiment, in which the five positions P1, V2, P2, V4 and V5 are used, additional features are Vector elements from frame-to-frame (picture-to-picture) observation generated by P1, V2, P2, V4 and V5. The seventeen additional ones Elements are as follows:
- 1) der Abstand zwischen V4 und V5 (in Pixeleinheiten), welcher den Abstand zwischen den linken und rechten Mundwinkeln dar stellt;1) the distance between V4 and V5 (in pixel units), which the distance between the left and right corners of the mouth poses;
- 2) der Abstand zwischen P1 und P2, welcher den vertikalen Ab stand zwischen den Ober-und Unterlippen darstellt;2) the distance between P1 and P2, which is the vertical Ab stood between the upper and lower lips;
- 3) eine vertikale Geschwindigkeit von P1, V2 und P2, welche auf Zwischenrahmenänderungen ΔP₁/Δt, und ΔV₂/Δt, und ΔP2/Dt basieren, wobei Δt das Zwischenrahmen-Intervall (1/30 s) ist;3) a vertical speed of P1, V2 and P2, which on Interframe changes ΔP₁ / Δt, and ΔV₂ / Δt, and ΔP2 / Dt based, where Δt is the interframe interval (1/30 s);
- 4) Graupegel-Werte G(P1), G(V2) und G(P2);4) gray level values G (P1), G (V2) and G (P2);
- 5) Änderungen im Graupegel über der Zeit, welche durch G(P1)/ΔT, G(V2)/Δt und G(P2)/Δt gegeben ist;5) Changes in gray level over time caused by G (P1) / ΔT, G (V2) / Δt and G (P2) / Δt are given;
- 6) die horizontalen Geschwindigkeiten ΔV4/Δt und ΔV5/ΔT;6) the horizontal speeds ΔV4 / Δt and ΔV5 / ΔT;
- 7) Graupegel G(V4) und G(V5) und7) Gray levels G (V4) and G (V5) and
- 8) eine Graupegel-Änderung über der Zeit, was durch ΔG(V4)/Δt und ΔG(V5)/Δt gegeben ist.8) a change in gray level over time by what ΔG (V4) / Δt and ΔG (V5) / Δt is given.
Der sich ergebende visuelle Merkmalsvektor enthält 22 Elemente, wel che als der visuelle Datenvektor verwendet werden, welcher in einen TDNN-Sprachen-Klassifikator eingegeben worden sind, der in Fig. 10 dargestellt ist. Eine Videokamera 27 erzeugt ein elektrisches (150×150) Pixel-Bild (mit einer Vielzahl von horizontalen Linien) des Sprecher-Gesichts, welches dann einem visuellen Merkmalsvektor-Ge nerator 90 zugeführt wird, das räumliche und zeitliche Filter 91 zum Vorverarbeiten des Bildes enthält. Eine Schwellenwertbildung, eine ROI-Auswahl und eine Koordinaten-Umwandlung werden in einer Einheit 92 durchgeführt, die ausgewählten Elemente entlang der Symmetrie achse und der Mundlinie werden zu einem visuellen Merkmalsprozessor 93 durchgelassen, welcher den visuellen Merkmalsvektor mit 22 Ele menten erzeugt, welcher dann als ein Eingangswert dem TDNN-Spra chen-Klassifikator 200 zugeführt wird.The resulting visual feature vector contains 22 elements which are used as the visual data vector which has been input to a TDNN language classifier shown in FIG. 10. A video camera 27 creates an electrical (150x150) pixel image (with a plurality of horizontal lines) of the speaker's face, which is then fed to a visual feature vector generator 90 that includes spatial and temporal filters 91 for preprocessing the image . Thresholding, ROI selection and coordinate conversion are performed in a unit 92 , the selected elements along the axis of symmetry and the mouth line are passed to a visual feature processor 93 which generates the 22 feature visual feature vector, which is then called an input value is supplied to the TDNN language classifier 200 .
In dem kombinierten, akustischen und visuellen Spracherkennungssy stem der Fig. 1 kamen die akustischen Datensignale in einem Zeitfen ster mit einer Dauer von einer Sekunde vor und wurden gleichzeitig von einem Kardioid-Mikrophon 28 aufgenommen und wurden dann mit einer Abtastfrequenz von 8012 Hz mit einer 8 Bit-(mu-law-)Codierung abge tastet und digitalisiert (was einer digitalen Fernsprechleitungs-Quali tät äquivalent ist). Eine vierzehnwertige Mel-Leistungsspektrums-Ana lyse wurde mittels eines Spektrum-Analysators 24 mit Hilfe einer dis kreten Fourier-Transformation auf 256 Datenpunkt-Rahmen durchgeführt, die in Intervallen von 5 ms zentriert sind, um die vierzehn Mel-Lei stungsspektral-Analyse-Filter zu simulieren. Jeder der 256 Daten punkt-Rahmen wurde durch eine Hamming-Fensterfunktion mit einem Fenster versehen, um einen spektralen Verlust zu reduzieren. Das An wenden der diskreten Fourier-Transformation bei den "gefensterten" Daten und das Ausbilden der quadrierten Größe der Fourier-Koeffizien ten führte zu einem Leistungsspektrum mit einer gleichförmigen Auf lösung mit 128 Punkten. Jedoch hat das Mel-Skalen-14 Band-Leistungs spektrum eine Frequenzskala F, die logarithmisch in Beziehung zu der normalen linearen Frequenzskala f in folgender Weise steht:In the combined acoustic and visual speech recognition system of FIG. 1, the acoustic data signals occurred in a time window with a duration of one second and were simultaneously recorded by a cardioid microphone 28 and were then recorded at a sampling frequency of 8012 Hz with an 8 Bit (mu-law) coding sampled and digitized (which is equivalent to a digital telephone line quality). A fourteen-valued Mel power spectrum analysis was performed using a spectrum analyzer 24 using a discrete Fourier transform on 256 data point frames centered at 5 msec intervals around the fourteen Mel power spectral analysis filters to simulate. Each of the 256 data point frames was windowed by a Hamming window function to reduce spectral loss. Applying the discrete Fourier transform to the "windowed" data and forming the squared size of the Fourier coefficients resulted in a performance spectrum with a uniform resolution with 128 points. However, the Mel scale 14 band power spectrum has a frequency scale F which is logarithmically related to the normal linear frequency scale f in the following way:
F = ln (1 + f/700).F = ln (1 + f / 700).
Diese Mel-Frequenzskala basiert auf psycho-akustischen Frequenz- Skalierexperimenten, die zeigen, daß menschliche Beurteilungen des relativen Abstands von zwei Sinuskurven nicht äquivalent deren tat sächlichen arithmetischen Verhältnis sind. Folglich betrifft die vor stehende Gleichung die Beurteilung des wahrgenommenen Abstands F zu den physikalischen Messungen der Frequenz f. Obwohl das Mel-Lei stungsspektrum verwendet wurde, können bei einer Vielzahl von Lei stungsspektrum-Typen, welche diejenigen einschließen, die auf Gleich bleiben oder exponentiell skalierten Band-Intervallen basieren, in die ser Anwendung effektiv sein.This mel frequency scale is based on psycho-acoustic frequency Scaling experiments which show that human assessments of the relative distance from two sine curves not equivalent to what they did objective arithmetic relationship. Hence, the concerns above equation to assess the perceived distance F. the physical measurements of frequency f. Although the Mel-Lei stung spectrum can be used with a variety of Lei Performance spectrum types that include those that are alike remain or are based on exponentially scaled band intervals be effective.
Fig. 11 zeigt einen graphischen Kurvenverlauf der Mel-Frequenz F über der tatsächlichen Frequenz f. Vierzehn gleichförmige Bandbreiten auf der Mel-Skala sind auf der vertikalen Skala zusammen mit deren Pro jektion auf die tatsächliche Frequenzskala als nicht-gleichförmige Bänder dargestellt, welche mit zunehmender Frequenz f entsprechend dem vorstehend wiedergegebenen Ausdruck größer werden. Die untere Abszissenskala bezieht sich auf einen Fourier-Koeffizienten-Frequen zindex bezüglich der tatsächlichen Frequenz. Folglich werden die gleichförmigen 14-Mel-Skalen-Bandbreitenfilter dadurch simuliert, daß die spektrale Leistung in den entsprechenden, linearen, nicht- gleichförmigen Bändern, wie dargestellt, summiert werden. Ein stati stisch stetigeres Mel-Skalen-Leistungsspektrum wird jeweils alle 5 ms oder 200mal pro Sekunde erzeugt, indem sequentielle Paare von Spektren gemittelt werden, welche die effektive Ausgangs-Spektrums rate auf jeweils 10 ms (100 Spektren pro Sekunde) reduziert. Der näch ste Verarbeitungsschritt, der von dem Spektrum-Analysator 24 durch geführt wird, ist die Erzeugung des Logarithmus jedes Mel-Spektrums, um einen logarithmischen 14 Komponenten-Mel-Spektralvektor zu er halten. Eine Normung jedes Satzes von logarithmischen Mel-Spektren, die einer vorgegebenen Sprechweise/Aussprache entsprechen, wird da durch erreicht, daß der Mittelwert berechnet und das Maximum und Mi nimum aller Werte in dem Satz extrahiert werden. Die logarithmischen Mel-Spektralsätze wurden dann skaliert, um zu bewirken, daß der neue Mittelwert null ist und der Maximumwert jedes Log-Spektrums eins ist. Die normierten logarithmischen Mel-Spektralvektoren sind auf Ausgangsleitungen 25 des Spektrum-Analysators 24 verfügbar. Fig. 11 shows a graphical curve of the Mel frequency F over the actual frequency f. Fourteen uniform bandwidths on the Mel scale are shown on the vertical scale together with their projection onto the actual frequency scale as non-uniform bands, which become larger with increasing frequency f in accordance with the expression given above. The lower abscissa scale refers to a Fourier coefficient frequency index with respect to the actual frequency. As a result, the uniform 14-mel scale bandwidth filters are simulated by summing the spectral power in the corresponding linear, non-uniform bands, as shown. A statistically more consistent mel-scale power spectrum is generated every 5 ms or 200 times per second by averaging sequential pairs of spectra, which reduces the effective output spectrum rate to 10 ms (100 spectra per second). The next processing step performed by the spectrum analyzer 24 is to generate the logarithm of each Mel spectrum to obtain a 14 component Mel spectral vector logarithmic. A standardization of each set of logarithmic Mel spectra, which correspond to a given speech / pronunciation, is achieved by calculating the mean and extracting the maximum and minimum of all values in the set. The log mel spectral sets were then scaled to cause the new mean to be zero and the maximum value of each log spectrum to be one. The standardized logarithmic Mel spectral vectors are available on output lines 25 of the spectrum analyzer 24 .
Da in einer Ausführungsform die Video-Bildfrequenz der Kamera 27 in Fig. 1 60 Bilder/s betrug, während die spektrale Erzeugungsfrequenz des Spektrumanalysators 100 Spektren pro Sekunde betrug, war ein zu sätzlicher Verarbeitungsschritt erforderlich, um die zwei Frequenzen anzupassen. Dies ist grafisch in Fig. 1 durch den strichpunktierten, mit "Interpolator" bezeichneten Block 26 dargestellt, der nur erforderlich ist, wenn die Video-Bildfrequenz und die spektrale Bildfrequenz nicht dieselben sind. In diesem Fall wurden aufeinanderfolgende Videodaten- Rahmen (Vektoren), die jeweils die vorstehend beschriebenen fünf Vek tor-Komponenten aufweisen, mit einem (sin x)/x-Interpolationskern interpoliert, um eine neue Folge von Frequenzen mit einer Geschwindig keit von 100 pro Sekunde zu erzeugen. Mit anderen Worten, der Wert der interpolierten k-ten Abtastung, die in einer Zeit = k/100 pro Sekunde (k = 0, ± 1, ±2, . . .), d. h. in gleichförmigen Zeitintervallen von 10 ms vorkommt, ist gegeben durch:In one embodiment, since the video frame rate of the camera 27 in Fig. 1 was 60 frames / s, while the spectral generation frequency of the spectrum analyzer was 100 spectra per second, an additional processing step was required to adjust the two frequencies. This is illustrated graphically in FIG. 1 by the dash-dotted block 26 labeled "interpolator", which is only required if the video frame rate and the spectral frame rate are not the same. In this case, successive video data frames (vectors), each having the five vector components described above, were interpolated with a (sin x) / x interpolation core to produce a new sequence of frequencies at a speed of 100 per second to create. In other words, the value of the interpolated kth sample, which occurs in a time = k / 100 per second (k = 0, ± 1, ± 2,...), Ie in uniform time intervals of 10 ms, is given by:
wobei x(m/60) der Wert der Vektorkomponente zu einem Zeitpunkt =m/60 ist, m der ursprüngliche ganzzahlige Zeitindex ist, der in Inter vallen von 1/60 s inkrementiert worden ist; k der neue Zeitindex ist, der in Intervallen von 1/100 s inkrementiert worden ist, und X(k/100) die interpolierten Werte an den 1/100 s-Intervallen ist.where x (m / 60) is the value of the vector component at a time = m / 60, m is the original integer time index, which in Inter increments of 1/60 s; k is the new time index, which has been incremented at 1/100 s intervals and X (k / 100) is the interpolated values at the 1/100 s intervals.
Diese Operation kann mittels normaler Faltungs-(digitaler Filte rungs)Techniken durchgeführt werden. Andere mögliche Interpolations kerne einschließlich linearer, quadratischer und polynomischer Kerne höherer Ordnung könnten ebenso für eine Interpolation verwendet wer den, ohne den Nutzeffekt merklich zu beeinträchtigen. This operation can be done using normal folding (digital filters techniques are carried out. Other possible interpolations cores including linear, square and polynomial cores higher order could also be used for interpolation that without noticeably affecting the efficiency.
Folglich werden die fünf Ausgangsleitungen 15 des visuellen Vektorge nerators 14 und die 14 Ausgangsleitungen 25 des akustischen Spek trum-Analysators 24 kombiniert, um einen zeitlich veränderlichen, au dio-visuellen ("AV") Vektor mit 29 Komponenten zu bilden, der an die TDNN 200 anzulegen ist, wie in Fig. 1 dargestellt ist.Thus, the five output lines 15 of the visual vector generator 14 and the 14 output lines 25 of the acoustic spectrum analyzer 24 are combined to form a time-varying, audio-visual ("AV") vector with 29 components, which is connected to the TDNN 200 is to be created, as shown in FIG. 1.
Um Sprechweisen anzupassen, die von unterschiedlicher Länge und et was unvorhersehbar hinsichtlich ihres Anfangszeitpunkts sein können, wurde das für eine Sprach-Klassifikation verwendete neuronale Netz werk ausgewählt, das ein zeitverzögertes neuronales Netzwerk (TDNN) ist, das demjenigen entspricht, das von Waibel, A. in einem Artikel mit dem Titel "Modular Construction of Time-Delay Neural Networks for Speech Recognition" in Neural Computation 1, Stn. 39 bis 46 (1989) be schrieben ist.To adapt styles of speech of different lengths and et what can be unpredictable in terms of when they started, became the neural network used for a language classification plant selected, which is a time-delayed neural network (TDNN) which corresponds to that of Waibel, A. in an article with entitled "Modular Construction of Time-Delay Neural Networks for Speech Recognition "in Neural Computation 1, Stn. 39 to 46 (1989) be is written.
Fig. 12(a) und 12(b) zeigen zwei funktionell äquivalente Ausführungen eines TDNN. Fig. 12(a) weist eine gleichmäßig mit Abgriffen versehene Verzögerungsleitung 103 auf, welche eine Eingangsdaten-Folge x(t) auf einer Eingangsleitung 101 erhält. Die Signale an den Abgriffen 102 der Verzögerungsleitung bilden einen Zeitfolge-Vektor, welcher die Zeit folge x(t) darstellt, die an die Verzögerungsleitung 103 angelegt wor den ist, wobei die älteren Daten auf der rechten Seite sind, d. h. jeder Abgriff hat einen Ausgang, welcher einen eingegebenen Folgewert dar stellt, welcher τ Sekunden eher anliegt, als ein unmittelbar links davon liegender Wert. Zu einem vorgegebenen Zeitpunkt ist ein zeitlicher Ver lauf der eingegebenen Folge an den Ausgangsabgriffen 102 verfügbar. Eine ausgewählte Gruppe von benachbarten Abgriffen ist mit Leitungen 105 eines mit N1 bezeichneten Neuron 110 verbunden. Ebenso wird ein Satz, der die gleiche Anzahl von Eingängen wie Abgriffe 102 hat, aber um eine Verzögerungseinheit τ verschoben ist, an ein mit N2 bezeichne tes Neuron 110 angelegt. Wie dargestellt, kann die TDNN-Struktur eine Anzahl zusätzlicher Neuron-Einheiten 110 aufweisen, die in derselben Weise geschaltet sind, wobei jedes um eine Verzögerungseinheit τ ver schoben ist. Die Neurons 110 sind jeweils im Aufbau identisch und be nutzen die gleiche Gruppe synaptischer Gewichte, welche über Leitun gen 107 angelegt werden. Folglich stellt der Ausgangswert jedes Neu ron 110 auf Ausgangsleitungen 109 eine Datenfolge {yk(t)} dar, welche in der Zeit um das Intervall τ von ihrem benachbarten Neuron 110-Aus gang verschoben sind. Fig. 12 (a) and 12 (b) show two embodiments of a functionally equivalent TDNN. Fig. 12 (a) has a uniformly tapped delay line 103 which receives an input data sequence x (t) on an input line 101 . The signals on taps 102 of the delay line form a time sequence vector which represents the time sequence x (t) which has been applied to delay line 103 , the older data being on the right-hand side, ie each tap has an output , which represents an input subsequent value which is applied τ seconds earlier than a value immediately to the left of it. At a predetermined point in time, a time course of the input sequence is available at the output taps 102 . A selected group of adjacent taps is connected to lines 105 of a neuron 110 labeled N1. Likewise, a set which has the same number of inputs as taps 102 , but is shifted by a delay unit τ, is applied to a neuron 110 designated N2. As shown, the TDNN structure can have a number of additional neuron units 110 connected in the same manner, each shifted by a delay unit τ. The neurons 110 are each identical in structure and use the same group of synaptic weights, which are applied via lines 107 . Consequently, the output value of each neuron 110 on output lines 109 represents a data sequence {y k (t)} which is shifted in time by the interval τ from its neighboring neuron 110 output.
Die Hardware der in Fig. 12(b) dargestellten TDNN-Struktur benutzt ein einziges Neuron 110 in einem Multiplex-Mode. Die eingegebene Daten folge, die über die Eingangsleitung 101 an die mit Abgriffen versehene Verzögerungsleitung angelegt worden ist, erzeugt ein Bild ihrer ver gangenen Werte in Intervallen von τ Sekunden auf Ausgangsleitungen 105, welche parallel an eine Neuron-Zelle 110 angelegt sind. Ein Satz Gewichte (die identisch den in Fig. 12(a) verwendeten sind) werden durch Eingangsleitungen 107 angelegt. In jedem Intervall τ erzeugt eine Neuron-Zelle 110 einen Ausgangswert auf der Leitung 108, welcher an eine zweite, mit Abgriffen versehene Verzögerungsleitung 103 angelegt wird. Wenn die zweite Verzögerungsleitung 103, welche zu der nächst höheren Schicht gehört, n Abgriffe hat, wie dargestellt ist, hat jeder von (n-1) Ausgangsabgriffen 109 in Intervallen von τ Sekunden einen neuen Abtast-Ausgangsvektor, der identisch ist mit demjenigen, wel cher durch das TDNN der Fig. 12(a) für dieselben eingegebenen Datenge wichte erzeugt werden würde.The hardware of the TDNN structure shown in Fig. 12 (b) uses a single neuron 110 in a multiplex mode. The input data sequence, which has been applied via the input line 101 to the tapped delay line, forms an image of its past values at intervals of τ seconds on output lines 105 which are applied in parallel to a neuron cell 110 . A set of weights (identical to those used in Fig. 12 (a)) are applied through input lines 107 . In every interval τ, a neuron cell 110 generates an output value on line 108 , which is applied to a second, tapped delay line 103 . If the second delay line 103 , which belongs to the next higher layer, has n taps as shown, each of (n-1) output taps 109 has a new sample output vector at intervals of τ seconds which is identical to that wel would be generated by the TDNN of FIG. 12 (a) for the same input data weights.
Beide Strukturen der Fig. 12 sind dazu geeignet, eine einzige, sich zeit lich ändernde Vektorkomponente an ihrem Eingangsanschluß 101 aufzu nehmen. Folglich müssen die dargestellten Strukturen für jede Kompo nente des Eingangsvektors unterteilt sein. Im allgemeinen werden die eingegebenen Gewichte für jede Komponente eindeutig sein, wie durch die Trainingsprozedur festgelegt worden ist.Both structures of FIG. 12 are suitable for receiving a single, time-changing vector component at its input connection 101 . Consequently, the structures shown must be divided for each component of the input vector. In general, the weights entered for each component will be unique, as determined by the training procedure.
Die Zeitverzögerungseinheit τ ist so gewählt, daß Aliasing von Einga bedaten minimiert wird. Wenn der Wert von τ im wesentlichen kleiner als das Nyquist-Abtastinterval ist, würden die Werte an benachbarten Ausgangsabgriffen 109 stark in Wechselbeziehung stehen und würden wegen der überschüssigen Freiheitsgrade (Redundanz), die in dem neu ronalen Netzwerk verwendet sind, zu Instabilitäten im Training führen. The time delay unit τ is chosen so that aliasing of input data is minimized. If the value of τ is substantially less than the Nyquist sampling interval, the values at adjacent output taps 109 would be highly interrelated and would result in training instabilities due to the excess degrees of freedom (redundancy) used in the neural network .
Wenn das Intervall τ größer als das Nyquist-Abtastintervall ist, wird ein Aliasing eingeführt, das zu einer inkorrekten Klassifikation von Eingabedaten führen kann. Es wurde festgestellt, daß ein annehmbarer Wert etwa 10 ms beträgt.If the interval τ is larger than the Nyquist sampling interval, introduced an aliasing that leads to an incorrect classification of Can lead to input data. An acceptable one has been found Value is about 10 ms.
Die Anzahl an Verzögerungselementen pro Verzögerungsleitung muß ausreichend sein, um sicherzustellen, daß ein vollständiger Ausspra cheabschnitt durch die Gesamtverzögerung von (n-1) τ für die Verzöge rungsleitungs-Struktur mit n Ausgangsabgriffen überspannt wird. Für die Klasse von benutzten Sprechweise- bzw. Aussprachewerten wurde herausgefunden, daß eine Spannweite von 100 Elementen mit einer Verzögerung von 10 ms (somit insgesamt 1000 ms) angemessen ist. Kürzere Beobachtungsspannen können eine Klassifizierung verschlech tern, da sie nicht den gesamten Abschnitt enthalten, und längere Span nen können die Klassifikation verschlechtern, weil sie viele überflüs sige Daten enthalten.The number of delay elements per delay line must be sufficient to ensure that a complete speech section through the total delay of (n-1) τ for the delays line structure is spanned with n output taps. For the class of speech or pronunciation values used found that a span of 100 elements with a Delay of 10 ms (thus a total of 1000 ms) is appropriate. Shorter observation periods can worsen a classification tern since they do not contain the entire section and longer span The classification can deteriorate because it overflows many contain some data.
In einem praktischen Spracherkennungssystem ist ein mehrlagiges Vektoreingabe-TDNN erforderlich. Dies kann durch eine kaskadenartige Anordnung einer Anzahl von einschichtigen TDNNs realisiert werden, so daß die Ausgangsfolge einer vorgegebenen Schicht die Eingangsfolge der nächst höheren Schicht wird. Auf diese Weise bildet jede Schicht eine eingegebene Zeitfolge in eine andere Ausgabezeitfolge ab und bil det zu allerletzt die eingegebene Zeitfolge von Merkmalen (akustischen und visuellen) in eine Zeitfolge von Attributen (Klassifikationen) ab. Da das TDNN ein Untergruppe von neuronalen Optimalwert-Netzwerken darstellt, ist es mit Hilfe der bekannten Rückausbreitungs- oder anderer Gradienten abwärts-Algorithmen trainierbar. Außerdem hat das TDNN die gefor derte Eigenschaft, eine identische Transformation einer Folge von Merkmal-Zeitfenstern an inkrementell veränderlichen Zeitabschnitten nacheinander durchzuführen. Im Gegensatz zu herkömmlicheren neuro nalen Optimalwert-Netzwerken muß die eingegebene Datenfolge nicht genau mit einem absoluten Zeitreferenzwert abgestimmt sein, um ein richtiges Training zuzulassen. Die TDNN-Struktur bestätigt, daß inter essierende Muster in der eingegebenen Datenfolge zeitlich irgendwo auftreten können und während des Lernens versucht das TDNN beispiel hafte Muster in der Trainingsfolge zu finden, ohne Rücksicht darauf, wann sie vorkommen.In a practical speech recognition system there is a multilayer Vector input TDNN required. This can be done by a cascade Arrangement of a number of single-layer TDNNs can be realized, so that the output sequence of a given layer is the input sequence the next higher layer. In this way each layer forms an entered time sequence into another output time sequence and bil last but not least the entered time sequence of features (acoustic and visual) into a time sequence of attributes (classifications). There the TDNN is a subset of optimal neural networks it using the known back propagation or other gradients downward algorithms trainable. In addition, the TDNN has required another property, an identical transformation of a sequence of Feature time windows at incrementally changing time periods to be carried out one after the other. In contrast to more conventional neuro nalen Optimalwert networks the entered data sequence does not have to to be exactly matched to an absolute time reference value allow proper training. The TDNN structure confirms that inter eating patterns somewhere in time in the entered data sequence can occur and while learning the TDNN tries for example to find sticky patterns in the training sequence regardless of when they occur.
Wenn jedoch gefordert wird, daß der Netzwerkausgang ein einziger Satz von Attributen ist, kann eine Merkmalsfolge fester Dauer in der Eingangs-Verzögerungsleitung gespeichert werden. Die Dauer sollte so gewählt werden, daß die Zeitspanne (das Fenster) der Verzögerungslei tung sicher die interessierende Folge enthalten kann. Wenn jede folgen de Schicht des TDNN eine Funktion der Fenster-Zeitspanne ist, kann der Ausgang für jedes Merkmal/Attribut der Endstufe auf einen einzigen Wert des Fensterintervalls gemittelt werden.However, if the network output is required to be a single one Is set of attributes, a sequence of features can have a fixed duration in the Input delay line can be saved. The duration should be like this be chosen that the period (the window) of the delay line can certainly contain the sequence of interest. If everyone follows de layer of the TDNN is a function of the window period, the Output for each characteristic / attribute of the output stage to a single one Value of the window interval can be averaged.
Fig. 13(a) und 13(b) zeigen ein Beispiel eines typischen gesprochenen Ausdrucks (die Sprechweise). In Fig. 13(a) ist ein elektrisches Signal dargestellt, welches den Schalldruck darstellt, das bei etwa 15,4 s be ginnt und bei 17,0 s endet. Fig. 13b zeigt die fünf Komponenten des vi suellen Vektors derselben Äußerung, die ebenfalls bei etwa 15,4 s be ginnt und etwa 1,6 s später (bei 17,0 s) endet. Folglich würde ein Fen ster von einer Sekunde Dauer angemessen erscheinen, um sowohl die meisten akustischen als auch visuellen Signale zu enthalten. Fig. 13 (a) and 13 (b) show an example of a typical spoken expression (the manner of speaking). In Fig. 13 (a), an electrical signal is shown which represents the sound pressure, which starts at about 15.4 s and ends at 17.0 s. Fig. 13b shows the five components of the vector vi suellen same utterance, which is also at about 15,4 s be gins and about 1.6 sec later (see 17.0) ends. As a result, a window of one second would appear reasonable to contain both most of the audible and visual signals.
In den nachstehend beschriebenen Ausführungsformen wurden zehn mögliche Ausdruck/Aussprachearten in das Spracherkennungssystem gesprochen, und dann wurden zehn Ausgangswerte am Ausgang erzeugt, die jeweils die Wahrscheinlichkeit einer der zehn möglichen Sprech weisen darstellen, die gesprochen worden sind. Die Netzwerkstruktur, wies zwei Schichten des TDNN-Typs auf, auf welche eine Stufe zur Zeitmittelung und Wahrscheinlichkeitsnormung folgte.In the embodiments described below, ten possible expression / pronunciation types in the speech recognition system spoken, and then ten output values were generated at the output, each the probability of one of the ten possible speeches represent wise men who have been spoken. The network structure, had two layers of the TDNN type, to which a step to Time averaging and probability standardization followed.
Die fünf verschiedenen Ausführungsformen eines zu beschreibenden Spracherkennungssystems enthalten:The five different embodiments of one to be described Speech recognition system included:
- a) das VO-System, das nur visuelle Daten benutzta) the VO system, which uses only visual data
- b) das AO-System, das nur akustische Daten benutzt;b) the AO system, which only uses acoustic data;
- c) das AxV-System, das auf einem hohen Pegel eine Kombina tion des AO- und VO-Systems ist;c) the AxV system, which is a Kombina at a high level tion of the AO and VO system;
- d) das AV-System, das auf mittlerem Pegel (Klassifikations schicht) das AO- und das VO-System verknüpft, undd) the AV system, which is at medium level (classification layer) links the AO and VO systems, and
- e) das volle AV-System mit einer integrierten Verarbeitung von akustischen und visuellen Daten.e) the full AV system with integrated processing of acoustic and visual data.
Die Architektur eines TDNN-Netzwerk ist in Fig. 14 dargestellt, wie es in einer VO-Ausführungsform eines Sprach-Klassifikators 200 verwen det ist, was nur auf dem Lesen der visuellen Vergleichsmarkierungen basiert, wobei die fünf vorher beschriebenen Abstandsmerkmale ver wendet werden. Bei dieser Ausführungsform wurden keine akustischen Daten benutzt. Die Verzögerungsleitungs-Eingangsstufe 210 weist fünf Verzögerungsleitungseinheiten 103 mit jeweils 100 Ausgangsabgriffen auf, wobei jede Verzögerungsleitung 103 eine der fünf Komponenten des visuellen Vektors speichert, welcher mittels des Vektorgenerators 14 der Fig. 4 geschaffen ist. Die Verzögerungsleitungen wurden in Soft ware simuliert. Das Zeitinkrement τ zwischen gespeicherten Werten beträgt 10 ms, so daß das eingegebene Zeitfolge-Fenster 1000 ms über spannt.The architecture of a TDNN network is shown in FIG. 14 as used in a VO embodiment of a speech classifier 200 , which is based only on reading the visual comparison markers, using the five distance features previously described. No acoustic data was used in this embodiment. The delay line input stage 210 has five delay line units 103 each with 100 output taps, each delay line 103 storing one of the five components of the visual vector which is created by means of the vector generator 14 of FIG. 4. The delay lines were simulated in software. The time increment τ between stored values is 10 ms, so that the entered time sequence window spans 1000 ms.
Eine verdeckte Schicht 220 weist vier Reihen Neuron-Zellen auf, die jeweils 81 Neuron-Zellen mit (5×20) Eingängen an jeder Zeile haben. Jedes Neuron in einer vorgegebenen Reihe ist mit 20 benachbarten Ver zögerungsleitungswerten der fünf Verzögerungsleitungen verbunden. Die Reduzierung von fünf auf vier Reihen schaffte ein Modicum einer Datenkompression in der Reihenabmessung.A buried layer 220 has four rows of neuron cells, each having 81 neuron cells with (5 x 20) inputs on each row. Each neuron in a given row is connected to 20 adjacent delay line values of the five delay lines. The reduction from five to four rows created a modicum of data compression in the row dimension.
Die Klassifikationsschicht 230 weist zehn Reihen auf, eine für jede der zu detektierenden Aussprachen, und ist 72 Neuron-Zellen lang. Jedes Neuron nimmt ein Feld von 40 Eingangsleitungen auf: vier Reihen von der versteckten Schicht 220 mit zehn aneinandergrenzenden neuronalen Ausgängen in der verdeckten Schicht. Jeder der zehn sich ergebenden Reihen hat 72 Neuron-Zellen, welche den 72 möglichen Werten entspre chen, die von dem zeitlich verschobenen Ausgang der verdeckten Schicht zur Verfügung stehen. Jeder Wert am Ausgang der Neuronen in einer vorgegebenen Reihe der Klassifikationsschicht 230 entspricht der Wahrscheinlichkeit, daß die entsprechende Aussprache/Sprachweise während eines von 72 Zeitintervallen von 290 ms aufgetreten ist, die in Intervallen von 10 ms angeordnet sind und das Original-(Eingangs stufen-)Datenfenster von 1000 ms überspannen. Die Auflösung von 290 ms ergibt sich aus dem 20 ms-Fenster, das als Eingang zu der ver deckten Schicht 220 verwendet worden ist, und aus den nachfolgenden zehn Fenstereinheiten, welche in der verdeckten Schicht 220 verwen det sind.The classification layer 230 has ten rows, one for each of the pronunciations to be detected, and is 72 neuron cells long. Each neuron receives an array of 40 input lines: four rows from the hidden layer 220 with ten adjacent neuronal outputs in the hidden layer. Each of the ten resulting rows has 72 neuron cells, which correspond to the 72 possible values available from the shifted exit of the hidden layer. Each value at the output of the neurons in a given row of the classification layer 230 corresponds to the probability that the corresponding pronunciation / speech has occurred during one of 72 time intervals of 290 ms, which are arranged at intervals of 10 ms and the original (input step ) Span data window of 1000 ms. The resolution of 290 ms is obtained from the 20 ms window that has been used as an input to the ver buried layer 220, and from the following ten window units which are det USAGE in the hidden layer 220th
Die Mittelungsschicht 240 weist 10 Neuron-Zellen auf, die jeweils ei ner spezifischen Reihe der Klassifikationsschicht und folglich einer spezifischen der zehn zulässigen Sprechweisen/Aussprachen zugeord net ist. Die Werte in jeder Ausgangsreihe der Klassifikationsschicht 230 zeigt die Wahrscheinlichkeit an, daß die spezielle Ausspra che/Sprechweise während eines Intervalls von 290 ms vorgekommen ist, welches dieser Zelle entspricht. Die 72 Eingänge werden in der entsprechenden Neuron-Zelle in der Mittelungsschicht verknüpft, um einen Wert an deren Ausgang zu erzeugen, welcher die Wahrscheinlich keit darstellt, daß diese Aussprache/Sprechweise irgendwo während des Beobachtungsfensters von 1000 ms der Eingangsstufe 210 gespro chen wurde.The averaging layer 240 has 10 neuron cells, each of which is assigned to a specific row of the classification layer and consequently to a specific one of the ten permissible speeches / pronunciations. The values in each output row of classification layer 230 indicate the likelihood that the particular pronunciation / speech occurred during a 290 ms interval that corresponds to that cell. The 72 inputs are linked in the corresponding neuron cell in the averaging layer to produce a value at their output which represents the probability that this pronunciation / speech was spoken somewhere during the 1000 ms observation window of input stage 210 .
Das nur akustische (AO-)Spracherkennungssystem verwendet dieselbe Architekturart wie die in Fig. 14 dargestellte VO-Systemarchitektur, wobei Parameter eingestellt werden, um die logarithmischen Mel-Ska la-Spektralmerkmal-Vektoren mit 14 Komponenten anzupassen, welche von dem Spektrum-Analysator 14 der Fig. 1 in Intervallen von 10 ms ge schaffen worden sind. Folglich hat die Verzögerungsleitung-Eingangs stufe 210 eine Anordnung von 14 Reihen von 100 Datenwerten als Ein gängen an der verdeckten Schicht 220. Jede Reihe entspricht einem 1000 ms-Wert von logarithmischen Mel-Skalenwerten von einem der Gruppe von 14 Ausgangsfiltern des Spektrum-Analysators 14.The only acoustic (AO) speech recognition system uses the same type of architecture as the VO system architecture shown in FIG. 14, with parameters being set to match the 14-component logarithmic Mel Ska la spectral feature vectors obtained from the spectrum analyzer 14 have been creating the Figure 1 at intervals of 10. ms ge. Thus, the delay line input stage 210 has an array of 14 rows of 100 data values as inputs to the hidden layer 220 . Each row corresponds to a 1000 ms value of logarithmic mel scale values from one of the group of 14 output filters of the spectrum analyzer 14 .
Die verdeckte AO-Schicht 220 wies vier Reihen von 96 Neuron-Zellen für eine Merkmalskompression von 14 auf 4 auf. Jedes Neuron 221 ist mit 5 benachbarten Eingangsstufen-Zeitabtastwerten (samples) jedes der 14 Eingangsmerkmale (insgesamt 70 Eingangsmerkmalwerte pro Neuron) verbunden. Das Eingangsfenster von 5 Einheiten (50 ms) ist ein typisches Zeitintervall für die wichtigsten, akustischen Merkmale, wie Bursts und Übergänge. Folglich erhält jedes drauffolgende Neuron in ei ner vorgegebenen Reihe einer verdeckten Schicht 220 eine (14 Zeilen mal 5 Spalten) Anordnung von Eingangswerten von einer Eingangsstufe 210 an, die um ein Intervall von 10 ms verschoben sind.The buried AO layer 220 had four rows of 96 neuron cells for feature compression from 14 to 4. Each neuron 221 is connected to 5 adjacent input stage time samples of each of the 14 input features (a total of 70 input feature values per neuron). The input window of 5 units (50 ms) is a typical time interval for the most important acoustic features, such as bursts and transitions. Thus, each subsequent neuron in a given row of hidden layer 220 receives an (14 rows by 5 columns) array of input values from an input stage 210 that are shifted by an interval of 10 ms.
Jedes Neuron 231 der AO-Klassifikationsschicht 230 nimmt einen Ein gangsfaktor von 4 Merkmalsreihen und 25 Zeitspalten von der verdeck ten Schicht 220 an. Jede nachfolgende Spalte von Neuronen 231 erhält Eingänge von der verdeckten Schicht 220, die um eine Spalten-Zeitein heit von 10 ms verschoben sind. Das 25 Spalten-Fenster wurde so ge wählt, daß das gesamte effektive Zeitfenster, das von der Klassifika tionsschicht 230 gesehen worden ist, 290 ms (((5-1) + 25) × 10 ms) ist; dasselbe effektive Fenster wurde in dem vorstehend beschriebenen VO- Spracherkennungsnetzwerk verwendet. Eine Gesamtanzahl von 720 Neu ronen, welche die AO-Klassifikationsschicht 230 enthält, sind jeweils in zehn Reihen von 72 Neuronen angeordnet. Wie im Falle des VO-Spra cherkennungsnetzwerks entspricht jede der zehn Reihen einer der zehn zulässigen Sprechweisen/Aussprachen.Each neuron 231 of the AO classification layer 230 assumes an input factor of 4 feature rows and 25 time columns from the hidden layer 220 . Each subsequent column of neurons 231 receives inputs from the hidden layer 220 which are shifted by a column time unit of 10 ms. The 25 column window was chosen so that the total effective time window seen by the classification layer 230 is 290 ms (((5-1) + 25) × 10 ms); the same effective window was used in the VO speech recognition network described above. A total of 720 neurons, which the AO classification layer 230 contains, are each arranged in ten rows of 72 neurons. As in the case of the VO speech recognition network, each of the ten rows corresponds to one of the ten permitted speeches / pronunciations.
Die Ausgangsschicht 240 des AO-TDNN-Klassifikators 200 weist eine Spalte mit 10 Neuronen-Zellen 241 auf, wobei jede Zelle, die mit einer eindeutigen Merkmalsreihe der Klassifikationsschicht 230 verbunden ist, ein Eingangswert von 72 ist. Die Werte am Ausgang der Mittelungs schicht 240 sind jeweils repräsentativ für die Wahrscheinlichkeit, daß die entsprechende Aussprache/Sprechweise irgendwo in dem 1000 ms Datenfenster in der Eingangsstufe 210 vorkam.The output layer 240 of the AO-TDNN classifier 200 has a column with 10 neuron cells 241 , each cell which is connected to a unique series of features of the classification layer 230 being an input value of 72. The values at the output of the averaging layer 240 are each representative of the likelihood that the corresponding pronunciation / way of speaking occurred somewhere in the 1000 ms data window in the input stage 210 .
Fig. 15 ist eine weitere Ausführungsform des AO-TDNN, einer funktio nalen Äquivalenz zu dem vorstehend beschriebenen Netzwerk, das die Menge an Hardware minimiert, die für ein Neuron-Zellen-Multiplexing erforderlich ist. Die 14 log. Mel-Skala-Spektraldaten-Komponenten des akustischen Vektorsignals werden an eine Verzögerungsleitung-Anord nung (DLA) 302 angelegt, die 14 Verzögerungsleitungen mit Abgriffen aufweist und von denen jede eine Kapazität von fünf Datenwerten hat. (In diesem Zusammenhang ist eine Verzögerungsleitung das Äquivalent eines analogen oder digitalen Schieberegisters). Sobald die Verzöge rungsleitung gefüllt ist, nimmt die Neuron-Zellenanordnung (NCA1) 310, die vier Neuron-Zellen (N1 bis N4) aufweist, das Feld von (14 × 5) Werten von den Abgriffen der DLA 302 auf und verbindet dieses 70 Werte-Feld mit jedem der 70 Eingangsanschlüsse der vier Zellen (N1 bis N4). Die NCA1 310 erzeugt vier eindeutige Ausgangswerte, und zwar einen für jede der Neuron-Zellen N1 bis N4 und übergibt sie an den Ein gang der DLA 304 der Verzögerungsleitungs-Anordnung in der verdeck ten Schicht. Die DLA 304 taktet die vier Werte. 10 ms später erreicht ein neuer Wert den Eingang der DLA 302, wodurch deren Inhalt um eine Einheit nach rechts verschoben wird und folglich der älteste Satz von 14 spektralen Datenwerten ausgegeben wird. Der neue Satz von (14 × 5) Datenstellen wird dann an jede der Zellen der NCA 310 angelegt, wo durch an deren vier Ausgangsanschlüssen ein neuer Vierkomponenten- Vektor geschaffen wird, welcher in die vier Verzögerungsleitungen der DLA 304 eingegeben wird. Dieser Prozeß wird fortgesetzt, und hat schließlich zur Folge, daß die DLA 304 gefüllt ist. Zu diesem Zeitpunkt berechnen dann die zehn Neuron-Zellen (N5 bis N14) der NCA 312 je weils einen Ausgangswert für die zehn Aussprache-Kathegorien und lieferten für ein Speichern den Zehnkomponenten-Vektor an die DLA 306, welche zehn Verzögerungsleitungen jeweils mit einer Kapazität von 72 Werten aufweist. Figure 15 is another embodiment of the AO-TDNN, a functional equivalent to the network described above, that minimizes the amount of hardware required for neuron cell multiplexing. The 14 log. Mel-scale spectral data components of the acoustic vector signal are applied to a delay line arrangement (DLA) 302 , which has 14 delay lines with taps, each of which has a capacity of five data values. (In this context, a delay line is the equivalent of an analog or digital shift register). Once the delay line is filled, the neuron cell array (NCA1) 310 , which has four neuron cells (N1 through N4), picks up and connects the array of (14 x 5) values from the taps of the DLA 302 70 values -Field with each of the 70 input connections of the four cells (N1 to N4). The NCA1 310 generates four unique output values, one for each of the neuron cells N1 to N4 and transfers them to the input of the DLA 304 of the delay line arrangement in the hidden layer. The DLA 304 clocks the four values. 10 ms later, a new value reaches the input of the DLA 302 , whereby its content is shifted one unit to the right and the oldest set of 14 spectral data values is therefore output. The new set of (14 x 5) data locations is then applied to each of the cells of the NCA 310 , creating a new four-component vector at its four output ports which is input to the four delay lines of the DLA 304 . This process continues and ultimately results in the DLA 304 being filled. At this point in time, the ten neuron cells (N5 to N14) of the NCA 312 each calculate an initial value for the ten pronunciation categories and, for storage, deliver the ten-component vector to the DLA 306 , which each have ten delay lines with a capacity of 72 values.
Somit wird jeweils nach 10 ms ein neuer Vektor von der NCA 310 be rechnet, welcher in die DLA 304 geschoben wird. Der Reihe nach be rechnet dann die NCA 312 einen neuen Zehnkomponenten-Vektor, wel cher in die DLA 306 geschoben wird. Wenn die Kapazität der DLA 306 gefühlt ist, wird der Inhalt jeder der zehn (1 × 72) Verzögerungsleitun gen an das zugeordnete, den Mittelwert bildende Neuron (N15 bis N24) der NCA3 14 angelegt. Die erste Gruppe von zehn (10) Ausgängen stellt die Wahrscheinlichkeit dar, daß der zugeordnete Ausdruck während der ersten 290 ms gesprochen wurde.Thus, a new vector is calculated by the NCA 310 after 10 ms, which is pushed into the DLA 304 . The NCA 312 then successively calculates a new ten-component vector, which is pushed into the DLA 306 . When the capacity of the DLA 306 is felt, the contents of each of the ten (1 × 72) delay lines are applied to the associated averaging neuron (N15 to N24) of the NCA3 14 . The first group of ten (10) outlets represents the probability that the associated phrase was spoken during the first 290 ms.
Da Spektraldaten fortlaufend jeweils in Intervallen von 10 ms eintreffen, werden neue Werte von Ausgabewahrscheinlichkeiten berechnet. Folg lich würde der zweite berechnete Wert der Wahrscheinlichkeit eines Ausdrucks entsprechen, der in einem 290 ms-Fenster vorkommt, das um 10 ms gegenüber dem ersten verschoben ist. Nachfolgende Ausgabe wahrscheinlichkeiten entsprechen 290 ms-Fenstern, die relativ zu dem vorherigen Fenster um 10 ms verschoben sind.Since spectral data continuously arrive at intervals of 10 ms, new values of output probabilities are calculated. Episode The second calculated value of the probability would be one Expression that occurs in a 290 ms window around 10 ms is shifted from the first. Subsequent edition probabilities correspond to 290 ms windows relative to that previous windows are shifted by 10 ms.
Obwohl die Arbeitsweise des TDNN der Fig. 15 anhand eines AO-Spra cherkennungssystems beschrieben wurde, gilt dasselbe Operationsprin zip selbstverständlich auch dann, wenn eine ähnliche Struktur in einem VO-Spracherkennungssystem verwendet würde, das mit den vorherigen bezüglich Fig. 14 vorgenommenen Operationsbeschreibungen überein stimmt.Although the operation of the TDNN of Fig. 15 has been described with an AO Spra cherkennungssystems that same Operationsprin applies zip course, even if a similar structure in a VO speech recognition system were used, the operating descriptions made with the previous respect to Fig. 14 correspond agrees .
Die beschriebenen AO- und VO-Systeme arbeiten unabhängig von aku stischen bzw. visuellen Sprechdaten. Mit anderen Worten, sie sind das Äquivalent des in Fig. 1 dargestellten Systems, in welchem entweder die visuellen oder die akustischen Daten null (nulled) sind. Es ist durchaus zu erwarten, daß eine Steigerung/Vergrößerung eines AO-Sy stems durch visuelle Daten die Klassifikationsgenauigkeit insbesonde re unter ungünstigen akustischen Umgebungsbedingungen erhöhen wür de. Nunmehr werden drei Ausführungsformen eines kombinierten aku stischen und visuellen Spracherkennungssystems beschrieben.The described AO and VO systems work independently of acoustic or visual speech data. In other words, they are the equivalent of the system shown in Figure 1, in which either the visual or the acoustic data is nulled. It is to be expected that an increase / enlargement of an AO system by visual data would increase the classification accuracy, in particular under unfavorable acoustic environmental conditions. Three embodiments of a combined acoustic and visual speech recognition system will now be described.
Das erste System, das als A × V-System bezeichnet und in Fig. 16 dar gestellt ist, weist einen AO-Sprach-Klassifikator 400 und einen VO- Sprach-KIassifikator 500 zusammen mit einer zusätzlichen Netzwerk schicht 250 auf, um die Ausgabewahrscheinlichkeiten der beiden Sy steme in einem einzigen Satz von Wahrscheinlichkeiten zusammenzu fassen. The first system, which is referred to as the A × V system and is shown in FIG. 16, has an AO language classifier 400 and a VO language classifier 500 together with an additional network layer 250 to determine the output probabilities of the to combine both systems in a single set of probabilities.
Eine OA-Klassifikator 400 weist einen log. Mel Skala-Spektrum-Analy sator 24 auf, welcher das elektrische Analogon eines Sprachsignals aufnimmt, und an seinem Ausgang einen akustischen Zehnkomponenten- Vektor erzeugt, welcher als der Eingangswert an einem akustischen TDNN-Klassifikator 410 verwendet wird, wie vorstehend beschrieben ist. Der Ausgang des AO-Klassifikators 400 ist ein Wahrscheinlich keitsvektor, welcher die Wahrscheinlichkeit beschreibt, daß jede der zehn zulässigen akustischen Sprechweisen/Aussprachen nur basierend auf den akustischen Daten ausgedrückt wurden. Dies wird dann einem Wahrscheinlichkeits-Kombinator 250 zugeführt.An OA classifier 400 has a log. Mel scale spectrum analyzer 24 which picks up the electrical analogue of a speech signal and produces at its output a ten component acoustic vector which is used as the input to an acoustic TDNN classifier 410 as described above. The output of the AO classifier 400 is a probability vector that describes the probability that each of the ten permissible acoustic speeches / pronunciations were expressed only based on the acoustic data. This is then fed to a probability combiner 250 .
Ebenso verwendet ein VO-Klassifikator 500 ein elektrisches Signal der Vergleichsmarkierungen, um einen Lippen- und Gesichts-Merkmalvek tor, welcher dem entsprechenden akustischen Merkmalsvektor zugeord net ist, als einen Eingangswert an dem Lippen- und Mundpositions-Vek torgenerator 14 festzulegen. Der abgegebene visuelle Vektor, welcher von dem Vergleichsmarkierungs-Suchsystem und dem Vektorgenerator einheit erzeugt worden ist, wird an einen akustischen TDNN-Klassifi kator 510 angelegt, welcher einen visuellen Zehnkomponenten-Wahr scheinlichkeitsvektor erzeugt, welche dem Wahrscheinlichkeits-Kom binator 250 zugeführt wird, welcher die Wahrscheinlichkeit darstellt, daß jede der zehn möglichen vorgekommenen Sprechweisen/Ausspra chen allein auf den visuellen Daten basierte.Likewise, a VO classifier 500 uses an electrical signal of the fiducial markers to set a lip and face feature vector associated with the corresponding acoustic feature vector as an input to the lip and mouth position vector generator 14 . The output visual vector, which has been generated by the comparison marker search system and the vector generator unit, is applied to an acoustic TDNN classifier 510 , which generates a ten-component visual probability vector, which is supplied to the probability combiner 250 , which represents the probability that each of the ten possible speeches / pronunciations was based solely on the visual data.
Nunmehr soll p(c:A) die bedingte Wahrscheinlichkeit sein, daß die Sprechweise/Aussprache c mit dem zugeordneten akustischen Daten vektor A vorkam, und p(c:V) soll die bedingte Wahrscheinlichkeit sein, daß die Aussprache/Sprechweise 10 mit dem zugeordneten visuellen Datenvektor V vorkam. Folglich entspricht p(c:A) dem c-ten Wert des Vektorausgangs des Klassifikators 410 basierend auf einem Vektor A, welcher von dem Spektrum-Analysator 24 erzeugt worden ist, und p(c:V) entspricht dem c-ten Wert des Vektorausgangs des Klassifika tors 510, basierend auf einem Vektor V, welcher von dem Generator 14 zugeführt worden ist. Wenn die Vektoren A und V unabhängig voneinan der sind, dann ist die verknüpfte Wahrscheinlichkeit der durch A und V gegebenen c-ten Aussprache/Sprechweise:Now p (c: A) should be the conditional probability that the speech / pronunciation c with the associated acoustic data vector A occurred, and p (c: V) should be the conditional probability that the pronunciation / speech 10 with the associated visual data vector V occurred. Thus, p (c: A) corresponds to the c-th value of the vector output of the classifier 410 based on a vector A generated by the spectrum analyzer 24 , and p (c: V) corresponds to the c-th value of the vector output des Klassifika tors 510 , based on a vector V, which has been supplied by the generator 14 . If the vectors A and V are independent of each other, then the linked probability of the c-th pronunciation / speech given by A and V is:
p(c:A,V) = p(c:A) · p(c:V)/p(c)p (c: A, V) = p (c: A) p (c: V) / p (c)
wobei p(c) die apriori-Wahrscheinlichkeit der vorkommenden Ausspra che c ist. Dies ist dann der gewünschte Ausgangswert von dem Wahr scheinlichkeits-Kombinator 250.where p (c) is the a priori probability of the pronunciation c occurring. This is then the desired output from the probability combiner 250 .
Da p(c:A) und p(c:V) nicht strikt unabhängig sein können und wegen Feh ler bei der Schätzung dieser Werte und da p(c) nicht bekannt sein kann, erzeugt der Wahrscheinlichkeits-Kombinator das skalierte Produkt:Since p (c: A) and p (c: V) cannot be strictly independent and because of mistake in estimating these values and since p (c) cannot be known, the probability combiner creates the scaled product:
p(c:A,V) = k · p(c:A) · p(c:V)p (c: A, V) = kp (c: A) p (c: V)
wobei k ein Normierfaktor ist, der verwendet wird, um die zehn Aus gangs-Wahrscheinlichkeiten zu skalieren, um so sicherzustellen, daß deren Summe eins ist. Folglich bildet der Wahrscheinlichkeits-Kombi nator 250 das Produkt von entsprechenden Termen jeder der zehn Kom ponenten-Eingangsvektoren und summiert dann die zehn sich ergeben den Produkt-Terme:where k is a normalization factor used to scale the ten output probabilities so as to ensure that their sum is one. Hence, the probability combiner 250 forms the product of corresponding terms of each of the ten component input vectors and then sums the ten resulting product terms:
um die normierte verknüpfte Wahrscheinlichkeits-Schätzfunktion zu bilden:around the normalized linked probability estimator form:
wobeiin which
Der Produktterm in dem vorstehenden Ausdruck kann mit verschiedenen Einrichtungen einschließlich analoger oder digitaler Multiplizierein heiten und einem Sigma-Pl(ΣΠ) neuronalen Zellen-Netzwerk erreicht werden, in welchem entsprechende p(c:A) und p(c:V) Terme verwendet werden, um sie miteinander zu verknüpfen. Ebenso kann derselbe Term durch ein ΣΠ-neuronales Zellen-Netzwerk mit 20 Eingängen erzeugt werden, in welchem entsprechende A- und V-Wahrscheinlichkeitsvek tor-Komponenten miteinander verbunden sind, um Produkt-Terme zu bilden, und der Ausgangswert wird dann durch die Summe der Produkt- Terme gebildet. Ein Teilen jedes der Produkte durch den Summenterm kann in einer kompatiblen Technologie mit Hilfe analoger oder numeri scher Recheneinheiten durchgeführt werden.The product term in the above expression can be different Facilities including analog or digital multiplication units and a Sigma-Pl (ΣΠ) neural cell network in which corresponding p (c: A) and p (c: V) terms are used to link them together. The same term can also be used generated by a ΣΠ-neuronal cell network with 20 inputs in which corresponding A and V probability vectors gate components are linked together to create product terms form, and the initial value is then determined by the sum of the product Terms formed. Dividing each of the products by the sum term can be in a compatible technology using analog or numeri computing units are carried out.
Fig. 17 zeigt eine Hardware-Ausführungsform des AxV-System-TDNN- Sprachen-Klassifikators 200. Akustische und visuelle Datenvektoren werden in Verzögerungsleitungen (DL) 302 bzw. 301 in Intervallen von 10 ms eingegeben. Die akustischen und visuellen Datenflüsse folgen verschiedenen Wegen bis zu der letzten NCA3-Stufe. Der eingegebene akustische Datenvektor in Fig. 17 wird analog der Fig. 15 in derselben Weise und mittels derselben Hardware wie in einem AO-Prozeß bis zu der Einheit NCA3 314 verarbeitet, die in der Mittelungsschicht ange ordnet ist. Ebenso wird der visuelle Datenvektor V in Fig. 17 abgesehen von der Endeinheit NCA3 314, auf dieselbe Weise verarbeitet, wie in Fig. 14 für das VO-System beschrieben ist. Die Endwahrscheinlichkeiten p(c:A,V) werden durch die zehn Sigma-Pi-Neuron-Zellen gebildet, wel che die Einheit NCA3 314 und die Normiereinheit 255 aufweisen. Die Normiereinheit 255 legt den Skalierfaktor k an, um die zehn Ausgangs- Vektor-Komponenten p(C:A,V) = k· p(c:A) · p(c:V) für c= 1, 2 . . ., 10 zu bil den. Fig. 17 shows a hardware embodiment of the AxV system TDNN- languages classifier 200th Acoustic and visual data vectors are entered into delay lines (DL) 302 and 301 at 10 ms intervals. The acoustic and visual data flows follow different paths up to the last NCA3 level. The input acoustic data vector in FIG. 17 is processed analogously to FIG. 15 in the same manner and using the same hardware as in an AO process up to the unit NCA3 314 , which is arranged in the averaging layer. Likewise, the visual data vector V in FIG. 17, apart from the end unit NCA3 314 , is processed in the same way as is described in FIG. 14 for the VO system. The final probabilities p (c: A, V) are formed by the ten Sigma-Pi-Neuron cells, which have the unit NCA3 314 and the normalization unit 255 . The normalization unit 255 applies the scaling factor k by the ten output vector components p (C: A, V) = k * p (c: A) * p (c: V) for c = 1, 2. . ., 10 to form the.
Obwohl ein auf TDNN basierender, akustischer AO-Prozessor beschrie ben worden ist, ist dies bei der AxV-Ausführungsform nicht wesent lich. Das AxV-System kann mit irgendeinem akustischen Spracherken nungs-Prozessor ausgeführt werden, welcher funktionell äquivalent ist, obwohl er nicht ein TDNN verwendet. Die Ausgänge des AO- und VO- Subsystems würden, wie beschrieben, verknüpft werden, um eine genau ere Klassifikation zu liefern, als sie jedes System für sich liefern würde. Ebenso kann ein akustischer Vektor-Generator, welcher einen wirksamen akustischen Vektor erzeugt, welcher die Sprechweise/Aus sprache mit einer annehmbaren statistischen Zuverlässigkeit kenn zeichnet, als ein akustischer Vor-Prozessor in einem der kombinierten akustischen und visuellen Spracherkennungssysteme verwendet werden.Although an acoustic AO processor based on TDNN is described ben has been, this is not essential in the AxV embodiment Lich. The AxV system can recognize any acoustic speech tion processor, which is functionally equivalent even though he doesn't use a TDNN. The outputs of the AO and VO Subsystems would be linked to one exactly as described to provide more classification than they deliver each system for themselves would. An acoustic vector generator can also be used effective acoustic vector, which speaks / off know the language with acceptable statistical reliability records as an acoustic preprocessor in one of the combined acoustic and visual speech recognition systems are used.
In Fig. 18 ist eine weitere Ausführungsform für einen TDNN-Klassifika tor 200 der Fig. 1 dargestellt, der als AV-System-Klassifikator be zeichnet wird. In diesem Fall werden die A- und V-Vektoreingänge ge sondert durch die versteckte Schicht 220 verarbeitet, welche NCA1 310 und NCA 309 aufweist. Die Ausgangswerte von der verdeckten Schicht werden in DLA 304 und DLA 303 gespeichert, von wo aus das akustische (4 × 25) Wertefeld von DLA 304 und das (4 × 10) Wertefeld von DLA 303 an die zehn 140 Eingänge aufweisenden Neuron-Zellen (N35 bis N44) der NCA2 313 angelegt werden. Das vorhergehende Mi schen von akustischen und visuellen Daten führt zu einem reicheren Satz von Quertermen, bei welchem eine Auflösung in dem Trainings- Prozeß gesucht werden kann, was insgesamt zu einer verbesserten Lei stung des Gesamtsystems führt. FIG. 18 shows a further embodiment for a TDNN classifier 200 from FIG. 1, which is referred to as an AV system classifier. In this case, the A and V vector inputs are processed separately by hidden layer 220 , which has NCA1 310 and NCA 309 . The output values from the hidden layer are stored in DLA 304 and DLA 303 , from where the acoustic (4 × 25) value field from DLA 304 and the (4 × 10) value field from DLA 303 to the ten 140-input neuron cells ( N35 to N44) of the NCA2 313 . The previous mix of acoustic and visual data results in a richer set of cross terms in which resolution can be sought in the training process, resulting in an overall improved performance of the overall system.
Nach einem Verarbeiten durch NCA2 313 werden die Ergebnisse zu der Mittelungsschicht 240 durchgelassen. NCA3 315 weist zehn Neuron- Zellen (950 bis 955) auf, von welchen jede auf einer von zehn Verzöge rungssleitungen in DLA 307 arbeitet. Das unnormierte Wahrscheinlich keits-Produkt p(c:a)· p(c:V) wird durch MCA3 315 gebildet und zu einer Normiereinheit 255 durchgelassen, um die endgültigen Ausgangswahr scheinlichkeiten p(c:A,V) zu bilden.After processing by NCA2 313 , the results are passed to averaging layer 240 . NCA3 315 has ten neuron cells ( 950 to 955 ), each of which operates on one of ten delay lines in DLA 307 . The non-normalized probability product p (c: a) .p (c: V) is formed by MCA3 315 and passed to a normalization unit 255 to form the final initial probabilities p (c: A, V).
Fig. 19 zeigt einen weiteren Entwicklungsschritt in dem Prozeß, das Verarbeiten der akustischen visuellen Daten auf dem frühestmöglichen Pegel zu kombinieren. Bei Empfang und Speicherung von genügend einge gebenen akustischen und Videodaten im DLA 302 bzw. 301 kann die Bil dung von Quertermen in der versteckten Schicht 220 vorkommen, wobei jeder der acht (8) Neuronen auf den kombinierten (14 × 5) und (5 × 20) Datenfeldern arbeitet, die von DLA 302 und 301 verfügbar sind. Der Ausgang der verdeckten Schicht wird in DLA 308 gespeichert und durchläuft NCA3 313 der Klassifikationsschicht 230. Der Ausgangswert wird dann so gehandelt, wie vorstehend anhand von Fig. 18 beschrieben ist. Fig. 19 shows a further development step in the process of combining the processing of the acoustic visual data at the earliest possible level. Upon receipt and storage of sufficient input acoustic and video data in the DLA 302 and 301 , the formation of transverse terms can occur in the hidden layer 220 , with each of the eight (8) neurons on the combined (14 × 5) and (5 × 20) works data fields available from DLA 302 and 301 . The hidden layer output is stored in DLA 308 and passes through NCA3 313 of classification layer 230 . The initial value is then traded as described above with reference to FIG. 18.
In den TDNN-Strukturen der Fig. 15, 17, 18 und 19 werden die zwei Grundtypen von Neuron-Zellen verwendet. NCA1 der verdeckten Schicht 220 und NCA3 der Mittelungsschicht 240 weisen herkömmliche McCol luch-Pitts (M-P) Neuron-Zellen auf, wie in Fig. 20 dargestellt ist. Ein eingegebener Datenvektor X, der an einem Eingangsanschluß 601 vorge sehen ist, wird durch einen Wichtungsfaktor w mit Hilfe von Multipli zierelementen 603 verarbeitet. Ein Summiernetzwerk 605 summiert die xiwi-Terme von den Multiplizierelementen 603, wodurch sich das Vektor-Punkt-Produkt ergibt:The 15 basic types of neuron cells are used in the TDNN structures of FIGS. 15, 17, 18 and 19. NCA1 of hidden layer 220 and NCA3 of averaging layer 240 have conventional McColuch-Pitts (MP) neuron cells, as shown in FIG. 20. An input data vector X, which is provided at an input connection 601 , is processed by a weighting factor w with the aid of multiplication elements 603 . A summing network 605 sums the x i w i terms from the multiplication elements 603 , which results in the vector point product:
das am Ausgang des Summiernetzwerks 605 gebildet wird. Das Vektor- Punkt-Produkt und -Offset wird an eine Aktivierungs-Funktionseinheit 609 angelegt, welche das Ausgangssignal f(z) = f(xTw + offset) bildet. Ein Offsett-Wert kann durch eine Eingabe 607 am Summiernetzwerk 605 erhalten werden.which is formed at the output of the summing network 605 . The vector point product and offset is applied to an activation functional unit 609 , which forms the output signal f (z) = f (x T w + offset). An offset value can be obtained by an input 607 on the summing network 605 .
Die Aktivierungs-Funktionseinheit 609 kann eine von mehreren Trans fer-Charakteristiken, wie die in Fig. 21 dargestellten, haben. Die Transfer- Charakteristik in Fig. 21a ist f(z) = tanh z, d. h. eine hyperbolische Tan gensfunktion z des eingegebenen Signals. Dies ist ein Beispiel für eine große Gruppe von halblinearen sigmoidalen Squashing-Funktionen, welche in NCA1 der verdeckten Schicht verwendet werden können. Fig. 21 (b) zeigt eine lineare Transferfunktion f(z) = mz + offset. Diese Form einer Aktivierungsfunktion wird in den Neuron-Zellen von NCA3 der Mittelungsschicht 240 verwendet (wobei der Versatz (offset) gleich null ist). Activation functional unit 609 may have one of several transfer characteristics, such as that shown in FIG. 21. The transfer characteristic in Fig. 21a is f (z) = tanh z, ie a hyperbolic Tan function z of the input signal. This is an example of a large group of semi-linear sigmoidal squashing functions that can be used in hidden layer NCA1. Fig. 21 (b) shows a linear transfer function f (z) = mz + offset. This form of an activation function is used in the NCA3 neuron cells of the middle layer 240 (the offset being zero).
Fig. 21 (c) zeigt eine exponentielle Aktivierungs-Funktion f(z) = ez/T, wobei T ein positiver Wert "Temperatur"-Parameter ist, welcher wirk sam den Basiswert e 1/T ändert, welcher durch den Eingabewert z po tenziert ist. Der Exponentialwert der Aktivierungsfunktion wird dazu verwendet, die geschätzt Wahrscheinlichkeit eines Satzes von unbe kannten Veränderlichen (des Satzes von zulässigen Sprechweisen) ent sprechend Parallel Distributed Processing: Explorations in the Micro structure of Cognition. Vol.1: Foundations, Rumelhart, et al., The MIT Press, Cambridge, MA 1986, Kapitel 6, Stn. 194 bis 281, zu bilden. Die exponen tielle Aktivierungsfunktion wird in den M-P-Neuron-Zellen von NCA2 der Klassifikationsschicht 230 verwendet. Fig. 21 (c) shows an exponential activation function f (z) = e z / T , where T is a positive value "temperature" parameter which effectively changes the basic value e 1 / T , which is determined by the input value z is potentiated. The exponential value of the activation function is used to estimate the likelihood of a set of unknown variables (the set of permissible speeches) corresponding to Parallel Distributed Processing: Explorations in the Micro structure of Cognition. Vol.1: Foundations, Rumelhart, et al., The MIT Press, Cambridge, MA 1986, Chapter 6, Stn. 194 to 281. The exponential activation function is used in the MP-Neuron cells of NCA2 of the classification layer 230 .
Die zweite Art von Neuron-Zellen, die in der NCA4 der TDNN-Struktur der Fig. 17 verwendet worden ist, ist als eine Sigma-Pi-(ΣΠ-)Zelle be kannt, wie in Fig. 22 dargestellt ist. Im Unterschied zu der M-P-Zelle der Fig. 20, bei welcher ein einziger eingegebener Datenvektor an einen Satz von steuerbaren Gewichten {wj} angelegt wird, nehmen ΣΠ-Neuron- Zellen in ihrer einfachsten Form zwei eingegebene Datenvektoren x und y an Eingangsanschlüssen 701 bzw. 702 auf. Entsprechende eingegebene Vektorkomponenten xi und yi werden an Multipliziereinheiten 703 an gelegt, um die xi · yi-Produkttermen zu bilden, welche durch ein Sum miernetzwerk zu einem Offset-Term summiert werden, welcher an ei nen Offset-Eingabeanschluß 707 angelegt wird. Folglich ist der Aus gang der SummiereinheitThe second type of neuron cell used in the NCA4 of the TDNN structure of FIG. 17 is known as a Sigma Pi (ΣΠ) cell, as shown in FIG. 22. In contrast to the MP cell of FIG. 20, in which a single input data vector is applied to a set of controllable weights {w j }, ΣΠ-neuron cells in their simplest form take two input data vectors x and y at input connections 701 or 702 . Corresponding input vector components x i and y i are applied to multiplier units 703 to form the x i · y i product terms, which are summed by a sum network to form an offset term which is applied to an offset input terminal 707 . Consequently, the output of the summing unit
das Vektor-Punkt-Produkt von x und y plus Offset, welches als der Ein gang an eine Aktivierungs-Funktionseinheit 709 mit einer Transfer- Charakteristik f(0) angelegt wird. Die Σπ-Neuron-Zelle der Fig. 22 wird in dem AxV-Netzwerk der Fig. 17 verwendet, um die Summe des Pro dukts der zehn p(c:A) Werte und die entsprechenden zehn p(c:V)Werte in NCA4 der Mittelungsschicht 240 zu bilden (wobei der Offset-Wert gleich null ist). the vector point product of x and y plus offset, which is applied as the input to an activation functional unit 709 with a transfer characteristic f (0). The Σπ neuron cell of FIG. 22 is used in the AxV network of FIG. 17 to calculate the sum of the product of the ten p (c: A) values and the corresponding ten p (c: V) values in NCA4 the averaging layer 240 (with the offset value equal to zero).
Wegen der differenzierbaren Aktivierungs-Funktionseinheiten, die in den Neuron-Zellen verwendet worden sind (siehe Fig. 20 bis 22), wurde eine Form des bekannten Rückausbreitungs-Algorithmus (der von Rum melhart, D.E. et al., beschrieben worden ist in "Learning Internal Re presentations by Error Propagation", Stn. 318 bis 362 (Kapitel 8), of Parallel Distributed Processing Vol.1: Foundations, The MIT Press, Cambridge, MA, 1960) verwendet, um die neuronalen Netzwerk-Gewich te zu trainieren. Die Fehlerfunktion des Ausgangswertes während des Trainings hat einen beträchtlichen Unterschied zu demjenigen, welcher in der vorstehend wiedergegebenen Referenz beschrieben worden ist.Because of the differentiable activation functional units that have been used in the neuron cells (see FIGS. 20 to 22), one form of the known back propagation algorithm (described by Rum melhart, DE et al., In "Learning Internal Re presentations by Error Propagation ", Stn. 318 to 362 (Chapter 8), of Parallel Distributed Processing Vol.1: Foundations, The MIT Press, Cambridge, MA, 1960) used to train the neural network weights. The error function of the initial value during training has a considerable difference from that which was described in the reference given above.
Wenn eine neuronale Netzwerk-Aufgabe darin besteht, die Klasse aus zuwählen, zu welcher ein eingegebenes Muster gehört, wenn alle einge gebenen Muster zu einer und nur einer Klasse (eine aus einer von einer n-Klassifikation), und wenn der Ausgangswert des neuronalen Netz werks aus n Werten besteht, welche eine Wahrscheinlichkeitsvertei lung darstellen (d. h. die Summe von Werten gleich eins ist), ist die Feh lermetrix für einen einzigen Trainings-Klassifikations-VersuchWhen a neural network task is out of class select to which an entered pattern belongs, if all entered pattern to one and only one class (one from one of one n classification) and if the initial value of the neural network plant consists of n values, which is a probability distribution representation (i.e. the sum of values equals one) is the mistake lermetrix for a single training classification attempt
Fehler = -ln {(cl)}Error = -ln {(c l )}
wobei cl die korrekte Klassifikation des l-ten Klassengliedes ist und p(cl) der Versuchswert des Ausgangs ist, welcher die Wahrscheinlich keit darstellt, daß die eingegebenen Daten zur Klasse cl gehören. Da die richtige Wahrscheinlichkeit der eingegebenen Aussprache/Sprechweise cl eins (Sicherheit) ist, kann der vorstehend wiedergegebene Fehler ausdruck umgeschrieben werden als Differenz in den Logarithmen den tatsächlichen und Versuchs-Wahrscheinlichkeiten (p(cl) bzw. (cl)) oderwhere c l is the correct classification of the lth class member and p (c l ) is the experimental value of the output, which represents the probability that the data entered belong to class c l . Since the correct probability of the pronunciation / speech c l entered is one (certainty), the error reproduced above can be rewritten as a difference in the logarithms of the actual and test probabilities (p (c l ) or (c l )) or
Fehler = ln {p(cl)} - ln {(cl)} = ln {p(cl)} / {(cl)} .Error = ln {p (c l )} - ln {(c l )} = ln {p (c l )} / {(c l )}.
Diese Fehlermetrix umfaßt das Verhältnis an Wahrscheinlichkeiten. Wenn, wie vorstehend ausgeführt, die Wahrscheinlichkeiten durch die potenzierende Aktivierungs-Funktion (Fig. 21(c)) gebildet wurden, ergibt die Substitution vonThis error metric comprises the ratio of probabilities. As stated above, if the probabilities were formed by the potentiating activation function ( Fig. 21 (c)), the substitution of
wobei zl und l die korrekten bzw. Testwerte des Eingangs z an dem l-ten Klassifikations-Neuron-Zellen-Aktivierungs-Funktions-Netzwerk sind. Folglich ist der negative Logarithmus der abgegebenen empiri schen gehaltenen Wahrscheinlichkeit ein Maß für den Fehler, welcher mittels des Signals erzeugt worden ist, das auf dem Klassifikations- Pegel eintrifft, welcher den Fehler einschließt welcher durch die Gewichte der l-ten Neuron-Zelle von NCA2 enthalten ist. Folglich kann mit Hilfe der Trainings-Muster, welche alle zu klassifizierenden Sprechweisen/Aussprachen darstellen, diese logarithmische Fehler funktion verwendet werden, um das TDNN-Netzwerk zu trainieren.where z l and l are the correct or test values of the input z on the lth classification neuron cell activation function network. Thus, the negative logarithm of the empirical probability held is a measure of the error generated by the signal arriving at the classification level, which includes the error caused by the weights of the lth neuron cell of NCA2 is included. Consequently, with the help of the training patterns, which represent all speech styles / pronunciations to be classified, this logarithmic error function can be used to train the TDNN network.
Versuche wurden mit Hilfe von Vergleichsmarkierungen für eine vi suelle Information in den beschriebenen Systemen durchgeführt, um zwischen den gesprochenen Buchstaben B, D, F, M, N, P, S, T, V und Z zu unterscheiden. Akustische und visuelle Information wurde von vier männlichen Personen gespeichert, welche einheimische Sprecher von amerikanischem Englisch sind. Jede Person sprach jeden Buchstaben fünfmal. Ein Beispiel des Buchstabens P, der von einer Person gespro chen worden ist, wurde durch einen Fehler in dem visuellen Nachführ system unbrauchbar gemacht, weshalb sich insgesamt 199 und nicht 200 Balken (token) ergaben. Jeder Balken wurde in visuelle (VO-), aku stische (AO-) und akustische und Video-(AV-)Vektoren umgesetzt, die sich für eine Klassifikations-Schicht 230 eignen, wie vorstehend be schrieben ist.Experiments were carried out with the aid of comparison marks for visual information in the systems described in order to distinguish between the spoken letters B, D, F, M, N, P, S, T, V and Z. Acoustic and visual information was stored by four male people who are native speakers of American English. Each person spoke each letter five times. An example of the letter P, which was spoken by a person, was made unusable by an error in the visual tracking system, which resulted in a total of 199 and not 200 bars (token). Each bar was converted into visual (VO), acoustic (AO), and acoustic and video (AV) vectors suitable for a classification layer 230 , as described above.
Vier der fünf wiederholten Buchstaben-Aussprachen für jeden der zehn Buchstaben, die von den vier Sprechern gesprochen worden sind (160 Muster) wurden zum Trainieren verwendet. Die verbleibenden 39, wel che vier Beispiele für jeden Buchstaben mit Ausnahme von drei für den Buchstaben P enthalten, wie vorstehend ausgeführt ist, wurden zum Testen verwendet. Four of the five repeated letter pronunciations for each of the ten Letters spoken by the four speakers (160 Patterns) were used for training. The remaining 39, wel che four examples for each letter except three for the Letters P, as stated above, were used for Testing used.
Jedes der drei Netzwerke wurde mit dem Rückausbreitungs-Algorithmus trainiert, um d 05514 00070 552 001000280000000200012000285910540300040 0002004435272 00004 05395en Satz Gewichte zu finden, die einen minimalen Fehler für die Trainingssatz-Beispiele bewirken. Eine Lernraten-Konstante (η = 0,001 und eine Moment-Konstante von α = 0,09 wurden für die VO- und AO-Fälle verwendet, während Konstanten η = 0,002 und α = 0,3 für den AV-Fall verwendet werden. Das AV-Netzwerk wurde gebildet durch Vermischen der AO- und der VO-trainierten Netzwerke und durch Hin zufügen der Quer-Modell-Verbindungen zwischen den versteckten A- und V-Schichten und der Klassifikationsschicht. Das Lernen wurde zu gelassen, um Fortschritte zu machen, bis der Trainingsfehler über den letzten einigen hundert Trainings-Abschnitten eine vernachlässigbare Änderung zeigten. Die Software-Simulation des Spektrum-Analysators 24 des Lippen-Mund-Positions-Vektorgenerators 14 und des ADNN- Sprachen-Klassifikators 200 liefen auf einem Sun Sparcstation 2 Computer, der von Sun Microsystems, Inc. 2550 Garcia Avenue, Moun tain, View, California 94043-1100 hergestellt worden ist. Das Trai ning dauerte annähernd 20 Sekunden pro Abschnitt für das kompliziert ste AV-Netzwerk und weniger für die anderen Netzwerke. Bei jeweils 50 Trainingsabschnitten wurden die Gewichte in dem Netzwerk aufge zeichnet und der Testgruppen-Fehler wurde berechnet. Fig. 23 zeigt den Fortschritt einer Fehlerreduzierung als Funktion der Anzahl Trainings abschnitte, welche für die VO-, AO- und die vollen AV-Fälle verwendet worden sind. Die gestrichelte Linie stellt den Fehler dar, wenn die Testgruppe von eingegebenen Daten verwendet wird, während die ge strichelte Linie der Fehler ist, der beobachtet worden ist, wenn die Trainingsgruppe zum Testen verwendet wird. Wie zu erwarten war, er zeugte die letztere im allgemeinen weniger Fehler.Each of the three networks was trained with the back propagation algorithm to find the 05514 00070 552 001000280000000200012000285910540300040 0002004435272 00004 05395 set of weights that cause a minimal error for the training set examples. A learning rate constant (η = 0.001 and a moment constant of α = 0.09 were used for the VO and AO cases, while constants η = 0.002 and α = 0.3 were used for the AV case AV network was formed by mixing the AO and VO trained networks and adding the cross-model connections between the hidden A and V layers and the classification layer. Learning was allowed to progress, until the training error showed a negligible change over the past several hundred training sections. The software simulation of the spectrum analyzer 24, the lip-mouth position vector generator 14 and the ADNN language classifier 200 ran on a Sun Sparcstation 2 computer, which was manufactured by Sun Microsystems, Inc., 2550 Garcia Avenue, Mountain, View, California 94043-1100 The training took approximately 20 seconds per section for the most complex AV network and we for the other networks. For every 50 training sessions, the weights were recorded in the network and the test group error was calculated. Fig. 23 shows the progress of error reduction as a function of the number of training sections that have been used for the VO, AO and full AV cases. The dashed line represents the error when the test group of input data is used, while the dashed line is the error that has been observed when the training group is used for testing. As was to be expected, the latter generally produced fewer errors.
Nachdem die "beste" Gewichtsgruppe durch den Trainingsprozeß für je den der drei Fälle festgestellt war, wurden Verwirrungsmatrizen für die Testdaten erzeugt. Für die jeweiligen Buchstaben-Sprechweisen wurde der Durchschnitt der ausgegebenen Verteilungen über alle Test gruppen-Beispiele dieses Buchstabens berechnet. Fig. 24 zeigt die sich ergebenden Verwirrungsmatrizen für die VO-, AO- und AxV- und die vollen AV-Netzwerke. Jede vertikale Spalte ist mit dem gesprochenen Buchstaben bezeichnet, welcher als der Eingangswert dargestellt ist; jede horizontale Zeile stellt die ausgegebenen Buchstaben dar, welche mit ihren zugeordneten Wahrscheinlichkeiten ausgewählt worden sind, welche durch die Stelle auf jeder Platte ausgewählt worden sind. Die Prozentzahl unter jeder Verwirrungsmatrix ist die Gesamtgenauigkeit dieses Systems. Zu beachten ist die Verwirrung bzw. das Durcheinander bei den /bi/- und den /di/-Phonemen in dem AO-Netzwerk und die un symmetrische Verwirrung von /bi/ und /pi/ in dem VO-System. Folg lich sind, obwohl /pi/ leicht mit /bi/ in dem VO-System verwechselt werden kann, diese ohne weiteres in dem OA-System zu unterscheiden. Umgekehrt unterscheidet das VO-System ohne weiteres zwischen /bi/ und /di/. Ebenso ist die akustische (AO-)Ähnlichkeit der /em/- und /en/-Phoneme zu unterscheiden, die sich hauptsächlich in dem akusti schen subtilen Nasal-Merkmal unterscheiden und in dem VO-System deutlich unterscheidbar sind. Bei dem VO-System werden leicht /di/ und /ti/ aber nicht so in dem OA-System verwechselt. Das AxV-Sy stem eliminiert meist diese und andere Verwechselungen, wie durch die hohe Klassifikations-Wahrscheinlichkeit entlang der Hauptdiagona le bewiesen wird.After the "best" weight group was determined by the training process for each of the three cases, confusion matrices were generated for the test data. The average of the distributed distributions over all test group examples of this letter was calculated for the respective letter speech. Figure 24 shows the resulting confusion matrices for the VO, AO and AxV and full AV networks. Each vertical column is labeled with the spoken letter, which is represented as the input value; each horizontal line represents the output letters which have been selected with their associated probabilities which have been selected by the location on each plate. The percentage under each confusion matrix is the overall accuracy of this system. Note the confusion or confusion with the / bi / and / di / phonemes in the AO network and the unbalanced confusion of / bi / and / pi / in the VO system. As a result, although / pi / can easily be confused with / bi / in the VO system, these are easily distinguished in the OA system. Conversely, the VO system easily distinguishes between / bi / and / di /. Likewise, the acoustic (AO) similarity of the / em / - and / en / -phonems is to be distinguished, which mainly differ in the acoustic subtle nasal characteristic and are clearly distinguishable in the VO system. In the VO system, / di / and / ti / are easily confused in the OA system. The AxV system usually eliminates these and other confusions, as evidenced by the high classification probability along the main diagonal.
Obwohl vernünftigerweise zu erwarten ist, daß das volle AV-System mit einer Gesamtgenauigkeit von 87% besser sein sollte als das AxV- System mit einer gemessenen Genauigkeit von 91%, da das volle AV- System Assozationen auf einem niedrigeren (verdeckten Schicht) Pegel lernen kann, zeigen die Testergebnisse folgendes. Dieses Ergebnis weist nachdrücklich darauf hin, daß der volle AV-Vektor von 19 Ele menten sich nicht genau synchron zwischen den zehn (10) akustischen Elementen und den fünf (5) visuellen Elementteilen des kompletten Vektors verhält, da sie gesondert über ihre jeweiligen Vorprozessoren verarbeitet wurden. Im Falle des AxV-Systems war ein Gleichlauf we niger kritisch, da die akustischen und visuellen Vektoren durch geson derte TDNNs verarbeitet wurden. Mit anderen Worten, Niederpegel-Kor relationen in den Trainingsmustern hätten geändert werden können, so daß das volle AV-Netzwerk diese Information nicht ausnützen könnte. Although it is reasonably expected that the full AV system with an overall accuracy of 87% should be better than the AxV System with a measured accuracy of 91% because the full AV System associations at a lower (hidden layer) level can learn, the test results show the following. This result strongly emphasizes that the full AV vector of 19 Ele not exactly synchronous between the ten (10) acoustic Elements and the five (5) visual element parts of the complete Vector behaves because it is separate through its respective preprocessors were processed. In the case of the AxV system, we were synchronized niger critical, because the acoustic and visual vectors by geson most TDNNs have been processed. In other words, low level cor relations in the training patterns could have been changed, so that the full AV network could not use this information.
Eine entsprechende Leistung für das AxV-System ist demonstriert worden, wenn die "ROI"-Technik verwendet wurde, in welcher keine Vergleichsmarkierungen erforderlich sind.A corresponding performance for the AxV system is demonstrated if the "ROI" technique was used, in which none Compare marks are required.
Die relative Unempfindlichkeit des AxV-Systems bezüglich akustischen Geräuschen wurde durch eine Simulation demonstriert, bei welcher Ro sa-Rauschen mit einer Standardabweichung von 0,4 dadurch hinzuge fügt wurde, daß eine beliebige Veränderliche zu jedem A-Vektor hinzu gefügt wurde, welche durch den Spektrum-Analysator erzeugt worden ist. Unter diesen Bedingungen hatte das AO-Netzwerk eine Gesamtge nauigkeit von 43%, während das AV-Netzwerk eine Genauigkeit von 24% hatte. Diese verbesserte Genauigkeit wurde ohne ein Einstellen irgend eines freien Parameters, wie beispielsweise Modifizieren des Ver hältnis von akustisch zu visuell, erreicht.The relative insensitivity of the AxV system to acoustic Noise was demonstrated by a simulation in which Ro thereby adding sa noise with a standard deviation of 0.4 added any variable to each A vector was added, which were generated by the spectrum analyzer is. Under these conditions, the AO network had an overall ge 43% accuracy while the AV network is 24% accuracy would have. This improved accuracy was achieved without any adjustment a free parameter, such as modifying the ver Ratio from acoustic to visual, achieved.
Claims (15)
- a) das Bild wird in gleichmäßigen Intervallen entlang jeder horizontalen Linie des Bildes abgetastet und quanti siert, um ein Bild von Pixeln zu erzeugen, welche Grau wertpegel darstellen, das auf den gleichmäßigen Inter vallen zentriert ist;
- b) das Pixel-Bild wird vorbehandelt, indem Kantentrenn bereiche mit höherer oder geringerer Grauskalen-Intensi tät mit Hilfe von räumlichen Faltungsmethoden räumlich geglättet und verbessert werden;
- c) an dem vorbehandelten Pixel-Bild wird eine Schwellen wertbildung vorgenommen, um eine linke und rechte Augen bereichsstelle und eine Mundbereichsstelle zu bestimmen;
- d) die linke und rechte Augenbereichsstelle und die Mund bereichsstelle werden berechnet;
- e) eine Augenlinie wird als eine gerade Linie eingeführt, welche durch die linken und rechten Augenbereichsstellen hindurchgeht;
- f) eine vertikale Symmetrieachse wird als eine gerade Linie eingeführt, welche einen Augenlinien-Abschnitt halbiert, der die linken und rechten Augenbereichsstellen verbin det;
- g) eine Mundlinie wird eingeführt, indem eine gerade Linie durch die Mundbereichsstelle hindurchgeht, wobei die Linie senkrecht zu der vertikalen Symmetrieachse ver läuft;
- h) Bild-Pixel entlang der Symmetrieachse werden ausgewählt, die in die Nähe der Mundlinie fallen, um ein vertikales Profil von Grauskalen-Pixelwerten zu bilden;
- i) Bild-Pixel werden entlang der Mundlinie ausgewählt, die in die Nähe der Symmetrieachse fallen, um ein horizonta les Profil von Grauskalen-Pixelwerten zu bilden; und
- j) als ein Elementesatz eines visuellen Merkmalvektors wird ein Satz von Pixeln und zugeordneten Pixel-Werten ausge wählt, die an Scheitelwerten und Tälern (Maxima und Minima) der vertikalen und horizontalen Grauskalen-Pi xelwert-Profile vorkommen.
- a) the image is scanned and quantized at regular intervals along each horizontal line of the image to produce an image of pixels that represent gray level levels centered on the uniform intervals;
- b) the pixel image is pretreated by spatially smoothing and improving edge separating areas with higher or lower gray scale intensity using spatial folding methods;
- c) a threshold value is formed on the pretreated pixel image in order to determine a left and right eye area and a mouth area;
- d) the left and right eye area and the mouth area are calculated;
- e) an eye line is introduced as a straight line that passes through the left and right eye area locations;
- f) a vertical axis of symmetry is introduced as a straight line which bisects an eye line portion connecting the left and right eye area locations;
- g) a mouth line is introduced by passing a straight line through the mouth area, the line being perpendicular to the vertical axis of symmetry;
- h) image pixels along the axis of symmetry are selected that fall near the mouth line to form a vertical profile of gray scale pixel values;
- i) image pixels are selected along the mouth line that fall near the axis of symmetry to form a horizontal profile of gray-scale pixel values; and
- j) as a set of elements of a visual feature vector, a set of pixels and associated pixel values is selected that occur at vertices and troughs (maxima and minima) of the vertical and horizontal gray scale pixel value profiles.
- a) ein Mundwinkel-zu-Mundwinkel-Abstandsmaß wird durch Differenzbildung zwischen den Stellen der ausgewählten Pixel berechnet, welche den linken und rechten Mundwin kel-Positionen entsprechen;
- b) ein vertikaler Mund-Teilungsabstand wird durch Diffe renzbildung zwischen den Stellen der ausgewählten Pixel berechnet, welche den Oberlippen- und Unterlippen-Posi tionen entsprechen;
- c) eine horizontale Mundwinkel-zu-Mundwinkel-Geschwindig keit wird durch Differenzbildung zwischen Mundwinkel-zu- Mundwinkel-Abständen von benachbarten aufeinanderfolgen den Bildern bzw. Bildrahmen berechnet;
- d) ein Satz von vertikalen Geschwindigkeiten einer Oberlip pen-Position, einer Mundbereich-Position und einer Un terlippen-Position wird durch Differenzbildung zwischen Pixel-Positionen berechnet, die Oberlippen-, Mund bereich- und Unterlippen-Positionen von benachbarten, aufeinanderfolgenden Bildern bzw. Bildrahmen entspre chen;
- e) ein Satz von Pixel-Graupegel-Wertänderungen bezüglich der Zeit wird durch Differenzbildung in Pixel-Werten des ausgewählten Satzes von Pixeln zwischen benachbarten aufeinanderfolgenden Bildern bzw. Bildrahmen berechnet; und
- f) ein visueller Merkmalvektor wird aus den Werten, die in den Schritten (a) bis (e) berechnet worden sind, und aus dem ausgewählten Satz von Pixel-Werten gebildet.
- a) a mouth angle-to-mouth angle distance measure is calculated by forming the difference between the locations of the selected pixels, which correspond to the left and right mouth angle positions;
- b) a vertical mouth pitch is calculated by forming a difference between the positions of the selected pixels, which correspond to the upper lip and lower lip positions;
- c) a horizontal mouth angle-to-mouth angle speed is calculated by forming the difference between mouth angle-to-mouth angle distances from adjacent successive images or picture frames;
- d) a set of vertical speeds of an upper lip position, a mouth area position and a lower lip position is calculated by forming a difference between pixel positions, the upper lip, mouth area and lower lip positions of adjacent, successive images or Correspond picture frame;
- e) a set of pixel gray level value changes over time is calculated by differentiating in pixel values of the selected set of pixels between adjacent successive frames; and
- f) a visual feature vector is formed from the values calculated in steps (a) through (e) and from the selected set of pixel values.
- a) Analog/Digital-Umsetzeinrichtungen zum Abtasten und Quantisieren des raster-abgetasteten Videobildes in gleichmäßigen Intervallen entlang jedes Raster-Abtast verlaufs, um ein Bild von Pixeln zu erzeugen, welche Grauwert-Pegel darstellen, das auf den gleichmäßigen Intervallen zentriert ist;
- b) eine Filtereinrichtung zum Vorbehandeln des Pixel-Bildes durch räumliches Glätten und Verbessern von Kantentrenn bereichen mit höherer oder geringerer Grauskalen-Inten sität mit Hilfe von räumlichen Faltungsmethoden;
- c) eine Schwellenwert-Einrichtung für eine Schwellenwert bildung an dem vorbehandelten Pixel-Bild, um eine linke und rechte Augenbereichsstelle und eine Mundbereichs stelle zu bestimmen;
- d) eine Berechnungseinrichtung zum Berechnen der linken und rechten Augenbereichsstelle und der Mundbereichsstelle;
- e) eine Berechnungseinrichtung, um eine Augenlinie als eine gerade Linie einzuführen, welche durch die linken und rechten Augenbereichsstellen hindurchgeht;
- f) eine Berechnungseinrichtung, um eine vertiale Symmetrie achse als eine gerade Linie einzuführen, welche einen Augenlinien-Abschnitt halbiert, der die linken und rech ten Augenbereichsstellen verbindet;
- g) eine Berechnungseinrichtung, um eine Mundlinie einzufüh ren, indem einem gerade Linie durch die Mundbereichs stelle hindurchgeht, wobei die Linie senkrecht zu der vertikalen Symmetrieachse verläuft;
- h) eine Berechnungseinrichtung zum Auswählen von Bild-Pi xeln entlang der Symmetrieachse, die in die Nähe der Mundlinie fallen, um ein vertikales Profil von Grau skalen-Pixelwerten zu bilden;
- i) eine Berechnungseinrichtung zum Auswählen von Bild-Pi xeln entlang der Mundlinie, die in die Nähe der Symme trieachse fallen, um ein horizontales Profil von Grau skalen-Pixelwerten zu bilden; und
- j) eine Berechnugseinrichtung zum Auswählen eines Satzes von Pixeln und zugeordneten Pixel-Werten als einen Ele mentesatz eines visuellen Merkmalvektors, wobei die Pixel und zugeordneten Pixel-Werte an Scheitelwerten und Tälern (Maxima und Minima) der vertikalen und horizonta len Grauskalen-Pixelwert-Profile vorkommen.
- a) analog-to-digital converting means for sampling and quantizing the raster-scanned video image at regular intervals along each raster scan to produce an image of pixels representing gray level levels centered on the regular intervals;
- b) a filter device for pretreating the pixel image by spatially smoothing and improving edge separating areas with higher or lower gray scale intensity using spatial convolution methods;
- c) thresholding means for thresholding the pretreated pixel image to determine left and right eye area and mouth area;
- d) a calculation device for calculating the left and right eye area location and the mouth area location;
- e) calculating means for introducing an eye line as a straight line passing through the left and right eye area locations;
- f) calculating means for introducing a vertical axis of symmetry as a straight line which bisects an eye line portion connecting the left and right eye area locations;
- g) a calculator to introduce a mouth line by passing a straight line through the mouth area, the line being perpendicular to the vertical axis of symmetry;
- h) computing means for selecting image pixels along the axis of symmetry which fall near the mouth line to form a vertical profile of gray scale pixel values;
- i) computing means for selecting image pixels along the mouth line that fall near the axis of symmetry to form a horizontal profile of gray scale pixel values; and
- j) computing means for selecting a set of pixels and associated pixel values as an element set of a visual feature vector, the pixels and associated pixel values at vertices and troughs (maxima and minima) of the vertical and horizontal grayscale pixel value profiles occurrence.
- a) eine Berechnungseinrichtung zum Berechnen eines Mundwin kel-zu-Mundwinkel-Abstandsmaßes durch Differenzbildung zwischen den Stellen der ausgewählten Pixel, welche den linken und rechten Mundwinkel-Positionen entsprechen,
- b) eine Berechnungseinrichtung zum Berechnen eines vertika len Mund-Teilungsabstandes durch Differenzbildung zwi schen den Stellen der ausgewählten Pixel, welche den Oberlippen- und Unterlippen-Positionen entsprechen;
- c) eine Berechnungseinrichtung zum Berechnen einer horizon talen Mundwinkel-zu-Mundwinkel-Geschwindigkeit durch Differenzbildung zwischen Mundwinkel-zu-Mundwinkel-Ab ständen von benachbarten aufeinanderfolgenden Bildern bzw. Bildrahmen;
- d) eine Berechnungseinrichtung zum Berechnen eines Satzes von vertikalen Geschwindigkeiten einer Oberlippen-Posi tion, einer Mundbereich-Position und einer Unterlippen- Position durch Differenzbildung zwischen Pixel-Positio nen, die Oberlippen-, Mundbereich- und Unterlippen-Posi tionen von benachbarten aufeinanderfolgenden Bildern bzw. Bildrahmen entsprechen;
- e) eine Berechnungseinrichtung zum Berechnen eines Satzes von Pixel-Graupegel-Veränderungen bezüglich der Zeit durch Differenzbildung in Pixel-Werten des ausgewählten Satzes von Pixeln zwischen benachbarten aufeinanderfol genden Bildern bzw. Bildrahmen; und
- f) eine Berechnungseinrichtung zum Bilden eines visuellen Merkmalvektors aus den Werten, die in den Schritten (a) bis (e) berechnet worden sind, und aus dem ausgewählten Satz von Pixel-Werten.
- a) a calculation device for calculating a mouth angle-to-mouth angle distance measure by forming the difference between the locations of the selected pixels which correspond to the left and right mouth angle positions,
- b) calculating means for calculating a vertical mouth pitch by difference between the positions of the selected pixels corresponding to the upper lip and lower lip positions;
- c) a calculation device for calculating a horizontal mouth angle-to-mouth angle speed by forming the difference between mouth angle-to-mouth angle distances from adjacent successive images or image frames;
- d) a calculation device for calculating a set of vertical speeds of an upper lip position, a mouth area position and a lower lip position by forming the difference between pixel positions, the upper lip, mouth area and lower lip positions of adjacent successive images or Correspond to picture frames;
- e) calculation means for calculating a set of pixel gray level changes with respect to time by differentiating in pixel values of the selected set of pixels between adjacent successive frames; and
- f) calculation means for forming a visual feature vector from the values calculated in steps (a) to (e) and from the selected set of pixel values.
- a) die visuelle Merkmalvektor-Extrahiereinrichtung eine Folge visueller Merk malvektoren aus einer Folge von raster-abgetasteten Videobildern von Vor deransichten eines Sprecher-Gesichtes erzeugt
- a) the visual feature vector extracting device generates a sequence of visual feature vectors from a sequence of raster-scanned video images from before the views of a speaker's face
- b) eine akustische Merkmalvektor-Extrahiereinrichtung umfaßt, um Signale, welche eine akustische Sprache darstellen, die begleitend zu den raster abgetasteten Videobildern vorkommen, in eine entsprechende Folge von akustischen Merkmalvektoren umzuwandeln, und
- c) eine neuronale Netzwerk-Klassifiziereinrichtung zum Erzeugen einer be dingten Wahrscheinlichkeitsverteilung der zulässigen Sprechweisen, indem die akustischen bzw. visuellen Merkmalvektor-Folgen, die von der akusti schen bzw. visuellen Merkmalvektor-Extrahiereinrichtung zur Verfügung gestellt werden, als Eingangsgrößen für die neuronale Netzwerk-Klassifizier einrichtung verwendet und von dieser weiterverarbeitet werden.
- b) comprises an acoustic feature vector extracting device for converting signals, which represent an acoustic speech, which occur accompanying the raster scanned video images, into a corresponding sequence of acoustic feature vectors, and
- c) a neural network classification device for generating a conditional probability distribution of the permissible modes of speech by the acoustic or visual feature vector sequences provided by the acoustic or visual feature vector extracting device as input variables for the neural network Classifying device used and processed by this.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13028793A | 1993-10-01 | 1993-10-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4435272A1 DE4435272A1 (en) | 1995-04-13 |
DE4435272C2 true DE4435272C2 (en) | 1997-09-04 |
Family
ID=22443974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4435272A Expired - Fee Related DE4435272C2 (en) | 1993-10-01 | 1994-10-01 | Method and device for extracting a visual feature vector from a sequence of images and speech recognition device |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4435272C2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761329A (en) * | 1995-12-15 | 1998-06-02 | Chen; Tsuhan | Method and apparatus employing audio and video data from an individual for authentication purposes |
US11347941B2 (en) * | 2019-04-30 | 2022-05-31 | Marvell Asia Pte, Ltd. | Methods and apparatus for compressing data streams |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8528143D0 (en) * | 1985-11-14 | 1985-12-18 | British Telecomm | Image encoding & synthesis |
US5136659A (en) * | 1987-06-30 | 1992-08-04 | Kokusai Denshin Denwa Kabushiki Kaisha | Intelligent coding system for picture signal |
-
1994
- 1994-10-01 DE DE4435272A patent/DE4435272C2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE4435272A1 (en) | 1995-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4436692C2 (en) | Training system for a speech recognition system | |
DE4317372C2 (en) | An acoustic and visual speech recognition system based on a neural network | |
US5680481A (en) | Facial feature extraction method and apparatus for a neural network acoustic and visual speech recognition system | |
DE3337353C2 (en) | Speech analyzer based on a hidden Markov model | |
DE69127818T2 (en) | CONTINUOUS LANGUAGE PROCESSING SYSTEM | |
DE69615748T2 (en) | Method and device for speaker verification by differentiating the prototype compilation | |
DE69914839T2 (en) | Speaker verification and recognition using own voices | |
DE69311303T2 (en) | LANGUAGE TRAINING AID FOR CHILDREN. | |
DE69331254T2 (en) | Recognition system for recognizing people | |
EP0604476B1 (en) | Process for recognizing patterns in time-varying measurement signals | |
DE69414752T2 (en) | Speaker independent recognition system for isolated words using a neural network | |
EP0821346B1 (en) | Method for speaker verification by a computer by means of at least one speech signal spoken in by a speaker | |
DE60000403T2 (en) | Device and method for model adaptation, storage device and pattern recognition device | |
DE3236834C2 (en) | Method and device for speech analysis | |
DE3236832C2 (en) | Method and device for speech analysis | |
DE19636739C1 (en) | Multi-lingual hidden Markov model application for speech recognition system | |
DE69029188T2 (en) | Character recognition based on probability clustering | |
DE69231309T2 (en) | Method and system for handwriting recognition | |
DE4310190A1 (en) | Speaker verification system using nearest neighbour distance - accepts or rejects identification of speaker claiming to be registered speaker on basis of relationship between distance and given threshold | |
DE69226804T2 (en) | Speech recognition through a neural network adapted for reference pattern learning | |
DE10030105A1 (en) | Speech recognition device | |
DE69517571T2 (en) | Pattern recognition method | |
DE60310687T2 (en) | METHOD FOR ACCELERATING THE IMPLEMENTATION OF LANGUAGE RECOGNITION WITH NEURAL NETWORKS, AND CORRESPONDING DEVICE | |
DE2422028A1 (en) | CIRCUIT ARRANGEMENT FOR IDENTIFYING A SHAPE FREQUENCY IN A SPOKEN WORD | |
DE3938645C1 (en) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06K 9/62 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |