Rozpoznávání hlasu v prostředí automatizační techniky
Článek informuje o možnostech využití spektrální analýzy řečového signálu k identifikaci a následné verifikaci osob. Otisk hlasu mluvčího ve formě koeficientů waveletové transformace je získán pro efektivní implementaci algoritmu v signálových řadičích či procesorech určených pro použití v automatizační technice v průmyslu.
1. Principy ověřování identity osob
U současných řídicích systémů se lze setkat s mnoha různými způsoby jejich ochrany před neoprávněným přístupem. Jsou to zejména nástroje omezující možné použití vstupů a výstupů, které nebývají vždy zcela zabezpečené. V zásadě jsou požadována průmyslová zařízení, která mohou ovládat, a především měnit jejich chování, pouze pracovníci patřící do vybrané skupiny předem prověřených uživatelů. Zamezit přístup neoprávněných osob k zařízení lze mnoha metodami tvořícími základ přístupových systémů, ať již se uplatňují pro prostory nebo pro ovládání samotných zařízení v těchto prostorech. K základním způsobům v současné době patří ověřování identity uživatele. Aparát ověření identity osoby je založen na přítomnosti znaku, který je buď-anebo:
- známý pouze uživateli (např. heslo),
- součástí výbavy (v majetku) uživatele (uživatel má např. autentizační předmět),
- charakteristikou vlastností uživatele (např. otisk prstu).
2. Vyšší stupně biometrického ověřování
Spojení alespoň dvou ověřovacích znaků má tu výhodu, že hranice chráněného systému nelze prolomit při odcizení pouze jediného z nich. Obtížné by to mělo být i při odcizení obou. Nadále totiž není zřejmá kombinace těchto dvou prvků ověření znaků či jejich následnost. Ač se kombinací dvou znaků dosáhne větší bezpečnosti, systémoví experti doporučují raději používat třívrstvé ověřování identity: současně něčeho, co známe, něčeho, co máme, a něčeho, čím jsme, tj. biometriky. Biometriky jsou buď měřitelné fyziologické vlastnosti, nebo se týkají chování. V první fázi lze identifikovat, který ze skupiny mluvčích hovoří, pak jej verifikovat – zjistit, zda člověk, který prohlašuje, že je pan Novák, jím skutečně je. Klasifikovat mluvčího lze např. i podle věku, pohlaví a jiných charakteristik. Z pohledu biometrie se automatizovaně zjišťují a porovnávají jedinečné biologické charakteristiky uživatelů s obrazy (otisky) těchto charakteristik uloženými v ověřovacím systému. Dobré heslo a stejně i vhodný předmět musí splnit stanovená a obecně přijatelná pravidla, která musí být možné pro případ odcizení nebo pro dosažení větší bezpečnosti často zaměňovat, avšak biometrické charakteristiky nelze nahradit či přenést, alespoň při odhlédnutí od úprav náležejících do oblasti plastické chirurgie.
Nejčastěji používanými biometrickými charakteristikami jsou otisky prstů, tvar ruky či obličeje, hlas, podpis, obraz oční sítnice, obraz oka nebo jen oční duhovky, z dalších např. rozložení cév v ruce či dynamika úhozů do klávesnice. Biometriky lze identifikovat i verifikovat. Při vstupu na území USA se běžně používá kromě identifikace otiskem prstu i verifikace podle obličeje. Identifikaci zajistí tvar obličeje a poloha opticky významných míst na tváři (oči, nos, ústa). Obraz v počítači je diskriminován určitou kompresní funkcí – neukládá se přesná poloha očí a nosu, ale třeba jen vzdálenost očí, rtů od nosu, azimut spojnice špičky nosu s jedním okem apod. Systémy založené na rozpoznávání obličeje však měly v praxi doposud jen omezený úspěch.
Verifikace prostřednictvím lidského hlasu je elektronická metoda pozitivní identifikace osoby pomocí rozšířené analýzy otisku hlasu. Tvar hlasivek, ústní dutiny, jazyka a zubů způsobují odlišnost rezonancí vokálního traktu jednotlivých osob. Úspěšná je technika porovnávání vzorků analyzované řeči. Dynamické, stejně jako okamžité spektrální znaky zřejmě hrají významnou roli ve vnímání řeči. Verifikovat lze celé věty, slova i menší jednotky, jako jsou slabiky či formanty, projevující se v akustickém spektru samohlásek jako řada vyšších zesílených tónů. Z hlediska vnímání řeči jsou pro každou samohlásku nejdůležitější první dva až tři formanty. K rozpoznání řečníka lze tedy s výhodou použít právě spektrální analýzu těchto formantů; o tom pojednává tento článek. Vyššího stupně ověřování může být dosaženo i v bezpečnostních hlasových učících se systémech automatizovaně vylepšujících obsah reprezentativních dat. Ovládání automatu, bankovní hlasová samoobsluha nebo automatizovaná inteligentní ústředna telefonního operátora jsou dalšími příklady stále se rozvíjejících automatizačních systémů s potřebami rozpoznání identity – a proč ne hlasem?
3. Paketové rozklady a vlnky (wavelets)
Zpracovávat signály lze v časové nebo frekvenční oblasti, popř. je možné tyto dvě vhodně kombinovat. V předcházejícím textu byl již naznačen záměr využít krátkodobé charakteristiky, které jsou výhodné pro číslicové zpracování. Využívá se výpočet energie, intenzita, čítání pulsů, autokorelační funkce, ve frekvenční oblasti záměrně navolené transformace, zejména Fourierovy, v současné době běžně obsažené v odpovídajících sadách softwaru.
Obr. 1. Jeden krok rozkladu (vlevo) a vlnkový rozklad na aproximace a detaily (vpravo)
Vyšším stupněm zpracování je např. paketový rozklad nebo jeho podmnožina ve formě tzv. vlnkové analýzy (wavelet analysis). Fourierova transformace sice poskytuje informaci o tom, které frekvence se v signálu nacházejí, nevypovídá ale nic o jejich umístění v čase. Z časově konstantně širokého okna lze určovat spektrum s velkou rozlišitelností ve frekvenci, avšak s malou v čase, a naopak při časově úzkém okně je velké rozlišení v čase a malé ve frekvenci. Myšlenka vlnkové transformace (wavelet transformation) vychází z vhodné změny šířky okna v čase a volby jeho tvaru tak, aby bylo dosaženo optimálního poměru rozlišitelnosti současně ve frekvenci i v čase [3]. Diskrétní vlnková transformace díky ortonormální bázi mateřských Haarových funkcí umožňuje vhodně dekomponovat signál s použitím dolních a horních propustí se ziskem počtu koeficientů aproximací a detailů úměrným hloubce rozkladu s vhodně začleněným podvzorkováním signálu. Způsob, jakým se získají koeficienty, tzv. decimace, je naznačen na obr. 1.
Waveletový rozklad signálu je jen malou podmnožinou rozkladů ve frekvenčním pásmu. Každá aproximace je rozdělena na novou aproximaci a detail další úrovně, celý proces se pak opakuje až do požadované hloubky, resp. postačujícího rozlišení ve frekvenční oblasti. Pro n-úrovňovou dekompozici existuje však n+1 možných způsobů rozkladu a zakódování signálu. Zobecněním se získá mnohočetný rozklad, nabízející bohatší možnosti rozboru signálu, kde se nerozkládají pouze aproximace, ale i detaily, a to buď do úplného rozkladu stromu (s počtem 22n+1 rozkladů) nebo do vhodně zvolené úpravy zaměřené na podoblasti s očekávaným výskytem signálu pro přesnější lokalizaci frekvencí.
Filtraci je možné využívat k odstranění nežádoucího šumu, maskování řečníka nebo k odbourání některých prozodických příznaků řeči. Může také usnadnit identifikaci formantů často se vyskytujících hlásek u zarušeného signálu řeči; navíc samohlásky znějí jinak, jsou-li vysloveny na začátku, uprostřed či na konci slova.
4. Signálové řadiče a procesory k rozpoznávání řeči
Pro předkládaný náročnější matematický aparát je třeba správně vybrat i jádro zpracovávající data v reálném čase se snahou najít jednodušší a na velikost paměti méně náročný způsob identifikace a následné verifikace řečníka. Výhodný se jeví vestavný signálový procesor (Digital Signal Controller – DSC) jako základna pro provádění šestnácti- i 32bitových operací. Jistěže lze nalézt výkonnější jednotky typu VLIW (Very Long Instruction Word), architektury paralelního či zřetězeného zpracování nebo stále častěji zmiňované stroje typu ARM (Advanced RISC Machine) [5], ale využijí se ještě efektivně a plně? Především potřebná je právě dříve zmiňovaná filtrace, přičemž na jádrech DSC lze naprogramovat číslicové filtry typu FIR, FFT i další operace potřebné pro paketový rozklad. Autorem preferovaná jádra procesorů DSP56800E společnosti Freescale mají oproti klasické DSP struktuře též typické vlastnosti MCU (Microcontroller Unit) co do instrukcí testování dat v různých pamětech, zásobnících i registrech; označují se též jako hybridní jádra.
5. Návrh vlastního řešení rozpoznávání řečníka
Na základě výsledků rozboru uvedeného v předchozích kapitolách lze vytvořit reprezentativní otisky hlasu např. tří mluvčích v podobě kompresní databáze koeficientů spektrální analýzy, která obsahuje pro každého z mluvčích alespoň tři prvky, s následnou identifikací a verifikací mluvčího na základě promluvy versus rozpoznání nového řečníka či nerozpoznání známého mluvčího s maskovaným zabarvením hlasu. Automatická segmentace toku dat v reálném čase je tvořena analýzou oken signálu, rozčlenění hlásek je dáno vhodným paketovým rozkladem, zde vlnkovým, a formantové kmitočty těchto paketů jsou porovnány s výsledkem identifikace mluvčího. Verifikace pak probíhá jako porovnání sledu paketů hesla tvořeného jménem řečníka i jejich formantů na příslušných úrovních rozkladu s dříve uloženou posloupností paketů a formantů hesla daného mluvčího. Rozložení formantů Fx samohlásek ve vlnkovém rozkladu s naznačením rozložených frekvenčních pásem ukazuje obr. 2.
Obr. 2. Analýza českých samohlásek a výskyt jejich prvních dvou formantů v koeficientech vlnkového rozkladu
Příkladem hesla řečníka je text „Zdeněk Kubiczek„ s fonetickým přepisem podtržených hlásek. Pro tvorbu kódové knihy řečníků byly využity fráze speciálně sestavené se zastoupením všech českých samohlásek, a to jak na okrajích slov, tak uprostřed nich – z důvodu přechodů vzájemných fonémových kombinací (s omezením jen na některé z nich), a obvyklé fráze řeči pro identifikaci fonémů mluvčích. Trénovací pětice slov pro záznam otisků pěti hlásek má záměrně výskyt hlásky na začátku, uprostřed a na konci slova: almara, esence, indicii, olovo, utužuju. K identifikaci lze použít např. pozdrav „Dobrý den„. Verifikace může spočívat např. jen v kontrole dodržení sledu hlásek či jen shody identifikace prvních tří nestejných (např. hlásky e, u a i v již zmíněném hesle „Zdeněk Kubiczek„).
Popsaný proces lze shrnout do těchto dvou hlavních (a příslušných dílčích) úloh tvořících osnovu programu pro simulaci v prostředí Matlab i pro aplikaci DSP.
První hlavní úlohou je vytvoření knihy otisků z pěti trénovacích slov a záznamu kódu z kódové věty mluvčího v krocích:
- přepočet rámce signálu na normovaná data, filtrace, přepočet podle základního kmitočtu,
- paketový rozklad rámce a výběr žádaných koeficientů aproximací a detailů,
- vyhledání vrcholů koeficientů paketů ve spektru získaném realizací FFT, a to při použití filtrace v okolí maxim,
- porovnání vrcholů hlásky ze začátku, prostředku a konce slova a uložení otisku hlásky,
- opakování postupu pro všech pět vybraných hlásek pro každého ze tří mluvčích,
- uložení kódu jako sledu hlásek obsažených ve jménu řečníka pro jeho verifikaci.
Druhým hlavním úkolem je analýza nové nahrávky řeči pro identifikaci a verifikaci mluvčího v krocích:
- přepočet rámce signálu na normovaná data, filtrace, přepočet podle základního kmitočtu,
- paketový rozklad rámce a výběr žádaných koeficientů aproximací a detailů,
- vyhledání vrcholů každého koeficientu ve spektru získaném realizací FFT, a to při použití filtrace maxim,
- porovnání získaného se všemi uloženými otisky: při shodě s některým z nich je řečník identifikován,
- lze klasifikovat další atributy řečníka (pohlaví, věkovou kategorii atd.),
- opakování postupu (analýzou celého záznamu řečníka se sestaví sled shod vyslovených hlásek s uloženými otisky),
- porovnání získaného kódu sledu hlásek s kódem řečníka z paměti, čímž je řečník verifikován.
Program je třeba navrhnout s jistou tolerancí odchylek údajů. Vrcholy totiž mohou značně kolísat. Systém realizovaný s použitím vývojové sady MC56F8357EVB s jádrem DSC obsahuje vedle standardních vývodů a konektorů i přidanou část pro tyto experimenty, tj. miniaturní mikrofon s filtrem nastaveným na 8 kHz. Z toho jsou odvíjeny také identifikovatelné kmitočty. Předmětem zájmu je zejména pásmo lidské řeči v rozsahu 100 až 3 500 Hz. Hlas se zaznamenává přes šestnáctibitový A/D převodník se skutečným rozlišením 12 bitů. Úloha se ovládá tlačítky. Data jsou ukládána do externí paměti typu FSRAM a následně zpracovávána tímto šestnáctibitovým jádrem. Vizualizaci a reprezentaci výsledků zajišťují svítivé diody přímo na desce plošného spoje, popř. lze vizualizaci rozšířit využitím funkcí prostředí Freemaster. Program byl realizován převodem utilit z prostředí Matlab do zápisu v jazyce C v prostředí CodeWarrior verze 7.3 s využitím jader Processor Expert a dalších knihoven funkcí, zejména pro filtrace typu FIR, konvoluce a výpočet FFT.
6. Závěr
Hlasová komunikace je velmi častá v denním životě každého z nás. Analýza hlasu je tedy velmi zajímavá biometrická metoda. Význam ověřování hlasu mezi biometrickými technikami spočívá zejména v jeho sociální přijatelnosti. Dalšími vlastnostmi jsou rychlé, spolehlivé a jednoduché použití a nízká cena.
Výhodou fonémů jako základních rozlišitelných hlásek projevu je jejich malý počet. Ve většině jazyků se vystačí s 30 až 50 fonémy. Nevýhodou je, že foném neobsahuje důležitou koartikulační informaci. Vhodně omezený výběr fonémů lze spektrální analýzou dále rozebírat a vyhodnocovat např. s použitím vlnkového rozkladu až do hloubky formantových kmitočtů na jednotlivých subpásmech spektra signálu, jak je uvedeno v článku.
Identifikovat a verifikovat řečníka podle jeho projevu s minimalizovanou režií úvodního trénování systému lze uvedenou metodou při minimálních požadavcích na velikost paměti. Je tedy možné realizovat nenákladné dílčí systémy s použitím současných úsporných technických řešení s číslicovými signálovými řadiči (DSC). Koncepce se hojně využívá u vestavných systémů, kde dílčí moduly mají být samostatné a nevyžadující spolupráci dalších procesorů, jak je tomu např. v oblastech řízení snímání a zpracování obrazu, bezdrátových komunikací, elektrických strojů, v modemech pro přenos dat, ale i v automobilové technice atd.
Popsaná metoda se jeví jako funkční. Zatím však není příliš využívána, možná z důvodu složitějšího výpočetního aparátu či vyššího stupně obtížnosti matematického popisu své podstaty. Nicméně je však jednodušší a mnohem rychlejší oproti metodě mnohonásobného porovnávání odpovídajících si prvků v nemalých souborech jazykových pravidel, kde je zejména obtížné upravovat pravidla či přidávat nová.
Větší hloubka rozkladu paketů a v jejím důsledku větší počet stanovených koeficientů nepřinesly u vlnkového rozkladu řeči větší přesnost. Té by bylo možné dosáhnout použitím jiných způsobů rozkladu, např. rozvinout do dalších úrovní jen koeficienty detailů obsahující více než dvě reprezentace prvních dvou formantových kmitočtů. Stále se objevující nové modely těchto mnohačetných rozkladů poskytnou i v dalších letech množství nových poznatků využitelných v mnoha odvětvích (kriminalistice, lékařství i průmyslu apod.).
Literatura:
[1] KUBICZEK, Z.: Rozpoznání hlasu signálovými procesory v automatizační technice. [Disertační práce.] VŠB-TU Ostrava, 2006.
[2] KUBICZEK, Z.: Beneficial Use of Audio DSP Evaluation Module. Konference IWCITMÍD, R.: Úvod do vlnkové transformace. Syllabus, ČVUT FEL Praha, 2001.
[4] YUDKOWSKY, M.: Voice Biometrics & Application Security – Identification, Verification, and Classification. Dr. Dobb’s Journal, vydání #342, 2002.
[5] SMÉKAL, Z. – SYSEL, P.: Signálové procesory. Sdělovací technika, 1. vydání, Praha, 2006.
[6] SIGMUND, M.: Analýza řečových signálů. 1. vydání přednášek VUT, Brno, 2000.
[7] JANEČEK, T.: Charakteristika biometrického autentizačního procesu. Dostupné na http://www.nula.wz.cz/biometrika, 1998.
[8] EVB documents, datasheets, application notes. Freescale, Inc., dostupné na http://www.freescale.com, 2006.
Ing. Zdeněk Kubiczek, Future Electronics s. r. o. (zdenek.kubiczek@futureelectronics.com)
|