automatyczna tablica okulistyczna w oparciu o mel-cepstralną

79
Międzywydzialowa Szkola Inżynierii Biomedycznej Projekt dyplomowy inżynierski Dorota Blaszczyk Nr albumu: 204312 Agnieszka Gielar Nr albumu: 125603 kierunek studiów: inżynieria biomedyczna Automatyczna tablica okulistyczna w oparciu o mel-cepstralną analizę sygnalu mowy Automatic vision test chart based on the mel-frequency cepstrum analysis of speech signal. Opiekun: dr inż. Jakub Galka Kraków, grudzień 2009

Upload: lamtuyen

Post on 03-Jan-2017

250 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Międzywydziałowa Szkoła Inżynierii Biomedycznej

Projekt dyplomowy inżynierski

Dorota BłaszczykNr albumu: 204312

Agnieszka GielarNr albumu: 125603

kierunek studiów: inżynieria biomedyczna

Automatyczna tablica okulistycznaw oparciu o mel-cepstralną analizę

sygnału mowy

Automatic vision test chart based on the mel-frequency cepstrum analysisof speech signal.

Opiekun: dr inż. Jakub Gałka

Kraków, grudzień 2009

Page 2: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną
Page 3: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Kraków, ....................

Imię i nazwisko: Dorota BłaszczykNr albumu: 204312Kierunek studiów: inżynieria biomedyczna

OŚWIADCZENIE

Oświadczam, świadomy odpowiedzialności karnej za poświadczanie nieprawdy, że ninie-jszy projekt dyplomowy inżynierski wykonałem osobiście i samodzielnie i nie korzystałemze źródeł innych niż wymienione w dokumentacji.

Jednocześnie oświadczam, że dokumentacja projektu inżynierskiego nie narusza prawautorskich w rozumieniu ustawy z dnia 4 lutego 1994 roku o prawie autorskim i prawachpokrewnych (Dz. U. z 2006 r. Nr 90 poz. 631 z późniejszymi zmianami) oraz dóbrosobistych chronionych prawem cywilnym. Nie zawiera ona również danych i informacji,które uzyskałam w sposób niedozwolony. Wersja dokumentacji dołączona przeze mnie nanośniku elektronicznym jest w pełni zgodna z wydrukiem przedstawionym do recenzji.

Zaświadczam także, że niniejszy projekt inżynierski nie był wcześniej podstawą żadnejinnej urzędowej procedury związanej z nadawaniem dyplomów wyższej uczelni lub tytułówzawodowych.

........................................podpis dyplomanta

3

Page 4: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną
Page 5: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Kraków, ....................

Imię i nazwisko: Agnieszka GielarNr albumu: 125603Kierunek studiów: inżynieria biomedyczna

OŚWIADCZENIE

Oświadczam, świadomy odpowiedzialności karnej za poświadczanie nieprawdy, że ninie-jszy projekt dyplomowy inżynierski wykonałem osobiście i samodzielnie i nie korzystałemze źródeł innych niż wymienione w dokumentacji.

Jednocześnie oświadczam, że dokumentacja projektu inżynierskiego nie narusza prawautorskich w rozumieniu ustawy z dnia 4 lutego 1994 roku o prawie autorskim i prawachpokrewnych (Dz. U. z 2006 r. Nr 90 poz. 631 z późniejszymi zmianami) oraz dóbrosobistych chronionych prawem cywilnym. Nie zawiera ona również danych i informacji,które uzyskałam w sposób niedozwolony. Wersja dokumentacji dołączona przeze mnie nanośniku elektronicznym jest w pełni zgodna z wydrukiem przedstawionym do recenzji.

Zaświadczam także, że niniejszy projekt inżynierski nie był wcześniej podstawą żadnejinnej urzędowej procedury związanej z nadawaniem dyplomów wyższej uczelni lub tytułówzawodowych.

........................................podpis dyplomanta

5

Page 6: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Podział zadań w projekcie

Poniższa tabela przedstawia zadania zrealizowane przez autorki ( D - Dorota Błaszczyk,A - Agnieszka Gielar):

Rozdział Zadania Realizacja

Wykaz najważniejszych skrótów i oznaczeń Tekst rozdziału D, A

Streszczenie Tekst rozdziału A

Wstęp Tekst rozdziału D

Proces rozpoznawania mowy

Rejestracja sygnału mowy Tekst rodziału D

Parametryzacja sygnału mowy Tekst rozdziału D (4.2.1-2), A (4.2.3)

Algorytmy rozpoznawania mowy Tekst rozdziału A

Implementacja proponowanego rozwiązania

Architektura aplikacji Tekst rozdziału D

Wyświetlanie znaków na tablicy Tekst rozdziału D

Rejestracja odpowiedźi pacjenta Tekst rozdziału D

Automatyczne rozpoznawanie mowy Tekst rozdziału A

Wynik badania Tekst rozdziału A

Prezentacja działania aplikacji Tekst rozdziału D

Weryfikacja poprawności działania Tekst rozdziału A

Dodatek A: Instrukcja obsługi aplikacji Tekst rozdziału D

Dodatek B: Metody badania ostrości wzroku Tekst rozdziału A

Dodatek C: Spis zawartości dołączonych nośników Tekst rozdziału A

Skala ocen: (6.0 – celująca), 5.0 – bardzo dobra, 4.5 – plus dobra, 4.0 – dobra, 3.5 – plus dostateczna, 3.0 – dostateczna, 2.0 – niedostateczna

Page 7: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Imię i nazwisko: Dorota BłaszczykNr albumu: 204312Kierunek studiów: inżynieria biomedyczna

Merytoryczna ocena projektu inżynierskiego przez opiekuna:

Końcowa ocena projektu przez opiekuna:..............................Data:.............................. Podpis:..............................

Merytoryczna ocena projektu inżynierskiego przez recenzenta:

Końcowa ocena projektu przez recenzenta:..............................Data:.............................. Podpis:..............................

7

Page 8: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Skala ocen: (6.0 – celująca), 5.0 – bardzo dobra, 4.5 – plus dobra, 4.0 – dobra, 3.5 – plus dostateczna, 3.0 – dostateczna, 2.0 – niedostateczna

Page 9: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Imię i nazwisko: Agnieszka GielarNr albumu: 204312Kierunek studiów: inżynieria biomedyczna

Merytoryczna ocena projektu inżynierskiego przez opiekuna:

Końcowa ocena projektu przez opiekuna:..............................Data:.............................. Podpis:..............................

Merytoryczna ocena projektu inżynierskiego przez recenzenta:

Końcowa ocena projektu przez recenzenta:..............................Data:.............................. Podpis:..............................

9

Page 10: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną
Page 11: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Spis treści

1 Wykaz najważniejszych skrótów i oznaczeń 13

2 Streszczenie 14

3 Wstęp 153.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Przegląd dotychczasowych rozwiązań . . . . . . . . . . . . . . . . . . . . . 163.3 Cel i zakres pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Proces rozpoznawania mowy 194.1 Rejestracja sygnału mowy . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Parametryzacja sygnału mowy . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2.1 Opis sygnału w dziedzinie czasu . . . . . . . . . . . . . . . . . . . . 214.2.2 Opis sygnału w dziedzinie częstotliwości . . . . . . . . . . . . . . . 244.2.3 Parametryzacja MFCC . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.3 Algorytmy rozpoznawania mowy . . . . . . . . . . . . . . . . . . . . . . . 294.3.1 Algorytm DTW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.3.2 Ukryte modele Markova . . . . . . . . . . . . . . . . . . . . . . . . 314.3.3 Sieci neuronowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Implementacja proponowanego rozwiązania 365.1 Wyświetlanie znaków na tablicy . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Rejestracja odpowiedzi pacjenta . . . . . . . . . . . . . . . . . . . . . . . . 385.3 Automatyczne rozpoznawanie mowy . . . . . . . . . . . . . . . . . . . . . . 38

5.3.1 Filtracja wstępna . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.3.2 Segmentacja sygnału . . . . . . . . . . . . . . . . . . . . . . . . . . 395.3.3 Parametryzacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.3.4 Nieliniowa transformacja czasowa DTW . . . . . . . . . . . . . . . 43

5.4 Wynik badania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6 Prezentacja działania aplikacji 516.1 Architektura aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.2 Okno główne programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.3 Wprowadzenie danych osobowych pacjenta . . . . . . . . . . . . . . . . . . 556.4 Zapis i wydruk wyniku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576.5 Obsługa błędów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

7 Weryfikacja poprawności działania 607.1 Optymalizacja programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607.2 Wpływ mikrofonu na skuteczność rozpoznawania mowy . . . . . . . . . . . 647.3 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

8 Dodatek A: Instrukcja obsługi 678.1 Wymagania sprzętowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.2 Instalacja aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.3 Uruchamianie programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688.4 Przeprowadzanie badania . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

9 Dodatek B: Metody badania ostrości wzroku 73

11

Page 12: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

10 Dodatek C: Spis zawartości dołączonych nośników (CD-ROM) 75

11 Dodatek D: Spis procedur informatycznych 76

12

Page 13: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

1 Wykaz najważniejszych skrótów i oznaczeń

Lista skrótów:

ANN sztuczne sieci neuronowe (ang. Artificial Neural Networks)ASR automatyczne rozpoznawanie mowy (ang. Automatic Speech Recognition)CWT ciągła transformacja falkowa (ang. Continuous Wavelet Transform)DARPA ang. Defense Advance Research Projects AgencyDBN dynamiczne sieci Bayesa (ang. Dynamic Bayesian Network)DCT dyskretna transformacja kosinusowa (ang. Discrete Cosine Transform)DFT dyskretna transformacja Fouriera (ang. Discrete Fourier Transform)DP programowanie dynamiczne (ang. Dynamic Programming)DTW nieliniowe dopasowanie czasowe (ang. Dynamic Time Warping)DWT dyskretna transformacja falkowa (ang. Discrete Wavelet Transform)FFT szybka transformacja Fouriera (an. Fast Fourier TransformFIR filtr o skończonej odpowiedzi impulsowej

(ang. Finite Impulse Response)GUI graficzny interfejs użytkownika (ang. Graphical User Interface)GUIDE środowisko do budowania graficznych interfejsów użytkownika (ang.

Graphical User Interface Development Environment)HMM ukryte/ukryty (niejawne) model(e) Markova (ang. Hidden Marcov

Model(s))HTK ang. Hidden Marcov models ToolKitIDFT odwrotna dyskretna trasformacja Fouriera (ang. Inverse Discrete Fourier

Transform)IIR filtr o nieskończonej odpowiedzi impulsowej (ang. Infinite Impulse Re-

sponse)k-NN algorytm kalsyfikacji ”k najbliższych sąsiadów”(ang. k Nearest Neighbors )Log MAR minimalna rozdzielczość kątowa (ang. Minimal Angle of Resolution)LP predykcja liniowa (ang. Linear Prediction)LPC współczynniki predykcji liniowej (ang. Linear Prediction Coefficients)MFC współczynniki melowo - częstotliwościowe (ang. Mel - Frequency Coeffi-

cients)MFCC melowo - częstotliwościowe współczynniki cepstralne (ang. Mel - Frequency

Cepstral Coefficients)PRA precyzja rozpoznawania (ang. Phone Recognition Accuracy)PRR ilość poprawnie rozpoznanych fonemów (ang. Phone Recognition Ratio)RMS wartość skuteczna (średniokwadratowa (ang. Root Mean Square))SD system rozpoznawania mowy zależny od mówcy (ang. Speaker Dependent)SI system rozpoznawania mowy niezależny od mówcy (ang. Speaker Indepen-

dent)SNR stosunek mocy sygnału do mocy szumu (ang. Signal to Noise Ratio)SPEC spektrogram (ang. spectrogram)STFT krótkoczasowa transformacja Fouriera (ang. Short - Time Fourier Trans-

form)VA ostrość wzroku (ang. Visual Acuity)WERR ilość błędnie rozpoznanych słów (ang. Word Error Ratio)WRR ilość poprawnie rozpoznanych słów (ang. Word Recognition Ratio)ZCA analiza przejść przez zero (ang. Zero Crossing Analysis)ZCPA ang. Zero Crossing with Pick Amplitudes

13

Page 14: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Lista oznaczeń:

x skalar, zmiennax , x(n) wektor, n-ty element wektoraX zbiór lub macierzx̄ wartość średniax̂ transformata Fouriera sygnału (wektora, funkcji)||x|| norma wektorad(x2, x1) wartość odległości metryki pomiędzy dwoma punktami w przestrzeni topo-

logicznejfp częstotliwość próbkowaniaG wzmocnienieH(z) transmitancja filtra∆t czas próbkowania

2 Streszczenie

Niniejszy projekt inżynierski łączy w sobie system rozpoznawania mowy (ASR, ang.

Automatic Speech Recogniotion) oraz standardowe badanie okulistyczne, jakim jest badanie

ostrości wzroku (VA, ang. Visual Acuity). Praca składa się z 8 rozdziałów. W części

pierwszej, analitycznej (rozdziały od 1 do 4) przedstawiono problematykę automatycznego

rozpoznawania mowy w oparciu o analizę źródeł literaturowych. Część druga, syntetyczna

(rozdziały od 5 do 6) zawiera opis implementacji oraz prezentację działania aplikacji do

badania ostrości wzroku. Program został zrealizoawany przy pomocy pakietu MATLAB.

Algorytm postępowania obejmował następujące etapy: zaprojektowanie i implementacja

interfejsu graficznego w środowisku GUI (ang. Graphical User Interface) oraz zbudowanie

adekwatengo oprogramowania obejmującego m. in. automatyczne rozpoznawanie sygnału

mowy jak również określanie wyniku badania. Rozpoznawanie mowy zostało zrealizwane

dzięki zastosowaniu m. in. wspołczynników melcepstralnych MFCC (ang. Mel-Frequency

Cepstral Coefficients) i nieliniowego dopasowania czasowego DTW (ang. Dynamic Time

Warping). Wynik badania uzyskano stosując ułamek Snellena (w postaci dziesiętnej) dla

wyznaczania ostrości wzroku, a jego interpretację oparto o normę DIN 58220. Natomi-

ast rozdział 7 stanowi część weryfikacyjną projketu i obejmuje omówienie wyników oraz

podsumowanie najważniejszych osiągnięć autorek.

Proponowana automatyczna tablica okulistyczna ATO może stać się narzędziem in-

dywiudalnej kontroli nad jakością wzroku użytkownika.

14

Page 15: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

3 Wstęp

Mowa jest najwygodniejszym, najskuteczniejszym i najbardziej naturalnym sposobem

porozumiewania się. Jest nie tylko wyrazem myśli człowieka, ale stanowi istotne źródło

informacji o cechach osobniczych mówcy, o jego stanie fizycznym i emocjonalnym. Przez

swoją naturalność, proces artykulacji mowy odczytywany jest jako łatwy i prosty. Tym-

czasem w rzeczywistości jest zjawiskiem niezwykle skomplikowanym. Z procesem artyku-

lacji związane są takie dziedziny jak: mechanika, akustyka, logopedia, fonetyka, fonia-

tria, fizjologia, psychologia. Ta interdyscyplinarność, jest powodem wielu trudności w

jego zrozumieniu i implementacji. Przyczyniła się również do ogromnego zainteresowania

tym zjawiskiem. Od wielu lat mechanizmy powstawania mowy są przedmiotem badań

prowadzonych w ośrodkach na całym świecie. Prowadzone prace są poświęcone procesom

generowania, artykulacji, percepcji, transmisji oraz kodowania sygnału mowy.

Od lat 50-tych XX w. przedmiotem badań stał się problem automatycznego rozpoz-

nawania mowy (ASR, ang. Automatic Speech Recognition). Był on również inspiracją

dla twórców science - fiction, czego dowodem są np.: komputer HAL w filmie Stanleya

Kubrick’a pt.: „Odyseja Kosmiczna 2010” i robot R2D2 z „Gwiezdnych Wojen” Georga

Lucas’a. Skonstruoawanie takiej maszyny w rzeczywistości okazało się bardzo trudne.

Niemożliwe jest bowiem zbudowanie takiego urządzenia, które byłoby na tyle uniwer-

salne, by mogło zrozumieć słowa wypowiadane w różnych warunkach akustycznych, na

różne tematy, przez różnych rozmówców[1].

3.1 Wprowadzenie

Istnieje wiele rodzajów systemów rozpoznawania mowy. Istnieją systemy ukierunk-

owane tylko na rozpoznawanie mowy ciągłej i te, których zadaniem jest rozpoznawanie

pojedynczych wyrazów. Ze względu na wielkość możemy podzielić systemy ASR na małe,

średnie i duże. Systemy małe są zdolne do rozpoznania łacznie ok. 100 słów lub zwrotów.

Systemy średnie to takie, w których ilość rozpoznawanych słów nie przekracza 3 tysięcy.

Natomiast systemy duże są zdolne do rozpoznania nawet 20 tysięcy słów czy zwrotów.

Kolejny podział systemów ASR to ten, w jakim wyróżnić można systemy zależne od

mówcy (SD, ang. Speaker Dependent) i od niego niezależne (SI, ang. Speaker Indepen-

dent). Różnica pomiędzy tymi dwoma systemami polega na tym, że system zależny od

mówcy został ukierunkowany na danego mówcę, a niezależny nie został ukierunkowany

15

Page 16: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

na żadnego mówcę i działa bardziej uniwersalnie.

3.2 Przegląd dotychczasowych rozwiązań

Wraz z rozwojem techniki i wzrostem mocy obliczeniowej komputerów, powstawało

coraz więcej projektów dotyczących systemów ASR, najwięcej dla języków dominujących

tj.: angielskiego, niemieckiego, chińskiego, hiszpańskiego, francuskiego. Wśród znaczą-

cych projektów znaleźć można nie tylko prace badawcze tj.: CMUSphinx 1, HTK2, ale

również rozwiązania komercyjne np.: Dragon3, ViaVoice4. Zagadnienia te były poruszane

również przez polskich badaczy, a do tych najbardziej znanych zaliczyć można prace R.

Tadeusiewicza [2, 3], S. Grocholewskiego [4], Cz. Basztury [5].

W dzisiejszych czasach systemy wykorzystujące komunikację głosową do przesyłania

wiadomości od komputera do człowieka i odwrotnie, są coraz bardziej popularne i znajdują

coraz to nowsze zastosowania. Przykładem rozwiązania komercyjnego, jest technologia

rozpoznawania mowy firmy Microsoft zaimplementowana w systemie Vista. Umożliwia

ona sterowanie systemem Windows wyłącznie za pomocą głosu. Kolejnym przykładem

jest przeglądarka Opera, której praca może być sterowana mową. Użytkownik korzysta z

dostępnych poleceń, ale ma również możliwość definiowania własnych. Każde polecenie

kierowane do przeglądarki, musi być poprzedzone jednym z prefiksów: „Opera”, „Hal”,

„ Browser”po to, by przeglądarka miała pewność, iż wypowiadane słowa są skierowane na

pewno do niej. Przykładowa komenda: „Opera speak”powoduje uruchomienie w przeglą-

darce funkcji głosowych – następuje odczytanie przez komputer tekstu wyświetlonego w

danej chwili w oknie przeglądarki[6].

Zarządzanie komputerem w sposób głosowy, pozwala na zastąpienie urządzeń wejścia

takich jak mysz, touchpad, czy klawiatura. Dlatego właśnie systemy ASR wykorzysty-

wane są w interfejsach dla osób niepełnosprawnych.Ten typ interfejsu przeznaczony jest

dla tych, którzy nie są w stanie posługiwać się wyżej wymienionymi urządzeniami wejś-

cia, a mogą wysyłać polecenia głosowe do komputera. Jest to duże ułatwienie dla osób

niepełnosprawnych, dzięki temu mogą pracować na komputerze, grać w gry, komunikować1CMUSphinx — jest to sytem rozpoznawania mowy ciągłej, niezależny od mówcy, wykorzystujący

HMM i n-gramowy model statystyczny języka. Opracowany na Carnegie Mellon University, obecnieistnieje IV wersja systemu.2HTK — ang. The Hidden Markov Model Toolkit, poręczne narzędzie służące do budowania i zarządza-

nia ukrytymi modelami Markova HMM.3Dragon — ang. Dragon Naturally Speaking, jedna z pierwszych aplikacji na komputery PC, służąca

do rozpoznawania mowy ciągłej.4ViaVoice — grupa aplikacji służących do rozpoznawania mowy ciągłej oferowana przez firmę IBM.

16

Page 17: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

się ze znajomymi. Prowadzone są badania nad wprowadzeniem dalszych ułatwień. W

pracy K. Szklannego [7] przedstawiona jest implementacja portalu głosowego przeznac-

zonego do e-learningu. Wykorzystano w nim technologię Text-To-Speech i system ASR.

Tego typu systemy mają zastosowanie nie tylko dla komputerów, ale również dla urządzeń

przemysłowych, telefonów (wybieranie głosowe), bankomatów. Być może w przyszłości

dołączą do tej grupy lodówki, radia, telewizoty itd.

Systemy ASR znalazły też zastosowania w medycynie. M. Kłaczyński w swojej pracy

doktorskiej [8] przedstawił zastosowanie analizy sygnału akustycznego mowy w obszarze

diagnostyki wibroakustycznej. Autor opracował modele parametryczne wybranych de-

formacji mowy polskiej związanych ze schorzeniami aparatu głosowego. Udowodnił, iż

na podstawie analizy głosu chorego, można określić stopień deformacji sygnału mowy

patologicznej.

Problem automatycznego rozpoznawania mowy był bardzo interesujący z punktu widzenia

autorów niniejszej pracy, z tego powodu postanowili podjąć wyzwanie i wykorzystać sys-

tem ASR do zarządzania aplikacją diagnostyczną. Tematyka projektu wydała się tym

bardziej intersująca ze względu na jej przydatność w dobie postępującej technologii i

rozwoju telemedycyny. Autorzy uznali, iż warto zbudować aplikację, która wykorzystu-

jąc system ASR, umożliwia przeprowadzenie wiarygodnego badania wzroku bez wizytu u

lekarza, posiadając jedynie odpowiednie oprogramowanie i standardowy sprzęt — kom-

puter PC wyposażony w mikrofon.

3.3 Cel i zakres pracy

Celem niniejszego projektu było zbudowanie aplikacji, spełniającej zadanie przyjaznej

i łatwej w obsłudze tablicy okulistycznej, dzięki której użytkownik bez konieczności wizyty

u lekarza mógłby skontrolować ostrość swojego wzroku.

Innowacyjnością tego rozwiązania, byłaby nie tylko możliwość przeprowadzenia bada-

nia w domu, ale róznież w wykorzystaniu systemu ASR w procesie weryfikacyjnym.

Zadaniem systemu ASR zaimplementowanego w aplikacji, byłoby rozpoznanie lekcji5 za-

wartej w nagranej przez mikrofon odpowiedzi użytkownika na wyświetlony znak. Na

podstawie wyniku rozpoznania sprawdzałoby się, czy znak który zobaczył badany, to ten,

jaki został mu wyświetlony.

5lekcja (łac. lectio — czytanie, odczyt)— sposób odczytania na głos znaków pisma

17

Page 18: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Aplikacja miała za zadanie dodatkowo umożliwiać zapis i wydruk wyniku. Są to

bardzo ważne funkcjonalności i niezbędne w przypadku adresowania aplikacji również

do lekarzy, czego nie wykluczali autorzy pracy. Dzięki tym funkcjom, byłoby możliwe

dokumentowanie i przechowywanie wyników badań dla konkretnego pacjenta.

Rozdział 4 ma za zadanie przybliżyć czytelnikowi poszczególne zagadnienia, bezpośred-

nio związane z budowaną aplikacją.Podrozdział ?? przedstawia drogę jaką przebywa syg-

nał analogowy od jego powstania w aparacie artykulacyjnym, aż do jego cyfrowej reprezen-

tacji w komputerze. Następnie czytelnikowi zostaną przedstawione współczesne metody

parametryzacji stosowane w systemach ASR. Rozdział kończy prezentacja najbardziej

popularnych algorytmów rozpoznawania mowy.

Rozdział 5 kompleksowo przedstawia zbudowaną aplikację. Zawiera opis architek-

tury programu opartej o GUI oraz szczegółowe omówienie metody wykorzystywanej do

rozpoznawania lekcji użytkownika. Krok po kroku przedstawione zostały mechanizmy

przetwarzania sygnału mowy, które prowadzą do wyciągnięcia z nigo informacji seman-

tycznej. Następnie czytelnikowi zostanie przybliżony sposób weryfikowania poprawności

rozpoznania przez użytkownika litery i wyliczania ostrości wzroku.

Rozdział 6 prezentuje działanie aplikacji od strony użytkownika. Przedstawia architek-

turę programu wraz ze szczegółowym opisem jego komponentów.

Pracę kończy rozdział 7 weryfikujący działanie aplikacji i podsumowujący wykonaną

pracę. Zawiera opis procesu optymalizacyjnego aplikacji. Stanowi on również refleksję nad

rezulatatmi jej pracy. Autorzy proponują w tym rozdziale możliwości dalszej rozbudowy

aplikacji o funkcjonalności, pozwalające jej na wydajniejszą realizację zadań.

18

Page 19: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

4 Proces rozpoznawania mowy

4.1 Rejestracja sygnału mowy

Wstępne przetwarzanie sygnału mowy może być dokonywane metodami analogowymi,

przynajmniej do etapu filtracji dolnoprzepustowej, odcinającej wszelkie składowe sygnału

powyżej częstotliwości Nyquista, w celu uniknięcia nakładania się widm. Po tym etapie

znajduje się układ przetwarzania analogowego-cyfrowego. Następnie sygnał przesyłany

do komputera ulega trasnformacji tak, aby zadziałał system rozpoznawania mowy.

Badacze sygnału mowy i konstruktorzy urządzeń automatycznego rozpoznawania tego

typu sygnału, decydują się na rozbudowę analogowej części aparatury i na dokonywanie

procesów wstępnego przetwarzania sygnału jeszcze przed jego wprowadzeniem do komput-

era. Przetwarzanie, o którym mowa, może kierować się w stronę różnych parametrycznych

i bardzo oszczędnych reprezentacji sygnału mowy, względnie może ograniczać się do przek-

ształcenia sygnału do postaci widma dynamicznego (np. za pomoca filtrów, układów

uśredniających itd.). To drugie podejście jest zwykle preferowane, ponieważ objętość in-

formacyjna widma jest na tyle mniejsza od objętości samego orginału, że wystarcza do

rozsądnego pomieszczenia fragmentów sygnału mowy w pamięci komputera.

Podejmując decycję o zastosowaniu zestawu filtrów pasmowych do wydzielania charak-

terystyk sygnału mowy, przydatnych w systemie rozpoznającym, powinno się dodatkowo

określić dużą liczbę szczegółowych parametrów procesu wstępnego rozpoznawania i prze-

twarzania, przez który tracona jest pewna część informacji zawartej w sygnale. Stosowanie

w analogowym systemie wstępnego przetwarzania filtrów o skali liniowej gwarantuje możli-

wość natychmiastowego użycia FFT do wszystkich opracowanych wcześniej algorytmów

przetwarzania sygnału, wydobywania parametrów, rozpoznawania itd. Użycie na wstępie

filtrów o skali logarytmicznej prowadzi do konieczności przerabiania całego oprogarmowa-

nia w momencie pojawienia się możliwości pełnej ćyfryzacjiśystemu. Problem wyboru

częstości próbkowania sygnałów wyjściowych z filtrów jest bardzo ważny, wyznacza bowiem

objętość wynikowego zbioru danych wprowadzanych do komputera dla ustalownego od-

cinka sygnału mowy. Dokładność amplitudowa przetwarzania analogowo - cyfrowego,

następującego w każdym kanale częstotliwościowym oddzielnie lub za pomocą jednego

przełączonego przetwornika, stanowi następny wymiar warunkujący informacyjną obję-

tość wprowadzanego do komputera sygnału. Dynamika sygnałów w poszczególnych pas-

mach jest niewielka, znacznie mniejsza od dynamiki pełnego sygnału mowy. W rozpoz-

19

Page 20: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

nawaniu mowy dokładność odwzorowania amplitud sygnału nie ma wielkiego znaczenia,

gdyż ważniejsze są relacje między sygnałem w sąsiednich pasmach, niż dokładne wartości

[2]. Reasumując można zaproponować strukturę systemu wprowadzania syganłu mowy

do komputera w postaci przedstawionej na rys. 1.

Rysunek 1: Struktura układu wstępnego przetwarzania i wprowadzania sygnału mowy dokomputera.

4.2 Parametryzacja sygnału mowy

Sygnał mowy jest przebiegiem czasowym, na który składają się dźwięki powstające

w aparacie artykulacyjnym człowieka. Aby móc go analizować nie wystarczy sam proces

rejestracji i wstępnego przetwarzania — należy jeszcze wybrać odpowiednią metodę jego

reprezentacji, zależną od celu dalszego użycia. Założeniem parametryzacji jest otrzymanie

w jej wyniku takiego przekształcenia sygnału wejściowego (przebiegu zmian ciśnienia

akustycznego), by uzyskać możliwie małą liczbę parametrów zawierających informacje

istotne dla systemu, tj. o zawartości fonetycznej syganłu, przy jednoczesnej minimal-

izacji wrażliowści tych parametrów na zmienność sygnału nieistotną z punktu widzenia

automatycznego rozpoznawania mowy [9]. Problem parametryzacji można rozwiązać w

dziedzinie czasu i częstotliwosci.

Omówienie metod parametryzacji w dziedzinie czasu i częstotliwości znajduje się

odpowiednio w podrozdziałach: 4.2.1 i 4.2.2. Autorzy ze względu na temat swojego

projektu, umieścili osobny podrozdział 4.2.3 bardzo dokładnie opisujący jedną z metod

parametryzacji w dziedzinie częstotliwościowej, wykorzystującej analizę mel - cepstralną

(MFCC, ang. Mel - Frequency Cepstral Coeficcients) sygnału.

20

Page 21: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

4.2.1 Opis sygnału w dziedzinie czasu

Sygnał mowy jest wyrażony jako ciąg czasowy x(t) przyjmujący wartości rzeczywiste,

dzięki czemu może być poddawany operacjom matematycznym. Nagrany sygnał analo-

gowy x(t) jest przetwarzany przez przetwornik analogowo cyfrowy A/C na sygnał cyfrowy

x[n] w procesie próbkowania (dyskretyzacji). Proces ten polega na pobieraniu z sygnału

x(t) próbek co pewien okres czasu ∆t (stały lub zmienny), zwany okresem próbkowania.

Odwrotność okresu próbkowania to częstotliwość próbkowania i oznacza się ją symbolem

fp. Wartość sygnału cyfrowego w n - tej chwili czasowej opisuje zależność: (1). Z syg-

nału cyfrowego można odtworzyć sygnał analogowy, jeśli częstotliwość próbkowania fp

jest dobrze dobrana w stosunku do widma częstotliwościowego sygnału.

x[n] = (n ·∆t) (1)

Wśród metod parametryzacji w dziedzinie czasu wyróżniamy metody:

• Oparte na strukturze makrometrycznej sygnału — wykonanie obliczeń po wstępnej

segmentacji sygnału. Otrzymuje się takie parametry jak np.: amplituda i częstość

zmian.

• Oparte na strukturze mikrometrycznej sygnału — analiza przebiegu sygnału pod

kątem jego przejść przez zero. Uzyskiwane parametry to: częstość przejść przez

zero, rozkład interwałów czasowych pomiędzy kolejnymi przejściami.

• Metody łączone np. ZCPA ( ang. Zero Crossing with Pick Amplitudes).

Do najczęstszych parametrów wyznaczanych na podstawie analizy struktury makrom-

etrycznej sygnału zaliczają się [10] :

a) wartość średnia sygnału x̄ — miara kumulacji sygnału.

b) wartość maksymalna XMAX i minimalna sygnału XMIN — wartość maksymalna

sygnału niesie informację o jego dynamice, przede wszystkim o tym, czy wystąpiło

zjawisko przesterowania — czy została przekroczona charakterystyka dynamiczna

przetwornika A/C. [8]

c) energia sygnału Ex — miara energii niesionej przez sygnał.

21

Page 22: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

d) moc średnia sygnału Px — miara mocy średniej sygnału.

e) wartość skuteczna sygnału RMS (ang. Root Mean Square) — in. wartość średniok-

wadratowa, jest statystyczną miarą sygnałów okresowo zmiennych.

f) obwiednia o(t) amplitudy — zawiera informacje o zmianach energetycznych sygnału:

o(t) =√HILB2(x(t)), (2)

gdzie: HILB — transformata Hilberta opisana wzorem (3):

HILB(x(t)) =∫ t2

t1

x(τ)

Π · (t− τ)dτ . (3)

Opis matematyczny poszczególnych parametrów znajduje się w tabeli nr 1.

Tablica 1: Wybrane parametry sygnałów ciągłych x(t) i dyskretnych x(n).

Parametr Sygnał ciągły x(t) Sygnał dyskretny x(n)

Wartość średnia sygnału: x̄ = 1t2−t1

∫ t2t1x(t)dt x̄ = 1

n2−n1

∑n2n=n1

x(n)

Wartość maksymalna sygnału: XMAX = max(x(t)) XMAX = max(x(n))

Wartość minimalna sygnału: XMIN = min(x(t)) XMIN = min(x(n))

Energia sygnału: Ex =∫ t2t1x2(t)dt Ex =

∑n2n=n1

x2(n)

Moc średnia sygnału: Px = x̄2 Px = x̄2

Wartość skuteczna sygnału RMS: XRMS =√Px XRMS =

√Px

t1, t2 i n1, n2 — odpowiednio: początek i koniec sygnału ciągłego i dyskretnego.

Analiza przejść przez zero (ZCA, ang. Zero Crossing Analyse) jest przeprowadzana

w dziedzinie czasu i zaliczana do metod mikrometrycznych opisu sygnału. Analiza ZCA

polega na wyznaczaniu takich punktów ti na osi czasu t, dla których sygnał x(t) przyjmuje

wartość zero (czyli spełniona jest zależność x(ti) = 0). Graficzna interpretacja przejścia

przez zero sygnału pokazana jest na rysunku (2).

Ważnym parametrem z punktu widzenia rozpoznawania mowy, oprócz częstości przejść

przez zero, jest rozkład interwałów czasowych pomiędzy kolejnymi przejściami. Analiza

przejść przez zero poprzedzona filtracją dolnoprzepustową pozwala wyznaczyć przebieg

tonu krtaniowego drgań fałdów głosowych [8]. Ton krtaniowy (podstawowy) występuje

dla głosek dźwięcznych i w literaturze często określany jest jako formant f0. Jest ściśle

związany z geometrią aparatu artykulacyjnego, a co się z tym wiąże jest charakterystyczny

22

Page 23: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 2: Graficzna interpretacja przejścia przez zero sygnału , źródło [8]

dla danego mówcy. Dlatego wykorzystuje się go w rozpoznawaniu mowy, jak również w

diagnostyce medycznej.

Oprócz metod analizy bazujących na analizie sygnału w oparciu o jego strukturę

makro- i mikrometryczną, istnieją jeszcze metody łączone. Należy do nich metoda ZCPA

( ang. Zero Crossing with Peak Amplitudes) przedstawiona w pracy [11]. Rysunek nr 3

stanowi graficzną ilustrację metody.

Rysunek 3: Graficzna interpretacja metody ZCPA , źródło [11]

Pierwszy etap metody ZCPA to filtracja w dziedzinie czasu sygnału x(n) przez fil-

23

Page 24: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

try pasmowo - przepustowe. Sygnały otrzymane w wyniku filtracji są poddawane detekcji

przejść przez zero. Rejestruje się zarówno sąsiednie interwały czasowe miedzy przecięciami

osi zi i zi−1 („Detektor przejść przez zero”), jak również szczytowe wartości amplitudy pi

występującej między nimi („Detektor szczytów”). Następnie na podstawie odwrotności

interwałów czasowych między kolejnymi przecięciami osi czasu, przefiltrowane sygnały

przedstawiane są na histogramie („Konstrukcja histogramu”). Wartości słupków his-

togramu są wartościami ważonymi, w których wagą jest wartość szczytowej amplitudy

sygnału odpowiadającej danej parze interwałów czasowych. Zaletą tego rodzaju parame-

tryzacji jest prostota i szybkość algorytmu. Szczytowe wartości amplitud reprezentują

wartości chwilowe mocy sygnału. Interwały czasowe pomiędzy kolejnymi przejściami syg-

nału przez zero, przedstawiają wartości chwilowe częstotliwości dominujących fi. Niestety

metoda ZCPA cechuje się wysoką złożonością obliczeniową, wynikającą bezpośrednio z

konieczności precyzyjnego określania punktów przecięcia osi czasu.

4.2.2 Opis sygnału w dziedzinie częstotliwości

Klasyczna analiza widmowa, jaką jest transformacja Fourier’a nie nadaje się do analizy

sygnału mowy. Nie dostarcza informacji o czasie w widmie sygnału, co z punktu widzenia

rozpoznawania mowy jest bardzo ważne. Mowa jako ciąg czasowy składa się z następują-

cych po sobie zdarzeń (zmian częstotliwości i amplitudy, kolejności wyrazów, fonemów),

których czas trwania i kolejność występowania umożliwiają jej rozpoznawanie[12]. In-

formacji o czasie dostarcza tzw. krótkotrwała (krótkookresowa) transformacja Fourier’a

(STFT, ang. Short — Time Fourier Transform), którą opisuje zależność (4). Trans-

formacja STFT polega na wyznaczaniu transformat Fourier’a fragmentów sygnału x(t)

określonych za pomocą okna czasowego w(t) o ograniczonym przedziale, umieszczonego

w momencie czasu b.

x̂w(f, b) =∫ ∞−∞

w(t− b)x(t)e−2πjft(t)dt (4)

Postać dyskretną zależności (4) opisuje wzór (5):

x̂w[k, l] =N−1∑n=0

w[n− l]x[n]e−2πjnkN (5)

Kwadrat modułu transformacji STFT nosi miano spektrogramu i stanowi charak-

terystykę czasowo - częstotliwościowo -amplitudową sygnału. Przykładowy spektrogram

24

Page 25: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

zamieszczony jest na rysunku 4. Wyraża się zależnością (6):

SPEC(f, b) = |STFT (f, b)|2 = |x̂w(f, b)|2 (6)

Rysunek 4: Spektrogram słów „nineteenth century” wypowiedzianych przez kobietę , [13]

Na podstawie spektrogramu wyznacza się formanty6. Bezwzględne wartości częs-

totliwości formantowych zależą od cech osobniczych, ale wartości względne są od nich

niezależne. Dlatego konfiguracja widmowa formantów jest wykorzystywana jako wzorzec

większości głosek. Więcej na ten temat znaleźć można w pracy: [8].

Każdy spektrogram jest trójwymiarową macierzą danych reprezentującą zadany sygnał

mowy. Dzięki temu możliwe jest porównanie dwóch sygnałów w oparciu o analizę statysty-

czną (np. obliczając odchylenie średniokwadratowe między wartościami w macierzach),

czy operacje logiczne takie jak XOR.

Autor pracy [14] zaprojektował aplikację wykorzystującą analizę spektrogramu w rozpoz-

nawaniu mowy w oparciu o procesor sygnałowy TMS320C6711. Zwraca uwagę na fakt,

iż analiza widmowa pozwala na idealną reprezentację mowy, ale charakteryzuje się niską

skutecznością rzędu 50 - 80% roz–poznawania słów. Niska skuteczność algorytmu wynika

z faktu, iż nie można z jego pomocą wyekstrahować charakterystycznych cech zawartych

w każdym sygnale. Oprócz tego metoda ta jest obarczona dużym błędem w przypadku

przesunięć czasowych i silnych zmian amplitudy.

Predykcja liniowa (LP, ang. Linear Prediction) jest obecnie jedną z najczęściej stoso-

wanych metod parametryzacji. Głównym założeniem metody jest fakt, iż mowa jest

splotem pobudzenia, generowanego przez struny głosowe i toru przejścia. Torem przejścia6formant — pasmo częstotliwości uwypuklone w barwie dźwięku

25

Page 26: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

jest trakt głosowy reprezentowany jako niezmienny w czasie filtr liniowy. Najczęściej

stosowanym filtrem jest filtr typu IIR o transmitancji opisanej wzorem (7) [10]:

H(z) =G

1−∑pk=1 akz

−k , (7)

gdzie: p — rząd predykcji, G — wzmocnienie, ak — k-ty współczynnik wielomianu mi-

anownika ( k = 1, 2, 3, . . .).

W modelu LP sygnał mowy opisany jest zależnością (8) [10]:

x(n) = G · e(n)−p∑

k=1

akx(n− k), (8)

gdzie e(n) — pobudzenie.

Wyznaczenie parametrów traktu głosowego sprowadza się do wyznaczenia wzmoc-

nienia G i wektora współczynników{ak} wielomianu mianownika transmitancji. Metodą,

która w prosty sposób wyznacza współczynniki filtra traktu głosowego, jest iteracyjna

metoda Durbina - Levinsona. Dokładny opis metody znajduje się w książce [10]. Współ-

czynniki predykcji liniowej otrzymane metodą LPC, są wykorzystywane w rozpoznawaniu

mowy z użyciem algorytmu DTW (ang. Dynamic Time Warping), który jest opisany w

rozdziale: 4.3.1.

Kolejnym narzędziem do częstotliwościowej analizy sygnału mowy, jest dyskretna

dekompozycja falkowa (DWT, ang. Discrete Wavelet Transform). Metoda ta polega

na dekompozycji sygnału za pomocą filtrów cyfrowych. W parametryzacji sygnału z uży-

ciem DWT, wyznacza się dyskretną transformację segmentowanego sygnału. Jako wynik

otrzymuje się wektor współczynników falkowych { dm} i { aM} na M poziomach rozdziel-

czości. Następnie oblicza się energię każdego z wektorów współczynników dekompozycji

[12]:

de[m] =

{||dm||2 =

∑Nmn=1 dm

2[n] , dla m = 1, . . . , M||aM ||2 =

∑NMn=1 aM

2[n] , dla m = M + 1(9)

Wynikiem tego działania jest wektor o M + 1 elementach, który po przeprowadzeniu

normalizacji zawiera frakcje energii w poszczególnych pasmach częstotliwości. Ostatni

etap stanowi dekorelacja elementów wektora z wykorzystaniem dyskretnej transformacji

cosinusowej (DCT, ang. Discrete Cosinus Transform). W pracy [12] znajduje się opis

dwóch nowych metod nierównomiernej segmentacji falkowej w kontekście rozpoznawania

mowy polskiej.

26

Page 27: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

4.2.3 Parametryzacja MFCC

W rozdziałach 4.2.1 i 4.2.2 opisano możliwości prarametrycznego przedstawiania syg-

nału. Autorzy publikacji [15],[16] dotyczących automatycznego rozpoznawania mowy

przedstawili zalety dwóch metod - liniowego kodowania predykcyjnego (LPC ang. Linear

Prediction Coding) oraz współczynników cepstralnych w dziedzinie częstotliwościowej o

skali melowej (MFCC - ang.Mel-frequency Cepstral Coefficients). MFCC jest algorytmem

stosowanym w badaniach sygnału mowy pod kątem jej rozpoznawania, charakteryzuje

się zadowalającą skutecznością przy umiarkowanej złożoności obliczeniowej. MFCC jest

oparty na charakterystyce słyszenia ludzkiego ucha. Ucho ludzkie reaguje nieliniowo na

częstotliwości sygnału dźwięku - różnice w zakresie niskich częstotliwości (¡ 1kHz) są

łatwiej wykrywalne, aniżeli podobne różnice w zakresie słyszalnego spektrum. Im wyższa

częstotliwość, tym gorsza dokładność - tym większe odstępy między kolejnymi pasmami

są potrzebne dla zrekompensowania nieliniowości. Skala Mel została (rys. 5) wyznaczona

empirycznie i wynosi:

ωMel = 2595 lg(

1 +ω

700Hz

)(10)

Rysunek 5: Odwzorowanie skali częstotliwości w skalę mel

Otrzymanie nieliniowej skali spektrum syganłu możliwe jest dzięki zastosowaniu trans-

formaty Fouriera opartej na filtracji melowej. Każdy współczynnik trasnformaty Fouri-

era jest mnożony przez odpowidający mu współczynnik filtru melowego. Na rysunku 6

przedstwiono charakterystkę banku 12 filtrów melowych.

27

Page 28: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 6: Charakterystyka banku 12 filtrów melowych

Filtry mogą przyjmować postać: trójkątną — dla detekcji cech na podstawie skali Mel,

lub trapezoidalną — związaną ze skalą Bark, stosowaną do liniowej predykcji. Dokładna

postać filtrów zależy od rozdzielczości stosowanej reprezentacji częstotliwości.

Dla obliczenia (np. L=32) tzw. współczynników mel - spektralnych MFC(l, τ) dla

każdej ramki sygnału wykorzystujemy zbiór l trójkątnych filtrów D (l,k):

MFC(l, τ) =M−1∑k=0

[D(l, k) · FC(k, τ)], l = 1, ..., L. (11)

Wartość pojedynczego współczynnika MFC odpowiada ważonej sumie wartości FC należą-

cych do zakresu trójkatnego filtra pasmowego odpowidającego danemu MFC. Cepstrum

jest wynikiem charaterystycznego przekształcenia:

MFCC(h) = FT−1{MFC{FT{h}}}, dla h = x · w. (12)

Ogólnie cepstrum posiada wartości zespolone, ale w wyniku tego przekształcenia dla

MFC(.) wynik ma wartości rzeczywiste. Na koniec wyznacza się liczbę (np. K = 12)

współczynników mel - cepstarlnych (MFCC) według wzoru:

MFCC(k, τ) =L−1∑l=0

[logMFC(l, τ) · cos(k · (2l + 1)π

2L)], k = 1, ..., K. (13)

Ponieważ układ głosu ma charakter ciągły, zatem poziomy energii w sąsiednich pas-

mach są skorelowane. Dlatego niezbędna do tego transformata Fouriera (przekształcenie

kosinusowe) zamienia zbiór logarytmów energii na skorelowane ze sobą współczynniki ćep-

stralne”. Nadal nieużyteczna do rozpoznania głosek energia podstawowej częstotliwości

drgań krtaniowych i jej harmoniczne mogą nakładać się na amplitudy mierzonych częs-

totliwości. Dlatego często stosuje się przetwarzanie końcowe zwane litrowaniem (rozdziel-

28

Page 29: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

nie). Celem kroku litrowania jest usunięcie szkodliwego wpływu podstawowych drgań

krtaniowych na zestaw cech [17].

Na rys. 7 przedstwiono w sposób schematyczny zasadę wyliczania MFCC.

Rysunek 7: Schemat blokowy MFCC.

4.3 Algorytmy rozpoznawania mowy

4.3.1 Algorytm DTW

Programowanie dynamiczne (DP ang. Dynamic Programming) jest efektywną metodą

stosowaną przede wszystkim do optymalizacji wielostopniowych procesów decyzyjnych,

charakteryzujących się kaskadowym połączeniem bloków. Kierunek obliczeń optymaliza-

cyjnych jest zwykle przeciwny do kierunku ruchu strumnienia (np. upływu czasu)[18].

Podstawą metody jest tzw. zasada optymalizacji Bellmana (rys. 8), która ma tę właś-

ciwość, że niezależnie od stanu początkowego i decyzji początkowej, pozostałe decyzje

muszą stanowić ciąg optyalny ze względu na stan wynikający z pierwszej decyzji.

Rysunek 8: Schemat zasady Bellmana

Programowanie dynamiczne zastosowane jest m. in. w nieliniowej transformacie

czasowej DTW (ang. Dynamic Time Warping), którą wykorzystuje się w celu wery-

fikacji poprawności działania systemu rozpoznawania mowy opartego na wzorcach. DTW

stanowi algorytm pomiaru podobieństwa dwóch sekwencji, które mogą różnić się w czasie

lub prędkości. Wybór niniejszej metody jest uwarunkowany charakterem danych podlega-

jących analizie. W przypadku rozpoznawania mowy mamy do czynienia z następującymi

cechami [19]:

• różna długość wektorów cech wynikająca z różnic w rozmiarze (złożoności) sygnału,

29

Page 30: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

• zmienność rozmiaru lokalnych elementów tworzących sygnał takich jak: wysokość

tonu głosu (męski, żeński) i szerokość odcinków łączących różne fonemy,

• braki lub nadmiar fonemów tworzących sygnał.

Dynamiczne dopasowanie wzorca w czasie, tzw.”marszczenie czasu”DTW stanowi

początkową metodę rozpoznawania mowy, stosowaną do lat 80. XX wieku. W tym

rozwiązaniu na bazie modeli występują prototypy wzorców złożonych w postaci sekwencji

wzorców prostych: Yl,. . . ,Ym. Klasyfikacja złożonego wzorca X polega na wyznaczeniu

jego odległości od wszystkich reprezentantów klasy D(X,Yi), nawet wtedy, kiedy wzorce

mają różne czasy trwania. W procesie klasyfikacji stosujemy regułę decyzyjną minimal-

izacji odległości[17]:

l = argminD(X, Yl). (14)

W procesie klasyfikacji założono, że możliwa jest dekompozycja miary odległości,

tzn. odległości dwóch wzorców złożonych składa się z sumy lokalnych odległości, tzn.

dij=d(xi,yi), liczonych par prostych wzorców wzdłuż ścieżki w przestrzeni dopasowania

stanowiącej rozwiązanie wzoru (rys. 9):

Dij =

0 dla i= j = 0,minDi−1,j−1, Di−1,j, Di,j−1 + dij dla i> 0, j> 0,∞ pozostałe

(15)

Rysunek 9: Schemat obliczania ścieżek lokalnych według algorytmu DTW.

Poszukiwana jest ścieżka o specjalnej postaci [17]:

30

Page 31: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

• ścieżka nie może „cofać się” ani po wcześniej dopasowanych segmentach, ani też po

wcześniejszych elementach modelu,

• możliwe jest powtórzenie na ścieżce rozwiązania (raz po razie) elementu reprezen-

towania wzorca lub elementu aktualnego wzorca.

Autor pracy[12] przedstawia zastosowanie różnych metryk odległości i ich efektywność

w rozpoznawaniu mowy. Najbardziej skuteczne według [12], są metryki: hiperboliczna

cosh (cosiunus hiperboliczny) i logarytmiczna log - spectral. Oprócz wyboru metryki, na

wynik rozpoznania, ma również wpływ zastosowana metoda parametryzacji. Autror [12]

otrzymane wyniki trafności dopasowań dla transformacji falkowej porównuje z wynikami

uzyskanymi dla parametryzacji metodą MFCC. W metodzie falkowej, występują więk-

sze błędy dopasowania wzorca. Stąd wniosek, że metodę DTW lepiej jest stosować dla

współczynników mel - cepstralnych, niż otrzymanych metodami falkowymi. Wówczas

nawet najprostsza metryka, jaką jest metryka euklidesowa, pozwala na otrzymanie bardzo

dobrych wyników poprawnego dopasowania. Ze względu na specyfikę natury sygnału

mowy, istotną kwestią jest wybór metody pomiaru odległości, które biorą pod uwagę

podmiotowe własności ludzkiego postrzegania [20]. Oprócz podstawowej metryki euk-

lidesowej można wykorzystać metrykę cosh bądź log - spectral, które dają mniejsze błędy

w przypadku porównania sygnałów (rys. 10).

Rysunek 10: Zakres błędów dla systemu rozpoznawania mowy opartego o MFCC [20].

4.3.2 Ukryte modele Markova

Automatyczne rozpoznawanie mowy (ASR, ang. Automatic Speech Recognition z

wykorzystaniem wielowarstwowych statystycznych modeli języka opartych na ukrtych

31

Page 32: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 11: Typy ukrytych modeli Markova (a) - model ergodyczny, (b) i (c) - modelBakisa

modelach Markova HMM (ang. Hidden Makov Model) jest obecnie metodą dominującą.

W tego typu systemach prawdopodobieństwa obserwacji dla danego stanu modelu, pro-

jektuje się zazwyczaj ciągłymi rozkładami funkcji gęstości prawdopodobieństwa [9]. Na

rys.11 przedstawiono charakterystyczne typy modeli Markova przydatne w czasie anali-

zowania sygnałów dźwiękowych.

W modelu ergodycznym (rys.11 a) istnieje połączenie z każdego stanu do każdego. W

procesie analizowania sygnału dźwiękowego, w procesie uczenia jak i w procesie rozpoz-

nawania, bardziej skuteczne okazały się modele lewo -prawe (rys. 11 b) (ang. left-right

hmm models) zwane modelami Bakisa, w których nie ma połączeń do stanów poprzednich.

Etap rozpoznawania sygnału dźwiękowego obejmuje prawdopodobieństwo wygenerownia

danego sygnału przez model, co pozwala na zbudowanie tablicy rankingowej słów, a w

zasadzie modeli, które uzyskały największe prawdopodobieństwo. W omawianym modelu

możliwe są łuki trzech rodzajów:

• przejście do kolejnego stanu — wprowadzenie nowego symbolu (krok podstawienia

— „SUBstitute”).

• pozostanie w danym stanie — ponowienie wyjścia (krok wstawienia — „INSert”).

• pominięcie stanu (krok usunięcia „DELete”).

Uczenie dla modelu HMM w systemie rozpoznawania mowy obejmuje:

1. Detekcja cech ramek −→ np. cech MFCC, energia i cechy różnicowe.

32

Page 33: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

2. Inicjalizacja rozkładów prawdopodobieństw klas −→ określenie liczby klas (cen-

trów rozkładów prawdopodobieństwa) metodą LBG VQ (kwantyzacja wektorowa

przestrzeni cech ramek).

3. Przygotowanie danych uczących−→ ręczne etykietowanie danych w postaci fonemów

i trzyfonowych modeli.

4. Uczenie elementów macierzy A i B modeu HMM −→:

– określenie prawdopodobieństw obserwacji cech — metoda „w przód - wstecz”,

– wyznaczenie prawdopodobieństw przejść pomiędzy stanami — metoda Bau-

mana - Wecha lub trening Viterbiego.

Układ będący w danym stanie emituje jedną z możliwych obserwcji ot z prawdopodo-

bieństwem bj(ot):

bj(ot) = P (ot|qt = j), j = 1, ..., N. (16)

Generacja losowej sekwencji O jest rezultatem jednorazowego przejścia po stanach mod-

elu.Sekwencja stanów Q zależna jest od parwdopobieństw przejść pomiędzy stanami,

zdefiniowna jako:

aij = P (qt = j|qt−1), i,j = 1, ..., N, (17)

która dla i, j = 1, 2, ..., N podaje prawdopodbieństwo aij przejścia ze stanu i do stanu j.

Tak zdefiniowany proces Markova tworzy model opisujący pewien układ, który w

każdym momencie może znajdować się tylko w jednym ze stanów qt. Układ ten ob-

serwujemy w dyskretnych chwilach czasowych t = 1, ..., T . Jeśli w danym momencie ten

układ znajduje się w stanie i, to w momenciet+ 1 przechodzi on do stanu j z prawdopod-

bieństwem aij niezależnie od chwili czasowej t oraz stanów poprzednich. Proces startuje

z jednego ze stanów zgodnie z rozkładem początkowym zdefiniowanym w postaci:

πi = P (q1 = i), i = 1, ..., N, (18)

który określa parwdopodobieństwo rozpoczęcia procesu od stanu i.Każdy model HMM

można zapisać jednoznacznie w sposób zwarty jako λ(A, B, Π), gdzie macierz przejść

A=[aij], macierz wyjść B=[bj(ot)] oraz wektor początkowy π, nazywają się parametrami

modelu [21]. W automatycznym rozpoznawaniu mowy stosowane są najszerzej ze względu

na postać sygnału mowy modele HMM, w których wyjściowe rozkłady prawdopodbieństw

są ciągłe.

33

Page 34: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

W ukrytym modelu Markova zakłada się, że jeden z procesów nie jest bezpośred-

nio obserwowany (ukryte są realizacje stanów modelu), jedynie drugi z nich jest obser-

wowany (w modelu HMM są nimi symbole wyjściowe). Ogólnie każdy model HMM

jest agregacją następujących elemnetów [17]: (S, O, Π, A, B) gdzie S — skończony

zbiór stanów (wartości ogólnego procesu), O — skończony zbiór symboli wyjściowych

(wartości obserwowane), Π — prawdopodobieństwa początkowe stanów, A — macierz

prawdopodobieństw przejść pomiędzy stanami, B — macierz prawdopodobieństw sym-

boli wyjściowych (jeden wiersz odpowiada jednemu stanowi).

Hierarchiczny model HMM, w którym dany model zagnieżdżony jest w szerszym mod-

elu, stanowi narzędzie do jednorodnego modelowania procesu rozpoznawania mowy na

różnych poziomach abstrakcji danych — fonemy, słowa, sekwencje słów. W kontekście

HMM należy wspomnieć o dynamicznych sieciach Bayesa (DBN ang. Dynamic Bayesian

Network). Stanowią one ogólne narzędzie statycznego modelowania systemów zmiennych

w czasie[17].

Tematykę automtycznego systemu rozpoznawania mowy opartego na ukrytch mod-

elach Markova podjęto w wielu pracach, m. in. w: [21, 22, 16, 15] i wielu innych.

4.3.3 Sieci neuronowe

Sztuczne sieci neuronowe ANN (ang. Artificial Neural Networks) są rzeczywistymi

modelami układu nerwowego [18].Według prac [23, 24, 18] sieć neuronowa jest bardzo

uproszczonym modelem mózgu. Zbudowana jest ze sztucznych neuronów lub poprawniej

z elementów neuropodobnych, których pierwowzorem są komórki nerwowe budujące mózg

człowieka. W technicznych sieciach neuronowych elementy te są skrajnie uproszczone i

charakteryzują się podstawowymi właściwościami. Neuron jako techniczny model komórki

nerwowej ma N wejść xn oraz jedno wyjście y (rys.12).

Rysunek 12: Model komórki neuronowej — podstawowy element ANN.

34

Page 35: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Przetwarzanie informacji wejściowej na informację wyjściową uzależnione jest od mogą-

cych się zmieniać współczynników wi nazywanych wagami. Neurony można łączyć w różny

sposób, tworząc sieci. Najprostszą strukturą sieci jest sieć jednowarstwowa, w której jedna

warstwa nie uczestniczy w przetwarzaniu infromacji, natomiast druga pracuje nad właś-

ciwym rozwiązaniem stawianych sieci zadań [24].

Z takich elementarnych fragmentów buduje się sieć, łącząc je ze sobą według pewnych

prostych reguł. Stosowane sieci najczęściej buduje się jako struktury złożone z pewnej

liczby warstw neuronów, połączonych między sobą w sąsiednich warstwach na zasadzie

„każdy z każdym”.

Cykl działania sieci neuronowej jest wypadkową działania poszczególnych neuronów

oraz zachodzących pomiędzy nimi interakcji. Pojedynczy neuron w typowych przypad-

kach realizuje operację iloczynu skalarnego wektora syganłów wejściowych oraz wektora

wag [25]. Sieci neuronowe służące do rozwiązywania wielu zadań z dziedziny przetwarza-

nia sygnałów, klasyfikacji, rozpoznawania i diagnostyki muszą działać według określonych

algorytmów. Algorytmy ANN zawarte są przede wszystkim w strukturze połączeń ele-

mentów sieci neuronowej, w parametrach tych połączeń (wagi) oraz w metodzie uczenia

[18].W systemach rozpoznawania mowy proces uczenia sieci jest realizowany jako proces

uczenia pod nadzorem, czyli z nauczycielem. Na wejście układu podaje się wzorzec oraz

ustala się, jaką odpowiedź chce się uzyskać. Wartość oczekiwaną (ang. target) definiuje

się jako wektor o tylu wymiarach, ile jest wzorców. W przypadku trenowania sieci w

kierunku rozpoznawania danego wzorca, wartość ta wynosi jeden w wymiarze odpowiada-

jącym danemu wzorcowi, a zero we wszystkich innych wymiarach. Proces uczenia sieci

pod nadzorem jest procesem adaptacyjnym, w którym adaptacja wag sieci odbywa się pod

wpływem błędu e(n), określonego dla każdej pary uczącej: wzorzec - target. Korelacja

wartości wag sieci, prowadząca do minimalizacji błędu (różnicy między odpowiedzią sieci

a wartością oczekiwaną) odbywa się dzięki sprzężeniu zwrotnemu. Proces adaptacji dla

układu: wektor wzorca x(n), wektor aktualnej odpowiedzi y(n), wektor wartości oczeki-

wanej d(n) przedstawiony jest na rysunku nr 13. Kompleksowy opis i przegląd prob-

lematyki sztucznych sieci neuronowych zawierają: książka R. Tadeusieuwcza [23] oraz

tom 6 monografii pod red. M. Nałęcza [25].

35

Page 36: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 13: Proces uczenia sieci neuronowej.

Rysunek 14: Schemat działania Automatycznej Tablicy Okulistycznej ATO.

5 Implementacja proponowanego rozwiązania

W niniejszym rozdziale zostanie przybliżony czytelnikowi schemat działania Automaty-

cznej Tablicy Okulistycznej ATO. Tablica została zaprojektowana do użytku domowego,

ale dodatkowo wyposażono ją w funkcjonalności, dzięki którym może być stosowana

również przez lekarzy w ich gabinetach. Autorzy pracy mając do wyboru narzędzia, o

których była mowa w rozdziale 4, postanowili wykonać projekt w środowisku MATLAB,

36

Page 37: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

przyjmując schemat postępowania przedstawiony na rysunku nr 14.

Rysunek nr 14 obrazuje działanie tablicy ATO, podczas rozpoznawania pojedynczego,

wyświetlonego znaku. Dokładne omówienie poszczególnych etapów tego algorytmu znaj-

duje się w podrozdziałach: 5.1 – 5.4.

5.1 Wyświetlanie znaków na tablicy

W trakcie standardowego badania ostrości wzroku w gabinecie okulistycznym, pacjent

rozpoznaje znaki znajdujące się na planszy zawieszonej na ścianie. Znak, który w danej

chwili ma rozpoznać pacjent, jest pokazywany z pomocą wskaźnika lub podświetlany przez

lekarza. Innowacyjnością rozwiązania prezentowanego w niniejszej pracy, jest realizacja

tablicy jako aplikacji komputerowej, wyświetlającej symbole na monitorze. Znaki wyświ-

etlane są pojedynczo i losowo, zwiększa to rzetelność przeprowadzanego badania (badany

nie widzi wszystkich znaków, nie ma możliwości wcześniejszego rozpoznania i zapamię-

tania znaku znajdującego się np. na pozycji obok). Wielkość wyświetlanych znaków

została zaczerpnięta ze standardowego badania, podobnie jak odległość ich wyświetlania,

która wynosi 5m. W tabeli nr 2 [26] znajdują się wartości, służące do wyznaczenia os-

trości wzroku dla odległości d = 5 m. Dokładne omówienie zagadnienia ostrości wzroku

znajduje się w rozdziale 5.4.

Tablica 2: Zestawienie danych do określania ostrości wzroku pacjenta.

D Wysokość oczka literowego Ostrość wzroku

50 m 73 mm 5/50

40 m 58 mm 5/40

35 m 50 mm 5/35

30 m 43 mm 5/30

25 m 36 mm 5/25

20 m 29 mm 5/20

15 m 22 mm 5/15

10 m 15 mm 5/10

7 m 10 mm 5/7

5 m 9 mm 5/5

Wyświetlane przez tablicę ATO znaki, to czarne litery i cyfry na bialym tle. Ich

wielkość została dobrana zgodnie z tabelą nr 2 (”Wielkość oczka literowego”).

37

Page 38: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

5.2 Rejestracja odpowiedzi pacjenta

Głównym założeniem niniejszego projektu było zbudowanie tablicy okulistycznej, w

której decyzja czy badany rozpoznał poprawnie, czy błędnie wyświetlany znak, odbywa

się poprzez analizę odpowiedzi zarejestrowanej przez mikrofon. Po wyświetleniu znaku,

badany ma 3 sekundy na określenie jaki znak widzi. Przez ten czas mikrofon rejestruje

dźwięk. W niniejszym projekcie korzystano z domowych mikrofonów nieprofesjonalnych.

Z założenia aplikacja ma umożliwiać badanie wzroku w domu, dlatego dostosowanie jej

do ogólnodostępnych mikrofonów jest czymś oczywistym.

W czasie rejestarcji dźwięku aplikacja korzysta z wbudowanej funkcji MATLABA o

nazwie: „wavrecord”. Rejestrowane jest 48 000 próbek z częstotliwością próbkowania fp

równą 16 kHz (czas nagrania wynosi 3 sek.). Próbki pobierane są z jednego kanału i

zapisywane jako macierz obiektów typu double.

5.3 Automatyczne rozpoznawanie mowy

Automatyczne rozpoznawanie sygnału mowy (ASR, ang. Automatic Speech Recog-

nition) stanowi główny trzon projektu (rys. 15), w którym odbywa się przetwarzanie

sygnału oraz porównywanie go z wzorcami.

5.3.1 Filtracja wstępna

Początkowy etap przetwarzania sygnału mowy obejmuje proces preemfazy. Polega on

na przeskalowaniu mocy sygnału, aby każdy kolejny sygnał miał taki sam zakres wartości

amplitud (wyższe częstotliwości mają mniejszą amplitudę od niższych). Preemfazę zwykle

uzyskuje się filtrując sygnał filtrem skończonym (FIR, ang. Finite Impulse Response

filter), którego funkcja przejścia w dziedzinie z ma postać:

H(z) = 1− a · z−1, 0 ≤ a ≤ 1 (19)

gdzie a to parametr preemfazy. Typową wartością a jest 0,95, co daje wzmocnienie

wysokich częstotliwości o ponad 20 dB. W dziedzinie czasu zastosowany filtr ma postać:

x′(n) = x(n)− a · x(n− 1) (20)

Taka normalizacja ma na celu uniezależnienie wyników od amplitudy dźwięku oraz wye-

liminowanie szumu tła.

38

Page 39: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 15: Schemat algorytmu automatycznego rozpoznawania mowy w tablicyokulistycznej

5.3.2 Segmentacja sygnału

Stany ustalone w mowie trwają chwilę i ciągle się zmieniają zgodnie ze zmianami

artykulacji. Dlatego zastosowana analiza spektralna musi być przeprowadzona dla krót-

kich odcinków czasu, które można uznać za ustalone, zwane ramkami:

x′t(n) =≡ x′(n− t ·Q), 1 ≤ n ≤ N, 1 ≤ t ≤ T (21)

t — numer ramki,N — długość ramki,Q — przesunięcie.Jeśli Q = N wtedy ramki na

siebie nie zachodzą.

Dzięki zastosowaniu ramki, pomiaru parametrów dokonujemy nie z całego sygnału

dźwiękowego, a tylko z jego fragmentu. Podział sygnału dźwiękowego na ramki powoduje,

iż uzyskujemy ciąg pomiarów, z których każdy jest wektorem odpowiednio zdefiniowanych

39

Page 40: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

cech.

Krótkie ramki (np. 5-10 ms) dają niedokładne informacje o położeniu harmonicznych,

ale umożliwiają dobre wychwycenie szybkich zmian w sygnale. Spektrogramy uzyskane

w ten sposób noszą nazwę szerokopasmowych. Długie ramki (60 - 70 ms) dają dokładne

informacje o położeniu harmonicznych, ale nie są w nich odzwierciedlane szybkie zmiany

spektrum. W związku z tym, że długość ramki ma wpływ na rozdzielczość widma, kom-

promisem jest ramka o czasie około 20 - 30 ms. W projekcie ma ona długość 20 ms, z

przesunięciem 10 ms.

Efektem tej operacji jest seria widm chwilowych. W celu eliminacji pojawiania się

dodatkowych harmonicznych w widmie wygłądza się framgenty przebiegu czasowgo na

jego końcach, poprzez pomnożenie sygnału źródłowego przez odpowiednio skonstruowaną

funkcję okna. W projekcie zastosowano okno Hamminga, powszechnie stosowane w sys-

temach rozpoznawania mowy:

w(n) =

{0, 54− 0, 46 cos( 2πn

N−1) 0 ≤ n ≤ N-10 w przeciwnym przypadku

(22)

Okno (rys. 36) przpomina kształtem połowę cyklu fali sinusoidalnej. Każdą ramkę

Rysunek 16: Okno Hamminga

sygnału przemnożono przez funkcję okna (okienkowanie) w celu zabezpieczenia widma

chwilowego przed pojawieniem się w nim zakłóceń podczas dokonywania przekształcenia

Fouriera.

5.3.3 Parametryzacja

Spośród znanych technik parametryzacji mowy, największe uznanie zyskały metody

widmowe. Ucho ludzkie jest swoistego rodzaju przetwornikiem akustycznym o funkcjon-

40

Page 41: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 17: Schemat zastosowanego algorytmu wyznaczania współczynników MFCC.

alności analizatora widmowego. Celowe jest więc zastosowanie różnych technik analizy

widmowej do wyznaczenia istotnych cech sygnału (ang. feature extraction), za pomocą

których możliwy będzie efektywny opis jego właściwości [12].

W projekcie zastosowano metodę parmateryzacji opartą na analizie sygnału flitrami

pasmowo - przepustowymi rozłożonymi równomiernie na melowej skali częstotliwości. Jest

to metoda prosta, a jednocześnie wydajna w wyznaczaniu współczynników melowo - częs-

totliowściowych z sygnałów dyskretnych. Otrzymano w ten sposób powszechnie stosowane

i uznane za standard melowo - częstotliwościowe współczynniki cepstralne MFCC. Ogólny

schemat zastosowanego algorytmu przedstawiony został na rys. 17

Pierwszym etapem wyznaczania MFCC jest obliczenie dyskretnego widma kolejnej

ramki sygnału za pomocą dynamicznej transformty Fouriera (DFT, ang. Dynamic Fourier

Transform) — z sygnału otrzymuje się widma chwilowe. W projekcie przyspieszono

obliczenia stosując szybką transformtę Fouriera (FFT, ang. Fast Fourier Transform),

wyliczając dla każdej ramki analizowanego syganłu zarówno widma jak i energię (funkcja

melspektrum.m).

Następnie widmo poddawane jest filtracji za pomocą melowego banku filtrów pasmowo

- przepustowych. Przygotowano w tym celu zestaw 12 filtrów w skali Mel, umożliwiających

wygładzenie uzyskanego widma (funkcja melcepst.m). Bank filtrów znormalizowano, tj.

w każdym paśmie częstotliwości maksymalna wartość wynosi 1. Otrzymano dla każdego

filtru charakterystykę zgodną z rys. 18.

Nie zastosowano logartymu energii wygładzonego widma uzyskanego po filtracji, ponie-

waż operacja ta odpowiada procesowi dynamicznej kompresji czyli utracie informacji

z sygnału. Cyfrowo sprowadza się ona do obliczenia logarytmu z kwadratów wartości

uzyskanych na wyjściach zestawu filtrów w skali Mel. Odpowiedź częstotliowościowa za-

stsowanych filtrów ma symulować zachowanie ucha, dlatego takie filtrowanie nosi nazwę

perceptual.

41

Page 42: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 18: Przykład filtru zastosowanego w projekcie.

Rysunek 19: Postać sygnału dla optotypu „8”po wymnożeniu przez bank filtrów.

Otrzymany bepozśrednio wektor zawiera liczbę elementów równą liczbie pasm melowych

tj. 12, dla których dokonano normalizacji, by w każdym suma wartości wynosiła 1 (fukcja

newmel.m). Przykład przetworzonego sygnału widoczny jest na rys. 19

Po przeprowadzeniu odwrotnej transformaty Fouriera (IDFT, ang. Inverse Discrete

Fourier Transform) uzyskuje się zestaw współczynników cepstrum w skali częstotliowści

typu Mel. Cepstrum dobrze wychwytuje wystąpienia formantów traktu głosowego, nawet

jeśli występują szumy. Jednocześnie cepstrum jest dość podobne dla różnych ludzi — jest

ono głównie zależne od zmian artykulacji, a mniej od tonu podstawowego głosu (wysokości

głosu).

Współczynniki MFCC są najważniejszymi parametrami mowy. Uzyskany wektor para-

42

Page 43: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

metrów (cech) yt identyfikuje w systemie rozpoznawania daną jednostkę mowy. Początkowa

ilość informacji opisująca tą jednoskę została przekształcona w znacznie mniejszą ilość.Ta

mała ilość parametrów zgrupowana w wektor może być wykorzystana w algorytmach

porównania.

Opisanej konwersacji uległy sygnały wzorcowe, jak i sygnał dźwiękowy podany przez

pacjenta. Otrzymano macierze wektorów współczynników MFCC, które są niezbędne do

dalszej analizy w bloku ASR.

5.3.4 Nieliniowa transformacja czasowa DTW

Porównanie dwóch wzorców mowy odbywa się poprzez wyliczenie odległości między

każdą parą wektorów tych wzorców za pomocą programowania dynamicznego. Szukana

jest optymalna (o najniższym koszcie) droga między dwoma punktami, wyznaczana jest

ścieżka transformacji czasu. Po nałożeniu pewnych ograniczeń na kształt ścieżki (zbliżenie

do obszaru przekątnej w liniowej transformacji czasu), metoda ta bardzo dobrze spełnia

swoją rolę: eliminuje wpływ nierównomiernego tempa mowy nie pozwalając jednocześnie

na dopasowanie zupełnie innych wzorców. W przypadku prostego systemu rozpoznawa-

nia izolowanych słów o niewielkim słwniku (kilkadziesiąt słów) można pozwolić sobie na

porównywanie wejściowego wzorca z wszystkimi słownikowymi i użycie metody k najm-

niejszych sąsiadów. Dane są następujące szeregi czasowe:

X = x1, x2, . . . , xn Y = y1, y2, . . . , yy (23)

Na ich podstawie stworzno macierz D o wymiarach nxm, której element d(i, j) określa

odległość pomiędzy punktami xi oraz yi rozpatrywanych szeregów czasowych. Każdy

element szeregu X może być przypisany do jednego lub więcej elementów szeregu Y .

Przypisanie dwóch punktów z szeregów określa się jako (i, j) , gdzie i oraz y są indeksami

odpowiednio szeregu X oraz Y .

Ścieżką dopasowania (ang. warping path) W nazywa się ciągły7 szereg elementów

określających przypisanie punktów z rozpatrywanych szeregów do siebie:

W = w1, w2, . . . , wk, . . . , wK , (24)

gdzie K jest całkowitą długością ścieżki mającą następujące ograniczenia

max(m,n) ≤ K ≤ m+ n+ 1 (25)7W sensie ciągłości ścieżki, jako dotyczącej następujących po sobie elementów

43

Page 44: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 20: Wzorce kroku w procesie szukania ścieżki optymalnej metody DTW.

Na ścieżkę dopasowania W nakłada się następujące warunki:

• warunki brzegowe — w1 = (1, 1), wk = (m,n).

• ciągłość — ograniczenie dowolnych kroków w ścieżce dopasowania do sąsiednich pól

macierzy d (również sąsiednich po przekątnej).

• monotoniczność — punkty ścieżki dopasowania muszą być rozłożone monotonicznie

w czasie (nie mogą powracać do raz przypisanych elementów).

Z punktu widzenia określenia podbieństwa szeregów interesująca jest ta ścieżka, która

minimalizuje koszt dopasowania szeregów. Jest to miara rozdzielczości szeregu X do

szeregu Y :

DTW (X, Y ) = minWK∑k=1

D(wk) (26)

Minimalny koszt dopasowania ścieżki liczony od początku macierzy dla każdego ele-

mentu szeregów, zapisywany jest w macierzy λ o wymiarach mxn. Każdy element tej

macierzy zdefiniowany jest jako:

λ(i, j) = D(i, j) +minλ(i− 1, j − 1), λ(i, j − 1), λ(i− 1, j), (27)

gdzie D jest macierzą odległości elementów.

Element λ(m,n) określa minimalny koszt dopasowania do siebie dwóch sekwencji,

natomiast ścieżka, która daje taką wartość, jest szukaną optymalną ścieżką dopasowania

szeregów.

Powyższą rekurencję odnosząc do planu macierzowego można przedstawić jako sumę

minimalnej odległości z trzech sąsiednich węzłów z odległością λf (i, j) znalezioną w bieżą-

cym węźle. Możliwe są inne tzw. wzorce kroku.

44

Page 45: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 21: Przykłady sposobów zawężania obszaru poszukiwań ścieżki dopasowania[27].

W niniejszej pracy przyjęto wzór kroku zgodny ze wzorem (rys. 20 a) czyli badane jest

minimum spośród sąsiadów odpowiednio znajdujących się na diagonali, po lewej stronie i

na dole od badanego węzła.

Aby wyznaczyć ścieżkę dopasowania należy prześledzić jej przebieg. Zaczynając od

końca (ang. backtracking), należy przechodzić przez kolejne sąsiednie elementy macierzy

zgodnie z regułą przechodzenia do elemetu, który jest najmniejszy, oraz przy zachowaniu

wcześniej wspomnianych ograniczeń. Jeśli macierz została wyznaczona prawidłowo, to os-

tatni element ścieżki (pierwszy element ścieżki wynikowej) będzie element (0, 0) macierzy.

Ostatnim etapem jest odwrócenie kolejności w wyznaczonej ścieżce.

W celu zmniejszenia kosztu obliczeniowego algorytmu DTW dąży się do wyelimi-

nowania pewnej przestrzeni rozwiązań (ang. search subspace). Poszukiwanie rozwiązań

ogranicza się wówczas do dopuszczonego regionu. Przykłady ograniczeń obszaru poszuki-

wań przedstawia rys. 21.

Do metod ograniczających przestrzeń poszukiwań zaliczyć można: metodę przeglą-

dania okien (ang. windowing), metodę ważonych prostych kierunkowych (ang. slope

weighting) i inne.

Na rysunku nr 22 przedstawiono wynik działania algorytmu DTW (funkcja dtw2.m)

zastosowanego w projkecie.

Podstawowy algorytm DTW w celu wyznaczenia wartości elementów macierzy odległości

D stosuje standardową miarę euklidesową określoną, jako:

d(i, j) =P∑p=1

√(xp(i)− yp(i))2, (28)

gdzie P jest całkowitą liczbą wymiarów, w jakich opisane są punkty (i, j).

45

Page 46: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 22: Przykład dopasowania dwóch sygnałów dla optotypu „E”.

Miara euklidesowa jest bardzo dobra do porównywania ze sobą dwóch punktów jednak

nie najlepiej nadaje się do porównywania ze sobą szeregów czasowych. Zaproponowano za-

stosowanie metryki cosh, która według badań w pracy [20] pozwala na lepsze dopasowanie

badanych szeregów:

d(i, j) =1

2

P∑p=1

(xi(i)

xj(i)+xj(i)

xi(i)+ 2

)(29)

W niniejszym projekcie dane wejściowe stanowią tablice współczynników melcepstral-

nych. Zadaniem metody DTW jest wyliczenie ścieżki dopasowania o jak najmniejszym

koszcie tej operacji. Całkowity koszt dopasowania tych sekwencji jest miarą podobieństwa

dwóch sgnałów. Im mniejszy koszt tym większe podobieństwo badnaych sygnałów. Sygnał

wzorcowy oraz porównywany zapisane są, w dwóch macierzach X i Y . W zastosowanej

metodzie DTW każda kolumna macierzy odpowiada ramce sygnału testowanego X, a

każdy wiersz przypisany jest do odpowiedniej ramki sygnału wzorcowego Y . Przecięcia

wierszy i kolumn są węzłami, możliwymi elemntami ścieżki dopasowania. Węzeł (i, j)

będący elementem ścieżki dopasowania oznacza, że zostały dopasowane i - ta ramka syg-

nału testowego i j - ta ramka sygnału wzorcowego. Każdy węzeł należący do zbioru węzłów

P=—(i− 1, j),(i− 1, j − 1),(i, j − 1)—, jest potencjalnym poprzednikem węzła(i, j).

W celu usprawnienia działania algorytmu na przestrzeń poszukiwań nakładane są

ograniczenia. W rozwiązaniach przyjętych w pracy została użyta metoda przeglądania

46

Page 47: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

okien, w której granice j węzłów poszukiwań wyznaczane są z warunków:

JMAX = max(m− 1

n− 1· i+ 0, 5m+ 1,m), (30)

JMIN = min(m− 1

n− 1· i− 0, 5m+ 1,m), (31)

Po wyliczeniu ścieżki dopasowania dwóch ciągów czasowych oraz całkowitego kosztu

dopasowania następuje wyznaczenie wyniku rozpoznania optotypu z tablicy, poprzez wyz-

naczenie numeru rozpoznanegp wzorca wraz z minimalną odległością między sygnałami i

porównanie skorelowanej z nim tablicy pseudolosowych znaków z sekwencją wyświetlanych

optotypów.

5.4 Wynik badania

Badanie ostrości wzroku jest podstawowym testem czynnościowym oka i powinno być

przeprowadzone przy każdym badaniu okulistycznym. Ocenia ono widzenie centralne,

które jest funkcją zdolności rozdzielczej czopków zgrupowanych w środkowej części dna

oka, w obszarze dołeczka środkowego (foveola centralis), położonego w centrum dołka

środkowego (fovea centralis).

Aby dwa punkty mogły być postrzegane jako odrębne, emanowane przez nie promienie

światła muszą podrażnić dwa czopki przedzielone jednym niepobudzonym. Średnica 1

czopka równa się ok. 0,004 mm, przyjęto, że minimalna odległość tych punktów musi

odpowiadać wielkości kątowej 1’ (1 min.). Jest to zdolność rozdzielcza siatkówki przyjęta

jako norma. Zasada Snellena, według której opracowane są testy przeznaczone do badania

ostrości wzroku z bliska i z daleka, opiera się na tej normie. Wszystkie znaki tekstowe,

tzw. optotypy (litery, cyfry, ewentualnie inne znaki graficzne lub figury przeznaczone dla

osób nieumiejących czytać), są takiej wielkości i kształtu, aby każdy z ich elementów był

postrzegany pod kątem 1’ z odległości przewidzianej do jego rozpoznania [28]. Ramiona

kąta rozwierają się wraz z odległością od jego wierzchołka, stała wielkość kątowa daje inne

wymiary liniowe wraz z odsuwaniem się obiektu od oka. Snellen wprowadził określenie

ostrości wzroku (visus) przy zastosowaniu ułamka (32):

V =d

D, (32)

Gdzie:

47

Page 48: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

– V — (łac. visus) ostrość wzroku;

– d — odległość z jakiej przeprowadza się badanie wzroku ( tu 5 m);

– D — odległość z jakiej dany znak powinien być widziany pod kątem 5o;

Cały znak jest widziany pod kątem 5’, szczegół znaku widoczny jest pod kątem 1’.

Zasada tworzenia znaków optometrycznych na tablicy Snellena przedstawia rys. 23.

Rysunek 23: Spostrzeganie optotypu na tablicy Snellena.

Badanie ostrości wzroku w dal przeprowadza się dla każdego oka osobno, począwszy od

oka prawego lub chorego przy starannym zasłonięciu oka niebadanego. Tablice Snellena do

badania ostrości wzroku w dal są przeznaczone do jego oceny z odległości 5 m (lub 6m),

a jego wynik jest podawany zgodnie z regułą Snellena w postaci powyższego ułamka.

Dla dzieci przedszkolnych lub młodszych stosowane są optotypy tzw. widełkowe lub

obrazkowe. Stoswane sa również tablice pozwalające na zapisywanie ostrości wzroku w

postaci ułamka dziesiętnego (obecnie najczęściej stosowane). Przy gorszej ostrości (V ≤

6/60) w badaniu dla dali następuje w kolejności przybliżenie tablicy, „liczenie palców”,

ruchy dłoni i badanie poczucia światła.

Ostrość wzroku nie zawsze jest wystarczjącym wskaźnikiem jakości widzenia w sytu-

acji realnego świata ze względu na występowanie u ludzi róznego rodzaju problemów

neurologicznych, katarakt, noszenie soczewek oraz dzięki chriurgii refrakcyjnej.

Testy do badania ostrości wzroku mogą być przeprowadzane z zastosowaniem:

• kartonowych tablic z drukowanymi optotypami,

• tablic z białego szkła, z możliwością podświetlenia poszczególnych rzędów optotypów

lub też pojedynczych,

• rzutowanych optotypów przez projektor na jasny, matowy ekran.

Badanie ostrości wzroku z bliska polega na czytaniu z odległości 30 cm, każdym okiem

osobno, stanadryzowanego tekstu z tablic Snellena do bliży. Wszystkie znaki, zgodnie

48

Page 49: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 24: Przykłady tablic stosowanych w badaniu ostrości wzroku.

z zasadą Snellena, powinny być odczytywane z odpowiedniej odległości (D), wynoszącej

od 0,5 do 3,0 m. Drugi etap badnaia to próba korekcji okularowej. Testy do bada-

nia ostrości wzroku do bliży umożliwiają pomiar tej wielkości zarówno obuocznie, jak i

jednoocznie. Zwykle obuoczna ostrość wzroku może być nieco wyższa niż jednooczna.

Faktyczna niejednakowa ostrość wzroku każdego z oczu do bliży przy jednakowej ostrości

do dali jest ważnym faktem, którego badający nie może zbagatelizować.

Na wynik badania wszelkich testów określających ostrość wzorku ma wpływ szereg

czynników fizjologicznych, fizycznych i psychofizycznych, często od siebie zależnych.

W celu zunifikowania wyników badania ostrości wzorku służących do prównania i dla

celów naukowo - badawczych stosuje się aktualnie testy do badania ostrości wzroku z

zapisem logarytmicznej wartości kąta (norma ISO 8596). Zawierają one po 5 liter w

każdym rzędzie, a Log MAR (minimalnej rozdzielczości kątowej, ang. Minimal Angle of

Resolution) między każdą linią wynosi – 0,1. Każdy optotyp ma przypisaną wartość –

0,02 jednostki Log MAR. Jest to zapis w progresji geometrycznej i obowiązuje on zarówno

w tablicach opracowanych do badania ostrości wzroku w dal, jak i z bliska.

Każda z trzech popularnych tablic do badania ostrości wzroku (przykład rys. 24)

składa się z dziesięciu rzędów optotypów literowych systemu Sloana (ang. Sloan Letters),

po pięć liter w rzędzie.

Te same litery użyte są w każdym z rzędów wszystkich trzech tablic, ale w każdej z

tablic umieszczone są w różnym porządku: w lewej i prawej litery w odpowiednich rzędach

mają odwróconą kolejność, w środkowej znajdują się te same litery uszeregowane losowo.

Wielkość liter w minutach kątowych stopniowo zmniejsza się od pierwszego do dziesiątego

rzędu (licząc od góry) w równych odstępach logarytmicznych, określanych jako logMAR.

49

Page 50: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

W tabeli 3 podano sposób stopniowania wielkości optotypów zarówno w skali logMAR,

jak i w przybliżonej skali Snellena [29].

Tablica 3: Porównanie dwóch skal tablic testowych stosowanych w okulistyce

Rząd LogMAR Snellen

1 0,7 40/200 (20/100)

2 0,6 40/160 (20/80)

3 0,5 40/120 (20/60)

4 0,4 40/100 (20/50)

5 0,3 40/80 (20/40)

6 0,2 40/60 (20/30)

7 0,1 40/50 (20/25)

8 0,0 40/40 (20/20)

9 -0,1 40/32 (20/16)

10 -0,2 40/25 (20/12.5)

Norma DIN 58220 wprowadza 14 stopni ostrości wzroku (bystrość wzorku , V. A. ang.

visual acuity) w formie dziesiętnej. Dzielą się one na 4 grupy:

• ostrość bardzo mała: V = 0,1; 0,125; 0,16; 0,2; 0,25; 0,32; (niedowidzenie, słabe

widzenie);

• ostrość zredukowana: V = 0,4; 0,5; 0,63;

• ostrość od wsytarczającej do bardzo dobrej: V = 0,8; 1; 1,25; 1,6;

• ostrość wyjatkowo dobra V = 2,0;

W projekcie poprawność rozpoznania danego optotypu określono poprzez wyznaczenie

minimalnej ścieżki dopasowania sygnału testowego do wszystkich sygnałów wzorcowych w

ilości 13. Optotypy wzorców wyświetalne są w losowej kolejności. Spośród wyznaczonych

ścieżek wybrano najmniejszą, której przypisany był określony wzorzec, dzięki skorelowanej

z ostrością odpowiednio przygotowanej tablicy. Program dostosowano do badania dla

dali (5 m od monitora komputera), a wynik badania podawnay jest w notacji ułamka

dziesiętnego, wyliczonego zgodnie ze wzorem Snellena. Osiągniętą przez pacjenta ostrość

wzroku zapisywano następująco: jeśli badany rozpoznał wszystkie (tj. 2) optotypy dla

danej linii (wielkości oczka literowego) lub nie rozpoznał jednego, wtedy przypisano mu

50

Page 51: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

ostrość wzroku na tym poziomie. Jeśli badany nie rozpoznał prawidłowo optotypów dla

danej lini, wtedy przypisano mu ostrość wzroku na niższym poziomie. Cała procedura

przedstwiona jest tabeli 4.

Tablica 4: Zestawienie przyjętych parametrów w algorytmie określania ostrości wzroku.

nr linii D VA optotypy w linii przeczytane optotypy grupa ostrości graf.

1 50 0,10 1 1 niedowidzenie :-((

2 40 0,13 2 2-3 niedowidzenie :-((

3 35 0,14 2 4-5 niedowidzenie :-((

4 30 0,17 2 6-7 słaba :-((

5 25 0,20 2 8-9 słaba :-((

6 20 0,25 2 10-11 słaba :-(

7 15 0,33 2 12-13 zredukowana :-[

8 10 0,50 2 14-15 zredukowana :-[

9 7 0,71 2 16-17 dobra :-)

10 5 1,00 2 18-19 (max) bardzo dobra :-))

, gdzie D — odległość, z której elementy są widziane pod kątem 1’, a więc optotyp

powinien być rozpoznawany; V A — ostrość wzroku wyrażona regułą Snellena.

6 Prezentacja działania aplikacji

6.1 Architektura aplikacji

Aplikacja została napisana w środowisku MATLAB. O wyborze tego środowiska za-

ważyło kilka czynników. Po pierwsze MATLAB dostarcza wielu użytecznych narzędzi z

zakresu przetwarzania sygnałów, akwizycji, obróbki i zapisu danych. Do najważniejszych

z punktu widzenia tematyki projektu, zaliczyć można wbudowane funkcje wykorzystywane

do analizy widmowej sygnału, generowania wykresów, projektowania i implementacji fil-

trów, wyświetlania obrazów, nagrywania dźwięków z określoną częstotliwością próbkowa-

nia, zapisu danych do pliku o dogodnym rozszerzeniu.

Po drugie wbudowany pakiet GUIDE (ang. Graphical User Interface Development

Environment), ułatwia projektowanie, budowanie i programowanie interfejsu graficznego

aplikacji tzw. GUI (ang. Graphical User Interface). Główną strukturę opisywanej ap-

likacji stanowi właśnie GUI, które w przejrzysty sposób przeprowadza użytkownika przez

51

Page 52: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

proces badania ostrości wzroku. Kolejnym argumentem przemawiającym za wyborem

tego środowiska, jest możliwość udostępniania napisanej aplikacji w postaci pliku o rozsz-

erzeniu: .exe. Jest to ważne z punktu widzenia dostępności programu, który uruchomi się

bez konieczności posiadania dodatkowego oprogramowania.

Na architekturę aplikacji składają się dwa okna GUI. Nadrzędne okno — okno główne

programu o nazwie „ATO”, uruchamia się wraz ze startem programu i umożliwia przeprowa-

dzenie badania. Okno podrzędne o nazwie „Dane pacjenta”, wywoływane jest po wciśnię-

ciu odpowiedniego przycisku okna głównego. Korzystając z tego okna można zapisać i

wydrukować wynik badania. Celem ułatwienia komunikacji na płaszczyźnie program —

użytkownik, aplikację wypasażono dodatkowo w okna informacyjne np.: okno komuniku-

jące o udanym zapisie do pliku lub o pojawieniu się błędu. Rysunek nr 25 przedstawia

architekturę programu.

Rysunek 25: Schemat uproszczonej architektury programu.

6.2 Okno główne programu

Okno główne jako najważniejsza część interfejsu graficznego aplikacji, zostało zbu-

dowane tak, aby w prosty sposób przeprowadzić użytkownika przez proces badania. Ry-

sunek nr 26 przedstawia widok okna głównego ATO.

Okno główne dzieli się na trzy funkcjonalne części.

• axes — pole wykresu;

• wprowadzanie danych;

52

Page 53: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 26: Okno główne programu ATO.

• przeprowadzanie badania;

We wnętrzu pola axes wyświetlane są kolejno znaki. Zbiór wyświetlanych znaków

opracowano w oparciu o standardową tablicę okulistyczną. Dokonano kilku modyfikacji,

mających na celu zwiększenie precyzji rozpoznawania symboli PRA (ang. Phone Recog-

nition Accuracy) — zastąpiono podobnie brzmiące litery cyframi. Do wyświetlanych

znaków należą: A, E, F, L, O, R, U, Z, 3, 5, 6, 8, 9. Po zakończeniu badania dodatkowo

w polu axes pojawia się wykres słupkowy przedstawiający ilość znaków danej wielkości,

które zostały poprawnie rozpoznane przez badanego.

Przyciski: „Dane pacjenta” i „Nagranie bazy” umożliwiają wprowadzenie przez użytko-

wnika danych, wykorzystywanych przez aplikację. Wciśnięcie przycisku „Dane pacjenta”

powoduje otwarcie okna (podrzędnego względem okna „ATO”) o tej samej nazwie, w

którym wprowadza się dane osobowe badanego. Dokładny opis tego okna znajduje się

w rozdziale nr 6.3. Przycisk „Nagranie bazy” rozpoczyna nagrywanie bazy wzorców

dla każdego ze znaków tablicy. Baza ta jest wykorzystywana w badaniu, do określenia

poprawności rozpoznania wyświetlanego symbolu. Odpowiedź na dany znak tablicy, re-

jestrowana w czasie trwania badania, jest porównywana z nagranymi wcześniej wzorcami

w bazie.

Poniżej przycisków umożliwiających wprowadzanie danych, znajduje się blok przy-

cisków obsługujących badanie. Kliknięcie guzika „Start” rozpoczyna badanie. W polu

53

Page 54: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

axes wyświetlane są kolejno znaki, poczynając od tych największych, a na najmniejszych

kończąc. Kolejność znaków jest przypadkowa — wraz z rozpoczęciem badania, uruchami-

any jest program, który losuje sekwencję wyświetlanych symboli. Na jedno badanie przy-

pada 19 znaków, w tym po dwa znaki dla każdej ostrości wzroku prócz ostrości 5/50.

Tej wartości odpowiada największy rozmiar znaku, który jest wyświetlany tylko jeden raz

(wyjaśnienie nomenklatury znajduje się w tabeli nr 2). Po zakończeniu badania w polu

„Wynik” wyświetla się ostrość wzroku badanego. Przykładowy wynik badania pokazany

jest na rysunku nr 27.

Rysunek 27: Okno główne z wynikiem badania.

Przycisk „Stop” zatrzymuje badanie. Umożliwia tym samym skrócenie przebiegu

badania w przypadku gdy użytkownik, np. lekarz w gabinecie okulistycznym, stwierdzi że

kontynuacja badania nie będzie miała wpływu na jego ostateczny wynik. Ma to miejsce

wtedy, gdy badany nie widzi znaków danej wielkości, a w dalszej kolejności sprawdzeniu

podlegałoby to, czy może widzieć jeszcze mniejsze znaki. Po kliknięciu przycisku „Stop”

rozpoczyna się rejestracja odpowiedzi na widoczny znak. Następnie w polu zawierają-

cym wynik, pojawia się wynik badania (analogicznie jak w przypadku badania, którego

przebieg nie został skrócony).

Przycisk „Wyjście” zamyka program po zakończeniu badania. Skutkuje to zamknię-

ciem wszystkich aktualnie otwartych okien aplikacji i całkowite wyjście z programu.

54

Page 55: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

6.3 Wprowadzenie danych osobowych pacjenta

Na początku pracy z niniejszym projektem założono, że budowana aplikacja będzie

przeznaczona do użytku domowego. Stopniowo w miarę zagłębiania się w tematykę pracy,

stwirdzono jednak, że aplikacja może z powodzeniem być stosowana przez lekarzy, jeśli

wyposaży się ją w dodatkowe funkcje umożliwiające zarządzanie danymi pacjenta. W tym

celu zaprojektowano i zbudowano dodatkowe GUI, podrzędne względem okna „ATO”

okno „Dane pacjenta”. Okno to jest wywoływane spod przycisku „Dane pacjenta” i

zostało zbudowane w oparciu o strukturę formularza. Dzięki temu dane są prezentowane

w sposób czytelny i przejrzysty. Dodatkową zaletą jest możliwość powiązania GUI ze

strukturą bazodanową. Ma to duże znaczenie w przypadku zastosowań ściśle medycznych

(w przychodniach, gabinetach okulistycznych), gdzie kładzie się nacisk na przechowywanie

danych o pacjencie. Rysunek nr 28 przedstawia widok okna „Dane pacjenta”.

Rysunek 28: Okno „Dane pacjenta” programu ATO.

Okno reprezentuje formularz, do którego wprowadza się dane pacjenta. W momencie

otwierania okna, jedynie dwa pola są aktywne: pola z imieniem i datą. Stanowi to

zabezpieczenie, mające na celu wykluczenie pomyłek wynikających z zamiany miejscami

imienia z nazwiskiem. Autorzy zaprogramowali formularz w taki sposób, żeby przejścia

pomiędzy polami realizowane były za pośrednictwem klawisza Enter. Jest to znaczne

55

Page 56: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

ułatwienie, przyspieszające proces wprowadzania danych. Użytkownik nie musi klikać w

kolejne pole formularza, by móc w nim pisać. W trakcie testowania aplikacji, zauważono,

że 80 % użytkowników, odruchowo wciskało klawisz Enter, żeby potwiedzić wporwadzane

w do pola dane i przejść do kolejnego. Okienko zawierające datę badania jest zrealizowane

w postaci aktywnej kontrolki. Data ustawiana jest automatycznie na podstawie daty

systemowej, wyklucza to możliwość pomyłek.

W formularzu zastosowano bardzo ciekawe rozwiązanie, które również ma na celu

ograniczenie ilości błędów związanych z wprowadzaniem danych. Pole zawierające datę

urodzenia pacjenta jest cały czas nieaktywne. Użytkownik nie może wprowadzić do niego

danych. Napisano program, który wyznacza datę urodzenia na podstawie numeru PESEL.

Po wprowadzeniu numeru PESEL i jego zatwierdzeniu klawiszem Enter data urodzenia

pojawia się automatycznie. Numer PESEL zawiera informacje o dacie urodzenia, płci

swojego posiadacza, tzw. numer kontrolny i liczbę porządkową. Cyfry od 1 do 6 tego

numeru ewidencyjnego, zawierają informację o dacie urodzenia zakodowaną w następujący

sposób:

• cyfry 1 i 2 — dwie ostatnie cyfry roku urodzenia;

• cyfry 3 i 4 — miesiąc urodzenia, dla osób urodzonych w latach 1900 - 1999 za-

pisywany jest normalnie, dla osób urodzonych w innych latach numer miesiąca jest

zakodowany:

– lata 1800 - 1899 — numer miesiąca powiększony jest o 80;

– lata 2000 - 2099 — numer miesiąca powiększony jest o 20;

– lata 2100 - 2199 — numer miesiąca powiększony jest o 40;

– lata 2200 - 2299 — numer miesiąca powiększony jest o 60;

• cyfry 5 i 6 — dzień miesiąca;

Dzięki automatycznemu wprowadzaniu daty, użytkownik może sprawdzić czy nie zro-

bił błędu w numerze PESEL, konfrontując swoją datę urodzenia z tą wyliczoną. Do-

datkowo formularz wykorzystuje zależność nr 33, która sprawdza czy numer PESEL nie

jest przekłamany.

S = a+ 3 · b+ 7 · c+ 9 · d+ e+ 3 · f + 7 · g + 9 · h+ i+ 3 · j + k, (33)

56

Page 57: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Litery a− k odpowiadają kolejnym cyfrom numeru PESEL od lewej do prawej. Jeżeli

wartość sumy S nie jest podzielna przez 10, to oznacza, że numer PESEL zawiera błąd.

Niestety korzystając z tego algorytmu, nie można jednoznacznie określić czy dany numer

ewidencyjny istnieje, czy też nie. Przyczyną tego zjawiska jest fakt, że w numerach PESEL

również pojawiają się błędy. Takie pomyłki zdarzają się bardzo rzadko, dlatego algorytm

został zastosowany w aplikacji.

Pasek zadań formularza zawiera trzy kontrolki: „Drukuj”, „Zapisz” i „Zamknij”.

Przyciski „Zapisz” i „Drukuj” powodują zapis i wydruk danych z formularza. Dokładny

opis tych procedur znajduje się w podrozdziale 6.4. Przyciśnięcie przycisku „Zamknij”

powoduje zapis danych zawartych w formularzu do pliku i zamknięcie okna „Dane pac-

jenta”. Podrozdział 6.5 zawiera opis metod weryfikujących poprawność danych wprowadzanych

do formularza.

6.4 Zapis i wydruk wyniku

W nawiązaniu do aspektu medycznego, aplikację wyposażono w funkcje, umożliwiające

zapis i wydruk wyniku. Są wywoływane za pomocą przycisków znajdujących się na pasku

zadań okna „Dane pacjenta”. Po kliknięciu guzika „Zapisz” następuje zapis wyniku

badania do pliku tekstowego o rozszerzeniu .txt. Nazwą pliku jest PESEL badanego i

data badania w formie numerycznej, rozdzielone znakiem podkreślenia: ” ” . Zapis pliku

jest potwierdzany przez okno dialogowe (patrz rys. nr 30). Rysunek nr 29 przedstawia

zawartość pliku z wynikiem badania.

Rysunek 29: Wygląd pliku z wynikiem badania po jego otwarciu.

MATLAB nie wspiera drukowania plików tekstowych (możliwe jest tylko drukowanie

wyników w postaci obiektów o rozszerzeniu .fig). Problem ten rozwiązano, wysyłając dane

57

Page 58: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

do Notatnika i wywołując polecenie drukowania z jego poziomu. Ta metoda będzie działać

tylko na komputerach z systemem operacyjnym Windows, podobnie jak cała aplikacja.

Wydruk wyniku następuje po kliknięciu przycisku „Drukuj” na pasku zadań okna „Dane

pacjenta”.

Rysunek 30: Okno dialogowe informujące o poprawnym zapisie danych do pliku.

6.5 Obsługa błędów

Nawet dobry programista, nie może przewidzieć wszystkich możliwych zdarzeń, jakie

mogą pojawić się w trakcie użytkowania napisanego przez niego programu. Takie nieprzewidziane

zdarzenia nazywają się sytuacjami wyjątkowymi. Pojawiają się wtedy, gdy z pewnych

powodów (np. brak pliku z danymi, błędny format danych, brak podłączonego urządzenia

wejścia/wyjścia itp.) nie jest możliwe wykonanie określonej funkcji lub ciągu instrukcji.

Aby uniknąć gwałtownego przerwania wykonywania się programu, aplikacja została wyposażona

w mechanizmy obsługujące sytuacje wyjątkowe:

• błędy danych wejściowych;

• błędy urządzeń zewnętrznych;

58

Page 59: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Błędy danych wejściowych związane są z ich nieprawidłowym formatem. Pojawiają się

w momencie wprowadzania przez użytkownika informacji do formularza „Dane pacjenta”.

Np.:

• nieprawidłowy format numeru PESEL: numer PESEL za krótki, zawiera litery, nu-

mer nie istnieje (patrz rozdział 6.3 równianie 33);

• nieprawidłowy format imienia/nazwiska: w imieniu/nazwisku występują cyfry;

Do błędów urządzeń zewnętrznych należy brak podłączonego mikrofonu. Gdyby nie

zastosowano obsługi tego błędu, w przypadku braku aktywnego mikrofonu, następowałoby

gwałtowne zatrzymanie pracy programu.

Wystąpienie któregoś z omawianych powyżej błedów, powoduje przewanie wykony-

wania się programu i wyświetlenie stosownego komunikatu użytkownikowi. Komunikaty

wyświetlane są w oknach dialogowych, ich przykłady znajdują się w tabeli nr 5.

Tablica 5: Przykładowe komunikaty błędów: A — brak podłączonego mikrofonu, B —zły format danych w imieniu/nazwisku, C — nieprawidłowy PESEL;

A)

B)

C)

59

Page 60: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

7 Weryfikacja poprawności działania

7.1 Optymalizacja programu

W celu określenia skuteczności projektowanych systemów ARS korzysta się z kryteriów

będących miarami jakości segmentacji jak i pozostałych stosowanych algorytmów. Jako

najważniejsze należy wymienić:

• WRR - ilość poprawnie rozpoznanych słów (ang. Word Recoggnittion Ratio)

• WERR - ilość błednie rozpoznanych słów (ang. Word Error Ratio

• PRR - ilość poprawnie rozpoznznaych fonemów (ang. Phone Recognittion Ratio)

• PRA - precyzja rozpoznawania (ang. Phone Recognition Accuracy

• SNR - stosunek energii sygnału do szumu (ang. Signal to Noise Ratio)

• CR - stopień kompresji (ang. Compression Ratio)

• inne.

Metody praktycznego pomiaru jakości segmentacji pozwalają na ocenę skuteczności algo-

rytmu, na łatwe, szybkie i wiarygodne porównanie otrzymanych wyników [12].

W ramach oceny proponowanego rozwiązania przebadano skuteczność rozpoznawnia

sygnałów ze względu na zastosowaną metrykę w algorytmie DTW tj. euklides i cosh

oraz ze względu na szerokośc okna Hammminga i ilość kanałów melowych, mając do

dyspozycji bazę złożoną z sekwencji 7 nagrań dla 6 osób (4 mężczyzn i 2 kobiety). Każde

nagranie zawierało tablicę 13 sygnałów wzorcowych odpowiadających optotypom podczas

przeprowadzania nagrywania bazy dla badania.

Przy pomocy pakietu Matlab i odpowiednich funkcji skonstruowano macierz o wymi-

arch (42 x 13), w której zapisywano efekt rozpoznawania sygnałów dla zmieniających się

parametrów jako wynik porównania kolejnego sygnału wzorcowego z każdym syganłem

w nagraniach odpowiadajacych kolejności wypowiedzi dla wszystkich osób. Ilość wier-

szy odpowiada numerom sygnałów w nagraniu , natomiast kolumny zawierają tablice

13-elementowe (binarne, jedna wartość 1 tylko w przypadku rozpoznania sygnału) dla 42

nagrań czyli po 7 nagrań dla 6 osób.

60

Page 61: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 31: WRR dla badanych parametrów.

Dla zmian (kombinacji) każdego z 3 badanych parametrów tj. szerokości okna Hamin-

nga, ilości kanałów melowych i rodzaju metryki określono oddzielną macierz dopasowania.

Na podstawie zbioru wszystkich macierzy dopasowań wyznaczono ilość poprawnie rozpoz-

nanych słów WRR (ang. Word Recoggnittion Ratio) przedstawioną na rys.31 (gdzie o. H.

- szerokość okna Hamminga [ms], k - ilość kanałów melowych).

W celu wyznaczenia WERR ilości błędnie rozpoznanych słów (ang. Word Error Ratio)

należałoby od 100 % odjąć wartość WRR. Im wyższa wartość WRR tym niższa wartość

WERR, tzn. program popełnia mniej błedów podczas prozesu analizy i rozpoznawania

sygnałów. Rys. 31 pozwala zauważyć wyższość metryki cosh, nad euklides. WRR dla

metryki euklides wynosi ok. 34 - 28 % natomiast dla metryki cosh ok. 43 - 50 %. Rozrzut

ten wynika z porównania dodatkowych parametrów dla badanego systemu ASR. Najlep-

szą wartość WRR w metryce euklides przypada na szerokości okna Haminnga 15 ms i 6

kanałów melowych ( 34 %), zwiększenie wartości tych parametrów powoduje pogorszenie

badanego kryterium. Zastosowanie szerokiego okna charateryzuje się większym WERR.

W metryce cosh maksmalnlną wartość WRR blisko 50 % określona jest dla szerokości okna

Hamminga 30 ms i 15 kanałów melowych. Od ilości 6 kanałów do 15 następowało polep-

szenie WRR dla każdej szerokości okna, po natomiast spadek. W przpadku zastosowania

szerokiego okna wartość WERR maleje.

Również podjęto się próby oceny wpływu płci badanego na kryteriu WRR. Efekt anal-

izy przedstawia rys. 32.Otrzymane wyniki nie oddają jednoznacznie czy istnieje zależność

płci od rozpoznania, ze względu na nierówmierność ilości osób badanych tj. 2 kobiety i 4

61

Page 62: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 32: Wpływ płci osoby badanej na WRR.

mężczyzn. Z badań literaturowych wynika, że pomiędzy płciami nie ma wyraźnych różnić

w WRR, wynika ona raczej ze stanów chorobowymi, wieku mówców czy osobniczych

zmian w transmisji toru głosowego [9].

Przebadano również WRR względem wozrców wyświetlanych podczas nagrywania pac-

jenta, uwaględniając głównie podział na wykorzystaną metrykę tzn. w tabeli 6 euklides,

a w tabeli 7 cosh oraz szerkość okna Hamminga (o.H. [ms]). Metryka cosh wykazuje zde-

cydowanie lepszą wartość WRR, potwierdzając badania autora pracy [20] . Najbardziej

ropoznawalne wzorce to: 1) dla metryki euklides

• Z, U, 9, 8 (38 - 52%);

2) dla metryki cosh

• 3, Z, 5, U, 6, 8, 9, 8 (42 - 82 %);

Zastosowanie metryki cosh poszerzyło znacznie nie tylko zakres rozpoznawanych opto-

typów ale również ich ilość jest większa. W obu metrykach najbardziej rozpoznawlana

była cyfra 8 (euklides - 52 %, cosh - 82%).

Reasumując można stwierdzić, że proponowana aplikacja przy zastosowaniu metryki

cosh daje zdecydowanie lepsze rezulaty niż stosowana jako standard w DTW metryka eu-

klides. Dzięki przetestowaniu głównych parametrów segmentacji syganłu mowy możliwy

jest dobór ich odpowiednich wartości aby polepszyć skuteczność systemu ARS w au-

tomatycznej tablicy okulistycznej. W podstawowej wersji programu zastosowano sze-

rokośc okna Hamminga równą 20 ms z przesunięciem 10 ms, 12 kanałów melowych oraz

jak już wcześniej wspomniano metrykę cosh w stsosowanym algorytmie DTW.

62

Page 63: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Tablica 6: WRR [%] wyznaczone dla badanych wzorców z zastosowaniem metryki euk-lides.

nr wzorca postać wzorca o. H. =15 o. H. = 25 o. H.=30 o. H.=40

1 3 24,69 22,86 20,14 20,96

2 Z 42,49 40,55 38,80 37,89

3 5 34,13 32,35 28,95 30,41

4 U 43,05 41,31 39,32 38,67

5 6 27,46 26,06 26,62 24,96

6 R 14,67 14,42 14,52 13,09

7 8 52,13 46,77 45,22 45,99

8 O 36,05 35,4 34,69 33,71

9 9 43,49 42,51 40,79 38,89

10 L 23,99 22,63 23,00 22,99

11 A 36,89 34,51 34,62 34,48

12 F 16,73 18,83 17,22 15,94

13 E 21,82 18,64 19,34 19,30

Tablica 7: WRR [%] wyznaczone dla badanych wzorców z zastosowaniem metryki cosh.

nr wzorca postać wzorca o. H. =15 o. H. = 25 o. H.=30 o. H.=40

1 3 51,45 60,13 60,48 58,18

2 Z 47,69 51,28 52,53 51,80

3 5 47,21 46,00 45,67 42,27

4 U 63,68 67,21 68,53 69,98

5 6 59,96 64,85 66,25 65,70

6 R 26,52 25,99 23,91 22,85

7 8 77,71 82,18 82,17 82,27

8 O 38,79 40,14 39,97 41,49

9 9 45,11 50,25 49,16 52,41

10 L 30,31 31,06 31,72 28,72

11 A 32,92 37,24 40,37 38,5

12 F 32,33 32,91 31,42 30,09

13 E 27,97 30,72 31,91 32,35

63

Page 64: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

7.2 Wpływ mikrofonu na skuteczność rozpoznawania mowy

Charakterystyka kierunkowa mikrofonu oraz charakterystyka rozchodzenia się dźwięku

wokół głowy mówcy powinny być uwzględniane jako źródła zniekształceń sygnału, zależne

od usytuowania mówcy i mikrofonu w pomieszczeniu. Typowe rodzaje szumu napotykane

w problematyce ASR to: szum od urządzeń docierający od urządzeń do pomieszczenia,

szum uliczny, muzyka, szum nakładających się wielu głosów (ang. bable noise) [9].

Mikrofon może być źródłem znacznych zniekształceń sygnału, często ma ona na-

jwiększy udział we wprowadzonych szumach. Mikrofony dobrej klasy wnoszą prkaty-

cznie tylko zniekształcenia liniowe, natomiast popularne mikrofony, często niskiej klasy,

również zniekształcenia nieliniowe. Efekt ten wywołany jest głównie małym zakresem

dynamicznym pracy mikrofonu i łatwością jego przesterowania. Urządzenia anologowego

toru elektrycznego takie, jak: wzmacniacze, filtry, rejstratory, złącza czy kable są źródłem

kolejnych zniekształceń sygnału. Przetwornik analogowo - cyfrowy również może wnosić

zniekształcenia liniowe i nieliniowe oraz szum, zwłaszcza szum kwantyzacji.

Sygnał cyfrowy przed wprowadzeniem do systemu ASR może być również narażony na

specyficzne zniekształcenia powstałe podczas jego transmisji lub rejestracji. Często uży-

wane są określenia „złe”i „dobre”w odniesieniu do warunków nagrań czy jakości sygnału.

Precyzując te dwa terminy można powiedzieć, że nagranie „dobrećechuje się wartością

stosunku mocy sygnału do mocy szumu SNR ( ang. Signal to Noise Ratio) powyżej

30 dB oraz szumem stacjonarnym. Nie występują ponadto zniekształcenia nieliniowe, a

charakterystyka zniekształceń liniowych jest stała w czasie i ma łagodny przebieg, tj. nie

występuje głębokie tłumienie w wąskich pasmach. W nagraniu „złym”wartość SNR może

być poniżej 30 dB, a szum mieć charakter niestacjonarny, w tym impulsowy. Mogą też

wystąpić zniekształcenia zmienne w czasie i nieliniowe.

W programie rozpoznawano bardzo krótkie izlowane wypowiedzi, pojedyncze wyrazy,

wpowiedzane przez różnych mówców (system niezalezny od mówcy). Szum addytywny

i zniekształcenia nieliniowe są na poziomie pozwlającym zaniedbać ich wpływ. Natomi-

ast zniekształcenia liniowe charateryzują się łagodym przebiegiem charakterystyki ampli-

tudowej oraz wolno zmieniają się w czasie. Zniekształcenia tłumiące sygnał użyteczny

całkowicie w podpasmach nie występują. Tak przyjęte warunki akustyczne działania sys-

temu ASR pozwalają na jego zastosowanie w pomieszczeniach mieszkalnych, biurowych,

bądź innnych ale dobrze wytłumionych.

64

Page 65: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Nagrania na potrzeby projektu wykonano w pomieszczeniach stacjonarnych (pokoje

akademickie, mieszkanie) przy pomocy mikrofonu pojemnościowego. Rejsteracja prowad-

zona była w polu bliskim. Poziom tła akustycznego w większości nagrań był niski.

7.3 Podsumowanie

Wzrok jest podstawowym zmysłem wykorzystywanym podczas uczenia się, a 85 % in-

formacji podczas uczenia się jest przyswajanych dzięki narządowi wzroku. Dobre widzenie

jest podstawowym warunkiem prawidłowego intelektualnego rozwoju każdego z nas [30].

W takim razie niezbędne jest sukcesywne badanie ostrości wzroku nie tylko w gabinecie

okulistycznym ale również osobiście, co umożliwia zbudowana przez autorki aplikacja.

Aplikacja wyświetla pseudolosowe znaki o malejącej wysokości oczka literowego, zgod-

nie z przebiegiem badania okulistycznego (zmiana linii). Każdy obraz zawiera literę,

której wielkość jest skorelowana z ostrością wzroku. Słowa pacjenta nagrywano i jako

sygnały dźwiękowe poddano podziałowi na ramki. Stan energetyczny mowy ciągle się

zmienia ze zmianami artykulacji, dlatego analizy sygnału dokonuje się dla krótkich od-

cinków czasowych, zwanych ramkami lub momentami widmowymi. W projekcie zas-

tosowano okno Hamminga, które jest najczęściej wybierane dla obróbki sygnału mowy.

Od widma sygnału przechodzi się do skali melowej poprzez przemnożenie go przez bank

filtrów melowych. Następnie przy pomocy algorytmu DTW wyznaczono optymalną (na-

jmniejszą) odległość miedzy dwoma ciągami czasowymi widm sygnałów w skali melowej.

Spośród otrzymanych odległości wybiera się najmniejszą, dla której sygnał wejściowy z

sygnałem z bazy są najbardziej podobne. Otrzymana efektywność programu jest zadawala-

jąca, według publikacji naukowych na temat zastosowanego rozwiązania, skuteczność al-

gorytmu powinna być taka sama jak programu. Istotnym etapem programu jest blok

rozpoznawania sygnału mowy, ponieważ na nim oparty jest cały projekt. Proces ten

musi być niezawodny i sprawny, co pozwala na osiągnięcie jak najlepszych rezultatów

końcowych badania ostrości wzroku pacjenta.

Za najważniejsze osiągnięcia pracy autorki uważają:

• Implementację łatwej w obsłudze aplikacji, w której istnieje możliwość kompel-

skowego a jednocześnie prostego pomiaru ostrości wzroku przez osobę korzystającą.

• Poszerzenie wiedzy i umiejętności z zakresu cyfrowego przetwarzania sygnałów, w

tym rozpoznawania sygnałów mowy.

65

Page 66: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

• Analizę wpływu podstawowych parametrów analizy sygnału na proces rozpoznawa-

nia mowy.

• Określenie wpływu mikrofonu na rezultaty badania.

• Wprowadzenie wstępnej analizy diagnostycznej poprzez zastosowanie wyniku bada-

nia zgodnego z wymogami obowiązujących norm oraz jego klasyfikację do odpowied-

niej grupy ostrości wzroku.

• Zapis danych pacjenta oraz wyniku badania w pliku *.txt oraz możliwość jego

wydruku.

Głównym mankamentem napotkanym podczas realizacji projektu były limity cza-

sowe. Z uwagi na niedługi okres przygotowania projektu inżynierskiego zaimplemen-

towano podstwową wersję programu. Aplikacja ta może stać się uniwersalna dzięki zas-

tosowaniu:

• standardowej tablicy okulistycznej z podświetlanymi znakami w liniach;

• optotypów dla osób o znacznym poziomie niedowidzenia, jak i też dla osób oraz

dzieci nie umiejących czytać;

• innych metryk w algorytmie DTW, mogących znacznie zmniejszyć błędy podczas

rozpoznawania syganłu;

Problematyka automatycznej tablicy okulistycznej jest bardzo interesująca i stanowi

ciekawy temat prac naukowych, w tym pracy inżynierskiej.

66

Page 67: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

8 Dodatek A: Instrukcja obsługi

8.1 Wymagania sprzętowe

Aplikacja została zbudowana w systemach Windows XP i Windows Vista 32-bit z

wykorzystaniem pakietu Matlab 7.5 R2007b.

W celu rozbudowy oprogramowania należy spełniać wymagania konieczne do instalacji

pakietu MATLAB 7.5 R2007b:

• system operacyjny 32-bit: Windows XP(Service Pack 1 lub 2)/Windows 2000(Ser-

vice Pack 3 lub 4)/Windows Server 2003(Service Pack 1 lub 2)/Windows Vista

• procesor: Intel Pentium (Pentium IV i wyżej)/Intel Celeron/Intel Xeon/Intel Core

• miejsce na dysku: 510 MB

• pamięć RAM: 512 MB

Sam program pracuje niezależnie od środowiska MATLAB. Do jego obsługi konieczny

jest komputer z wbudowanym mikrofonem lub komputer i mikrofon zewnętrzny, który

podłącza się do wejścia audio. Dodatkowo należy zainstalować pakiet Visual Studio C++

2005 (dołączony na płycie CD-ROM).

8.2 Instalacja aplikacji

Krok 1. Wsadzić dołączoną płytę CD do napędu CD-ROM.

Rysunek 33: Ikona instalatora ato.exe.

Krok 2. Uruchomić plik ato.exe (rys. 33) zawarty na płytce. Po uruchomieniu insta-

latora pojawi się okno widoczne na rysunku 34.

W polu: „Folder docelowy” należy podać lokalizację, w której ma być zapisany pro-

gram. Przycisk: „Przeglądaj” pozwala na wybranie miejsca zapisu programu. Po dokona-

niu wyboru lokalizacji, należy wcisnąć przycisk: „Instaluj”. Krok 3. W celu uruchomienia

programu należy wejść do wybranej przez siebie w punkcie: krok 2 lokalizacji, otworzyć

67

Page 68: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 34: Instalacja krok pierwszy.

katalog o nazwie „distrib” i uruchomić program ato.exe. Aplikacja jest już gotowa do

użycia.

8.3 Uruchamianie programu

Program uruchamiany jest po kliknięciu ikony pliku o nazwie ato.exe w katalogu o

nazwie „distrib” (rys.35).Po chwili pojawi się okno główne aplikacji (rys. 36).Okno składa

się z trzech elementów:

• pole tablicy — przestrzeń w której wyświetlane są znaki tablicy okulistycznej;

• wprowadzanie danych — przyciski umożliwiające nagranie bazy dźwięków pacjenta

i wprowadzenia jego danych osobowych;

• przeprowadzanie badania — panel „Badanie” z trzema przyciskami:

– Start — rozpoczyna badanie;

– Stop — kończy badanie;

– Wyjście — zamyka program;

68

Page 69: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 35: Uruchamianie aplikacji.

Rysunek 36: Okno główne aplikacji.

8.4 Przeprowadzanie badania

Aby przeprowadzić badanie należy uruchomić program (8.3) i postępować zgodnie z

instrukcją.

a) Ustawienie rozdzielczości ekranu.

Należy ustawić rozdzielczość ekranu na 1280x 800 pikseli.

b) Ustawienie ekranu i mikrofonu.

Ekran monitora należy ustawić na linii wzroku pacjenta w odległości 5 m od badanego.

Mikrofon podłączyć do gniazda audio komputera i podać pacjentowi.

c) Przygotowanie pacjenta.

Wyjaśnić pacjentowi w jaki sposób będzie przebiegać badanie: na ekranie moni-

tora będa wyświetlane znaki o różnej wielkości, które badany będzie rozpoznawać.

69

Page 70: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Badanie przeprowadzane jest dla każdego oka oddzielnie, dlatego jedno oko pacjent

musi mieć zasłonięte np. swoją dłonią, chusteczką higieniczną. Zadaniem pacjenta,

będzie powiedzenie do mikrofonu jaki znak widzi, zaraz po jego pojawieniu się na

ekranie. Po zakończeniu badania dla jednego oka ( 19 znaków), wyświetlany jest

wynik badania w postaci wykresu słupkowego. Każdy słupek ilustruje ile razy pac-

jent poprawnie rozpoznał znak ( dla wszystkich rozmiarów oprócz 50, maksymalna

ilość poprawnych rozpoznań znaku wynosi 2, dla rozmiaru 50 wynosi 1). W polu

„Wynik” pojawi się szacowany zakres ostrości wzroku badanego. Lekarz odnotowuje

wynik badania dla jednego oka i przeprowadza badanie jeszcze raz dla oka drugiego.

d) Nagranie bazy dźwięków pacjenta.

Przed wykonaniem badania należy nagrać bazę dźwięków pacjenta. Dzięki temu,

aplikacja będzie dostosowana do rozpoznawania mowy danej osoby. Aby nagrać bazę

należy kliknąć przycisk „Nagranie bazy” (rys. 36). Po kliknięciu tego przycisku

rozpoczyna się wyświetlanie symboli. Ich wielkość jest tak dobrana, że powinny być

bez trudu widoczne z odległości 5 m. Dla pewności, można posadzić badanego na

czas nagrania bazy tuż przed komputerem. Po pojawieniu sie danego znaku, badany

mówi do mikrofonu jaki symbol widzi. Wyświetlane jest 13 znaków, każde nagranie

trwa 3 sekundy. Po zakończeniu nagrywania bazy można rozpocząć badanie wzroku

z odległości 5 m od ekranu komputera.

e) Rozpoczęcie badania.

W celu rozpoczęcia badania należy kliknąć przycisk „Start” z panelu „Badanie”

(rys. 36). Po kliknięciu przycisku „Start” rozpocznie się wyświetlanie znaków na

tablicy (rys. 37).

Po wyświetleniu obrazka, pacjent mówi do mikrofonu jaki znak widzi na tablicy.

Nagranie trwa 3 sekundy. Wyświetlane jest kolejno 19 znaków o zmiennej wielkości.

Po zakończeniu badania w polu „Wynik” pojawia się wynik badania — ostrość

wzroku.

Ponowne kliknięcie przycisku „Start” panela „Badanie”, rozpocznie kolejne badanie

(np. dla drugiego oka).

f) Zakończenie badania.

W celu zakończenia badania należy kliknąć przycisk „Stop” z panela „Badanie”. Po

70

Page 71: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 37: Przykładowy znak wyświetlany na tablicy.

rejestracji ostatniej głoski wypowiedzianej przez pacjenta, w polu „Wynik” pojawia

się wynik badania — ostrość wzroku. (rys. 38). W celu ponownego rozpoczęcia

badania, należy wcisnąć przycisk „Start”.

g) Wprowadzanie danych pacjenta.

Dane osobowe pacjenta wprowadza się do specjalnego formularza. Aby go otworzyć,

należy kliknąć przycisk „Dane pacjenta” (rys. 36). Po chwili pojawi się okno for-

mularza (rys. 39).

Po otworzeniu okna jedynie dwa pola są aktywne: pole z imieniem i datą. Klaw-

isz Enter zatwierdza wprowadzaną daną i przenosi kursor o jedno pole niżej. Po

wpisaniu imienia i jego zatwierdzeniu uaktywnia się okienko z nazwiskiem. Podobnie

zachowuje się pole z numerem PESEL. Data urodzenia jest wyliczana automatycznie

na podstawie numeru ewidencyjnego PESEL.

i) Zapis i wydruk danych.

Aby zapisać dane badanego należy wybrać opcję „Zapisz” na pasku narzędzi okna.

Plik zapisywany jest w formacie tekstowym w lokalizacji, którą wybrano przy in-

stalowaniu aplikacji. Nazwa pliku składa się z dwóch liczb: numeru PESEL i daty

71

Page 72: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Rysunek 38: Okno główne z wynikiem badania.

Rysunek 39: Okno „Dane pacjenta” programu ATO.

badania, oddzielonych znakiem podkreślenia: ” ”.

Aby wydrukować dane należy na pasku zadań okna wybrać opcję „Drukuj”. Dane

drukowane są z poziomu Notatnika. Po wybraniu opcji drukowania, następuje ot-

72

Page 73: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

warcie pliku w notatniku i uruchomienie drukowania.

By powrócić do okna głównego, należy na pasku zadań wybrać opcję „Zamknij”.

Następuje wtedy zapis wprowadzonych danych, zamknięcie okna „Dane pacjenta” i

powrót do okna głównego programu.

j) Zakończenie pracy z programem.

Celem zakończenia pracy z programem, należy wcisnąć przycisk: „Stop” z pan-

ela: „Badanie”, odczekać na pojawienie się wyniku badania, a następnie wcisnąć

przycisk: „Wyjście”. Należy pamiętać o zachowaniu tej kolejności, w przeciwnym

wypadku, program może zachować się w sposób trudny do przewidzenia.

9 Dodatek B: Metody badania ostrości wzroku

Niniejszy załącznik opracowano w oparciu o następujące pozycje literaturowe [28]

badanie.

Zazwyczaj powodem wizyty w gabinecie okulistycznym bywa okresowa kontrola oczu,

dobór okularów lub dolegliwości narządu wzroku. Podstawowymi badaniami okulisty-

cznymi są badania: ostrości wzroku, rodzaju wad wzroku, przedniego odcinka oka, dna

oka, ciśnienia sródgałkowego i pola widzenia.

Badanie ostrości wzroku

Pomimo swej prostoty, w okulistyce badanie to jest ważne, ponieważ większość schorzeń

oka objawia się pogorszeniem ostrości widzenia. Wykonuje się je zarówno podczas badań

kontrolnych, jak i przy leczeniu poważniejszych schorzeń okulistycznych. Do skontrolowa-

nia ostrości widzenia potrzebne są jedynie specjne tablice, na których umieszczane są

odpowiednie znaki, tzw. optotypy. Można wyróżnić następujące aspekty ostrości wzrokowej:

• detekcja (łac. mimimum perceptabile),

• zdolność rozdzielcza (łac. minimum separabile)

• ostrość noniuszowa (Werniera),

• ostrość rozpoznawania/czytelności (łac. mimimum cognobile).

Dokładny opis zagadnień związanych z ostrością wzroku zawiera rozdział 5.4.

73

Page 74: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Badanie rodzaju wad wzroku

Okulista dysponując szkłami i specjalnymi oprawkami okularowymi dokonuje korekcji

wady za pomocą tablicy z optotypami. Przy złożonych wadach wzroku pomocne staje się

wcześniejsze określenie refrakcji oka (rodzaju wady metodą tzw. skiaskopii lub za pomocą

refraktometrii komputerowej.

Skiaskopia

Podczas badania lekarz posługuje się płaskim lusterkiem z otworkiem w środku, przez

który spogląda, żzucając”w kierunku badanego oka odblask odbity od żródła światła i ob-

serwuje czerwone odblaski z dna oka. Analiza przesuwania się tych odblasków względem

przesuwanego lusterka (z prawej do lewej, z góry do dołu, skośnie) pozwala na określe-

nie rodzaju wady wzroku, tzn krótkowzroczność, nadwzroczność zy astygmatyzm oka.

Ustawienie właściwego szkła korekcyjnego przed badanym okiem powoduje powstanie

równomiernego odblasku z dna oka, który się nie przesuwa orzy ruchach lusterka. Wartośc

optyczna szkła wyznacza obiektywaną wielkość wady wzroku.

Skiaskopia jest uzupełnieniem badania ostrości wzroku. Ma ono istotne znaczenie przy

badaniu dzieci i osób z trudnym kontaktem.

Refraktometria komputerowa

Automatyczna refraktometria zw. komputerowym badaniem refrakcji pozwala na zau-

tomatyzowane i szybkie wyzncazenie wady wzroku badanego. Działanie aparatury opiera

się na zasadzie refraktometrii subiektywnej (optometrii), tzn. wprowadzaniu przed oko

soczewk o różnej mocy aż do momentu optymalnej korekcji ostrości wzroku, lub na za-

sadzie automatycznej skiaskopii przy użyciu podczerwieni.

Po obu metodach konieczne jest sprawdzenie ostrości wzroku metodą tablic optoty-

powych, zakłądając szkła próbne. Wymagana jest konfrontacja wyników z indywidual-

nymi odczuciami i tolerancją dobranych szkieł przez badanego.

Oglądanie przedniej części oka

Przednią część oka bada się na początku makroskopowo, oględziny takie powinny być

rozszerzone o badanie tzw. lampą szczelinową. Przyrząd ten składa się z części oświt-

lającej, która jest źródłem dobrej jakości światła oraz z części optycznej - obuocznego

mikroskopu. Przy zastosowaniu dodatkowych przyrządów optycznych ocenia się inne

części oka.

Badanie dna oka

74

Page 75: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Badanie to jest niezwykle ważne, pozwala na rozpoznanie większości schorzeń oka, zwłaszcza

siatkówki, błony naczyniowej, newru wzrokowego i ciałka szklistego. Obraz dna oka

pozwala również na ocenę takich schorzeń jak np. nadciśnienie tętnicze, cukrzyca, mi-

ażdzyca, ponieważ w dnie oka można obejrzeć drobne naczynia krwionośne i ocenić ich

stan. Przed wykonaniem badania zakrapla się do oka krople z atropiną, które rozsz-

erzają źrenicę i umożliwiają łatwiejsze obejrzenie dna oka. Następnie stosowany jest

wziernik okulistyczny zw. oftalmoskopem, który w głowicy posiada specjalny układ opty-

czny kierujący strumień swiatła żarówki w kierunku badanego oka. Dodatkowo przyrząd

ten wyposażóny jest u układ soczewek o różnej wartości optycznej.

Mierzenie ciśnienia śródgałkowego

Obecnie do pomiaru tego parametru używa się specjalnych urządzeń zw. tonomerami.

Wartość ciśnienie śródgałkowego jest określana z wielkości tzw. wgłębienia rogówki przez

końcówkę tonometru lub wielkości siły, jaka jest potrzebna do spłaszczenia określonego

fragmentu rogówki. Im ciśnienie w oku jest wyższe, tym w mniejszym stopniu można przez

ucisk na rogówkę odkształcić ją (spłaszczyć lub zagłębić). Wadą tych przyrządów jest

konieczność dotknięcia do oka badanego, a więc oko winno być znieczulone, a końcówka

aparatu sterylna.

W ostatnich latach opracowano dokładne metody pomiaru ciśnienie śródgałkowego

przy użyciu bezdotykowych tonometrów. Jego zasada działania polega na komputerowej

analizie przez odpowiedni układ optyczny wielkości odkształcenia fragmentu rogówki po

uderzeniu jej strumieniem powietrza.

Ciśnienie śródgałkowe jest bardzo istsotnym czynnikiem w rozpoznawaniu jaskry.

Badanie pola widzenia

Wykorzystuje tzw. polometry komputerowe. Podczas badania osoba obserwuje i sygnal-

izuje pojawienie się w polu widzenia świetlnego znaczka o odpowiednio dobranej wielkości

i kontraście. Jest to istotne badanie w diagnostyce chorób siatkówki.

10 Dodatek C: Spis zawartości dołączonych nośników(CD-ROM)

Na nośniku CD - ROM znajdują się następujące katalogi:

1) Projekt:

75

Page 76: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

• ato.exe — program do instalacji aplikacji, po zainstalowaniu pojawiają się dwa

katalogi: distrib — zawierający plik .exe uruchamiający program i zawierający pliki

niezbędne do jego prawidłowego działania; src — zawierający źródła programu;

• matlab — katalog zawierający wszystkie pliki wykorzystane w aplikacji;

2) Raport:

• ProjektATO.pdf — plik zawierający treść projektu inżynierskiego w formacie .pdf ;

• ATO.ppt — (Automatyczna Tablica Okulistyczna) prezentacja Power Point zawier-

ająca omówienie projektu;

11 Dodatek D: Spis procedur informatycznych

76

Page 77: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

Literatura

[1] L. Rabiner, Juang Biing-Hwang. Fundamentals of Speech Recognition. Prentice Hall

1993.

[2] R. Tadeusiewicz. Sygnał mowy. Wydawnictwo Komunikacji i Łączności, Warszawa

1988.

[3] R. Tadeusiewicz, A. Izworski, W. Wszołek. Pathological speech evaluation using the

artificial intelligence method. Medical and Biological Engineering and Computing Vol.

35 pp. 307. 1997.

[4] S. Grocholewski. Statystyczne podstawy systemu ARM dla języka polskiego.

Wydawnictwo Politechniki Poznańskiej, Poznań 2001.

[5] Cz. Basztura. Rozmawiać z komputerem. Wydawnictwo Prac Naukowych „FOR-

MAT”, Wrocław 1992.

[6] Using Opera with Voice. http://www.opera.com/browser/tutorials/voice/

using/#foryou. Wersja z dnia: 10.11.2009 r.

[7] K. Szklanny. Synteza mowy w e-learningu dla osób niepełnosprawnych. http://

www.syntezamowy.pjwstk.edu.pl/publikacje/artykulvu.pdf. Wersja z dnia:

10.11.2009 r.

[8] M. Kłaczyński. Zjawiska akustyczne w kanale głosowym człowieka. Rozprawa dok-

torska AGH, 2007.

[9] P. Mrówka. Algorytmy kompensacji warunków transmisyjnych i cech osobniczych

mówcy w systemach automatycznego rozpoznawania mowy Praca doktorska, Po-

litechnika Wrocławska, Instsytut telekomunikacji, Teleinformatyki i Akustyki, Ra-

port Nr I28/PRE-001/07, Wrocław 2007.

[10] T. Zieliński. Cyfrowe przetwarzanie sygnałów. WKŁ, Warszawa 2005.

[11] B. Gajić, K. Paliwal K.. Speech parameterisation for Automatic Speech Recognition.

Proc. Norwegian Symp. Signal Processing, NORSIG–01, Trondheim, Oct. 2001.

[12] J. Gałka. Optymalizacja parametryzacji sygnału w aspekcie rozpoznawania mowy pol-

skiej. Rozprawa doktorska AGH, 2008.

77

Page 78: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

[13] http://en.wikipedia.org/wiki/File:Spectrogram-19thC.png. Wersja z dnia:

04.01.2010 r.

[14] J. Janiszewski. System analizy i rozpoznawania mowy w oparciu o procesor sygnałowy

TMS320C6711. Politechnika Śląska w Gliwicach 2003.

[15] Campbell J.P. J. R.. Speaker recognition: a tutorial Proceedings of the IEEE vol. 85,

pp. 1437-1462. 1997.

[16] L.R. Rabiner. Fundametals of speech recognition Pretice-Hall, Inc.. 1993.

[17] W. Kasprzak. Rozpoznawanie obrazów i syganłów mowy. Oficyna Wydawnicza Po-

litechniki Warszawskiej 2009.

[18] Cz. Basztura. Komputerowe systemy diagnostyki akustycznej. Wydawnictwo

Naukowe PWN, Warszawa 1996.

[19] Saeed K. Adamski M.. Klasyfikacja podpisu offline z wykorzystaniem metody DTW

Wydział Informatyki Politechniki Białostockiej, XIV KBIB’ 05. 2005.

[20] J. Gałka. Distance measures for wavelet representation of speech segments. Kra-

jowa Konferencja Zastosowań Matematyki w Biologii i Medycynie.Koninki, 26 – 29

Wrzesień 2006.

[21] S. Wydra. Zastosowanie parametryzacji mieszenj w systemie rozpoznwania mowy

polskiej Państwowe Warsztaty Telekomunikacyjne, Poznań. 2006.

[22] Demenko G. Michałek M.. Speech analysis, synthesis, and recognition in technol-

ogy, linguistics and medicine. Materaiły Konfrencji Nuakowej Szczyrk 23-26.09.2003,

Uczelniane Wydawnictwa Naukowo - Dydyaktyczne, Kraków 2003.

[23] R. Tadeusiewicz. Sieci neuronowe. Warszawa : Akademicka Oficyna Wydaw. RM

1993.

[24] R. Tadeusiewicz. Elementarne wprowadzenie do techniki sieci neuronowych. Aka-

demicka Oficyna Wydawnicza PLJ, Warszawa 1998.

[25] Nałęcz M. (red.) Korbicz J. Rutkowski L. Tadeusiewicz R. (red. tomu). BIOCY-

BERNRTYKA I INŻYIERIA BIOMEDYCZNA 2000, Tom 6 Sieci neuronowe . 2000.

78

Page 79: Automatyczna tablica okulistyczna w oparciu o mel-cepstralną

[26] A. Pielecki, E. Skrzetuska. Nauczanie niedowidzących w klasach 4-8. http://

pedagogikaspecjalna.tripod.com/notes/_WZROKU.htm 1991. Wersja z dnia:

10.11.2009 r.

[27] Pazzani M. Keogh E.. Scaling up Dynamic Time Warping to Massive Datasets De-

partment of Information and Computer Science, University of California, Irvine,

California.

[28] H. Niżanowska M.. Okulistyka.Podstawy kliniczne. Wydawnicwtwo Lekarskie PZWL

2007.

[29] T. Grosvenor. Borish Card II. Tablice wektograficzne do badania bliży. Optyka-

Optometria. 2003.

[30] L. Press. Vision and school performance Optyka-OptometriaCinical Pediatric Optom-

etry. 1993.

79