ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra teorie obvodů ANALÝZA A ZPRACOVÁNÍ ŘEČOVÝCH A BIOLOGICKÝCH SIGNÁLŮ SBORNÍK PRACÍ 2006 Editoři sborníku Doc. Ing. Petr Pollák, CSc. Doc. Ing. Roman Čmejla, CSc. Prosinec 2006
ANALÝZA A ZPRACOVÁNÍ ŘEČOVÝCH A BIOLOGICKÝCH SIGNÁLŮ SBORNÍK PRACÍ 2006 Editoři: Doc. Ing. Petr Pollák, CSc. Doc. Ing. Roman Čmejla, CSc. pollak@feld.cvut.cz cmejla@feld.cvut.cz Katedra teorie obvodů http://amber.feld.cvut.cz vedoucí: Prof. Ing. Jan Uhlíř, CSc. Laboratoř zpracování řeči http://noel.feld.cvut.cz/speechlab vedoucí: Prof. Ing. Jan Uhlíř, CSc. LaBiS - Laboratoř biologických signálů Společné pracoviště 3. LF UK a FEL ČVUT FEL http://amber.feld.cvut.cz/bio Laboratoř analýzy a zpracování biologických signálů České vysoké učení technické v Praze Fakulta elektrotechnická, Katedra teorie obvodů Technická 2, 166 27 Praha 6 - Dejvice vedoucí: Prof. Ing. Pavel Sovka, CSc. Výzkumná laboratoř EEG Ústav normální, patologické a klinické fyziologie 3. lékařská fakulta, Universita Karlova v Praze vedoucí: Prof. PhDr. Andrej Stančák, CSc. Poděkování: Tato publikace vznikla za podpory grantu GAČR 102/02/0124 Hlasové technologie v podpoře informační společnosti, GAČR 102/03/H085 Modelování biologických a řečových signálů a výzkumných záměrů MSM 210000012 Transdisciplinární výzkum v oblasti biomedicínského inženýrství a MSM 212300014 Výzkum v oblasti informačních technologií a komunikací. Vydalo nakladatelství ČVUT, Zikova 4, 166 36 Praha 6, v roce 2006. ISBN: 80-01-03621-9
Ediční poznámka Předložený sborník je souhrnem prací realizovaných doktorandy katedry teorie obvodů v různých aplikačních oblastech číslicového zpracování signálů. Sborník navazuje na první sborník vydaný v minulém kalendářním roce. Sborník dává přehled o jednotlivých výzkumných aktivitách řešených ve skupině zpracování signálů na katedře teorie obvodů. Prezentované příspěvky jsou shrnující a podrobnější informace o řešených problémech lze nalézt v odkazovaných pramenech nebo i v elektronické podobě dostupných prezentacích z pravidelných seminářů studentů doktorského studia na adresách http://noel.feld.cvut.cz/aazs-ix http://noel.feld.cvut.cz/aazs-x V Praze 1. prosince 2006 Doc. Ing. Petr Pollák, CSc. Doc. Ing. Roman Čmejla, CSc. editoři sborníku
Předmluva Tento díl sborníku prací studentů doktorského studia plynule navazuje na již pětiletou tradici katedry teorie obvodů. Studenti doktorského studia pravidelně prezentují výsledky své práce před svými kolegy i pedagogy na seminářích označovaných jako Pondělky. Sborník, který držíte v ruce vychází z vybraných prezentací uplynulého roku 2006 zaměrených na aplikaci metod číslicového zpracování signálů v oblastech zpracování řeči a biologických signálů. Text proto poskytuje určitou představu nejen o práci doktorandů, ale i o zaměření části výzkumu prováděného na katedře. Semináře slouží dokorandům i pedagogům - jejich školitelům - ke tříbení myšlenek a nápadů v mnohdy kritických diskusích. Přinášejí nové podněty pro zpracování disertačních prací. Vědecká práce na katedře je podporována nejen institucionálními výzkumnými záměry, ale i účelově financovanými projekty několika grantových agentur. Všem poskytovatelům podpory výzkumu chceme tímto sborníkem poděkovat. Zájemce o témata uvedená ve sborníku rádi přivítáme na našich seminářích. Jejich program je pod názvem Pondělky uveden internetových stránkách katedry V Praze dne 5.12.2006 Prof. Ing. Pavel Sovka, CSc. vedoucí katedry http://amber.feld.cvut.cz/bio
Obsah Marek Bártů: Akcelerátor pro KSOM 1 Petr Bergl: Zpřesňování hranic mezi fonémy pomocí meření odlišnosti ve spektru signálu 8 Václav Bolom: Zvýrazňování řeči pomocí vícekanálového zpracování 16 Hynek Bořil: Návrh odposlechové smyčky; Srovnání parametrizací pro rozpoznávání Lombardovy řeči 24 Petr Fousek: Příznaky pro automatické rozpoznávání řeči odvozené z dynamiky spektra 31 Zdeněk Chaloupka: Analýza kvality řeči pomocí HMM 37 Josef Rajnoha: Modelování neřečových událostí v robustním rozpoznávání řeči s malým slovníkem 43 Lukáš Ručkay: Analýza EEG pomocí ICA - odhad dimenze modelu 49 Lukáš Svoboda: Detekce korové aktivity vyvolané míšním neurostimulátorem u pacientů trpících nezvladatelnou neuropatickou bolestí 57 Pavel Štemberk: Konstrukce rozpoznávače řeči s použitím AT&T nástrojů 65 Martin Vondrášek: Virtuální elektrody v kochleárních implantátech Nucleus 24 72 Petr Zetocha: Analýza řeči dětí s vývojovou dysfázií pomocí Supervised SOM 78 Petr Zlatník: Vyhodnocování vad řeči dětí s využitím algoritmu DTW 84
Marek Bártů 1 Akcelerátor pro KSOM Marek Bártů České vysoké učení v Praze, Fakulta elektrotechnická bartum1@fel.cvut.cz Abstrakt: In this work we are describing hardware implementation of Kohonen Self-Organizing Map. We examined existing neurocomputers and decided to work out our own neurocomputer with a different, more suitable architecture. Our neurocomputer is being realized on FPGA (Field-Programmable Gate Array). In this article we are describing basic neurocomputer unit structure as well as linkage of these elements into neurocomputer and units participation on computation process. 1. Úvod Při zpracování řeči lze využít metody založené na aplikacích umělých neuronových sítí. Jedním z typů umělých neuronových sítí (UNS) jsou KSOM. Jsou to UNS učící se bez učitele (viz [5]). KSOM jsou vhodnou alternativou ke klasickým metodám, a to zvláště v případech, kdy pracujeme se zašuměnými nebo nekompletními daty. KSOM lze s výhodou požít, mimo jiné, v úlohách vizualizace dat. KSOM mají schopnost konvertovat nelineární statistické vztahy mezi vícedimenzionálními daty do jednoduchých geometrických vztahů jejich obrazů v obvykle tří či dvourozměrném prostoru. Na našem pracovišti používáme KSOM ke klasifikaci a vizualizaci dat. Podstatnou nevýhodou KSOM je, tak jako u ostatních typů neuronových sítí, náročnost na výpočetní výkon. Pro reálné využití je výkonnost KSOM realizovaných na osobním počítači obvykle nedostatečná, proto se snažíme zkonstruovat akcelerátor - neuropočítač, který by umožnil vlastní výpočet výrazně zrychlit. Naším cílem je vyvinout neuropočítač, který by umožnil maximálně využít výhod hradlových polí - FPGA (Field Programmable Gate Array). Tím míníme možnosti integrace do autonomního systému a rekonfigurovatelnost (využíti prostředků FPGA i pro další úlohy spojené s příslušnou úlohou). Dalším požadavkem je možnost přizpůsobit neuropočítač konkrétnímu typu dat a dosáhnout zrychlení výpočtů. Posledním požadavkem na navrhovaný systém je možnost realizovat neuropočítač na komerčně dostupné vývojové desce s FPGA. 2. Problémy spojené s implementací KSOM Při hardwarové implementaci KSOM je důležitým faktorem konečná délka slova v realizovaném systému. Dostatečný počet bitů datového slova - délka slova - má zásadní vliv na rychlost konvergence sítě realizované neuropočítačem. Pokud je délka slova nižší než jistá kritická mez, dochází k divergenci sítě. Zároveň se zvyšujícím se počtem bitů stoupá složitost a nároky na hardware. To ovlivňuje vlastní výkonnost neuropočítače. Výsledná délka slova je tedy kompromisem mezi požadavky na rychlost konvergence sítě a hardwarovými nároky. Minimální délka slova pro konvergenci sítě záleží na distribuční funkci vstupních vektorů. Není možné vytvořit analytický popis pro obecný případ, a proto jsme při zjišťování optimální délky slova pro konkrétní úlohu odkázáni na simulace prováděné na reprezentativním vzorku vstupních dat. Při bližším rozboru v [1] se ukázalo že na vhodnou volbu délky slova jsou nejnáročnější synaptické váhy a funkce okolí neuronu.
2 Marek Bártů Pro snazší implementaci byl algoritmus KSOM zjednodušen. Realizovaná zjednodušení nemají vliv na konvergenci algoritmu, to bylo již prokázáno v existujících akcelerátorech [2], [3]. Uvažujeme hlavně zjednodušení výpočtu vzdálenosti vstupního vektoru, funkce okolí neuronu a realizace učícího faktoru. Pro výpočet vzdálenosti je použita bloková vzdálenost (2) místo eukleidovské. Použití blokové vzdálenosti částečně zpomalí konvergenci, ale přináší výrazné úspory v implementaci nemusíme realizovat násobičku a odmocninu. 3. Akcelerátor V d= x i m i (1) i =1 Akcelerátor je tvořen zřetězením jednotek realizujících funkce neuronu (na obrázcích značených N) doplněných jednotkami realizujícími komparátory (označeno K). Akcelerátor lze tedy jednoduše přizpůsobit konkrétní aplikaci, potřebné velikosti sítě, požadované rychlosti a použitému hardware. Každé jednotce je přiřazena logická adresa, takže "sousedství" neuronů je respektováno bez ohledu na fyzické uspořádání jednotek. Na následujících obrázcích je znázorněn návrh několika možných realizací. Obrázek 1: Realizace akcelerátoru zřetězením jednotek Na Obrázku 1 je neuronová síť tvořená zřetězením jednotek - neuronů. Toto uspořádání neuronů nevyžaduje použití podpůrných jednotek komparátorů. Příklad je pouze ilustrativní, takto realizovaný akcelerátor by měl velmi pomalou odezvu (úměrnou počtu neuronů) a toto uspořádání není vhodné pro praktickou realizaci. Mnohem výhodnější je realizace zobrazená na Obrázku 2. Na obrázku 2 je znázorněna realizace akcelerátoru řazením neuronů do paralelních větví zakončených stromem komparátorů. Popis komparátoru je uveden dále v textu. Výhodou tohoto uspořádání je mnohem rychlejší odezva než v předchozím případě. Odezva bude rovna pouze počtu neuronů ve v nejdelší větvi a hloubce stromu komparátorů.
Marek Bártů 3 Obrázek 2: Realizace akcelerátoru řazením neuronů do paralelních větví Vhodným uspořádáním neuronů a komparátorů je možné realizovat strukturu na Obrázku 3. Tato struktura vychází přímo z původního algoritmu KSOM. V místě spojení větví je zařazen komparátor a v místě spojování cest v prostředním neuronu je dvojstupňový "strom" komparátorů. Data do struktury vcházejí z vnějšího okraje struktury a výsledek (vítěz) je nalezen po průchodu strukturou komparátorů uprostřed. Obrázek 3: Přirozená struktura KSOM Akcelerátor lze realizovat samostatně, je třeba pouze doplnit další podpůrné jednotky. Schéma takto realizovaného akcelerátoru je znázorněno na Obrázku 4. Vhodně uspořádané neurony jsou doplněny lokální pamětí, řadičem pro řízení výpočtu, řadičem pro řízení RAM paměti a blokem komunikace s osobním počítačem. Paměť RAM je externí paměť na prototypové desce FPGA. Řadič paměti se stará o její řízení a přesun dat do vyrovnávacích lokálních blokových pamětí (BRAM).
4 Marek Bártů Obrázek 4: Schéma akcelerátoru Komunikační kanál má zajistit dodání potřebných dat neuročipu. Je třeba zadat inicializační hodnoty neuronů (přímý zápis do datových struktur jednotlivých neuronů) a sadu vstupních vektorů (uloženou v paměti RAM). Při trénování se vlastní kanál používá pouze k zadání dat a předávání výsledků, výpočet probíhá samostatně v čipu. Pro účely ladění předpokládám vybavení neuročipu diagnostickým režimem, který umožní pozastavit výpočet a přistupovat ke všem datovým strukturám v neuročipu. V režimu klasifikace bude nejvýhodnější, kvůli rychlosti komunikace, aby byla data zadána v dávkách. Data se uloží do RAM paměti, klasifikují a výsledky se potom odešlou všechny najednou. Prozatím máme k dispozici řadič pro UART [4]. Pokud by ale bylo třeba rychlejší komunikace, bylo by vhodné realizovat rychlejší komunikační kanál, např. USB. Základní funkcí řadiče je řídit vlastní neurony. V řadiči může být implementováno promíchání vstupních vektorů tedy postup, kdy se v jedné epoše vybírají vstupní vektory x náhodně, a to tak, že každý vektor je vstupem právě jednou. Klasická implementace předpokládá vstup vektorů v každé epoše v pořadí jak byly zadány. Další funkcí řadiče je určení poloměru okolí vzhledem k probíhající epoše trénování. Předpokládám využití tabulky, která bude předepisovat změny v určitých epochách. Obsah této tabulky bude součástí inicializačních dat, posílaných z PC. Jak bylo popsáno v předchozím odstavci, na konvergenci sítě má vliv konečná délka slova. Proto je v akcelerátoru možnost změnit počet bitů slova použitého k uložení synaptických vah neuronu, počet bitů akumulátoru i dimenzi vektoru vstupních dat. Je tedy možné generovat akcelerátor přímo přizpůsobený aplikaci, a to tak se, že se jednoduše změní tento parametr a znovu se provede syntéza. Simulaci vlivu konečné délky lze uskutečnit přímo ve VHDL simulátoru nebo v jiném vhodném prostředí s dostatečnou podporou pro matematické operace (Matlab). Akcelerátor lze také realizovat jako součást systému na čipu (SoC), akcelerátor pak bude v roli periferie.
Marek Bártů 5 4. Popis neuronu Schéma neuronu je na Obrázku 5. Silná čára reprezentuje tok dat, slabší čáry potom řídící signály. Neuron se do struktury akcelerátoru zapojuje pomocí vstupní a výstupní brány. Dále neuron obsahuje datovou paměť. Tato paměť slouží k uložení synaptických vah neuronu. Veškeré výpočty probíhají v SAD (Substitute-ADd) jednotce. Výpočty řídí řadič, který je implementován jako jednoduchý stavový automat. Bližší popis bloků včetně propojení s ostatními bloky, je uvedeno dále v textu. Obrázek 5: Schéma neuronu V akcelerátoru jsou neurony vzájemně propojeny pomocí vstupních a výstupních bran. Brány obsahují datové vodiče a indikaci přítomnosti dat. Dále pak obsahují signál "break", který indikuje, že příchozí datové slovo bude kódem příkazu. Bezprostřední průchod dat mezi vstupní a výstupní branou umožňuje neuronu fungovat v průchozím režimu bez zpracovávání dat. Tento mód je nutný v režimu ladění (debug) a inicializace. Pro realizaci paměti vah je možné využít blokové paměti na čipu FPGA nebo paměti distribuované složené z hradel FPGA obvodu. Distribuovaná paměť odčerpává část prostředků čipu FPGA, která by mohla být jinak použita k realizaci dalších neuronů. Nicméně, využití distribuované paměti je nutné, protože množství blokové paměti je omezené. Napojení na datovou sběrnici umožňuje nejen do paměti nahrát inicializační váhy, ale i číst obsah v ladícím módu. Obrázek 6: SAD jednotka
6 Marek Bártů Veškeré aritmetické operace jsou realizovány v SAD (Substitute-Add Accumulate) jednotce. SAD jednotka má na starosti výpočet vzdálenosti mezi vstupním vektorem a váhami, nalezení vítěze, výpočet vzdálenosti od vítězného neuronu a úpravu vah v režimu trénování. Schéma SAD jednotky je na Obrázku 6. SAD jednotka se skládá z bloku výpočtu absolutní hodnoty rozdílu, akumulátoru, posuvného registru a bloku pro úpravu vah. Blok výpočtu absolutní hodnoty spolu se sčítačkou a akumulátorem se uplatní při výpočtu vzdálenosti neuronu od vstupního vektoru dat a při výpočtu vzdálenosti od vítězného neuronu. Podle výsledku tohoto výpočtu se nastaví posuvný registr. Posuvný registr se uplatní při výpočtu úpravy váhy podle vítězného neuronu. Při tomto výpočtu se vypočítá rozdíl váhy a příslušné složky vektoru a tento přírůstek se posune o určitý počet bitů vydělí mocninou dvou. Blok pro úpravu vah je sčítačka, která vypočítává hodnotu váhy neuronu podle vztahu (2). Konstanta představuje bitový posun dělení. 5. Postup výpočtu w n 1 i =w n i k w n i m i (2) Neuropočítač funguje následovně: v první, přípravné fázi, je pomocí PC nahrán soubor inicializačních hodnot a vstupních vektorů do paměti RAM na prototypové desce s vlastním hradlovým polem, v němž je neuropočítač realizován a jsou inicializovány jednotlivé neurony. Další fází je trénování - vstupní vektor je distribuován složku po složce. Jednotlivé neurony přímo provádí výpočet vzdálenosti. Mezivýsledek výpočtu je uložen v akumulátoru každého neuronu. Hledání vítěze provádí neuropočítač tak, že krajní neurony pošlou hodnotu svého akumulátoru (a svou adresu) následujícímu neuronu. Ten provede porovnání s vlastním akumulátorem a vítěznou hodnotu pošle dalšímu neuronu v cestě (včetně adresy). Tímto způsobem bude po posledním porovnání v prostředním neuronu znám vítěz pro daný vstupní vektor. Poslední částí trénování je adaptace. Všem neuronům je předána adresu vítězného neuronu a poloměr okolí. Každý neuron pak srovnáním obdržené a vlastní adresy individuálně zjistí svou příslušnost k okolí vítězného neuronu a provede úpravu svých vah. 6. Závěr Hlavní výhodou je plně distribuovaná architektura. Další výhodou je přímé komunikační schéma mezi neurony, bez nutnosti implementovat dlouhé a výpočet zpomalující sběrnice. Neurony přenášejí data přímo mezi sebou. Implementace v FPGA, které je založeno na SRAM, umožní škálovatelnost systému, použití v komplexním systému nebo při rekonfiguraci. Po první verzi jsem po implementaci získal následující odhady: implementace až 40 neuronů v obvodu XC2V1000, kdy každý neuron může pracovat na maximální hodinové frekvenci 150 MHz. V současné době dokončuji druhou verzi a plánuji numerické testy konvergence sítě akcelerátoru a porovnání rychlosti s osobním počítačem. 7. Poděkování Tento projekt je podporován grantem Transdisciplinární výzkum v biomedicínském inženýrství II, MSM6840770012 Českého Vysokého Učení technického v Praze.
Marek Bártů 7 Reference [1] Thiran P., Peiris V., Heim P., Hochet B.: Quantization Effects in Digitally Behaving Circuit Implementations of Kohonen Networks, IEEE Transactions on Neural Networks No. 3, Vol. 5., 1994 [2] Porrman, M., Witkowski, U., Kalte, H., Ruckert, U.: Implementation of Artifical Neural Networks on a Reconfigurable Hardware Accelerator, In Proceedings of the 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing, Grand Canaria Island, Spain, 2002, pp. 243 250 [3] Ienne, P.: Architectures for Neuro-Computers: Review and Performance Evaluation, Technical Report of the EPFL-DI no. 93/21, Lausanne, Swiss (1993) [4] Bártů M.: Implementation of communication protocol between the FPGA kit and the PC via the serial interface. Unpublished technical report Z06-3 (in Czech), FEE CTU Prague, 2006. Available at http://amber.feld.cvut.cz/fpga/. [5] Kohonen, T.: Self-Organizing Maps. Springer-Verlag Berlin, Heidelberg, New York, 3 rd ed., 2001, ISBN 3-540-67921-9
8 Petr Bergl Zpřesňování hranic mezi fonémy pomocí měření odlišnosti ve spektru signálu Petr Bergl České vysoké učení technické v Praze, Fakulta elektrotechnická berglp1@fel.cvut.cz 20. listopadu 2006 Abstrakt: V příspěvku je popsán algoritmus pro zpřesňování hranic mezi fonémy, jejichž pozice byla nejdříve odhadnuta pomocí HMM. Řečový signál je poté analyzován metodami měřícími odlišnost ve spektru signálu. Výstupem těchto měření jsou křivky, ve kterých by hranice mezi fonémy měla být indikována lokálním maximem. Pozice těchto maxim jsou poté použity na aktualizaci hranic odhadnutých pomocí HMM. Celkem je použito 14 metod pro měření odlišnosti ve spektru, z nichž většina využívá autoregresní model signálů. Výkonnost navrženého postupu je demonstrována na databázi 18 řečových signálů. 1. Úvod Skryté Markovovské modely (HMM) jsou v současné době dominantní na poli rozpoznávání řeči, pro přepis neznámých promluv, stejně jako pro lokalizaci hranic mezi fonémy v promluvách se známým textem (např. labelování databází, kde je stejný text čten více jedinci). Přesnost polohy detekovaných hranic však může být poměrně omezená. V tomto příspěvku předpokládáme, že přechod mezi fonémy je doprovázen měřitelnými změnami ve spektru signálu. Tyto změny se pokusíme detekovat pomocí měr odlišnosti a jejich polohu použijeme pro zpřesnění odhadů získaných z HMM. Podobný přístup je popsán např. v [1], námi navržený algoritmus je jedinečný ve využívání vysokého počtu měr s rozličným nastavením. 2. Metody měření odlišnosti a experimenty s reálnými signály 2.1. Použití míry odlišnosti pro analýzu signálu Mějme dva signály, x 1 (n) a x 2 (n). Naším úkolem je zjistit, jak moc jsou si signály (ne)podobné, tj. zjistit míru jejich odlišnosti. Pro jednoduchost předpokládejme, že oba mají stejnou délku N. Nejjednodušší míra odlišnosti spekter signálů může být definována takto: d X = 1 N 1 (X 1 (n) X 2 (n)) N 2, (1) n=0
Petr Bergl 9 Obrázek 1: Vlevo Výpočet míry d pro segmentaci signálu x(n). Vpravo Řečový signál, jeho spectrogram a křivka vypočtená pomocí míry d F F T kde X 1 a X 2 představují spektra vypočtená pomocí FFT. Takováto míra pak může být použita pro analýzu signálu za pomoci klouzajícího okna délky L. Okno nejprve nasadíme na začátek signálu. Levá půlka okna definuje signál x 1 (n), pravá půlka definuje x 2 (n). Z těchto signálů vypočteme míru odlišnosti d. Poté okno posuneme. Situaci popisuje obrázek 1 (vlevo). Velikosti d vypočtené pro jednotlivé posuny si zapamatujeme a vyneseme je pro časové okamžiky odpovídající středu okna. Výsledkem je křivka C, ve které by měla být místa změn hlásek označena lokálním maximem. Ukázka řečového signálu, jeho spectrogramu a křivky vypočtené pomocí míry d F F T viz obr. 1 (vpravo). Předpokládejme, že řečový signál je nejprve analyzován pomocí HMM a jsou odhadnuty pozice hranic mezi hláskami b HMM i. Signál poté proměříme pomocí míry odlišnosti, výsledkem je křivka C zmiňovaná v předchozím odstavci. Pozice lokálních maxim v C bychom rádi zužitkovali pro zpřesnění hranic b HMM i. Použijeme následující aktualizační algoritmus:
10 Petr Bergl For i = 1,..., M 1. Najdi polohu lokálního maxima t M i v blízkosti b HMM i je ε i ). (poloměr prohledávaného okolí 2. Porovnej hodnotu maxima C(t M i ) s prahem h. Když C(t M i ) > h je nová poloha hranice dána pozicí maxima t M i, t.j. b new i = t M i ; jinak se pozice nemění, t.j. b new i = b HMM i. M je počet hranic, práh h se nastavuje vzhledem k typu míry, např. se h nastaví na střední hodnotu křivky C. Poloměr hledání ε i se mění v závislosti na rozdílné délce hlásek. 2.2. Použití míry odlišnosti pro analýzu databáze Pro další postup předpokládejme následující: Máme k dispozici databázi řečových signálů, ve které je stejný text čten více jedinci. Pro každý signál byly ručně vytvořeny kontrolní hranice b con i. Každý signál byl analyzován pomocí HMM b HMM i jsou k dispozici. Databázi náhodně rozdělíme na trénovací a testovací část. Nyní každý signál z trénovací části analyzujeme následujícími mírami (pro každou použijeme řadu nastavení, L je délka klouzajícího okna ve vzorcích, p je řád AR modelu): d X definována v předchozím textu, L {200, 400,..., 1200}; d Cep = 1 N c1 c 2, kde c 1 a c 2 představují kepstrum signálu, L {200, 400,..., 1200}; d lpc = 1 N b1 b 2, kde b 1 a b 2 jsou parametry AR modelu, L {400, 800}, p {2, 4, 8}; d CC, daná rozdílem kepstrálních koeficientů odvozených z koefficientů AR modelu, L {800, 1000}, p {2, 4, 8}; d Bay definovaná výstupem Bayesovského detektoru viz [3], [4], L {800, 1000}, p {2, 4, 8}; d RBD definovaná výstupem Bayesovského detektoru s využitím rozdílných řádů AR modelu v levé a pravé části okna, viz [4], L {800, 1000}; p {2/4, 4/2, 2/8, 8/2, 4/8, 8/4}; Poznámka: AR řád 2/4 představuje p = 2 pro levou část a p = 4 pro pravou část okna; vždy je také použito alternativní nastavení (tj. 4/2). d BSCD daná Bayesovským detektorem změny střední hodnoty (Step Changepoint Detector), L {300, 400,..., 800}; d GLR definovaná pomocí General Likelihood Ratio, viz [2], L {400, 800}, p {2, 4, 8};
Petr Bergl 11 d Kull je Kullback-Leiblerova divergence, viz [6], L {400, 800}, p {2, 4, 8}; d Bha je Bhattacharyova divergence, viz [7], L {400, 800}, p {2, 4, 8}; d Mah je Mahalanobisova míra, viz [5], L {400, 800}, p {2, 4, 8}; d L2 představuje L2 metriku, viz [5], L {400, 800}, p {2, 4, 8}; d JM je Jeffreys-Matusitova míra, viz [5], L {400, 800}, p {2, 4, 8}; d Itak je Itakurova divergence, viz [8], L {400, 800}, p {2, 4, 8}; Celkem tak obdržíme 90 křivek pro každý signál. Pro každý signál a každou křivku provedeme aktualizační algoritmus popsaný dříve. Obdržíme tak množiny nových hranic b new i. Pro rozhodnutí, zda jsou nové hranice lepší či horší než ty původní, použijeme ruční labely b con i. Skóre pro odhadnutou pozici můžeme definovat takto: { 1, bi b s(b i ) = con i τ; 0, b i b con i > τ; (2) čili s(b i ) je 1, jestliže odhadnutá pozice leží dostatečně blízko k pozici skutečné (kontrolní), τ je zvolená tolerance, např. 12, 5 ms. Toto skóre můžeme vypočítat pro oba odhady, tedy jak pro původní b HMM i tak pro aktualizované b new i (nezapomeňme, že b new i se váže pouze na jednu křivku). Index zlepšení pak můžeme definovat jako I i = s(b new i ) s(b HMM i ), (3) tj. I i se rovná 1, když se pozice hranice zlepšila (aktualizovaná pozice je v toleranci dané rovnicí 2, zatímco původní nebyla); I i je 0, když nedošlo k žádné změně (tj. stav původní i nové hranice je totožný; buď jsou obě v toleranci, nebo v ní není ani jedna); I i je 1, když aktualizací došlo ke zhoršení (nová pozice není v toleranci, zatímco původní byla). Index I i spočteme pro všechny hranice v signálu, zvlášť pro každou z křivek (každá křivka definuje odlišnou množinu b new i jednu konkrétní křivku (jednu množinu b new i S 0 i je počet signálů, kde I i = 0; S 1 i je počet signálů, kde I i = 1; S 1 i je počet signálů, kde I i = 1. ). Nyní pro jednu konkrétní hranici ve všech signálech a pro ) vyčíslíme následující statistiky:
12 Petr Bergl d Bay d cep hranice Si 0 Si 1 Si 1 Si 0 Si 1 Si 1 X-m 9 0 1 8 1 1 m-a 8 1 1 9 0 1 a-t 6 4 0 4 5 1 t-e 2 8 0 8 2 0 e-ř 5 4 1 7 2 1 ř-í 5 4 1 6 4 0 i-d 6 2 2 5 2 3 d-ou 3 6 1 5 3 2 ou-š 8 2 0 7 3 0 š-k 8 0 2 6 4 0 k-a 8 1 1 6 3 1 a-x 10 0 0 9 1 0 Tabulka 1: Hodnoty S statistik pro míru d Bay, L = 1000, p = 8 a míru d cep, L = 1000. Výsledky pro všechny hranice ( X je pauza), pro 10 signálů z trénovací množiny. Příklad těchto hodnot pro míru d Bay, okno délky L = 1000 a AR řád p = 8 nalezneme v tabulce 1 (vlevo). Příklad je pro databázi čítající 18 signálů, trénovací množinu tvoří 10 z nich. Každý signál je pouze jedno slovo mateřídouška vyslovené dítětem, vzorkovací frekvence je 8 khz. Tabulka 1 popisuje schopnost míry d Bay (s konkrétním nastavením) zlepšit pozici hranic v tomto slově. Podívejme se např. na pátý řádek tabulky (hranice mezi t a e ). Je zjevné, že ke změně nedošlo pro 2 signály (Si 0 = 2), ke zlepšení došlo = 0). Z toho vyplývá, že míra d Bay pro L = 1000 a p = 8 je schopna výrazně upřesnit pozici hranice mezi t a e. Na druhou stranu, výsledky pro některé jiné hranice jsou dosti špatné, např. pro hranici š-k je 8 signálů beze změny, pozice se zhoršila pro 2 signály. V tabulce 1 (vpravo) jsou uvedeny výsledky pro kepstrální vzdálenost d cep, L = 1000. Výsledky pro hranici š-k jsou u 8 signálů (S 1 i = 8), ke zhoršení nedošlo ani u jednoho (S 1 i = 0). Zdá se tedy, že kepstrální vzdálenost je pro detekci š-k vhodnější než míra d Bay. Uvědomme si, že tabulka 1 reprezentuje hodnoty pro dvě křivky (d Bay a d Cep s určitým nastavením). Křivek je celkem 90 a naším úkolem je teď najít tu nejvhodnější pro kaž- dobré (S 0 i = 6, S 1 i = 4, S 1 i dou z hranic. Jinými slovy musíme najít metodu, pro kterou je hodnota Si 1 maximální a hodnota Si 1 naopak minimální. Výsledky (nejlepší míry a nastavení) nalezneme v tabulce 2 (vlevo). Tyto metody použijeme pro aktualizační algoritmus pro osm signálů z testovací části databáze. Tj. hranice m-a bude aktualizována v každém signálu pomocí Kullback-Leiblerovy divergence (viz druhý řádek na obr. 2); hranice a-t pomocí Bhattacharyovy míry (viz třetí řádek na obr. 2), hranice t-e pomocí Bayesovského detektoru (viz čtvrtý řádek na obr. 2). Pro další pozice postupujeme obdobně. Nyní je naším úkolem ověřit, zda výše popsaný princip (selekce metod plus aktualizační algoritmus) vedl ke zpřesnění hranic v testovacích signálech. Pro aktualizované pozice spočteme S statistiky, výsledky viz tabulka 2 (vpravo). Je zjevné, že pozice většiny hranic byla zpřesněna.
Petr Bergl 13 nej. metody ověření hranice míra L p Si 0 Si 1 Si 1 X-m - - - 8 0 0 m-a d Kull 800 8 7 1 0 a-t d Bha 800 4 3 5 0 t-e d Bay 1000 8 3 4 1 e-ř d RBD 800 2/4 4 4 0 ř-í d RBD 1000 4/2 4 2 2 i-d - - - 8 0 0 d-ou d CC 1000 2 6 2 0 ou-š d Bay 800 2 2 6 0 š-k d Cep 1000-6 2 0 k-a d Cep 400-5 0 3 a-x - - - 8 0 0 Tabulka 2: Vlevo Nejvhodnější metody a jejich nastavení pro každou hranici (pro X-m, i-d a a-x žádná vhodná metoda nalezena nebyla). Vpravo Hodnoty S statistik pro osm testovacích signálů. Hodnoty se vztahují k metodě uvedené na stejném řádku v levé části tabulky. Obrázek 2: Proces aktualizace hranic. V 1. řádku je promluva mate s HMM odhady; ve 2. 4. řádku jsou křivky pro Kullback-Leiblerovu, Bhattacharyyovu divergenci a pro Bayesovský detektor. V 5. řádku jsou hranice aktualizované pomocí lokálních maxim v předchozích křivkách. Čárkovaně jsou vykresleny kontrolní ruční labely.
14 Petr Bergl Jinou statistikou popisující přesnost odhadů je průměrná hodnota skóre z rovnice 2. Ta je definována následovně: s HMM = 100 R s new = 100 R R N r=1 i=1 R N r=1 i=1 s(b HMM i,r ); (4) s(b new i,r ); (5) kde R je počet signálů; b i,r je odhad i-té pozice v r-tém signálu; s HMM tedy reprezentuje průměrný počet případů, ve kterých je HMM odhad dostatečně blízko ke kontrolním labelům (tj. počet zásahů ), s new je počet zásahů po aktualizaci. Pro naší databázi jsou hodnoty pro různou velikost tolerance τ uvedeny v tabulce 3. Zřetelné navýšení počtu zásahů demonstruje užitečnost výše popsaného postupu. Zároveň je dobré si uvědomit, že hodnota τ není důležitá jen pro vyhodnocování výsledků, ale hraje podstatnou roli v trénovací fázi algoritmu, konkrétně při výpočtu S statistik. τ s HMM s new 10 ms 38% 58% 12, 5 ms 43% 68% 15 ms 45% 65% Tabulka 3: Hodnoty počtu zásahů před a po aktualizaci pro různé hodnoty tolerance τ. 3. Závěry Ukázali jsme, že aktualizační algoritmus spolu s precizním výběrem metod může vést k podstatnému zpřesnění hranic mezi hláskami získaných pomocí HMM. Kullback-Leiblerova divergence se jako jediná zdá být přijatelná pro hledání hranic typu nazál samohláska ( m-a ). Pro hranici typu samohláska ticho ( a-t ) byla zvolena Bhattocharyova vzdálenost. Bayesovský detektor se ukázal být velmi vhodný pro typ explozíva samohláska ( t-e ). Zatímco většina ostatních detektorů reaguje na explozi t, Bayesovský detektor spolehlivě reaguje až na hranici mezi hláskami. Skvěle detekuje také typ samohláska frikativ ( ou-š ). Bayesovský detektor s rozdílnými řády v levé a pravé části okna (d RBD ) detekuje dobře hranici samohláska frikativ ( e-ř ) i frikativ samohláska ( ř í ). Kepstrální detektory se zdají být vhodné pro frikativní kontext. Je nutné však také zmínit některé nevýhody zmíněného přístupu. Pokud jsou HMM odhady naprosto špatné, aktualizace s tím nic nezmůže, poněvadž hledání lokálního maxima ve křivce je omezeno pouze na blízké okolí HMM labelu. Další nevýhodou je výpočetní náročnost algoritmu. Zvláště trénovací část (výpočet většího počtu měr) je značně časově náročná. Algoritmus však rozhodně není určen pro on line použití jeho hlavním úkolem je usnadnit zpracování rozsáhlých databází. Poděkování Tento výzkum byl podporován z grantů GAČR 102/03/H085 Modelování biologických a řečových signálů, IGA MZ ČR NR 8287-3/2005, Počítačová analýza řečového projevu a celonočních EEG záznamů u dětí resp. výzkumného záměru MŠMT MSM6840770012 Transdisciplinární výzkum v biomedicínckém inženýrství 2.
Petr Bergl 15 Reference [1] Omar, K.M., Hasegawa-Johnson, M. Levinson, S.: Gaussian Mixture Models of Phonetic Boundaries For Speech Recognition. IEEE Workshop on Automatic Speech Recognition and Understanding Workshop. Trento, Italy, December 2001. [2] Appel, U., Brandt, A.: Adaptive Segmentation of Piecewise Stationary Time Series, Information Sciences, 1983, no. 29, p. 27 56 [3] Ruanaidh, J.O., Fitzgerald, W.J.: Numerical Bayesian Methods Applied to Signal Processing, Statistics and Computing, Springer, Berlin, 1996. [4] Cmejla, R., Sovka, P.: Recursive Bayesian Autoregressive Changepoint Detector for Sequential Signal Segmentation. In EUSIPCO-2004 Proceedings [CD-ROM]. Wien: Technische Universitat, 2004. [5] Sooful, J.J., Botha, J.C., An acoustic distance measure for automatic cross-language phoneme mapping, PRASA 01, pp. 99 102, South Africa, November 2001. [6] Couvreur, L., Boite, J.-M., Speaker Tracking in Broadcast Audio Material in the Framework of the THISL Project, Proc. of ESCA ETRW Workshop on Accessing Information in Spoken Audio, Cambridge (UK), pp. 84 89, April 1999. [7] Mak, B., Barnard, E., Phone clustering using the Bhattacharyya distance, in ICSLP96, The Fourth International Conference on Spoken Language Processing,vol.4, 1996. [8] J.Psutka, Komunikace s počítačem mluvenou řečí, Academia, Praha, 1995
16 Václav Bolom Zvýrazňování řeči pomocí vícekanálového zpracování Václav Bolom České vysoké učení technické v Praze, Fakulta elektrotechnická bolomv1@fel.cvut.cz Abstrakt: Algoritmy vícekanálového zpracování zvýrazňují užitečný signál, který dopadá na mikrofonní pole z požadovaného směru. Signály dopadající z jiných směrů mají být co nejvíce potlačeny. Příspěvek je úvodem do této problematiky. Představuje základní algoritmy vícekálového zpracování. Experiment demonstruje vliv úhlu dopadu rušení a odstupu signálu od šumu na výstupní signál. 1. Úvod Příspěvek se zabývá možnostmi využití vícekanálového zpracování při zvýrazňování řeči v šumu. Zvýrazňování řeči v šumu je důležitou úlohou např. při mobilní komunikaci, v pomůckách pro sluchově postižené, při sběru dat pro analýzy apod. Data pro vícekanálové zpracování jsou snímána mikrofonním polem. Nejjednodušším případem je lineární řada s konstantním rozestupem jednotlivých mikrofonů. Přínosem vícekanálových systémů je skutečnost, že využívají geometrického rozložení zdrojů signálu v prostoru. Vhodnou úpravou parametrů těchto systémů se provádí tvarování přijímací charakteristiky (beamforming). V tomto příspěvku jsou uvažována jistá zjednodušeni. Oproti praktické situaci uvažujeme, že jsou zdroje signálu dostatečně vzdáleny od mikrofonní řady. Dopadající vlnu pak můžeme považovat za rovinnou, což značně zjednodušuje úvahy. 2. Typy rušení ve vícekanálových systémech Ve vícekanálových systémech se mohou vyskytovat tři druhy rušení. Jsou to prostorově koherentní, prostorově nekoherentní a prostorově difusní rušení. K jejich klasifikaci je vhodná koherence [6] definována jako φij (ejωt ), Γij (ejωt ) = q φii(ejωt )φjj(ejωt ) (1) kde φij je vzájemná spektrální výkonová hustota (CPSD) a φii je spektrální výkonová hustota (PSD) dvou realizací signálu získaných ve dvou různých místech prostoru.
Václav Bolom 17 Prostorově koherentní rušení je reprezentováno rovinnou vlnou, která dopadá na řadu pod obecným úhlem φ c, který je ovšem odlišný od úhlu dopadu užitečného signálu. Koherentní rušení se objevují na všech senzorech s časovým posunem. Tuto situaci vystihuje obrázek 1. Časové zpoždění τ mezi jednotlivými senzory závisí na jejich vzdálenosti a úhlu dopadu. Vyjadřuje ho vztah τ = D c cos ϕ c, (2) kde D je vzdálenost mezi senzory, c rychlost šíření zvuku a ϕ c úhel dopadu rušení. Koherence prostorově koherentního rušení se v celém frekvenčním rozsahu blíží jedničce. Koherence prostorově nekoherentního rušení se v celém frekvenčním rozsahu blíží nule. Toto rušení může být způsobeno např. šumem elektrických soustav. Prostorově difusní rušení vzniká odrazy signálu od stěn. V literatuře zabývající se difusním rušením [1] se modeluje difusní rušení pomocí nezávislých zdrojů rozmístěných na kulové ploše. Koherence pak má tvar Γ(e jωt ) = sin( ωd) c ωd. (3) c V experimentech uvedených v tomto příspěvku je uvažováno pouze koherentní rušení. 3. Modelování vstupních dat V simulacích je uvažováno rozložení zdrojů zvukového signálu podle obrázku 1. Zdroje se nacházejí v dostatečné vzdálenosti od senzoru, takže příchozí signály tvoří rovinné vlny. Užitečný řečový signál dopadá kolmo na radu a koherentní rušení pod úhlem φ c. Vzorky užitečného signálu jsou na všech mikrofonech shodné. V případě rušení dochází ke zpoždění τ mezi jednotlivými kanály. Zpoždění závisí na úhlu φ c a vzdálenosti mezi mikrofony D. Je dáno vztahem 2. Další zdroje rušení nejsou v tomto modelu uvažovány. Signál na i-tém senzoru je dán vztahem x i [k] = s[k] + n i [k], (4) kde s[k] označuje užitečný signál a n i [k] rušení na i-tém senzoru. Za užitečný signál byla vybrána nahrávka promluvy pořízené v bezodrazové komoře. Tento signál je shodný pro všechny kanály. Rušení je tvořeno šumovým signálem s normálním rozdělením. Signál byl nejprve zkopírován do všech kanálu. Poté byly kanály vůči sobě zpožděny. Zpoždení vzorků mezi jednotlivými kanály neodpovídá celočíselnému násobku vzorkovací periody. Zpožděné vzorky byly interpolovány ve frekvenční oblasti [5]. Amplituda vstupních signálu je normována do intervalu 1, 1. Mixace užitečného signálu a rušení byla provedena podle vztahu X = S + kn, (5) kde X, S a N jsou matice vstupního, resp. užitečného a rušivého signálu. k představuje konstantu, která byla nastavována podle požadovaného SNR [5].
18 Václav Bolom Obrázek 1: Model signálů dopadajících na řadu dvou mikrofonů. 4. Tvarování přijímací charakteristiky (Beamforming) Úloha vícekanálového příjmu se často označuje jako tvarování přijímací charakteristiky (beamforming). Tyto metody se vedle předzpracování řeči používají v dalších oblastech, např. seismologii, radarech apod. Při vzorkování analogového signálu je třeba dodržet časovou vzorkovací podmínku [7]. U vícekanálových metod realizujících zároveň časovou i prostorovou filtraci je třeba ohlídat i podmínku pro prostorové vzorkování. Představme si vícekanálový systém jako FIR filtr. Nechť je signál dopadající pod úhlem ϕ c vzorkován mikrofonní řadou tak, že zpoždění mezi dvěma sousedními kanály činí jeden vzorek. Frekvence ω 0 se v rovině řady jeví jako ω = ω 0 D ct s cos ϕ c, (6) kde T s značí vzorkovací periodu. Nedostatečná vzdálenost mezi senzory může vést k nejednoznačnosti určení směru dopadu. 4.1. Dělení metod směrového příjmu Metody směrového příjmu se dělí podle různých kritérií [7]. Podle prvního kritéria se rozlišují algoritmy pracující v časové nebo frekvenční oblasti. Algoritmy použité při experimentech umožňují obojí způsob zpracování. Podle dalšího kritéria se metody dělí na beamformery nezávislé na datech a na Staticky optimální. Nezávislé beamformery aproximují požadovanou impulsovou odezvu nezávisle na statistikách vstupních dat. Metodika jejich návrhu je analogická k návrhu FIR filtrů. Aproximace impulsové odezvy je však polynomiální úlohou pro řady s konstantním rozestupem senzorů. Váhy statisticky optimálních beamformerů se nastavují v závislosti na statistikách vstupních dat. Odezva se nastavuje tak, aby byl na výstupu minimální příspěvek od šumu a signálu z jiných směrů nežpožadujeme. Ke správnému nastavení vah je třeba stacionárních dat a znalosti jejich statistik 2. řádu. Pro nestacionární data se používají adaptivní algoritmy [8]. Přehled základních algoritmů včetně způsobu nastavování vah uvádí [7]. Východiskem pro experimenty je adaptivní beamformer s okrajovými podmínkami [2] často označovaný jako Frostův algoritmus. 4.1.1. Frostův algoritmus Frostův algoritmus je adaptivní algoritmus, který nastavuje váhy systému tak, aby byl na výstupu minimální rozptyl výstupního signálu. Schéma algoritmu je na obrázku 2. Předpokladem pro správnou činnost je kolmý dopad užitečného signálu na mikrofonní řadu. Dopadá-li užitečný signál pod jiným úhlem, je třeba zavést na začátek všech větví příslušné zpoždění a vstupní signál natočit.
Václav Bolom 19 Obrázek 2: Schéma Frostova algoritmu. Algoritmus řeší úlohu w = arg min w E[y2 [n]] = arg min w E[(x[n]T w[n]) 2 ]. (7) y značí výstup algoritmu, x je vektor vstupních dat a w vektor vah. Z rovnice je zřejmé, že řešením je nulový vektor. Takovéto řešení však produkuje nulový výstup. Nulovému výstupu lze zabránit zavedením okrajových podmínek. Pro užitečný signál dopadající kolmo na řadu lze celý systém nahradit jednou větví. Váhy takovéhoto filtru jsou pro jednotlivá zpoždění rovny součtu vah větví celého systému (viz obrázek 2). Impulsová odezva tohoto filtru F je definuje okrajovou podmínku pro hledání optimálních vah. Za F se typicky volí Diracův impuls, aby byla konstantní frekvenční charakteristika. Okrajovou podmínku lye matematicky zapsat jako C T w = F, (8) kde C značí matici realizující sčítání vah po sloupcích (viz obrázek 2). Aktualizace vah je prováděna algoritmem LMS s okrajovými podmínkami (Constrained LMS) [8]. Frostův algoritmus lze rozdělit do dvou kroků, filtrace a aktualizace vah. Filtrace y[n] = x[n] T w. (9) Aktualizace vah w[0] = f (10) w[n + 1] = P[w[n] µx[n]y[n]] + f, (11) kde (12) P = E C(C T C) 1 C T (13) f = C(C T C) 1 F (14)
20 Václav Bolom 4.1.2. Algoritmus GSC Nevýhodou Frostova algoritmu je nutnost používáni algoritmu LMS s okrajovými podmínkami. Dále může během jeho činnosti docházet ke kumulaci numerických chyb [3]. Tyto nevýhody odstraňuje implementace označovaná jako Generalised Sidelobe Canceller (GSC) [3]. LMS algoritmus s okrajovými podmínkami je převeden na normální LMS algoritmus. V [3] je také ukázána ekvivalence obou algoritmů. Struktura algoritmu je zachycena na obrázku 3. Na vstupu mohou být buď vzorky signálu, nebo jeho spektra. Systém se skládá ze dvou větví. Horní větev tvoří beamformer nezávislý na datech označovaný jako DAS (Delay And Sum). Jeho váhy w i jsou rovny 1 M. M představuje počet kanálů. Jedná se v podstatě o průměrování. Dolní větev se označuje jako ANC (Adaptive Noise Canceller). Jejím cílem je odhad rušení přítomného ve výstupu Y b (e jωt ). Podmínkou správné činnosti této větve je perfektní odstranění užitečného signálu ze všech kanálů. To zajišťuje blokovací matice BM s M řádky M 1 sloupcem. Nejčastěji má tvar [3] 1 1 0... 0 0 0 1 1... 0 0 BM =.. (15)....... 0 0 0... 1 1 Váhy H i jsou řízeny LMS algoritmem [8] tak, aby Y h (e jωt ) byl odhadem rušení přítomného v Y b (e jωt ) ve smyslu nejmenších čtverců. Obrázek 3: GSC. 5. Experimenty Cílem experimentů bylo provést simulace vybraných algoritmů a prozkoumat jejich vlastnosti. Testován byl algoritmus GSC. Byl zkoumán vliv počtu kanálů a směru šíření rušení na SNR [5] ve výstupním signálu. Testovací signály byly namodelovány pro 2 až 12 kanálů a pro φ c = 60 a φ c = 30. Odstup signálu od šumu byl na vstupu zvolen 0 db. SNR na výstupu byl odhadnut na základě znalosti průběhu čistého signálu. Pro vstupní SNR = 0 db je SNRE roven SNR na výstupu algoritmu.
Václav Bolom 21 Algoritmy byly implementovány ve frekvenční oblasti. Bylo použito metody sčítání přesahů (OLA) [5]. Segment tvořilo 128 vzorků, váhování bylo prováděno Hammingovým oknem s 50% překryvem. 5.1. Výsledky experimentů Výstupem systému je jednorozměrný signál zvýrazněné řeči. Obrázek 5 ukazuje časové průběhy vstupního signálu (jednoho kanálu), výstupního signálu a čistého nezašuměného signálu. Tytéž signály zachycuje obrázek 6 na spektrogramech. Tabulka 1 ukazuje vliv počtu kanálů a směru šíření rušivého signálu na zlepšení SNR (SNRE)[5]. Hodnoty z této jsou graficky zachyceny na obrázku 4. ϕ c = 60 M SNRE [db] ϕ c = 30 M SNRE [db] 2 0,9 2 2,4 4 3,3 4 5,3 6 4,9 6 7,0 8 6,1 8 8,2 10 6,9 10 9,1 12 7,7 12 9,9 Tabulka 1: Experimentální závislost SNRE na počtu kanálů při různých úhlech dopadu rušivého signálu Experimentalni prubeh SNRE φ = 30 c φ c = 60 φ = 30 c φ c = 60 3 4 5 6 7 8 9 10 11 12 M Obrázek 4: Závislost SNRE na počtu kanálů a směru šíření rušivého signálu.
22 Václav Bolom 1 Vstupni signal (jeden kanal) 0.5 0 0.5 1 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Vystup 1 n 0.5 0 0.5 1 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 Cisty signal 1 n 0.5 0 0.5 1 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 n Obrázek 5: Časové průběhy vstupních a výstupních dat. Frequency Frequency Frequency 1 0.5 Vstupni signal (jeden kanal) 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Vystup 1 0.5 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 Cisty signal 1 0.5 0 0 500 1000 1500 2000 2500 3000 3500 4000 4500 n n n 20 0 20 40 60 80 20 0 20 40 60 80 20 0 20 40 60 80 Obrázek 6: Spektrogramy vstupních a výstupních dat.
Václav Bolom 23 6. Závěry Z výsledků algoritmu je patrné, že algoritmus provádí zvýrazňování řeči. SNRE se pohybovalo od 0,9 db pro 2 kanály do 7,7 db pro 12 kanálů pro rušení dopadající pod úhlem 60. Pro rušení ze směru 30 bylo SNRE od 2,4 db pro 2 kanály do 9,9 db pro 12 kanálů. Z grafu 4 je patrné, že zvýraznění je tím větší, čím více se směr šíření rušivého signálu odklání od kolmého směru. Rušení dopadající kolmo na řadu by nebylo zvolenou metodou potlačeno vůbec. Systém by ho považoval za užitečný signál. Dosavadní výzkum se dosud pohyboval na úrovni simulací. Mým cílem je ověřit získané poznatky měřením. Na katedře máme k dispozici vícekanálovou jednotku, která je schopna nahrávat synchronně až z dvanácti mikrofonů najednou. Prvním krokem by mělo být nahrávání v bezodrazové komoře. Experimenty by měly objasnit, jaký vliv bude mít skutečnost, že na řadu dopadají kulové vlnoplochy. Cílem tohoto experimentu bude kompenzace tohoto jevu. Měli bychom zjistit, zda bude stačit zavedení určitého zpoždění na jednotlivé senzory. V dalším výzkumu chci navázat na disertační práci Jana Ingerleho [4]. Tato práce se zabývá kombinací metod směrového příjmu s postfiltrací. Cílem bude rozvíjet metody, které budou mít vliv i na difusní šum. Součástí tohoto výzkumu je odvození a výpočet kritérií pro hodnocení kvality potlačení rušení. Poděkování Tento výzkum byl podporován z grantů GAČR 102/03/H085 Modelování biologických a řečových signálů a výzkumného záměru MŠMT MSM6840770012 Transdisciplinární výzkum v biomedicínském inženýrství 2. Reference [1] Cron, B. F.; Sherman, C. H. Spatial-correlation functions for various noise models. Journal of acoustic society of America 34, 11 (1962). [2] Frost, O. L. An algorithm for linearly constrained adaptive array processing. In IEEE August 1972, vol. 60, pp. 926 934. [3] Griffiths, L. J.; Charles, W. J. An alternative approach to linearly constrained adaptive beamforming. IEEE Transaction on Antenas and Propagation AP-30, 1 (January 1982). [4] Ingerle, J. Methods of speech signal enhancement combining beamforming and postfiltration. PhD thesis, FEL ČVUT, Prague, February 2003. [5] Sovka, P.; Pollák, P. Vybrané metody číslicového zpracování signálů. Vydavatelství ČVUT, Praha, 2003. [6] Uhlíř, J.; Sovka, P. Číslicové zpracování signálů. Vydavatelství ČVUT, Praha, 2002. [7] van Veen, B. D.; Buckley, K. M. Beamforming: A versatile approach to spatial filtering. IEEE ASSP Magazine (April 1988), 4 24. [8] Widrow, B.; Stearns, S. D. Adaptive Signal Processing. Prentice-Hall, 1985.
24 Hynek Bořil Návrh odposlechové smyčky Srovnání parametrizací pro rozpoznávání Lombardovy řeči Hynek Bořil České vysoké učení v Praze, Fakulta elektrotechnická borilh@gmail.com Abstrakt: Prezentovaný příspěvek se zabývá problematikou sběru Lombardova efektu a rozpoznávání řeči pod tímto efektem. V první části je provedena studie útlumu šíření zvuku způsobeného uzavřenými sluchátky. Tento jev má negativní vliv na způsob, jak se mluvčí slyší při nahrávání Lombardovy řeči v simulovaném hlučném prostředí. Z toho důvodu je určena útlumová charakteristika sluchátek a navržena eliminační odposlechová smyčka. V druhé části příspěvku jsou porovnány standardní a nově navržené parametrizace z hlediska robustnosti vůči Lombardovu efektu. 1. Úvod Jedním z aktuálních požadavků kladených na systémy automatického rozpoznávání řeči (ASR) je schopnost spolehlivé činnosti v reálných prostředích. Je známo, že úspěšnost ASR výrazně klesá v hlučných podmínkách. Rozpoznávání je v tomto případě ovlivněno jak samotnou přítomností šumu v řečovém signálu, tak skutečností, že mluvčí mění charakteristiky řeči tak, aby zajistil její srozumitelnost (Lombardův efekt LE) [1]. Oba zmíněné faktory negativně ovlivňují schopnost akustických modelů rozpoznávače klasifikovat jednotlivé řečové jednotky a dochází tak k propadu rozpoznávacího skóre. V posledních desetiletích byla věnována značná pozornost vývoji algoritmů pro potlačování šumu resp. zvýrazňování řeči. Jak se však v současnosti ukazuje, i při úspěšném potlačení hlučného pozadí dochází v případě silné přítomnosti LE k naprostému kolapsu ASR. Pro dosažení robustního rozpoznávání je tedy nutné zaměřit se také na potlačení vlivu LE. Této problematice se věnuje prezentovaná práce. V první části příspěvku je provedena studie vlivu sluchátek při sběru promluv v simulovaném hlučném prostředí a navržena kompenzační odposlechová smyčka. V druhé části jsou srovnány klasické a nově navržené parametrizace z hlediska robustnosti vůči LE. 2. Návrh odposlechové smyčky Při sběru databáze CLSD'05 bylo mluvčím zprostředkováváno simulované hlučné prostředí pomocí uzavřených sluchátek [2]. Aby se zmírnil vliv útlumu způsobeného sluchátky na to, jak se mluvčí slyší, byl k hluku přimíchán řečový odposlech. Hlasitost odposlechu byla nastavována podle individuálních potřeb mluvčích. Jak se však ukázalo, subjektivní nastavování úrovně odposlechu mělo za důsledek odlišné reakce na konstantní intenzitu reprodukovaného hluku. Tuto nežádoucí variabilitu lze eliminovat použitím odposlechové smyčky, jejíž přenos bude jednoznačně definován tak, aby eliminoval útlum způsobený sluchátky.
Hynek Bořil 25 Obecně vzato, zvukové vlny se ke smyslům posluchače šíří dvěma cestami. Jedna je prezentována vibracemi lebečních kostí, druhá postupuje vzduchem a vnějším a středním uchem. Lze předpokládat, že nasazení uzavřených sluchátek na hlavu může výrazně ovlivnit šíření zvuku uchem, zatímco přenos lebečními kostmi zůstane téměř identický (ačkoliv hmota hlavy a soustavy hlava-sluchátka je mírně odlišná). Pokud je útlum způsobený sluchátky znám, lze navrhnout řečový odposlech, který tento útlum bude eliminovat. Pro určení směrové charakteristiky útlumu sluchátky bylo provedeno měření na umělé hlavě v bezodrazové komoře. K měření byl použit systém Pulse v.8 firmy Brüel & Kjær [3] a umělá hlava splňující doporučení ITU P.85 [4]. Pro analýzu vlivu sluchátek byly změřeny monaurální směrové charakteristiky přenosu zvuku bez a se sluchátky, směrová charakteristika útlumu sluchátky pak byla určena jako jejich rozdíl [5], viz obr. 1. 30 Attenuation (db) 20 10 0-10 200 150 100 50 10 3 10 4 Angle ( ) 0 10 2 Frequency (Hz) Obrázek 1: Útlum způsobený sluchátky monaurální směrová charakteristika. Měření charakteristiky bylo provedeno pro rozpětí úhlů 0-180, při úhlu 0 směřuje hlava nosem ke zdroji, při úhlu 90 je k němu natočena uchem. Měření nebylo prováděno pro úhly větší než 180, jelikož v tomto případě by se zvuk v bezodrazové komoře šířil k měřenému uchu pouze vibracemi lebky, u kterých lze vliv sluchátek považovat za zanedbatelný. 60 75 Angle ( ) 90 105 120 1000 Hz 2000 Hz 4000 Hz 8000 Hz 45 135 30 150 15 165 0 30 30 20 20 10 10 0-10 -10 Attenuation (db) 180 Obrázek 2: Směrové charakteristiky útlumu pro vybrané frekvenční složky.
26 Hynek Bořil Měření prokázalo, že frekvenční charakteristika útlumu je silně závislá na úhlu, pod kterým se zvuk k uchu šíří. Směrovost útlumu pro vybrané frekvenční složky je ukázána v detailu na obr. 2. Je tedy zřejmé, že útlum sluchátky je závislý na parametrech konkrétní nahrávací místnosti (rozměry, absorpční koeficienty) a pozici mluvčího. Jak je patrné z obrázků 1, 2, pro nízké frekvenční komponenty je útlum menší a také méně směrový. Některé harmonické složky jsou nasazením sluchátek dokonce mírně zesíleny (způsobeno změnou masy soustavy hlava-sluchátka). V dalším kroku bylo provedeno měření útlumu v místnosti a pozici, kde se nacházeli mluvčí při sběru databáze CLSD 05. V tomto případě byly pro měření monaurálního přenosu zvuku bez a se sluchátky použity třetinooktávové pásmové šumy, rozložené v pásmu 80-8000 Hz. Na obrázku 3 je zobrazena útlumová charakteristika nahrávací místnosti (Rec. room) a pro srovnání také vybrané charakteristiky útlumu z bezodrazové komory. 25 Attenuation by Headphones (db) 20 15 10 5 0 100 1000 10000-5 0 90 180 Rec. room -10 Frequency (Hz) Obrázek 3: Útlumové charakteristiky bezodrazová a nahrávací místnost. Z ekvivalentních křivek hlasitosti [6] je známo, že oblast nejvyšší citlivosti lidského ucha se pochybuje v rozmezí 3-4 khz a je spojena s délkou (a tedy rezonanční frekvencí) zvukovodu. Z prezentovaných výsledků měření lze předpokládat, že nasazením sluchátek dochází ke změně konfigurace rezonátoru a posuvu rezonance do vyšších frekvencí. Tím dojde k vytvoření výrazného maxima útlumu v místě původní rezonance a výrazného propadu útlumu v místě nové rezonance. Na základě měření v nahrávací místnosti v pozici řečníka určíme přenosovou charakteristiku zpětnovazební smyčky tak, že ji položíme rovnu útlumové charakteristice sluchátky. 3. Srovnání parametrizací pro rozpoznávání Lombardovy řeči Pro testování standardních a nově navržených parametrizací byly vybrány ženské číslovky obsažené v databázi CLSD 05. Testovací množiny byly tvořeny promluvami obsahujícími posloupnosti osmi po sobě jdoucích číslovek. Množina neutrálních promluv obsahovala 768 a LE sada 1024 číslovek od 4 mluvčích. Z LE promluv byly aplikací hlasové konverze, poskytnuté Davidem Sündermannem, odvozeny další dvě testovací sady CLE (converted LE), kde byly normalizovány pozice formantových kmitočtů a F 0 směrem k neutrální řeči, a CLEf0 formanty zachovány, normalizováno pouze F 0. Rozložení F 0 pro jednotlivé sady je ukázáno na obrázku 4, N značí neutrální promluvy. Pro ilustraci jsou na následujících obrázcích ukázána i rozložení pro mužské číslovky.
Hynek Bořil 27 18000 16000 14000 F0 distribution Male digits 18000 16000 14000 F0 distribution Female digits Number of samples 12000 10000 8000 6000 Male_N Male_LE Male_CLE Male_CLEf0 Number of samples 12000 10000 8000 6000 Female_N Female_LE Female_CLE Female_CLEf0 4000 4000 2000 2000 0 0 100 200 300 400 500 600 Frequency (Hz) Obrázek 4: Rozložení F 0 číslovky. 0 0 100 200 300 400 500 600 Frequency (Hz) Z obrázku 4 je patrné, že u LE řeči dochází u obou pohlaví k výraznému posunu rozložení F 0 do vyšších frekvencí. Řečová konverze (CLE, CLEf0) tato rozložení úspěšně normalizuje směrem k neutrální řeči. F2 (Hz) 2500 2000 1500 1000 /u/ /i/ /u''/ /i''/ /i'/ /u'/ /e/ /e''/ /o''/ /a/ /o/ /o'/ Male_N Male_LE Male_CLE Male_CLEf0 500 300 400 500 600 700 800 900 /e'/ F1 (Hz) Formants - Male digits /a''/ /a'/ F2 (Hz) 2500 /i/ /i'/ /i''/ 2000 /e/ /e'/ /e''/ /a'/ 1500 /a/ /a''/ /u'/ /u''/ /o'/ 1000 /u/ /o/ /o''/ Female_N Female_LE Female_CLE Female_CLEf0 500 300 400 500 600 700 800 900 Obrázek 5: Pozice formantů samohlásek číslovky. Formants - Female digits F1 (Hz) Na obrázku 5 jsou ukázány průměrné pozice prvního a druhého formantu v samohláskách číslovek. I zde je patrný výrazný posun formantů při LE. CLE v tomto případě úspěšně transformuje samohlásky s výše položenými formanty (/e/, /a/, /o/), samohlásky /u/ a /i/ se také posouvají směrem k neutrálním pozicím, ale nedosahují jich. Částečně však toto pozorování může být ovlivněno nepřesností algoritmu pro detekci formantů, neboť pro nízké frekvence mohou být formanty občas chybně zaměněny s F 0, které se u LE řeči posouvá často do oblasti typického výskytu F 1. Při LE také dochází u formantů k systematickému zužování šířek pásem viz tabulka 1. Set B1 (Hz) B2 (Hz) Neutral LE CLE CLEf0 Neutral LE CLE CLEf0 Male digits 297 136 209 156 268 169 284 208 Female digits 230 164 223 200 252 201 320 258 Tabulka 1: Šířky formantů hláska /a/. Jelikož je úspěšnost rozpoznávání silně závislá na šumovém pozadí v řečovém signálu, byly provedeny analýzy rozložení SNR pro jednotlivé testovací promluvy obrázek 6. Je patrné, že při LE promluvách v simulovaném hlučném prostředí SNR výrazně narůstá, neboť mluvčí zvyšují hlasovou intenzitu zatímco úroveň okolního hluku zůstává téměř konstantní.
28 Hynek Bořil Number of utterances 140 120 100 80 60 40 20 Neutral_M LE_M CLE_M CLEf0_M 0 0 20 40 60 80 100 SNR (db) SNR histograms Males Number of utterances 100 Obrázek 6: Rozložení SNR. 80 60 40 Neutral_F 20 LE_F CLE_F CLEf0_F 0 0 20 40 60 80 100 SNR (db) SNR histograms Females Zde testované nové parametrizace byly odvozeny ze standardních MFCC resp. PLP modifikací banky filtrů (FB) [8]. Parametrizace 20Bands-LPC byla odvozena z PLP záměnou původní Bark FB za banku dvaceti obdélníkových filtrů rozložených ekvidistantně bez překryvu v pásmu 0-4 khz. Big1-LPC byla odvozena z 20Bands-LPC sloučením prvních tří filtrů v jeden. Parametrizace RFCC obsahují FB tvořenou devatenácti filtry rozloženými v pásmu 625-4000 Hz. Varianta DCT je odvozena z MFCC a LPC z PLP parametrizace. Důvody pro tyto konfigurace jsou vysvětleny v [8] a [7]. Pro srovnání byly testovány také standardní parametrizace MFCC a PLP a modifikace MFCC-LPC, kde jsou extrahovány LPC kepstrální koeficienty, a PLP-DCT, extrahující DCT kepstrální koeficienty princip je znázorněn na obrázku 7. preemfáze segmentace banka filtrů filtru FFT DCT -1-1 s(k) FFT log. 2 c n LPC c Obrázek 7: Extrakce parametrů s DCT a LPC kepstrálními koeficienty. Poslední testovanou parametrizací byl Expolog, navržený pro robustní rozpoznávání hlasité řeči [1]. Zde byla FB v MFCC parametrizaci modifikována způsobem znázorněným na obrázku 8, převzato z [1]. Obrázek 8: Expolog modifikovaná frekvenční osa.
Hynek Bořil 29 Výsledky rozpoznávání na neutrálních, LE, CLE a CLEf0 promluvách jsou ukázány v tabulce 2 a na obrázku 9. FE\Set Neutral LE CLE CLEf0 MFCC 3,65 71,29 30,86 58,59 MFCC-LPC 2,86 46,68 26,17 48,83 PLP 2,86 47,36 25,2 49,02 PLP-DCT 2,47 51,17 23,44 52,54 Expolog 3,91 35,74 26,66 37,79 20Bands-LPC 2,99 42,09 19,92 42,68 Big1-LPC 4,69 27,15 20,41 25,29 RFCC-DCT 5,08 26,07 22,56 22,56 RFCC-LPC 4,56 22,95 23,14 23,73 Tabulka 2: Výsledky rozpoznávání číslovek word error rate WER (%). 80 70 Features - performance on female digits WER (%) 60 50 40 Neutral LE CLE CLEf0 30 20 10 0 MFCC MFCC-LPC PLP PLP-DCT Expolog 20Bands-LPC Big1-LPC RFCC-DCT RFCC-LPC Obrázek 9: Výsledky rozpoznávání číslovek word error rate WER (%). Z tabulky 2 a obrázku 9 je zřejmé, že na úrovni standardních parametrizací PLP překonalo MFCC na neutrálních i LE datech. Překvapivě modifikace MFCC-LPC vykazuje prakticky identické výsledky jako PLP, přestože každá z parametrizací využívá jinou FB a sestává z jiných kroků úpravy signálu. Expolog výrazně překonává MFCC i PLP na LE promluvách na úkor zhoršení úspěšnosti na neutrálních datech. Z nově navržených parametrizací nejlepších výsledků dosahuje 20Bands-LPC, která na neutrálních datech dosahuje srovnatelné úspěšnosti jako standardní MFCC a PLP a na LE datech je výrazně překonává, a RFCC-LPC, která dosahuje největší úspěšnosti na LE datech, na úkor úspěšnosti na neutrálních promluvách. Použití hlasové konverze CLE pro normalizaci F 0 a formantů směrem k neutrální řeči zlepšilo rozpoznávací skóre u většiny parametrizací, nejvýraznější přínos byl pozorován u
30 Hynek Bořil standardních parametrizací, jejich modifikací záměnou typu extrahovaných kepstrálních koeficientů a parametrizace 20Bands-LPC. 4. Závěry V příspěvku byl prezentován návrh zpětnovazební smyčky eliminující útlum způsobený zavřenými sluchátky a provedeno srovnání úspěšnosti parametrizací při rozpoznávání neutrálních a LE číslovek z databáze CLSD 05. Bylo ukázáno, že nově navržené parametrizace dosahují větší úspěšnosti při rozpoznávání LE řeči nežli standardně používané MFCC a PLP parametrizace. Parametrizace 20Bands-LPC poskytuje srovnatelné výsledky na neutrální řeči jako standardní parametrizace, na LE řeči je výrazně překonává. Nejlepších výsledků na LE řeči bylo dosaženo při parametrizaci RFCC-LPC. Řečová konverze CLE zlepšila úspěšnost rozpoznávání u většiny parametrizací. 4. Poděkování Tento výzkum byl podporován z grantu GAČR 102/03/H085 Modelování biologických a řečových signálu, GAČR 102/05/0278 Nové směry ve výzkumu a využití hlasových technologií a výzkumného záměru MŠMT MSM6840770014 Výzkum perspektivních informačních a komunikačních technologií. Reference [1] Bou-Ghazale; S. E., Hansen, J. H. L. A Comparative Study of Traditional and Newly Proposed Features for Recognition of Speech under Stress. IEEE Trans. on Speech and Audio Processing, 8(4), 2000, pp. 429-442. [2] Bořil, H.; Pollák, P. Design and Collection of Czech Lombard Speech Database. 1577-1580, INTERSPEECH-05, Lisboa, Portugal, 2005. [3] Brüel & Kjær. PULSE X Sound & Vibration Analyzer. http://www.bksv.com/pdf/ /bu0228.pdf. [4] ITU P.58 (1996). Recommendation Head and torso simulator for telephonometry. http://www.itu.int/rec/t-rec-p.58-199608-i/e. [5] Bořil, H.; Bořil, T.; Pollák, P. Methodology of Lombard Speech Database Acquisition: Experiences with CLSD. Proc. of 5th Conference on Language Resources and Evaluation, Genova, Italy 2006, pp. 1644-1647. [6] Fletcher, H. Auditory patterns. Review of Modern Physics, vol. 12, pp. 47-65. [7] Bořil, H.; Fousek, P.; Sündermann, D.; Červa, P.; Žďánský, J. Lombard Speech Recognition: A Comparative Study. Proc. of 16th Czech-German Workshop on Speech Processing, Prague 2006. [8] Bořil, H.; Fousek, P.; Pollák, P. Data-Driven Design of Front-End Filter Bank for Lombard Speech Recognition. INTERSPEECH - ICSLP'06, Pittsburgh, Pennsylvania 2006, pp. 381 384. [9] Bořil, H.; Fousek, P. Influence of Different Speech Representations and HMM Training Strategies on ASR Performance. Proc. of POSTER 2006 [CD-ROM], Prague 2006.
Petr Fousek 31 Příznaky pro automatické rozpoznávání řeči odvozené z dynamiky spektra Petr Fousek České vysoké učení technické v Praze, Fakulta elektrotechnická fousekp@fel.cvut.cz Abstrakt: Jedním z problémů současných automatických rozpoznávačů řeči je špatná robustnost vůči variabilitě kanálu. V této práci je navržena zcela nová parametrizační metoda s teoretickým potenciálem snížit vliv kanálového rušení. Časový vývoj energií ve frekvenčních pásmech řeči je filtrován dvourozměrnými filtry, jejichž vlastností je potlačení neměnných složek ve spektru, což umožňuje částečnou separaci kanálu od řeči. Teoretické předpoklady jsou experimentálně ověřeny. Přínosem práce je rovněž rozšířený parametrizační nástroj CtuCopy. 1. Úvod Mohlo by se zdát, že problém automatického rozpoznávání řeči je již vyřešen. Záznam a zpracování zvuku je téměř výhradně řešeno v digitální oblasti, výpočetní technika je snadno dostupná a programy na převod mezi řečí a textem se stávají standardní součastí operačních systémů počítačů i mobilních telefonů. Přesto ani profesionální diktovací systémy stále nejsou dokonalé. Je mnoho problémů, které si člověk při vnímání řeči ani neuvědomuje, pro automatické systémy jsou jsou však stále překážkou. Jedná se o variabilitu samotné řeči(každý člověk mluví specifickým způsobem, který se mění dle situace), hluk prostředí(okolní zvuky, cizí řeč) a vliv přenosového kanálu(ozvěna místnosti, mikrofon, rušení při přenosu). Některé vlivy již lze potlačit, avšak současná metodika neřeší uspokojivě variabilitu kanálu. Kupříkladu konvenční rozpoznávač, který je natrénovaný na kvalitně nahranou řeč, není schopen rozpoznat řeč z telefonu, a to ani naopak. Tato práce se snaží dohonit tento hendikep automatických rozpoznávačů vývojem nových parametrizačních technik. 1.1. Důležitost dynamiky spektra Základní myšlenkou je zavést do příznaků informaci o delším časovém kontextu, než cca 25 ms, jak je tomu u konvenčních parametrizací[8]. Motivací jsou vlastnosti lidské produkce řeči i vnímání řeči. Informace o fonému jako stavební jednotce řeči je rozprostřena v delším časovém úseku vlivem koartikulace. Setrvačnost mluvícího ústrojí, minimální potřebná délka pro rozpoznávání člověkem, analýza vzájemné informace i modulační spektrumřečinalézajídélkupotřebnéhoúsekuněkoliksetmilisekund,cožjeořádvýše,nežs jakou běžně pracujeme[9, 2]. Konvenční příznaky pracují s krátkodobým spektrem řeči,
32 Petr Fousek avšak ukazuje se, že informace je zakódována spíše ve změnách spektra, nikoliv ve spektru samotném[1]. Příznaky odvozené z dlouhodobé dynamiky spektra již nyní nacházejí uplatnění ve špičkových systémech[10]. 2. Multi-RASTA filtrace Tato nová technika je založena na filtraci časového vývoje energie v úzkých frekvenčních pásmech řeči. Seznamme se nejprve velmi stručně s příbuznou myšlenkou systému TRAP [6], který umožní výklad nové metody M-RASTA. 2.1. TRAP příznaky Technika M-RASTA filtrace vychází z architektury systému TRAP. Příznaky nejsou odvozeny z krátkodobého spektra, nýbrž z delšího úseku spektrogramu, viz. obr. 1. frequency frequency time time Obrázek 1: Spektrogramy řeči. Vlevo: Příznaky z krátkodobého spektra jsou počítány přes frekvenci. Vpravo: TRAP příznaky jsou počítány z dlouhodobého vývoje přes čas. Spektrum se získá v následujících krocích(základ příznaků PLP[3]): 1. Segmentace signálu Hammingovým oknem délky 25ms s překryvem 10ms. 2. Výpočet krátkodobého spektra pomocí FFT. 3. Projekce amplitudového spektra na banku 15-ti filtrů v Barkově frekvenční škále(ve frekvenční oblasti). 4. Aplikace křivek konstatní hlasitosti a komprese dynamiky spektra. TRAPy se odvozují z tohoto energetického spektra obvykle jakožto 1000ms dlouhé trajektorie jednotlivých frekvenčních pásem(viz obr. 1). Máme tedy 15 trajektorií, každá délky 101 segmentů po 10ms, což je 1515 příznaků. Ty nelze přímo použít do konvenčního HMM/GMM dekodéru, proto je zařazena neuronová síť, jejímž úkolem je provést projekci 1515 vstupních příznaků na fonémovou sadu, která má obvykle rozměr kolem 40-ti fonémů. Neuronová síť je trénována tak, aby odhadovala posteriorní pravděpodobnosti výskytu jednotlivých fonému v daném segmentu řeči. Jinými slovy, každých 10ms síť odhadne, který foném je v tomto segmentu nejpravděpodobněji vysloven. Vnitřní struktura a metodika trénování neuronové sítě je mimo rámec tohoto výkladu[6]. Pravděpodobnosti jsou po úpravě(dekorelace a tvarování distribuční funkce) použity jako příznaky pro HMM/GMM dokodér.
Petr Fousek 33 2.2. Základní myšlenka Multi-RASTA Časový vývoj energie v pásmu(trap) má svou dynamiku. Spektrum trajektorie TRAP popisuje tzv. modulační spektrum. Toto spektrum kvantifikuje, do jaké míry jsou v daném pásmu zastoupeny pomalé a rychlé změny. A zde je právě možno uplatnit silná apriorní omezení, která mohou výrazným způsobem zvýšit robustnost vůči konvolučnímu šumu. Informace v řeči je kódována pomocí změn(modulací) spektra. Je známo, že vokální trakt má svou setrvačnost a nemůže se měnit libovolnou rychlostí. Modulační spektrum má maximum kolem 4Hz a rozsah cca 1-16Hz[7]. Naopak neřečové události se typicky nemění(kanál), nebo mění velmi pomalu. Filtrací modulačního spektra na 1-16Hz lze tedy omezit vliv kanálu, jak se osvědčilo u metody RASTA[5]. Multi-RASTA filtrace zobecňuje RASTA filtraci na dvourozměrnou filtraci spektrogramu, čili nejen časovou, ale i frekvenční a aplikuje nikoliv jeden filtr, ale banku filtrů. Impulsové odezvy filtrů jsou voleny tak, aby měly v čase nulovou stejnosměrnou složku, což eliminuje nežadoucí pomalé modulace. Jejich tvar je dán první a druhou derivací Gaussovy funkce: g 1 [x] x x2 exp( σ2 2σ2), (1) g 2 [x] ( x2 σ 1 x2 4 σ2)exp( 2σ2), (2) Je to motivováno mj. podobnými odezvami neuronů v části mozkové kůřy savců, které zpracovávají akustické podněty. Více lze nalézt v[4]. Impulsové odezvy časových filtrů jsou patrné z obr. 2 a jejich modulační vlastnosti v obr. 3. Frekvenční filtry byly zkoušeny dva, a to aproximace první a druhé diference. Jejich impulsní odezva má délku 3 vzorky. 50 0 50 frames 50 0 50 frames Obrázek2:ImpulsovéodezvyderivacíGaussovyfunkcepro σ=8 130ms. db 0 10 20 30 σ=130 ms σ=8 ms 40 10 0 10 1 modulation frequency [Hz] db 0 10 20 30 40 10 0 10 1 modulation frequency [Hz] Obrázek 3: Frekvenční charakteristiky derivací Gaussovy funkce pro σ = 8 130ms.
34 Petr Fousek 2.3. Postup výpočtu příznaků Výpočet je schematizován v obr. 4. Vstupem je výše uvedený spektrogram. Lineární 2D FIR filtraci lze rozložit na sekvenci časové a frekvenční filtrace. Spektrum v každém pásmu zvlášť je neprve filtrováno bankou Gaussovských filtrů(shodné filtry pro všechna pásma) a potom je aplikován frekvenční filtr, který reprezentuje jednoduchou/dvojitou diferenci. Vektor příznaků je tvořen spektry(každé 15 pásem) filtrovanými jednotlivými časovými filtry plus to vše filtrováno ještě frekvenčními filtry. Protože je příznaků mnoho, jsou zpracovány neuronovou sítí, podobně jako u metody TRAP. critical bands Critical band spectrogram time (frames) FIR bank FIR bank Gaussian features 1 0 +1 0.5 +1 0.5 2 TANDEM probability estimator Obrázek 4: Schema parametrizace M-RASTA. 2.4. Experimenty a optimalizace Funkce metody byla testována a optimalizována na rozpoznávači s malým slovníkem. Jeho přesný popis lze nalézt opět v[4]. Jedná se o rozpoznávání anglických číslovek. Základní vlastnosti: HMM/GMM rozpoznávač, MLP neuronová síť, HMM29-tifonémů,každý5stavů,32mixtures, slovník 11 slov( one... nine, zero ), 28 výslovnostních variant, cca 4.5hod trénovacích dat(foneticky bohaté věty pro MLP a číslovky pro HMM), cca 1.7hod nezávislých testovacích dat. Srovnávací parametrizace byly dvě, a to standardní PLP[3] a TRAP[6]. Jejich skóre jsou uvedenavtab.1. parametry WER[%] PLP 5.2 TRAP 4.7 Tabulka 1: Srovnávací parametrizace. Chyby rozpoznávání na úrovni slov(word Error Rates). Rozsah časových konstant Gaussovských filtrů vyjádřený v rozptylech σ byl stanoven σ = 8 130 ms. Zdola byl omezen rozlišením spektrogramu(10ms), shora délkou filtru (1000ms). Počet různých konstant byl optimalizován v předběžných experimentech na 8.
Petr Fousek 35 parametry WER[%] M-RASTA časová 4.3 M-RASTA časová + f 3.4 M-RASTAčasová+ f+ 2 f 3.7 Tabulka 2: Důležitost frekvenční filtrace v M-RASTA příznacích. Experimenty s frekvenční filtrací ukázaly, že explicitní vyjádření souvislostí mezi pásmy pomocí diference je nepostradatelné, viz tab. 2. Druhá diference nepřinesla zlepšení skóre. Po optimalizaci je Gaussovských filtrů celkem 16. Celkový počet příznaků je pak roven 16x15+16x13=448(15pásem,16filtrů,verzes f plusbez f;frekvenčnífiltrace není definována pro 2 krajní pásma). 2.5. Robustnost vůči konvolučnímu zkreslení Protože motivací pro M-RASTA byla robustnost vůči kanálovému šumu, ověření této vlastnosti bylo provedeno pomocí jednoduché preemfáze testovacích dat FIR filtrem s α = 0.97, což simulovalo změnu kanálu testovacích dat oproti trénovacím. Výsledky shrnuje tab. 3. parametry WER[%] relativní propad[%] PLP 13.5 160 TRAP 4.8 3.4 M-RASTA časová 4.4 2.1 M-RASTA časová + f 3.6 4.0 Tabulka 3: Chyba rozpoznávání na datech se simulovaným kanálovým šumem. Konvenční PLP zcela zkolabovala, což mimo jiné dokumentuje význam tohoto výzkumu. Parametrizace s časovým kontextem TRAP vykazuje minimální ztrátu. Navržená metoda vykazuje ve své nejlepší variantě sice relativně vyšší ztrátu než TRAP, nicméně skóre je stále významně vyšší, než pro obě srovnávací metody. Parametrizace Multi-RASTA tedy splnila teoretické předpoklady, prokázala výborné vlastnosti i robustnost vůči kanálovému šumu. 3. Závěr Přínos práce za uplynulé období lze shrnout do následujících bodů: Na základě teoretického rozboru byla navržena nová parametrizace řeči s předpokladem vyšší robustnosti vůči konvolučnímu zkreslení. Metoda byla implementována mj. pomocí parametrizačního nástroje CtuCopy, který byl ve verzi 3.0 rozšířen, viz http://noel.feld.cvut.cz/speechlab. Teoretické předpoklady byly ověřeny na rozpoznávači s malým slovníkem. Bylo ukázáno že metoda předčí konvenční a používané parametrizace.
36 Petr Fousek Poděkování Tento výzkum byl podporován DARPA EARS Novel Approaches z grantu č. MDA972-02-1-0024. K dalším zdrojům patří granty IM2, AMI a M4. Částečná podpora byla rovněž z grantů GAČR 102/03/H085 Modelování biologických a řečových signálů, GAČR 102/05/0278 Nové směry ve výzkumu a využití hlasových technologií, AVČR 1ET201210402 Hlasové technologie v informačních systémech a výzkumného záměru MŠMT MSM6840770014 Výzkum perspektivních informačních a komunikačních technologií. Reference [1] Furui, S. Cepstral analysis technique for automatic speaker verification. In IEEE Trans. ASSP 1981, vol. 29, pp. 254 272. [2] Greenberg, S. Understanding speech understanding: Towards a unified theory of speech perception. In Workshop on the Auditory Basis of Speech Perception(1996), 1 8. [3] Hermansky, H. Perceptual linear predictive(plp) analysis for the speech. J. Acous. Soc. Am.(1990), 1738 1752. [4] Hermansky, H.; Fousek, P. Multi-resolution rasta filtering for tandem-based asr. In Proc. of Interspeech 2005 Lisbon, Portugal, 2005. [5] Hermansky, H.; Morgan, N. Rasta processing of speech. IEEE Transactions on Speech and Acoustics 2(October 1994), 587 589. [6] Hermansky, H.; Sharma, S. Traps- classifiers of temporal patterns. In Proc. of ICSLP 98 November 1998. [7] Kanedera, N.; Arai, T.; Hermansky, H.; Pavel, M. On the relative importance of various components of the modulation spectrum for asr. Speech Communication 28, 1(May 1999), 43 55(13). [8] Mermelstein, P. Distance measures for speech recognition: Psychological and instrumental. In Pattern Recognition and Artificial Intelligence, C. H. Chen, Ed. Academic Press, New York, 1976, pp. 374 388. [9] Yang, H. H.; Sharma, S.; van Vuuren, S.; Hermansky, H. Relevance of timefrequency features for phonetic and speakerchannel classification. Speech Communication (2000). [10] Zhu, Q.; Chen, B.; Gr.zl, F.; Morgan, N. Improved mlp structures for data-driven feature extraction for asr. In Interspeech 2005- Eurospeech- 9th European Conference on Speech Communication and Technology 2005.
Zdeněk Chaloupka 37 Analýza kvality řeči pomocí HMM Zdeněk Chaloupka, Jan Uhlíř České vysoké učení v Praze, Fakulta elektrotechnická chaloz1@fel.cvut.cz, uhlir@fel.cvut.cz Abstrakt: V tomto textu jsou shrnuty výsledky, které byly dosaženy algoritmem hledající časové zarovnání hlásek slova pomocí skrytých Markovových modelů Hidden Markov Models (HMMs). Před aplikací algoritmu na reálná data jsme ověřili, že množina trénovacích dat je dostatečně velká pro správné natrénování HMMs a také jsme otestovali, zda je pro detektci výslovnostní chyby nejvhodnější model monofónový bez datových proudů a směsí. Metody detekce vad v řeči jsme rozdělili do dvou samostatných oblastí hledání ve spektrální, nebo v časové oblasti. Zjistili jsme, že ve spektrální oblasti dochází častěji k chybám způsobeným chováním HMMs v oblasti řečového defektu. V časové oblasti jsme schopni detekovat výslovnostní chyby s jistým omezením, daným schopností řečníka vyslovit slovo (samozřejmě s chybami), protože algoritmus byl trénován a testován na dvou až čtyřslabičná slova. 1. Úvod Hlavním úkolem je navrhnout algoritmus schopný určit v promluvě s řečovými defekty, projevujícími se zejména nesprávným řazením a odlišným časovým zarovnáním jednotlivých hlásek, míru postižení řeči. Byla navržena metoda založená na bázi HMM, která je schopná lokalizovat jednotlivé hlásky v promluvách a určovat jejich trvání. V předchozích pracích bylo ukázáno s jakou přesností je algoritmus schopen lokalizovat začátky a konce hlásek (v porovnání s ručním zarovnáním), byla stanovena nejvhodnější parametrizace, ale nebylo ověřeno, zda je vybrána nejvhodnější konfigurace HMMs pro detekci výslovnostní vady. Při sledování řečových nahrávek bylo pozorováno, že výslovnostní vady se týkají zejména vynechání, zaměnění nebo vložení hlásky. Nejčastěji však dochází ke kombinaci těchto tří typů chyb. Důležitým charakterem řeči nemocných dětí je, že jsou schopny (alespoň v minimální míře) zachovávat rytmus slova, které jim je předříkáváno. Tím pádem dochází při výskytu nějaké chyby (vynechání, vložení, zaměnění hlásky) k časovým deformacím hlásek (většinou se jedná o prodloužení samohlásky) v bezprostředním okolí výskytu defektu. Dalším logickým bodem tedy bylo rozdělení algoritmu na hledání chyb v časové a spektrální oblasti. Ve spektrální oblasti jsme sledovali změnu logaritmu pravděpodobnostního skóre v závislosti na typu chyby a v časové oblasti jsme detekovali hlásky, jejichž délka překročila průměrné hodnoty stanovené u zdravých dětí. 2. Trénování a testování modelů HMM Pro natrénování modelů HMM byl použit programový balík HTK, který obsahuje veškeré základní nástroje potřebné pro práci s modely. Vstupními daty byly vektory parametrů řečových signálů obsahujících správně vyslovená slova. Pro trénování modelů bylo použito 40 zdravých mluvčí a pro testování 16 nemocných mluvčí. Trénování probíhalo Baum-Welchovým reestimačním algoritmem, který je implementován v HTK a jeho princip je možné najít v lit. [7]. Pro trénování jednotlivých stavů byl použit pouze monofónový
38 Zdeněk Chaloupka model, protože bylo zjištěno, že jeho přesnost je nejlepší s množstvím dat, která máme k dispozici pro trénování. Bylo však nutno otestovat zda máme nejvhodnější konfiguraci HMMs pro detekci výslovnostních chyb tzn. jestli je počet datových proudů a směsí vyhovující. Pro testování byly vyvinuty dva různé testy. 2.1 Testovací algoritmy První testovací algoritmus již byl definován v předchozích pracech [4, 5, 6]. Je to pouhé porovnání přesnosti nalezených hranic hlásek pomocí referenčního zarovnání, které bylo vytvořeno manuální korekcí hranic hlásek obdržených od natrénovaných HMMs. Druhý algoritmus testování je více uzpůsoben charakteristice problému hledání výslovnostních chyb. Testovací algoritmus využívá vlastnostní algoritmu HTK, které pro popis zarovnávaného (rozpoznávaného) slova využívá jeho fonetickou transkripci. Abychom mohli jednoduše simulovat chybu, stačí ve fonetické transkripci zaměnit jakoukoliv hlásku. Touto jednoduchou úpravou zajistíme, aby algoritmus HTK při zarovnávání hledal ve správně vysloveném slovu jiný HM model pro nějakou hlásku a tím simuloval chybu ve vyslovení (záměnu hlásky). Očekáváme, že nastane poměrně velká změna ve výsledném log-pravděpodobnostním skóre. Problém nastává v případě, že budeme chtít simulovat chyby typu vynechání nebo přidání hlásky. Pro tento případ testování by to znamenalo, že ve fonetické transkripci bude přidána/odebrána jedna hláska. Taková změna však způsobí, že Viterbiho algoritmus [7] projde více/méně stavy a tím se výsledné skóre změní jinak, než je tomu v případě použití reálného algoritmu. Forced alignment algoritmus má pořád stejný počet modelů pro všechny realizace slova, mění se tedy jen počet hlásek vyslovených dítětem v závislosti na typu chyby při vyslovení. 3. Konfigurace a ověření parametrů Již dříve bylo ukázáno, že monofónový model bez přeskoků je nejvhodnější pro hledání přesného časového zarovnání [4, 5]. Pro generování vektorů z audio signálu byla pomocí testů vybrána parametrizace VTLN MFCC. Je však ještě třeba ověřit další parametry HMMs a otestovat dostatečnou natrénovanost modelů. Dalšími parametry modelů jsou počet datových proudů a počet použitých směsí. 3.1 Konfigurace dalších parametrů V předchozích pracech nebyla testována další konfigurace HMMs. Důležitým parametrem je počet datových proudů a směsí. Pro testování konfigurace byl použit test simulace chyby. Výsledné hodnoty jsou uvedeny v následující tabulce a vyjadřují rozdíl mezi log-pravděpodobnostním skóre všech slov bez vložené chyby a s vloženou chybou (čím větší rozdíl, tím lepší). Jak je vidět z následující tabulky, tak jednoduchý model bez směsí a datových proudů je nejvhodnější pro detekci chyby. word 1M1S 2M1S 3M1S pivo 126.61 83.463 98.274 papír 29.733 22.809 9.6777 květina 185.4 155.3 173.7 pohádka 63.079 47.462 49.207 1M3S 2M3S 3M3S pivo 126.61 92.375 97.743 papír 29.733 15.383-5.5729
Zdeněk Chaloupka 39 květina 185.4 155.8 174.6 pohádka 63.079 41.486 36.247 Tab. 1. Suma chyby pro všechna slova a různé typy konfigurace HMMs; 1M-3M počet mixtures, 1S-3S počet datových proudů. Situace odpovídá očekávání, neboť datové proudy a zvyšování počtu směsí má za úkol odstraňovat variabilitu jednotlivých hlásek pro různé řečníky, což v tomto případě snižuje schopnost algoritmu odlišovat chyby. 3.2 Natrénovanost modelů Pro ověření, zda je množina trénovacích dat dostatečná, jsme využili srovnání logpravděpodobnostního skóre nahrávek zdravých dětí, které nebyly v trénovací množině s nahrávkami zdravých dětí v trénovací množině. Při dostatečném počtu trénovacích dat, by rozptyl skóre pro stejná slova od různých řečníků měl být co nejmenší. Obrázek 1: Porovnání log-pravděpodobnostního skóre trénovacích a testovacích dat Jak je vidět z obrázku, trénovacích dat je dostatek, neboť log-pravděpodobnostní skóre trénovacích i testovacích dat má velmi podobný rozptyl hodnot. 4. Testování nejčastějších defektů Dříve, než budeme aplikovat algoritmus na reálná data, je potřeba otestovat chování HMMs pro jednotlivé typy výslovnostních chyb (vynechání, záměna, vložení hlásky). Pro tento typ testu byla připravena data manuálně, protože není možno využít metodu popsanou v kapitole 2.1 (z důvodů zde zmíněných). Některé hlásky slov tedy byly vyjmuty, zaměněny nebo vloženy ručně z daných nahrávek. Protože byla tato úprava časově náročná, byl tento test jen orientační a nelze z něj činit závěry o funkčnosti algoritmu. 4.1 Spektrální a časová oblast Na upravených datech bylo provedeno automatické zarovnání (forced alignment) a výsledné log-pravděpodobnostní skóre spolu s počtem hlásek lišících se od průměrné délky hlásek u zdravých dětí je přehledně zaneseno do tabulky 2.
40 Zdeněk Chaloupka Slovo Log-pravděpodobnostní skóre orig. + chyba - chyba záměna papír -345.84 0-17.32 2 X X -13.01 1 dědeček -517.97 2-11.68 2 X X -13.12 4 květina -545.3 1-4.71 1 X X X X pohádka -499.81 2-10.57 2 10.46 1 X X pokémon -470.57 0-13.58 1 X X X X motovidlo -646.08 0 15.8 2 10.97 3 X X popelnice -620.56 0 8.08 1 3.54 2-1.49 0 televize -511.55 1-2.98 1-18.69 2 X X Tab. 2. Změna log-pravděpodobnostního skóre v závislosti na typu chyby; orig. skóre slova bez chyby, +/- chyba vložení/vyjmutí hlásky, záměna záměna hlásky. V tabulce jsou hodnoty log-pravděpodobnostního skóre ve sloupcích 3, 4 a 5 (levá část) určeny jako změna od původní hodnoty (čím zápornější, tím lepší). Pokud hodnota klesá, algoritmus indikuje chybu správně, pokud hodnota stoupá, mohlo dojít k jedné z následujících situací. Pro výsledky v časové oblasti platí (pravá část sloupců), že s vloženou chybou by se měly zvyšovat počty hlásek určených jako chybné. Políčka v tabulce, označená šedým pozadím, indikují chybu. Tyto chyby se dají vysvětlit chováním HMMs. Mějme na paměti, že algoritmus automatického zarovnání používá pro všechny slova jejich skutečný transkripční popis (počet modelů se pro jedno slovo nemění) a že log-pravděpodobnostní skóre každé hlásky se normalizuje na počet segmentů, kterými její model prošel. V případě, že vložená hláska má spektrální charakteristiku podobnou hláskám v jejím okolí, model hlásky je zaměněn a model projde více stavy. Tedy log-pravděpodobnostní skóre klesá a délka roste. Obdobná je situace pro záměnu hlásky. V případě vyjmutí hlásky, nemůže najít model odpovídající segmenty a tudíž zkracuje svoji délku a skóre roste. Důležité je, že se vždy mění časové trvání jednotlivých modelů. Z tabulky je také jasně patrné, že pokud algoritmus selhal ve spektrální oblasti, v časové byla chyba objevena (až na jeden případ pro slovo pohádka ). Samozřejmě není možno z tohoto testu dělat závěry, neboť byl proveden na velmi malé množině dat. Algoritmus otestujeme na nahrávkách promluv nemocných dětí. 5. Aplikace na reálná data Algoritmus byl použit na nahrávky nemocných dětí a zkoumána byla jak spektrální, tak časová stránka řeči. Nejprve se budeme zabývat oblastí spektrální. 5.1 Spektrální oblast Při aplikaci na reálná data bylo zjištěno, že lze sledovat ve spektrální oblasti vývoj jednoho řečníka. Pokusili jsme se zjistit, zda je možné rozdělit data do dvou tříd (zdravé, nemocné) na základě log-pravděpodobnostního skóre (viz obrázek 2).
Zdeněk Chaloupka 41 Obrázek 2: Dělení do tříd na základě log-pravděpodobnostního skóre; kolečka nemocné děti Podle obrázku lze říci, že data se dělí do tříd. Povšimněme si však realizací nahrávek nemocných dětí č. 4 a 5. Tyto nahrávky jsou pořízeny od stejného dítěte avšak s jistým časovým odstupem. Nahrávka č. 5 má horší log-pravděpodobnostní skóre a přitom kvalita vyslovení je lepší. Při bližším zkoumání bylo zjištěno, že v nahrávce č. 4 je podstatná část hlásek vynechána (Viterbiho algoritmus prochází méně stavy) a tudíž skóre roste (viz také vysvětlení v kapitole 4.1). 5.2 Časová oblast V časové oblasti byl algoritmus aplikován na přibližně 16 nahrávek. Slova byla oznámkována podle poslechového testu následovně: 1 bez chyby, 2 do 2 chyb, 3 téměř nesrozumitelné. Výsledná známka mluvčího v testu byla určena průměrem známek přes všechny slova. Algoritmem byly nalezeny časové hranice hlásek a byla u nich stanovena délka. Výsledná hodnota v tabulce udává počet hlásek detekovaných jako špatné (jejich velikost se lišila od průměrné hodnoty o více než 1.2 násobek rozptylu hodnot) ze všech vyslovených v procentech. Mluvčí Špatných hlásek Poslechový test 1 46.11 2.58 2 38.64 1.84 3 24.81 1.42 4 25.97 1.33 5 40.00 1.7 6 38.46 2.27 7 46.43 2.33 8 20.78 1.42 9 50.98 2.22 10 50.00 2.81 Tab. 3. Porovnání poslechového a automatického testu na nemocných mluvčích. Z tabulky je patrné, že pouze ve dvou případech si poslechový a automatický test neodpovídají. Mluvčí č. 3, 4 a 8 mají méně než 28% hlásek detekovaných jako špatné
42 Zdeněk Chaloupka a známka poslechového testu je pod 1.5. Mluvčí 1, 6, 7, 9 a 10 mají více jak 38% hlásek detekovaných jako špatné a známka poslechového testu je více než 2.2. Zmíněné dva případy jsou způsobeny zejména nevyvážeností známky poslechového testu pro různě obtížná slova. Např. slovo popelnice má více hlásek, které mohou být detekovány jako špatné a přitom poslechová známka slova má stejnou váhu jako pro slova s menším počtem hlásek. 6. Závěr Navrhnutý algoritmus automatického zarovnání je schopen detekovat chybu jak v časové, tak ve spektrální oblasti. Využití ve spektrální oblasti je podmíněno vyslovením přibližně stejného počtu hlásek jako má správně vyslovené slovo. V časové oblasti algoritmus funguje poměrně spolehlivě. Pro odstranění případných nesrovnalostí je potřeba váhovat slova koeficientem obtížnosti vyslovení. 7. Poděkování Tato práce byla podporována z grantu GA ČR 102/03/H085 Modelování biologických a řečových signálů a z výzkumného záměru MŠMT MSM6840770012 Transdisciplinární výzkum v biomedicínském inženýrství II. Reference [1] STEMMER, G. - HACKER, C. - STEIDL, S. - NÖTH, E.: Acoustic Normalization of Children's Speech. In EUROSPEECH-2003, 1313-1316. [2] WARWICKER, B. - LEES, J.: Landau Kleffner Syndrome. [online]. February 2001. [cit. 2005-01- 19]. <http://www.bobjanet.demon.co.uk/lks/home.html> [3] CHALOUPKA, Z. - UHLÍŘ, J.: Using Standard Algorithm and Cepstral Transformations for Analysis of Mispronounciation and Incorrect Phoneme Sequencing. In Digital Technologies 2004. Žilina: Technical University of Žilina, 2004, vol. 1, s. 44-48. ISBN 80-8070-334-5. [4] CHALOUPKA, Z.: Analysis of Mispronounciation Using Time Alignment of Phonemes. In ESSP-2005, 277-282, ISBN 3-938863-17-X. [5] CHALOUPKA, Z.: Mispronunciation Analysing Algorithm Testing Methods and Results. In Digital Technologies 2005. Žilina: Technical University of Žilina, 2005, vol. 1. ISBN 80-8070-334-5. [6] CHALOUPKA, Z.: Mispronunciation Research in the Time and in the Spectral Domain. In POSTER 2006-10th International Student Conference on Electrical Engineering [CD- ROM]. Prague: CTU, Faculty of Electrical Engineering, 2006 [7] YOUNG, S. The HTKBook (for HTK Version 3.1) [online]. [cit. 2005-01-19]. <http://nesl.ee.ucla.edu/projects/ibadge/docs/asr/htk/htkbook.pdf>. [8] HTK [software package]. Ver. 3.2.1. December 2002 [cit. 2005-01-19]. [9] SJÖLANDER, K.- BESKOW, J.: WaveSurfer - an Open Source Speech Tool. Proc. of ICSLP 2000, Bejing, China. 2000.
Josef Rajnoha 43 Modelování neřečových událostí v robustním rozpoznávání řeči s malým slovníkem Josef Rajnoha České vysoké učení technické v Praze, Fakulta elektrotechnická rajnoj1@fel.cvut.cz Abstrakt: V tomto článku je prezentována metoda modelování neřečových událostí řečníka v robustním rozpoznávači řeči s malým slovníkem na bázi skrytých Markovových modelů (HMM). Výsledky ukazují, že pouhé přidání informace o neřečových událostech a jejich modelování jednoduchými modely umožňuje dosáhnout výrazných zlepšení rozpoznávací úspěšnosti. Přestože je relativně snadné zahrnout tyto neřečové události do jednoduché gramatiky rozpoznávače, možnost jejich rozpoznávání je ovlivněna jejich vysokou variabilitou. 1. Úvod Hlasově ovládané systémy často pracují s reálnou spontánní řečí, která se v mnohém liší od čtených nahrávek. Spontánní řeč se vytváří za běhu a mluvčí tak při řeči musí přemýšlet o tom, co bude následovat za právě promlouvaným slovem. To vede k výskytu například váhavých pauz v řeči. Navíc může být řeč přerušena zakašláním či doprovázena hlasitým nádechem, mlasknutím apod. Proto je nutné, aby byl rozpoznávač vůči těmo jevům odolný a nemohl je zaměnit například za některé slovo ze slovníku. V tomto příspěvku shrnuji výsledky modelování těchto neřečových událostí řečníka pomocí HMM v úloze rozpoznávání řeči v reálném prostředí s malým slovníkem nezávislé na mluvčím. Omezený slovník umožňuje použít jednoduchou gramatiku, do které lze snadno zahrnout modelované události a není tedy nutné se zabývat trénováním složitého jazykového modelu. 2. Rozpoznávač řeči S použitím systému nástrojů HMM Toolkit (HTK) [4] byl vytvořen rozpoznávač sekvence českých číslovek na bázi modelů fonémů. Rozpoznávač používá standardní levo-pravé 3- stavové modely bez přeskoku stavů a 32 směsí (mixtures). Jedná se o modely českých fonémů a dva modely pro pausu. Číslovky jsou uspořádány do jednoduché gramatiky ve smyčce, což umožnilo snadné přidání modelovaných neřečových událostí do gramatiky. Signál je segmentován 16ms Hammingovým oknem s krokem 10ms. Z takto získaných segmentů je dále počítáno 12 MFCC koeficientů, jeden koeficient energie a také delta a akcelerační koeficienty.
44 Josef Rajnoha 3. Trénovací databáze Pro natrénování modelů fonémů byla použita databáze SPEECON [2] (v dalším textu značena jako SPEEdat), obsahující nahrávky od různých mluvčích v různých prostředích. Tato databáze byla protříděna, aby neobsahovala přeřeknutí či jiné položky nevhodné pro trénování. SPEEdat tak obsahuje cca 60000 vět od 221 různých mluvčích z relativně tichého prostředí (kancelář, obývací pokoj) nahrávaných mikrofonem typu close-talk. V této databázi jsou rozlišovány dvě kategorie neřečových událostí řečníka : filled pause (pausa v řeči vyplněná zvukem) a jiná událost. Při předchozím trénování pouze modelů fonémů byly značky pro tyto události pouze vyjmuty z textového přepisu nahrávky a nebyly tak pro trénování brány v úvahu. Aby bylo k dispozici více dat pro trénování neřečových událostí, byla trénovací databáze následně rozšířena o databázi nahrávek z automobilu (CARdat), která obsahuje (po protřídění) dalších cca 40000 vět od 650 mluvčích. Pro potřeby tohoto rozpoznávače ale byly použity pouze nahrázvky ze stojícího automobilu. V této databázi jsou neřečové události řečníka rozděleny do více skupin : filled pause, kašel, odkašlání, mlasknutí a hlasitý dech. Toto dělení umožňuje přesnější trénování modelů neřečových událostí, neboť lze použít model pro menší skupinu událostí. SPEEdat CARdat Počet vět 63024 38391 Počet neřečových událostí 34994 15866 Tabulka 1: Zastoupení neřečových událostí řečníka v jednotlivých databázích Pro účely testování byla z obou databází vyjmuta část dat (SPEE test, CAR test), která byla použita pro testování úspěšnosti výsledného rozpoznávače. Příspěvky od mluvčích v této testovací množině nebyly použity pro trénování, čímž se testovala také robustnost rozpoznávače. 4. Modelování neřečových událostí Hlavní myšlenkou této práce je modelování neřečových událostí řečníka pomocí rozpoznávače na bázi HMM. Jelikož původní trénovací databáze SPEECON rozlišuje pouze dvě třídy těchto událostí, byly v prvním kroku přidány do sady modelů dva nové modely - model pro filled pause (FIL) a model pro ostatní události (SPK). Tyto modely byly získány zkopírováním modelů foneticky blízkých fonémů. Pro inicializaci modelu FIL tak byl použit foném e, pro model SPK pak plozivní foném p. Model SPK byl v předchozím kroku inicializován zkopírováním modelu plozivní hlásky. To je vhodné pro případ modelování událostí typu mlasknutí či kašel. Mezi neřečovými událostmi je ale také událost hlasitý dech, která má spíše frikativní charakter. To způsobuje, že je model SPK trénován na značně odlišné události a není tedy možné přesně vystihnout ani jednu z nich. Proto byla množina modelů rozšířena o model události typu dech (BRE). Problémem však je, že v trénovací databázi SPEEdat není událost BRE odlišena od ostatních událostí. Proto není možné s pomocí této databáze trénovat událost BRE odděleně od ostatních událostí. Pro další trénování tak byla použita pouze CARdat. Pro inicializaci modelu BRE byl v první fázi použit model SPK z prvního přetrénování, který je nadále používán pro modelování plozivních událostí. Po analýze výsledků rozpoznávání
Josef Rajnoha 45 se dále ukázalo, že rozpoznávač označuje událost BRE jako velmi krátkou, délkou srovnatelnou s plozivními událostmi (viz tab. 2, první řádek). V reálné řeči je však dech událostí s mnohem delší dobou trvání, proto byl ve třetí fázi pro inicializaci modelu BRE použit model pro ticho, který modeluje delší událost, než je hláska f. Tabulka 2, druhý řádek dokládá, že opravdu došlo ke zvýšení délky rozpoznané neřečové události. Po přetrénování se pak pro oba případy inicializačních modelů délky neřečových událostí mírně přiblížily. SPEE test CAR test fáze, inicial.model plosivní dech plosivní dech 2nd retrain, f -model 20.06 25.44 23.77 21.38 2nd retrain, pausa 20.7 108.74 22.46 54.46 3rd retrain, f -model 24.72 39.72 36.99 30.44 3rd retrain, pausa 21.81 102.17 33.7 55.21 Tabulka 2: Průměrná délka neřečových událostí Vlastní události pak byly přidány do gramatiky tak, jako by se jednalo o další slovo, které má systém rozpoznávat. 5. Experiment Výsledky byly srovnávány na úrovni míry chybovosti slov (WER - Word Error Rate) ( ) D + S + I WER = 100%, (1) N kde N je počet rozpoznávaných slov, D je počet slov nezaznamenaných, S je počet slov zaměněných za jiné a I je počet nesprávně vložených slov (inzercí). Protože rozpoznané neřečové události nejsou pro úlohu rozpoznávání číslovek důležité, jsou z rozpoznaného textu následně vyjmuty. Tudíž výraz pro WER spíše vyjadřuje míru chybovosti na úrovni číslovek. Proto také nebylo bráno v úvahu, jestli byla jedna neřečová událost rozpoznána na místě, kde se skutečně nevyskytuje, zda byla vynechána nebo zda byla zaměněna za jinou neřečovou událost. Obrázek 3 ukazuje hodnotu WER dosaženou na SPEE test (šrafovaný sloupec) v daném trénovacím kroku, obrázek 4 ukazuje tytéž výsledky pro CAR test. Plné sloupky ukazují míru zastoupení nesprávně vložených slov. Právě míra nesprávně vložených slov z velké části vypovídá o schopnosti rozpoznávače eliminovat vliv neřečových událostí, které tak nejsou mylně označeny jako číslovka. 5.1. Výsledky pro dva modely neřečových událostí Původní rozpoznávač (bez modelů neřečových událostí) dosahuje hodnoty WER 4,99% na SPEE test (Obr. 3, sloupec a) a 11,18% WER na CAR test (Obr. 4, sloupec a). Po přidání dvou modelů neřečových událostí (viz sekce 4.) se úspěšnost znatelně zvýšila (okolo 20% pokles chyby pro SPEE test, 15% pro CAR test) a také počet nesprávně vložených slov poklesl (viz sloupec b). Je tedy zřejmé, že pouhé přidání jednoduchých modelů neřečových událostí do gramatiky rozpoznávače znatelně pomáhá zvýšit robustnost systému proti těmto událostem. Výsledky po prvním přetrénování jsou již ovlivněny rozšířením trénovací databáze, proto jsou uvedeny úspěšnosti rozpoznávání pro rozpoznávač bez modelů neřečových událostí
fricative silence 46 Josef Rajnoha (sloupec c) a pro rozpoznávač s rozšířenou sadou modelů (sloupec d). Je zřejmé, že samotné rozšíření trénovací množiny vede na znatelné zvýšení úspěšnosti rozpoznávání. Po rozšíření sady modelů ale chybovost a také počet chybně vložených slov dále klesá. no mark fricative silence WER [%] 5 4 3 2 1 0 a b c d e f g h i j k l m n o p Start Init 1st 2nd 3rd 4th 3.5 3 2.5 2 1.5 1 0.5 0 Insertions [%] Obrázek 3: Výsledky pro databázi SPEE test WER [%] 10 7.5 5 2.5 a b c d e f g h i j k l m n o p 10 8 6 4 2 Insertions [%] 0 Start Init 1st 2nd 3rd 4th 0 Obrázek 4: Výsledky pro databázi CAR test Jak ale ukazují sloupce e pro nerozšířenou sadu modelů a f pro rozšířenou sadu, druhé přetrénování nevedlo k dalšímu zlepšení pro SPEE test a naopak se znatelně zvýšily hodnoty nejen WER, ale také zastoupení chybně vložených slov. 5.2. Výsledky pro tři modely neřečových událostí Sloupec g na obr. 3 ukazuje, že druhé přetrénování při použití tří modelů (FIL, SPK, BREodvozen z původního SPK) vede na zlepšení oproti druhému přetrénování s dvěma modely a výsledná úspěšnost rozpoznání se pro SPEE test téměř vyrovnala hodnotě po prvním přetrénování, zatímco pro CAR test nastal další významný pokles chybovosti. Sloupec h, resp. i ale ukazuje, že ke použití vhodnějšího inicializačního modelu (foném f resp. pausa) k výraznému zlepšení nedošlo. Až další přetrénování poukázalo na nevhodnost inicializace události BRE modelem plozivní události (sloupec j bez trénování modelů událostí, k - model BRE inicializovaný modelem SPK, l - inicializace modelem f, m - inicializace modelem pausy). Naopak další dvě možnosti inicializace se zdají být rovnocenné. 5.3. Zarovnání databáze SPEEdat S pomocí výše natrénovaných modelů neřečových událostí řečníka byla zarovnána databáze SPEEdat, což mělo umožnit nalézt nejvhodnější výslovnostní variantu slov v databázi a především zjistit, zda je označená ostatní událost spíše blízká události SPK nebo BRE. Jednoduchá analýza (bylo prozkoumáno jen několik položek kvůli rozsahu databáze) ale ukázala, že výsledky zarovnání nevedou ke zcela přesným výsledkům. Takový jev ale nebyl neočekávaný vzhledem k následujícím faktům :
Josef Rajnoha 47 Modely neřečových událostí řečníka použité k zarovnání nejsou natrénovány dostatečně Neřečové události jsou na rozdíl od hlásek velmi variabilní a je potřeba velké množství dat pro trénování k vystižení této variability. Na značení jednotlivých neřečových událostí pracovalo více lidí, z nichž každý má jiný pohled na problém, kdy už je událost tak málo zřetelná, aby nebyla označena. Proto mezi jednotlivými značkami může být veliký rozdíl. Značky neřečových událostí nezasahují do řeči, ale jejich vzálemné překrytí nelze vyloučit a může dojít k situaci, kdy je uprostřed dechu mlasknutí. To při předpokladu, že je neřečová událost následována krátkou pauzou, vede opět na možnou nejednoznačnost značení události. Takto zarovnaná databáze byla následně použita (spolu s CARdat) k dalšímu přetrénování modelů. Výsledky ukazuje soubor sloupců 4th - n pro trénování bez modelů, o frag replacements s f -inicializačním modelem a p s pauzou jako inicializačním modelem. V tomto kroku sice přesnost rozpoznávače poklesla, ale pokles není příliš značný a je tedy na místě se domnívat, že po jistém manuálním překontrolování zarovnaných dat by se mohl očekávat další pokles chybovosti. 5.4. Test v neznámých podmínkách S modely z 3. trénovací fáze byl dále uskutečněn test robustnosti rozpoznávače vůči nahrávacím podmínkám. Byly k tomu využity signály shodné se signály v databázi SPEE test, ovšem nahrávané s použitím jiného mikrofonu, než který byl použit pro nahrávání trénovací databáze. Graf na obr. 5 ukazuje dosaženou chybu. WER [%] 12 10 8 6 4 2 no mark fricative silence 3 2 1 Insertions [%] 0 3rd another conditions Obrázek 5: Neznámé nahrávací podmínky - SPEE test 0 Pro případ SPEE test se přesnost znatelně snížila, ale menší nárůst počtu chybně vložených slov ukazuje, že změna nahrávacích podmínek ovlivnila výsledky rozpoznávání neřečových událostí méně, než výsledky rozpoznávání segmentů řeči. 6. Závěr Práce se zabývá modelováním neřečových událostí řečníka za účelem zvýšení robustnosti na mluvčím nezávislého rozpoznávače řeči na bázi HMM s malým slovníkem pracujícím v reálném prostředí. Výsledky experimentů lze shrnout do těchto bodů : První výsledky ukazují, že již jednoduché modelování dvou tříd těchto událostí přináší do úlohy rozpoznání řeči zlepšení výsledků. Použitím modelů foneticky podobných fonémů bylo dosaženo snížení chybovosti o téměř 20%.
48 Josef Rajnoha Rozšířením sady modelů a rozdělením plozivních a frikativních neřečových událostí řečníka bylo dále dosahováno postupného zvyšování přesnosti rozpoznávání na jedné z testovacích databází bez výrazných změn v přesnosti na druhé databázi. Přetrénování rozpoznávače na databázi, jejíž data byla pomocí předchozích modelů zarovnána, vedlo k poklesu přesnosti rozpoznání, ale míra tohoto poklesu a možnost eliminovat v databázi chybně zarovnané neřečové události ukazují na možný přínos tohoto kroku. V celé práci se projevil vliv vysoké variability rozpoznávaných neřečových událostí a nedostatek dat pro trénování, přesto bylo docíleno poklesu chybovosti rozpoznávače na testovacích datech o 22% resp. 11,5%. Poděkování Tento výzkum byl podporován z grantů GAČR 102/03/H085 Modelování biologických a řečových signálů, GAČR 102/05/0278 Nové směry ve výzkumu a využití hlasových technologií, AVČR 1ET201210402 Hlasové technologie v informačních systémech, IGA MZ ČR NR 8287-3/2005 a výzkumného záměru MŠMT MSM6840770014 Výzkum perspektivních informačních a komunikačních technologií. Reference [1] RAJNOHA, J. : Modeling of Speaker Non-speech Events in Robust Speech Recognition. Czech-German Workshop 2006, Prague 2006. [2] Webové stránky projektu SPEECON. http://www.speechdat.org/speecon. [3] RABINER, L. : Fundamentals of speech recognition. Prentice-Hall, 1995. [4] YOUNG, S. - et al. : The HTK Book (for HTK Version 3.2.1). Cambridge University Engineering Department, 2002. [5] RAJNOHA, J. : Rozpoznávání řeči v reálných podmínkách na platformě standardního PC. Diplomová práce, ČVUT, 2006. [6] GAJIC, B. - MARKHUS, V. - PETTERSEN, S. G. - JOHNSEN, M. H. : Automatic Recognition of Spontaneously Dictated Medical Records for Norwegian. COST278 and ISCA Tutorial and Research Workshop - ROBUST2004, 2004. [7] SHRIBERG, E. E. : Phonetic Consequences of Speech Disfluency. International Congress of Phonetic Sciences, 1999.
Lukáš Ručkay 49 Analýza EEG pomocí ICA- odhad dimenze modelu Lukáš Ručkay České vysoké učení technické v Praze, Fakulta elektrotechnická lukas.ruckay@email.cz Abstrakt: Aplikace analýzy nezávislých komponent(independent Component Analysis, ICA) je rychle se rozšiřující oblast výzkumu a mnoho vědeckých týmu se věnuje zkoumání jejího přínosu pro slepou separaci signálů(blind Source Separation, BSS) a dekonvoluci signálů. Tato práce se zabývá odhadem dimenze modelu pro ICA použitou na pohybové EEG. Odhad dimenze ICA modelu je zde proveden pomocí dvou metod. První metoda využívá korelační vzdálenosti odhadnutých komponent. Základem druhé metody je hierarchické clusterování využívající jako vstupní parametr opět korelační vzdálenosti komponent. 1. Úvod Slepá separace signálů(blind Source Separation, BSS)[1] je obor, který se zabývá získáváním skrytých informací obsažených v souboru dat. Získávání těchto skrytých informací nemůže být provedeno zcela obecně, ale právě tímto tématem se zabývá obor BSS. Analýza nezávislých komponent(independent Component Analysis, ICA) je jedna z mnoha metod pro řešení tohoto problému. ICA aplikovaná na EEG data je velice zajímavá a perspektivní metoda získávání informací ukrytých v mozku[4]. Naším hlavním cílem v oblasti zpracování biologických signálů je zvýšení rozpoznávacího skóre v databázi EEG obsahující odlišné pohyby(proximální-distální, extenzní-flexní nebo palec-malíček databáze). To je možné dosáhnout dekompozicí EEG na pohybové a nepohybové komponenty s využitím ICA[5]. Tato práce se zabývá výběrem stabilně odhadovaných nezávislých komponent z EEG dat a odhadem dimenze modelu ICA. Pojmem dimenze modelu ICA se zde rozumí počet všech komponent a to souvisejících i nesouvisejících s pohybem. Odhad dimenze ICA modelu je proveden na základě počtu stabilně odhadovaných komponent. 2. Analýza nezávislých komponent ICA je metoda, která se snaží nalézt zdrojové signály ze znalosti jejich kombinace. Přitom předpokládáme, že zdrojové signály nejsou pozorovatelné, a že nemáme žádné informace o tom jakým způsobem jsou zdrojové signály transformovány. V oblasti slepé separace signálů se setkáme se třemi základními modely popisující transformaci: lineární model, šumový model a konvolutorní model. EEG i EMG data splňují lineární model[4],[2], který můžemepopsattakto:x=a S,kdeSje m N d maticevstupníchsignálů(nezávislé
50 Lukáš Ručkay komponenty),ajemixážnímaticerozměru n maxje n N d maticepozorovaných (měřených)signálů. N d tedyznačídélkujednotlivýchřádkůmaticsax.početměřených signálů a počet nezávislých komponent nemusí být shodný, avšak předpokladem pro úspěšnouseparacije n m,tedypočetměřenýchsignálůjestejnýnebovětšínežpočet zdrojových signálů. Z teoretického hlediska má největší význam situace n = m, což budeme předpokládat v dalším textu. Zdrojové signály(nezávislé komponenty) mohou býtodhadnutynásledovně:ŝ=ŵ X,kdeŴjeodhadmaticeW,W=A 1.Problém nalezení zdrojových signálů(nezávislých komponent) přechází na problém nalezení maticew.vdalšímtextubudemepoužívatmaticiwmístomaticeŵ.separacečirozklad signálů je prováděn tak, aby výsledné komponenty byly nezávislé jak jen je to možné a zároveň jejich lineární kombinace tvořila pozorované signály. To je dosaženo maximalizací funkce F, která měří nezávislost komponent. 3. Popis experimentu Pro naše experimenty jsme použili EEG databázi obsahující 7 osob, které vykonávají distální a proximální pohyb dohromady 14 subjektů. EEG bylo nahráno pomocí 64 elektrod, z nichž 59 bylo umístěno na skalpu hlavy[6]. Protože data jsou různě dlouhá, omezili jsme jejich délku na 27 úseků obsahujících vždy jeden pohyb. Pro předzpracování byla použita analýza hlavních komponent(principal Component Analysis, PCA) pro dekorelace dat, ale bez redukce dimenze(žádný z původních 59 signálů nebyl zahozen), aby nebyly odstraněny signály nesoucí hledanou informaci. V případě analýzy pohybového EEG jsou těmito informacemi pohyby(distální a proximální). Abychom odhadli dimenzi modelu ICA provedli jsme rozklad EEG dat N-krát(N = 100) s náhodně generovanými inicializačními maticemi. Některé komponenty jsou závislé na inicializační matici a některé nikoli. Komponenty, které jsou nezávislé na inicializační matici, představují silné mozkové zdroje související s danou mozkovou aktivitou[7]. Komponenty získané pro různé inicializační matice nyní budeme srovnávat. Protože každá komponenta je plně popsána právě jedním řádkem separující matice W stačí pro srovnání komponent uvažovat tyto řádky. 4. Odhad dimenze modelu ICA pomocí korelace komponent V této části je popsána analýza výsledků opakované separace pomocí korelace jednotlivých komponent pro různé separující matice. Pro srovnání komponent stačí počítat jen nultý korelačníkoeficient R xy [0].Protoženalezenékomponentymohoumítobecněrůznépořadí je nutné počítat korelace mezi všemi řádky všech matic(100 matic rozměru 59 59). Před výpočtem korelace je odstraněna střední hodnota a řádky jsou normovány na jednotkovou energii. To nám zajistí, že vzájemné energie dvou řádků a tedy i korelační koeficient R xy [0]jemenšínež1.Vkonečnéfázisevýpočetkorelacejednotlivýchřádkůzjednoduší na výpočet korelace dvou matic: R xy =W x W y T, x, y=1...n. (1) PrvekR xy [i, j]korelačnímaticepředstavujenultýkorelačníkoeficientmezii-týmřádkem maticew x aj-týmřádkemmaticew y (i-toukomponentouzmaticew x aj-toukomponentouzmaticew y ).VdalšímkrokukekaždémuřádkumaticeW x hledámeřádekz maticew y snejvětšíkorelací.kjednékomponentězreferenčnímatice(w x, x=1...n)
Lukáš Ručkay 51 0.25 Averaged mean and standard deviation of correlations (sorted by variance). 1 0.25 Averaged mean and standard deviation of correlations (sorted by variance). 1 0.2 0.9 0.2 0.9 0.8 0.8 0.15 0.15 Std 0.7 Mean Std 0.7 Mean 0.1 0.1 0.6 0.6 0.05 0.5 0.05 0.5 0 5 10 15 20 25 30 35 40 45 50 55 Component No. distální, symm-gauss 0.4 0 5 10 15 20 25 30 35 40 45 50 55 Component No. proximální, symm-gauss 0.4 0.25 Averaged mean and standard deviation of correlations (sorted by std). 1 0.25 Averaged mean and standard deviation of correlations (sorted by std). 1 0.2 0.9 0.2 0.9 0.8 0.8 0.15 0.15 Std 0.7 Mean Std 0.7 Mean 0.1 0.1 0.6 0.6 0.05 0.5 0.05 0.5 0 5 10 15 20 25 30 35 40 45 50 55 Component No. distální, symm-tanh 0.4 0 5 10 15 20 25 30 35 40 45 50 55 Component No. proximální, symm-tanh 0.4 Obrázek 1: Průměrované střední hodnoty( µ[i], mean) a směrodatné odchylky( σ[i], std) korelací komponent počítaných pro 100 inicializačních matic. Algoritmus FastICA symmetric, nelinearita gauss a tanh. Analyzovaná osoba: 4, distální i proximální pohyb. nalezneme N 1komponentzezbývajícíchmatic(W y, y=1...n, y x).pronalezené maximálníkorelacepotépočítámeprůměr µ x [i]arozptyl σ 2 x [i]: { } } µ x [i]=e max {R xy[i, j]}, σ 2 j=1...59 x {max [i]=var {R xy[i, j]}. (2) j=1...59 Pro každou separující matici tedy dostaneme průměr a rozptyl komponent odhadnutých v této referenční matici. Za dobře odhadnuté komponenty považujeme ty, které splňují podmínku µ x [i] >0,9aσ x [i] <0,05.Danéprahovéhodnotybylystanovenyempiricky. Tímto způsobem je možné získat výsledky vždy jen pro několik inicializačních matic. Abychom mohli porovnat výsledky pro různé nelinearity, vypočítáme dále průměr ze středních hodnot a směrodatných odchylek korelací komponent: µ[i]= 1 N µ x [i], σ 2 [i]= 1 N x=1 N N x=1 σx 2 [i] (3) Pro snadné porovnání odhadů separující matice jsme všechny komponenty v rámci jedné matice srovnali podle velikosti směrodatné odchylky komponent od nejmenší po největší. Takto získané seřazené hodnoty µ[i] a σ[i] jsou zobrazeny na obr. 1. 4.1. Výsledky ZreálnýchEEGdatjsmesesnažiliodhadnoutdimenzimodeluICA.Vnašemtestujsme použili algoritmus FastICA ve verzi deflation i symmetric. Počet komponent jsme určovali na základě rozptylu(směrodatné odchylky) dosažených korelací počítaných pro 100 různých inicializačních matic. Z důvodu velkého množství výsledků zde uvedeme výsledky jen pro osobu 4. Při použití deflation algoritmu a nelinearity gauss bylo nalezeno 6 9 stabilně odhadnutých komponent pro distální pohyb a 14 18 komponent pro proximální pohyb. Při použití nelinearity tanh se pohyboval počet komponent v intervalu 17 23 pro distální
52 Lukáš Ručkay a 27 32 pro proximální pohyb. Pro nalezení těchto komponent je nutné spočítat všechny komponenty a na základě korelací vybrat jen ty dobře odhadnuté, neboť dobře odhadnuté komponenty mohou být nalezeny jak na začátku, tak i na konci výpočtu. Při použití algoritmu symmetric a nelinearity gauss bylo nalezeno 35 41 komponent pro distální pohyb a 41 46 komponent pro proximální pohyb, které měly směrodatnou odchylku menší než uvedená prahová hodnota. Opět při použití nelinearity tanh dojde k zvýšení počtu dobře odhadnutých komponent: 44 47 pro distální a 46 49 pro proximální pohyb. Ani v případě použití symmetric verze algoritmu FastICA nelze najít jen požadované komponenty, protože všech 59 komponent je odhadováno současně. V předchozí práci[3] zabývající se analýzou EEG byl odhad dimenze modelu ICA proveden pomocí PCA s redukcí dimenze. S pomocí PCA bylo nalezeno 35 hlavních komponent pro distální pohyb a 37 hlavních komponent pro proximální pohyb(osoba 4). Počty komponent byly stanoveny pomocí 95% konfidenčního intervalu vybrané komponenty tedy pokrývají 95% celkové energie signálů. Tuto metodu považujeme za nevhodnou neboť dochází k odstranění komponent jen na základě výkonu(rozptylu) dané hlavní komponenty a daná komponenta může obsahovat cenné informace o pohybu. Uvedené odhady dimenze jsou shrnuty v tab. 1. V tabulce jsou také uvedeny odhady dimenze při použití jiných nelinearit. osoba metoda 4d 4p gauss 35 41 41 46 FastICA tanh 44 47 46 49 symmetric pow3 41 46 40 43 skew 38 44 39 45 gauss 6 9 14 18 FastICA tanh 17 23 27 32 deflation pow3 14 19 27 35 skew 22 27 38 45 PCA 35 37 Tabulka 1: Odhad dimenze modelu ICA různými metodami. Porovnáním počtu získaných komponent v tab. 1 zjistíme, že nelinearita tanh se jeví jako nejvýhodnější pro použití na EEG data poskytovala největší počet stabilně nalezených komponent. Jinými slovy algoritmus symmetric ve spojení s nelinearitou tanh poskytuje výsledky, které jsou nejméně závislé na volbě inicializační matice. 5. Odhad dimenze modelu ICA pomocí hierarchického clusterování V této části uvedeme odhad dimenze modelu ICA, který je podobný odhadu uvedenému v předchozí kapitole. Postup odhadu dimenze je částečně změněn tak, aby nám umožnil snadno získat dobře odhadnuté komponenty. Zde rovněž nebudeme srovnávat celé komponenty, ale jen řádky separujících matic W. Separující matici W, kterou jsme získali pro k-touinicializačnímaticioznačímew (k).každýřádekmaticewsinynímůžeme představitjakobodv59-rozměrnémprostoru.řádkymaticw (k) popisujícítutéžkomponentu jsou podobné a v 59-rozměrném prostoru tvoří shluky(clustery). Myšlenka odhadu dimenze modelu ICA a výběru dobře odhadnutých komponent je tedy postavena na shlukování(clusterování)dat.skutečnost,žeřádkymaticw (k) budoutvořitvezmíněném
Lukáš Ručkay 53 prostorushlukyověřímetak,ževezmemejednumaticiw (k) aspočítámekorelačnívzdálenostimeziřádky rastétomatice: 59 (w ri w r )(w si w s ) i=1 d rs =1. (4) 59 (w ri w r ) 2 59 (w si w s ) 2 i=1 Taktozískanévzdálenosti d rs pro r, s=1...59vynesemedografu,takjakukazujeobr.2a. Korelačnívzdálenost d rs můženabývathodnotzintervalu 0,2. d rs =0proshodné vektory, d rs =1promaximálněrozdílnévektoryad rs =2proshodnévektory,které se liší pouze násobením-1. Pokud budeme uvažovat pouze různé řádky matice W(tedy r s),potomjeminimálníamaximálnívypočítanávzdálenostmeziřádkymin(d rs )= 0,3441amax(d rs )=1,5297.Ztěchtočíselmůžemeusuzovatnadostatečnourozdílnost jednotlivých řádků matice W a tedy možnost shlukovat řádky ve vícerozměrném prostoru. i=1 60 Korelacni vzdalenost d rs radku matice W. 1.5 3.5 x 105 Histogram korelacni vzdalenosti komponent 55 50 3 45 2.5 40 1 35 2 s 30 25 Cetnost 1.5 20 0.5 1 15 10 0.5 5 5 10 15 20 25 30 35 40 45 50 55 60 r a 0 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Vzdalenost komponent b Obrázek2:a)Korelačnívzdálenost d rs meziřádkyw r aw s jednéseparujícímaticew. b)histogramkorelačníchvzdáleností d rs meziřádkym r am s maticem.algoritmus FastICA- symmetric, nelinearita tanh. V důsledku nejednoznačnosti ICA nemůžeme určit znaménko komponenty a proto můžeme při opakované aplikaci ICA získat stejné(podobné) komponenty lišící se ve znaménku. Abychom se vyhnuli tomuto problému, použijeme pro výpočet jak původní komponenty (řádky separující matice), tak komponenty násobené 1. Pro N-krát opakovanou ICA takto dostaneme soubor dat, ve kterém bude každá komponenta obsažena N-krát se znaménkem + a N-krát se znaménkem. Podle rovnice(5) vytvoříme jednu velkou maticim,kterábudeobsahovatvšechnymaticew (k) násobené+1a 1.Taktovzniklá maticemá M r = N 59 2=11800řádkůa59sloupců. M= ( W (1)T,...,W (N)T, W (1)T,..., W (N)T ) T (5) MezivšemiřádkymaticeM(i-týřádekoznačímem i )opětspočítámekorelačnívzdálenosti podlerovnice (4)se záměnou mza w, takabyse neopakovaly indexy (r = 1...M r 1, s=r+1...m r ).Zvypočtenýchvzdálenostíjsmedálevypočetlihistogram azobrazilinaobr.2b.obrázekpotvrzujeskutečnost,žejednotlivéřádkymaticw (k) jsoudostatečněodlišné.největšíčetnostkorelačnívzdálenosti d rs sepohybujevintervalu0,5...1,5.hraniceicelýobrázekjsousymetrické,neboťdovýpočtujsouzahrnuty
54 Lukáš Ručkay jakřádkyw (k) i takiřádky w (k) i.pozornostovšemzasloužízejménaoblasti d rs <0,1a d rs >1,9.Vtěchtooblastechazejménasměremkhranicímobrázkujetakévysokáčetnost hodnot d rs.tojezpůsobenotím,ževkaždémběhuicajsounalezenyněkterékomponenty stejné nebo alespoň vysoce korelované. Na základě obr. 2 se domníváme, že podobné řádkymaticw (k) lzepoměrněsnadnoclusterovatvevícerozměrnémprostoru.zavedemeli nějaké kritérium pro velikost shluku, můžeme také odhadnout dimenzi modelu ICA. Pomocí clusterování můžeme také eliminovat nejednoznačnost pořadí komponent. 5.1. Clusterování Z používaných metod pro shlukovou analýzu můžeme uvést algoritmus k-means, hierarchické clusterování či samoorganizační mapy. Zde je použito hierarchické clusterování, které umožňuje stanovit podmínku pro tvorbu clusterů podle níž se vytvoří nezbytné množství clusterů jako podmínku jsme zvolili velikost clusteru. Jako vstupní parametr protvorbuclusterůjsmezvolilikorelačnívzdálenosti d rs meziřádkymaticem. V případě hierarchického clusterování musíme také zvolit vhodnou metodu pro spojování prvků. Pro naše testy jsme vybrali linkovací metodu average, která může být popsána následovněprocluster robsahující n r prvkůacluster sobsahující n s prvků: d(r, s)= 1 n r n s n r n s dist(x ri, x sj ). (6) i=1 j=1 Funkcedistznačívýpočetvzdálenostipodlevztahu(4). x ri je i-týprvekclusteru ra obdobně x sj je j-týprvekclusteru s. Dalšívstupníparametr,kterýjsmevolilijevelikostclusteru.Zvolenáhodnota d avr =0,1 zajistí průměrnou korelaci mezi vybranými řádky větší než 0,9. S takto zvolenou hodnotou omezující velikost clusteru jsme data clusterovali. Clustery obsahující 100 prvků představují nezávislé komponenty nalezené v každém běhu ICA. Takto ovšem předpokládáme 100% přítomnost dané komponenty ve všech maticích. Toto kritérium zvolníme a budeme vyžadovat jen 95% přítomnost komponent v maticích. Toznamená,ženyníbudemehledatclusteryvekterýchje95...100prvků.Prokaždý takovýtocluster cspočítámeprůměrprvků(centroid)x (c).taktovzniklycentroidyx (c), kterémajívždypárovýprvek x (d).dalšímkrokemvevýběrustabilníchkomponentje tedy výběr pouze jednoho z těchto párových prvků. Zbylé centroidy představují průměrné hodnoty odhadu stabilních komponent. 5.2. Výsledky Výše popsaným způsobem jsme testovali algoritmy FastICA a EFICA[2] na stejné EEG databázi. Algoritmus FastICA jsme testovali pro obě verze deflation i symmetric. U obou algoritmů jsme také použili všechny dostupné nelinearity. Výsledky odhadu dimenze ICA modelujsoushrnutyvtab.2. Jako první jsme testovali algoritmus FastICA ve verzi deflation. Dle našich výsledků nelinearita gauss použitá v deflation verzi poskytla nejhorší výsledky ze všech průměrný počet stabilních komponent je pouze 8 pro distální pohyby, resp. 7 pro proximální pohyby z celkového počtu 59. Nejlepší výsledky pro deflation verzi byly dosaženy s nelinearitou skew 26 resp. 24 stabilních komponent. Nelinearita tanh je druhá nejleší pro verzi deflation a poskytovala 19 stabilních komponent pro distální i proximální pohyby. V symmetric verzi jsou výsledky pro různé nelinearity srovnatelné. Pro symmetric verzi je nejlepší nelinearita pow3 s kterou bylo nalezeno 44 resp. 43 stabilních komponent. Velice podobné výsledky byly také dosaženy s nelinearitou tanh a skew. Nejhorší výsledky pro verzi symmetric jsou dosaženy s nelinearitou gauss 37 resp. 38 stabilních komponent.
Lukáš Ručkay 55 osoba ICAalgoritmus nelinearita 1d 1p 2d 2p 3d 3p 4d 4p 5d 5p 6d 6p 7d 7p gauss 9 7 7 10 9 4 6 13 8 8 12 8 8 5 FastICA pow3 6 13 14 6 16 15 8 23 17 15 22 7 13 8 deflation skew 28 25 26 21 29 27 17 32 28 24 34 20 23 20 tanh 22 17 16 15 26 20 16 23 11 21 27 24 17 14 gauss 33 33 41 46 36 37 40 42 42 39 38 34 30 35 FastICA pow3 39 35 48 44 47 43 44 44 39 49 44 45 48 43 symmetric skew 40 37 51 44 44 38 39 41 38 39 44 43 48 44 tanh 46 34 45 49 44 43 45 49 41 39 49 42 42 40 gauss 37 42 41 45 41 38 41 47 45 40 38 39 33 38 EFICA pow3 45 41 50 44 46 44 45 45 40 48 44 46 48 45 (symmetric) rati 39 35 44 45 44 40 48 49 45 41 43 41 34 35 tanh 44 40 46 50 45 42 51 50 44 38 52 43 39 40 PCA-95%konf.interval 34 35 31 31 28 31 35 37 29 29 29 28 35 33 Tabulka 2: Odhad dimenze modelu ICA různými metodami. Uvedeny jsou odhady pomocí algoritmu FastICA a EFICA. Pro srovnání je uveden odhad dimenze pomocí PCA,[3]. Maximální řád modelu je 59. Osoba#d značí distální pohyb a#p proximální pohyb. Jako poslední jsme testovali algoritmus EFICA. Zlepšení oproti FastICA algoritmu je patrné u všech společných nelinearit. Nejlepší výsledky algoritmu EFICA byly dosaženy s nelinearitou pow3, kde bylo nalezeno 45 resp. 44 stabilních komponent. Téměř shodné výsledky poskytuje nelinearita tanh, s tou bylo nalezeno 45 resp. 43 stabilních komponent. Algoritmus EFICA také přináší novou nelinearitu rati, která poskytla jen o málo horší výsledky než zmíněné nelinearity 42 resp. 40 stabilních komponent. Nejhorší výsledky jsoudosaženysnelinearitougaussstejnětakjakoualgoritmufastica 39resp.41 stabilních komponent. Pro srovnání výsledků je opět uveden odhad dimenze pomocí PCA,[3]. S pomocí PCA bylo nalezeno 31 resp. 32 hlavních komponent a ty byly dále separovány pomocí FastICA. Dimenze modelu ICA odhadnutá verzí deflation zdaleka nedosahuje maximální možné hodnoty dané počtem použitých elektrod 59. Verze symmetric poskytuje mnohem stabilnější výsledky a dalšího zlepšení je možné dosáhnout použitím algoritmu EFICA. 6. Závěr Z reálných EEG dat jsme se snažili odhadnout dimenzi modelu ICA. Náš test spočíval v opakování separace EEG signálů a následném porovnání odhadnutých komponent. V prvním případě jsme počet komponent určovali na základě rozptylu dosažených korelací počítaných pro 100 různých inicializačních matic. V druhém případě jsme počet komponent určovali pomocí korelační vzdálenosti mezi jednotlivými odhady dané komponenty. Pomocí hierarchického clusterování byly vytvořeny clustery s proměnným počtem prvků. Pro 100 opakování jsme hledali clustery obsahující 95 a více prvků s průměrnou korelačnívzdálenostínepřesahujícíhodnotu d rs =0,1.Rovněžjsmeprovedlisrovnánípočtu získaných komponent s počtem komponent získaným pomocí PCA[3]. Dosažené výsledky(viz. tab. 2) nás varují, že výsledky ICA algoritmů(zejména FastICA ve verzi deflation) jsou v každém běhu jiné(závislé na volbě inicializační matice). Z výsledků jednoho běhu ICA nelze určit, které komponenty jsou odhadnuty dobře a které hůře. K tomu je potřeba provést separaci několikrát a výsledky srovnat.
56 Lukáš Ručkay Výslekdy algoritmu FastICA ve verzi deflation se značně liší nejen v rámci použité nelinearity, ale také dle typu pohybu(viz. tab. 2). Počet stabilních komponent(makroskopických zdrojů EEG,[7]) nalezených pomocí FastICA ve verzi symmetric a algoritmu EFICA je podstatně méně závislý na použité nelinearitě a typu pohybu. U algoritmu EFICA je navíc zlepšena konvergence pomocí testu sedlových bodů a hledání skutečného globálního extrému[2]. Na základě těchto výsledků budeme dále používat algoritmus EFICA. Nalezené komponenty zahrnují pohybové i nepohybové komponenty a dokonce i komponenty představující rušení nebo šum, který má ovšem stále stejný charakter. Přestože pro různé kombinace algoritmů a nelinearit je nalezen odlišný počet komponent, některé z komponent jsou nalezeny vždy. Pohybové komponenty je možné získat frekvenční analýzou, kdy se hledají typické znaky související s pohybem jako je ERD(Event Related Desynchronization) a ERS(Event Related Synchronization)[3]. Poděkování Tento výzkum byl podporován z grantu GAČR 102/03/H085 Modelování biologických a řečových signálů a z výzkumného záměru MŠMT MSM6840770012 Transdisciplinární výzkum v biomedicínckém inženýrství 2. Reference [1] Jung, T.-P.; Makeig, S.; Humphries, C.; Lee, T.-W.; Mckeown, M. J.; Iragui, V.; Sejnowski, T. J. Removing electroencephalographic artifacts by blind source separation. Psychophysiology 37(March 2000), 163 178. [2] Koldovský, Z.; Tichavský, P.; Oja, E. Efficient Variant of Algorithm FastICA for Independent Component Analysis Attaining the Cramér-Rao Lower Bound. Submitted to IEEE Transaction. on Neural Networks(May 2005). [3] Konopka, O.; Šťastný, J.; Sovka, P. Movement-related EEG Separation Using Independent Component Analysis. In The 3rd European Medical and Biological Engineering Conference November 2005, EMBEC 2005, pp. 1471 1475. [4] Lima, C.; Silva, C.; Tavares, A.; Oliveira, J. Blind Source Separation by Independent Component Analysis Applied to Electroencephalographic Signals. In International Workshop on Models and Analysis of Vocal Emissions for Biomedical Applications (Maveba), 3, Firenze 2003. [5] Ručkay, L.; Šťastný, J.; Sovka, P. Movement-Related EEG Decomposition Using Independent Component Analysis. In Analysis of Biomedical Signals and Images- Proceedings of Biosignal 2006 June 2006, Brno: VUTIUM Press, pp. 78 80. ISBN 80-214-3152-0. [6] Stančák, A.; Feigeb, B.; Lücking, C. H.; Kristeva-Feige, R. Oscillatory cortical activity and movement-related potentials in proximal and distal movements. Clinical Neurophysiology 111, 4(April 2000), 636 650. [7] Wentrup, M. G.; Gramann, K.; Wascher, E.; Buss, M. EEG Source Localization for Brain-Computer-Interfaces. In Proceedings of the 2nd International IEEE EMBS, Conference of Neural Engineering March 16 19 2005, pp. 128 131.
Lukáš Svoboda 57 Detekce korové aktivity vyvolané míšním neurostimulátorem u pacientů trpících nezvladatelnou neuropatickou bolestí Lukáš Svoboda 1, Pavel Sovka 1, Andrej Stančák 2 1 České vysoké učení technické v Praze, Fakulta elektrotechnická 2 Univerzita Karlova v Praze, 3. lékařská fakulta svobol4@fel.cvut.cz, sovka@fel.cvut.cz, stancak@lf3.cuni.cz Abstrakt: Spektrální analýza pomocí výkonové spektrální hustoty (PSD) může být úspěšně aplikována při detekci změn v EEG. Užití této metody je demonstrováno na EEG získaném od 10 pacientů, trpících nezvladatelnou neuropatickou bolestí v oblasti beder a dolních končetin. Tato bolest je tlumena pomocí elektrické stimulace dorzální páteřní míchy (SCS). S využitím spektrální analýzy bylo zjištěno, že SCS vybudí oscilace v mozkové kůře. U osmi pacientů byl při SCS zaznamenán signifikantní nárůst PSD na stimulačním kmitočtu. 1. Úvod Pro vyhodnocení změn signálů a vzájemných vazeb mezi nimi v současnosti existuje řada metod. Své stálé místo si udržují postupy založené na Fourierově transformaci, k nimž patří i výkonová spektrální hustota (PSD) použitá s několika rozšířeními k detekci změn výkonu EEG signálu na konkrétních kmitočtech. Data byla získána v rámci spolupráce s Ústavem normální, patologické a klinické fyziologie 3. lékařské fakulty Univerzity Karlovy. Jedná se o EEG záznamy 10 pacientů trpících failed back surgery syndromem (FBSS), což je onemocnění způsobující nezvladatelnou neuropatickou bolest v oblasti beder a dolních končetin, která často odolává léčbě farmaky [4]. Jedním z nefarmakologických postupů, které pomáhají tuto bolest mírnit, je elektrická stimulace dorzální páteřní míchy (spinal cord stimulation SCS), při níž dochází k významnému potlačení intenzity vnímané bolesti. Korové projevy míšní stimulace již byly u omezeného počtu pacientů zkoumány pomocí fmr [2, 3], podstata elektrofyziologických změn korové aktivity při míšní stimulaci však dosud objasněna nebyla. V příspěvku je popsán postup, jímž bylo prostřednictvím PSD prokázáno, že SCS vyvolává v mozkové kůře oscilační aktivitu na stejném kmitočtu, jako je stimulační, a jímž byly lokalizovány oblasti, kde k tomu dochází.
58 Lukáš Svoboda 2. Detekce statisticky významných změn ve spektru EEG Jako první bylo třeba zjistit, zda působením SCS v mozkové kůře oscilační aktivita vůbec vzniká. Předpokladem bylo, že vyvolané rytmy budou mít kmitočet shodný se stimulačním a mohou se vyskytovat v kterékoli oblasti kůry. K dispozici jsme měli EEG záznamy pořízené pomocí 111 povrchových elektrod, a to dva od každého pacienta jeden při zapnuté stimulaci, druhý bez ní. 2.1. Odhad PSD Vyskytne-li se rozdíl mezi PSD párových EEG záznamů pořízených při zapnuté, respektive vypnuté míšní stimulaci, znamená to, že stimulace ovlivňuje elektrickou aktivitu mozku. Pokud se výkonový nárůst (ve srovnání se záznamem pořízeným při vypnuté stimulaci) projeví na stimulačním kmitočtu, je pravděpodobné, že SCS evokuje korové rytmy o stejném kmitočtu, jako je ten její. Výpočet odhadu PSD z reálných dat je odvozen v řadě publikací [1, 5], proto jsou uvedeny pouze výsledné vztahy v diskretizovaném tvaru, jak byly aplikovány při analýze našich EEG záznamů. Pro konzistentní odhad výkonové spektrální hustoty bylo použito vyhlazování spektra Welchovou metodou, jejíž jednotlivé kroky a mezivýsledky přibližuje schéma na obrázku 1. Obrázek 1: Princip vyhlazování spektra Welchovou metodou Jedná se o přímou metodu využívající diskrétní Fourierovy transformace váhovaných segmentů vstupního signálu. Vstupní posloupnost x[n] délky N rozdělíme na K navazujících úseků x k [l], každý o délce L vzorků platí tedy N = KL (existuje i varianta, kdy se sousední úseky překrývají, tedy neplatí N = KL). Každý segment je poté přenásoben
Lukáš Svoboda 59 zvoleným typem okna w[l] shodné délky (je nutné použít některé z hladkých oken, například Hammingovo) a pomocí DFT transformován na dílčí modifikovaný periodogram Ŝ k [m], jak popisuje vztah kde Ŝ k [m] = 1 W T L L 1 l=0 x[l + kl] w[l] e j2πml L 2, k 0, K 1, K = N L, (1) W = 1 L 1 w 2 [l]. (2) L Tak dostaneme celkem K dílčích modifikovaných periodogramů, jejichž zprůměrováním získáme požadovaný vyhlazený odhad: Ŝ x [m] = 1 K l=0 K 1 k=0 Ŝ k [m]. (3) Pomocí průměrování dosáhneme K-násobného snížení celkového rozptylu odhadu ve srovnání s periodogramem počítaným z celé vstupní posloupnosti. Výkonová spektrální hustota spočtená podle vztahu (3) byla transformována do decibelové stupnice: Ŝ xdb [m] = 10 log Ŝx[m] [db]. (4) Průběh dílčího periodogramu a vyhlazeného výkonového spektra jsou na obrázku 1 uvedeny v tomto logaritmickém měřítku. 2.2. Intervaly spolehlivosti Posloupnost vzorků EEG signálu x[n] lze považovat za normálně rozdělenou, proto také její Fourierova transformace (reálná i imaginární část) je normálně rozdělena, neboť se jedná o transformaci lineární [5]. Rozdělíme-li vstupní posloupnost x[n] na K úseků, sčítáme při průměrování K náhodných veličin s χ 2 2 rozdělením. Vyhlazený odhad má proto χ 2 d rozdělení o d = 2K stupních volnosti. Interval spolehlivosti pro vyhlazený odhad výkonové spektrální hustoty je definován vztahem Pr { dŝx[m] χ 2 d; 1 α 2 S x [m] dŝx[m] χ 2 d; α 2 } = 1 α, (5) kde Pr{ } označuje pravděpodobnost jevu ve složené závorce, d = 2K je počet stupňů volnosti a α je hladina významnosti určující, s jakou pravděpodobností se skutečná hodnota S x [m] bude vyskytovat mimo spočtený interval (obvyklé hodnoty α jsou 0,01, nebo 0,05). Symboly χ 2 d; a χ 2 α d; 1 představují kritické hodnoty χ 2 rozdělení s d stupni volnosti α 2 2 na hladině významnosti α, které jsou tabelovány. 2 Vztah (5) vyjadřuje interval spolehlivosti pro jednu frekvenční čáru. Pro výkonové spektrum vyjádřené v decibelech (logaritmickém měřítku) podle rovnice (4) je interval pro všechny kmitočty shodný. Je popsán rovnicí [5] { } d Pr Ŝ xdb [m] + 10 log S xdb [m] ŜxdB[m] d + 10 log = 1 α. (6) χ 2 d; 1 α 2 χ 2 d; α 2
60 Lukáš Svoboda 2.3. Parametry výpočtu Vlastnosti odhadu výkonové spektrální hustoty výrazně závisí na volbě parametrů jako je délka segmentu a typ váhovacího okna, překryv mezi segmenty či počet diskrétních frekvencí, pro které se PSD počítá. Hodnoty parametrů byly stanoveny tak, aby odhad PSD vyhověl několika protichůdným požadavkům: vysoké frekvenční rozlišení PSD, co nejmenší pronikání energie mezi sousedními spektrálními čarami, potlačení složek, jejichž frekvence není celočíselná (jako základní jednotku uvažujeme 1 Hz), úzký interval spolehlivosti. Parametry použité při naší analýze shrnuje tabulka 1: Vstup Parametry Výstupy sig nfft Fs win over p spc conf f se stim. 1024 1024 hamming(1024) 0 1 513 1 513 bez stim. 1024 1024 hamming(1024) 0 0,95 1 513 2 513 1 513 Tabulka 1: Vstupní parametry a výstupní veličiny při výpočtu PSD Význam symbolů je následující: nfft počet diskrétních frekvencí, v nichž je výkonová spektrální hustota počítána. Číslo je vhodné volit jako mocninu dvojky, nejlépe shodně s délkou segmentu, aby při výpočtu FFT nedocházelo k jeho doplňování nulami. Pro reálný vstupní signál, jímž EEG záznam je, má pak výsledné spektrum délku n F F T 2 + 1. Fs vzorkovací frekvence vstupního signálu v hertzech. Na výpočet PSD nemá žádný vliv, slouží však k přepočtu normované frekvenční osy na kmitočty odpovídající skutečnému frekvenčnímu rozsahu signálu. win váhovací okno, jímž je segment signálu násoben. Důvodem je potlačení pronikání energie jedné spektrální složky do složek sousedních, které by snížilo kontrast mezi jednotlivými spektrálními čarami. Váhování tento nežádoucí jev zmírní, ovšem za cenu snížení rozlišovací schopnosti (míra poklesu frekvenčního rozlišení závisí na zvoleném typu okna). over překryv mezi sousedními segmenty. Musí být menší než délka okna. Částečně eliminuje vliv použití váhovacích oken a zvyšuje počet průměrovaných dílčích modifikovaných periodogramů. Je-li nenulový, není možné přesně spočítat interval spolehlivosti. p představuje požadovanou pravděpodobnost, se kterou se skutečné hodnoty výkonové spektrální hustoty náhodného signálu mají vyskytovat ve spočteném intervalu spolehlivosti conf. Platí p = 1 α, kde α je hladina významnosti (typicky α = 0,05 nebo α = 0,01).
Lukáš Svoboda 61 3. Výsledky Výkonové spektrum je z hlediska vlivu míšní stimulace na aktivitu mozku nejdůležitějším ukazatelem. Podává mám informace o tom, do kterých elektrod se stimulací vybuzená aktivita šíří a kde se projevuje nejsilněji. Na frekvenčních průbězích vidíme, zda při SCS vznikají také vyšší harmonické složky a zda se skutečná hodnota stimulačního kmitočtu shoduje s deklarovanou, případně jak se liší. Tabulka 2 uvádí pro každého pacienta hodnotu použitého stimulačního kmitočtu, frekvenci zjištěnou ze spočtených výkonových spekter a číslo elektrody s maximálním rozdílem mezi PSD se stimulací a PSD bez stimulace na zjištěném kmitočtu. Číslo pacienta A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 Stim. kmitočet deklarovaný [Hz] 60 45 100 60 100 85 85 85 85 65 Stim. kmitočet zjištěný [Hz] 62 45 89 29 83 84 84 64 Číslo elektrody 50 50 37 50 38 51 50 37 50 77 Tabulka 2: Deklarované a zjištěné hodnoty stimulačního kmitočtu a elektrody s nejvyšším výkonovým rozdílem na této frekvenci Nejvíce byl nárůst výkonu při SCS patrný na výkonových spektrech pacientů A01, A02, A07 a A08. Naopak žádný významný rozdíl se nepodařilo nalézt na PSD záznamů pořízených od pacientů A05 a A09, kde buď míšní stimulace korové oscilace nevybudila, nebo se tato aktivita v EEG záznamech neprojevila natolik, aby ji bylo možné považovat za statisticky významnou. Problematické bylo také hodnocení výkonového spektra u pacienta A03, neboť deklarovaná stimulační frekvence 100 Hz může interferovat s druhou harmonickou složkou síťového rušení. Totéž může nastat u již zmíněného pacienta A05. Na obrázku 2 jsou zachyceny výkonové spektrální hustoty prostorově filtrovaných EEG signálů z elektrod uvedených v posledním řádku tabulky 2 pro interval frekvencí 10 150 Hz a prvních pět pacientů. Modře je vykreslena výkonová spektrální hustota EEG bez přítomnosti stimulace, zeleně její interval spolehlivosti a červeně výkonové spektrum při zapnuté SCS. Deklarovaný stimulační kmitočet je naznačen černou tečkovanou čárou. Frekvenci, na níž došlo k maximálnímu nárůstu výkonu při SCS, označuje červená šipka. U pacientů A03, A06 a A10 byly jako významné zvoleny kmitočty blízké stimulačnímu, na nichž při SCS došlo ke zvýšení výkonu nad interval spolehlivosti PSD bez stimulace. Rozdíl PSD se stimulací a bez ní, třebaže je z tohoto pohledu statisticky významný, však v těchto případech dosahuje jen velmi malých hodnot. Nelze proto s jistotou tvrdit, že je důsledkem SCS, jelikož mohl vzniknout například celkovým vzájemným posunem spekter či vlivem šumu. Příčinou mohl být také vyšší rozptyl hodnot PSD se stimulací, které pak snadno přesáhnou interval spolehlivosti spočtený z PSD bez stimulace (jejíž rozptyl může být menší). 3.1. Povrchové mapy PSD Na obrázku 3 jsou povrchové mapy spočtené průměrováním map rozdílové výkonové spektrální hustoty všech deseti pacientů na zjištěném stimulačním kmitočtu f stim a nejbližších okolních frekvencích f stim 1, f stim + 1. Jsou důkazem toho, že korové oscilace vznikající
62 Lukáš Svoboda Obrázek 2: Výkonová spektra s nejvyšším rozdílem výkonu na zjištěném stimulačním kmitočtu pacienti A01 až A05 jako důsledek SCS jsou u jednotlivých pacientů lokalizovány shodně v oblasti pod elektrodami 37, 50, 51 a 63. Hodnoty rozdílu nacházející se v intervalu spolehlivosti, tedy statisticky nevýznamné, byly vynulovány. Jediným vážnějším nedostatkem PSD je neschopnost potlačit širokopásmové typy rušení, které zasahují všechny frekvence a výkonový rozdíl vyvolaný SCS (zvláště při vyšších stimulačních kmitočtech, které mají menší energii) v nich může snadno zaniknout.
Lukáš Svoboda 63 Obrázek 3: Průměrné povrchové mapy rozdílových výkonových spekter pro zjištěný stimulační kmitočet a dvě nejbližší okolní frekvence průměr všech pacientů 4. Statistická významnost rozdílů mezi PSD se stimulací a bez ní ve skupině všech pacientů K ověření statistické významnosti předpokladu, že míšní stimulace vyvolá u většiny pacientů na stimulačním kmitočtu zvýšenou elektrickou aktivitu některých částí mozkové kůry, byl použit párový t-test. Vstupní data jsou uvedena v tabulce 3. Číslo pacienta Frekvence f stim [Hz] Číslo elektrody Výkonová spektrální hustota [db] S s S n S s S n A01 62 50 6,213519 4,001903 10,215421 A02 45 50 18,169980 2,738629 15,431351 A03 89 37 6,691207 8,311514 1,620307 A04 29 50 7,867134 4,006663 3,860471 A05 38 0,932345 2,290253 1,357909 A06 83 51 0,749472 1,280231 2,029703 A07 84 50 1,291417 4,073170 2,781754 A08 84 37 2,540490 2,944647 5,485138 A09 50 3,035791 2,664648 0,371143 A10 64 77 1,050898 0,190503 0,860395 Tabulka 3: Maximální výkonové rozdíly na stimulačním kmitočtu pro jednotlivé pacienty Vysvětlivky k tabulce: Frekvence f stim je kmitočet, na kterém byl (na uvedené elektrodě) u každého z pacientů zjištěn největší výkonový rozdíl S s S n mezi spektrálním výkonem se stimulací S s a bez stimulace S n. Normální rozdělení hodnot náhodných výběrů S s a S n bylo ověřeno pomocí Lillieforsova testu normality na hladině významnosti 1 %. Nulovou hypotézou bylo tvrzení, že ve výkonech EEG při stimulaci a bez ní není rozdíl, tedy H 0 : µ = 0, alternativní hypotézou tvrzení, že při stimulaci výkon narůstá, tedy H 1 : µ > 0, kde µ = µ s µ n je rozdíl (skutečných) středních hodnot veličin reprezentovaných náhodnými výběry ve čtvrtém a pátem sloupci tabulky 3. Hladina významnosti testu byla zvolena α = 0,05, počet stupňů volnosti je d = 9 (počet pacientů minus jedna).
64 Lukáš Svoboda Výběrový průměr výkonového rozdílu přes všechny pacienty (hodnoty v posledním sloupci tabulky 3) je M = 4,32713 [db]. Výběrový rozptyl těchto hodnot S 2 = 24,1596 [db2 ]. Testová statistika má hodnotu T = 2,78391. Kritická hodnota kvantilu Studentova t-rozdělení je t c = 1,83311. Protože T > 1,83311, zamítáme nulovou hypotézu ve prospěch hypotézy alternativní na hladině významnosti 5 %. Lze tedy tvrdit, že nárůst výkonu EEG při stimulaci je v rámci celé skupiny pacientů účastnících se studie statisticky významný. 5. Závěry Dosažené výsledky a jejich praktický přínos lze shrnout do několika bodů: Bylo zjištěno, že EEG signály nasnímané při SCS vykazují na stimulačním kmitočtu u osmi z deseti pacientů signifikantní nárůst výkonu na elektrodách v centrální mediální oblasti skalpu. Statistická významnost výkonového rozdílu v rámci skupiny všech pacientů byla potvrzena pomocí t-testu na hladině významnosti 5 %. Výsledky prokázaly, že vznik indukovaných rytmů v primární senzomotorické kůře odpovídající dolním končetinám má přímou souvislost s elektrickou míšní stimulací. Získané poznatky lze využít k optimalizaci hodnoty stimulačního kmitočtu a k zpřesnění polohy pro implantaci stimulační elektrody tak, aby došlo k vybuzení oscilací pouze v těch centrech, která somatotopicky souvisí s částmi těla postiženými bolestí. Poděkování Tento výzkum byl podporován z grantu GAČR 102/03/H085 Modelování biologických a řečových signálů, IGA MZ ČR NR 8287-3/2005, Počítačová analýza řečového projevu a celonočních EEG záznamů u dětí, resp. výzkumného záměru MŠMT MSM6840770012 Transdisciplinární výzkum v biomedicínském inženýrství 2. Reference [1] Bendat, J. S.; Piersol, A. G. Random Data: Analysis and Measurement Procedures. John Wiley & Sons, New York, 1971. [2] Hautvast, R. W.; et al. Relative changes in regional cerebral blood flow during spinal cord stimulation in patients with refractory angina pectoris. The European Journal of Neuroscience (1997), 1178 1183. [3] Kiriakopoulos, E. T.; et al. Functional magnetic resonance imaging: A potential tool for the evaluation of spinal cord stimulation: Technical case report. Neurosurgery (1997), 501 504. [4] Kozák, J.; et al. Metodické pokyny pro farmakoterapii akutní a chronické nenádorové bolesti. Bolest časopis pro studium a léčbu bolesti (2004), 9 18. [5] Sovka, P.; Uhlíř, J. Číslicové zpracování signálů. Vydavatelství ČVUT, Praha, 2002.
Pavel Štemberk 65 Konstrukce rozpoznávače řeči s použitím AT&T nástrojů Pavel Štemberk České vysoké učení technické v Praze, Fakulta elektrotechnická stemberk@gmail.com Abstrakt: Příspěvek se zabývá konstrukcí rozpoznávače mluvené řeči s použitím konečných automatů. Práce je rozdělena do tří částí, tak jak byla chronologicky vyvíjena činnost na pracovišti katedry teorie obvodů. První částí je vlastní rozpoznávání, máme-li hotovou rozpoznávací sít ve tvaru AT&T FSM, druhou srovnání rozpoznávače vytvořeného autorem tohoto příspěvku s jinými a poslední část se zabývá jazykovým modelováním na bázi morfologických kódů. Práce tak shrnuje autorovu činnost po dobu jednoho kalendářního roku. 1. Úvod Rozpoznávání řeči pomocí konečných stavových automatů je v současné době doménou společnosti AT&T, která dává své nástroje v binární formě k vědeckým účelům volně k dispozici [5, 6, 2]. Nebudeme se zde zabývat vlastní problematikou konečných automatů [3, 4], ale již konkrétní aplikací hotové rozpoznávací sítě (H C L G, resp. H L G) na vstupní promluvu a v poslední kapitole vytvořením sítě reprezentující jazykový model - G. Základní výhoda reprezentace rozpoznávací sítě překladovým konečným automatem spočívá v možnosti optimalizace této sítě. Na obr. 1. je na příkladě jednoduché gramatiky (uniformní rozdělení slov ano, ani, lano záměrně vybraných díky jejich dobrým možnostem optimalizace) zobrazena základní výhoda v použití WFST jako rozpoznávací sítě. 2. Konstrukce rozpoznávače na bázi WFST Základem je Viterbiho algoritmus [9], který aplikujeme na danou rozpoznávací sít (vstup by měl být na úrovni stavů). Podrobněji byl tento algoritmus popsán v [12], jeho modifikace pro komplexní sít lze nalézt i v [8]. V základních bodech by se algoritmus dal popsat nějak takto: pro procházení rozpoznávací sítě je použit algoritmus hledání do šířky (Breadth- First) [10], přičemž epsilon přechody jsou řešeny algoritmem hledání do hloubky (Deepth-First) algoritmus založen na generování hypotéz pro vybrané stavy a segmenty řeči
66 Pavel Štemberk a:ani/3 4 n:<eps>/0 5 i:<eps>/0 6 <eps>:<eps>/0 7 <sil>:<sil>/0 <eps>:<eps>/0 0 1 <sil>:<sil>/0 2 <eps>:<eps>/0 3 a:ano/4 l:lano/5 13 9 a:<eps>/0 n:<eps>/0 14 10 n:<eps>/0 o:<eps>/0 15 11 o:<eps>/0 <eps>:<eps>/0 16 12 <eps>:<eps>/0 <sil>:<sil>/0 17 <sil>:<sil>/0 8/0 autlg.fst <sil>:<sil>/0 0 2 a:<eps>/2.686 l:lano/5 4 3 a:<eps>/0 n:<eps>/5.984 7 n:<eps>/0 5 8 i:ani/0.313 o:ano/1.313 o:<eps>/0 6 <sil>:<sil>/0 1/0 autolg.fst Obrázek 1: Ukázka neoptimalizované (nahoře) a optimalizované (dole) L G sítě pro slova ano, ani, lano hypotézy jsou pro každý segment seřazeny dle jejich hodnot (nalezených pomocí součtu pravděpodobností mixtur vektoru příznaků v distribučních funkcích vícerozměrného normálního rozdělení [9, 11]) a následně podle kritérií prořezávání ponechány jen ty nejdůležitější proces se takto opakuje dokud není dosažen poslední segment reprezentovaný vektorem příznaků vstupní promluvy Na obr. 2. je vidět základní princip procházení rozpoznávací sítě. Mimo jiné odtud plyne, že pokud máme alespoň 2 přechody z každého stavu, potřebujeme generovat alespoň 2 1 00 = 1, 27 10 3 0 hypotéz! Taková pamět která by udržela takto obrovské množství informací však neexistuje, a tak se používá prořezávání při rozpoznávání. V popisovaném algoritmu se používají celkem 3 druhy prořezávání: 1. zachování N-nejlepších hypotéz pro stejný cílový stav - např. pro hypotézy s cílovými stavy 1,2,2,3,2,3,3,4,5,6 vznikne pro N=1 set hypotéz s cílovými stavy 1,2,3,4,5,6 2. stanovení maximálního počtu hypotéz pro daný segment - rozumné rozmezí takto generovaných hypotéz (seřazených od nejvýhodnější k nejhorší) je cca 300-10000 3. svazkové prořezávání - z angl. beam pruning - volíme rozmezí pravděpodobnosti, kde seřazené hypotézy pro daný segment akceptujeme. Tento parametr bývá v rozpoznávačích volitelný a bude použit i v grafech popisující výsledky rozpoznávání této práce. 3. Srovnání rozpoznávačů Pro trénování HMM modelů trifónů byla použita kompletní databáze SPEECON dospělých osob. Ta zahrnuje 590 osob, cca 300 hodin zanotovaných promluv (fs=16 khz) a nahrávky ze 4 mikrofonů. Pro trénovaní byl vybrán mikrofon s největším SNR. Pro parametrizování dat byla zvolena délka segmentu 32ms, dále bylo použito 12 Mel-kepstrálních koeficientů + energetický koef. + 13 jejich delta a 13 akceleračních koeficientů [11]. Testovací množina dat byla vybrána databáze TEMIC2 (celá databáze nahrávaná v
Pavel Štemberk 67 5 0 1 2 3 4 1 6 5 0 1 2 3 4 1 2 6 5 0 1 2 3 4 1 2 2 3 6 5 0 1 2 3 4 1 2 2 3 2 3 3 4 5 6 6 5 0 1 2 3 4 6 Obrázek 2: Způsob vytváření jednotlivých hypotéz v rozpoznávací síti různých vozidlech), kde byly vybrány pouze položky s vypnutým motorem automobilu - celkem testováno 560 osob. Jako rozpoznávače byly použity následující [14]: HTK rozpoznávač HVite [11] AT&T rozpoznávač z DCD nástrojů drecog [6], který je možné používat pro rozpoznávací sítě typu CLG, resp. LG i pro sítě HCLG, resp. HLG. Markovovy modely pro tento nástroj byly vytvořenu pomocí programu rct rozpoznávač implementovaný v programu rct. Ten dokáže používat nijak neupravované HTK HMM modely díky implementovaným HTK knihovnám Obr. 3. ukazuje výsledky rozpoznávačů pro 38 různých slov (číslovek). Celkem se rozpoznávalo 1415 vět. Programy HVite i drecog pro HCLG sít dávají podobné (nejlepší - cca 70%) výsledky. Program rct zatím díky jeho jednoduchosti nevykazuje příliš dobré výsledky. Stojí za povšimnutí rozpoznávací časy nasycení (další zvyšování hodnoty svazkového prořezávání nemá vliv na dobu ani na skóre rozpoznávání) rozpoznávačů. U program rct tuto hodnotu nebylo možné zjistit. Výsledná skóre rozpoznávání se mohou zdát malá, nicméně je na místě upozornit na úplně jinou databázi, kde jsou navíc použity 2 typy mikrofonů (pouze jeden je tzv. close talk ) a žádná úprava příznaků není použita. Později bylo prokázáno, že výběr pouze close talk mikrofonu a kepstrální normalizace příznaků na celkový průměr trénovacích dat [11] výrazně zlepší rozpoznávací skóre (konkrétně z 15% na 40% pro cca 900 slov a monofóny - 32 mitures).
68 Pavel Štemberk TEMIC2, engine off, bh items (numerals), 38 various words WORDS SENT. = 11531 1415 90 600 HVite (score) 80 drecoghclg (score) drecogclg (score) rct V (score) 500 70 HVite (pruning) drecoghclg (pruning) 60 drecogclg (pruning) rct V (pruning) 400 correct words [%] 50 40 30 300 200 pruning [ ] 20 10 0 0 200 400 600 800 1000 1200 1400 time [sec] 100 0 Obrázek 3: Závislost úspěšnosti, resp. koeficientu prořezávání na době rozpoznávání pro jednotlivé rozpoznávače 4. Morfologické kódy pro český jazykový model Vygenerování jazykového modelu je možné provést pomocí nějakého trénovacího textu a vhodnými nástroji [1, 2]. Za určitou dobu bylo použito několik postupů vytvoření jazykového modelu a to na úrovni historií levých kontextů slov, slabik, morfémů, či morfologických kódů [13]. Právě idea klasifikace slov na slovní druhy (plus pád číslo a rod u ohebných slovních druhů) se stala motivací pro vytvoření jazykového modelu [7]. Pro nalezení morfémů, resp. kořenů a koncovek byla použita databáze KRÁLÍK, která obsahuje cca 32K vět a 70K slov a má následující textový formát. řidičem 110117 řidič 42+02 912 2010439 může 5231 1 moci 21 2010440 být 527 1 býti 41_01 2010441... atd.... Pět sloupců má následující význam (zleva): Slova skládající věty, morfologický kód, základní tvary, informace o větných členech včetně skladby věty a počítadlo. Základní ideou pro použití této databáze v jazykovém modelování je nalézt vzory pro ohebné tvary slov, tedy množiny slov se stejnými koncovkami ve všech pádech popř. i rodech 1. Vznikl tak algoritmus nalezení vzorů dle stejných koncovek daných slov a rozdělení slov dle těchto vzorů. Základním kritériem pro zařazení daného slova do skupiny se stejnými koncovkami je alespoň 7 tvarů ze 14 (skupina všech pádů pro jednotné i množné číslo) jakéhokoliv rodu. #NOUNS <MODELS> 184 ůkol 0 u u 0 _ u em y ů ům y _ eh y délka ka ky ce ku ko ce kou ky ek kám ky ky káh kami... atd... <WORDS> 1320 vývoz 110211 5 ůkol škodovka 110321 6 délka... atd... #ADJECTIVES <MODELS> 103 jiný ý ého ému ého _ 0 ém í ýh ým é 0 0 ými 1 Pro slovesa bude určeno odlišné řazení do skupin dle vzorů
Pavel Štemberk 69 jiný ý ého ému ý _ ém ým é ýh ým é _ ýh ými jiný á é é ou _ é ou é ýh ým é _ ýh ými jiný é ého ému é _ ém ým á ýh ým á _ ýh ými první 0 ho 0 ho 0 0 m 0 H 0 0 mi první 0 ho mu 0 _ m m 0 H 0 0 _ H mi první 0 0 0 0 _ 0 0 0 H 0 0 _ H mi první 0 ho mu 0 _ m m 0 H 0 0 _ H mi... atd... <WORDS> 1425 nyplový 23 222 6 jiný nespolehlivý 23 222 11 jiný konkurenční 22 227 11 první... atd... zdůrazňovati uji uješ uje _ oval ujeme _ ují ovat ovali zdůrazňovati _ uj _ ován oval _ zdůrazňovati _ ována ovala _ ovány ovaly zdůrazňovati _ ováno ovalo _ najíti jdu jdeš jde šel šel jdeme jdete jdou jít šli najíti _ jdi šel _ jděte šly najíti šla _ šly šly najíti _ šlo šlo _... atd... <WORDS> 549 najíti 5151 1 2 najíti vyjíti 5131 1 2 najíti vyjadřovati 5241 1 6 zdůrazňovati... atd... #ADVERBS <UC_WORDS> 1996 nezbytně 66 14 zejména 1104118 311.. atd... #UC_NOUNS <UC_WORDS> 28517 vnitro 110412 1 znění 157416 1.. atd... Samotné morfologické kódy zahrnují pro ohebné slovní druhy slovní druh, číslo, rod a pád v tomto pořadí. Tzn., že např. zájmeno jednotného čísla ženského rodu a 4. pádu by bylo kódováno symbolem pro sg fe n. Pro 4 ohebné slovní druhy, které čeština má tak připadá 56 kódů na jeden druh. Slovesa jsou řazena do 25 skupin, samotný kód pak záleží na následujícím: rozkazovací způsob - slovní druh, číslo, osoba a kód imp ; příklad pro rozkazovací způsob 2. osobu množného čísla je ver pl se imp přítomný čas - slovní druh, číslo, osoba a kód pr ; příklad pro 2. osobu množného čísla je ver pl se pr minulý čas - slovní druh, číslo, rod (činný - trpný) a osoba; příklad pro ženský rod 2. osobu množného čísla trpného rodu je ver pl se pass fe Celkem tak potřebujeme 270 kódů pro libovolný počet slov. Analyzujeme-li morfologickým analyzátorem reprezentovaným pomocí FST (obr. 4.), resp. provedeme kompozici FSA reprezentující danou větu (př. obr. 4.), dostaneme větu reprezentovanou morfologickými kódy (obr. 4.). Odtud již je možné dále postupovat stejně jako v případě samotných slov. 5. Závěry V článku byla popsána činnost na katedře po dobu jednoho roku. V základních bodech je možné shrnout výsledný stav vyvíjeného programu rct jako rozpoznávače mluvené řeči na bázi rozpoznávací sítě v AT&T WFST formátu a Markovových modelů v HTK formátu:
70 Pavel Štemberk stál 0 1 tam 2 samotný 3 vysoký 4 sloup 5 Obrázek 4: Reprezentace věty stál tam samotný vysoký sloup pomocí FSA nahoř e:adv_ tam:adv_ stál:ver_sg_past_mi_ stál:ver_sg_past_ma_ udělal:ver_sg_past_mi_ udělal:ver_sg_past_ma_ opravdový:adj_sg_mi_a_ opravdový:adj_sg_mi_n_ opravdový:adj_sg_ma_n_ samotný:adj_sg_mi_a_ samotný:adj_sg_mi_n_ vysoký:adj_sg_mi_a_ vysoký:adj_sg_mi_n_ vysoký:adj_sg_ma_n_ sloup:nou_sg_mi_a_ sloup:nou_sg_mi_n_ poř ádek:nou_sg_mi_a_ poř ádek:nou_sg_mi_n_ <sil>:<sil> 0 Obrázek 5: Morfologický analyzátor pro několik vybraných slov podařilo se vyvinout jednoduchý rozpoznávač využívající tři druhy prořezávání algoritmus je ve formátu open-source, takže je velmi vhodný pro studijní účely. program je dobrým příkladem použití HTK knihoven pro tvorbu vlastních programů výsledky dle uvedeného srovnání zatím nedosahují srovnatelných skóre rychlostí oproti porovnávaným Tvorba jazykového modelu pomocí morfologických kódů se zdá být nadějnou možností jak modelovat ohebný jazyk jakým je čeština. Nicméně možné tvary slov, mající více jak jeden morfologický kód (např. homonyma ale i slova se stejnými koncovkami pro různé pády) tvoří výsledný morfologický analyzátor nedeterminizovatelným automatem a je tedy potřeba nejdříve vytvořit sít HCL, resp. HL a pak zkomponovat s modelem založeným na n-gramu morfologických kódů. Poděkování Tento výzkum byl podporován z grantů GAČR 102/03/H085 Modelování biologických a řečových signálů, GAČR 102/05/0278 Nové směry ve výzkumu a využití hlasových technologií, AVČR 1ET201210402 Hlasové technologie v informačních systémech, resp. výzkumného záměru MŠMT MSM6840770014 Výzkum perspektivních informačních a komunikačních technologií.
Pavel Štemberk 71 adj_sg_ma_n_ ver_sg_past_ma_ 0 1 ver_sg_past_mi_ adv_ 2 adj_sg_mi_a_ adj_sg_mi_n_ 3 adj_sg_mi_a_ adj_sg_mi_n_ 4 nou_sg_mi_a_ nou_sg_mi_n_ 5 Obrázek 6: Věta stál tam samotný vysoký sloup reprezentovaná morfologickými kódy Reference [1] Allauzen, C., Mohri, M., Roark, B. A general weighted grammar library. [2] Allauzen, C., Mohri, M., Roark, B. Grm library - grammar library. http://www.research.att.com/ fsmtools/grm/. [3] Mohri, M. Finite-state transducers in language and speech processing. Association for Computational Linguistic 23 (1997), 2. [4] Mohri, M., Pereira, F. Weighted finite state transducers in speech recognition. Computer Speech and Language 1 (2002), 69 88. [5] Mohri, M., Pereira, F., Railey, M. At&t fsm library - finite-state machine library. http://www.research.att.com/ fsmtools/fsm/. [6] Mohri, M., Railey, M. Dcd library - speech recognition decoder library. http://www.research.att.com/ fsmtools/dcd/. [7] Nouza, J., Nouza, T. A voice dictation system for a million-word czech vocabulary. Proc. of ICCCT 2004, Austin, USA, ISBN 980-6560-17-5. 1 (2004), 142 152. [8] Psutka, J., Muller, L., Matoušek, J., Radová, V. Mluvíme s počítačem česky, 1. ed. Academia, středisko společných činností AV ČR, ISBN 80-200-1309-1, 2006. [9] Rabiner, L. R.; Juang, B.-H. Fundamentals of Speech Recognition. Murray Hill, New Yersey, USA, 1993. [10] Sedgewick, R. Algoritmy v C, 1 ed. SoftPress s.r.o, ISBN 80-96497-56-9, 2003. [11] Young, S. The HTK Book (for HTK Version 3.2.1), 3.2 ed. Microsoft Corporation, Cambridge University Engineering Department, 2002. [12] [13] [14] Štemberk, P. Speech recognizer construction using the optimized network. In Nové smery v spracování signálov VIII Tatranské Zruby, May 2006. Štemberk, P. At&t fsm & grm knihovny pro rozpoznávání řeči. http://stembep.wz.cz/fsm-howto/grmtools.html. Štemberk, P. Comparison of chosen asrs based on fsm. In POSTER 2006 [CD-ROM] ČVUT FEL Praha, Mar. 2006.
72 Martin Vondrášek Virtuální elektrody v kochleárních implantátech Nucleus 24 Martin Vondrášek České vysoké učení v Praze, Fakulta elektrotechnická vondram3@fel.cvut.cz Abstrakt: Kochleární implantát je elektronické zařízení, které nahrazuje sluchový vjem pacientům s těžkou sluchovou vadou pomocí stimulace sluchového nervu proudovými pulsy. Tento příspěvek se zabývá možnostmi využití virtuálních elektrod v kochleárních implantátech. První y možností je náhrada poškozené elektrody stimulací do sousedních elektrod. Druhá možnost využití virtuálních elektrod je jejich implementace do strategie ACE (SPEAK). 1. Úvod Kochleární implantát [1, 2] je elektronické zařízení zprostředkující sluchové vjemy pacientům s těžkou sluchovou vadou. Sluchové vjemy jsou vyvolávány přímou elektrickou stimulací sluchového nervu proudovými impulsy uvnitř hlemýždě. Algoritmus převodu akustického signálu na sled proudových impulsů je nazýván kódovací strategií. V současnosti jsou firmou Cochlear používány tři typy kódovacích strategií ACE, CIS a SPEAK. Algoritmy implementující kódovací strategie jsou uloženy v řečovém procesoru. Vlastní stimulace je prováděna implantátem, jehož tělo je umístněno na hlavě pod kůží pacienta, přičemž sada elektrod je zavedena do hlemýždě. 2. Virtuální elektroda Možnost vytvoření virtuální elektrody byla potvrzena výzkumem P.C. Loizu [5]. Při tomto výzkumu byl ale použit experimentální implantát, který umožňoval stimulaci do dvou sousedních elektrod dvěma proudovými pulsy současně. Kochleární implantát Nucleus 24 Contour Advance [1] ale tento typ stimulace neumožňuje díky jednomu výstupnímu zesilovači. Výstup tohoto zesilovače je cyklicky přepínán mezi jednotlivé elektrody, proudové pulsy v sousedních elektrodách tak jsou vždy časově posunuté. Předchozí výzkumná práce na katedře teorie obvodů potvrdila, že virtuální elektroda může být úspěšně vytvořena i nonstimultální stimulací sousedních elektrod [6, 7]. Výhodou tohoto způsobu stimulace je možnost nastavení frekvence virtuální elektrody a to buď metodou konstantního stimulačního kmitočtu nebo metodou konstantních amplitud. Praktické ověření na pacientech s kochleárními implantáty potvrdily možnost vytvoření virtuální elektrody a definovaly vlastnosti jednotlivých metod nastavení kmitočtu. Díky jednodušší implementaci a možnosti přesnější nastavení frekvence byla pro další práci vybrána metoda konstantního stimulačního kmitočtu. 3. Náhrada poškozené elektrody Přibližně v deseti procentech případů se stává, že je jedna z intrakochleárních elektrod kochleárního implantátu poškozena během operace nebo má natolik vysokou impedanci že ji nelze použít. Pokud s nefunkční elektrodou sousedí dvě použitelné elektrody, mohly by tyto elektrody nahradit elektrodu nefunkční (obr.1).
Martin Vondrášek 73 Obr 1: Princip náhrady nefunkční elektrody. Pro ověření možnosti náhrady poškozené elektrody byl v Matlabu vytvořen testovací program (obr.2) s použitím Nucleus Matlab Toolboxu [3, 4]. Tento program stimuloval testovaného pacienta dvěmi sekvencemi. První představovala stimulaci do nefunkční elektrody (u testovaného pacienta byla elektroda funkční). Druhá sekvence pak stimulovala sousední elektrody. V případě této sekvence bylo možno měnit amplitudy stimulačních pulsů pro dosažení co nejpodobnějšího sluchového vjemu v porovnání s první sekvencí. Obr 2: Náhrada nefunkční elektrody. Testy s třeni pacienty sice prokázaly možnost vytvoření podobného tónu, ale tento tón měl velmi často nepříjemný bručivý podklad způsobený poměrně velkou vzdáleností mezi stimulovanými elektrodami. Praktický přínos při použití náhrady poškozené elektrody tak může být spíše negativní. 4. Implementace virtuálních elektrod do strategie ACE 4.1 Úvod Použití virtuálních elektrod ve strategii ACE (SPEAK) lze odůvodnit především zlepšením frekvenčního rozpoznání a tím zlepšení sluchového vjemu pacienta s kochleárním implantátem. Ve standardní strategii ACE je řeč zpracovávána 22 filtry (na obr. 3 označeny s v ). Sluchový vjem pacienta je tak teoreticky složen z 22 různých tónů. To je obvykle dostatečné množství pro rozlišení řeči, ale pro rozlišení mluvčího či hudby velni málo.
74 Martin Vondrášek PP 1 PP 1v virtual electrodes setting x[t] electrode 1 segmentation FFT PP 2 energy calculation Band selection LGF channel mapping electrode 22 PP 21v patient setting PP 22 Obr 3: Blokové schéma strategie ACE s virtuálními elektrodami. Pokud mezi každými dvěmi fyzickými elektrodami vytvoříme jedu elektrodu virtuální, dostaneme tak 43 elektrod a 43 různých tónů. Zpracování řeči tak bude probíhat rovněž ve 43 pásmech (obr 3: červeně vykreslené filtry odpovídají virtuálním elektrodám). Pro použití virtuálních elektrod je nutné nastavit základní parametry jako je Threshold a Comfort level. Vzhledem k tomu že je vhodné pro vytvoření virtuální elektrody použít poněkud vyšší stimulační kmitočet než pacient dosud používal, je odvození Threshold a Komfort levelu od hodnot sousedních elektrod nevhodné. Proto byl vytvořen nástroj pro nastavení zcela nové mapy pacienta (obr. 4), která nerozlišuje mezi standardními a virtuálními elektrodami. Virtuální elektrody mají navíc jen nastavení kmitočtu. Design i ovládání tohoto nástroje je odvozen od programu Nucleus R126 který je standardně používán pro nastavení map v procesoru pacienta lékařem. Obr 4: Nastavení nové mapy pacienta. Program pro nastavení nové mapy pacienta je rozdělen do dvou částí. V první části (obr. 4 vlevo) jsou nastavovány základní parametry, v druhé části vpravo pak frekvence banky filtrů a individuální zesílení v každém pásmu. Mapa pacienta je uložena ve standardním souboru *.mat. 4.2 Změny v algoritmu V případě použití virtuálních elektrod je nutné pozměnit některé funkční bloky algoritmu na obr.3. Největší změna je nutná v bloku Band selection. Tento blok v každém segmentu řeči vyhledává několik pásem s největší energií signálu. Informace o těchto pásmech je