Upload
lamtuyen
View
251
Download
13
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
10 Dodatek C: Spis zawartości dołączonych nośników (CD-ROM) 75
11 Dodatek D: Spis procedur informatycznych 76
12
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
• ś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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
– 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
• 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
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
[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
[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