POLITECHNIKA CZĘSTOCHOWSKA Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej
Mgr inż. Mariusz KUBANEK
METODA ROZPOZNAWANIA AUDIO-WIDEO MOWY POLSKIEJ W OPARCIU O UKRYTE MODELE MARKOWA
PRACA DOKTORSKA
Promotor Prof. dr hab. inż. Leonid Kompanets
Częstochowa, 2005
2
SPIS TREŚCI
1. FORMUŁOWANIE PROBLEMU ROZPOZNAWANIA AUDIO-WIDEO MOWY POLSKIEJ........................................................................................................................... 4
1.1. Specyficzne cechy audio-wideo mowy jako obiekt do rozpoznawania ........................... 4
1.2. Przegląd analityczny metod rozpoznawania audio-wideo mowy ...................................... 7
1.3. Cel i teza pracy, bronione rozwiązania naukowe.................................................................. 21
2. SZKIC METODY AV_Mowa_PL..................................................................................... 23
2.1. Wymagania funkcjonalne do opracowania metody AV_Mowa_PL ................................ 23
2.2. Specyfika podstawowych informacyjnych procedur metody............................................ 24
2.3. Proponowane sposoby fuzji charakterystyk audio-wideo sygnałów............................... 30
3. TWORZENIE WEKTORÓW OBSERWACJI SYGNAŁU AUDIO MOWY................. 34
3.1. Zasady tworzenia wektorów obserwacji sygnału mowy..................................................... 34
3.2. Proponowane metody ES i CZS do definiowania słów izolowanych.............................. 40
3.3. Specyfika kodowania sygnału mowy w postaci cepstrum ................................................. 47
3.4. Kwantyzacja wektorowa cepstrum za pomocą algorytmu Lloyda................................... 55
4. OSOBLIWOŚCI STOSOWANIA UKRYTYCH MODELI MARKOWA W METODZIE
AV_Mowa_PL ................................................................................................................... 63
4.1. Wybór struktury i parametrów ukrytych modeli Markowa dla rozpoznawania audio-
wideo mowy polskiej .................................................................................................................... 63
4.2. Algorytm Viterbiego do inicjowania wstępnych parametrów modeli ............................ 72
4.3. Algorytm Bauma-Welcha do reestymacji parametrów modeli......................................... 76
4.4. Specyfika estymacji parametrów ukrytych modeli Markowa ........................................... 80
5. TWORZENIE WEKTORÓW OBSERWACJI SYGNAŁU AUDIO-WIDEO MOWY
POLSKIEJ......................................................................................................................... 87
5.1. Opracowanie metody detekcji twarzy na podstawie koloru skóry................................... 87
5.2. Metoda lokalizacji oczu do wyznaczenia obszaru ust ......................................................... 93
5.3. Proponowana metoda CSM wykrywania krawędzi ust z obrazu wideo ......................... 97
3
6. OPRACOWANIE SYSTEMU AVM_PL DO REALIZACJI METODY AV_Mowa_PL ................................................................................................................ 108
6.1. Struktura i charakterystyki techniczne systemu .................................................................. 108
6.2. Ekstrakcja charakterystyk sygnałów audio-wideo mowy................................................. 119
6.3. Fuzja charakterystyk audio-wideo mowy.............................................................................. 131
6.4. Budowa i nauczanie parametryczne ukrytych modeli Markowa.................................... 134
7. BADANIE POZIOMU BŁĘDÓW METODY AV_Mowa_PL ZA POMOCĄ SYSTEMU
AVM_PL .......................................................................................................................... 140
7.1. Charakterystyka stworzonej bazy audio-wideo komend .................................................. 140
7.2. Obiekty, cele i metodyki eksperymentów ............................................................................. 143
7.3. Analiza wyników eksperymentu.............................................................................................. 152
WNIOSKI KOŃCOWE ......................................................................................................... 156
WYKAZ DEFINICJI I SKRÓTÓW ...................................................................................... 158
SUMMARY ........................................................................................................................... 161
LITERATURA....................................................................................................................... 162
4
1. FORMUŁOWANIE PROBLEMU ROZPOZNAWANIA AUDIO-WIDEO MOWY POLSKIEJ
Sformułowano problem rozpoznawania audio-wideo mowy. Zaprezentowano podstawowe
cechy audio-wideo mowy polskiej. Przedstawiono przegląd analityczny istniejących metod
rozpoznawania audio-wideo mowy, wraz z porównaniem najbardziej popularnych w
literaturze metod trekingu ust oraz rozpoznawania audio-wideo mowy izolowanej i ciągłej.
Postawiono cel i tezę pracy oraz bronione rozwiązania naukowe.
1.1. Specyficzne cechy audio-wideo mowy jako obiekt do rozpoznawania
Rozpoznawanie audio mowy ma zastosowanie w wielu dziedzinach. Jednak w rzeczywistym
otoczeniu funkcjonowania systemów rozpoznawania audio mowy nie można zapewnić
warunków pracy uważanych w przybliżeniu za idealne, czyli takie, które nie powodują
jakiegokolwiek negatywnego wpływu na skuteczność rozpoznawania. Takie rzeczywiste
otoczenie to na przykład.: biuro, samochód, fabryka, gdzie zakłócający sygnał audio jest
bardzo intensywny i zróżnicowany.
Zakłócenia mowy można podzielić na hałas otaczającego środowiska, echo
spowodowane specyficznym otoczeniem, zmieniony sposób mówienia, a także echo, szumy i
zniekształcenia spowodowane przez niepoprawnie funkcjonujący mikrofon. Hałas
otaczającego środowiska może być ciągły (odgłos wentylatorów i silników), lub też
pojawiający się z przerwami (przejeżdżanie samochodów, dzwonienie telefonów, zakłócająca
mowa). Echo spowodowane specyficznym otoczeniem często pojawia się w pomieszczeniach,
w których występują wnęki oraz inne czynniki wywołujące pogłos. Zmieniony sposób
mówienia powodują czynniki związane ze stanem zdrowia mówcy (przeziębienie), a także
różne stany emocjonalne (stres, śmiech) i różnorodny sposób wypowiadania (wolno, szybko,
cicho, głośno). Zakłócenia wprowadzane przez zastosowane mikrofony uzależnione są od
różnorodności charakterystyk filtrów, czy też graniczne częstotliwości pasma przejścia
zmieniające sygnał mowy.
Percepcja ludzkiej mowy jest z natury wielo-modalnym procesem, w którym
wykorzystuje się analizę sygnału akustycznego, polegającą na analizie gramatycznej,
semantycznej i pragmatycznej. Dodatkowo wiadomo, że człowiek posiada zdolność czytania
mowy poprzez analizę ruchu ust mówcy, czyli tzw. zdolność czytania z ruchu warg. Do tej
5
pory wiele badań prowadzono na temat automatycznego rozpoznawania mowy (ang.
Automatic Speech Recognition, ASR). Obecnie główne wysiłki skierowane są na tworzenie
systemów odpornych na negatywnie wpływające czynniki zewnętrzne. Zaczęto poszukiwać
sposobów ograniczenia wpływu zakłócenia na właściwą pracę systemów. Jednym z takich
sposobów może być zastosowanie w niniejszej pracy dołączenia do rozpoznawanej audio
mowy, mowy wideo, będącej elementem ograniczającym wpływ negatywnych czynników
zewnętrznych na skuteczność rozpoznawania. Z uwagi na możliwość kojarzenia mowy na
podstawie ruchu warg zaproponowano połączenie informacji audio i wideo w podjęciu
decyzji o treściowym wyniku wypowiedzi, specjalnie w zakłóconym środowisku audio
mowy.
Zastosowanie rozpoznawania audio mowy w zakłóconym otoczeniu prowadzi często
do błędnych wyników, spowodowanych nieprawidłową interpretacją fonemów o bliskim
brzmieniu. Wideo mowa również może być błędnie interpretowana, co wyjaśnia przykład
nazwany efektem McGurk, gdzie wypowiedziany w języku angielskim fonem /ga/, w wideo
mowie przypomina fonem /ba/ [84], a wiele osób rozpoznaje w wypowiedzi fonem /da/
[84,98]. Wideo sygnał nie niesie wystarczającej informacji, zawiera jednak kilka
uzupełniających informacji do audio sygnału [78,84]. Na przykład, używając wskazówek
wideo do podjęcia decyzji, czy osoba wypowiedziała fonem /ba/, czy /ga/, może być
łatwiejsze niż podjęcie decyzji bazując wyłącznie na wskazówkach audio, które mogą być
nieco zmieszane. Z drugiej strony, podjęcie właściwej decyzji rozpatrując fonemy /ka/ i /ga/
jest bardziej realne z audio, niż z wideo sygnału. Dla przykładu w języku polskim, używając
wskazówek wideo do podjęcia decyzji, czy osoba wypowiedziała fonem /m/, czy /n/, może
być łatwiejsze niż podjęcie decyzji bazując wyłącznie na wskazówkach audio, jednakże
podjęcie właściwej decyzji rozpatrując fonemy /m/ i /p/ jest bardziej realne z audio, niż z
wideo sygnału.
Powyższe fakty wywarły duży wpływ na sfery rozpoznawania audio-wideo mowy
(ang. Audio-Visual Speech Recognition, AVSR), znane również jako automatyczne czytanie z
ruchu warg (ang. Autamatic Lip-Reading, ALR), czytanie mowy (ang. Speech Reading, SR)
[16,84]. Prace w tej dziedzinie prowadzone są w celu polepszenia zakresu rozpoznawania
automatycznej mowy poprzez ekstrakcję cech z obszaru ust mówcy i połączenie z tradycyjną
mową akustyczną. Takie osiągnięcie zysku jest szczególnie imponujące w hałaśliwym
środowisku, gdzie tradycyjna metoda rozpoznawania audio mowy wypada niezbyt korzystnie.
Zmniejszające się koszty uzyskania wysokiej jakości systemów nagrywających sekwencje
wideo oraz zwiększająca się moc obliczeniowa komputerów pozwalają przypuszczać, iż
6
zintegrowane systemy rozpoznawania audio wideo mowy mogą byś powszechnie stosowane,
mimo ogromnej ilości danych wideo przetwarzanych w czasie pracy takiego systemu [16,84].
Przy rozpoznawaniu audio-wideo mowy należy rozwiązać cztery podstawowe
zagadnienia:
• identyfikacji i ekstrakcji określonych charakterystyk audio,
• identyfikacji i ekstrakcji określonych charakterystyk wideo,
• racjonalnej integracji (fuzji) i synchronizacji audio-wideo sygnałów,
• wyboru i realizacji aparatu realizującego uczenie i rozpoznawanie sygnałów mowy.
W pracy zaproponowano metodę AV_Mowa_PL do rozpoznawanie słów izolowanych
audio-wideo mowy polskiej w oparciu o ukryte modele Markowa (UMM), polegające na
wykorzystaniu informacji dźwiękowych i wizyjnych. Metodę opracowano dla mowy polskiej,
gdyż jak do tej pory nie napotkano na specyficzne badania dotyczące mowy polskiej. Przy
ekstrakcji cech audio zastosowano analizę cepstralną mowy. Wykorzystano bank filtrów o
charakterystykach amplitudowo-częstotliwościowych zbliżonych do charakterystyk
przeciętnego ludzkiego ucha. Opracowano kilka rozwiązań mających uodpornić metodę na
negatywny wpływ zewnętrznych zakłóceń. Przy ekstrakcji cech wideo zastosowano szereg
metod niezbędnych do osiągnięcia potrzebnego poziomu funkcjonowania procedury trekingu
ust w czasie rzeczywistym w sekwencji wideo. Dla wymienionego celu wykorzystano
charakterystyki kącików i zewnętrznych krawędzi ust oraz wyraźnie pojawiający się, bądź też
nie, język podczas wypowiadania poszczególnych fonemów. Zaproponowano trzy metody
fuzji charakterystyk sygnałów audio i wideo mowy.
Na Rys.1.1 zilustrowano ideę rozpoznawania audio-wideo mowy, zastosowaną w
opracowanej metodzie AV_Mowa_PL.
Rys.1.1 Ilustracja idei rozpoznawania audio-wideo mowy
7
1.2. Przegląd analityczny metod rozpoznawania audio-wideo mowy
Automatyczne rozpoznawanie audio-wideo mowy wywołało wśród naukowców nowe i
ambitne zadania porównania i rywalizacji z automatycznym rozpoznawaniem samej audio
mowy. Dodanie do charakterystyk audio mowy, charakterystyk wideo, wymaga wydobycia
potrzebnych informacji o mowie z nagrania wideo zawierającego frontalną twarz mówcy.
Wymaga dokładnej detekcji twarzy, lokalizacji, trekingu ust mówcy i estymacji wizualnych
parametrów. W porównaniu z samą audio mową, rozpoznawanie audio-wideo mowy zawiera
dwa osobne strumienie informacji, każdego z sygnałów. Połączenie tych strumieni powinno
zapewnić lepsze osiągi w porównaniu z nowoczesnymi osiągami przy wykorzystaniu każdego
ze źródeł osobno. Oba zagadnienia, mianowicie ekstrakcja charakterystyk wideo i fuzja
charakterystyk audio i wideo stanowią trudne problemy, generując wiele prac badawczych w
środowiskach naukowych świata.
Istotnie, zaczynając już od lat osiemdziesiątych, powstało wiele artykułów na temat
AVSR, z czego większość ukazała się podczas ostatniej dekady. Pierwszy automatyczny
system czytania mowy wprowadził Petajan [86]. Mając nagranie wideo twarzy mówcy oraz
stosując proste progowanie, był on w stanie wyznaczyć binarny obraz ust, a następnie
wysokość, szerokość, obwód i powierzchnię ust, będących wizualnymi charakterystykami
mowy. W kolejnym kroku rozpoznawanie wideo mowy, bazującej na dynamicznej
zmienności ust w czasie [92], dołączył do rozpoznawania audio mowy. Jego metoda znacznie
poprawiła osiągnięcia ASR dla pojedynczego użytkownika. Praca Petajana wywołała spore
poruszenie i wkrótce powstało wiele rozmaitych ośrodków badawczych, zajmujących się
zagadnieniem AVSR. Wśród przodujących ośrodków znalazła się ośrodek badawczy
kierowany przez Christiana Benoit’a, mieszczący się w Grenoble. Dla przykładu, panowie
Adjoudani i Benoit w pracy [2] przedstawili problem fuzji charakterystyk sygnałów audio i
wideo, polegający na strategii końcowego połączenia osobnych dla każdego z sygnałów
wyników. Innym razem rozpatrywali niezawodność estymacji, bazując na rozproszonych
prawdopodobieństwach czterech najlepszych wypowiedzi audio mowy oraz wideo mowy.
Zaprezentowali opis zysku, jaki uzyskali dzięki zastosowaniu AVSR dla zbioru 54 różnych
komend, wypowiedzianych przez pojedynczego użytkownika w języku francuskim. Później
stworzyli multimedialną platformę dla procesu audio-wideo mowy, zawierającą kamerę
zamontowaną na głowie użytkownika, dla poprawienia dokładności wyznaczania regionu ust
użytkownika [1]. Ostatnio, prace naukowców ośrodka badawczego z Grenoble prowadzono
dla zagadnienia AVSR, wykorzystując bazę wypowiedzi komend w języku francuskim i
8
wypowiedzi liczb w języku angielskim, a także nowy system rozpoznawania audio-wideo
mowy opisany w pracy [50].
Systemy AVSR rozróżniają trzy główne aspekty [51]: ekstrakcja charakterystyk wideo
mowy, fuzja charakterystyk audio i wideo mowy, zastosowanie metody do rozpoznawania
mowy. Niestety różnorodne algorytmy zaproponowane w literaturze dla automatycznego
czytania mowy są bardzo trudne do porównania, ponieważ najczęściej są testowane na
własnych bazach wypowiedzi audio-wideo. Na dodatek, badania skuteczności AVSR
prowadzono z wykorzystaniem baz danych, zawierających krótkie wypowiedzi i w wielu
przypadkach dla bardzo małej liczby mówców oraz dla niewielkiej liczby wszystkich
wypowiedzi [19,20,51]. Takie typowe zadania to: pozbawione sensu słowa [2,102], słowa
izolowane [13,37,49,53,80,81,83,86], połączone litery [89], połączone cyfry [88,117], zdania
ograniczone do słownika [44], lub mowa ciągła ograniczona do niewielkiego słownika [22].
Bazy danych nagrywane są zwykle w języku angielskim, ale zdarzają się przykłady tworzenia
baz danych dla innych języków, jak np. dla języka francuskiego [2,3,4,37,106], języka
niemieckiego [11,67], języka japońskiego [82] oraz języka węgierskiego [29]. Jednakże,
skoro metody wykorzystujące rozpoznawanie mowy mają być wprowadzane do pracy w
rzeczywistym świecie, praca badawcza powinna być prowadzona na słownikach o
uniwersalnym przeznaczeniu. Pierwszą próbę w kierunku stworzenia rzeczywistego systemu
rozpoznawania audio-wideo mowy opisano w pracy [84], gdzie system niezależny od
użytkownika zastosowano do słownika (ang. Large Vocabulary Continuous Speech
Recognition, LVCSR), zawierającego nagrania wypowiedzi wielu użytkowników i na
różnorodne tematy, uzyskane w rzeczywistych warunkach pracy systemu. Zaprezentowano
znaczący zysk rozpoznawania audio-wideo mowy w porównaniu z rozpoznawaniem samej
audio mowy, dla zakłóconego środowiska audio, co potwierdziło założenia, że rozpoznawanie
audio-wideo mowy może być przydatne dla zadań rozpoznawania mowy z zakłóconym
sygnałem audio. Zaczęto prowadzić prace nad polepszaniem metod ekstrakcji charakterystyk
wideo mowy oraz fuzji charakterystyk sygnałów audio i wideo, prowadzącym do
uniwersalności systemów w rzeczywistym świecie.
Ekstrakcja charakterystyk wideo mowy
Jak już wcześniej wspomniano, największą trudnością w zagadnieniach AVSR jest ekstrakcja
wymaganych charakterystyk z sygnału wideo. Problem złożony jest z dwóch zasadniczych
kwestii: trekingu obrazu twarzy i ust oraz reprezentacji wideo mowy przy pomocy jak
najmniejszej liczby informacyjnych parametrów. Do rozwiązania tego problemu zastosowano
9
kilka metod, np.: treking ust uwzględniający ich wysokość i szerokość [2,13,89], czy też
parametryczny model ust [16,30,73]. Jednak tylko dokładna detekcja regionu ust jest
wystarczająca do uzyskania wszystkich wizualnych charakterystyk. Takie podejście pozwala
na sporą redukcję parametrów, poprzez odpowiednią transformację pikseli określających
region ust [10,36,80,90]. Zbyteczny dla głosu dokładnie wyznaczony region ust ma
największe znaczenie, wpływające na dobre osiągnięcia systemów SR [54].
Detekcja twarzy
Problem detekcji twarzy oraz detekcji specyficznych części twarzy zajmuje ważne i obszerne
miejsce w pozycjach literaturowych na świecie [48,70,95,97,103]. W połączeniu z systemami
SR, ma zastosowanie do takich zagadnień, jak: wizualne czytanie tekstu [18,24,28],
identyfikacja i weryfikacja osób [19,40,57,58,75,110,116], lokalizacja mówcy [12,109,118],
detekcja źródła mowy [31], poprawa i odzyskiwanie obrazu [104] oraz inne. Skuteczność
detekcji twarzy i ust jest zadaniem dość trudnym, szczególnie w sytuacjach zmienności tła,
pozycji twarzy oraz oświetlenia [55].
W literaturze dotyczącej AVSR, gdzie zagadnienia, takie jak ekstrakcja wideo
charakterystyk, lub algorytmy fuzji sygnałów audio-wideo, są typowymi dla badaczy
zadaniami, detekcja twarzy i ust jest często ignorowana, bądź też znaczenie uproszczona. Dla
przykładu, w niektórych bazach użytkownicy mają założone specjalnie oznakowane
charakterystycznymi punktami okulary, w innych usta mówców są odpowiednio
pomalowane, co prowadzi do trywialności w procesie trekingu ust [2,50]. W innych pracach,
gdzie sygnały audio i wideo mowy są podzielone (przykładowo bazy Tulips1, (X)M2VTS,
AMP/CMU), strefa ust wyznaczona jest od razu, w badaniach pominięty zostaje etap
lokalizacji strefy ust. Na dodatek, praktycznie we wszystkich bazach występują nagrania z
niezmienną pozycją twarzy mówców oraz z niezmiennym oświetleniem.
Generalnie, wszystkie systemy AVSR wymagają wyznaczenia strefy ust, dla
poprawnego funkcjonowania zastosowanych do ekstrakcji cech algorytmów. Istnieje wiele
metod wyznaczania strefy ust, bazujących na tradycyjnych technikach analizy obrazu, takich
jak segmentacja na podstawie koloru skóry, detekcja krawędzi, progowanie obrazu,
dopasowanie do szablonu lub informacja o ruchu [48], oraz bazujących na statystycznych
technikach modelowania i zagadnieniach sztucznej inteligencji, jak nm. zastosowanie sieci
neuronowych.
Typowy algorytm detekcji twarzy i lokalizacji części twarzy opisano w pracy [97]. W
algorytmie zastosowano technikę dopasowywania do szablonu. Taką technikę zastosowano w
10
pracach [84, 87] do ekstrakcji parametrów wideo mowy. Dla danej ramki wideo, na początku
wykonywana jest detekcja twarzy, poprzez zastosowanie połączonych metod, z których kilka
używanych jest później do określenia wymaganych charakterystyk twarzy. Na początku
określany jest rozmiar prostokątnego (m x n) modelu twarzy. Następnie poszukiwany jest
model twarzy, najbardziej pasujący do obszaru, wydzielonego z danej ramki wideo, spośród
wszystkich ułożonych w piramidę modeli, określonych przez dopuszczalne położenie i skalę.
W pracy [87] przyjęto, że modele twarzy powinny zawierać się pomiędzy 10 % a 75 %
szerokości ramki wideo. Przed porównaniem z kolejnymi modelami piramidy, badany obszar
jest proporcjonalnie zwiększany o 15 %. Opisana metoda wprowadza opóźnienia
spowodowane koniecznością przeszukiwania i porównywania z modelami.
W przypadku, gdy sygnał wideo jest sygnałem kolorowym, na podstawie segmentacji
można szybko i dokładnie określić obszar ramki wideo, przypominający kolorem w dużym
stopniu barwę ludzkiej skóry. Znormalizowane wartości RGB każdego z pikseli,
przetransformowane zostają na początku do przestrzeni HSV. W takiej przestrzeni kolor
skóry różnych ludzi i dla zmiennych warunków oświetlenia, podlega najmniejszym zmianom
[48,97]. W dokładnej implementacji wymagane jest, aby poszukiwany obszar twarzy zawierał
minimum 25 % pikseli, o zabarwieniu zbliżonym do koloru skóry, spośród wszystkich pikseli
danej ramki wideo. W ten sposób redukowana zostaje liczba porównywanych modeli (w
zależności oczywiście od tła ramki wideo), co prowadzi do znacznego przyspieszenia
obliczeń i redukcji fałszywych obszarów. Badany obszar ramki zostaje pomniejszony do
rozmiaru modelu i każdy z pikseli jest dodawany do wektora twarzy o długości m x n. Wektor
twarzy przydzielony jest do jednej z dwóch klas: twarzy i nie-twarzy. Dla wektorów twarzy
obliczana jest odległość (ang. Distance From Face Space, DFFS). Najbardziej zbliżony
obszar ramki, przedstawiony w postaci wektora, jest wynikiem algorytmu detekcji twarzy
[97].
Detekcja regionu krawędzi ust
Dla wyznaczonej już twarzy zastosowano zespół detektorów do zlokalizowania punktów
charakterystycznych twarzy. Położenie każdego z punktów charakterystycznych twarzy
określane jest przez wynik kombinacji statystycznego, początkowego położenia, liniowego
oszacowania i DFFS, bazując na zadanym rozmiarze punktów charakterystycznych modelu.
W celu określenia centrum ust, zastosowano cztery punkty charakterystyczne, wyznaczające
kąciki ust oraz położenie górnej i dolnej wargi, przyjmując wyznaczone centrum dla
11
wszystkich ramek wypowiedzi wideo. Centrum to określa region ust, który może zawierać
wyłącznie same usta, lub też może być zakłócony przez inne części twarzy [87].
Po wyznaczeniu regionu ust, kolejnym etapem jest zlokalizowanie konturów ust.
Istnieje kilka popularnych metod, m.in.: aktywnych konturów [60], szablonów [100,115],
aktywnych modeli kształtu i wyglądu [25,27]. W metodzie aktywnych konturów występuje
elastyczna krzywa, reprezentowana przez zadaną liczbę kontrolnych punktów. Położenie
kontrolnych punktów jest modyfikowane iteracyjnie, poprzez zbieżność w kierunku lokalnego
minimum energii funkcji, zdefiniowanej na bazie krzywej gładkości ograniczeń i
dopasowanego kryterium do wymaganych charakterystyk obrazu wideo [60]. Taki algorytm
zastosowano do estymacji konturów ust w systemie SR, opisanym w pracy [21].Inną znacznie
częściej używaną techniką trekingu ust jest metoda szablonów, zastosowana przykładowo w
systemie Chandramohana i Silsbee [15]. Szablony tworzą sparametryzowane krzywe w ten
sposób, że są one dopasowywane do wymaganego kształtu poprzez minimalizowanie energii
funkcji, zdefiniowanej tak samo, jak w metodzie aktywnych konturów. Metoda aktywnych
modeli kształtu i wyglądu bazuje na kształcie ust lub statystycznym modelu wyglądu. Modele
mogą być stosowane do trekingu ust w sposób zaproponowany w pracy [26]. Założenie jest
takie, że dla niewielkiego poruszenia w stosunku do aktualnego płożenia modelu do
wejściowego obrazu, istnieje liniowa relacja pomiędzy różnicą w projekcji modelu i
wejściowego obrazu oraz wymaganej modyfikacji parametrów modelu. Dla dopasowania
modelu do wejściowego obrazu zastosowano iteracyjny algorytm. Alternatywnie,
dopasowanie może być wykonane przez metodę simpleksowego spadku, tak jak w pracy [73].
W systemach SR zastosowano różne propozycje definiowania wideo charakterystyk.
Można je pogrupować w trzy zasadnicze kategorie: wyglądu ust; konturu lub kształtu ust;
połączenia wyglądu i kształtu [51].
Definiowanie wideo charakterystyk na podstawie wyglądu ust
Definiowanie wideo charakterystyk na podstawie wyglądu ust polega na rozpatrywaniu całej
części obrazu wideo, zawierającej region ust mówcy, który wnosi podstawowe informacje dla
czytania z ruchu warg. Taki region może być prostokątem, mieszczącym w sobie usta, ale
także spore części twarzy, np. szczęka i policzki [87], czy nawet całą twarz [79]. Czasami
może to być trójelementowy prostokąt, podzielony na przyległe prostokątne ramki podczas
próby wychwycenia dynamicznej informacji mowy, we wczesnej fazie przetwarzania [89].
Alternatywnie, region ust może odpowiadać liczbie pionowych profili konturu ust [37], lub
może być tylko okręgiem dookoła centrum ust [36]. Wektor charakterystyk jest otrzymywany
12
przez analizę pikseli monochromatycznego regionu ust [10,36,37,88], lub wartości
kolorowych [21]. Przykładowo, dla prostokątnego M x N regionu ust ze zlokalizowanym
centrum (mt, nt) ramki wideo Vt(m, n) w czasie t, wynikowy wektor charakterystyk o długości
d = MN, będzie wynosił:
{ }]2/[]2/[],2/[]2/[:),( NnnNnMmmMmnmVx tttttt +<≤−+<≤−← (1.1)
Powinien on zawierać jak najwięcej informacji wideo mowy. Typowy wymiar d wektora (1.1)
jest zbyt duży, aby uzyskać zadawalające statystycznie modelowanie mowy przez
zastosowanie modeli UMM [92]. Dlatego jako wizualne charakterystyki, stosuje się
odpowiednio przekształcone wartości pikseli regionu ust. W pracy [81] zastosowano filtrację
dolnoprzepustową poprzez odpowiednie próbkowanie obrazu i zróżnicowanie regionu ust,
natomiast w pracy [80] zaproponowano nieliniową dekompozycję obrazu poprzez „odsiew”.
Obie przytoczone metody zastosowano w celu redukcji wymiarowości i ekstrakcji
charakterystyk wideo. Jednak najlepsze osiągi dotyczące takiej redukcji uzyskano przez
zastosowanie tradycyjnych przekształceń obrazu [46], zapożyczonych z literatury dotyczącej
kompresji obrazu oczekując, że takie podejście zastosowane do czytania mowy, pozwoli na
zachowanie największej liczby znaczących informacji. Generalnie D x d wymiarowa macierz
liniowej transformacji P jest wyznaczana przez przekształcenie wektora danych yt = Pxt,
zawierającego najwięcej informacji spośród jego D << d elementów. Do uzyskania macierzy
P podawanych jest L uczących przykładów, oznaczanych przez xl, l = 1,…,L.
Najbardziej popularną metodą reprezentacji charakterystyk jest metoda PCA (ang.
Principal Components Analysis) znana także pod nazwą transformacji Karhunena-Loevea.
[10,11,21,36,37,70,73,88]. Metoda bazująca na tym przekształceniu pozwala na znaczną
redukcję rozmiarów przestrzeni cech, pozostawiając do identyfikacji obrazu tylko kilka,
mających znaczenie dla rozważanych klas obrazów danych [70]. PCA osiąga optymalną
kompresję informacji, w sensie minimalnego błędu kwadratowego pomiędzy oryginalnym
wektorem xt i rekonstruowanym na podstawie jego projekcji yt. Jednak zastosowanie
skalowania danych wprowadza problem w klasyfikacji wektora wynikowego [17]. W pracy
[88] przyjęto implementację PCA, w której dane skaluje się zgodnie z ich odwrotną wariancją
i wylicza się jej macierz korelacji R, poprzez złożenie AΛAT [91], gdzie A = [a1,…,ad] ma
jako kolumny wektory własne z R oraz Λ jest macierzą diagonalną zawierającą wartości
własne z R. Zakładając, że D największych takich wartości własnych jest umieszczonych na
j1,…,jD przekątnych pozycjach, macierz projekcji danych wynosi PPCA = [aj1,…,ajD]T. Dla
zadanego wektora xt, wektor charakterystyk wyznaczany jest jako yt = PPCAxt.
13
Alternatywą do metody PCA jest zastosowanie do wyznaczania charakterystyk wideo
mowy, metod DCT (ang. Discrete Cosine Transform) oraz DWT (ang. Discrete Wavelet
Transform). Przykładowo, DCT przyjęto w pracach [36,82,83,84,88], DWT w pracach
[87,89]. Wielu naukowców stosuje oddzielne przekształcenia [46], co pozwala na szybką
implementację [91], gdy parametry określające rozmiar ramki M i N przyjmują
wielokrotności potęgi liczby 2 (typowe rozpatrywane wartości to M, N = 16, 32, 64). Należy
zauważyć, że w każdym przypadku macierz P może mieć wiersze pochodzące od macierzy
transformacji obrazu o większej energii przekształconych danych niż dane uczące [88].
Innym stosowanym w procesie analizy wyglądu narzędziem jest LDA (ang. Linear
Discriminant Analysis), stosowane jako mapy charakterystyk w nowej przestrzeni, dla
poprawienia klasyfikacji. Metoda oparta o LDA redukuje rozmiar obrazu wejściowego
prowadząc w tym samym czasie także do lepszego grupowania obrazów w zredukowanej
przestrzeni cech [70]. LDA było pierwszy raz zaproponowane do SR w pracy [36],
zastosowane bezpośrednio do wektora (1.1). LDA również rozpatrywano kaskadowo, po
uprzedniej projekcji PCA pojedynczej ramki regionu ust oraz jako sprzężenie sąsiednich
wektorów projekcji PCA [79]. LDA zakłada, że zestaw klas C, takich jak stany UMM, został
wybrany a-priori oraz że zestaw wektorów danych uczących xl, l,…,L jest oznaczony jako
c(l)∈C. Następnie poszukiwana jest taka macierz PLDA, aby przykładowe próbki
uczące{PLDAxl, l,…,L} były dobrze separowane wewnątrz zadanych klas C, zgodnie z funkcją
próbek uczących wewnątrz rozproszonej klasy macierzy SW i pomiędzy rozproszoną klasą
macierzy SB [93]. Macierze te uzyskiwane są jako:
∑∑∈∈
−−=Σ=Cc
TccB
Cc
cW mmmmcSicS ))()(Pr(,)Pr( )()()( , (1.2)
gdzie: Pr(c) = Lc/L, c∈C, oznacza empiryczne prawdopodobieństwo funkcji masowej;
Lc = ΣLl-1 δc(l),c; δi,,j = 1, jeśli i = j, 0 w pozostałych przypadkach; m(c) i Σ(c) oznaczają
odpowiednio klasę uśrednionych próbek i kowariancję; m = Σc∈C Pr(c)m(c) jest całkowitą
średnią próbek. Wyznaczenie PLDA, czyli uogólnionych wartości własnych i stosownych
wektorów własnych pary macierzy (SB, SW), spełniających zależność SBF = SWFΛ, pierwszy
raz zastosowano w pracach [45,93]. Macierz F = [f1,…,fd] zawiera jako kolumny, uogólnione
wektory własne. Zakładając, że D największych takich wartości własnych jest umieszczonych
na j1,…,jD przekątnych pozycjach Λ, wówczas macierz wynosi PLDA = [fj1,…,fjD]T. Przyjmując
opisane założenia do zależności (1.2), należy zaznaczyć, że rząd macierzy SB nie może być
większy niż |C| - 1, gdzie |C| oznacza liczbę klas, stąd D ≤ |C| - 1. Na dodatek rząd d x d
wymiarowej macierzy SW nie może przekraczać L - |C|, dlatego mając niewystarczające dane
14
uczące, pojawia się potencjalny problem względem wymiaru d wejściowego wektora
charakterystyk.
W systemie SR zaprezentowanym w pracy [87] LDA połączono z MLLT (ang.
Maximum Likelihood Linear Transform). To przekształcenie poszukuje kwadratowej,
nieosobliwej macierzy rotacji danych PMLLT, która maksymalizuje prawdopodobieństwo
obserwacji danych w oryginalnej przestrzeni charakterystyk, przy założeniu diagonalnej
kowariancji danych w przekształcanej przestrzeni [47]. Taka rotacja danych jest korzystna,
odkąd w większości systemów ASR, diagonalne kowariancje są specjalnie przyjmowane,
podczas modelowania klas obserwacji warunkowego rozkładu prawdopodobieństwa z
mieszanymi gaussowskimi modelami. Macierz PMLLT otrzymywana jest z zależności [47]:
Σ= ∏∈
−
Cc
LTcL
PMLLT
c
PPdiagPP 2)( )))((det()det(maxarg (1.3)
Można to rozwiązać numerycznie, co pokazano w pracy [91]. Należy zaznaczyć, że LDA i
MLLT są przekształceniami danych, mającymi na celu poprawienie wydajności klasyfikacji
oraz maksymalizację prawdopodobieństwa modelowania danych.
Opisane metody popularniejsze zastosowanie znalazły w systemach rozpoznawania
obrazów, bo w rzeczywistości sprowadzają się do podobnej analizy obrazu ust każdej ramki z
sekwencji wideo. Wprowadzają zbyt duże utrudnienia w wychwyceniu najbardziej
informacyjnych cech sygnałów dynamicznej wideo mowy, których największe skupisko
zawierają krawędzie ust. Analiza wyglądu ust jest zbyt mało odporna na zmienności wyglądu,
powodując niepotrzebne zakłócenia.
Definiowanie wideo charakterystyk na podstawie kształtu ust
W zestawieniu z metodami bazującymi na charakterystykach wyglądu ust, metody bazujące
na ekstrakcji charakterystyk kształtu ust zakładają, że najwięcej informacji czytania mowy
zawartych jest w konturze ust mówcy [79], lub bardziej ogólnie, w konturze całej twarzy (tj.
oprócz ust bierze się pod uwagę szczękę, policzki, itd.). Dwa typy charakterystyk wchodzą w
skład opisywanej kategorii: typ geometryczny oraz model kształtu bazowych charakterystyk.
W obu przypadkach wymagany jest algorytm do lokalizacji wewnętrznej lub zewnętrznej
krawędzi ust oraz w przypadku całej twarzy, do lokalizacji punktów charakterystycznych
kształtu twarzy.
Jednym z takich algorytmów jest algorytm do ekstrakcji geometrycznych
charakterystyk. Mając kontur ust, określony przez wystarczającą i sensowną liczbę punktów
15
charakterystycznych, w łatwy sposób można wyznaczyć takie elementy jak wysokość,
szerokość, obwód i pole ust, zawierające znaczącą informację o wideo mowie. Nie
przypadkowo tak duża liczba systemów SR pracuje, używając wszystkich lub poszczególnych
elementów ust [2,3,4,13,44,49,50,53,58,86,106,117]. Z konturu ust mogą być uzyskane
dodatkowe wizualne charakterystyki, takie jak momenty obrazu ust, czy też Fourierowskie
deskryptory konturu ust, niezmienne podczas drobnych przekształceń obrazu. Istotnie, liczba
centralnych momentów wewnętrznego konturu binarnego obrazu, lub znormalizowanych
momentów, jak to zdefiniowano w pracy [34], może być rozpatrywana jako wizualne
charakterystyki [29]. Znormalizowany szereg Fourierowskich współczynników
parametryzacji konturu [34], może również być używany do uwydatnienia wspomnianych
wcześniej geometrycznych charakterystyk w niektórych systemach SR, w celu polepszenia
automatycznego czytania mowy [49,88].
Innym algorytmem do lokalizacji krawędzi ust jest algorytm charakterystyk modelu
ust. W pracy [6] opisano kilka parametrycznych modeli użytych do trekingu kształtu twarzy i
ust. Parametry tych modeli mogą być z łatwością użyte jako wizualne charakterystyki.
Przykładowo w pracy [21] zastosowano do estymacji konturu ust, algorytm bazujący na
elastycznej krzywej, używając jako wizualne charakterystyki, wektory zawierające punkty
charakterystyczne, opisujące te krzywe. W pracy [102], jak również w pracy [15] użyto
wzorzec parametrów ust.
Popularnym modelem ust jest ASM (ang. Active Shape Model). ASM jest elastycznym
modelem statystycznym, który reprezentuje dany obiekt przez zestaw określonych punktów
[27,73]. Takim obiektem może być wewnętrzny lub zewnętrzny kontur ust [72], lub
połączenie różnych konturów twarzy, jak w pracy [79]. Do wyznaczania ASM, na początku
oznaczane jest K punktów określających kontur ust w zadanych obrazach uczących, a
następnie współrzędne punktów umieszczane są w 2K wymiarowym wektorze: T
KKS yxyxyxx ],,...,,,,[ 2211
)( = . (1.4)
Mając dany zestaw wektorów (1.4) można użyć PCA do wyznaczenia optymalnego,
ortogonalnego liniowego przekształcenia P(S)PCA, co daje statystyczny model ust lub twarzy.
W celu wyznaczenia osi pierwotnej wariacji kształtu, każdy zestaw uczący musi być
wyrównany poprzez transformacje takie jak: przesunięcie, obrót i skalowanie [27,35]. Dla
zlokalizowanego konturu ust, charakterystyki wizualne wyznacza się z y(S) = P(S)PCA x(S).
Należy zauważyć, że wektory (1.4) mogą być uzyskane z algorytmu trekingu bazującego na
B-splajnach jak w [30].
16
Opisane metody bazujące na kształcie ust i twarzy mówcy, wykorzystuje się w
połączeniu z metodami porównywania z wzorcem. Wprowadza to konieczność ciągłego
skalowania i dopasowywania do szablonu każdej z ramek sekwencji wideo wypowiedzi.
Połączone charakterystyki wyglądu i kształtu
Cechy wizualne, bazujące na wyglądzie oraz kształcie są z natury dość różne, ponieważ
kodują informacje wysokiego i niskiego poziomu o ruchach twarzy i ust mówcy. Nie jest
więc zaskoczeniem, że złożenie obu kategorii charakterystyk zostało wykorzystane w wielu
systemach ASR. W większości przypadków charakterystyki obu kategorii po prostu
połączono. Przykładowo w pracy [14] połączono geometryczne charakterystyki ust z
projekcją PCA zbioru pikseli zawartych wewnątrz ust. W pracy [73], jak również [37]
połączono charakterystyki ASM z PCA uzyskanymi z regionu ust, składającego się z
fragmentów obrazu wokół konturu ust. W pracy [21] połączono wektory punktów
opisujących elastyczne krzywe konturu ust z charakterystykami PCA wartości koloru pikseli
prostokątnego regionu ust.
Innym podejściem do połączenia tych dwóch klas charakterystyk jest utworzenie
pojedynczego modelu kształtu i wyglądu twarzy. AAM (ang. Active Appearance Model) [26]
dostarcza strukturę do statystycznego ich połączenia. Budowa AAM wymaga trzech aplikacji
PCA:
• Obliczenia przestrzeni własnej kształtu, które modeluje deformację kształtu, dając w
wyniki macierz P(S)PCA, obliczoną tak jak w (1.4).
• Obliczenia przestrzeni własnej wyglądu, w celu zamodelowania zmian wyglądu, dając
w wyniku macierz P(A)PCA wektorów wyglądu regionu ust. Jeżeli rozważyć wartości
koloru pikseli regionu ust o wymiarach M x N, takie wektory wyznacza się z T
MNMNMNA bgrbgrbgrx ],,,...,,,,,,[ 222111
)( = , (1.5)
podobnie jak wektory (1.1).
• Obliczenia połączonych przestrzeni własnych kształtu i wyglądu. Wygląd jest
macierzą P(A,S)PCA, wektorów uczących
TTSTATTSPCA
TSTAPCA
TASA yWyPxWPxx ],[],[ )()()()()()(),( == , (1.6)
gdzie: W – jest odpowiednio przeskalowaną diagonalną macierzą [79].
Celem PCA jest usunięcie korelacji zbędnych ze względu na kształt i wygląd, a także
utworzenie pojedynczego modelu, opisującego zwięźle kształt i występującą deformację
wyglądu. Taki pojedynczy model użyto w do SR w pracach [79] i [84].
17
Połączenie obu metod analizujących kształt i wygląd pozwala na uzyskanie większej
liczby informacyjnych cech wideo mowy, ale skoro każda z metod osobno wymaga
skomplikowanej analizy, to w połączeniu, dodatkowo niepotrzebnie wydłuży proces
ekstrakcji cech wideo w systemach AVSR. Najwięcej informacji w wideo mowie wnoszą
zewnętrzne krawędzie ust oraz pojawiający się, bądź też nie, język między zębami, podczas
wypowiadania poszczególnych fonemów, stąd analiza właśnie tych elementów twarzy jest w
zupełności wystarczająca do poprawnego działania systemów AVSR [68].
Integracja sygnałów audio-wideo w procesie rozpoznawania mowy
W systemach rozpoznawania audio-wideo mowy, oprócz ekstrakcji wizualnych
charakterystyk, konieczna jest jeszcze ekstrakcja audio charakterystyk z akustycznego
nagrania wypowiedzi. Przykładowo charakterystykami audio mowy mogą być współczynniki
analizy cepstralnej w częstotliwościowej skali mel MFCC (ang. Mel Frequency Cepstral
Coefficients), lub liniowego kodowania predykcyjnego LPC (ang. Linear Prediction Coding),
zazwyczaj wydobywane z szybkością 100 Hz [32,92]. Dla kontrastu, wizualne
charakterystyki są generowane najczęściej z szybkością 25 klatek/s. Ważnym zadaniem jest
odpowiednie połączenie charakterystyk obu sygnałów.
Sporo miejsca w literaturze poświęcono zagadnieniom fuzji charakterystyk sygnałów
audio i wideo mowy, np w [2,10,37,51,84,88,106]. Zaproponowane techniki różnią się
między sobą przeznaczeniem i podstawowymi założeniami. Architektura kilku takich metod
[106] bazuje wyłącznie na akustycznych modelach percepcji mowy człowieka [78]. Jednak w
większości przypadków badania dotyczące rozpoznawania audio-wideo mowy prowadzone są
dla rozdzielonego układu obu sygnałów audio i wideo mowy.
Techniki integracji sygnałów audio i wideo mogą być zasadniczo podzielone na
metody fuzji charakterystyk, dając wspólny wektor charakterystyk, przeznaczony do
rozpoznawania [2,87,106] oraz fuzji poszczególnych wyników rozpoznawania każdego z
sygnałów z osobna [37,51,84,88].
Modelowanie audio-wideo mowy
Przy projektowaniu systemów ASR rozważa się dwa centralne aspekty: generowania
charakterystyk obserwacji oraz statystycznego modelowania tego procesu generowania.
Podstawową jednostką mowy jest fonem, generowany przez specyficzne ułożenie i ruch
elementów traktu głosowego. Nie wszystkie różne fonemy audio mają różne odpowiedniki w
postaci wideo mowy, stąd liczba rozróżnialnych fonemów wideo mowy jest znacznie
18
mniejsza od liczby fonemów audio. Charakterystykę rozróżnialnych odpowiedników
fonemów wideo mowy zaprezentowano w [30,78]. Takie wizualne odwzorowanie fonemów
wywodzi się z zagadnień dotyczących czytania z ruchu ust. Wspomniane odwzorowanie
może być generowane na podstawie statystycznych technik grupowania, zaproponowanych w
[44].
Najczęściej spotykanym podejściem realizującym rozpoznawanie mowy jest
zastosowanie do modelowania mowy, modeli UMM. Modele te jako sygnał wejściowy
przyjmują wektory będące sekwencją obserwacji, uzyskanych w procesie ekstrakcji cech
sygnału. W systemach rozpoznawania samej audio mowy jest to najczęściej spotykane
podejście [32,92,114]. Istnieje jednak kilka innych aparatów wykorzystywanych do
rozpoznawania mowy, takich jak: DTW (ang. Dynamic Time Warping), użyte przykładowo w
[86], sztuczne sieci neuronowe (ang. Artificial Neural Network, ANN), jak w [67], połączenie
ANN-DTW [10,36], oraz połączenie ANN-HMM [50]. W przypadku UMM najczęściej
stosuje się dwa zasadnicze typy modeli: dyskretne modele UMM [99], oraz ciągłe modele
UMM [102].
Techniki fuzji sygnałów audio i wideo
Fuzja charakterystyk używa pojedynczego klasyfikatora w celu zamodelowania sprzężonych
wektorów synchronicznych w czasie charakterystyk audio i wideo, lub ich odpowiednich
transformacji. Do takich metod zalicza się sprzęganie cech [2], ważenie cech [106], obie
znane również jako fuzja bezpośredniej identyfikacji [106] oraz ekstrakcja cech hierarchiczną
dyskryminacją liniową [87]. Modele rejestracji cech opisane w [106] również należą do tej
kategorii. Wzmocnienie cech audio na podstawie danych wizualnych [42] oraz sprzężone
charakterystyki audio-wideo [43], również zaliczają się do tego typu fuzji.
W metodzie sprzęgania cech AV-Concat, dane są wektory cech audio i wideo o(A)t i
o(V)t rzędu DA i DV, synchroniczne w czasie. Połączony, sprzężony wektor charakterystyk
audio-wideo w czasie t oznaczono: DTTV
tTA
tAV
t Rooo ∈= ],[ )()()( , (1.7)
gdzie D = DA + DV. Tak jak we wszystkich metodach fuzji charakterystyk, proces generacji
sekwencji charakterystyk (1.7) jest modelowany przez pojedynczy model UMM z emisją
prawdopodobieństwa
∑=
=cK
kckck
AVtDck
AVt smoNwco
1
)()( ),;(]|Pr[ , (1.8)
19
dla wszystkich klas c ∈ C [2]. Tego typu fuzja stanowi proste podejście do audio-wideo ASR,
implementowane z niewielkimi zmianami w większości istniejących systemów. Jednak rząd
(1.7) może być dosyć duży, powodując niewłaściwe określenie prawdopodobieństwa
sekwencji obserwacji.
Charakterystyki sygnału wideo zawierają przy rozpoznawaniu mowy mniej
informacji, niż charakterystyki audio, nawet w przypadku bardzo dużych zakłóceń kanału
audio. Należy się więc spodziewać, że odpowiednia reprezentacja małego rzędu (1.7)
powinna prowadzić do takiej samej lub nawet lepszej wydajności HMM. W pracy [90]
zaproponowano LDA do redukcji rzędu. Po LDA użyto rotacji danych bazującej na MLLT w
celu osiągnięcia największego prawdopodobieństwa modelowania danych. W systemie ASR
[90] zaproponowana metoda składa się z dwuetapowej aplikacji LDA i MLLT, analizującej
współczynniki MFCC sygnału audio oraz DWT sygnału wideo. Ostatecznie wektor fuzji
charakterystyk hierarchiczną dyskryminacją AV-HiLDA wynosi: )()()( AV
tAV
LDAAV
MLLTHiLDAt oPPo = . (1.9)
W celu poprawienia skuteczności rozpoznawania mowy w warunkach mocno
zakłóconego sygnału audio, można dołączyć sygnał wideo mowy AV-Enh, uzyskując
połączoną strukturę, zaproponowaną w [43]. W takiej metody wektor wzmocnionych
charakterystyk audio o(AEnh)t może być uzyskany jako liniowa transformacja sprzężonych
wektorów charakterystyk audio-wideo (1.7), dana wzorem: )()()( AV
tAV
EnhAEnh
t oPo = , (1.10)
gdzie macierz P(AV)Enh = [p(AV)
1, p(AV)2,…, p(AV)
DA] składa się z D-wymiarowych wektorów
wierszy p(AV)Ti, dla i = 1,…,DA i ma wymiar DA x D. Prostym sposobem oszacowania
macierzy P(AV)Enh może być aproksymacja o(AEnh)
t ≈ o(AClean)t w sensie odległości euklidesowej,
gdzie wektor o(AClean)t oznacza niezakłócone charakterystyki audio, dostępne dodatkowo,
oprócz charakterystyk i zakłóconych wektorów audio, dla wielu chwil czasowych t w
zestawie uczącym T.
Fuzja wyników rozpoznawania w ASR
Chociaż opisane metody fuzji charakterystyk posiadają udokumentowane wyniki poprawienia
rozpoznawania audio-wideo mowy w porównaniu z rozpoznawaniem samej audio mowy
[84], to nie mają uniwersalnych modeli, niezawodnych dla każdego z strumieni. Informacyjna
zawartość mowy oraz różnica mocy sygnałów audio i wideo, może być uzależniona od:
rodzaju danej wypowiedzi, zakłócenia sygnału audio w określonym środowisku, zakłócenia
20
sygnału wideo, niedokładności trekingu twarzy i ust oraz specyficznych charakterystyk
mówców. Odpowiednia fuzja wyników rozpoznawania, zapożyczona z literatury dotyczącej
kombinacji klasyfikatorów, pozwala na uzyskanie niezawodności dla każdego ze strumieni.
Rozpoznawanie mowy ciągłej wprowadza trudność dla zagadnień fuzji
klasyfikatorów, spowodowaną faktem, że sekwencje klas również mszą być estymowane.
Najwydajniejszą jak dotąd metodą jest wczesna integracja stanów modeli UMM każdego ze
strumieni AV-MS-Joint. W ogólnej postaci, klasa prawdopodobieństwa obserwacji
rozszerzonego modelu UMM, jest wynikiem prawdopodobieństwa obserwacji komponentów
pojedynczych strumieni. Taki model stosowano w systemach rozpoznawania audio mowy,
gdzie przykładowo oddzielnymi strumieniami były współczynniki energii sygnału i
współczynniki MFCC [114]. W dziedzinie rozpoznawania audio-wideo mowy, model UMM
zawiera dwa strumienie, pierwszy powiązany z sygnałem audio i drugi powiązany z sygnałem
wideo. Rozszerzony model UMM obszernie użyto w zadaniach rozpoznawania audio-wideo
mowy z mocno okrojonymi bazami słów [37,58,82,88].
Mając dany połączony wektor obserwacji o(AV)t, wynik emisji stanów rozszerzonego
modelu UMM uzyskiwany jest z:
∏ ∑∈ =
=AVs
K
kscksck
stDsck
AVt
scsct
ssmoNwco
1
)()( )],;([]|Pr[ λ . (1.11)
Należy zaznaczyć, że zależność (1.11) jest odpowiednikiem liniowej kombinacji w dziedzinie
logarytmu prawdopodobieństwa. λsct oznacza reprezentujące strumień wagi, przyjmujące
tylko dodatnie wartości i ogólnie, będące funkcjami s, dla stanów c ∈ C modeli UMM, ramki
wypowiedzi w chwili czasowej t. Parametry rozszerzonego modelu UMM opisuje zależność: TT
VCACTAVAV Ccaa }],],{[,[ ∈= λλ , (1.12)
gdzie aAV = [rT, bTA, bT
V]T zawiera prawdopodobieństwo przejścia r oraz parametry
prawdopodobieństwa emisji bA i bV komponentów pojedynczych strumieni. Podobne
rozwiązanie daje połączona estymacja parametrów aAV, w odniesieniu do narzuconej
synchronizacji stanów [92,114].
Jak już wcześniej wspomniano, metodę AV-MS-Joint stosowano jak do tej pory dla
niewielkich zadań rozpoznawania mocno ograniczonej ilości wypowiedzi. Metoda wymaga
utworzenia połączonego wektora, a co za tym idzie, synchronizacji wprowadzającej sztuczne
dodawanie obserwacji, dla zachowania zgodności wektorów obserwacji sygnałów audio i
wideo. Takie sztuczne zwiększanie wektora obserwacji wideo powoduje zakłócenia
rzeczywistej sekwencji obserwacji wideo mowy.
21
1.3. Cel i teza pracy, bronione rozwiązania naukowe
Jak wykazano w przeglądzie dotychczasowych rozwiązań, metody rozpoznawania audio-
wideo mowy są znacznie skuteczniejsze od metod rozpoznawania audio mowy. Jednak
sposoby ekstrakcji cech wideo mowy i fuzji charakterystyk obu sygnałów (audio i wideo) są
trudne do zaimplementowania w praktycznych systemach. Oprócz tego, metody
rozpoznawania audio-wideo mowy polskiej znajdują się na etapie początkowym.
Celem pracy jest opracowanie metody rozpoznawania słów izolowanych audio-wideo mowy
polskiej w oparciu o modele UMM, opierająca się na tezie:
Fuzja sygnału audio mowy i sygnału wizualnego ruchu ust, czyli wideo mowy,
jest przesłanką do opracowania efektywnej metody rozpoznawania audio-wideo
mowy polskiej, która posiada porównywalne właściwości z prezentowanymi
dotychczas rozwiązaniami rozpoznawania mowy, stosowanymi dla innych
języków; dodatkowym rozwiązanym problemem jest dopasowanie metody do
warunków pracy w środowisku z zakłóconym sygnałem audio.
Skuteczność opracowywanej metody AV_Mowa_PL ma być potwierdzona eksperymentalnie
w terminach osiągniętych poziomów błędów. Należy także przeprowadzić eksperymentalny
dobór racjonalnych (optymalnych) parametrów dla poszczególnych etapów metody.
Bronione rozwiązania naukowe
1. Metoda AV_Mowa_PL rozpoznawania słów izolowanych audio-wideo mowy polskiej.
Fuzja charakterystyk audio i wideo mowy zrealizowana poprzez wykorzystanie
wspólnych oraz oddzielnych modeli UMM. Charakterystyki metody są porównywalne z
charakterystykami osiągniętymi w zaprezentowanych metodach dla innych języków.
2. Metody ES i CZS, a także ich fuzja do definiowania początku i końca słów izolowanych
audio mowy.
3. Metoda śledzenia ruchu ust, w której wykorzystano automatyczne metody: detekcji
twarzy na podstawie koloru skóry; lokalizacji oczu; definiowania obszaru ust, a także
opracowaną metodę CSM do wykrywania kącików i zewnętrznych krawędzi ust, oraz
22
metodę EPdo ekstrakcji i kodowania wymaganych parametrów z ruchomego obrazu ust,
w procesie tworzenia wektorów obserwacji wideo mowy.
5. Metody Sr, ASr_I, ASr_II fuzji charakterystyk sygnałów audio i wideo mowy.
6. Słuszność wykorzystania metody AV_Mowa_PL do identyfikacji użytkownika na
podstawie audio-wideo mowy.
7. Eksperymentalne potwierdzenie faktu, że metoda AV_Mowa_PL jest efektywna w
warunkach podwyższonego zakłócenia sygnału audio.
Praca zawiera wyniki badań, uzyskane w ramach realizacji projektu badawczego
promotorskiego NR 4 T11C 003 25, finansowanego przez Ministerstwo Nauki i
Informatyzacji.
23
2. SZKIC METODY AV_Mowa_PL
Przedstawiono podstawowe założenia i wymagania dotyczące metody AV_Mowa_PL
rozpoznawania audio-wideo mowy polskiej w oparciu o modele UMM. Omówiono procedury
ekstrakcji charakterystyk audio i wideo, oraz sposoby ich fuzji.
2.1. Wymagania funkcjonalne do opracowania metody AV_Mowa_PL
Wymagania do opracowania metody AV_Mowa_PL można podzielić na wymagania
teoretyczne (niezbędne podczas opracowywania i analizy poszczególnych procedur metody),
wymagania sprzętowo-systemowe (pozwalające na swobodne zaimplementowanie systemu),
wymagania do procedur przeprowadzenia założonych badań i założenia wstępne (przyjęte dla
prawidłowego funkcjonowania metody).
Teoretyczne przygotowania z zakresu cyfrowego przetwarzania sygnałów, cyfrowego
przetwarzania obrazów, artykulacji i percepcji mowy, znajomości zagadnień technik
biometrycznych, sztucznej inteligencji, narzędzi ucząco-rozpoznających oraz programowania,
stanowiły założenia, jakie postawiono przed opracowaniem metody AV_Mowa_PL.
Wymagania sprzętowo-systemowe w zasadzie, oprócz sprzętu komputerowego z
systemem operacyjnym, pod którym działa środowisko Matlab, dotyczą tylko konieczności
posiadania mikrofonu i kamery internetowej o rozdzielczości nagrywania 640 x 480 pikseli
przy szybkości 15 klatek/s. Parametrów odnoszących się do procesora, pamięci i karty
graficznej nie określono, gdyż badania nie były prowadzone dla danych wejściowych
przetwarzanych w czasie rzeczywistym.
W celu sprawnego działania metody należy przyjąć pewne założenia wstępne.
Dotyczą one sposobu rejestrowania wypowiedzi audio i wideo mowy, środowiska pracy oraz
możliwości praktycznego zastosowania metody.
Do rozpoznawania audio-wideo mowy potrzebne jest nagranie wypowiedzi audio i
zarejestrowany obraz ruchu ust, podczas wypowiadania danego słowa. Dlatego oprócz
mikrofonu, konieczne jest użycie kamery ustawionej na wypowiadającego komendy
użytkownika tak, aby cała twarz znalazła się w kadrze kamery. Jako urządzenie do
przechwytywania obrazu można użyć kamerę internetową o rozdzielczości nagrywania 640 x
480 pikseli. Przy takiej rozdzielczości możliwe jest wychwycenie twarzy użytkownika oraz
rzeczywistego konturu ust podczas nagrywanej wypowiedzi. Stosując kamerę internetową o
24
maksymalnej rozdzielczości nagrywania 320 x 240 pikseli, należy tak ją ustawić, aby
wyłapywała tylko obszar samych ust, gdyż w innym przypadku nie uzyska się rzeczywistego
konturu ust. Użytkownik powinien wypowiadać poszczególne komendy prosto do obiektywu
kamery, starając się przy tym trzymać głowę w pozycji zbliżonej do pionowej.
Podczas rejestracji dźwięku, mikrofon powinien znajdować się w odległości około 20
cm tak, aby nie wychwytywał niezamierzonego dmuchania w mikrofon podczas
wypowiadania niektórych fonemów. Mikrofon nie powinien wchodzić w kadr kamery.
Wymagania dotyczące otoczenia nie są ściśle sprecyzowane względem akustyki, gdyż
założeniem metody AV_Mowa_PL jest rozpoznawanie mowy w środowisku ze szczególnie
zakłóconym sygnałem audio. Dla celów badawczych wykorzystano cichy pokój, a zakłócenia
sztucznie dodawano do sygnału audio mowy. Przyjęto natomiast wymagania dotyczące
rejestracji obrazu. Założono, że pomieszczenie powinno być dobrze oświetlone, światłem
jednolitym, nie powodującym zbyt dużych przekłamań w rejestrowanych kolorach. Źródło
światła powinno być skierowane na użytkownika systemu.
2.2. Specyfika podstawowych informacyjnych procedur metody
Metoda AV_Mowa_PL składa się z kilku podstawowych bloków funkcjonowania. Każdy z
tych bloków odpowiada za prawidłowe działanie całego systemu, dlatego aby osiągnąć
zadawalające wyniki, należy poszczególne etapy racjonalnie realizować. Konieczne jest
pójście na kompromis, wybierając pomiędzy prawidłowym funkcjonowaniem systemu, a
rzeczywistą szybkością reagowania na wprowadzane dane wejściowe.
Pierwszym etapem rozpoznawania audio-wideo mowy jest odpowiednie nagranie
wypowiedzi audio i wideo mowy użytkownika. Przyjęto częstotliwość próbkowania dźwięku
8 kHz, a częstotliwość nagrywania obrazu 15 klatek/s. Przy takich parametrach nagrywania
jedna klatka obrazu zawiera około 533 próbki sygnału. Sygnał audio zostaje oddzielony od
sygnału wideo, gdyż w dalszych etapach, ekstrakcja wymaganych charakterystyk realizowana
jest oddzielnie dla każdego z kanałów. Podczas nagrywania sygnału audio nie można
stosować kompresji, prowadzącej do bezpowrotnej utraty niektórych ważnych cech. Sygnał
wideo mowy można kompresować, używając jednego z kodeków zaimplementowanych w
Matlabie.
25
Analiza sygnału audio
W procesie analizy audio sygnału w pierwszym kroku należy przygotować książkę kodową,
będącą niezbędnym mechanizmem przy ekstrakcji wymaganych charakterystyk sygnału audio
i tworzeniu wektorów obserwacji. Proces tworzenia książki kodowej wykonuje się za każdym
razem, gdy do systemu dodawany jest nowy użytkownik. Książka kodowa odzwierciedla
przestrzeń akustyczną danego użytkownika. Po utworzeniu książki kodowej wejściowe
sygnały danego użytkownika poddawane są kwantyzacji wektorowej, przechodząc przez te
same bloki procesu tworzenia książki kodowej.
Na Rys.2.1 pokazano podstawowe informacyjne bloki analizy audio sygnału.
Rys. 2.1 Podstawowe bloki analizy sygnału audio
Analizę kanału audio należy rozpocząć od odfiltrowania sygnału, usuwając elementy
sygnału będące jego zakłóceniami. Filtracja sygnału pozwala na jego wygładzenie,
polepszenie stosunku sygnału do szumu, ograniczenie szerokości pasma przenoszenia oraz
wykrywanie zjawisk objawiających się zmianami widma. Dodatkowo wykonując filtrację
antyaliasingową, zapobiega się zniekształceniom oraz zjawisku nakładania się widm, często
powstającym w trakcie przetwarzania analogowo-cyfrowego (A/C), kiedy górne
częstotliwości sygnału są wyższe niż połowa wyższej częstotliwości próbkowania sygnału
[7]. W systemie pracującym w warunkach zbliżonych do idealnych można pominąć etap
wstępnej filtracji, w celu przyspieszenia działania. Jednak założeniem systemu rozpoznawania
audio-wideo mowy jest poprawne działanie w warunkach szczególnie zakłóconych, dlatego w
pracy zastosowano wstępną filtrację.
26
W systemach rozpoznawania słów izolowanych podczas nagrań konieczne jest
robienie krótkotrwałych, ale wyraźnych przerw w postaci ciszy, pomiędzy poszczególnymi
słowami. Ze względu na wspomniany rodzaj rozpoznawania, po wstępnym odfiltrowaniu
sygnału, kolejnym etapem jest wydzielenie czystego, właściwego sygnału audio, poprzez
usunięcie ciszy sprzed i spoza sygnału. Zastosowano dwie połączone metody usuwania
zbędnej ciszy. Pierwsza z nich bazująca na wyliczeniu energii sygnału i odrzuceniu
wszystkich próbek nie przekraczających przyjętego progu energii, druga zliczająca liczbę
zmian wartości próbek sygnału z mniejszej na większą i na odwrót, w określonym przedziale
czasowym. Zastosowanie tych dwóch metod pozwala na właściwe wydzielenie sygnału audio,
umożliwiając poprawne realizowanie pozostałych etapów systemu.
Ze względu na niestacjonarność sygnału, wynikającą z dynamicznych właściwości
ludzkiej mowy, kolejny etap polega na zastosowaniu podziału wejściowego sygnału na
stacjonarne ramki. Sygnał uważa się za stacjonarny w krótkich przedziałach czasowych (10 ÷
30 ms). Każdą taką stacjonarną ramkę w procesie tworzenia wektorów obserwacji zastąpiono
symbolem obserwacji. W tworzonym systemie przyjęto długość każdej ramki równą 30 ms,
co przy danym próbkowaniu sygnału odpowiada 240 próbkom. W celu zachowania
stacjonarności sygnału zastosowano metodę nakładania się kolejnych ramek. W metodzie tej
każda kolejna ramka nałożona jest na poprzednią z pewnym opóźnieniem. Przyjęto
opóźnienie 10 ms, czyli 80 ostatnich próbek sygnału poprzedniej ramki jest jednocześnie 80
próbkami następnej ramki. Zastosowanie metody nakładania się kolejnych ramek prowadzi
niekiedy do powstawania niepotrzebnych wysokich częstotliwości w widmie sygnału. W celu
usunięcia powstałej nieciągłości przetwarzanego sygnału zastosowano dla każdej wydzielonej
ramki specjalne zawężające okno, tłumiące wartości skrajnych próbek. Etap podziału sygnału
na stacjonarne ramki z zastosowanymi tłumiącymi oknami pozwala na dalszą analizę sygnału
uważanego za stacjonarny, zachowując jego ciągłość bez fałszywych prążków w widmie.
Wzorując się na biologicznych przesłankach nieliniowej w dziedzinie częstotliwości
analizy widma sygnału przez ludzkie ucho, w etapie analizy sygnału przez bank filtrów
zastosowano podobne nieliniowe przetwarzanie częstotliwości. W tym etapie widmo sygnału
uzyskanego przez szybką transformatę Fouriera (ang. Fast Fourier Transform, FFT) podlega
procesowi filtracji przez bank 21 filtrów o szerokości 300 meli, przesuniętych względem
siebie o 150 meli, pokrywających częstotliwości z przedziału od 0 do 4192 Hz. Dzięki takiej
filtracji uzyskuje się zbiór charakterystyk z wygładzonego widma sygnału. Uzyskane za
pomocą FFT prążki widma połączone są w mniejszą liczbę przedziałów częstotliwości.
27
Charakterystyki uzyskanych filtrów, zajmujących tylko połowę całkowitego widma, w
pewnym stopniu naśladują system słuchowy człowieka.
Kolejny etap analizy sygnału audio polega na zastosowaniu przekształcenia
cepstralnego uzyskanych wcześniej parametrów banków filtrów, uniezależniając sygnał
mowy od wpływu niezmiennego w czasie kanału transmisji. Współczynniki cepstrum
uzyskuje się poprzez zsumowanie parametrów banków każdego z filtrów, a następnie
zastosowanie dyskretnych przekształceń kosinusowych logarytmów tych parametrów.
Przyjmując liczbę współczynników cepstrum równą 20, uzyskuje się zakodowaną tymi
dwudziestoma współczynnikami pojedynczą ramkę o długości 240 próbek. Zarówno analizę
sygnału za pomocą banku filtrów oraz współczynników cepstrum, wykonuje się dla każdej
pojedynczej stacjonarnej ramki.
W procesie tworzenia książki kodowej, analizie cepstralnej należy poddać nagranie
zawierające zbiór wypowiedzi danego użytkownika, dobrany co do ilości i rodzaju słów w ten
sposób, aby w całości pokryć przestrzeń akustyczną dla tego użytkownika. Zbiór taki
powinien zawierać słowa obejmujące wszystkie fonemy języka polskiego wchodzące w skład
przyjętego zagadnienia systemu. W przypadku sterowania systemem odpowiednimi
komendami, można utworzyć zbiór wypowiedzi złożonych z wszystkich komend, jednak jeśli
jest to tylko wykonalne, można ograniczyć ten zbiór pomijając komendy, których
poszczególne fonemy występują już w innych, wziętych do zbioru komendach. Zbiór
współczynników cepstrum wyznaczonych dla wszystkich ramek sygnału wejściowego,
podlega procesowi kwantyzacji, czyli podziałowi na przyjętą liczbę obszarów. Podział ten
dokonuje się wykorzystując algorytm Lloyda. Każdemu wyróżnionemu obszarowi przypisana
zostaje wartość symbolu z ograniczonego przyjętą liczbą obszarów zbioru symboli. W ten
sposób wszystkie zakodowane przy pomocy współczynników cepstrum ramki zostają
sklasyfikowane do jednego z wydzielonych obszarów.
Podczas normalnej pracy systemu, gdzie dla danego użytkownika została już
utworzona książka kodowa, ostatni etap analizy sygnały audio polega na zakodowaniu każdej
ramki sygnału przy pomocy symboli książki kodowej. Jest to tzw. kwantyzacja wektorowa,
gdzie zbiór wektorów współczynników cepstrum zostaje zamieniony na ciąg symboli, w
pracy nazwany wektorem obserwacji. Dla każdej ramki oblicza się odległość wektora
współczynników cepstrum, od każdego z obszarów wydzielonych w książce kodowej.
Symbol obszaru, dla którego ta odległość jest najmniejsza zostaje przypisany badanej ramce.
Wynikiem analizy sygnału audio jest ekstrakcja wymaganych cech tego sygnału, co w
przyjętych założeniach odpowiada zakodowaniu pojedynczego sygnału wejściowego
28
złożonego z kilku tysięcy próbek, przy pomocy kilkudziesięciu symboli obserwacji. Każdy z
sygnałów wejściowych przedstawiony zostaje w postaci wektora obserwacji, co jest
niezbędne w systemach wykorzystujących modele UMM. Dodatkowo tak znaczne
ograniczenie liczby danych wejściowych w dużym stopniu upraszcza cały proces uczenia i
rozpoznawania.
Analiza sygnału wideo
Proces analizy wideo sygnału ma na celu wydzielenie potrzebnych charakterystyk ruchu ust z
wideo wypowiedzi.
Na Rys.2.2 pokazano podstawowe bloki analizy sygnału wideo.
Rys.2.2 Podstawowe bloki analizy sygnału wideo
W procesie analizy sygnału wideo pierwszy etap polega na zlokalizowaniu twarzy
użytkownika w nagranej wypowiedzi. Zakładając, że nagrana wypowiedz jest sekwencją
kolorowych obrazów, twarz człowieka można zlokalizować na podstawie jego koloru skóry
[70]. Oczywiście badania prowadzono tylko dla użytkowników o białym kolorze skóry. W
etapie tym sygnał wideo należy podzielić na poszczególne ramki i dla każdej ramki
zlokalizować obszar odpowiadający specyficznemu kolorowi skóry białego człowieka. Jeśli
oprócz ludzkiej twarzy w danej ramce zostaną zlokalizowane jeszcze inne elementy
przypominające taki kolor, wówczas konieczne jest użycie odpowiednich filtrów oraz
odpowiedniej maski, aby dokładnie wydzielić obszar samej twarzy.
Po wydzieleniu prostokątnego obszaru twarzy, w następnym etapie wykonuje się
lokalizację obszaru ust. Ponieważ zlokalizowanie obszaru ust jest dość trudnym zadaniem,
lepiej jest skorzystać z elementów twarzy, łatwiejszych do namierzenia. Takimi elementami
są oczy. Proces lokalizacji oczu wykonuje się na obszarze monochromatycznym. Najpierw
29
dla całego obrazu znajdowana jest pozioma linia oczu, a następnie tylko dla niewielkiego
fragmentu zawierającego obszar w otoczeniu poziomej linii oczu, znajdowane są pionowe
linie oczu. Pionową i poziome linie oczu wyznacza się na podstawie gradientów jasności
pikseli wzdłuż każdej kolumny oraz każdego wiersza obrazu wejściowego [70]. Na podstawie
wyznaczonych współrzędnych oczu, określany jest przybliżony obszar ust dla każdej ramki,
poprzez doświadczalne wyznaczenie wielkości tego obszaru i odległości jego centrum od
centrum współrzędnych oczu.
Kolejnym etapem w analizie sygnału wideo jest znalezienie współrzędnych kącików
ust i wyznaczenie zewnętrznych krawędzi ust. Dużym ułatwieniem jest ograniczenie
zarejestrowanej wypowiedzi, do obszaru samych ust użytkownika. Do znalezienia położenia
kącików ust można wykorzystać podobne podejście, jak w przypadku lokalizacji
współrzędnych oczu, jednak lepszym rozwiązaniem jest wykorzystanie specyficznego koloru
ust. Poprzez progowanie, dla każdej ramki wyznacza się wartości pikseli przypominających
kolor ust. Pozostałym pikselom przypisuje się wartość 0. Progowanie to realizuje się dla
obrazu kolorowego. Dla wyznaczonego obszaru zawierającego kolor samych ust, na
podstawie specyficznego kształtu ust określa się współrzędne kącików ust. Najczęściej są to
współrzędne niezerowych, najbardziej skrajnych w poziomie pikseli. Na podstawie
wyznaczonych kącików ust określa się zewnętrzne krawędzie ust, górną i dolną. Dokładne
wydzielenie tych krawędzi ma duży wpływ na właściwe zakodowanie ruchu ust w sekwencji
wypowiedzi.
Ostatnim etapem analizy sygnału wideo jest zakodowanie każdej ramki zawierającej
dany kształt ust, przy pomocy odpowiedniego symbolu obserwacji. Kształt ust opisywany jest
przy pomocy ustalonej liczby punktów, dobranych tak, aby w miarę dokładnie odzwierciedlić
rzeczywiste zewnętrzne granice ust. Na podstawie współrzędnych wszystkich punktów, dla
każdej ramki określany jest symbol obserwacji. Uzyskany w ten sposób wektor obserwacji
stanowi sygnał wejściowy w procesie uczenia i rozpoznawania za pomocą modeli UMM.
Cały proces analizy sygnału wideo pozwala na zakodowanie pojedynczej ramki, zawierającej
640 x 480 pikseli, każdy o współrzędnej x, y (614400 wartości), przy pomocy jednego
symbolu obserwacji. Należy zaznaczyć, że nie jest to kompresja obrazu, a jedynie sposób
zakodowania jego niewielkiej części.
Uczenie
W procesie uczenia zastosowano podejście stochastyczne bazujące na modelach UMM
wykorzystywanych do modelowania ciągów czasowych. Uczenie modeli UMM polega na jak
30
najlepszym dopasowaniu wartości jego parametrów. Poprzedzając proces uczenia, konieczne
jest ustalenie topologii modelu, czyli określenie liczby jego stanów, a co za tym idzie:
• rozmiaru macierzy A prawdopodobieństw przejść między stanami,
• rozmiaru wektora prawdopodobieństw początkowych π,
• rozmiaru wektora rozkładów wyjściowych B.
Odpowiedni dobór liczby stanów wpływa na dokładność i szybkość uczenia. Proces
uczenia ma na celu znalezienie wartości, czyli estymacji parametrów modelu λ = (π, A, B),
dla zadanej uczącej sekwencji obserwacji. Podawana sekwencja obserwacji składa się z kilku
powtórzeń tej samej wypowiedzi audio i wideo zakodowanej w postaci symboli obserwacji.
W systemie rozpoznawania słów izolowanych zastosowano dla każdego słowa
oddzielny model opisany odpowiednią transkrypcją gramatyczną. Liczba modeli odpowiada
liczbie słów zawartych w słowniku systemu. Dodanie nowego słowa do słownika wiąże się z
utworzeniem nowego modelu, przy czym w procesie uczenia estymuje się parametry tylko
tego nowego modelu, parametry pozostałych modeli nie zmienia się. Przyjęto dodatkowo, że
wszystkie modele są tych samych rozmiarów. Dla nowego użytkownika systemu konieczne
jest utworzenie nowego zbioru modeli dla każdej z wypowiedzi. Można od nowa uczyć
istniejące już modele, jednak wtedy utraci się ich wartość dla poprzedniego użytkownika.
Rozpoznawanie
W procesie rozpoznawania następuje wyznaczenie transkrypcji fonetycznej i gramatycznej
nieznanych, rozpoznawanych wypowiedzi. Rozpoznawane słowo reprezentowane przez
wektor obserwacji porównywane jest z wszystkimi modelami UMM w systemie. Ponieważ
każdy model UMM można traktować jako generator sekwencji obserwacji, dlatego
rozpoznawanie polega na określeniu prawdopodobieństwa wygenerowania wejściowej
sekwencji obserwacji przez dany model. Największe prawdopodobieństwo określa model,
który był uczony na danych najbardziej zbliżonych do rozpoznawanego słowa. Rezultatem
rozpoznania jest odpowiednik transkrypcji gramatycznej zwycięskiego modelu.
2.3. Proponowane sposoby fuzji charakterystyk audio-wideo sygnałów
W pracy zaproponowano trzy metody fuzji wektorów obserwacji sygnału audio i wideo:
synchroniczną Sr i dwie asynchroniczne ASr_I i ASr_II.
31
W metodzie synchronicznej Sr pokazanej na Rys.2.3 połączenie wektorów obserwacji
zastosowano przed etapem uczenia.
Rys.2.3 Schemat działania systemu opartego na synchronicznej fuzji charakterystyk Sr
Wektory obserwacji sygnałów audio i wideo różnią się przede wszystkim długością.
Po rozdzieleniu sygnałów, podczas analizy audio usunięto ciszę sprzed i spoza właściwego
nagrania. W sygnale wideo również usunięto klatki zawierające ciszę, na podstawie
kluczowych ramek oznaczających początek i koniec właściwego nagrania audio.
Dla nagrania o jednosekundowej długości wektor obserwacji audio ma długość około
45 ÷ 55 obserwacji, natomiast wektor obserwacji wideo zawiera 15 obserwacji. Czyli średnio
trzy, cztery ramki audio odpowiadają jednej ramce wideo. Fuzję charakterystyk audio i wideo
wykonano w ten sposób, że stworzono tablicę kodową zawierającą wszystkie możliwe
kombinacje symboli obserwacji obu wektorów. Następnie przydzielano w czasie
odpowiadającym ramce audio symbol obserwacji z tablicy kodów, będący symbolem
wypadkowym. W ten sposób utworzony wspólny wektor obserwacji zawierał symbole
obserwacji znacznie przekraczające rozmiary książki kodowej audio i wideo.
Ponieważ w wideo mowie często wypowiedz różnych fonemów audio ma zbliżoną
wypowiedź wideo, dlatego w metodzie tej ograniczono rozmiar słownika do 10 symboli. Przy
37 symbolach z książki kodowej audio stworzono tablicę kodową zawierającą 370 symboli
zsynchronizowanych sygnałów audio i wideo.
W pierwszej zaproponowanej metodzie asynchronicznej ASr_I, jako wektory uczące i
testujące wprowadzano sekwencje obserwacji sygnałów audio i wideo osobno, bez
jakiejkolwiek fuzji i synchronizacji Wektor obserwacji wideo, podobnie jak w poprzedniej
32
metodzie również pozbawiony jest klatek zawierających ciszę. Schemat działania systemu z
pierwszą asymetryczną metodą fuzji charakterystyk ASr_I pokazano na Rys.2.4.
Rys.2.4 Schemat działania systemu opartego na pierwszej metodzie asynchronicznej fuzji charakterystyk ASr_I
Asynchroniczność w tej metodzie polega na tym, że tylko pierwsze ramki sygnałów
audio i wideo są ze sobą zgodne. Nie jest tu ważna synchronizacja, a tylko sekwencja
obserwacji. Wektory obserwacji kilku różnych powtórzeń tej samej wypowiedzi w procesie
uczenia wprowadza się do modelu jako dane uczące na przemian, zaczynając od wektora
obserwacji audio, a następnie wprowadzając wektor obserwacji wideo. Uczony modeli nie
tylko musi rozpoznawać ciąg sekwencji sygnału audio, ale pamięta również odpowiadającą
tej sekwencji, sekwencję obserwacji wideo. W przypadku zakłóceń któregokolwiek z
sygnałów, model jest w stanie rozpoznać wypowiedź na podstawie sygnału prawidłowego.
W rzeczywistości większy wpływ na poprawność rozpoznawania ma sygnał audio,
jednak w pracy zakłada się, że to tylko sygnał audio może ulec zakłóceniu, a sygnał wideo ma
być elementem pomocnym w podjęciu decyzji. Dlatego przy w miarę racjonalnym zakłóceniu
sygnału audio, system działa poprawnie.
Druga z zaproponowanych metod asynchronicznych ASr_II polega na tym, że tworzy
się osobne modele dla sygnału audio i wideo. Schemat działania systemu z drugą
asymetryczną metodą fuzji charakterystyk ASr_II pokazano na Rys.2.5.
Na podstawie odpowiednich wektorów obserwacji uczy się modele sygnałów audio i
wideo osobno. Modele opisane są odpowiednią transkrypcją gramatyczną. Każdy z modeli na
podstawie swoich parametrów generuje sekwencję obserwacji, która jest porównywana z
sekwencją rozpoznawaną. Prawdopodobieństw wygenerowania sekwencji obserwacji audio
33
przez jeden model i prawdopodobieństwo wygenerowania sekwencji obserwacji wideo przez
drugi model, są podstawą do podjęcia decyzji o wyniku rozpoznania danej wypowiedzi.
Rys.2.5 Schemat działania systemu opartego na drugiej metodzie asynchronicznej fuzji charakterystyk ASr_II
Przedstawione etapy działania fuzyjnych metod rozpoznawania audio-wideo mowy
polskiej podano dokładnie w dalszej części pracy. Zaproponowana metoda posłużyła do
opracowania systemu rozpoznawania słów izolowanych audio-wideo mowy.
34
3. TWORZENIE WEKTORÓW OBSERWACJI SYGNAŁU AUDIO MOWY
Omówiono szczegółowo proces tworzenie wektorów obserwacji sygnałów mowy z
wykorzystaniem znanych algorytmów ekstrakcji sygnałów mowy i połączenia ich z
oryginalnymi autorskimi rozwiązaniami.
3.1. Zasady tworzenia wektorów obserwacji sygnału mowy
Podczas tworzenia systemu rozpoznawania mowy należy wykonać kilka podstawowych
etapów i zadań zawierających:
• odpowiednie przygotowanie danych wejściowych,
• wybór i utworzenie parametrów algorytmu realizującego rozpoznawanie mowy,
• opracowanie procedur rozpoznawania, oraz uczenie i testowanie systemu.
Istnieje także kilka podejść do projektowania systemów automatycznego
rozpoznawania mowy. Najważniejsze z nich to:
1. Podejście akustyczne, w którym głównie wykorzystywano parametry akustyczno-
fonetyczne służące do konstruowania obrazów i wzorców; najczęściej to jest w systemach
probabilistycznych.
2. Podejście oparte na znajomości wytwarzania mowy przez człowieka, które polega na
analizie głównych procesów artykulacji poszczególnych jednostek językowych.
3. Podejście oparte na bionicznej koncepcji rozpoznawania, czyli na modelowaniu procesu
rozpoznawania mowy przez człowieka.
4. Podejście uwypuklające proces rozumienia mowy na podstawie pewnych cech
prozodycznych, jak np. transjenty (przejścia międzyfonemowe formantów), dźwięczność
(bezdźwięczność) spółgłosek, zmiany intonacji [52,94].
W realnych systemach automatycznego rozpoznawania mowy najczęściej realizuje się
pewną kombinacją wymienionych podejść, z tym, że któreś z nich pełni zwykle funkcję
dominującą. W większości poprawnie działających systemów automatycznego
rozpoznawania mowy mają zastosowanie dwa pierwsze podejścia [52].
Podstawowym etapem jest analiza na poziomie akustycznym, w wyniku której
następuje ekstrakcja parametrów akustycznych. Drugim poziomem rozpoznawania jest
poziom ekstrakcji fonetycznych charakterystyk informacyjnych. Następuje równoległe
wydzielanie charakterystyk prozodycznych (intonacja, akcent, rytm), które pozwalają na
35
określenie głównych struktur lingwistycznych. Kolejnym poziomem jest segmentacja i
klasyfikacja fonetyczna pozwalająca na ustalenie określonych ciągów fonetycznych. Ciągi
fonetyczne pozwalają na realizację procedury porównania słów ze słownika. Hipotetyczne
słowa (lub inne jednostki językowe) kończą proces rozpoznawania [52,94].
W systemach rozpoznawania mowy wykorzystujących UMM podstawą
rozpoznawania są jednostki fonetyczne, dla których tworzone są oddzielne modele akustyczne
[111]. Jako jednostki fonetyczne stosowane są słowa, sylaby, trifony, diafony i fonemy. Pod
pojęciem „fonem” rozumieć należy zbiór alofonów, które mają jednakowe funkcje i nie
wywołają znaczeniowych rozróżnień w obrębie danej mowy. Pod pojęciem „diafon”
rozumieć należy taką jednostkę językową, która zawiera informację przejściową od środka
quasi-stacjonarnych odcinków pary samogłoska-spółgłoska lub spółgłoska-samogłoska.
Zarówno proces tworzenia modeli UMM oraz właściwy proces rozpoznawania należy
poprzedzić procesem ekstrakcji charakterystyk z sygnałów mowy; realizuje się to przez
przetworzenie plików audio za pomocą narzędzi programowych. Dla modeli UMM z
dyskretnymi rozkładami wyjściowymi należy dokonać kwantyzacji wektorowej uzyskanych
charakterystyk, które nazywają się wektorami obserwacji [112].
Jeżeli w stosunku do aplikacji zostanie przyjęte wymaganie, aby dowolne słowa
mogły być dodane do leksykonu systemu bez konieczności przeprowadzania dodatkowego
treningu, potrzebne są dane uczące z dobrym pokryciem akustycznym i fonetycznie
zrównoważone, czyli uwzględniające wszystkie i we właściwej ilości zjawiska akustyczne
występujące na granicy rozpoznawanych jednostek fonetycznych.
Udoskonalenie pracy systemu rozpoznawania mowy umożliwia zastosowanie
gramatyki języka (czyli wykorzystanie wiedzy lingwistycznej) w celu ograniczenia wyboru
słów w każdym miejscu rozpoznawanej wypowiedzi. Gramatyka w minimalnym stopniu
wpływa na postać tworzonych modeli UMM jednostek akustycznych [5,112].
Dla danych testowych transkrypcja gramatyczna (skrypty podpowiedzi) zostanie
wykorzystana do oceny pracy systemu. Wygodnym sposobem tworzenia skryptów
podpowiedzi jest zastosowanie gramatyki zadania jako generatora losowego.
Filtracja sygnału mowy
Podstawowym etapem w procesie rozpoznawania mowy jest ekstrakcja wymaganych
charakterystyk z nagranych sygnałów audio-mowy. W zależności od tego, czy realizowane
jest rozpoznawanie fonemowe, czy rozpoznawanie całych pojedynczych słów, należy
dokonać odpowiedniej analizy badanego sygnału mowy. Ekstrakcja charakterystyk
36
wykonywana jest zarówno w procesie uczenia jak i testowania, prowadząc do pewnego
rodzaju kompresji sygnału audio na potrzeby tworzonego systemu rozpoznawania.
Zasadniczy wpływ na wybór charakterystyk reprezentujących mowę ma proces wytwarzania i
percepcji mowy przez człowieka.
Często proces wytwarzania mowy jest reprezentowany przez model typu źródło-filtr.
Sygnał wymuszenia (źródło) modelowany jest za pomocą:
• pseudookresowego ciągu impulsów dla głosek dźwięcznych: samogłosek, spółgłosek
płynnych, spółgłosek nosowych, głoski niesylabicznej „j” oraz głoski drżącej „r”;
• szumu białego dla bezdźwięcznych głosek trących, zwartych i zwarto-trących;
• sumy powyższych wymuszeń dla dźwięcznych głosek trących, zwartych, zwarto-
trących.
Trakt głosowy (usta, język, krtań, nos), bezpośrednio kształtujący sygnał mowy,
zwykle modelowany jest za pomocą filtru o skończonej odpowiedzi impulsowej (SOI).
Sygnał mowy w tym modelu jest splotem wymuszenia i odpowiedzi impulsowej filtru
[105,111].
Filtracja sygnałów umożliwia realizację następujących celów obróbki sygnałów:
ograniczenie szerokości pasma; polepszenie stosunku sygnału do szumów; wygładzenie
sygnału; wykrywanie zjawisk objawiających się zmianami widma; filtrację antyaliasingową,
zapobiegającą zniekształceniom, które mogły powstać w trakcie przetwarzania A/C, gdy
górne częstotliwości sygnału są wyższe niż ½ częstotliwości próbkowania [7]. W celu
uniknięcia aliasing’u stosuje się filtrację dolnoprzepustową, odcinającą składowe sygnału
powyżej częstotliwości Nyquista [105].
Podstawowym parametrem wyznaczającym objętość wynikowego zbioru danych
wprowadzanych do systemu jest częstotliwość próbkowania sygnałów. Częstotliwość ta
powinna być jak najmniejsza, ale należy zwrócić uwagę na fakt, iż częstotliwość zmian
obwiedni sygnałów na wyjściach filtrów musi być mniejsza od połowy przyjętej
częstotliwości próbkowania. Stosując filtrację dolnoprzepustową wprowadzanego sygnału
można uzyskać dowolnie małą częstotliwość graniczną, gubiąc jednak bezpowrotnie
informacje o tych partiach sygnału mowy, w których widmo zmienia się w sposób szybki
[105]. Ponieważ szybkie zmiany widma sygnału odpowiadają szybkim ruchom
artykulacyjnym narządów mowy, na ogół niosą one znacznie więcej informacji o
wypowiadanych wyrazach niż długotrwałe nawet okresy, w których widmo się nie zmienia,
gdyż narządy mowy pozostają nieruchome i trwa artykulacja stanów quasi-ustalonych
samogłosek lub spółgłosek szumowych. Wynika z tego, że przy rozpoznawaniu mowy te
37
właśnie szybkie zmiany widma sygnału będą bardzo przydatne, a ich utraty w momencie
wprowadzania sygnału mowy do systemu rozpoznawania nie da się później w żaden sposób
zrekompensować [105].
Częstotliwość próbkowania musi być wystarczająca do przeniesienia
zarejestrowanych zmian w widmie. Typową częstotliwością próbkowania mowy, przyjętą
również w telefonii, jest 8000 próbek/s. Jeśli składowa sygnału o najwyższej częstotliwości
jest równa f0, to należy pobierać próbki sygnału częściej niż 2f0 razy na sekundę (reguła
Nyquista). Reguła Nyquista może być rozszerzona na sygnały, które mają tylko składowe o
częstotliwościach pomiędzy f1 i f2. Jeśli f1 i f2 spełniają odpowiednie kryteria, to aby
odtworzyć dokładnie sygnał, należy próbkować sygnał z częstotliwością przynajmniej 2(f2 –
f1) próbek na sekundę [96]. Dla okna czasowego o długości 10 ms częstotliwość próbkowania
sygnałów wyjściowych z filtrów powinna wynosić około 100 Hz, czyli maksymalna
częstotliwość zmian widma wiernie oddana we wprowadzonym sygnale będzie wynosić 50
Hz. Sygnał na wyjściach filtrów poddawany jest jedynie uśrednianiu i mogą w nim
występować tętnienia o częstotliwości odpowiadającej częstotliwości środkowej filtru,
dlatego trzeba bardzo starannie odfiltrować częstotliwości większe od przyjętej częstotliwości
Nyquista.
Procedura projektowania filtrów rozpoczyna się od określenia wymaganej funkcji
transmitancji (przepustowego okna), po czym następuje obliczenie współczynników filtru,
które dadzą taką funkcję transmitancji [74]. Filtry dolnoprzepustowe to filtry, które
przepuszczają składowe poniżej ustalonej częstotliwości odcięcia f0. Jednym ze sposobów
charakteryzacji filtrów jest funkcja przeniesienia modułu, czyli stosunek modułu wejścia i
wyjścia filtru jako funkcji częstotliwości. W idealnym przypadku wszystkie składowe sygnału
wejściowego o częstotliwości poniżej f0 pozostają niezmienione z wyjątkiem wzmocnienia o
stałą. Wszystkie częstotliwości powyżej f0 zostają zatrzymane dając ostre odcięcie. W
przypadku filtru rzeczywistego odcięcie jest bardziej stopniowe. Także wzmocnienie
składowych o częstotliwości mniejszej niż f0 nie jest stałe, a składowe powyżej f0 nie są
całkowicie tłumione. Powstaje tzw. pulsacja w paśmie przejścia i tłumienia [96].
Filtrowanie cyfrowe, to obliczenie ważonej sumy bieżącego i poprzednich wejść do
filtra, a w pewnych przypadkach także ostatnich wyjść filtra. Ogólna postać związku wejścia
z wyjściem filtra jest następująca [96]:
∑ ∑= =
−− +=N
i
M
iiniinin ybxay
0 1, (3.1)
38
gdzie ciąg xn jest sygnałem wejściowym filtra, ciąg yn - wyjściowym, a wartości ai i bi -
współczynniki filtra.
Jeśli ciąg wejściowy składa się z jedynki, po której następują same zera, to ciąg
wyjściowy jest impulsową reakcją filtru. W przypadku, gdy wszystkie bi są równe 0, to
impulsowa reakcja zaniknie po N próbkach. Takie filtry są nazywane filtrami SOI. Filtry SOI
są zawsze stabilne (dopóki wejście jest ograniczone, wyjście także jest ograniczone), gdyż
dają w wyniku średnie ważone.
Do zaprojektowania filtru dolnoprzepustowego SOI można użyć poniższych funkcji
transmitancji (okna) [74]:
• okno prostokątne:
1,...,2,1,0,1)( −== Nndlanw (3.2)
• okno trójkątne:
2/22/,...,2,1,0,
2/)(
NnnorazNndla
Nnnw −=== (3.3)
• okno Hanninga:
1,...,2,1,0)/2cos(5,05,0)( −=−= NndlaNnnw π (3.4)
• okno Hamminga:
1,...,2,1,0)/2cos(46,054,0)( −=−= NndlaNnnw π (3.5)
• okno Blackmana:
1,...,2,1,0)4cos(08,0)2cos(5,042,0)( −=+−= NndlaN
nN
nnw ππ (3.6)
• okno Czebyszewa:
))(coshcosh[
)]cos([coscos()( 1
1
α
πα
−
−
⋅
⋅⋅
−=N
NmN
DFTodwrotnapunktowaNnw
1,...,2,1,0,))10(cosh1cosh( 1 −== − NnmiN
agdzie γ (3.7)
• okno Kaisera:
211,...,2,1,0
)(
])(1[)(
0
20 −=−=
−−= NpiNndla
Ip
pnInw
β
β (3.8)
Projektowanie filtrów metodą okna polega na zredukowaniu nieciągłości w(n) z
użyciem funkcji okien innych niż okno prostokątne [74].
39
Różne funkcje okna mają swoje zalety i wady w procesie projektowania filtrów SOI.
Jednak bez względu na to, jakie okno nie-prostokątne zostanie użyte, to zawsze występuje
efekt zmniejszenia poziomu nierówności charakterystyki w paśmie przepustowym filtru SOI,
w porównaniu z przypadkiem użycia okna prostokątnego.
Na Rys.3.1 przedstawiono widok funkcji filtru z oknem Kaisera.
Rys.3.1 Widok funkcji okna Kaisera zastosowanego w filtrze dolnoprzepustowym SOI
W badaniach każdy sygnał wejściowy poddany został filtracji filtrem
dolnoprzepustowym SOI z oknem Kaisera.
Rys.3.2 przedstawia sygnał (słowo drukuj) przed filtracją, natomiast Rys.3.3
przedstawia ten sam sygnał filtracji.
Rys.3.2 Widok sygnału słowa drukuj przed filtracją filtrem SOI z oknem Kaisera
40
Rys.3.3 Widok sygnału słowa drukuj po filtracji filtrem SOI z oknem Kaisera
3.2. Proponowane metody ES i CZS do definiowania słów izolowanych
Po poddaniu sygnału wejściowego filtracji, kolejnym etapem jest wydzielenie czystego słowa
z nagranej wypowiedzi. Należy usunąć ciszę sprzed i spoza właściwego sygnału. Znajomość
charakterystyk ludzkiej mowy pozwala na wyznaczenie granic rozpoczynającej i kończącej
dane słowo. Wyróżnić należy w tym procesie trzy zasadnicze części nagrania: ciszę, różnego
rodzaju zakłócenia, właściwy sygnał mowy. Zarówno w procesie rozpoznawania słów
izolowanych jak i rozpoznawania mowy ciągłej właściwy podział nagranego sygnału ma
znaczący wpływ na skuteczność rozpoznawania.
W pracy przedstawiono metodę wykrywania początku i końca słowa bazującą na
energii sygnału (algorytm energii sygnału – ES) oraz na częstości zmian stanów sygnału dla
określonego odcinka czasowego i częstotliwości próbkowania (algorytm częstości zmian
sygnału – CZS).
W metodzie ES sygnał wejściowy dzielony jest na ramki o rozmiarze 256 próbek.
Wartości rozmiarów ramek uzależnione są od częstotliwości próbkowania. Zastosowano
częstotliwość próbkowania 8000 Hz. Następnie dla każdej ramki obliczona zostaje jej
energia:
,..11
2,∑
=
==N
iijj MjdlaXweE (3.9)
41
gdzie: E – energia danej ramki, Xwe – sygnał wejściowy podzielony na ramki, N – rozmiar
pojedynczej ramki (256), M – liczba ramek.
Dobierając odpowiednio próg można wyznaczyć ramkę zawierającą początek nagranego
słowa. Ramka taka przekracza przyjęty próg energii. Biorąc pod uwagę fakt, iż w momencie
rozpoczęcia nagrywania pierwsze kilka ramek zawierają samą ciszę, można wyznaczyć próg
energii na podstawie początkowych ramek. W pracy jako próg przyjęto podwojoną sumę
energii trzech pierwszych ramek:
∑=
⋅=K
iiET
12 (3.10)
gdzie: T – próg energii, K – liczba pierwszych ramek branych pod uwagę w wyznaczaniu
progu (3).
Po wyznaczeniu początku i końca słowa do dalszych operacji przeznaczony jest
odseparowany od zbędnej ciszy czysty sygnał.
Może się zdarzyć, że źle dobrany próg spowoduje błędne określenie początku i końca
słowa. Jeśli osoba nagrywająca dane słowo zbyt wcześnie rozpocznie wypowiedź, lub jeśli
wypowiedź będzie zbyt cicha, szczególnie przy głoskach bezdźwięcznych (np. „s”, „f”),
wówczas błędne odseparowanie właściwego sygnału może spowodować błędną pracę
systemu realizującego rozpoznawanie mowy.
Na Rys.3.5 pokazano błędnie wyznaczony właściwy sygnał mowy z nagrania
pokazanego na Rys.3.4 dla słowa start.
Rys.3.4 Widok nagranego słowa start wraz z występującą ciszą
42
Na Rys.3.5 wyraźnie widać, że wyznaczone słowo nie odzwierciedla w pełni
nagranego sygnału. Odsłuchując wyznaczoną część wejściowego nagrania można stwierdzić,
iż algorytm ES pominął fonemy „s” i „t” z początku oraz fonem „t” z końca słowa „start”
wyznaczając jako całe słowo „ar”, a nie takiego rozwiązania należało się spodziewać.
Oczywiście jest to skrajny przykład, ale pokazuje możliwość wystąpienia błędów w
algorytmie ES.
Rys.3.5 Widok błędnie wyznaczonego słowa start w oparciu o algorytm ES
Algorytm ES
Wejście: Sygnał zawierający daną wypowiedź wraz z ciszą.
Wyjście: Sygnał zawierający pozbawione ciszy, nagrane słowo.
1: Podzielić sygnał wejściowy na ramki o długości 256 próbek dla częstotliwości
próbkowania 8000 Hz.
2: Obliczyć energii dla sprawdzanej ramki (wzór 3.9).
3: Wyznaczyć próg energii (wzór 3.10).
4: Powtórzyć kroki 2 - 3 kolejno dla wszystkich ramek.
5: Wyznaczyć początkowe r1 i końcowej r2 ramki posiadające energię przekraczającą
przyjęty próg energii.
6: Złożyć w jednolity sygnał mowy poszczególne ramki zaczynając od r1, a kończąc
na r2.
43
W celu uniknięcia błędów wynikających z niedokładności metody ES w pracy
dodatkowo zastosowano metodę CZS sprawdzającą liczbę zmian stanów wejściowego
sygnału (z mniejszego na większy oraz z większego na mniejszy) dla przyjętych przedziałów
czasowych. W metodzie tej sygnał wejściowy dzielony jest na ramki o długości 100 próbek
dla przyjętej częstotliwości próbkowania 8000 Hz. Kolejne ramki nakładają się na siebie po
50 próbek. Dla każdej ramki sprawdza się liczba zmian stanów sygnału. Jeśli liczba zmian
jest mniejsza od przyjętego progu, wówczas zeruje się pierwsze 50 wartości sprawdzanej
ramki, pozostałe nie zmienia się, przeciwnym wypadku wszystkie próbki sprawdzanej ramki
pozostają bez zmian.
Często zamiast liczby zmian stanów sygnału przyjmuje się liczbę przejść sygnału
przez zero, czyli zmianę stanów sygnału z ujemnego na dodatni i na odwrót. Zdarza się
jednak, że sygnał zawierający niektóre fonemy zmienia swój stan, nie przechodząc jednak
przez zero. Prowadzi to często do błędnego odrzucenia poprawnego sygnału mowy. W
metodzie CZS może zdarzyć się, że przy błędnie dobranym progu zostanie poprawnie
wyznaczony początek i koniec słowa, ale przy dodatkowych zakłóceniach wewnątrz sygnału
powstaną puste fragmenty (sztuczna cisza), bo sygnał zostanie wyzerowany.
Na Rys.3.6 pokazano wyznaczone słowo start metodą CZS. Można zaobserwować, iż
początek i koniec właściwego słowa został wyznaczony prawidłowo, natomiast wewnątrz
sygnału znalazła się niepotrzebna cisza.
Rys.3.6 Widok wyznaczonego słowa start w oparciu o algorytm CZS
44
Algorytm CZS
Wejście: Sygnał zawierający daną wypowiedź wraz z ciszą.
Wyjście: Sygnał zawierający nagrane słowo z pominiętą ciszą sprzed i spoza sygnału.
1: Podziel sygnał wejściowy na ramki o długości 100 próbek dla częstotliwości
próbkowania 8000 Hz. Ramki zachodzą na siebie po 50 %.
2: Oblicz liczby zmian stanów sygnału sprawdzanej ramki.
3: Jeśli liczba zmian jest mniejsza od przyjętego progu (5 dla częstotliwości
próbkowania 8000 Hz), wyzeruj się pierwsze 50 próbek sprawdzanej ramki.
Jeśli liczba zmian jest większa, bądź równa wartości przyjętego progu, wszystkie
próbki sprawdzanej ramki pozostaw bez zmian.
4: Powtórz kroki 2 - 3 kolejno dla wszystkich ramek.
5: Wyznacz początek i koniec słowa poprzez usunięcie wszystkich kolejnych próbek
zerowych zaczynając od początku oraz od końca nagrania, aż do pojawienia się
próbek niezerowych.
Odpowiednie połączenie obu metod ES i CZS pozwala na uniknięcie przytoczonych
przykładowo błędów. Wzajemne uzupełnianie się powoduje, że początek i koniec sygnału
wyznaczany jest prawidłowo, bez względu na skład fonemowy wypowiedzi oraz jej rozsądną
głośność. W przypadku szeptu lub zbyt głośnych zakłóceń błędy z pewnością powstaną.
Poprawnie wyznaczony połączonymi metodami ES i CZS początek i koniec słowa
start pokazano na Rys.3.7.
Rys.3.7 Widok poprawnie wyznaczonego słowa start metodami ES i CZS
45
Podział sygnału mowy na stacjonarne ramki
Podczas kodowania odfiltrowanego już wcześniej i pozbawionego zbędnej ciszy sygnału
mowy należy zwrócić uwagę na fakt, iż sygnał mowy nie jest stacjonarny. Parametry
opisujące dany sygnał generowane przez kanał głosowy człowieka mogą się zmieniać od
kilku do kilkunastu razy w ciągu sekundy. Biorąc pod uwagę fizyczne ograniczenia w
szybkości zmian kształtu traktu głosowego zakłada się, że sygnał jest stacjonarny w krótkim
okresie czasu (10 ms). W okresie stacjonarności parametry zarówno sygnału mowy jak i filtru
modelującego trakt głosowy nie zmieniają się, zatem można je zastąpić reprezentacją w
postaci pojedynczego stałego wektora charakterystyk. Przy częstotliwości próbkowania 8 kHz
należy tak dobrać długość stacjonarnej ramki, aby zapewnić wystarczającą rozdzielczość
częstotliwościową widma, proporcjonalną do liczby próbek w ramce. W praktyce rozsądną
rozdzielczość zapewnia sygnał o długości 25 – 30 ms. Aby zapewnić stacjonarność sygnału
przy częstotliwości jego widma stosuje się metodę nakładania się kolejnych ramek [111].
Biorąc pod uwagę powyższe wymagania sygnał wejściowy podzielono na pojedyncze,
stacjonarne ramki. Przy częstotliwości próbkowania sygnału 8 kHz przyjęto długość
stacjonarnej ramki 30 ms (240 próbek). Kolejne nakładano z opóźnieniem 10 ms (80 próbek).
Sposób nakładania się wydzielonych stacjonarnych ramek w tworzonym systemie
pokazano na Rys.3.8.
Rys.3.8 Przykład podziału i sztucznego opóźnienia kolejnych nakładających się ramek
Każda ramka służy do wyznaczenia pojedynczej obserwacji zakodowanej przy
pomocy przyjętego symbolu obserwacji wchodzącego w skład tworzącego dane słowo
46
wektora charakterystyk. Współrzędnymi wektorów obserwacji mogą być między innymi
współczynniki: przekształcenia FFT; liniowego kodowania predykcyjnego LPC; cepstralne w
częstotliwościowej skali mel MFCC [107,111].
Stosowanie ramek wprowadza pewne niebezpieczeństwo zakłócenia właściwych
parametrów sygnału. Każda ramka powoduje powstawanie nieciągłości przetwarzanego
sygnału, prowadząc do powstawania niepotrzebnych wysokich częstotliwości w widmie
sygnału. W celu wygładzenia nieciągłości i usunięcia z widma fałszywych prążków
zastosowano dla wydzielonych ramek zawężające okna tłumiące skrajne próbki. Jako
zawężające okna zastosowano okno Hamminga realizujące przekształcenie wszystkich próbek
w ramce według następującej zależności [85]:
[ ]
−−=+
12cos46.054.01
nkkw π , (3.11)
gdzie: k = 0,…,n – 1; n – rozmiar okna Hamminga
Wygładzanie skrajnych próbek prowadzi czasami do pewnych strat w rozdzielczości
widma, dlatego przyjęto metodę opóźnionych, nakładających się ramek w celu zachowania
stabilności systemu i zminimalizowanie jakichkolwiek zakłóceń.
Dla ramek o długości 240 próbek (Rys.3.9) zastosowano 240-punktowe okno
Hamminga (Rys.3.10). Rezultat wygładzenia skrajnych próbek ramki poprzez nałożenie okna
Hamminga pokazano na Rys.3.11.
Rys.3.9 Widok przykładowej ramki wydzielonej z sygnału
47
Rys. 3.10. Widok funkcji 240-punktowego okna Hamminga
Rys.3.11 Widok ramki z nałożonym zawężającym oknem Hamminga
3.3. Specyfika kodowania sygnału mowy w postaci cepstrum
Realizując rozpoznawanie mowy w warunkach rzeczywistych należy liczyć się z tym, że nie
ma praktycznie możliwości, aby stanowisko robocze umieścić w miejscu, gdzie nie występują
żadne przeszkody. Nagrywany sygnał może odbić się od obecnych obiektów powodując
powstanie echa. Jest to zjawisko niepożądane i w miarę możliwości należy je usunąć. Echo
jest to wierna kopia sygnału powtórzona z przesunięciem czasowym. W celu jego eliminacji
48
należy zastosować narzędzia pozwalające na porównanie przesuniętych sygnałów. Taką
możliwość daje cepstrum sygnału.
Termin cepstrum został wprowadzony przez Bogerta i współautorów w pracy [9].
Zaobserwowali oni, że logarytm spektrum mocy sygnału zawierającego echo ma dodatkowy
okresowy składnik powodujący echo. Generalnie, dźwięczna mowa x(t) może być
postrzegana jako reakcja odpowiedniego filtru artykulacji traktu głosowego napędzanego
przez pseudo okresowe źródło g(t). Sygnał x(t) można otrzymać jako splot g(t) oraz impulsu
odpowiedzi traktu głosowego h(t) jako [41,107]:
∫ −=t
dthgtx0
)()()( τττ , (3.12)
który jest równoważny do
)()()( ωωω HGX ⋅= , (3.13)
gdzie X(ω), G(ω) i H(ω) są wyznaczone jako FFT odpowiednio z x(t), g(t) i h(t).
Jeśli x(t) jest funkcją okresową, |X(ω)| jest reprezentowany przez widma liniowe, czyli
przedziały częstotliwości będące odwrotnością podstawowego okresu g(t). Dlatego, kiedy
|X(ω)| jest wyznaczane przez FFT z kolejnych w czasie próbek dla krótkiego okresu sygnału
mowy, wówczas są to wyraźnie ostre przedziały z równymi odstępami wzdłuż osi
częstotliwości [41,107]. Logarytm X(ω) wynosi:
)(log)(log)(log ωωω HGX += (3.14)
Pierwszy i drugi składnik prawej strony równania (3.14) opisuje odpowiednio właściwe
widmo oraz widmo obwiedni [76,107]. Początkowo był to model okresowy, później globalny
model wzdłuż osi częstotliwości.
Istnieje duża różnica pomiędzy odwrotną szybką transformatą Fouriera IFFT z obu
elementów:
)(log)(log)(log)( 111 ωωωτ HGXc −−− ℑ+ℑ=ℑ= , (3.15)
co w terminologii [9] zapisuje się jako:
)))))((((log( 10 samplevoiceFFTabsIFFTrealCepstrum = (3.16)
Dokonując operacji logarytmowania widma sygnału mnożenie zamieniane zostaje w
sumę. Następuje przejście z dziedziny częstotliwości w dziedzinę czasu. Na początku
cepstrum zgromadzona jest energia sygnału właściwego, echo uwidacznia się w dalszych
momentach czasowych. Jest ono reprezentowane przez pojedyncze prążki przesunięte na osi
49
czasu, wyodrębnione z głównego sygnału. Na Rys.3.12 i 3.13 pokazano przykładowe
cepstrum sygnałów bez echa i z echem.
Rys.3.12 Widok funkcji Cepstrum sygnału bez echa [12]
Rys.3.13 Widok funkcji Cepstrum sygnału z zaobserwowanym echem [12]
Mechanizm usuwania echa w dziedzinie cepstrum polega na eliminacji prążków echa
z sygnału. Jak wiadomo w widmie prążki odzwierciedlają energię poszczególnych
składowych. Usuwając prążki echa usuwa się jego energię. Po powrocie z dziedziny cepstrum
w dziedzinę częstotliwości otrzymany sygnał pozbawiony jest zbędnego echa. W dziedzinie
cepstrum echo można usunąć poprzez [76,107]:
• wyszukanie pików echa i zerowanie ich,
50
• przepuszczenie logarytmowanego widma przez filtr medianowy.
Obie metody są w pewnym stopniu skuteczne. Wyszukanie prążków echa i ich
usunięcie wymaga sporo czasu potrzebnego na ich znalezienie. Konieczne jest również
doświadczalne ustalenie poziomu odcięcia, po przekroczeniu którego zeruje się prążki
zidentyfikowane jako echo. Z tego też względu można mieć problemy z wyłapaniem i
usunięciem słabego echa z sygnału.
Filtracja medianowa w dziedzinie cepstrum prowadzi w pewnym stopniu do
deformacji widma sygnału. Ponieważ ważna jest tylko poprawa funkcji korelacji wzajemnej,
natomiast kształt sygnału nie jest aż tak istotny, dlatego można doprowadzić do zniekształceń
widma sygnału zachowując jego własności korelacyjne. Filtracja medianowa polega na
posortowaniu rosnąco wartości próbek, a następnie wybraniu środkowej. Dzięki takiej filtracji
można usuwać zarówno zakłócenia harmoniczne, jak i zakłócenia impulsowe powodujące
echo.
W procesie percepcji sygnałów mowy ucho ludzkie dokonuje nieliniowej w dziedzinie
częstotliwości analizy widma tego sygnału. Analizując wyniki doświadczeń stwierdzono, że
podobne zastosowanie nieliniowego przetwarzania częstotliwości w systemach
automatycznego rozpoznawania mowy zwiększa ich skuteczność [111].
Analizę nieliniową realizuje się za pomocą banku filtrów, wykorzystujących FFT.
Polega ona na otrzymaniu zbioru charakterystyk z wygładzonego widma amplitudowego lub
widma mocy: Prążki widma wyznaczonego tradycyjnie za pomocą FFT (Rys.3.14) łączy się
w mniejszą liczbę przedziałów częstotliwości (kanałów) [76,111].
Rys.3.14 Wyznaczone za pomocą 512-punktowego FFT widmo amplitudowe ograniczonego ramką sygnału
51
Najbardziej popularna metoda wygładzająca widmo polega na zastosowaniu tzw. skali
mel, bazującej na doświadczalnym związku między częstotliwością czystego tonu
harmonicznego i częstotliwością postrzeganą przez człowieka [9,111].
Główna różnica pomiędzy analizą cepstralną, a analizą za pomocą banku filtrów
polega na przepuszczeniu widm sygnału przez pasmo przejścia banku filtrów przed zamianą
na dziedzinę częstotliwości. Charakterystyki filtrów naśladują system słuchowy człowieka.
Można zauważyć, że filtry zajmują tylko połowę całkowitego widma, pozostała część
jest tylko powieleniem informacji. W celu dostosowania charakterystyk filtrów skalę
częstotliwościową zamienia się na skalę mel za pomocą następującej zależności [76,107]:
)700/1(log2595 10 Hzmel ff += , (3.17)
gdzie: fmel – skala mel; fHz – częstotliwość liniowa w normalnej skali częstotliwości.
Przejście ze skali mel do skali częstotliwości opisuje następująca zależność [111]:
−= 110700 2595
melf
Hzf (3.18)
Skala mel zaprojektowana jest w ten sposób, że do około 1000 Hz jest w przybliżeniu
liniowa, natomiast powyżej zwiększa się logarytmicznie. Na Rys.3.15 pokazano związek
pomiędzy skalą częstotliwości, a skalą mel.
Rys.3.15 Związek pomiędzy skalą częstotliwości a skalą mel [1]
Bazując na skali mel tworzony jest bank filtrów, dokonujący nieliniowej analizy
częstotliwościowej sygnału, analogicznej do realizowanej przez ludzkie ucho. Filtry są
równomiernie rozłożone w częstotliwościowej skali mel i mają trójkątne charakterystyki. W
52
pracy zastosowano bank złożony z 20 nakładających się filtrów o szerokości pasma 300 meli,
przesuniętych względem siebie o 150 meli.
Podczas tworzenia banku filtrów dla próbek sygnału mowy wydzielonych ramką
należy wyznaczyć dla każdej ramki widmo amplitudowe przy pomocy FFT. Następnie
wyznacza się oddzielnie dla każdego filtru z banku sumy współczynników widma
amplitudowego ważonych odpowiadającymi im wartościami charakterystyk amplitudowych
filtru trójkątnego [111]. Widmo amplitudowe można zastąpić widmem mocy. Otrzymane
sumy ważone nazywane są parametrami banku filtrów. Liczba kanałów w banku filtrów
zawiera się w zakresie od 12 do 20. W pracy zastosowano 20 kanałów. Na Rys.3.16 pokazano
przykładowy bank filtrów zastosowany w pracy.
Rys.3.16 Charakterystyki banku 20 filtrów o szerokości 300 meli przesuniętych względem siebie
o 150 meli [10]
Korzystając z widma mocy należy wyznaczyć elementy każdego filtru poprzez
pomnożenie jego amplitudy oraz średniego widma mocy odpowiedniej częstotliwości
dźwięku wejściowego. Wyznaczone elementy filtrów sumuje się - wzór (3.19) [107].
∑−
=
⋅=1)2/(
0, )(
N
nnknk APS , (3.19)
gdzie: Sk – współczynniki widma mocy; N – całkowita liczba próbek w ramce; Pn – średnie
widmo mocy dźwięku wejściowego; Ak,n – amplituda.
Parametry banku filtrów są w dużym stopniu powiązane ze sobą powodując
pogorszenie skuteczności rozpoznawania, nawet jeśli się założy niezależność parametrów w
wektorze obserwacji.
53
Poprawienie jakości rozpoznawania można uzyskać poprzez zastosowanie
przekształcenia cepstralnego parametrów banku filtrów, polegającego na wyznaczeniu
współczynników cepstralnych w skali mel MFCC jako dyskretnych przekształceń
kosinusowych logarytmów parametrów banku filtrów według zależności [33,107]:
,...1,1
)5.0(cos)(log1
NndlaK
knSMFCCK
kkn =
+−=∑
=
π (3.20)
gdzie: Sk – współczynniki widma mocy; K – liczba wymaganych współczynników cepstrum;
N – liczba filtrów w banku filtrów.
W pracy przyjęto liczbę wymaganych współczynników cepstrum K równą 20, co
oznaczało zastosowanie 21 filtrów w banku filtrów pokrywających częstotliwość z przedziału
od 0 do 4192 Hz.
Dodatkową zaletą współczynników MFCC jest uniezależnienie sygnału mowy od
wpływu kanału transmisji. Przy założeniu, że kanał transmisji jest liniowym układem
dynamicznym, sygnał na jego wyjściu jest splotem sygnału mowy (wejściowego) i
odpowiedzi impulsowej tego układu. Zatem widmo zniekształconego sygnału mowy
(wyjściowego) jest iloczynem widma sygnału mowy i charakterystyki częstotliwościowej
kanału transmisji. W dziedzinie wartości cepstrum mnożenie staje się zwykłym dodawaniem,
i wpływ kanału transmisji może być zredukowany poprzez odjęcie wartości średniej
współczynników MFCC od wszystkich wektorów obserwacji (przyjmuje się, że kanał
transmisji nie zmienia się w czasie). W rzeczywistości wartość średnia jest estymowana dla
ograniczonej ilości danych a operacja odejmowania wartości średniej nie eliminuje wpływów
kanału transmisji na sygnał. Mimo tego ta prosta technika jest w praktyce bardzo efektywna,
kompensując długotrwałe wpływy na widmo sygnału, wywołane przez różne mikrofony i
kanały transmisji stosowane podczas rejestracji sygnałów mowy. Aby wykonać. cepstralną
normalizację wartością średnią, należy wyznaczyć wartość średnią każdego współczynnika
cepstrum dla wszystkich wypowiedzi uczących. Ze względu na sposób realizacji kompensacja
cepstralną wartością średnią nie ma zastosowania dla sygnału rejestrowanego na żywo [111].
Pasmo częstotliwości, w którym analizowany jest sygnał, może pokrywać cały zakres
częstotliwości, lub zostać ograniczone (np w celu odrzucenia zakresów częstotliwości). W
tym ostatnim przypadku należy zadać częstotliwość dolną i górną analizowanego pasma,
wówczas zadana liczba kanałów w banku filtrów zostanie rozłożona równomiernie w skali
mel wzdłuż całego zakresu w ten sposób, że dolna częstotliwość pasma pokrywać się będzie z
dolną częstotliwością odcięcia pierwszego filtru, a górna częstotliwość pasma będzie górną
częstotliwością docięcia ostatniego filtru [111].
54
Algorytm MFCC
Wejście: Kolejne ramki o długości 240 próbek podzielonego wejściowego sygnału mowy o
częstotliwości 8000 Hz.
Wyjście: Kolejne wyznaczone sekwencje dwudziestu współczynników cepstrum dla każdej z
wejściowych ramek.
1: Wyznacz bank k filtrów, każdy o szerokości 300 meli, przesuniętych względem
siebie o 150 meli.
2: Wyznacz 512-punktową FFT z badanej ramki.
3: Przefiltrj 256 wartości wyznaczonego widma sygnału przez bank filtrów.
4: Wyznacz parametry banku filtrów Sk (wzór 3.19).
5: Wyznacz współczynniki cepstralne w skali mel MFCCk (wzór 3.20).
6: Powtórz kroki2 – 5 kolejno dla wszystkich ramek.
Wykresy wyznaczonych współczynników cepstrum dla wszystkich ramek słowa
wyloguj na Rys.3.17. Widać podobieństwo wyznaczonych współczynników MFCC
szczególnie końcowych ramek odpowiadających fonemowi „j” badanego słowa wyloguj.
Wypowiedź została nagrana z akcentem na fonem „j” w celu pokazania możliwości
odróżnienia fonemów języka polskiego.
Rys.3.17 Widok 20 współczynników cepstrum wyznaczonych dla sekwencje ramek słowa wyloguj
55
3.4. Kwantyzacja wektorowa cepstrum za pomocą algorytmu Lloyda
W zastosowaniu kompresji bezstratnej dane generowane przez źródło muszą być
reprezentowane za pomocą jednego z niewielkiej liczby słów kodowych. Liczba możliwych
różnych danych jest generalnie dużo większa od liczby przeznaczonych do ich
reprezentowania słów kodowych. Proces reprezentowania dużego zbioru wartości za pomocą
zbioru znacznie mniejszego jest nazywany kwantyzacją [96]. W przypadku rozpoznawania
mowy polskiej z zastosowaniem UMM podstawie danych uczących dobranych tak, aby
pokryć w całości przestrzeń akustyczną danego zagadnienia, wszystkie poszczególne słowa
można kodować przy pomocy 37 symboli kodowych, odpowiadających liczbie fonemów
języka polskiego. Dane potrzebne do utworzenia książki kodowej poddawane są procesowi
kwantyzacji. Przykładowo słowo o sekundowej długości reprezentowane jest przez wektor
obserwacji o długości około 60 pojedynczych obserwacji, gdzie każda z obserwacji
zakodowana jest przez jeden z 37 symboli książki kodowej.
Kwantyzacja jest dość prostym procesem, jednakże projektowanie kwantyzatora ma
znaczący wpływ na uzyskany stopień kompresji oraz stratę poniesioną w algorytmach
kompresji stratnej. W praktyce kwantyzator składa się z dwóch odwzorowań: kodującego i
dekodującego. Koder dzieli zbiór wartości generowanych przez źródło na pewną liczbę
przedziałów. Każdy przedział jest reprezentowany przez inne słowo kodowe. Koder
reprezentuje wszystkie dane źródła, które należą do danego przedziału, za pomocą słowa
kodowego reprezentującego ten przedział. Ponieważ dla każdego przedziału może należeć
wiele wartości, przekształcenie kodujące jest nieodwracalne. Znajomość kodu realizuje
jedynie podział, do którego należy dana próbka. Nie mówi natomiast, która z wielu wartości
w tym przedziale jest faktyczną próbkowaną wartością [96].
Dla każdego generowanego przez koder słowa kodowego dekoder generuje
rekonstruowaną wartość. Ponieważ słowo kodowe reprezentuje cały przedział i nie ma
sposobu, aby dowiedzieć się, która liczba z tego przedziału była w rzeczywistości
wygenerowana przez źródło, dekoder wybiera wartość, która w pewnym sensie najlepiej
reprezentuje wszystkie wartości z tego przedziału.
Konstrukcja przedziałów może być traktowana jako część procesu projektowania
kodera. Wybór rekonstruowanych wartości jest częścią projektowania dekodera. Wierność
rekonstrukcji zależy zarówno od przedziałów, jak i rekonstruowanych wartości, dlatego
podczas projektowania koder i dekoder traktuje się jako parę.
56
Dobrą metodą tworzenia efektywnych algorytmów kompresji stratnej i bezstratnej jest
grupowanie danych źródłowych i kodowanie ich w postaci jednego bloku. Taki pojedynczy
blok można traktować jako wektor, dlatego taki typ kwantyzacji nazywa się kwantyzacją
wektorową [108]. W kwantyzacji wektorowej dane wejściowe grupowane są w bloki lub
wektory. N kolejnych próbek mowy można traktować jako element N–wymiarowej
przestrzeni. Taki wektor danych źródła stanowi element danych wejściowych do
kwantyzatora wektorowego. Zarówno w koderze, jak i dekoderze kwantyzatora wektorowego
znajduje się N – wymiarowych wektorów nazywanych książką kodową kwantyzatora
wektorowego [96]. Wektory kodowe z książki mają reprezentować te wektory, które
otrzymuje się z danych źródłowych. Każdemu wektorowi kodowemu przypisany jest
liczbowy indeks.
Kwantyzacja wektorowa Q o wymiarze przestrzeni M i wymiarze wektorów N jest
odwzorowaniem wektora x z M – wymiarowej przestrzeni Euklidesowej RM do skończonego
zbioru Y zawierającego NM – wymiarowe wyjścia lub punkty reprodukcji, nazywane słowami
kodowymi. A zatem [108]:
YRQ M →: , (3.21)
gdzie: x = [x1,x2,…,xM]T; (y1, y2, …,yN) ∈ Y; yi = [yi1,yi2,…,yiM]T, dla i = 1,…,N, Y jest
książką kodową kwantyzatora.
Działanie odwzorowania opisywane jest jako:
NidlayxQ i ,...,1,)( == . (3.22)
Podział za pomocą każdej z N–punktowej M–wymiarowej kwantyzacji wektorowej realizuje
się jako podział przestrzeni Euklidesowej RM w N obszarów lub komórek Ri, dla i = 1,…,N.
Komórkę oznaczoną jako i – tą definiuje się przez;
{ } )()(: 1ii
Mi yQyxQRxR −==∈= . (3.23)
Dla zadanej książki kodowej Y o rozmiarze N optymalny podział komórek „najbliższy sąsiad”
określa się jako:
)},(),(:{ jii yxdyxdxR ≤= , (3.24)
gdzie: i,j = 1,…,N; i ≠ j.
Stąd wynika, że Q(x) = yi tylko wtedy, gdy d(x,yi) ≤ d(x,yj). Tak więc w książce
kodowej Y, koder zawiera minimalną (minimalnie zakrzywioną drogę pomiędzy dwoma
punktami) odległość lub odwzorowanie „najbliższy sąsiad” z:
),(min))(,( jiyxdxQxd = . (3.25)
57
Aby można było dokonywać pomiaru odległości konieczne jest określenie środka
ciężkości elementów obszaru uznawanych za podobne. Środek ciężkości (ang. Centroid)
obszaru o podobnych składowych cent(R0) określa się jako wektor y0 (jeśli taki istnieje)
minimalizujący zakrzywienie drogi pomiędzy punktami X ∈ R0 i y0:
}},|),({}|),({:{)( 00000 RXyXdERXyXdEyRcent ∈≤∈= (3.26)
dla każdego y ∈ RM. Dla zadanego podziału {Ri; i = 1,…,N}, optymalne wektory kodowe
wynoszą:
)( ii Rcenty = . (3.27)
Obszar zawierający elementy o podobnych właściwościach oprócz środka ciężkości
musi posiadać także granicę. Dla podziału Ri, i = 1,…,N, granicę każdego z obszarów określa
się jako:
}),,(),(:{ jiyxdyxdxB ij ≠== (3.28)
Dla wszystkich i,j = 1,…,N. Zatem granica składa się z punktów równomiernie oddalonych
od yj i tak samo od innych yi.
Warunkiem koniecznym, aby książka kodowa była optymalna dla danego źródła
rozkładu jest:
φ=B . (3.29)
Stąd wynika, że wyznaczona kompletna granica musi być pusta, pozbawiona źródłowych
elementów obszarów. Alternatywnie można to zapisać jako prawdopodobieństwo P równe:
0}),,(),(:{ =≠= jiyxdyxdxP ji (3.30)
dla wszystkich i,j = 1,…,N.
Zakładając, że wyznaczona granica nie jest pusta, przynajmniej jeden x jest równo
odległy od wektorów kodowych yi oraz yj. Odwzorowanie x w yi lub yj będzie dawać dwa
kodujące schematy z takim samym średnim rozkładem.
Projektując książkę kodową Y o rozmiarze N, wymagane jest znalezienie wejściowego
podziału komórek Ri oraz słów kodowych takich, że średnia odległość (zakrzywienie) D =
E{d(X,Q(X))} jest minimalizowane. Wejściowy losowy wektor X jest wektorem z daną
funkcją gęstości prawdopodobieństwa (ang. Probability Density Function, PDF). Możliwe jest
poprawienie działania kwantyzatora poprzez wykonanie dwóch kroków iteracji Lloyda.
Iteracja Lloyda może być stosowana bezpośrednio do kwantyzacji wektorowej. W przypadku
wektorów, obliczenie środków ciężkości wymaga oszacowania wielokrotnie całości (zakłada
się ciągły rozkład wejściowy), co generalnie nie jest możliwe w sposób analityczny. W
praktyce wektor uczący składa się z Nt wektorów
58
1,...,1,0; −= tk Nkx (3.31)
używanych do optymalizacji kwantyzacji wektorowej. Wektory te są przykładowymi
wynikami wejściowego losowego wektora X. Należy założyć, że każdy przykładowy wektor
ma prawdopodobieństwo masowe 1/Nt. Jeśli wartość Nt jest wystarczająco duża, statystyczne
własności danych wejściowych zbliżają się do ciągłego rozkładu losowego wektora X.
Iteracja Lloyda z procesu uczenia realizowana jest w dwóch krokach [108].
Algorytm iteracji Lloyda
Wejście: Zadana książka kodowa Ym.
Wyjście: Ulepszona nowa książka kodowa Ym+1.
1: Dla zadanej książki kodowej Ym = {ym,i; i = 1,2,…,N} podziel dane wejściowe na
obszary zawierające podobne dane przy użyciu warunków metody „najbliższy
sąsiad”
)},(),(:{ ,,, jmkjmkkim yxdyxdxR ≤= (3.32)
Dla wszystkich i ≠ j, k = 0,…,Nt – 1.
Do zapewnienia warunku pustości granicy (3.30) użyj reguły „tie-breaking” [108].
Dla przykładu, jeśli d(xk,yi) = d(xk,yj), to losowe przyporządkowanie może być
rozplanowane, a xk przyporządkowuje się dowolnie do Ri lub Rj.
2: Stosując warunki wyznaczania środków ciężkości obszarów, na podstawie
znalezionych środków ciężkości komórek otrzymasz nową książkę kodową Ym+1.
Jeśli w kroku pierwszym została wygenerowana pusta komórka, wówczas wektor
kodowy jest przydzielony dla tej komórki.
Pusta komórka może się pojawić wtedy, kiedy wektor nie jest wyznaczony z danych
wejściowych. Taka sytuacja może się zdarzyć, jeśli szczególne słowo kodowe komórki jest
bardzo daleko oddalone od wektora danych wejściowych. Pusta komórka nie przyczynia się
do poprawy rezultatów, dlatego powinna być usunięta. Zróżnicowanie heurystycznych
rozwiązań podpowiada, aby zajmować się problemem pustych komórek. Jedno z
przykładowych rozwiązań jest takie, aby podzielić największą komórkę na dwie komórki
przez dodanie odpowiedniego słowa kodowego z losową liczbą mającą małą niezgodność,
generującą tą drogą dwie oddzielne wersje oryginalnego słowa kodowego.
59
Iteracja Lloyda może być użyta do poprawy początkowej kwantyzacji z wstępnej
książki kodowej. Jeśli wejściowa PDF nie jest traktowana matematycznie, przykładowy
rozkład bazuje na używanych w zamian empirycznych obserwacjach. Algorytm Lloyda do
kwantyzacji wektorowej zawiera się w trzech podstawowych krokach [108].
Algorytm Lloyda
Wejście: Dane wejściowe z zadaną książka kodowa Ym.
Wyjście: Podzielona na obszary dane wejściowe.
1: Rozpocznij z początkową książką kodową Y1 (m = 1).
2: Dla zadanej książki kodowej Ym wykonaj iteracje Lloyda do wygenerowania
poprawionej książki kodowej Ym+1.
3: Wylicz średnie zakrzywienie dla Ym+1 (Dm+1). Jeśli różnica w porównaniu z
poprzednią iteracją jest niewielka, zatrzymaj działania algorytmu. W innym
przypadku ustaw m +1 na m i przejdź do kroku 2.
Jednym z uzasadnionych kryteriów zatrzymania jest użycie ułamkowego spadku w
zakrzywieniu (Dm – Dm+1) / Dm. Algorytm zatrzymuje się, kiedy ten współczynnik jest
mniejszy od przyjętego progu.
Ponieważ w pracy zastosowano analizę sygnału za pomocą współczynników
cepstrum, dlatego na wejście algorytmu Lloyda podawane są wektory odpowiadających
poszczególnym ramkom wyznaczonych współczynników cepstrum.
Kwantyzacja wektorowa wykonywana jest w procesie tworzenia książki kodowej w
oparciu o zestaw nagrań wejściowych zbudowany tak, aby w całości pokryć przestrzeń dla
danego zagadnienia i danego użytkownika. W przypadku systemów dedykowanych, czyli
przeznaczonych wyłącznie dla danego użytkownika, biorąc pod uwagę fakt, iż w języku
polskim występuje 37 fonemów, można utworzyć zestaw nagrań przeznaczonych do
tworzenia książki kodowej złożony z kilkunastu słów zawierających wszystkie 37 fonemów.
W pracy zastosowano podział danych wejściowych na 37 obszarów teoretycznie
odpowiadających poszczególnym fonemom. Na Rys.3.18 pokazano utworzoną książkę
kodową z zestawu wejściowego zawierającego 20 współczynników cepstrum dla każdej ze
stacjonarnych ramek.
60
Rys.3.18 Widok współczynników cepstrum książki kodowej dla 37 środków ciężkości
Kwantyzacja wektorowa polega na przyporządkowaniu pewnego symbolu każdej
ramce sygnału mowy. W systemach rozpoznawania mowy bazujących na UMM każda ramka
reprezentowana przez wektor obserwacji zakodowana zostaje w postaci symbolu obserwacji.
Ukryte modele Markowa z wyjściowymi rozkładami prawdopodobieństw w postaci
prawdopodobieństw dyskretnych wykorzystywane są do modelowania danych wejściowych
aproksymowanych za pomocą skończonego zbioru symboli. Dla ciągłych rozkładów
parametrów sygnału mowy dokonuje się kwantyzacji wektorów obserwacji.
W przypadku, gdy wyjściowe rozkłady prawdopodobieństwa są złożeniem funkcji
gęstości, stosuje się kwantyzację wektorową dla każdej ramki sygnału. Wynik kwantyzacji
wektorowej daje bazę dla początkowego wyboru podzbioru gaussowskich funkcji gęstości. W
rzeczywistości każdej ramce sygnału mowy można przyporządkować w procesie ekstrakcji
charakterystyk oprócz wektora obserwacji również odpowiedni symbol wzięty z książki
kodowej.
Jedną z podstawowych operacji podczas kwantyzacji jest wyznaczenie odległości
kolejnego wektora obserwacji od środków ciężkości obszarów wydzielonych z danych
pokrywających w całości przestrzeń akustyczną. Do pomiaru odległości stosuje się jedną z
trzech miar odległości [111]:
• euklidesowa,
• Mahalanobisa z macierzą kowariancji,
• Mahalanobisa z diagonalną macierzą kowariancji.
61
Symbole książki kodowej reprezentujące środki ciężkości odrębnych obszarów mogą
być rozmieszczone w tablicy liniowej lub drzewie binarnym. W tablicy liniowej wektor
obserwacji porównywany jest z każdym środkiem ciężkości i przypisywany jest mu symbol
kwantyzacji wektorowej odpowiadający najbardziej podobnemu obszarowi. W drzewie
binarnym gdzie każdy symbol oprócz końcowych połączony jest z dwoma następnymi
symbolami, wektor obserwacji porównywany jest z każdym symbolem z tej samej hierarchii
drzewa, począwszy od symbolu startowego. Symbole w drzewie rozłożone są tak, aby
poszczególne gałęzie zawierały symbole o zbliżonych właściwościach. W ten sposób nie ma
konieczności przeszukiwania wszystkich symboli.
Euklidesowa miara odległości dij pomiędzy dwoma obiektami Xi = (x1i,x2
i,…,xSi) oraz
Xj = (x1j,x2
j,…,xSj) wyliczana jest przy zastosowaniu następującej metryki [105]:
∑=
−=S
k
jk
ikij xxd
1
2)( . (3.33)
Miara euklidesowa ma jednak taką wadę, że operacja podnoszenia do kwadratu i
następującego po niej wyciągania pierwiastka jest czasochłonna, a co za tym idzie niedogodna
obliczeniowo. Aby to zlikwidować, w pracy zastosowano inną metrykę zwaną metryką
„Manhattan” (odpowiada ona odległości, jaką należy pokonać poruszając się z punktu Xi do
Xj tylko po drodze prostopadłej lub równoległej, bez możliwości pójścia na skróty). W
metryce tej odległość punktów Xi oraz Xj wyraża się wzorem [105]:
∑=
−=S
k
jk
ikij xxd
1|| . (3.34)
Uciążliwe obliczeniowo operacje zostały w tej metryce niemal w całości
wyeliminowane i zastąpione prostymi i szybko wykonywanymi działaniami. Przyjęcie
metryki danej wzorem (3.34) powoduje, że kulę w przestrzeni cech zastępuje sześcian. Może
on niekiedy lepiej pasować do kształtów obszarów w przestrzeni cech.
Obie definicje odległości mają wspólną wadę. Jeśli zakres zmienności któregoś z
rozważanych parametrów okaże się większy niż dla innego parametru, to odpowiednie
składniki w sumie będą dominowały nad pozostałymi, co szczególnie dotkliwie może dać się
zauważyć we wzorze (3.33), ze względu na operację podnoszenia do kwadratu [105].
Algorytm kodowania wektorów obserwacji
Wejście: Wektory obserwacji kodowanego sygnału w postaci współczynników cepstrum
oraz utworzona przy pomocy algorytmu Lloyda książka kodowa.
62
Wyjście: Wektor wszystkich obserwacji zakodowanych w postaci symboli obserwacji.
Każda pojedyncza obserwacja jest zakodowana najbardziej odpowiednim
symbolem.
1: Wyznacz rozmiar książki kodowej.
2: Oblicz odległości pomiędzy badanym wektorem obserwacji a wszystkimi
wektorami kodowymi z książki kodowej (wzór 3.34).
3: Znajdź minimalną odległość.
4: Przypisz wektorowi obserwacji symbolu odpowiadającemu najbardziej podobnemu
(min dij) wektorowi kodowemu z książki kodowej.
5: Powtórz kroki 2 – 4 kolejno dla wszystkich ramek (wektorów obserwacji).
Na Rys.3.19 pokazano zakodowane poszczególne obserwacje dla słowa wyloguj
wyznaczone na podstawie współczynników cepstrum (Rys.3.17) w oparciu o utworzoną
książkę kodową (Rys.3.18) przestrzeni akustycznej danego użytkownika.
Rys.3.19 Przebieg zakodowanej przy pomocy 37 symboli książki kodowej wypowiedzi wyloguj
Cały sposób analizy sygnału w procesie tworzenia wektorów obserwacji zastosowano
praktycznie w systemach automatycznego rozpoznawania audio mowy i audio-wideo mowy
dla słów izolowanych, opisanych w dalszej części pracy.
63
4. OSOBLIWOŚCI STOSOWANIA UKRYTYCH MODELI MARKOWA W METODZIE AV_Mowa_PL
Przedstawiono metodę rozpoznawania audio-wideo mowy polskiej na bazie ukrytych modeli
Markowa do klasyfikacji rozpoznawanych słów izolowanych. Podano informacyjne
szczegóły stosowania UMM, specyfikację topologii i sposoby estymacji parametrów UMM
wykorzystywanych do podjęcia decyzji metodą największego prawdopodobieństwa.
4.1. Wybór struktury i parametrów ukrytych modeli Markowa dla rozpoznawania audio-
wideo mowy polskiej
UMM to pojęcie doskonale znane w zastosowaniach inżynieryjnych już od pół wieku. Jak
dotąd najszerzej korzystano z nich do modelowania ciągów czasowych w rozpoznawaniu
mowy i właśnie tam znalazły swoje pierwotne zastosowanie, umożliwiając analizę i
przetwarzanie dźwięków mowy w systemach rozpoznawania mowy i identyfikacji mówcy.
Sporym problemem w zagadnieniach rozpoznawania mowy jest niestacjonarność
sygnału mowy. Ukształtowanie traktu głosowego generującego określony dźwięk mowy o
widmie zawierającym częstotliwości nawet do 4 kHz może się zmieniać około 10 razy na
sekundę. Rozwiązaniem tego problemu jest podział sygnału mowy na ramki o długości od 10
do 30 ms, zakładając stacjonarność sygnału w tak krótkich przedziałach czasowych.
Zarówno w procesie uczenia i testowania, dane wejściowe wprowadzane do modelu
przedstawione są w postaci wektora sekwencji obserwacji. Pojedyncza obserwacja
przedstawiająca własności krótkookresowe dźwięku odpowiada zakodowanej stacjonarnej
ramce poddanej kwantyzacji wektorowej. Czasowa sekwencja wszystkich obserwacji dla
danego sygnału mowy tworzy wektor obserwacji przedstawiający własności długookresowe
sekwencji dźwięków wchodzących w skład wypowiedzi.
Dla przedziału czasowego t = 1,…,T wektor sekwencji obserwacji O będzie złożony z
zaobserwowanych w chwilach czasowych t pojedynczych obserwacji ot, czyli O =
(o1,o2,…,oT).
Opierając się na faktach o niejednoznaczności i zmienności akustycznej sygnału
mowy zastosowano stochastyczne modelowanie mowy, łączące modelowanie własności
krótkookresowych pojedynczych dźwięków oraz modelowanie własności długookresowych
traktu głosowego, odpowiedzialnych za tworzenie sekwencji poszczególnych dźwięków.
64
Wprowadzając do systemu rozpoznającego uzyskaną z badanego sygnału mowy
sekwencję obserwacji O, należy wyznaczyć najbardziej prawdopodobną wypowiedź w w
zbiorze wszystkich wypowiedzi Wi zarejestrowanych dla danego zagadnienia. Najbardziej
prawdopodobną wypowiedź uzyskuje się rozwiązując zadanie wyboru maksymalnego
prawdopodobieństwa P(Wi|O) z wykorzystaniem reguły Bayesa
)()|()(
maxargOP
WOPWPw ii
i= , (4.1)
gdzie: P(Wi) – prawdopodobieństwo wystąpienia i–tej wypowiedzi, określone dla zadanej
bazy słów; P(O|Wi) – prawdopodobieństwo uzyskania sekwencji obserwacji O dla i–tej
wypowiedzi, określone dla modelu akustycznego mowy [111].
W procesie uczenia na podstawie zbioru sekwencji obserwacji wydobytych z kilku
różnych powtórzeń tej samej wypowiedzi w tworzy się oddzielny model M generujący
obserwacje, których podobieństwo do obserwacji przedstawiającej rozpoznawaną wypowiedź
stanowi podstawę rozpoznawania tej wypowiedzi.
Zadanie wyboru maksymalnego prawdopodobieństwa P(Wi|O) opisanego zależnością
(4.1) rozwiązuje się dla wszystkich utworzonych modeli Mi bazy wypowiedzi Wi, jako:
)|()|( ii MOPWOP = , (4.2)
gdzie: P(O|Mi) – prawdopodobieństwo wygenerowania sekwencji obserwacji O przez i–ty
model.
Stochastyczne modelowanie własności krótkookresowych pojedynczych dźwięków
oraz długookresowych zmian kolejnych dźwięków można realizować przy pomocy UMM.
Wówczas miarą podobieństwa pozyskanej sekwencji obserwacji do wypowiedzi jest
prawdopodobieństwo wygenerowania tej sekwencji przez odpowiedni model [111].
Obserwacje wykorzystywane przez UMM w procesie modelowania nie mają
bezpośredniego wpływu na wygenerowanie kolejnych obserwacji, a pośrednio zależność
kolejnych obserwacji w sekwencji obserwacji jest modelowana jako zależność pomiędzy
stanami w sekwencji stanów, generującymi te obserwacje. Każdorazowa zmiana stanów
modelu następuje w przyjętych krokach czasowych, powodując w tych samych krokach
czasowych generowanie przez model będący w odpowiednim stanie obserwację (Rys.4.1) z
określonym prawdopodobieństwem. Przejście ze stanu do stanu opisuje skończony łańcuch
Markowa działający w dyskretnym czasie.
65
Rys.4.1 Przykładowy przebieg zmiany stanów (dla kroków czasowych) podczas generacji obserwacji [21]
Zakładając skończony zbiór stanów Q ≠ 0 należy wyróżnić jeden stan s0 ∈ Q jako stan
początkowy. Łańcuch Markowa jest zadany przez macierz
=
NNNjNN
iNijii
Nj
Nj
aaaa
aaaa
aaaaaaaa
A
LL
MLMLMM
LL
MLMLMM
LL
LL
21
21
222221
111211
, (4.3)
która podaje prawdopodobieństwo aij przejścia ze stanu i do stanu j. Łańcuch ten opisuje
pewien układ, który w każdej chwili czasowej t = 0,1,…, T może znajdować się tylko w
jednym ze stanów i,j ∈ Q:
NjidlaisjsPa ttij ≤≤=== − ,1),|( 1 . (4.4)
Prawdopodobieństwo przejść między stanami aij musi spełniać następujące założenia [59]:
jiaij ,,0 ∀≥ , (4.5)
i
∑=
∀=N
jij ia
1,1 . (4.6)
Początkowy rozkład prawdopodobieństw stanów s0 dla chwili czasowej t = 0
charakteryzowany jest przez wektor
],...,,[' 21 Nππππ = . (4.7)
66
Jeżeli prawdopodobieństwa przejść między stanami nie zależą od rozpatrywanego
okresu, wówczas łańcuch Markowa jest jednorodny w czasie [23]. Ważnym faktem jest, że
jednorodny łańcuch Markowa jest reprezentowany jednoznacznie poprzez macierz
prawdopodobieństw przejścia oraz rozkład początkowy.
Losowe generowanie obserwacji jest charakteryzowane przez poszczególne wektory
rozkładów prawdopodobieństwa obserwacji, umieszczone w macierzy B [59]:
=
======
======
======
======
NsMosMosMo
Nsososo
Nsososo
Nsososo
bbb
bbbbbbbbb
B
/2/1/
/32/31/3
/22/21/2
/12/11/1
L
MLMM
L
L
L
(4.8)
o następujących składowych:
NidlaisoPob ttti ,...,2,1),|()( === . (4.10)
Wyjściowe rozkłady prawdopodobieństwa najczęściej są dyskretnymi rozkładami dla
skończonego zbioru obserwacji wyjściowych reprezentowanych przez symbole obserwacji,
lub też n-wymiarowymi funkcjami gęstości prawdopodobieństwa. Zależność (4.10)
utożsamiana jest z prawdopodobieństwem wygenerowania obserwacji ot przez model będący
w i-tym stanie, jeśli oczywiście ot jest dowolnym wektorem w przestrzeni Euklidesowej En.
Na Rys.4.2 pokazano schemat generowania wyjść ot dla poszczególnych stanów.
Rys.4.2 Schemat generowania wyjść ot dla stanów z prawdopodobieństwem przejścia aij
67
Pojedynczy model UMM λ zbudowany jest z parametrów modelu π, A, B, tworząc
nierozłączną w sensie poprawności i założeń UMM trójkę specyficznych elementów.
Rozpatrując ewolucję stanu modelu, zakładając, że Qt jest prawdopodobieństwem znalezienia
się układu w danym stanie w chwili t, można wyznaczyć Qt+1:
'1 πtt AQ =+ , (4.11)
gdzie: π’ = Qt=0.
Generowana przez model określona obserwacja wyznaczana jest w oparciu o
zależność (4.11)
11 ++ = tt BQO . (4.12)
Podstawiając (4.11) do (4.12) uzyskamy sposób wygenerowania wyjścia w chwili t przez
model w pełni określony macierz zmian stanu, macierz obserwacji i stan początkowy [38]:
'1 πtt BAO =+ . (4.13)
W systemach realizujących automatyczne rozpoznawanie słów izolowanych, gdzie
wypowiedzi są pojedynczymi słowami, a zbiór wszystkich dopuszczalnych wypowiedzi
tworzy słownik, w fazie treningu dokonuje się ekstrakcji sekwencji obserwacji O =
(o1,o2,…,oT) dla każdej wypowiedzi ze zbioru uczącego, budując dla każdego słowa ze
słownika oddzielny model UMM. W fazie rozpoznawania wyznacza się prawdopodobieństwo
wygenerowania sekwencji obserwacji z badanej wypowiedzi przez wszystkie modele UMM
zbudowane wcześniej. Prawdopodobieństwo jest podstawą procesu rozpoznawania, poprzez
przyporządkowanie rozpoznawanej wypowiedzi określonemu modelowi.
W procesie uczenia uzyskuje się zbiór modeli dopasowanych do danych wejściowych,
zgodnie z przyjętym kryterium. Najczęściej przyjmowanym kryterium podczas estymacji
parametrów modelu UMM jest kryterium największego prawdopodobieństwa, ze względu na
istnienie prostych a zarazem efektywnych algorytmów rozwiązania zadania.
W najprostszym ciągłym modelu UMM rozkład wyjściowy dla i-tego stanu ma postać
wielowymiarowej gaussowskiej funkcji gęstości [111, 112]:
−∑−−
∑=∑= − )()'(
21exp
||)2(
1);;()( 1itiit
iniitti oooNob µµ
πµ , (4.14)
gdzie: n - wymiar wektora obserwacji ot.
W takim przypadku każdy stan we wszystkich modelach UMM charakteryzowany jest przez
wektorową wartość średnią µi oraz macierz kowariancji Σi.
Przyjęcie założenia, że macierz kowariancji jest diagonalna, nie prowadzi do dużego
wzrostu błędów modelowania, dając za to spore uproszczenie problemu, jeśli oczywiście
68
funkcje gęstości rozkładów parametrów są unimodalne. W przypadku rozkładów
multimodalnych, jako rozkłady wyjściowe stosuje się następujące kompozycje [111, 112]:
∑−
∑=iM
mimimtimti oNcob
1
),,()( µ , (4.15)
gdzie: cmi - waga m-tego składnika kompozycji; Mi - liczba wszystkich składników
kompozycji.
Również w zależności (4.15) można przyjąć macierz kowariancji w postaci macierzy
diagonalnej. Warunkiem, aby kompozycja rozkładów normalnych była rozkładem gęstości
prawdopodobieństwa jest spełnienie przez wagi cim następujących założeń:
∑=
=iM
mimc
1
1 , (4.16)
i
0≥mic . (4.17)
Jeśli wektor obserwacji ot zostanie podzielony na statystycznie niezależne strumienie
ots (s ∈ {1,2,…,S}), zakładając, że wektor obserwacji składa się z takich właśnie niezależnych
strumieni, wówczas prawdopodobieństwo wygenerowania wektora obserwacji ot przez model
M wynosi:
)|()...|()|()|( 21 MoPMoPMoPMoP tSttt = , (4.18)
Przy czym wyjściowe rozkłady estymowane są niezależnie dla każdego strumienia. Dla
każdego strumienia można ustawić różne wagi ks.
Okazuje się, że budowa ciągłych rozkładów jest utworzona z normalnych
wielowymiarowych rozkładów gęstości [111, 112]: s
iskS
s
M
mismismtsismti oNcob ∏ ∑
= =
∑=
1 1),,()( µ , (4.19)
gdzie: Mis – liczba składników kompozycji w s-tym strumieniu; cism –współczynniki wagowe
m-tego składnika w s-tym strumieniu.
W przypadku dyskretnych modeli UMM rozkłady wyjściowe są w postaci
dyskretnych rozkładów prawdopodobieństwa. Dla modelu będącego w i-tym stanie,
dyskretny rozkład wyjściowy dla obserwacji ot przyjmuje postać:
)]([)( titi ovPob = , (4.20)
gdzie: v(os) –symbol obserwacji ze zbioru v-elementowego, będący wynikiem kwantyzacji
wektorowej wektora obserwacji ot; Pi[v(ot)] –prawdopodobieństwo wygenerowania w i-tym
stanie symbolu v.
69
W pracy przyjęto, że symbol obserwacji jest elementem książki kodowej tworzonej w
procesie kwantyzacji wektorowej. Każdy symbol z książki kodowej odpowiada wektorowi
obserwacji, któremu jest najbliższy. Wektory obserwacji tworzące przestrzeń akustyczną
odpowiednią dla danego zagadnienia dobierane są tak, aby w całości i równomiernie pokryć
tę przestrzeń. Czasami dla jednego użytkownika wystarczy kilkanaście wypowiedzi do
utworzenia książki kodowej.
Dla obserwacji z wydzielonymi niezależnymi strumieniami ot = (ot1,ot2,…,otS),
dyskretny rozkład wyjściowy w i-tym stanie przyjmuje postać [112]:
∏−
=S
s
ktssisti
sovPob1
)]}([{)( , (4.21)
gdzie: ks –współczynnik wagowy przypisany s-temu strumieniowi.
Na Rys.4.3 pokazano zakodowane podczas fazy treningu jako wektory obserwacji pięć
powtórzeń słowa cofnij.
Rys.4.3 Widok w postaci wektorów obserwacji pięciu powtórzeń wypowiedzi cofnij
Łatwo zauważyć podobieństwo końcowych obserwacji (fonem „j”). Celowo podczas
nagrywania wypowiedzi zaakcentowano ten fonem przedłużając jego brzmienie. Kodowanie
zrealizowano na 37 symbolach obserwacji. Patrząc na Rys. 4.3. widać, że fonem „j”
odpowiada symbolowi 30. Oczywiście kolejność symboli reprezentujących poszczególne
fonemy zmienia się wraz z tworzeniem nowej książki kodowej na podstawie nowej sekwencji
wypowiedzi, charakterystycznej dla indywidualnego użytkownika.
70
Specyfikacja topologii ukrytych modeli Markowa
Opracowując system automatycznego rozpoznawania słów izolowanych należy zbudować
UMM dla wszystkich słów wchodzących w skład słownika. Dla każdego modelu należy
określić liczbę stanów, czyli rozmiar macierzy A prawdopodobieństw przejść między stanami
oraz elementy każdego wektora z macierzy B = [bi(ot)], przedstawiające rozkłady wyjściowe.
Na początku w procesie tworzenia UMM konieczne jest zdefiniowanie jednego lub
więcej modeli prototypowych, w których można zastosować dowolność wartości tych modeli,
gdyż wykorzystuje się je przede wszystkim do wyznaczenia topologii właściwych modeli
UMM. Dopiero te właściwe modele UMM wykorzystuje się dalej w procesie treningu.
Dla pojedynczego modelu UMM tworzy się odpowiednio nazwany plik, w którym
przechowywane będą wartości parametrów modelu UMM o określonym z góry typie ciągłym,
bądź dyskretnym. Wygodne jest nazywanie modelu odpowiednikiem tekstowym wypowiedzi,
dla której tworzony jest model.
Budując wektor obserwacji o określonym rozmiarze i przedstawionej w postaci kodów
zawartości należy pamiętać, aby dla wszystkich strumieni S o współczynnikach wagowych ks
(s = 1,2,…,S), suma rozmiarów wszystkich strumieni odpowiadała rozmiarowi wektora
obserwacji.
Ważnym elementem określania specyfikacji topologii UMM jest jak najlepsze
ustalenie liczby stanów. Zbyt mała liczba stanów może wprowadzać zbyt małą kombinację
wszystkich stanów dla różnych słów z utworzonego słownika. Może się wówczas okazać, że
różne słowa mogą mieć podobne przejścia między stanami w łańcuchu Markowa. Z drugiej
strony za duża liczba stanów przede wszystkim niepotrzebnie wydłuży wszystkie procesy
obliczeniowe. Dodatkowo przy zbyt dużej liczbie stanów, w procesie rozpoznawania,
prawdopodobieństwa wystąpienia sekwencji obserwacji dla badanego słowa mogą nie być
dostatecznie wysokie. Dla słów izolowanych przyjmuje się, że liczba stanów emisyjnych
powinna odpowiadać liczbie fonemów wchodzących w skład pojedynczej wypowiedzi [39].
Oczywiście poszczególne słowa ze słownika będą się różniły liczbą fonemów, dlatego należy
wybrać odpowiednio średnią wartość, ze wskazaniem na większą liczbę stanów. Przyjmuje
się, że pierwszy i ostatni stan nie są emisyjne.
Macierz przejść A wypełnia się niezerowymi, najczęściej losowymi wartościami
wszędzie tam, gdzie możliwe są przejścia między stanami. Pozostałe wartości elementów
macierzy powinny być zerowane. Całą macierz należy znormalizować tak, aby wszystkie
wiersze sumowały się do jedynki, za wyjątkiem ostatniego, który powinien być zerowany ze
względu na zastosowany sposób składania macierzy przejść.
71
Dla każdego i-tego stanu emisyjnego i każdego s-tego (s = 1,2,…,S) strumienia
danych, w przypadku rozkładów wyjściowych ciągłych, ustala się liczbę Mis składowych
kompozycji, a dla każdej m-tej (m = 1,2,…,Mis) składowej, ustala się współczynnik wagowy
cism oraz wektor wartości średnich µism i wektor wariancji σism lub macierz kowariancji Σism.
W przypadku rozkładów wyjściowych dyskretnych, ustala się prawdopodobieństwa
wystąpienia symboli, będących wynikiem kwantyzacji wektorowej strumienia danych [112].
Wyznaczając składniki kompozycji tworzących rozkład wyjściowy, można utworzyć
zbiór typowych składników w postaci gaussowskich funkcji gęstości, zamiast estymowania
składników kompozycji oddzielnie dla każdego stanu. Zbiór ten wykorzystywany jest później
przy tworzeniu rozkładów wyjściowych wszystkich stanów określonego modelu lub nawet
zbioru wszystkich modeli UMM. Powinien on pokrywać przestrzeń akustyczną, której
elementami są wektory obserwacji uzyskane z rozpoznawanych sygnałów mowy
wchodzących w skład słownika. Zbiór składników kompozycji tworzy książkę kodową dla
każdego strumienia, gdy wejściowe obserwacje podzielone są na niezależne strumienie
danych. Dla takiego założenia, rozkład wyjściowy w postaci:
∏ ∑= =
∑=
S
s
kM
msmsmtsismti
ss
Ofcob1 1
),,()( µ (4.22)
dla i-tego stanu polega na wyznaczeniu dla każdego strumienia danych, współczynników
wagowych cism (m = 1,2,…,Ms, s = 1,2,…,Ss), przypisanych składnikom kompozycji [112].
Należy zaznaczyć, że liczba składowych wchodzących w skład kompozycji, a także
parametry gaussowskich funkcji gęstości nie są powiązane z numerami stanów.
Stosowanie zbiorowych kompozycji daje możliwość prymityzowania algorytmów
uczenia. Jednak takie systemy charakteryzują się gorszą dokładnością modelowania sygnału
mowy. Zwykle liczba składowych w książce kodowej dla modelu o powiązanej kompozycji
waha się w granicach kilkuset elementów. Oprócz zdefiniowania książki kodowej konieczne
jest podanie dla każdego stanu wektora współczynników wagowych o wymiarze równym
liczbie składników książki kodowej.
Na etapie definiowania modelu prototypowego, jeśli nie ma żadnych informacji o
danych uczących zakłada się, że dopiero w procesie uczenia wyznaczone zostaną rzeczywiste
wartości prawdopodobieństw wszystkich dopuszczalnych przejść między stanami,
początkowo zaś prawdopodobieństwa aij są równe i oczywiście większe od zera. Natomiast
składowe funkcje gęstości tworzące rozkłady wyjściowe dla wszystkich stanów modelu
72
muszą być składowymi normalnymi o zerowych wartościach średnich i jednostkowych
wariancjach.
W przypadku, gdy sygnał mowy jest segmentowany na poziomie jednostek
fonetycznych oraz każdemu segmentowi przypisana jest nazwa jednostki fonetycznej, to
dostępne wypowiedzi indeksowane mogą być zastosowane w procesie uczenia metodą słów
izolowanych. Z wszystkich wypowiedzi uczących wydzielane są segmenty sygnału mowy
odpowiadające jednostce fonetycznej, dla której tworzony jest model UMM. Wydzielone
segmenty stanowią dane uczące w procesie estymacji wartości początkowych parametrów
UMM za pomocą iteracyjnej procedury segmentacyjnej.
Dla nieindeksowanych dostępnych wypowiedzi, modelom wszystkich jednostek
fonetycznych przypisuje się identyczne wartości średnie i wariancje równe wartości średniej i
wariancji wszystkich sygnałów mowy przeznaczonych do uczenia.
System automatycznego rozpoznawania mowy tworzony jest zwykle od najprostszego
do bardziej złożonego. W najprostszym systemie zależnym od mówcy, rozkłady wyjściowe są
dyskretne lub ciągłe w postaci normalnych wielowymiarowych funkcji gęstości, a jednostki
fonetyczne stanowią słowa, zaś modele jednostek fonetycznych nie zależą od kontekstu. W
bardziej złożonym systemie niezależnym od mówcy, dane są uogólniane w celu uzyskania
większej odporności estymowanych wspólnych parametrów, zwiększona zostaje liczba
składowych kompozycji w rozkładach wyjściowych, a jednostki fonetyczne zależne od
kontekstu przedstawione są w postaci składowych elementów słowa. Po każdej edycji modeli
UMM następuje reestymacja parametrów modeli za pomocą uczenia zintegrowanego.
Tworząc słownik systemu można celowo wypowiadać poszczególne słowa na różne
sposoby. Na początku w procesie uczenia wykorzystywana jest pierwsza odnaleziona w
słowniku wymowy wypowiedź. Gdy powstaną rozsądne modele UMM jednostek
fonetycznych, można przeprowadzić uczenie uzupełniające, uwzględniające różnorodną
wymowę danych uczących, co w skrajnych przypadkach może się wiązać z potrzebą
zastosowania nowej transkrypcji fonetycznej do końcowej reestymacji modeli UMM
jednostek fonetycznych.
4.2. Algorytm Viterbiego do inicjowania wstępnych parametrów modeli
Algorytm Viterbiego wykorzystuje się do rozwiązania problemu znalezienia optymalnej
sekwencji stanów q = (q1, q2,..., qT), dla podanego wektora obserwacji O = (o1, o2,..., oT) i
73
modelu λ. Optymalnym kryterium jest decyzja, a dokładniej wyznaczenie maksymalnego
prawdopodobieństwa wygenerowania podanej sekwencji stanów.
Rozwiązując przytoczony problem, należy w przybliżeniu określić najbardziej
prawdopodobną ścieżkę. Następnie określając ścieżkę (q1, q2,..., qT) z maksymalnym
prawdopodobieństwem
),|,...,,( 21 λOqqqP T , (4.23)
wyznacza się końcową ścieżkę δ(i) o najwyższym prawdopodobieństwie dla modelu
będącego w i-tym stanie:
( ) ( )λδ |,...,,,,...,,max 2121,...,, 121ttqqq
oooiqqqPit
==−
. (4.24)
Dokonując odpowiedniego podstawienia końcowa ścieżka wyznaczana jest następującą
zależnością [59]:
( ) ( )[ ] ( )1.
1 max ++ ⋅= tjijtii obaii δδ . (4.25)
Oznaczając zbiór powtórzeń określonej wypowiedzi, dla której zostanie utworzony N-
stanowy model HMM przez {Or} (r = 1,2,...,R), z każdej wypowiedzi Or wydziela się Tr
ramek o czasie trwania 30 ms, a następnie każdą ramkę przekształca się w obserwację za
pomocą analizy cepstralnej.
W pierwszej iteracji algorytmu, w celu zainicjowania nowego modelu HMM
sekwencja obserwacji każdego powtórzenia Or wypowiedzi jest dzielona na N równych
części. W kolejnych iteracjach obserwacje dla wszystkich powtórzeń wypowiedzi zostaną
przyporządkowane stanom modelu HMM za pomocą procedury dopasowania stanów
Viterbiego. Przyporządkowanie wykonywane jest niezależnie dla każdego powtórzenia (r =
1,2,...,R) i jest wynikiem procesu optymalizacji z następującym kryterium:
12)(max)( −≤≤= NidlaaTT iNriirN ϕϕ , (4.26)
gdzie:
[ ]12
12)()1(max)( .
−≤≤
−≤≤−=
Nioraz
Ttdlaobatt rrtjijiij ϕϕ
, (4.27)
∏ ∑= =
∑=
S
s
kM
mjsmjsm
rtsjsm
rtj
sjs
oNcob1 1
),,()( µ , (4.28)
z warunkami początkowymi w postaci:
1)1(1 =ϕ , (4.29)
)()1( 11r
jjj oba=ϕ , (4.30)
74
dla 2 ≤ j ≤ N – 1.
Dla Aij oznaczającego ogólną liczbę przejść z i-tego do j-tego stanu, jakie miały
miejsce dla wszystkich powtórzeń wypowiedzi w ostatniej iteracji procesu optymalizacji,
prawdopodobieństwa przejść między stanami estymowane są za pomocą następujących
częstości względnych:
∑=
= N
kik
ijij
A
Aa
2
ˆ . (4.31)
Nowe przyporządkowanie obserwacji do stanów wyznaczane jest przez
maksymalizującą ϕN(Tr) (dla r = 1,2,…,R) sekwencję stanów.
Dla rozkładów wyjściowych w postaci kompozycji rozkładów, dalsze przypisywanie
obserwacji do składowych kompozycji realizowane jest wewnątrz każdego i-tego stanu.
Proces ten opiera się na mechanizmie grupowania, w celu umieszczenia każdego strumienia
obserwacji orst w jednej z Msi grup, a także na mechanizmie przypisania każdego strumienia
obserwacji orst do składowej kompozycji generującej tę obserwację z największym
prawdopodobieństwem.
Funkcję φrism(t) przyjmującą wartość 1, gdy s-ty strumień obserwacji or
st został
przyporządkowany do m-tej składowej kompozycji i-tego stanu oraz przyjmującą wartość 0 w
pozostałych przypadkach, można zdefiniować dla każdej obserwacji orst, przydzielonej do
określonej składowej kompozycji.
Estymacja wartości średnich i wariancji odbywa się za pomocą zwykłych wartości
średnich:
( )
( )∑∑
∑∑
= =
= == R
r
T
t
rjsm
R
r
T
t
rst
rjsm
jsm r
r
t
ot
1 1
1 1ˆφ
φµ , (4.32)
( )( )( )
( )∑∑
∑∑
= =
= =
−−=Σ R
r
T
t
rjsm
R
r
T
tjsm
rstjsm
rst
rjsm
jsm r
r
t
oot
1 1
1 1
'ˆˆˆ
φ
µµφ. (4.33)
Na podstawie liczby obserwacji przyporządkowanych każdej składowej, estymowane są
współczynniki wagowe składowej kompozycji:
75
( )
( )∑∑∑
∑∑
= = =
= ==R
r
T
t
M
l
rjsl
R
r
T
t
rjsm
jsm r s
r
t
tc
1 1 1
1 1
φ
φ. (4.34)
Opisane założenia teoretyczno-matematyczne dla algorytmu Viterbiego opracowano
na podstawie prac [8,59,111,112]. Na Rys.4.4 pokazano schemat procedury przeszukiwania z
wykorzystaniem algorytmu Viterbiego.
Rys.4.4 Schemat procedury przeszukiwania z wykorzystaniem algorytmu Viterbiego [21]
Algorytm Viterbiego
Wejście: Początkowe parametry modelu UMM oraz wejściowy wektor obserwacji.
Wyjście: Optymalna sekwencja stanów, prawdopodobieństwo jej wygenerowania oraz
poprawione parametry modelu UMM.
1: Ustal warunki początkowe:
( ) ( ) Nidlaobi ii ≤≤= 111 πδ , (4.35)
01 =ϕ . (4.36)
2: Wyznacz końcowe ścieżki:
( ) ( )[ ] ( )tjijtNjt obaij 11max −≤≤
= δδ (4.37)
i przyporządkuj wykonywane niezależnie dla każdego powtórzenia:
( ) ( )[ ] NjorazTtdlaai ijtNijt ≤≤≤≤= −≤≤12maxarg 11
δϕ . (4.38)
76
3: Wyznacz prawdopodobieństwa wygenerowania końcowej ścieżki:
( )[ ]iP TNiδ
≤≤=
1
* max , (4.39)
i właściwą optymalną ścieżkę:
( )[ ]iq TNiT δ≤≤
=1
* maxarg . (4.40)
4: Wyznacz końcową sekwencje stanów wstecz:
( ) 1,...,2,1*11
* −−== ++ TTtdlaqq ttt ψ . (4.41)
4.3. Algorytm Bauma-Welcha do reestymacji parametrów modeli
Algorytm Bauma-Welcha wykorzystuje się do rozwiązania problemu takiej estymacji
parametrów modelu λ=(π,A,B), aby uzyskać maksimum P(O|λ), dla podanego wektora
obserwacji O = (o1,o2,...,oT). Rozpoznając daną wypowiedź zakłada się, że wypowiedź ta
składa się ze znaków ze znanego słownika z V słowami. Na podstawie kilku powtórzeń słowa,
algorytm buduje statystyczny model danego słowa w słowniku, który jest następnie używany
przy rozpoznawaniu. Każda wypowiedź generuje obserwację, którą rozważa się jako
realizację o długości T procesu losowego o skończonej przestrzeni stanów.
Z uwagi na to, że z powodu komplikacji rozwiązanie może się powtarzać, należy
rozwiązać przytoczony problem metodą nieanalityczną. Parametry modelu λ=(π,A,B)
estymowane są dla uzyskania maksymalnego P(O|λ) zakładając, że ξ(i,j) jest
prawdopodobieństwem przebywania modelu w stanie i dla czasu t i w stanie j dla czasu t + 1,
a δ(i) jest ścieżką końcową o najwyższym prawdopodobieństwie dla modelu będącego w
stanie i. Prawdopodobieństwo to wyznacza się z zależności:
( ) ( ) ( ) ( )( )
( ) ( ) ( )( ) ( ) ( )∑∑
= =++
++++ == N
i
N
jttjijt
ttjijttjij
jobai
jobaiOP
jobaiji
1 111
1111
|,
βα
βαλβα
ξ . (4.42)
Procedura Bauma-Welcha zbliżona jest do procedury Viterbiego. Różnica polega na
tym, że funkcja φ przyporządkowania obserwacji do konkretnego stanu, zastąpiona zostaje
funkcją określającą prawdopodobieństwo przyporządkowania obserwacji do dowolnego
stanu. Prawdopodobieństwo to wyznaczane jest za pomocą prawdopodobieństw „w przód” i
„w tył”.
77
Prawdopodobieństwo „w przód” αj(t) (dla 2 ≤ j ≤ N – 1 oraz 1 < t ≤ T) wyznaczane
jest dla wydzielonych jednostek fonetycznych za pomocą następującej zależności
rekurencyjnej:
( ) ( ) ( )rtj
N
jijij obatt
−= ∑
−
=
1
21αα , (4.43)
z warunkami początkowymi:
( ) 111 =α (4.44)
( ) ( ) 121 1 −≤≤= NjdlaOba rtjjjα (4.45)
i warunkami końcowymi:
( ) ( )∑−
=
=1
2
N
jiNrirN aTT αα . (4.46)
Prawdopodobieństwo „w tył” βi (dla 2 ≤ i ≤ N – 1 oraz 1 ≤ t < T) wyznaczane jest za
pomocą następującej zależności rekurencyjnej:
( ) ( ) ( )∑−
=+ +=
1
21 1
N
jj
rtjiji tobat ββ , (4.47)
z warunkami początkowymi:
( ) NidlaaT iNri ≤≤= 1β (4.48)
i warunkiem końcowym:
( ) ( ) ( )∑−
=
=1
2111 11
N
jj
rjj oba ββ . (4.49)
W momencie czasu t wartości prawdopodobieństw α i β odpowiadające stanowi
wejściowemu i stanom wyjściowym modelu UMM reprezentują prawdopodobieństwa „w
przód” i „w tył”. Prawdopodobieństwa te przyjmuje się w uczeniu zintegrowanym, w którym
model UMM jest złożeniem jednostek fonetycznych o numerach q = 1,2,…,Q. Dodatkowo
należy założyć, że prawdopodobieństwo „w przód” reprezentowane jest w czasie t - ∆t, a
prawdopodobieństwo „w tył” w czasie t + ∆t, przy stosunkowo niewielkiej wartości ∆t.
Dla t = 1, warunki początkowe dla prawdopodobieństwa „w przód” określone jak:
( ) ( )
≠=
=−
− 1111
1 )(1
)1(1
)(1
1qgdyaqgdy
qN
qαα , (4.50)
( ) ( )1)()(
1)( 1 oba q
jqj
qj =α , (4.51)
( ) ( )∑−
=
=1
2
)()()( 11q
N
j
qiN
qj
qN aαα , (4.52)
78
gdzie indeks górny oznacza numer modelu w złożeniu modeli. Oprócz przedstawionych
założeń, zeruje się wszystkie niewyspecyfikowane wartości prawdopodobieństwa α.
Dla czasu t > 1, warunki początkowe dla prawdopodobieństwa „w przód” są następujące:
( ) ( ) ( )
≠+−=
= −−−−−
1110
)1(1
)1(1
)1()(
111
qgdyattqgdy
t qN
qqN
q
qqααα , (4.53)
( ) ( ) ( ) ( )tq
j
N
i
qij
qi
qj
qqj obatatt
q)(
1
2
)()()(1
)(1
)( 1
−+= ∑
−
=
ααα , (4.54)
( ) ( )∑−
=
=1
2
)()()(q
N
i
qiN
qi
qN att αα . (4.55)
Dla t = T, warunki początkowe dla prawdopodobieństwa „w tył” określone jak:
( ) ( )
≠=
= ++++
QqgdyaTQqgdy
T qN
qN
qN
qqq )1(
11(
)(
11
1ββ , (4.56)
( ) ( )TaT qN
qiN
qi qq
)()()( ββ = , (4.57)
( ) ( ) ( )∑−
=
=1
2
)()()(1
)(1
qN
j
qjT
qj
qj
q TobaT ββ , (4.58)
gdzie zeruje się wszystkie niewyspecyfikowane wartości prawdopodobieństwa β.
Dla czasu t < T, warunki początkowe dla prawdopodobieństwa „w tył” są następujące:
( ) ( ) ( )
≠++=
= +++++
QqgdyattQqgdy
t qN
qN
Nqq
q )1(1
)1()1(1
)(
111
0βββ , (4.59)
( ) ( ) ( ) ( )∑−
=+ ++=
1
2
)(1
)()()()()( 1q
N
j
qjt
qj
qij
qN
qiN
qi tobatat βββ , (4.60)
( ) ( ) ( )∑−
=
=1
2
)()()(1
)(1
qN
j
qjt
qj
qj
q tobat ββ . (4.61)
Z przedstawionych zależności wynika, że prawdopodobieństwo P(O|λ) można
wyznaczyć zarówno z prawdopodobieństwa „w przód”, jak i prawdopodobieństwa „w tył” w
następujący sposób:
( ) ( ) ( )11βαλ == TOP N . (4.62)
Opisane założenia teoretyczno-matematyczne dla algorytmu Bauma-Welcha
opracowano na podstawie prac [8,59,111,112]. Na Rys.4.5 pokazano schemat procedury
estymacji z wykorzystaniem algorytmu Bauma-Welcha.
79
Rys.4.5 Schemat procedury estymacji z wykorzystaniem algorytmu Bauma-Welcha [21]
Algorytm Bauma-Welcha
Wejście: Parametry modelu UMM zainicjowane przez algorytm Viterbiego, wejściowe
wektory obserwacji.
Wyjście: Wartość prawdopodobieństwa przebywania modelu w każdym stanie oraz wartości
średnich ważonych dla parametrów modeli UMM
1: Wyznacz γt(i) prawdopodobieństwa przebywania modelu w stanie i w czasie t, na
podstawie podanej sekwencji obserwacji
( ) ( )∑=
=N
jtt jii
1
,ξγ , (4.63)
gdzie suma po prawej stronie równania (4.63) jest oczekiwaną liczbą przejść ze
stanu i do stanu j.
2: Wyznacz oczekiwaną liczbę, ile razy stan i został odwiedzony, poprzez
zsumowanie prawdopodobieństw γt(i) (dla t = 1,2,…,T).
3: Wyznacz oczekiwane częstotliwości πi w stanie i dla czasu t = 1
)(1 ii γπ = . (4.64)
4: Oblicz parametry aij macierzy przejść na podstawie zależności
( )( )∑
∑=iji
at
tij γ
ξ ,. (4.65)
5: Oblicz parametry bj(v) (dla v = 1,2,…, V) na podstawie zależności
80
( ) ( )( )∑
∑ ==i
ivb
tt
tvotj
t
γγ, . (4.66)
4.4. Specyfika estymacji parametrów ukrytych modeli Markowa
Estymacja parametrów UMM przebiega w kilku etapach w procesie zwanym uczeniem lub
treningiem. Polega ona na takim doborze parametrów modelu, aby jak najlepiej dopasować
model generujący później obserwacje, do sekwencji obserwacji podawanej na wejście.
Inaczej mówiąc estymacja parametrów polega na jak najlepszym doborze prawdopodobieństw
przejść i emisji w oparciu o zaobserwowany zbiór obserwacji uczących, wyemitowanych
przez dany model.
Dla wypowiedzi z transkrypcją fonetyczną stosuje się tzw. uczenie zintegrowane, w
którym dla każdej wypowiedzi uczącej łączy się w sekwencję odpowiednie modele UMM
jednostek fonetycznych zgodnie z jej transkrypcją fonetyczną. Dla każdego modelu w
sekwencji wyznacza się na podstawie wszystkich danych uczących, statystyki dotyczące
przebywania modelu w stanie, wartości średnich oraz wariancji.
Sekwencje wektorów obserwacji wprowadzane do systemu jako dane uczące,
najczęściej wyznaczane są na bieżąco, bezpośrednio z wejścia akustycznego lub też z
przechowywanych tymczasowo w pamięci zarejestrowanych wcześniej danych głosowych.
Można także dane głosowe odczytywać z utworzonych wcześniej plików oznaczonych
odpowiednią transkrypcją fonetyczną, przyspieszając w ten sposób proces uczenia oraz
unikając wielokrotnego przetwarzania tych samych danych głosowych.
Duży wpływ na metodę uczenia ma typ utworzonego modelu UMM, ze szczególnym
uwzględnieniem ciągłych, bądź dyskretnych rozkładów wyjściowych stanów modeli.
Dodatkowo na metodę uczenia wpływa postać danych uczących, przedstawionych w formie
wypowiedzi indeksowanych, zaopatrzonych tylko w transkrypcję fonetyczną lub w postaci
izolowanych jednostek fonetycznych (słowo).
Gdy jednostką fonetyczną jest słowo, oddzielny model UMM tworzony jest dla
każdego słowa ze słownika systemu. Najczęściej w procesie uczenia modelu określonego
słowa wykorzystywane są próbki kilku powtórzeń tego słowa, wymawiane w sposób
izolowany, tzn. z wyraźnie zaznaczoną ciszą przed i poza właściwą wypowiedzią. Jeżeli z
próbek usunięta zostanie cisza przed i po słowie, to mogą być one zastosowane do uczenia
81
bezpośrednio, bez potrzeby ich indeksowania. Zwykle tworzenie modeli UMM dla słów
izolowanych przebiega w dwóch etapach:
• wyznaczenie wartości początkowych parametrów modelu za pomocą procedury
segmentowej, która wykorzystuje algorytm Viterbiego,
• reestymacja parametrów modelu za pomocą procedury Bauma-Welcha [111].
Jeśli rozpoznawanie odbywa się w zakłóconym, niesprzyjającym środowisku, a
dodatkowo znacznie ograniczona jest ilość danych uczących, wówczas dobrym podejściem
jest zastosowanie modeli ze stałą wariancją, które mogą zapewnić większą odporność na
wpływy środowiska. W takich modelach rozkłady wyjściowe wszystkich stanów mają
wariancje identyczne, równe ogólnej wariancji sygnału mowy zastosowanego do uczenia, jak
również stałe, które nie podlegają reestymacji w procesie uczenia.
Gdy system automatycznego rozpoznawania mowy stosuje mniejszą jednostkę
fonetyczną od słowa, np. fonem, wówczas oddzielny model UMM jest konstruowany dla
każdego posłowa. Biorąc pod uwagę fakt, iż w języku polskim występuje 37 fonemów,
wystarczy utworzyć 37 modeli UMM, aby w całości pokryć przestrzeń akustyczną dla danego
użytkownika, dla wszystkich występujących w języku polskim słów. W przypadku słów
izolowanych, liczba dostępnych słów ograniczona będzie o wielkość słownika systemu.
Rozpoznawanie mowy ciągłej (dla podejścia fonemowego, bez przerw między wyrazami) jest
możliwe, dzięki możliwości łączenia modeli posłów w sekwencje odpowiadające słowom z
rozpoznawanego słownika.
Dla każdej wypowiedzi na podstawie transkrypcji fonetycznej tworzy się sekwencję
połączonych modeli UMM jednostek fonetycznych, będącej w zasadzie pojedynczym, choć
złożonym modelem, wykorzystywanym do gromadzenia niezbędnych dla reestymacji
statystyk w procesie uczenia. Przetwarzając w ten sposób wszystkie wypowiedzi uczące,
otrzymuje się zbiór zakumulowanych statystyk, wykorzystywany do reestymacji parametrów
wszystkich modeli UMM posłów. W przytoczonym procesie nie jest konieczna indeksacja
wypowiedzi, czyli informacja o czasowych granicach posłów, transkrypcje są potrzebne tylko
do identyfikacji sekwencji posłów w wypowiedzi.
W uczeniu zintegrowanym, wstępny zbiór modeli UMM otrzymuje się najczęściej
dwoma podstawowymi sposobami. Pierwszy ze sposobów polega na uzyskiwaniu zbioru
modeli poprzez inicjowanie każdego modelu UMM niezależnie, za pomocą wcześniej
opisanej procedury uczenia słów izolowanych, wykorzystując mały zbiór ręcznie
indeksowanych początkowych danych uczących, poprzez wydzielenie z wypowiedzi
uczących, segmentów sygnału mowy odpowiadających inicjowanemu modelowi. W drugim
82
ze wspomnianych sposobów, początkowy zbiór modeli uzyskuje się poprzez przypisanie
wyznaczonej na podstawie wszystkich wypowiedzi uczących wartości średniej i wariancji
wszystkim rozkładom normalnym we wszystkich inicjowanych modelach UMM. Założeniem
tej procedury jest równomierna segmentacja każdej wypowiedzi uczącej podczas pierwszego
cyklu zintegrowanej reestymacji.
Budując system automatycznego rozpoznawania mowy bazującego na modelach
UMM, należy uwzględnić fakt, iż ilość danych treningowych dla każdego modelu jest
zmienna oraz rzadko kiedy wystarczająca. Aby obejść wspomniane trudności, można tak
wzajemnie powiązać parametry modeli, aby dane uczące stały się wspólne, wówczas wynik
estymacji będzie bardziej odporny na wszelkiego rodzaju zakłócenia oraz zmiany.
Podstawową zasadą przy tworzeniu modeli UMM zarówno dla wydzielonej jednostki
fonetycznej, jak i dla wypowiedzi ciągłej jest traktowanie tych modeli jako generatora
wektorów obserwacji. Każda wykorzystywana w czasie uczenia sekwencja obserwacji
stanowi wyjście stanów modelu UMM, którego parametry mają być wyznaczone. Gdyby
znany był stan, który wygenerował każdy wektor obserwacji w danych uczących, wtedy
mogłyby być wyznaczone nieznane wartości średnie i wariancje rozkładu wyjściowego tego
stanu, poprzez wykorzystanie wszystkich wektorów skojarzonych z tym stanem, a także
macierz przejść, na podstawie liczby przejść między stanami [111].
W przypadku inicjowania parametrów modelu metodą wydzielonych jednostek
fonetycznych, w kolejnych iteracjach najpierw wykorzystuje się algorytm Viterbiego do
znalezienia najbardziej prawdopodobnej sekwencji stanów obserwacji, a następnie na
podstawie obserwacji przypisanych określonym stanom wyznacza się parametry modelu
UMM. Wyznaczanie uporządkowanej sekwencji stanów za pomocą algorytmu Viterbiego
powtarzane jest tak długo, aż logarytm prawdopodobieństwa wygenerowania danych
uczących przez model przestanie narastać w kolejnych iteracjach. Śledzenie procesu
estymacji możliwe jest dzięki wyświetlaniu informacji o kolejnym numerze iteracji, wartości
prawdopodobieństwa oraz jego zmianie w stosunku do poprzedniego kroku.
W utworzonym systemie automatycznego rozpoznawania słów izolowanych można na
bieżąco śledzić cały proces uczenia, kontrolując wspomniane parametry.
Reestymacja parametrów modelu jest bardzo podobna do inicjacji, z tą jednak różnicą,
że na wejście wprowadza się wyznaczony wcześniej początkowy model UMM, a do
estymacji parametrów wykorzystuje się algorytm Bauma-Welcha. Następnie przy
wyznaczaniu prawdopodobieństwa przebywania modelu w każdym stanie stosuje się
algorytm „w przód-w tył”, określając średnie ważone dla parametrów modeli UMM.
83
Różnica pomiędzy algorytmami wykorzystywanymi w procesach inicjacji oraz
estymacji polega na tym, że algorytm Viterbiego wyznacza ostrą decyzję o tym, który stan
generuje określony wektor obserwacji z wypowiedzi uczącej, natomiast algorytm Bauma-
Welcha wyznacza jedynie prawdopodobieństwo wygenerowania obserwacji przez dany stan.
Często zastosowanie tego drugiego algorytmu jest pomocne podczas estymacji modeli UMM
fonemów, ponieważ w naturalnej mowie trudno wskazać ostre granice między fonemami.
Jeśli tworzone są modele z dużą liczbą składowych kompozycji dla każdego stanu,
może wystąpić sytuacja, gdzie składowym kompozycjom przyporządkowano bardzo mało
wektorów obserwacji i w konsekwencji albo wariancje, albo odpowiadające tym składowym
wagi, mają bardzo małe wartości. W takim przypadku składowa kompozycji powinna być
usunięta, albo należy nadać minimalną dopuszczalną wartość wariancji lub współczynnikowi
wagowemu kompozycji.
Jeśli wypowiedzi uczące są za krótkie, często stosuje się praktykę ignorowania
wszystkich wypowiedzi, mających mniejszą liczbę ramek niż model stanów emisyjnych, bądź
też zmniejsza się liczbę stanów emisyjnych. Zakłada się, że modele mogą różnić się liczbą
stanów emisyjnych, jednak w pracy zastosowano jednakową liczbę stanów dla wszystkich
modeli, ze względu na spore uproszczenie programistyczne.
Przed rozpoczęciem procesu uczenia, konieczna jest znajomość wcześniej
zainicjowanego zbioru modeli UMM wszystkich jednostek fonetycznych wykorzystywanych
w systemie. Nazewnictwo modeli wchodzących w skład zbioru powinno odpowiadać
nazewnictwu symboli zastosowanych w transkrypcji fonetycznej oraz każdy symbol
transkrypcji fonetycznej musi posiadać odpowiedni model.
Procedura reestymacji parametrów wymaga w tworzonym systemie utworzenia pliku
(pliki.mat), zawierającego listę wszystkich modeli UMM. Na podstawie odczytanych nazw
modeli tworzone są oddzielne dla każdego modelu pliki o tych nazwach (*.mat),
przechowujące parametry modeli UMM. Każdemu takiemu modelowi odpowiada zbiór
nagrań przechowywanych w plikach typu *.wav.
Z matematycznego punktu widzenia proces estymacji prawdopodobieństw przejść
między stanami modelu wydzielonej jednostki fonetycznej, dla zbioru uczącego {Or}, gdzie r
= 1,2,…,R, przedstawia się następująco [38,111,112]:
∑ ∑
∑ ∑
= =
=
−
=+ +
=R
r
ir
T
t
ri
r
R
r
T
t
rj
rtjij
ri
rij r
r
tP
tobatPa
1 1
1
1
11
)(1
)1()()(1
ˆβα
βα, (4.67)
84
gdzie 1 ≤ i ≤ N oraz 1 < j < N, a Pr jest prawdopodobieństwem wygenerowania r-tej
obserwacji.
Każde przejście z wejściowego stanu nieemisyjnego reestymowane jest następująco:
∑=
=R
r
rj
rj
rj PR
a1
1 )1()1(11ˆ βα , (4.68)
gdzie 1 < j < N, natomiast przejścia ze stanów emisyjnych do końcowego stanu
nieemisyjnego reestymowane są zależnością:
∑ ∑
∑
= =
==R
r
T
t
ir
ri
r
R
r
rj
ri
rij r
tP
TTPa
1 1
1
)(1
)()(1
ˆβα
βα, (4.69)
gdzie 1 < i < N.
Wyznaczanie wartości przeciętnych, kowariancji i współczynników wagowych
kompozycji, dla modelu UMM z rozkładami wyjściowymi w postaci kompozycji o Ms
składowych w s-tym strumieniu, realizuje się w następujący sposób. Na początku obliczane
jest prawdopodobieństwo przebywania modelu w j-tym stanie, m-tej składowej kompozycji s-
tego strumienia dla obserwacji w t-tej chwili czasowej z r-tego powtórzenia wypowiedzi:
)()()()(1)( * rtjs
rj
rstjsmjsm
rj
r
rjsm obtobctU
PtL β= , (4.70)
gdzie:
≠−
== ∑
−
=
1)1(
1)( 1
2
1
tgdyat
tgdyatU N
iij
ri
jrj α , (4.71)
∏≠
=sk
rktjk
rtjs obob )()(* . (4.72)
Prawdopodobieństwo przypisania obserwacji m-tej składowej kompozycji dla pojedynczego
strumienia, równe jest prawdopodobieństwu przebywania w stanie:
)()(1)()( ttP
tLtL jjr
rj
rjsm βα== . (4.73)
Reestymację parametrów modeli dla sformułowanych wielkości wyznacza się następująco:
∑∑
∑∑
− −
= ==R
r
T
t
rism
R
r
T
t
rst
rism
ism r
r
tL
OtL
1 1
1 1
)(
)(µ̂ , (4.74)
85
∑∑
∑∑
= =
= =
−−=Σ
R
r
T
t
rism
R
r
T
tism
rstism
rst
rism
ism r
r
tL
OOtL
1 1
1 1
)(
)')()((ˆ
µµ (4.75)
a współczynniki wagowe składowych kompozycji:
∑∑
∑∑
− −
= ==R
r
T
t
ri
R
r
T
t
rism
ism r
r
tL
tLc
1 1
1 1
)(
)(. (4.76)
Dla modelu w uczeniu połączonych jednostek fonetycznych, ze względu na fakt, że
stany wejściowe mogą być osiągane w dowolnym momencie czasu jako wynik przejścia z
poprzedniego modelu, proces reestymacji został odpowiednio zmodyfikowany.
Prawdopodobieństwa przejść wyznacza się z następujących zależności [38,111,112]:
∑ ∑
∑ ∑
= =
=
−
=+ +
=R
r
rqi
T
t
rqi
r
R
r
T
t
rqj
rt
qj
qij
rqi
rqij
ttP
tobatPa
r
r
1
)(
1
)(
1
1
1
)(1
)()()(
)(
)()(1
)1()()(1
ˆβα
βα. (4.77)
Prawdopodobieństwo przejścia z nieemisyjnych stanów wejściowych do modelu UMM
wyraża się wzorem:
∑ ∑
∑ ∑
= =
+
=
−
=
+=
R
r
T
t
rqqN
rqrqrq
r
R
r
T
t
rqj
rt
qj
qj
rq
rqj r
q
r
tatttP
tobatPa
1 1
)1(1
)(1
)(1
)(1
)(1
1
1
1
)()()(1
)(1
)(1
)()()()(1
)()()(1
ˆβαβα
βα. (4.78)
Prawdopodobieństwo przejścia z modelu UMM do nieemisyjnych stanów wyjściowych
wyraża się wzorem:
∑ ∑
∑ ∑
= =
=
−
==R
r
T
t
rqi
rqi
r
R
r
T
t
rqN
qiN
rqi
rqiN r
r
q
ttP
tatPa
1 1
)()(
1
1
1
)()()(
)(
)()(1
)()(1
ˆβα
βα. (4.79)
Prawdopodobieństwo przejścia bezpośredniego z wejściowych stanów nieemisyjnych do
wyjściowych stanów nieemisyjnych jest reestymowane za pomocą następującej zależności:
∑ ∑
∑ ∑
= =
+
=
+−
=
+=
R
r
T
t
rqqN
rqrqrq
r
R
r
rqT
t
qN
rq
rqN r
q
r
q
q
tatttP
tatPa
1 1
)1(1
)(1
)(1
)(1
)(1
1
)1(1
1
1
)(1
)(1
)(1
)()()()(1
)()(1
ˆβαβα
βα. (4.80)
86
Proces reestymacji parametrów modelu połączonych jednostek fonetycznych dla
rozkładów wyjściowych realizuje się następująco. Na początku obliczane jest
prawdopodobieństwo przebywania q-tego modelu w j-tym stanie, m-tej składowej
kompozycji s-tego strumienia dla obserwacji w t-tej chwili czasowej z r-tego powtórzenia
wypowiedzi:
)()()()(1)( )*()()()()()( rt
qjs
rqj
rst
qjsm
qjsm
rqj
r
rqjsm obtobctU
PtL β= , (4.81)
gdzie:
≠−+
==
∑−
=
1)1()(
1)()( 1
2
)()()(1
)(1
)(1
)(1
)(
tgdyatat
tgdyattU qN
i
qij
rqi
qj
rq
qj
rq
rqj αα
α, (4.82)
∏≠
=sk
rkt
qjk
rt
qjs obob )()( )()*( . (4.83)
Reestymację parametrów q-tych modeli dla sformułowanych wielkości wyznacza się
następująco:
∑∑
∑∑
− −
= ==R
r
T
t
rqism
R
r
T
t
rqst
rqism
qism r
r
tL
OtL
1 1
)(
1 1
)()(
)(
)(
)(µ̂ , (4.74)
∑∑
∑∑
= =
= =
−−=Σ
R
r
T
t
rqism
R
r
T
t
qism
rqst
qism
rqst
rqism
qism r
r
tL
OOtL
1 1
)(
1 1
)()()()()(
)(
)(
)')()((ˆ
µµ (4.75)
a współczynniki wagowe składowych kompozycji:
∑∑
∑∑
− −
= ==R
r
T
t
rqi
R
r
T
t
rqism
qism r
r
tL
tLc
1 1
)(
1 1
)(
)(
)(
)(. (4.76)
Przedstawienie całego przeglądu struktury modeli UMM, opisanego w pracy [111],
matematycznych osobliwości, procesów estymacji parametrów na podstawie wejściowych
wektorów obserwacji, algorytmów Viterbiego i Bauma-Welcha, było z góry zamierzone.
Systemy automatycznego rozpoznawania audio mowy i audio-wideo mowy, zbudowano
bazując na topologii modeli UMM dla słów izolowanych. W dalszej części pracy
przedstawione zostanie praktyczne wykorzystanie modeli UMM.
87
5. TWORZENIE WEKTORÓW OBSERWACJI SYGNAŁU AUDIO-WIDEO MOWY POLSKIEJ
Przedstawiono metody ekstrakcji cech wideo mowy potrzebnych w systemie rozpoznawania
audio-wideo mowy. Podano metody lokalizacji twarzy, oczu i ust w obrazie kolorowym.
Zaproponowano własne metody wykrywania kącików i krawędzi ust, a także tworzenia
wektorów obserwacji wideo mowy.
5.1. Opracowanie metody detekcji twarzy na podstawie koloru skóry
W opracowanej metodzie AV_Mowa_PL zaproponowano sposób, wykorzystujący do podjęcia
decyzji o wyniku rozpoznania wypowiedzi zarówno informację audio mowy, jak również
wideo mowy. Przyjęto jako informację wideo mowy, wektor obserwacji tworzony w procesie
ekstrakcji cech wideo. Ekstrakcja cech wideo wiąże się z analizowaniem ruchu ust osoby
wypowiadającej dane słowo. Jest to tzw. czytanie z ruchu ust (ang. Lip-Reading) [77]. Aby
zrealizować proces czytania z ruchu ust, konieczne jest zaimplementowanie w systemie
procedury trekingu ust, czyli ciągłego śledzenia ruchu ust (ang. Lip-Tracking) [77].
Mając do dyspozycji zarejestrowaną przez kamerę sekwencję ramek,
odzwierciedlających wypowiedź wideo danego użytkownika, ciężko jest zrealizować treking
ust, bezpośrednio próbując zlokalizować usta na każdej z ramek, chyba że kamera ustawiona
jest tak, że wyłapuje podczas wypowiedzi tylko obszar samych ust. Takie podejście wymaga
dość ścisłego użytkowania systemu, gdyż z góry trzeba by było ustalić pozycję u odległość
użytkownika od kamery. W rzeczywistych warunkach kamera powinna wychwytywać całą
twarz użytkownika, wówczas przedział odległości, w jakiej użytkownik powinien znajdować
się przed kamerą, znacznie się zwiększy, a sposób pracy z systemem będzie o wiele
łatwiejszy. W takim rodzaju nagrań, gdzie wiadomo, że w kadrze znajduje się cała twarz
użytkownika systemu, konieczne jest przejście przez kilka znaczących etapów pozwalających
na w miarę dokładne wychwycenie konturu ust z każdej ramki nagrania.
Pierwszym etapem procesu tworzenia wektorów obserwacji wideo mowy jest
lokalizacja twarzy użytkownika w nagraniu wideo. Wyodrębnianie twarzy może być
realizowane na obrazach monochromatycznych, jednak ze względu na wymagania niektórych
metod zastosowanych w procesie ekstrakcji cech wideo, wykorzystano kolorowe sekwencje
ramek wypowiedzi.
88
Ponieważ z założenia system przeznaczony jest do pracy w danej chwili wyłącznie dla
jednego użytkownika, wiadomo, że kadr zawiera tylko twarz jednej osoby. W takim
przypadku realizuje się lokalizację twarzy (ang. Face Localization, FL) [70]. Wykonanie
lokalizacji twarzy wiąże się z koniecznością ograniczenia całego kadru, do obszaru
zawierającego tę twarz. Proces lokalizacji twarzy dla wszystkich ramek, czyli ciągłego
monitorowania jej pozycji określany jest mianem trekingu twarzy (ang. Face Tracking) [70,
113].
W pracy zastosowano metodę wyodrębniania twarzy z obrazu kolorowego, opierającą
się na specyficznym kolorze skóry (ang. Skin Color Detection) [70]. Metoda ta polega na
poszukiwaniu w obrazie będącym pojedynczą ramką sekwencji wideo, pikseli
odpowiadających barwie skóry.
Proces wyodrębniania twarzy zrealizowano na sekwencji wideo o modelu RGB i
jakości kolorów 24 bity. Dla każdej z ramek wyodrębniono składowe poszczególnych
kolorów RGB. Poszczególne składowe nie odzwierciedlają wyraźnie w mniejszym, bądź
większym stopniu obszaru twarzy, co pokazano na Rys.5.1.
Rys.5.1 Przykładowy obraz kolorowy RGB autora wraz z komponentami
Aby uzyskać obraz w znacznym stopniu wyodrębniający kolor skóry, zastosowano
różne operacje matematyczne na poszczególnych składowych RGB. Dobrym rozwiązaniem,
wystarczającym dla poprawnego działania systemu, jest wykonanie operacji odejmowania od
składowej R, składowej B. Różnica tych składowych określa obszar danej klatki, w dużym
stopniu przypominający kolor ludzkiej skóry. Niestety oprócz właściwego koloru skóry,
różnica wyróżnionych składowych wyodrębnia również elementy tła, wprowadzając
dodatkowe zakłócenie. Elementy o barwie zbliżonej do żółtej, pomarańczowej, brązowej,
przy zastosowaniu różnicy R – B, mają podobne właściwości, co ludzka skóra.
Na Rys.5.2 pokazano przykładowe operacje matematyczne na składowych RGB [70].
89
Rys.5.2 Odpowiednie różnice składowych RGB dla obrazu z Rys.5.1
W celu wyeliminowania podobieństwa koloru skóry do elementów tła, nie będących
ludzką skórą, zastosowano progowanie obrazu, będącego wynikiem różnicy składowych R –
B [70]. Wartość progu należy wyznaczyć doświadczalnie. Zastosowanie w systemie
możliwości korygowania tej wartości na bieżąco pozwala na optymalne skonfigurowanie
systemu dla danego użytkownika i warunków pracy. Jeśli jednak system nie będzie posiadał
takiej możliwości korygowania, wówczas konieczne jest ustalenie na sztywno tego progu.
Wartość progu powinna wahać się w granicach od 20 do 40. Dodatkowo, aby usunąć wszelkie
drobne zakłócenia z kadru, przypominające kolorem ludzką skórę, zastosowano filtrację
medianową.
Na Rys.5.3 pokazano zastosowanie operacji progowania i filtracji medianowej do
obrazu uzyskanego w sposób różnicy składowych R – B.
a)
b)
c) Rys.5.3 Zastosowanie operacji progowania i filtracji medianowej:, a) – progowanie z różnej wartością progu, b)
– filtracja z różną liczbą powtórzeń, c) – podwójna filtracja medianowa i progowanie
90
Kolejnym krokiem w lokalizacji twarzy jest znalezienie jej centrum. Centrum twarzy
potrzebne jest do wyznaczenia prostokątnej maski, po nałożeniu której zostanie
wyodrębniona twarz użytkownika.
W pracy zastosowano podejście polegające na znajomości specyficznego, owalnego
kształtu twarzy człowieka. W oparciu o te przesłanki, centrum twarzy wyznacza się w ten
sposób, że zlicza się wszystkie kolejne piksele o wartości większej od zera, wzdłuż
wszystkich wierszy i kolumn obrazu. W wierszu o maksymalnej liczbie kolejnych,
niezerowych pikseli, połowa takiego poziomego, niezerowego odcinka wyznacza oś pionową
twarzy, zaś w kolumnie o maksymalnej liczbie kolejnych, niezerowych pikseli, połowa
takiego pionowego, niezerowego odcinka wyznacza oś poziomą twarzy. Punkt przecięcia bu
osi wyznacza poszukiwane centrum twarzy. Jeśli wystąpi kilka wierszy lub kolumn o
maksymalnej liczbie kolejnych niezerowych wartości pikseli, wówczas jako dominujący
wiersz i kolumnę, przyjmuje się środkowe z tych jednakowych wierszy i kolumn.
Na Rys.5.4 pokazano sposób wyznaczania centrum twarzy.
Rys.5.4 Sposób wyznaczania centrum twarzy
Na podstawie znalezionego centrum zlokalizowanej twarzy, wyznacza się prostokątną
maskę zawierającą cały obszar twarzy. Prostokątna maska ma odpowiednio wysokość równą
maksymalnej liczbie kolejnych, niezerowych pikseli spośród wszystkich kolumn obrazu, zaś
szerokość równą maksymalnej liczbie kolejnych, niezerowych pikseli, spośród wszystkich
wierszy obrazu.
Może się zdarzyć, że wyznaczona maska nie będzie zawierała dokładnie całej twarzy
użytkownika. Nie ma to jednak wpływu na poprawność działania systemu, pod warunkiem,
że w zlokalizowanym obszarze znajdą się oczy i usta użytkownika. Brak części czoła, bądź
91
dodatkowo zlokalizowana szyja użytkownika, mająca również kolor skóry, nie będzie
wprowadzała błędów.
Przedstawiony sposób wyznaczania centrum twarzy nie jest wystarczający, jeśli w
kadrze znajdzie się element przypominający kolorem ludzką skórę, a będzie miał kształt
przypominający owal i będzie większy od twarzy znajdującej się w tym samym kadrze.
System zlokalizuje największy z tych elementów, gdyż założono, że głównym elementem
każdego kadru jest twarz użytkownika. Odrzuci natomiast elementy o kształcie znacznie
różniącym się od kształtu ludzkiej twarzy, co pokazano na Rys.5.5, gdzie jako element
zakłócający dodano rękę.
Rys.5.5 Przykład poprawnej lokalizacji twarzy w kadrze przy zakłóceniu w postaci ręki
Polepszenie sposobu działania zastosowanych do lokalizacji twarzy metod progowania
i filtracji medianowej można uzyskać poprzez celowe zmniejszenie rozmiaru obrazu przed
filtracją i progowaniem [70]. Zwiększając obraz do rozmiaru pierwotnego uzyska się
dokładniejszy kształt twarzy. W pracy zastosowano procedurę pomniejszania obrazu
roboczego w celu przyspieszenia działania systemu oraz polepszenia działania filtracji
medianowej. Z pierwotnego rozmiaru kadru 640 x 480 pikseli pomniejszono ośmiokrotnie
obraz przeznaczony do obróbki do rozmiaru 80 x 60.
Po wyznaczeniu współrzędnych wierzchołków prostokątnej maski, nową sekwencję
wypowiedzi wideo, zawierającą ograniczony obraz do obszaru samej twarzy użytkownika,
wygenerowano z sekwencji ramek o pierwotnym rozmiarze.
Ponieważ użytkownik systemu z reguły wypowiadając dane komendy trzyma głowę w
miarę nieruchomo, dla przyspieszenia wszelkich operacji, można by zastosować lokalizację
twarzy tylko dla pierwszej ramki, przyjmując, że twarz na pozostałych ramkach znajduje się
w tym samym miejscy. W pracy zastosowano jednak pełen treking twarzy, powtarzając
92
lokalizację twarzy dla wszystkich ramek. Jest to metoda nieco wolniejsza, jednak pozwalająca
na zachowanie stabilności systemu. Należy dodać, że rozmiar uzyskanej maski musi być
jednakowy dla wszystkich ramek. Przyjęto, że na wszystkie ramki nakłada się maskę
wyznaczoną dla pierwszej ramki. Różnią się tylko współrzędne wyznaczonych centrów
twarzy dla poszczególnych ramek.
Algorytm LT (Lokalizacja Twarzy)
Wejście: Kolorowa sekwencja wideo zarejestrowanej kamerą wypowiedzi danego
użytkownika systemu.
Wyjście: Kolorowa sekwencja wideo wypowiedzi danego użytkownika systemu,
ograniczona do wyznaczonego obszaru twarzy.
1: Podziel sekwencję wideo na pojedyncze ramki.
2: Redukuj rozmiar ramki.
3: Rozłóż ramki na składowe RGB zapisane w formie macierzowej.
4: Wyznacz obszar koloru skóry SK = R – B.
5: Zastosuj filtrację medianową.
6: Zastosuj progowanie.
7: Wyznacz centrum twarzy.
8: Nałóż prostokątną maskę na obszar SK > 0.
9: Powtórz kroki 2 – 8 dla wszystkich ramek.
10: Wyznacz z początkowej sekwencji wideo obszar twarzy mówcy, na podstawie
maski nałożonej na każdą ramkę.
Na Rys.5.6 pokazano przykładowy wynik automatycznej lokalizacji twarzy
użytkownika dla pojedynczej ramki, podczas działania systemu.
Rys.5.6 Widok przykładowej automatycznej lokalizacji twarzy dokonany przez system
93
5.2. Metoda lokalizacji oczu do wyznaczenia obszaru ust
Do wyznaczenia obszaru zawierającego obraz ust użytkownika posłużono się metodą
wyznaczenia współrzędnych oczu. Ponieważ przy prawidłowym zadziałaniu procedury
lokalizacji i wydzielenia twarzy wiadomo, że na sekwencji wypowiedzi wideo, poszczególne
ramki zawierają całą twarz użytkownika. W szczególnych przypadkach obszar opisujący
twarz może być zbyt duży, lub zbyt mały, ważne jest, aby w wyznaczonym obrazie
użytkownika znalazły się oczy i usta.
Do wyznaczenia pionowej i poziomych linii oczu zastosowano metodę obliczania
gradientów jasności pikseli wzdłuż kolumn i wierszy obrazu wejściowego, a następnie
integralną projekcję poziomą i pionową (ang. Gradient Method and Integral Projection,
GMIP) [70].
Pierwszym etapem wyznaczenia współrzędnych oczu jest zamiana obrazu kolorowego
o modelu barw RGB, na obraz monochromatyczny. Zastosowano tutaj proste przekształcenie
polegające na zsumowaniu poszczególnych składowych RGB, a następnie podzieleniu
wszystkich otrzymanych wartości przez liczbę składowych. Operację uzyskania obrazu
monochromatycznego opisuje poniższa następująca zależność:
xsizejoraz
ysizeidlaK
imcolorimgray
K
kkji
ji
_,...,2,1
_,...,2,1,_
_ 1,,
,
=
==∑= , (5.1)
gdzie: size_x – szerokość obrazka w pikselach; size_y – wysokość obrazka; K – iczba
składowych obrazu kolorowego.
Po zamianie obrazu kolorowego na obraz monochromatyczny, kolejnym etapem jest
wyznaczenie poziomej linii oczu. Założono, że wypowiadający komendy użytkownik trzyma
głowę pionowo, a co za tym idzie, oczy znajdują się na jednej poziomej linii. Wyznaczenie
poziomego położenia oczu należy rozpocząć od wyznaczenia gradientu sąsiednich wartości
pikseli, wzdłuż każdego z wierszy. Gradient uzyskuje się poprzez moduł różnicy wartości
piksela w bieżącej kolumnie i wartości piksela w następnej kolumnie. Następnie należy
zsumować uzyskane gradienty w każdej z kolumn, wzdłuż wszystkich wierszy, realizując
sumowanie za pomocą funkcji projekcji poziomej. Jako linię poziomą oczu przyjęto wiersz o
największej wartość sumy gradientów. Sposób wyznaczenia poziomej linii oczu przedstawia
zależność [70]:
94
1_,...,2,1
|__|_1_
11,,
−=
−= ∑
−
=+
ysizeidla
imgrayimgrayMAXlinehxsize
jjiji , (5.2)
gdzie: size_x –szerokość obrazka w pikselach; size_y – wysokość obrazka.
Na podstawie wyznaczonej poziomej linii oczu określa się obszar obliczania
gradientów w etapie określania pionowych linii oczu. Nie jest konieczne przeszukiwanie całej
wysokości obrazka, skoro jest już wyznaczona pozioma linia oczu. W pracy przyjęto
założenie, że obliczanie gradientów sąsiednich wartości pikseli odbywa się wzdłuż
ograniczonego obszaru każdej z kolumn. Również w tym przypadku należy zsumować
uzyskane gradienty w każdym z wierszy, wzdłuż każdej z ograniczonych kolumn. Założono,
że pionowa linia lewego oka wyznaczona jest poprzez kolumnę o największej wartości sumy
gradientów lewej części twarzy, a pionowa linia prawego oka wyznaczona jest poprzez
kolumnę o największej wartości sumy gradientów prawej części twarzy. Jeśli twarz została
zlokalizowana poprawnie, to zawsze dzieląc obraz twarzy na pół wzdłuż pionowej osi uzyska
się stan w którym oczy znajdą się po obu stronach osi. Poniższe wzory opisują sposób
wyliczenia poziomych linii oczu [70]:
2_,...,2,1
|__|__2
_,1,
xsizejdla
imgrayimgrayMAXllinevT
Tlinehijiji
=
−= ∑
−=+
, (5.3)
1_,...,22_,1
2_
|__|__2
_,1,
−++=
−= ∑
−=+
xsizexsizexsizejdla
imgrayimgrayMAXrlinevT
Tlinehijiji
, (5.4)
gdzie: size_x – szerokość obrazka w pikselach; size_y –wysokość obrazka; T –połowa
przedziału ograniczającego wyznaczanie gradientu.
Jeśli użytkownik systemu podczas wypowiedzi nie trzyma głowy w miarę pionowo,
można zastosować rozbudowaną procedurę wyznaczania współrzędnych oczu. A mianowicie
po wyznaczeniu poziomej linii oczu, która oczywiście nie jest dokładną linią obu oczu, należy
wyznaczyć pionowe linie oczu. A w kolejnym kroku, dla ograniczonych obszarów zawartych
w pobliżu poziomej i pionowych linii oczu, można jeszcze raz wyznaczyć poziomą linię oczu,
osobno dla lewego i prawego oka. W ten sposób uzyska się dokładne współrzędne środków
oczu, dla przechylonej twarzy. Oczywiście ten kąt pochyłu nie może być zbyt przesadny. Dla
95
prawidłowego wyznaczenia obszaru ust konieczny jest jeszcze w takim przypadku obrót
twarzy do pozycji pionowej.
Wyznaczone współrzędne pozycji oczu w pojedynczej ramce pokazano na Rys.5.7.
Rys.5.7 Ilustracja wyznaczonej pozycji oczu metodą GMIP
Patrząc na Rys.5.7 można zauważyć, że linie opisujące poziomą i pionowe projekcje
są bardzo poszarpane, co może być przyczyną niezbyt dokładnego wyznaczenia środków
oczu. Dokładne wyznaczenie środków oczu jest o tyle ważne, że zastosowano współrzędne
oczu do wyznaczenia regionu twarzy zawierającego same usta. Błędne wyznaczenie środków
oczu może spowodować, iż w wyznaczonym obszarze ust, część ust znajdzie się poza tym
obszarem. W celu wyeliminowania takich przypadków zastosowano wygładzenie linii
projekcji poprzez uśrednianie wyznaczonych gradientów sąsiednich kolumn i wierszy.
Zależności (5.5) i (5.6) opisują sposób wygładzenia linii projekcji:
1_,...,2,1
_,...,2,1_
_ 1,
,
−=
−==∑=
+
xsizejoraz
MysizeidlaM
imgradimgrad
M
mjmi
ji , (5.5)
Mxsizejoraz
TlinehTlinehidlaM
imgradimgrad
M
mmji
ji
−=
+−==∑=
+
_,...,2,1
_,...,__
_ 1,
, , (5.6)
gdzie: size_x – jszerokość obrazka; size_y – j wysokość obrazka; M – stopień wygładzenia
linii; T –połowa przedziału ograniczającego wyznaczanie gradientu.
96
Takie wygładzenie linii projekcji pozwala na jednoznaczne wyznaczenie
współrzędnych środków oczu, co można zaobserwować na Rys.5.8.
Rys.5.8 Wyznaczone pozycje oczu metodą GMIP z wygładzonymi liniami projekcji
Kolejnym etapem jest wyznaczenie obszaru twarzy, zawierającego całe usta
użytkownika. Wyznaczenie tego obszaru oparto o zlokalizowane wcześniej środki oczu.
Region ust wyznacza prostokątny obszar o wierzchołkach wyznaczonych w sposób
doświadczalny. Wykorzystując odległość pomiędzy środkami oczu, przesuwając się o tę
odległość od linii oczu w dół, można w przybliżeniu określić położenie w pionie ust na
twarzy. Szerokość i wysokość prostokąta należy dobrać tak, aby całe usta były w nim
zawarte. Z drugiej strony powinno się ograniczyć na tyle ten obszar, aby nie wykraczać poza
badaną twarz.
Na podstawie wyznaczonego regionu ust dla każdej ramki utworzono sekwencję
wypowiedzi wideo, ograniczoną do obszaru samych ust. Treking położenia regionu ust na
twarzy ściśle jest uzależniony od zlokalizowanych środków oczu. Lokalizację regionu ust
realizuje się dla każdej ramki, gdyż należy przewidzieć, że użytkownik nie jest w stanie
trzymać głowy nieruchomo podczas wypowiedzi. Rozmiar każdego z wyznaczonych
regionów ust jest proporcjonalnie identyczny, dlatego w łatwy sposób można utworzyć
ograniczoną sekwencję wideo.
Na Rys.5.9 pokazano wyznaczone regiony ust z pojedynczych ramek, na podstawie
algorytmu LU, dla różnych użytkowników.
97
Rys.5.9 Rezultaty wyznaczania strefy ust w oparciu o metodę LU
Algorytm LU (Lokalizacja Ust)
Wejście: Kolorowa sekwencja wideo wypowiedzi danego użytkownika systemu,
ograniczona do wyznaczonego obszaru twarzy.
Wyjście: Kolorowa sekwencja wideo wypowiedzi danego użytkownika systemu,
ograniczona do wyznaczonego regionu ust.
1: Podziel sekwencje wideo na pojedyncze ramki.
2: Konwertuj każdą ramkę RGB formatu macierzowego do skali szarości (5.1).
3: Wyznacz poziomą linię oczu h_line (5.2), z wygładzoną linią projekcji (5.5).
4: Wyznacz pionowe linie oczu v_line_l (5.3) i v_line_r (5.4), z wygładzonymi
liniami projekcji (5.6).
5: Wyznacz współrzędne oczu jako przecięcie poziomej i pionowych linii oczu.
6: Wyznacz przybliżony regionu ust na podstawie współrzędnych oczu.
7: Nałóż prostokątną maskę wielkości wyznaczonego regionu ust..
8: Powtórz kroki 2 – 7 dla wszystkich ramek.
9: Wyznacz z wejściowej sekwencji obszar ust mówcy na podstawie maski nałożonej
na każdą ramkę.
5.3. Proponowana metoda CSM wykrywania krawędzi ust z obrazu wideo
Kolejnym etapem w procesie ekstrakcji cech wideo, czyli tworzenia wektorów obserwacji
wideo mowy jest zlokalizowanie krawędzi ust użytkownika. Ponieważ podczas naturalnej
98
mowy usta poruszają się najczęściej w pionie, kąciki ust pozostają w miejscu lub ewentualnie
poruszają się w poziomie, zaś odległość pomiędzy wewnętrzną i zewnętrzną krawędzią dolnej
oraz górnej wargi pozostaje bez zmian, zastosowano tylko kąciki i zewnętrzne krawędzie ust
jako główne cechy procesu trekingu ust. Schemat poruszania się ust w naturalnej wideo
mowie, zastosowany w pracy pokazano na Rys.5.10.
Rys.5.10 Zastosowany schemat wizualizacji ruchu ust
Jak wynika z Rys.5.10 ważnym elementem ekstrakcji charakterystyk ust jest
zlokalizowanie kącików ust. Dokładne zlokalizowanie kącików ust jest o tyle istotne, że
później na podstawie ich położenia realizowane jest wykrywanie zewnętrznych krawędzi ust
oraz rozmieszczenie punktów charakterystycznych.
Jednym ze sposobów, jaki zastosowano do zlokalizowania kącików ust jest metoda
zastosowana już do wyznaczenia współrzędnych centrów oczu [70]. W identyczny sposób
wykonano wyznaczenie poziomej linii kącików ust opisanej wzorem (5.2). Pionowe linie
kącików ust wyznaczono na podstawie zależności (5.3) i (5.4), z tą jednak różnicą, że nie
brano pod uwagę maksymalnej wartości sumy gradientów dla każdej z połów ramki. Pionową
linię lewego kącika ust, wyznaczono jako pierwsze maksimum przekraczające określony
próg, poruszając się rosnąco od pierwszego indeksu. Pionową linię prawego kącika ust,
wyznaczono jako pierwsze maksimum przekraczające określony próg, poruszając się
malejąco od ostatniego indeksu [70]. Wartość progu, po przekroczeniu którego można uznać
maksimum, jako kolumnę wyznaczającą położenie kącików ust dobrano w sposób
doświadczalny.
Przed rozpoczęciem wyznaczania współrzędnych kącików ust należy również
przekonwertować kolorowy obraz ust do obrazu w skali szarości.
99
Rezultat wyznaczenia kącików ust różnych użytkowników metodą obliczania
gradientów jasności pikseli wzdłuż kolumn i wierszy obrazu wejściowego oraz integralną
poziomą i pionową projekcją [70] pokazano na Rys.5.11.
Rys.5.11 Rezultat wyznaczenia położenia kącików ust metodą GMIP dla różnych użytkowników
Zaobserwowano, że metoda GMIP do wyznaczania współrzędnych kącików ust jest
metodą skuteczną, jeśli użytkownik pozbawiony jest jakiegokolwiek zarostu na twarzy, czyli
dla użytkowników płci żeńskiej, wykorzystanie tej metody jest dobrym podejściem. Jeśli
jednak użytkownik będzie posiadał zarost na twarzy, wówczas istnieje niebezpieczeństwo, że
kąciki ust zostaną zlokalizowane błędnie (Rys.5.12). Może się tak zdarzyć, gdyż wspomniana
metoda bazuje na jasności pikseli, a zarost może zawierać obszary równie charakterystyczne
pod względem jasności pikseli, jak kąciki ust.
Rys.5.12 Przykład błędnego wyznaczenia kącików ust
Aby zapobiec niebezpieczeństwu błędnego wyznaczenia kącików ust, zaproponowano
metodę bazującą na specyficznym kolorze i kształcie ust (ang. Color and Shape of Mouths,
CSM). W metodzie tej proces lokalizacji kącików ust realizuje się na kolorowym obrazie.
Z kolorowego obrazu obszaru zawierającego usta należy zlokalizować obszar samych
ust. Można to zrobić, gdyż kolor ust jest tak specyficznym kolorem, że manipulując
odpowiednio poszczególnymi składowymi RGB, poprzez progowanie, wyodrębnia się
granicę pomiędzy ustami, a pozostałą częścią twarzy. Sposób operacji na składowych RGB
opisuje następująca zależność:
100
<−<−<−
=321
_TGRTBRTGB
ustreg , (5.7)
gdzie T1, T2, T3 są doświadczalnie dobranymi wartościami progowania. Na podstawie
doświadczeń ustalono, że najbardziej optymalne wartości progów wynoszą: T1 ≅ 20, T2 ≅ 40
i T3 ≅ 40. W ten sposób wyznacza się piksele o wartościach odpowiadających specyficznemu
kolorowi ust. Pozostałym pikselom przypisuje się wartość zerową.
W systemie zastosowano możliwość doboru wartości progowych dla indywidualnych
użytkowników, aby uzyskać optymalne warunki, co pokazano na Rys.5.13.
Rys. 5.13. Przykład poprawnego doboru wartości progowej
Największy wpływ na poprawne wyznaczenie obszaru ust mają wartości progowe T1 i
T3. Jest tak w większości przypadków, jednak podczas badać zdarzyło się kilka razy, że bez
wartości progowej T2 nie byłoby możliwe poprawne określenie obszaru ust, co jest wynikiem
indywidualnych cech ust oraz różnorodności oświetlenia.
Znając budowę kształtu ust można wyznaczyć kąciki ust jako skrajne w poziomie
niezerowe piksele. Poszukiwanie tych pikseli należy wykonać w ograniczonym obszarze ust,
w pobliżu poziomej osi ust. Schemat wyznaczania kącików ust pokazano na Rys.5.14.
Poszukiwanie kącików ust odbywa się tylko na zaciemnionym obszarze Rys.5.13 Szerokość
tego obszaru o poziomej osi odpowiadającej poziomej osi ust określonej jako połowa odcinka
max i – min i, dobrano doświadczalnie tak, aby było możliwe poprawne wyznaczenie
kącików. A nie ma sensu przeszukiwać całej ramki, skoro można ją znacznie ograniczyć i
przyspieszyć proces poszukiwań.
Dzięki tej metodzie uzyskano o wiele większą odporność, w porównaniu z metodą
GMIP, na zakłócenia w postaci zarostu na twarzy.
101
Rys.5.14 Schemat wyznaczania kącików ust metodą CSM
Rezultat wyznaczania lewego L i prawego P kącika ust metodą CSM dla różnych
twarzy pokazano na Rys.5.15.
Rys.5.15 Rezultat wyznaczania kącików ust metodą CSM
Poprawne wyznaczenie kącików ust jest o tyle ważne, że na ich podstawie zostanie
zbudowana okrągła siatka do wyznaczania punktów znajdujących się na zewnętrznych
krawędziach ust. Do wyznaczenia krawędzi ust wykorzystano ramkę zastosowaną w metodzie
CSM, w której tylko piksele o wartościach odpowiadających kolorowi ust mają niezerowe
wartości.
Na podstawie kącików ust określa się środek okręgu, będącego połową odległości
pomiędzy kącikami ust. Poruszając się po okręgu, co kąt α oznacza się jego promień,
zaczynając od jednego z wyznaczonych kącików, otrzymując w ten sposób 2π / α promieni.
Następnie poruszając się wzdłuż każdego z promieni w kierunku środka okręgu wyznacza się
pierwszy z napotkanych niezerowych pikseli, oznaczając go, jako charakterystyczny punkt
zewnętrznej krawędzi ust.
102
Wartość skoku promieni α dobiera się w zależności od tego, jak dokładnie chce się
odwzorować zewnętrzne krawędzie ust. W pracy przyjęto, że każdy z promieni oznacza się co
22,5 o, co daje 16 punktów charakterystycznych w tym dwa kąciki ust. Jest to wystarczająca
liczba punktów do odwzorowania w miarę rzeczywistego ruchu ust. Zwiększanie liczby
punktów charakterystycznych powoduje tylko niepotrzebny wzrost obliczeń, a należy wziąć
pod uwagę fakt, iż i tak mimo dużej liczby punktów nie uzyska się idealnie rzeczywistych
krawędzi ust, co spowodowane jest niezbyt ostrą granicą pomiędzy obszarem o kolorze ust, a
obszarem o kolorze skóry. Wszelkie naprężenia mięśni ust powodują zmianę barw w pobliżu
krawędzi ust, tak więc należy przyjąć, że krawędzie ust są krawędziami w pewnym sensie
ruchomymi.
Na Rys.5.16 pokazano schemat wyznaczania punktów charakterystycznych
zewnętrznych krawędzi ust.
Rys.5.16 Schemat wyznaczania punktów charakterystycznych zewnętrznych krawędzi ust
W procesie wyznaczania krawędzi ust może się zdarzyć, że pojawi się zakłócający
obszar nie będący obszarem ust, a mający podobny kolor, lub źle zostanie zidentyfikowany
obszar ust, przyjmując zerowe wartości pikseli. Spowoduje to błędne wyznaczenie punktów
określających zewnętrzne krawędzie ust. Dlatego zastosowano ciągłe monitorowanie
położenia każdego z tych punktów w porównaniu z położeniem punktów sąsiednich i jeśli
zajdzie taka potrzeba, określa się nowe współrzędne punktu, na podstawie punktów
sąsiednich.
Przykład korekcji błędnie wyznaczonego punktu pokazano na Rys.5.17.
103
Rys.5.17 Przykład korekcji błędnie wyznaczonego punktu
Na Rys.5.17 widać, że wyznaczony obszar ust jest poszarpany, szczególnie wzdłuż
zewnętrznej krawędzi. Ponieważ właśnie ruch ust wyznaczony zewnętrzną krawędzią podczas
wypowiedzi ma największy wpływ na utworzenie wektora obserwacji, dlatego konieczne jest
odpowiednie wygładzenie tej zewnętrznej krawędzi. Zastosowano filtrację medianową w celu
usunięcia drobnych zakłóceń z obrazu, a przy tym uzyskano znaczne wygładzenie
wyznaczonego obszaru ust. Przykład poprawienia działania systemu przez zastosowanie
wspomnianej filtracji pokazano na Rys.5.18, gdzie z lewej strony umieszczono ramkę z
wyznaczoną krawędzią i kącikami ust bez filtracji, z prawej ramkę z zastosowaną filtrację.
Rys.5.18 Przykład zastosowania filtracji medianowej podczas detekcji zewnętrznych krawędzi ust
O ile w audio mowie można rozróżnić wszystkie fonemy, o tyle w wideo mowie
często jest tak, że usta wypowiadające różne fonemy mają bardzo zbliżony wygląd i układ.
Niektóre fonemy można rozróżnić w wideo mowie poprzez zaobserwowanie, czy podczas
wypowiedzi pojawia się, bądź też nie, język bezpośrednio przy zębach. Tak na przykład usta
podczas wypowiadania fonemów „a” i „l” są bardzo podobnie ułożone, jednak dla fonemu „l”
można zaobserwować pojawiający się język. Podobnie bez widocznego języka wypowiada się
104
fonemy „i” i „j”, a z językiem „t” i „d”. Na tej podstawie w systemie wprowadzono
przydzielenie odpowiedniej wagi dla fonemów z zaobserwowanym językiem, w celu
poprawienia rozróżnialności poszczególnych wideo fonemów.
Algorytm LKU (Lokalizacja Krawędzi Ust):
Wejście: Kolorowa sekwencja wideo wypowiedzi danego użytkownika systemu,
ograniczona do wyznaczonego regionu ust.
Wyjście: Sekwencja wektorów współrzędnych punktów charakterystycznych ust
zlokalizowanych dla każdej ramki.
1: Podziel sekwencji wideo na pojedyncze ramki.
2: Wyznacz lewy L i prawy P kąciki ust metodą GMIP lub CSM.
3: Wyznacz region ust (5.7).
4: Odfiltruj medianowo w celu usunięcia zakłóceń i wygładzenia zewnętrznych
krawędzi ust.
5: Wyznacz siatki i = 2π/α promieni o środku okręgu S = (L + P)/2, długości di ≥ P –
S i skoku α, rozpoczynając od promienia wyznaczonego przez punkty S i P.
6: Wyznacz punkty określające zewnętrzne krawędzie ust pi = max d(S,di) ∈ reg_ust.
7: Skontroluj położenia każdego z wyznaczonych punktów pi na podstawie punktów
sąsiednich i w zależności od potrzeb modyfikuj ich położenia.
8: Sprawdź położenia języka mówcy i odpowiednie ustawienie wagi dla ramki.
9: Powtórz kroki 2 – 8 dla wszystkich ramek
10: Utwórz sekwencji wektorów współrzędnych wyznaczonych punktów
charakterystycznych.
Przykład lokalizacji kącików i zewnętrznych krawędzi ust oraz wyznaczania punktów
charakterystycznych dla różnych użytkowników pokazano na Rys.5.19 Cały proces odbywa
się automatycznie w zbudowanym systemie rozpoznawania audio-wideo słów izolowanych.
Zastosowano możliwość ciągłego monitorowania każdej z klatek w celu weryfikacji
poprawności lokalizacji krawędzi.
105
Rys.5.19 Przykłady automatycznego wyznaczania krawędzi ust dla różnych użytkowników
Ponieważ wymagane jest, aby do modelu UMM sygnał wejściowy wprowadzany był
w postaci wektora obserwacji, dlatego dla każdej ramki na podstawie współrzędnych punktów
charakterystycznych należy przypisać pewien symbol, najlepiej opisujący charakterystykę tej
ramki.
W pracy zastosowano dwie metody kodowania ramek. W pierwszej metodzie
wykorzystano algorytm Lloyda, opisany w 3.6. Dla każdego użytkownika utworzono zestaw
uczący, pokrywający w całości przestrzeń akustyczną. Na podstawie sekwencji wektorów,
zawierających współrzędne punktów charakterystycznych ust dla każdej ramki, utworzono
książkę kodową, złożoną z 37 symboli obserwacji. W tej metodzie przyjęto, że rozmiar
książki kodowej musi odpowiadać liczbie fonemów języka polskiego.
Mimo, że niektóre fonemy są bardzo podobne i można by zmniejszyć rozmiar książki
kodowej, to ze względu na przydzielane współczynniki wagowe dla każdej ramki,
informujące o pojawieniu się, bądź też nie, języka w bliskim sąsiedztwie zębów,
pozostawiono pierwotny rozmiar książki kodowej.
106
Książkę kodową należy utworzyć oddzielnie dla każdego użytkownika przed
procesem uczenia. Można jednak założyć, że wideo mowa jest bardziej elastyczna niż audio
mowa, bo jako wektory charakterystyk wprowadza się do algorytmu Lloyda stosunek
odległości każdego z punktów od prostej wyznaczonej przez kąciki ust, do odległości
pomiędzy kącikami. Przyjmując takie założenia utworzono tylko jedną książkę kodową,
wspólną dla wszystkich użytkowników.
W procesie uczenia wykonano kwantyzację wektorową opisaną w 3.7. Każdą
wypowiedź powtórzono po kilka razy, w celu uodpornienia systemu na różnorodność sposobu
wypowiadania danego użytkownika. Na podstawie książki kodowej, dla każdej ramki
przypisano symbol reprezentujący obszar w przestrzeni Euklidesowej najbardziej zbliżony do
wektora charakterystyk opisującego daną ramkę. W ten sposób otrzymano wektory
obserwacji będące zakodowanymi powtórzeniami tej samej wypowiedzi. Uzyskane wektory
obserwacji należy wprowadzać kolejno do modelu UMM, jako dane uczące.
Założono, że zbudowany system jest systemem dedykowanym i dlatego podczas
pracy, system działa poprawnie tylko dla użytkownika, dla którego został on nauczony.
Przyjęto, że można uczyć system na podstawie tej samej książki kodowej, danymi
pochodzącymi od różnych użytkowników.
W drugiej, zaproponowanej w pracy metodzie kodowania ramek EP zrezygnowano z
tworzenia książki kodowej. Zastosowano uproszczoną metodę kodowania wykorzystującą
położenie każdego z punktów charakterystycznych, względem prostej wyznaczonej przez
kąciki ust. W metodzie tej dla każdej ramki należy obliczyć sumę stosunku odległości
wszystkich punktów od prostej, wyznaczonej przez kąciki ust. Ponieważ przyjęto 16 punktów
charakterystycznych, dlatego każdy z wyliczonych stosunków podzielono przez 16. Wartość
uzyskanych w ten sposób sum, po pomnożeniu przez 100 waha się w granicach od 31 do 80,
oczywiście przy poprawnie zlokalizowanych punktach charakterystycznych na zewnętrznych
krawędziach ust. Przyjęto, że uzyskane symbole powinny zawierać się w przedziale od 1 do
50, dlatego dla każdego użytkownika należy określić minimalną wartość kodu i na tej
podstawie odpowiednio zredukować wartości kodów do założonego przedziału.
Z jednej strony można zwiększyć zakres kodów, przez co uzyska się szersze
przedziały kodów dla tych samych fonemów, z drugiej strony, skoro w języku polskim jest
tylko 37 fonemów, a dodatkowo niektóre z nich mają bardzo podobny układ ust, można
pomniejszyć liczbę kodów, w celu zmniejszenia rozmiarów modeli UMM. W pracy przyjęto
zarówno rozszerzony, jak i okrojony zakres kodów, co było wymogiem w procesie
doświadczenia efektywności różnych typów fuzji audio i wideo charakterystyk.
107
W wielu systemach trekingu ust wykorzystuje się wyłącznie cztery punkty określające
wysokość i szerokość. Taki sposób kodowania nie daje możliwości dokładnego rozróżnienia
poszczególnych fonemów, których ilość rozróżnialnych w wideo mowie jest znacznie
mniejsza, niż w przypadku fonemów audio mowy. Metoda EP pozwala zakodować
poszczególne fonemy w dość wyraźny sposób, co pokazano na Rys.5.20. Dodatkowo, metoda
EP pozwala na pominięcie długotrwałego w porównaniu z mową audio, procesu tworzenia
książki kodowej.
Rys.5.20 Przykład wideo zakodowania polskich fonemów m, a, o
Cały proces trekingu ust niezbędny do wydobycia wymaganych charakterystyk wideo
mowy i utworzenia wektorów obserwacji zastosowano jako część analizy wideo mowy w
systemie rozpoznawania audio-wideo słów izolowanych mowy polskiej.
108
6. OPRACOWANIE SYSTEMU AVM_PL DO REALIZACJI METODY AV_Mowa_PL
Podano szczegółowy opis budowy, charakterystyk technicznych i działania opracowanego
systemu do rozpoznawania audio-wideo słów izolowanych w języku polskim, nazwanego
AVM_PL. Przedstawiono poszczególne etapy działania systemu z przykładowymi danymi i
wynikami uzyskiwanymi w każdym z etapów.
6.1. Struktura i charakterystyki techniczne systemu
System rozpoznawania audio-wideo mowy polskiej, nazwany AVM_PL, zbudowano w
środowisku programistycznym Matlab 6.0. System realizuje rozpoznawanie słów
izolowanych. Wykonany został w ten sposób, że stanowi jeden z wielu komponentów
systemu Matlab, co wiąże się z tym, iż aby można było na nim pracować, konieczne jest
zainstalowanie pakietu Matlab i zarejestrowanie komponentu AVM_PL.
Do prawidłowego funkcjonowania systemu konieczne jest posiadanie mikrofonu
rejestrującego audio mowę, oraz kamery rejestrującej wideo mowę z rozdzielczością
nagrywania 640 x 480 pikseli. Taka rozdzielczość nagrywania jest konieczna przy
rzeczywistym funkcjonowaniu systemu, tzn. kamera rejestruje całą twarz użytkownika,
pozwalając na swobodny sposób wypowiedzi. System umożliwia również korzystanie z
wideo wypowiedzi o rozdzielczości 320 x 240 pikseli, lecz w takim przypadku wideo mowa
musi być ograniczona do obszaru zawierającego same usta użytkownika. Jest to o tyle
niewygodne, że użytkownik musi znajdować się bardzo blisko kamery i wypowiadać
poszczególne komendy w sposób bardzo stabilny.
Ponieważ sporo czasu zajmuje analiza wideo w systemie AVM_PL to, mimo iż
wymagania sprzętowe komputera są takie same jak wymagania sprzętowe dla prawidłowego
funkcjonowania środowiska Matlab, dobrze jest używać system na sprzęcie komputerowym z
procesorem powyżej 1GHz i pamięcią 256 MB. Przy niższych parametrach system działa,
lecz może się on stać nieatrakcyjnym dla użytkownika ze względu na zbyt długi czas analizy
wideo mowy. Uczenie i testowanie systemu wykonano na procesorze 2,6 GHz i pamięci 512
MB.
Sygnał audio można próbkować z jak najmniejszą częstotliwością. Przyjęto, że sygnał
audio jest sygnałem monofonicznym (jeden kanał), o częstotliwości próbkowania 8 KHz,
szybkości transmisji bitów 128 kb/s oraz o rozmiarze próbki audio 16 bitów. Można sygnał
109
próbkować z większą częstotliwością, lecz 8 kHz jest częstotliwością standardową, przyjętą
również w telefonii, wystarczającą do rzeczywistego opisu sygnału mowy. W przypadku
zastosowania sygnału stereo, system i tak analizuje tylko jeden, pierwszy kanał. Szybkość
transmisji bitów oraz rozmiar próbki audio również mogą być zwiększane. Dodatkowo należy
zaznaczyć, że dźwięk audio nie może być w jakikolwiek sposób skompresowany.
Wymagania dotyczące sygnału wideo są takie, że dla obrazu, rozmiar próbki wideo
powinien wynosić 24 bity. Przy 16 bitach system nie działa, ze względu na własności
środowiska Matlab. Sygnał wideo również nie może być skompresowany. Zakłada się, że
rzeczywisty obraz uzyskuje się przy szybkości 26 klatek/s. Jest to standard przyjęty w
telewizji i z taką szybkością również należy nagrywać wideo mowę. Dla skrócenia czasu
analizy wideo mowy można przyjąć szybkość nagrywania 15 klatek/s. Taka szybkość
wystarcza do prawidłowego przedstawienia wideo mowy, pod warunkiem, że użytkownik
będzie wypowiadał słowa niezbyt szybko. Jest to minimalna szybkość przyjęta w systemie
AVM_PL.
System AVM_PL składa się z trzech podstawowych programów, mogących pracować
zupełnie niezależnie. Pierwszy z nich odpowiada za analizę wideo mowy, a dokładniej, za
zlokalizowanie twarzy i regionu ust użytkownika na podstawie nagrania wideo. Po wczytaniu
pamięci systemu należy wprowadzić wideo z kamery. Ponieważ w systemie Matlab nie ma
możliwości nagrywania obrazu w trybie rzeczywistym, dlatego konieczne jest zarejestrowanie
wideo mowy wcześniej, a następnie otworzenie pliku wideo w systemie AVM_PL. Każda z
wypowiedzi wideo powinna być przechowywana w oddzielnym pliku, o nazwie
jednoznacznie określającej treść nagrania.
Po wczytaniu filmu wideo następuje proces lokalizacji twarzy dla każdej z klatek.
Można na bieżąco regulować wartością progu rozkładu R – B. W następnym kroku
wyświetlony zostaje film ograniczony do zlokalizowanego obszaru twarzy, złożony
oczywiście z wszystkich klatek. Na bieżąco można śledzić, czy twarz użytkownika została
poprawnie zlokalizowana.
Ostatnim z etapów tej części programu jest lokalizacja oczu i wyznaczenie regionu
ust. Wszystkie części programu realizowane są w sposób automatyczny. Dla kontroli
poprawności poszczególnych etapów, każdy etap wywołuje się przy pomocy odpowiedniego
przycisku. Można w ten sposób po kilka razy powtarzać każdy z etapów, dobierając
optymalne wyniki analizy wideo mowy dla danego użytkownika. Po wyznaczeniu regionu ust
następuje wywołanie programu odpowiedzialnego za treking ust.
110
Widok okna programu do lokalizacji twarzy i regionu ust użytkownika pokazano na
Rys.6.1.
Rys.6.1 Widok okna programu do lokalizacji twarzy i strefy ust
Drugi z programów odpowiada za prawidłowe zlokalizowanie zewnętrznych krawędzi
ust, wyznaczenie punktów charakterystycznych i utworzenie wektorów obserwacji. Po
wyznaczeniu regionu ust następuje kalibracja każdej z ramek w celu otrzymania dokładnego
obszaru zawierającego piksele o kolorze podobnym do specyficznego koloru ust. Możliwe
jest korygowanie na bieżąco wartości progowych dla rozkładów składowych kolorów B – G,
R – B oraz R – G.
Po odpowiednim skorygowaniu wartości progowych następuje właściwa realizacja
procesu trekingu ust. Proces ten realizowany jest przy pomocy metod GMIP oraz CSM. Jak
już wcześniej wyjaśniono, obie metody różnią się sposobem wyznaczania kącików ust. Na
bieżąco wyświetlane są klatki obrazu wejściowego, klatki roboczego obrazu w celu śledzenia
poprawności wyznaczania krawędzi i punktów charakterystycznych ust, oraz klatki obrazu
wyjściowego z umieszczonymi na zewnętrznych krawędziach punktami charakterystycznymi.
Podczas realizacji trekingu ust realizowane jest dodatkowo automatyczne kodowanie
każdej z klatek. Wyświetlany jest każdorazowo wyznaczony kod dla danej ramki.
111
Po przeanalizowaniu całej sekwencji ramek wideo wypowiedzi następuje przejście do
programu realizującego proces ekstrakcji audio cech, uczenia i modeli UMM i rozpoznawania
słów izolowanych. Oczywiście, jeśli w procesie uczenia na wejście podawane jest kilka
powtórzeń tej samej wypowiedzi, wówczas zanim nastąpi przejście do programu następnego
programu, konieczne jest przeanalizowanie wszystkich powtórzeń wypowiedzi wideo.
Jeśli zamiast całej twarzy użytkownika podczas wypowiedzi zostanie zarejestrowany
tylko region ust, wówczas pierwszy z programów realizujący lokalizację twarzy i regionu ust
należy pominąć, a cały proces rozpocząć od programu do trekingu ust. W programie do
rekinku ust dodano opcję otwierającą film wideo dla przypadków z ograniczoną wypowiedzią
do obszaru samych ust.
Widok okna programu do trekingu ust i wyznaczania wektorów obserwacji pokazano
na Rys.6.2.
Rys.6.2 Widok okna programu do trekingu ust i budowania wektorów obserwacji
Trzecim z podstawowych programów systemu AVM_PL realizuje procesy analizy
audio mowy, synchronizacji charakterystyk audio i wideo, uczenia i testowania. Program
umożliwia realizację rozpoznawania audio-wideo mowy, jak i samej audio mowy.
W przypadku samej audio mowy, bezpośrednio w tym programie następuje
nagrywanie wypowiedzi, zarówno w procesie uczenia oraz testowania. Istnieje możliwość
112
ustalenia częstotliwości próbkowania sygnału audio oraz długości nagrania, którą dobiera się
w zależności od długości wypowiadanego słowa, bądź słow. Oczywiście dla uczenia i
rozpoznawania samej audio mowy, pominięty zostaje proces analizy wideo mowy, wcześniej
opisany.
W przypadku rozpoznawania audio-wideo mowy, na podstawie wczytanych w
procesie ekstrakcji cech wideo plików, zawierających nagrania wideo wypowiedzi, wczytane
zostają odpowiednie wypowiedzi audio. Proces wczytywania odbywa się automatycznie,
poprzez oddzielenie sygnałów audio od analizowanych wcześniej sygnałów wideo. Każde z
nagrań należy opisać odpowiednią transkrypcją gramatyczną, potrzebną w dalszej części
programu, do nazewnictwa utworzonych modeli UMM.
Na Rys.6.3 pokazano widok okna programu realizującego wczytywanie oraz
nagrywanie sygnałów audio mowy.
Rys.6.3 Widok okna programu do wczytywania i nagrywania audio mowy
W tej części programu można jeszcze odtworzyć wczytane nagrania audio, można
również obejrzeć wykresy tych nagrań. Również nagrany sygnał audio można zapisać pod
odpowiednią nazwą pliku, podpowiadaną użytkownikowi w oparciu o wpisaną transkrypcję
gramatyczną.
113
W kolejnym etapie następuje ekstrakcja charakterystyk audio mowy i synchronizacja z
wideo mową. W procesie ekstrakcji charakterystyk istnieje możliwość wstępnej filtracji
sygnałów audio, dla wybranego rodzaju filtracji, poziomu filtracji oraz liczbie kolejnych
filtrów. Nałożone filtry można również usunąć z sygnału. Po rozpoczęciu analizy sygnału
audio następuje kolejno:
• wydzielenie właściwego sygnału mowy, poprzez usunięcie ciszy sprzed i spoza
sygnału,
• podział sygnału na zachodzące na siebie stacjonarne ramki,
• nałożenie filtru wygładzającego skrajne próbki każdej z ramek,
• zakodowanie każdej z ramek przy pomocy współczynników cepstrum,
• kwantyzacja wektorowa na podstawie wyznaczonych współczynników cepstrum.
W ten sposób każdy z wprowadzanych sygnałów audio zakodowany i przedstawiony
zastaje przy pomocy wektorów obserwacji. Ze względu na różną długość powtórzonej kilka
razy tej samej wypowiedzi, każdy z wektorów obserwacji również może mieć różną długość.
Wykres każdego z wydzielonych sygnałów, pozbawionych zbędnej ciszy znajdującej
się na początku i na końcu nagrania można obejrzeć w tej części systemu, zarówno przed, jak
i po wstępnej filtracji.
Jeśli pojedynczy sygnał audio zawiera kilka wypowiedzi, oddzielonych wyraźną ciszą,
co jest wymagane w systemie, wówczas każda z wypowiedzi zapisywana jest jako oddzielna
wypowiedź. Konieczne jest jeszcze odpowiednie opisanie tej wprowadzanej wypowiedzi
audio tak, aby wiadomo było, co oznaczają poszczególne słowa. Dotyczy to oczywiście tylko
etapu ekstrakcji cech audio w procesie uczenia. Dodatkowo, dla każdej z wydzielonych
wypowiedzi oznaczane są kluczowe ramki, będące początkiem i końcem właściwego
nagrania. Na podstawie tych kluczowych ramek następuje synchronizacja charakterystyk
audio i wideo mowy, czyli usunięcie symboli obserwacji odpowiadających ramkom wideo
mowy, zawierającym ciszę w wypowiedzi wideo. W ten sposób następuje wydzielenie
właściwego sygnału wideo mowy.
Po utworzeniu wektorów obserwacji audio mowy i zmodyfikowaniu zawartości
wektorów wideo mowy, system realizuje integrację charakterystyk obu sygnałów. W
zależności od wybranego rodzaju fuzji, budowany jest jeden wspólny wektor obserwacji dla
audio i wideo mowy, lub łączone są w parę oddzielne wektory obserwacji obu sygnałów.
Taka para wektorów opisująca tę samą wypowiedź wprowadzana jest w dalszej części pracy
114
systemu do modeli UMM, jako dane uczące, lub rozpoznawalne. Sposób fuzji należy ustalić
przed uruchomieniem systemu AVM_PL.
Widok okna programu do ekstrakcji cech audio, synchronizacji i fuzji z wideo mową
pokazano na Rys.6.4.
Rys.6.4 Widok okna programu do ekstrakcji cech audio, synchronizacji i fuzji z wideo mową
Po utworzeniu wektorów obserwacji audio mowy, synchronizacji i fuzji z wektorami
obserwacji wideo mowy, kolejny etap realizuje uczenie modeli UMM na podstawie danych
wejściowych.
Po wywołaniu aplikacji uczenia, w pierwszym kroku następuje wydzielenie
parametrów uczenia na podstawie danych wejściowych oraz zdefiniowanych w programie
danych dotyczących budowy UMM. Określone zostają takie parametry, jak:
• liczba stanów, jakie może przyjmować model, a co za tym idzie, rozmiar parametrów
modelu,
• liczba dyskretnych wyjść, jakie może generować model będący w danym stanie,
• długość wektorów obserwacji, która może być różna dla różnych powtórzeń tej samej
wypowiedzi,
• liczba kolejnych sekwencji obserwacji, czyli liczba wypowiedzi podawanych na
wejście.
115
Wszystkie te parametry potrzebne są do zdefiniowania całego środowiska uczenia
modeli UMM. Wartości parametrów modeli UMM początkowo generowane są losowo.
Liczba modeli w procesie uczenia odpowiada założeniom dotyczącym sposobu fuzji audio i
wideo charakterystyk. W zasadzie podczas pojedynczego uczenia tworzony jest jeden model
UMM dla danej wypowiedzi, uczony w oparciu o wektory obserwacji audio i wideo mowy,
kilku jej powtórzeń. Tylko w przypadku, gdy fuzja następuje po procesie uczenia, budowane i
uczone są dwa oddzielne modele dla sygnałów audio i wideo.
Przyjęto maksymalną liczbę iteracji równą 200, ale w zasadzie proces uczenia trwa o
wiele krócej. Jest wstrzymywany, jeśli różnica wyników logarytmów prawdopodobieństw
sekwencji obserwacji przez model w dwóch sąsiednich krokach jest mniejsza od przyjętego
progu zatrzymania. Zdarza się, że uczenie trwa zaledwie kilkanaście iteracji. Proces uczenia
na bieżąco można śledzić. Wyświetlana jest w wierszu pleceń każda iteracja z wynikiem
uzyskanego logarytmu prawdopodobieństwa. Proces uczenia można powtórzyć, jeśli
użytkownik stwierdzi, że uzyskany wynik nie jest wystarczający i mógłby wpłynąć
negatywnie na proces rozpoznawania.
Po zakończeniu uczenia następuje zapis do pliku nauczonych parametrów modelu
UMM. Każdy z utworzonych i nauczonych modeli przechowywany jest w osobnym pliku o
nazwie odpowiadającej treści wypowiedzi, na której parametry modelu UMM były uczone.
Widok okna programu do ekstrakcji parametrów, budowy i uczenia modeli UMM
pokazano na Rys.6.5.
Rys.6.5 Widok okna programu do ekstrakcji parametrów, budowy i uczenia modeli UMM
116
W przypadku, gdy po nauczeniu systemu wszystkich komend dla danego
użytkownika, któraś z wypowiedzi jest błędnie rozpoznawana, można powtórzyć uczenie dla
tej wypowiedzi. Cały proces uczenia polega na stopniowym rozbudowywaniu bazy
nauczonych słów, a co za tym idzie, bazy modeli. W systemie możliwe jest dodawanie oraz
odejmowanie nowych komend bez konieczności douczania lub modyfikacji parametrów
pozostałych modeli UMM.
W procesie rozpoznawania cały przebieg budowy wektorów obserwacji audio i wideo
mowy jest taki sam, jak w procesie uczenia. Oczywiście w przypadku rozpoznawania na
wejście podawane są wektory obserwacji tylko jednej wypowiedzi, bez jej powtórzeń.
Po wywołaniu aplikacji testowania, w pierwszym kroku następuje wydzielenie
parametrów testowania na podstawie danych wejściowych. Liczba stanów oraz liczba
dyskretnych wyjść musi odpowiadać wartościom ustalonym w procesie uczenia.
Testowanie polega na sprawdzeniu wszystkich utworzonych w procesie uczenia
modeli. Dla każdego modelu wyliczane jest prawdopodobieństwo wygenerowania podanej na
wejście sekwencji obserwacji przez ten model. Model o największym prawdopodobieństwie
przyjmuje się jako zwycięski.
Na podstawie transkrypcji gramatycznej zwycięskiego modelu następuje wypisanie
wartości tekstowej rozpoznawanej wypowiedzi. Jeśli na wejście podano ciąg różnych
wypowiedzi, wówczas analizowana jest oddzielnie każda z wypowiedzi, a wynikiem jest
wyświetlenie ciągu tekstowego rozpoznanych wypowiedzi.
W systemie zastosowano możliwość podglądu prawdopodobieństw wygenerowania
wejściowej sekwencji obserwacji przez wszystkie modele. Umożliwia to sprawdzenie
rozróżnialności danej wypowiedzi. Można zaobserwować zbliżone prawdopodobieństwo
wygenerowane przez modele uczone na wypowiedziach o podobnym brzmieniu do
rozpoznawanej wypowiedzi.
Jeśli na wejście poda się słowo, dla którego system nie został nauczony, wówczas
wynikiem rozpoznania będzie słowo o podobnym brzmieniu, na którym system był uczony.
Jest to oczywiście błędne rozpoznanie. Aby zapobiec takiej sytuacji wprowadzono wartość
progową określającą, kiedy prawdopodobieństwo wygenerowania sekwencji obserwacji
można uznać za właściwe. Wartość prawdopodobieństwa dla właściwego modelu jest
znacznie większa od wartości prawdopodobieństwa pozostałych modeli.
Na Rys.6.6 pokazano okno programu realizującego rozpoznawanie wejściowych
wypowiedzi audio i wideo mowy. Wynikiem rozpoznawania jest rozpoznane słowo.
117
Rys.6.6 Widok okna programu realizującego rozpoznawanie
System AVM_PL umożliwia także identyfikację użytkowników. Na podstawie słów w
całości pokrywających przestrzeń akustyczną każdego z nich budowana jest wspólna
sekwencja wypowiedzi, potrzebna do utworzenia książki kodowej. W procesie uczenia każdy
z użytkowników wypowiada po kilka powtórzeń tej samej wypowiedzi. Treść wypowiedzi dla
wszystkich użytkowników jest taka sama. Podczas nagrywania w transkrypcji gramatycznej
zamiast wartości tekstowej wypowiedzi podawany jest unikalny identyfikator użytkownika.
W procesie uczenia dla każdego użytkownika budowany jest oddzielny model UMM. W
procesie identyfikacji następuje wyznaczenie identyfikatora użytkownika o charakterystyce
mowy najbardziej zbliżonej do mowy podanej na wejście.
Budowa książki kodowej
Proces tworzenia książki kodowej realizowany jest każdorazowo, dla nowego użytkownika
systemu. Jest on częścią systemu AVM_PL, wywoływany z linii poleceń systemu Matlab.
Książkę kodową należy utworzyć przed rozpoczęciem pracy z systemem AVM_PL.
Poszczególne etapy tworzenia książki kodowej omówiono w rozdziale 3. Sposób analizy
sygnału audio mowy jest podobny do analizy w procesie tworzenia wektorów obserwacji
będących danymi wejściowymi podczas uczenia i rozpoznawania. Jedyna różnica polega na
tym, że przy tworzeniu książki kodowej podawany na wejście jest zestaw słów
pokrywających w całości przestrzeń akustyczną użytkownika dla określonego zadania. Do
badań zastosowany następujący zestaw słów: kropka, wyloguj, przecinek, wytnij, pięć, cofnij,
118
wyczyść, wyszukaj, drukuj, zamień, uruchom, pogrubienie, cudzysłów, kąt, drzwi, dźwig,
źrebak. Zestaw słów stanowi sekwencję tych wypowiedzi, oddzielonych wyraźną ciszą.
Zawiera on wszystkie 37 fonemów języka polskiego.
Na Rys.6.7 pokazano widok zestawu słów zastosowanych w procesie tworzenia
książki kodowej danego użytkownika, dla audio mowy.
Rys.6.7 Widok zestawu słów zastosowanych do budowy książki kodowej
Cały zestaw słów traktowany jest jak jedna wypowiedź. Nie stosuje się tutaj
wydzielania właściwych słów, poprzez usunięcie ciszy, gdyż również dla ciszy przydzielany
jest pewien symbol książki kodowej. Dla całego zestawu wypowiedzi tworzona jest książka
kodowa pokrywająca w całości przestrzeń akustyczną danego użytkownika. Wejście stanowi
sekwencja wektorów współczynników cepstrum, każdej z zakodowanych ramek.
Dla tego samego zestawy słów tworzona jest książka kodowa wideo mowy. W tym
przypadku wejście stanowi sekwencja wektorów zawierających stosunki odległości od
prostej, wyznaczonej przez kąciki ust, każdego z punktów charakterystycznych
wyznaczonych na zewnętrznych krawędziach ust, do odległości pomiędzy kącikami ust.
Każdy z wektorów charakteryzuje oddzielną ramkę wideo mowy.
Widok przestrzeni akustycznej audio mowy, utworzonej książki kodowej dla danego
użytkownika w oparciu o zestaw słów kodowych audio mowy pokazano na Rys.6.8, zaś
widok przestrzeni wideo mowy, utworzonej książki kodowej w oparciu o ten sam zestaw słów
kodowych wideo mowy pokazano na Rys.6.9.
119
Rys.6.8 Widok przestrzeni akustycznej audio mowy współczynników książki kodowej (37 symboli)
Rys.6.9 Widok przestrzeni wideo mowy współczynników książki kodowej (37 symboli)
6.2. Ekstrakcja charakterystyk sygnałów audio-wideo mowy
Ekstrakcja charakterystyk audio mowy
Proces ekstrakcji charakterystyk audio mowy rozpoczyna się od nagrania kilku różnych
powtórzeń tej samej wypowiedzi w przypadku uczenia systemu, a także pojedynczej
wypowiedzi w przypadku rozpoznawania.
Każdą z nagranych wypowiedzi poddano analizie audio mowy opisanej szczegółowo
w rozdziale 3. Ekstrakcja wymaganych charakterystyk polega na utworzeniu wektora
120
obserwacji, będącego sekwencją obserwacji wygenerowanych w kolejnych chwilach
czasowych. Taki sposób zakodowania wejściowej wypowiedzi audio jest konieczny dla
zastosowanego aparatu stochastycznego, wykorzystującego modele UMM.
W celu dokładniejszego wytłumaczenia zasady działania analizy audio wykorzystanej
w zbudowanym systemie AVM_PL, budowę wektorów obserwacji zaprezentowano dla
przykładowych trzech różnych wypowiedzi: katalog, sześć i nagrywanie. Dodatkowo każdą
wypowiedź powtórzono po kilka razy.
W pierwszym kroku system dokonuje wstępnej filtracji dolnoprzepustowej, z
zastosowaniem odpowiedniej funkcji transmitancji. Jako funkcję transmitancji zastosowano
okno Kaisera z pasmem przejścia dla częstotliwości od 0 do 1000 Hz oraz pasmem
zaporowym dla częstotliwości powyżej 2000 Hz.
Po wstępnej filtracji zapobiegającej zjawisku nakładania się widm, wykonywane jest
wydzielanie właściwego sygnału, poprzez usunięcie ciszy sprzed i spoza nagrania. System
realizuje wydzielanie w oparciu o algorytmy bazujące na energii sygnału oraz na częstości
zmian stanów sygnału dla określonego odcinka czasowego i częstotliwości próbkowania.
Na Rys.6.10 – 6.12 pokazano wynik działania etapu wydzielania właściwego sygnału
dla przykładowych wypowiedzi.
Rys.6.10 Widok trzech różnych wypowiedzi słowa katalog przed i po wydzielaniu właściwego sygnału
121
Rys.6.11 Widok trzech różnych wypowiedzi słowa sześć przed i po wydzielaniu właściwego sygnału
Rys. 6.12. Widok trzech różnych wypowiedzi słowa nagrywanie przed i po wydzielaniu właściwego sygnału
122
W kolejnym etapie procesy analizy audio mowy system AVM_PL realizuje podział
wejściowego sygnału na stacjonarne ramki o długości 30 ms każda, co przy częstotliwości
próbkowania 8000 Hz daje długość ramki równą 240 próbek. Każda kolejna ramka nakładana
jest na poprzednią z opóźnieniem 10 ms (80 próbek). Takiej kwantyzacji sygnału dokonano w
celu zachowania stacjonarności i poprawnej ciągłości w procesie analizy dynamicznego
sygnału.
Każda ramka w dalszej części podlega filtracji z wykorzystaniem banku 21 filtrów o
szerokości 300 meli, przesuniętych względem siebie o 150 meli wzdłuż osi częstotliwości
zgonie ze skalą mel. Uzyskane współczynniki banku filtrów poddano procesowi analizy
cepstralnej. Każdą przefiltrowaną ramkę zakodowano przy pomocy 20 współczynników
cepstrum.
Widok wyznaczonych współczynników cepstrum dla każdej z ramek przykładowych
wypowiedzi pokazano na Rys.6.13 – 6.15.
Rys.6.13 Widok zakodowanej każdej ramki słowa katalog z uwzględnieniem 20 współczynników cepstrum
123
Rys.6.14 Widok zakodowanej każdej ramki słowa sześć z uwzględnieniem 20 współczynników cepstrum
Rys.6.15 Widok zakodowanej każdej ramki słowa nagrywanie z uwzględnieniem 20 współczynników cepstrum
124
Zakodowane przy pomocy współczynników cepstrum słowa w kolejnym kroku
poddano kwantyzacji wektorowej z wykorzystaniem utworzonej wcześniej książki kodowej,
dla danego użytkownika. Jako miarę odległości w systemie zastosowano metrykę „uliczną” –
wzór – 3.34. Dla każdej zakodowanej ramki przydzielono symbol obszaru najbliższego tej
ramce w przestrzeni akustycznej danego użytkownika. W ten sposób w procesie analizy audio
mowy utworzono wymagane w systemie wektory obserwacji.
Wyznaczone wektory obserwacji dla przykładowych nagrań pokazano w Tab.6.1.
Tab.6.1 Wektory obserwacji wyznaczone dla przykładowych nagrań audio mowy
Słowo Wektory obserwacji audio
Katalog 1 21 34 23 23 23 23 23 23 23 23 13 13 23 11 11 11 21 23 23 23 23 23 23 23 23 23 23 23 23 19 19 6 6 9 6 19 19 19 19 19 19 6 6 6 6 6 17 17 31 31 31 31 15 31 15 15 15 33 7 7 7 7 7 7 7 5
Katalog 2 21 21 23 23 23 23 23 23 23 23 23 23 23 13 13 13 11 21 23 23 23 23 23 23 23 23 23 23 23 23 17 17 7 9 19 19 19 19 19 6 6 6 6 6 17 31 14 31 31 15 31 31 9 5 5 7 5 5 5 2
Katalog 3 21 23 23 23 23 23 23 23 23 23 23 23 13 13 13 13 13 23 23 23 23 23 23 23 23 23 23 23 23 7 19 17 7 7 19 19 19 19 19 19 19 6 6 9 31 31 31 31 31 31 15 33 5 5 7 7 7 7 5 15
Katalog 4 34 23 23 23 23 23 23 23 23 23 13 13 13 23 13 21 23 23 23 23 23 23 23 23 23 23 23 23 23 23 17 17 7 19 19 19 19 19 19 6 6 6 17 31 31 31 31 31 31 15 31 33 5 5 7 7 7 7 7 5
Sześć 1 26 26 26 26 26 26 26 26 36 26 26 26 26 34 34 23 23 23 23 32 32 32 32 32 32 32 32 27 8 8 20 26 26 26 26 26 26 26 26 26 26 26 26 36 26 26 20 37 20 37 37 20 26 26 26 26 26 26 26 26 26 26 26
Sześć 2 26 26 26 26 26 26 26 26 26 26 26 26 20 34 34 23 23 23 23 23 32 32 32 32 32 32 32 32 27 8 8 36 26 26 26 26 26 26 26 26 26 26 26 26 26 26 20 37 37 37 37 20 26 26 26 26 26 26 26 26 26 26 36
Sześć 3 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 34 34 23 23 23 23 23 23 23 32 32 32 32 32 32 32 27 8 8 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 36 37 20 20 20 26 26 26 26 26 26 26 26 26 26 26
Sześć 4 26 26 26 26 26 26 26 26 26 26 26 26 26 26 34 34 23 23 32 23 23 32 32 32 32 32 32 32 32 27 8 36 26 26 26 26 26 26 26 26 26 26 26 26 26 26 20 36 37 37 26 26 26 26 26 26 26 26 26 26 26 26
Nagrywanie 1 15 5 5 5 5 5 5 23 23 23 23 23 23 23 32 34 33 33 5 31 27 27 27 34 27 27 27 27 27 27 27 7 7 5 18 15 24 19 23 23 23 23 23 23 23 23 23 23 32 17 33 33 33 18 30 30 35 35 8 8 8 8 32 32 32 32 32 32 34 25 25 25 25 25 25 29 29 25
Nagrywanie 2 15 5 5 5 18 18 18 23 23 23 23 23 23 23 23 23 32 34 17 33 33 27 27 27 34 7 27 27 27 27 27 27 27 34 34 18 18 3 10 24 19 23 23 23 23 23 23 23 23 23 23 23 23 34 33 33 18 33 18 30 30 22 22 22 8 8 32 32 32 32 32 32 32 34 25 25 25 25 28 25 28 29 29 29
Nagrywanie 3 5 5 5 7 5 5 7 23 23 23 23 23 23 23 23 23 32 34 33 5 5 7 27 27 7 34 27 27 27 27 27 27 27 34 7 33 5 5 15 5 24 24 19 23 23 23 23 23 23 23 23 23 23 23 32 33 33 33 33 33 30 30 30 30 35 22 8 8 8 32 32 32 8 32 32 32 25 25 25 25 25 12 12 12 12 28
Nagrywanie 4 15 5 5 5 7 5 34 23 23 23 23 23 23 23 23 32 32 33 5 5 33 7 27 27 34 34 34 27 27 27 27 27 27 27 27 34 7 33 5 5 5 18 5 24 19 23 23 23 23 23 23 23 23 23 23 32 32 33 33 5 18 18 30 30 30 30 35 35 8 8 8 32 32 32 32 32 32 32 25
Wektory obserwacji utworzono w oparciu o książkę kodową o rozmiarze 37 symboli
obserwacji. Mogłoby się wydawać, że taka liczba kodów dla audio mowy jest wystarczająca,
gdyż właśnie tyle jest fonemów w języku polskim. Jednak brakuje odpowiedników dla ramek
znajdujących się w chwili przejścia między dwoma sąsiednimi fonemami. Można zauważyć,
125
że dla wypowiedzi „sześć”, fonem „sz”, „ś” i „ć” mają kod 26. Podobnie jest z fonemami „a”
oraz „e” mającymi kod 23. Jest to spowodowane zbyt małą liczbą kodów. Dla dużej liczby
słów w słowniku systemu należy użyć większego rozmiaru książki kodowej, jednak w pracy
przebadano tylko 70 komend sterowania systemem operacyjnym, dlatego 37 kodów w książce
kodowej jest wystarczające do zakodowania i rozróżnienia poszczególnych słów.
Ekstrakcja charakterystyk wideo mowy
Proces ekstrakcji charakterystyk wideo mowy, podobnie jak w przypadku audio mowy
rozpoczyna się od nagrania kilku różnych powtórzeń tej samej wypowiedzi w przypadku
uczenia systemu, a także pojedynczej wypowiedzi w przypadku rozpoznawania.
Każdą z nagranych wypowiedzi poddano analizie wideo mowy opisanej szczegółowo
w rozdziale 5. Ekstrakcja wymaganych charakterystyk polega na utworzeniu wektora
obserwacji, będącego sekwencją obserwacji wygenerowanych w kolejnych chwilach
czasowych, w tym przypadku w kolejnych ramkach nagrania wideo.
Aby dokładniej wytłumaczyć zasadę działania analizy wideo mowy, wykorzystanej
zbudowanym systemie AVM_PL, budowę wektorów obserwacji zaprezentowano dla tych
samych, co w ekstrakcji charakterystyk audio, przykładowych trzech różnych wypowiedzi:
„katalog”, „nagrywanie” oraz „sześć”, tego samego użytkownika. Dodatkowo każdą
wypowiedź również powtórzono po kilka razy.
Proces analizy wideo mowy rozpoczyna się od zlokalizowania twarzy użytkownika,
jego oczu, a następnie wyznaczeniu regionu zawierającego usta, dla każdej ramki filmu
wideo. Właściwa analiza wideo mowy realizowana jest w na podstawie ciągłego śledzenia
położenia kącików ust, zewnętrznych krawędzi ust oraz ułożenia języka osoby w
zarejestrowanej wypowiedzi wideo.
W systemie AVM_PL proces trekingu ust można obserwować na bieżąco dla każdej
ramki. Jest to o tyle ważne, że skoro system ma działać poprawnie, to wymagane jest, aby
punkty charakterystyczne, określające zewnętrzne krawędzie ust, były zlokalizowane
prawidłowo. Etap lokalizacji krawędzi ust poprzedzony jest kalibracją, która modyfikowana
jest tylko przy rozpoczęciu pracy z systemem, później można ją pominąć, gdyż raz ustawione
wartości progowe wystarczają do dalszej pracy tego samego użytkownika z systemem.
Rezultat wyznaczenia metodą CSM punktów, określających kąciki i zewnętrzne
krawędzie ust dla przykładowych wypowiedzi tego samego użytkownika pokazano na
Rys.6.16 – 6.18. Ramki ułożone są w kolejności od lewej, do prawej strony w każdym
rzędzie.
126
Rys.6.16 Widok sekwencji kolejnych ramek wideo wypowiedzi katalog ze zlokalizowanymi krawędziami ust
Rys.6.17 Widok sekwencji kolejnych ramek wideo wypowiedzi sześć ze zlokalizowanymi krawędziami ust
127
Rys.6.18 Widok sekwencji ramek wideo wypowiedzi nagrywanie ze zlokalizowanymi krawędziami ust
Na podstawie zlokalizowanych kącików ust, oraz punktów charakterystycznych
wyznaczających zewnętrzne krawędzie ust, w kolejnym etapie procesu analizy wideo mowy,
dla każdej ramki tworzony jest wektor określający położenie każdego z punktów. W systemie
AVM_PL ust reprezentowane są przez 16 punktów.
W systemie możliwy jest dwojaki sposób kodowania każdej z ramek. Pierwszy polega
na przydzieleniu dla każdej ramki kodu, opisującego obszar, do którego najbardziej jest
podobny wektor opisujący. Uzyskany w ten sposób wektor sekwencji obserwacji zawiera
kody o wartościach odpowiadających rozmiarowi książki kodowej. W drugim ze sposobów
dla każdej ramki, na podstawie położenia wszystkich 16 punktów wyznacza się wypadkową
wartość kodu, bez konieczności korzystania z książki kodowej.
Na Rys.6.19 – 6.21 pokazano wektory położeń każdego z punktów charaktery-
stycznych ust dla wszystkich ramek wypowiedzi w procesie trekingu ust.
128
Rys.6.19 Widok wektorów wyznaczonych dla czterech powtórzeń wideo mowy słowa katalog
Rys.6.20 Widok wektorów wyznaczonych dla czterech powtórzeń wideo mowy słowa sześć
129
Rys.6.21 Widok wektorów wyznaczonych dla czterech powtórzeń wideo mowy słowa nagrywanie
Proces kodowania wideo mowy kończy się utworzeniem wektorów obserwacji. Dla
pojedynczej wypowiedzi tworzony jest jeden wektor obserwacji. Długość wektorów
obserwacji powtórzeń tej samej wypowiedzi w zasadzie zawsze jest różna. Spowodowane jest
to różnym sposobem wypowiadania przez użytkownika (wolno, szybko). Zasada działania
systemu AVM_PL jest taka, że ma on rozpoznawać wypowiedzi poprawnie, bez względu na
prędkość ich wypowiadania. W systemie zastosowano podejście polegające na celowo
zróżnicowanej szybkości wypowiadania komend w procesie uczenia. Takie podejście
pozwala na zachowanie większej elastyczności systemu dla danego użytkownika.
Ponieważ w celu ograniczenia czasu trwania operacji analizy wideo założono, że
wideo mowę powinno się nagrywać z częstotliwością minimalną, a jednocześnie pozwalającą
na rzeczywiste odzwierciedlenie ruchu ust użytkownika. Przyjęto, że taką wystarczającą
częstotliwością jest nagrywanie 15 klatek/s. Na podstawie Rys.6.12 – 6.14 oraz 6.18 - 6.20
można zauważyć, że liczba ramek wideo mowy jest znacznie mniejsza od liczby ramek audio
mowy, oczywiście dla tej samej wypowiedzi. Spowodowane jest to między innymi tym, że w
audio mowie zastosowano zjawisko nakładania się kolejnych ramek, zwiększając ten sposób
sztucznie ich liczba. Łatwo można policzyć różnicę w liczbie ramek audio i wideo mowy. Dla
130
nagrania o czasie trwania 1 s., w przypadku audio mowy z częstotliwością próbkowania 8000
Hz, w zbudowanym systemie uzyskuje się niepełne 34 nie nakładające się ramki oraz
niepełne 50 nakładających się ramek z opóźnieniem 10 s. Dla tego samego nagrania w
przypadku wideo mowy uzyskuje się 15 ramek, czyli ponad trzy razy mniej niż dla audio
mowy. Ponieważ jest to system w głównej mierze opierający się na sygnałach audio, dlatego
takie rozwiązanie można przyjąć jako właściwe. Jednak bardziej logiczne jest zwiększenie
częstotliwości nagrywania obrazu wideo do 25 klatek/s. Zbudowany system AVM_PL
automatycznie przestawia się na odpowiednią częstotliwość nagrywania obrazu wideo,
pozwalając na eksperymenty i dobór optymalnych parametrów wideo mowy dla określonego
użytkownika.
Na podstawie wyznaczonych wektorów współczynników położenia każdego z
punktów charakterystycznych ust system dokonuje kwantyzacji wektorowej. Początkowo
wektory utworzone w systemie zawierają obserwacje odpowiadające również ciszy, lub
ramkom ust nie wypowiadających żadnych fonemów, a wykonujących zbędne ruchy. Takie
wektory obserwacji wprowadzane są do etapu realizującego synchronizację oraz fuzję z
wektorami obserwacji audio mowy. Dopiero na podstawie kluczowych ramek audio mowy
następuje synchronizacja, a co za tym idzie, usunięcie zbędnych ramek wideo.
Jeśli system miałby dokonywać usunięcia zbędnych ramek na podstawie wideo mowy,
wówczas konieczne by było, aby użytkownik miał zamknięte usta przed oraz po właściwej
wypowiedzi. Problem pojawiłby się wtedy, gdy dana wypowiedź zaczynałaby się, bądź też
kończyła fonemem, dla którego układ ust przypominałby zamknięte usta. Wydaje się, że nie
jest możliwe takie rozwiązanie pozbycia się zbędnych ramek.
Wektory obserwacji uzyskane podczas kwantyzacji dla przykładowych wideo
wypowiedzi zamieszczono w Tab.6.2 oraz 6.3. Wektory te pozbawiono już zbędnych ramek.
Tab.6.2 Wektory obserwacji wyznaczone dla przykładowych nagrań wideo mowy z wykorzystaniem książki
kodowej Słowo Wektory obserwacji wideo
Katalog 1 25 29 29 25 17 21 25 25 25 25 29 37 33 33 29 17 21 21 21 21 17 17 13 Katalog 2 25 25 25 21 17 21 25 25 25 29 29 33 29 21 21 21 17 17 13 13 Katalog 3 25 29 25 21 21 21 25 25 25 25 25 29 25 21 21 17 21 21 13 13 Katalog 4 24 25 25 25 21 21 25 25 25 25 29 29 29 25 25 21 17 21 17 13 13 Sześć 1 23 21 21 25 29 29 25 25 21 25 25 25 21 21 21 21 21 21 21 21 21 Sześć 2 23 25 21 21 21 29 25 21 21 21 17 21 21 21 21 25 25 25 21 25 21 Sześć 3 25 21 21 25 21 25 29 29 29 25 25 21 25 21 21 21 25 17 21 21 21 21 Sześć 4 23 21 21 21 25 25 21 25 25 21 17 21 21 21 21 21 21 21 21 21 21 Nagrywanie 1 21 29 25 17 13 17 13 13 9 9 21 25 25 21 21 21 25 25 25 25 17 9 Nagrywanie 2 21 21 25 25 25 21 17 17 21 17 13 13 17 29 29 25 21 21 25 29 29 25 21 17 13 9 Nagrywanie 3 21 21 17 25 25 25 17 13 17 13 13 9 9 13 29 25 25 21 17 21 25 25 21 21 13 9 Nagrywanie 4 21 17 17 25 25 21 17 17 17 17 17 13 13 13 17 25 25 21 21 21 25 25 25 21 17 13 9
131
Tab.6.3 Wektory obserwacji wyznaczone dla przykładowych nagrań wideo mowy bez wykorzystania książki kodowej
Słowo Wektory obserwacji wideo Katalog 1 33 40 36 33 30 25 33 35 33 33 43 49 48 43 36 25 31 27 29 29 22 20 20 Katalog 2 34 32 34 30 28 29 33 35 33 39 43 43 39 31 24 26 25 21 21 20 Katalog 3 35 39 37 35 28 32 33 37 33 35 38 40 43 30 27 27 26 23 24 20 Katalog 4 33 34 34 33 30 28 35 33 33 33 35 40 43 34 31 25 28 24 29 23 21 Sześć 1 31 28 28 30 32 36 32 30 26 26 33 33 30 29 28 27 29 29 28 31 30 Sześć 2 31 33 29 33 28 31 31 30 26 26 26 27 29 30 30 32 32 32 32 31 29 29 Sześć 3 30 33 33 30 32 30 36 35 35 32 26 27 30 27 28 28 28 29 27 28 29 29 Sześć 4 31 30 28 30 33 33 32 31 34 27 26 30 29 29 28 26 29 29 30 30 28 Nagrywanie 1 27 32 29 23 20 20 21 17 15 15 29 33 32 23 27 30 33 34 33 32 20 18 Nagrywanie 2 27 26 31 34 32 27 21 21 26 21 18 18 23 37 36 34 27 28 32 37 38 34 28 22 18 Nagrywanie 3 26 26 23 35 35 32 24 19 22 20 18 15 15 18 34 35 33 27 25 29 33 33 30 27 18 Nagrywanie 4 27 23 35 34 26 22 23 22 23 21 17 16 16 24 34 33 31 26 28 31 34 33 30 24 16
6.3. Fuzja charakterystyk audio-wideo mowy
Sposób fuzji charakterystyk audio i wideo mowy, przedstawionych w postaci wektorów
obserwacji, zrealizowano na trzy różne sposoby. Każda z metod wymaga wcześniejszej
synchronizacji, polegającej na wyznaczeniu pierwszej i ostatniej ramki wypowiedzi wideo, na
podstawie pierwszej i ostatniej ramki wypowiedzi audio, wydzielających właściwy,
pozbawiony zbędnej ciszy sygnał.
W pierwszej zaproponowanej metodzie Sr fuzji charakterystyk wejściowych sygnałów
zastosowano podejście synchroniczne, polegające na wyznaczeniu wektora wypadkowych
obserwacji, z wektorów obserwacji obu wejściowych sygnałów danej wypowiedzi. Przyjęto,
że głównym sygnałem jest sygnał audio, dlatego rozmiar wypadkowego wektora obserwacji
odpowiadał rozmiarowi wektora audio obserwacji.
Sygnał audio o częstotliwości próbkowania 8000 Hz kodowano na postawie książki
kodowej złożonej z 37 symboli obserwacji. Sygnał wideo o częstotliwości nagrywania 25
klatek/s kodowano za pomocą 10 symboli, zakładając ograniczoną liczbę różnych fonemów
wideo mowy. Takie założenia przyjęto ze względu na konieczność ograniczenia rozmiaru
wypadkowego wektora obserwacji, gdyż na podstawie tegoż rozmiaru, definiowany jest
rozmiar parametru B modelu UMM, określającego prawdopodobieństwo wygenerowania
określonej obserwacji przez model będący w danym stanie.
Dla założonych parametrów nagrywania sygnałów przyjęto, że na dwie obserwacje
audio mowy przypada jedna obserwacja wideo mowy. Aby zachować synchronizację, wektor
obserwacji wideo mowy zwiększono dwukrotnie, tworząc dla każdej obserwacji jej kopię,
zachowując odpowiednią kolejność. W przypadku, gdy oba wektory obserwacji różniły się
132
długością, sztucznie dopasowywano wektor obserwacji wideo mowy do wektora obserwacji
audio mowy.
W takim sposobie fuzji charakterystyk uzyskano wypadkowy wektor obserwacji
zawierający symbole obserwacji o wartościach odpowiadających wszystkim możliwym
kombinacjom wartości kodów przyjętych dla sygnałów audio i wideo (od 1 do 370).
Wypadkowe wektory obserwacji dla przypadkowych wypowiedzi przedstawiono w Tab.6.4.
Tab.6.4 Wypadkowe wektory obserwacji, będące kombinacją wektorów audio i wideo
Słowo Wypadkowe wektory obserwacji
Katalog 1 208 338 228 228 228 228 227 227 227 226 126 126 225 105 105 107 207 227 227 227 227 227 227 227 227 227 227 229 229 189 190 60 60 90 60 190 189 189 189 188 188 58 55 55 55 57 167 167 306 306 306 306 146 306 146 146 146 325 65 65 64 64 64 7 7 5
Katalog 2 207 207 227 227 227 227 226 226 226 226 226 226 226 126 126 127 107 207 227 227 227 227 227 227 228 228 228 229 229 229 169 169 69 88 188 188 187 187 187 55 55 55 56 56 166 305 135 305 305 145 305 305 85 45 46 66 46 45 45 145
Katalog 3 208 228 228 228 228 228 227 227 227 226 226 226 127 127 127 127 127 227 228 228 228 227 227 227 227 227 227 228 228 68 188 168 68 68 188 188 186 186 186 186 186 56 56 86 306 306 306 306 305 305 145 325 45 45 66 66 66 65 45 145
Katalog 4 337 227 227 227 227 227 227 227 227 226 126 126 126 226 126 207 227 227 227 227 227 227 227 227 227 227 227 227 227 227 168 168 68 188 188 188 187 187 187 57 57 57 165 305 305 306 306 306 305 145 305 326 46 46 65 65 65 65 65 45
Sześć 1 256 256 256 257 257 257 257 257 357 257 257 257 257 337 337 226 226 226 227 317 317 316 316 316 316 316 316 266 76 76 197 257 257 256 256 256 256 256 256 256 256 256 257 357 257 256 196 366 196 366 366 196 256 256 256 256 256 26 26 26 26 26 26
Sześć 2
257 257 257 256 256 256 256 256 256 256 256 256 198 338 338 227 227 227 226 226 316 316 316 316 315 315 315 315 265 75 76 356 256 256 256 256 256 256 256 256 256 256 257 257 257 257 197 367 366 366 366 197 257 257 257 257 257 256 256 256 26 26 36
Sześć 3
257 257 257 256 256 256 256 256 256 257 257 257 256 256 256 337 337 227 228 228 228 227 227 227 317 317 317 316 316 316 315 265 75 77 257 257 256 256 256 256 256 256 256 256 256 256 256 256 256 356 366 196 196 196 256 256 256 256 256 256 26 26 26 26 26
Sześć 4
256 256 256 256 256 256 256 256 256 256 256 256 257 257 337 337 227 227 317 227 227 317 317 317 316 316 316 316 316 266 76 356 256 256 256 256 256 256 256 256 256 256 256 256 256 256 196 356 366 366 256 256 256 256 256 256 256 256 256 256 26 26
Nagrywanie 1
146 46 46 47 47 47 46 226 226 225 225 225 224 224 314 334 324 324 44 304 264 264 264 334 263 263 263 263 263 263 266 66 66 47 177 147 237 187 227 226 226 226 226 226 226 226 226 226 317 167 327 327 327 177 297 297 347 346 76 76 74 74 314 313 313 313 32 32 34 25 25 25 25 25 25 29 29 25
Nagrywanie 2
146 46 46 46 176 176 177 227 227 227 227 227 227 227 227 226 316 336 165 325 325 265 265 265 336 66 266 265 265 265 264 264 264 334 334 174 175 245 95 238 188 228 228 228 228 227 227 227 226 226 226 226 226 336 327 327 177 328 178 298 298 218 218 217 77 77 316 316 316 315 315 315 314 334 244 243 243 243 28 25 28 29 29 29
Nagrywanie 3
46 46 46 65 45 45 67 227 227 227 227 227 227 227 227 225 315 335 324 44 44 65 265 265 64 334 264 264 264 264 263 263 263 333 63 323 44 44 144 48 238 238 187 227 227 227 227 227 226 226 226 225 225 225 316 326 326 327 327 327 297 297 297 296 346 216 76 76 76 314 314 314 73 313 313 313 243 243 25 25 25 12 12 12 12 28
Nagrywanie 4
145 45 45 45 65 45 337 227 227 227 227 227 226 226 226 315 315 325 45 45 325 65 265 265 335 335 335 265 265 265 264 264 264 264 264 334 63 323 43 45 45 175 47 237 187 228 228 228 227 227 227 226 226 226 226 316 316 327 327 47 177 177 297 297 297 297 346 346 76 75 75 315 314 314 314 313 313 313 25
133
W drugiej zaproponowanej metodzie ASr_I fuzji charakterystyk oba wektory audio i
wideo mowy podawano na wejście modelu UMM osobno, bez sztucznego zwiększania
wektora wideo mowy. Synchronizacja w tej metodzie ograniczono tylko do wyznaczenia
kluczowych ramek określających początek i koniec właściwej wypowiedzi. Ponieważ oba
wejściowe wektory obserwacji znacznie różniły się długością, dlatego w zasadzie ta metoda,
jest metodą asynchroniczną, gdyż nie ma synchronizacji wszystkich obserwacji obu
wektorów.
Specyfika tej metody odznacza się tym, iż wprowadzane osobno wektory obserwacji
audio i wideo mowy, stanowią dane uczące dla tego samego modelu UMM. Model
charakteryzujący daną wypowiedź zbudowano w ten sposób, aby był w stanie wygenerować
zarówno sekwencję audio, jak i wideo. Przykładowo, dla danej wypowiedzi, na wejście
jednego tego samego modelu UMM, podawano dwa wektory obserwacji na przemian: wektor
audio mowy i wektor wideo mowy.
W takim asynchronicznym sposobie fuzji charakterystyk audio i wideo mowy,
konieczne jest zachowanie zgodności, co do liczby symboli, na których kodowano oba
sygnały. Zarówno wektor obserwacji audio, jak i wideo muszą być kodowane na takiej samej
liczbie obserwacji, oraz tych samych wartości obserwacji, gdyż parametry modelu UMM
muszą zawierać wszystkie odpowiedniki obu sygnałów. Prawdopodobieństwo
wygenerowania sekwencji obserwacji dla danej wypowiedzi, stanowi sumę
prawdopodobieństw wygenerowania sekwencji obserwacji audio oraz wideo.
W Tab.6.5 pokazano sposób podawania sekwencji obserwacji audio i wideo mowy, na
wejście trzech różnych modeli UMM, reprezentujących przykładowe wypowiedzi.
Tab.6.5 Wektory obserwacji audio i wideo podawane na wejście modelu UMM danej wypowiedzi
Słowo Wektory obserwacji audio i wideo
Katalog 1
Audio: 21 34 23 23 23 23 23 23 23 23 13 13 23 11 11 11 21 23 23 23 23 23 23 23 23 23 23 23 23 19 19 6 6 9 6 19 19 19 19 19 19 6 6 6 6 6 17 17 31 31 31 31 15 31 15 15 15 33 7 7 7 7 7 7 7 5
Wideo: 25 29 29 25 17 21 25 25 25 25 29 37 33 33 29 17 21 21 21 21 17 17 13
Sześć 1
Audio: 26 26 26 26 26 26 26 26 36 26 26 26 26 34 34 23 23 23 23 32 32 32 32 32 32 32 32 27 8 8 20 26 26 26 26 26 26 26 26 26 26 26 26 36 26 26 20 37 20 37 37 20 26 26 26 26 26 26 26 26 26 26 26
Wideo: 31 28 28 30 32 36 32 30 26 26 33 33 30 29 28 27 29 29 28 31 30
Nagrywanie 1
Audio: 15 5 5 5 5 5 5 23 23 23 23 23 23 23 32 34 33 33 5 31 27 27 27 34 27 27 27 27 27 27 27 7 7 5 18 15 24 19 23 23 23 23 23 23 23 23 23 23 32 17 33 33 33 18 30 30 35 35 8 8 8 8 32 32 32 32 32 32 34 25 25 25 25 25 25 29 29 25
Wideo: 21 29 25 17 13 17 13 13 9 9 21 25 25 21 21 21 25 25 25 25 17 9
134
W trzeciej zaproponowanej metodzie ASr_II fuzji charakterystyk audio i wideo mowy
zastosowano podejście, polegające na utworzeniu osobnych modeli UMM dla obu wektorów
obserwacji. Każdy z modeli generował sekwencję obserwacji najbardziej prawdopodobną do
wejściowej, a fuzja charakterystyk realizowana była poprzez zsumowanie wyznaczonych
prawdopodobieństw.
W tej metodzie można stosować różne rozmiary słowników kodowych sygnałów
audio oraz wideo, a także różne wartości stosowanych kodów. Modele mogą również różnić
się liczbą przyjętych stanów. Podobnie jak poprzednia, również ta metoda jest metodą
asynchroniczną, gdyż oba wektory obserwacji danej wypowiedzi różnią się znacznie
długością i nie jest zachowana synchronizacja poszczególnych obserwacji. Konieczna jest
jedynie odpowiednia transkrypcja gramatyczna budowanych modeli UMM, w celu
zachowania poprawności sumowania prawdopodobieństw wygenerowanych dla
odpowiednich modeli.
6.4. Budowa i nauczanie parametryczne ukrytych modeli Markowa
Budowa ukrytych modeli Markowa
Etap budowy modeli UMM w systemie AVM_PL, realizowany jest automatycznie, na
podstawie zadanej liczby stanów, oraz rozmiaru słownika książki kodowej, na podstawie
której utworzono wejściowe wektory obserwacji.
Budowa modeli UMM odbywa się tyko podczas działania systemu w trybie uczenia i
polega na utworzeniu parametrów określających dany model λ = (π, A, B). W systemie
parametr π, określający początkowy rozkład stanów, charakteryzowany jest przez wektor o
rozmiarze odpowiadającym zadeklarowanej liczbie stanów q. Parametr A, określający
prawdopodobieństwo przejścia ze stanu do stanu, charakteryzowany jest przez macierz
kwadratową o liczbie wierszy i kolumn odpowiadającej zadeklarowanej liczbie stanów q.
Parametr B, określający prawdopodobieństwo, że model będący w danym stanie wygeneruje
określoną obserwację, charakteryzowany jest przez macierz o liczbie wierszy odpowiadającej
zadeklarowanej liczbie stanów q oraz o liczbie kolumn odpowiadającej rozmiarowi słownika
książki kodowej o.
W systemie założono, że dla każdej wypowiedzi budowany jest oddzielny model
UMM. Tak więc realizując rozpoznawanie słów izolowanych, uzyskuje się liczbę modeli
równą liczbie słów zawartych w bazie systemu. W przypadku rozpoznawania słów
izolowanych audio wideo mowy, gdzie zastosowano podejście polegające na budowie modeli
135
oddzielnie dla audio i wideo sygnałów, liczba modeli w systemie jest dwa razy większa od
liczby słów zawartych w bazie systemu. Oczywiście dla kolejnych powtórzeń tej samej
wypowiedzi, zbudowano tylko jeden model, reprezentujący wszystkie podawane na wejście,
celowo różne powtórzenia danej wypowiedzi. Można budować dla każdego powtórzenia tej
samej wypowiedzi oddzielne modele UMM, ale zwiększa to niepotrzebnie rozmiar bazy
modeli, a poszczególne modele nie są tak elastyczne, jak w przypadku jednego,
wypadkowego modelu.
Każdy zbudowany model system automatycznie opisuje odpowiednią transkrypcją
gramatyczną, na podstawie podanego podczas nagrywania opisu treści nagrania. Taka
transkrypcja jest potrzebna, gdyż system musi wiedzieć, pod jaką nazwą musi zapisać
parametry danego modelu, i co jaką ten modelu reprezentuje wypowiedź.
Początkowo wartości parametrów modelu UMM wyznaczane są w sposób losowy.
Następnie każdy z parametrów poddawany jest odpowiedniej normalizacji w ten sposób, aby
dla parametru π suma wszystkich wartości wynosiła 1, dla parametrów A i B suma wszystkich
wartości w wierszu wynosiła 1. Normalizacja odbywa się w systemie automatycznie, zaraz po
wygenerowaniu każdego z wierszy. Tak zbudowane parametry modelu UMM podlegają
procesowi uczenia.
Przykładowe parametry zbudowanego i przeznaczonego do uczenia modelu UMM, dla
8 stanów i 37 symboli obserwacji, pokazano w Tab.6.6 – 6.8.
Tab.6.6 Ilustracja przyjmowanych wartości parametru π przykładowego modelu UMM
Parametr ππππ q x 1 1 2 3 4 5 6 7 8
1 0.2158 0.0525 0.1378 0.1104 0.2025 0.1731 0.1037 0.0042
Tab.6.7 Ilustracja przyjmowanych wartości parametru A przykładowego modelu UMM
Parametr A q x q 1 2 3 4 5 6 7 8
1 0.1755 0.1999 0.0297 0.0951 0.1791 0.0651 0.0808 0.1748 2 0.1052 0.2170 0.0480 0.2205 0.0046 0.0449 0.2035 0.1562 3 0.1636 0.1091 0.0528 0.1239 0.1812 0.0514 0.2270 0.0909 4 0.1702 0.1921 0.1298 0.0900 0.0816 0.1466 0.1276 0.0623 5 0.2265 0.0142 0.0669 0.2079 0.2044 0.0744 0.1220 0.0838 6 0.1719 0.0822 0.0463 0.1223 0.1171 0.1262 0.2096 0.1244 7 0.0487 0.2249 0.0042 0.0560 0.1962 0.0417 0.2272 0.2011 8 0.1036 0.0025 0.1907 0.1717 0.1095 0.1782 0.1647 0.0790
136
Tab.6.8 Ilustracja przyjmowanych wartości parametru B przykładowego modelu UMM Parametr B
Kolumny od 1 do 8 q x o 1 2 3 4 5 6 7 8
1 0.0408 0.0387 0.0426 0.0138 0.0211 0.0381 0.0202 0.0214 2 0.0324 0.0546 0.0421 0.0268 0.0129 0.0389 0.0174 0.0284 3 0.0189 0.0267 0.0070 0.0033 0.0296 0.0236 0.0447 0.0109 4 0.0414 0.0519 0.0007 0.0582 0.0448 0.0335 0.0009 0.0379 5 0.0293 0.0093 0.0479 0.0312 0.0284 0.0426 0.0412 0.0172 6 0.0238 0.0525 0.0107 0.0227 0.0343 0.0032 0.0520 0.0514 7 0.0367 0.0144 0.0158 0.0273 0.0111 0.0319 0.0524 0.0384 8 0.0317 0.0129 0.0338 0.0171 0.0194 0.0026 0.0403 0.0210
Kolumny od 9 do 16 q x o 9 10 11 12 13 14 15 16
1 0.0362 0.0065 0.0013 0.0296 0.0349 0.0340 0.0133 0.0024 2 0.0153 0.0118 0.0178 0.0009 0.0395 0.0415 0.0145 0.0045 3 0.0225 0.0310 0.0007 0.0008 0.0043 0.0244 0.0442 0.0327 4 0.0550 0.0371 0.0226 0.0112 0.0268 0.0327 0.0137 0.0112 5 0.0366 0.0199 0.0366 0.0315 0.0237 0.0065 0.0432 0.0452 6 0.0114 0.0308 0.0050 0.0031 0.0189 0.0242 0.0487 0.0093 7 0.0444 0.0239 0.0019 0.0194 0.0081 0.0379 0.0123 0.0090 8 0.0321 0.0022 0.0313 0.0323 0.0345 0.0456 0.0122 0.0508
Kolumny od 17 do 24 q x o 17 18 19 20 21 22 23 24
1 0.0214 0.0223 0.0471 0.0358 0.0239 0.0145 0.0304 0.0411 2 0.0194 0.0497 0.0380 0.0392 0.0466 0.0028 0.0419 0.0210 3 0.0161 0.0477 0.0445 0.0177 0.0235 0.0354 0.0192 0.0317 4 0.0215 0.0156 0.0006 0.0098 0.0270 0.0383 0.0006 0.0431 5 0.0211 0.0086 0.0073 0.0083 0.0242 0.0527 0.0225 0.0104 6 0.0317 0.0468 0.0439 0.0102 0.0221 0.0296 0.0404 0.0485 7 0.0063 0.0126 0.0228 0.0223 0.0477 0.0212 0.0420 0.0301 8 0.0019 0.0330 0.0455 0.0437 0.0003 0.0102 0.0470 0.0323
Kolumny od 25 do 32 q x o 25 26 27 28 29 30 31 32
1 0.0114 0.0193 0.0349 0.0342 0.0328 0.0024 0.0391 0.0357 2 0.0313 0.0236 0.0292 0.0277 0.0571 0.0326 0.0048 0.0241 3 0.0476 0.0335 0.0397 0.0059 0.0491 0.0358 0.0483 0.0491 4 0.0198 0.0494 0.0288 0.0392 0.0035 0.0567 0.0540 0.0042 5 0.0351 0.0199 0.0100 0.0196 0.0193 0.0402 0.0323 0.0297 6 0.0210 0.0228 0.0375 0.0075 0.0294 0.0397 0.0136 0.0156 7 0.0332 0.0315 0.0520 0.0300 0.0138 0.0228 0.0462 0.0454 8 0.0357 0.0289 0.0412 0.0420 0.0305 0.0324 0.0262 0.0171
Kolumny od 33 do 37 q x o 33 34 35 36 37
1 0.0331 0.0437 0.0261 0.0160 0.0395 2 0.0031 0.0431 0.0034 0.0273 0.0348 3 0.0182 0.0404 0.0045 0.0305 0.0359 4 0.0294 0.0480 0.0160 0.0095 0.0054 5 0.0233 0.0359 0.0219 0.0445 0.0228 6 0.0301 0.0108 0.0254 0.0512 0.0201 7 0.0326 0.0144 0.0481 0.0315 0.0088 8 0.0058 0.0320 0.0305 0.0015 0.0426
137
Nauczanie parametrów modeli i rozpoznawanie audio-wideo komend
Uczenie modeli UMM w systemie AVM_PL odbywa się każdorazowo, gdy dodawana jest
nowa wypowiedź do bazy systemu. Należy zaznaczyć, że w procesie uczenia biorą udział
parametry tylko jednego modelu, zbudowanego dla danej wypowiedzi. Uczenie systemu dla
poszczególnych wypowiedzi odbywa się oddzielnie. Przykładowo, dla 200 różnych
wypowiedzi, konieczne jest utworzenie i nauczenie po kolei 200 różnych modeli UMM. Taki
sposób uczenia nie jest może optymalnym rozwiązaniem, jednak pozwala na bardzo łatwe
dodawanie nowych wypowiedzi do nauczonego już systemu, gdyż nie modyfikuje się już
parametrów istniejących modeli.
Czas uczenia pojedynczego modelu nie jest długi. W zbudowanym systemie już po
kilkudziesięciu iteracjach, a zdarza się nawet, że już po kilkunastu, parametry modelu można
uznać za nauczone. Zastosowano ograniczenie liczby iteracji, równe 200, ale w zasadzie
rzadko zdarza się, żeby podczas uczenia system osiągnął taką wartość. Jako punkt
zatrzymania uczenia przyjęto wartość progową, porównywaną z różnicą pomiędzy
uzyskanym prawdopodobieństwem wygenerowania wejściowej obserwacji przez parametry
modelu w dwóch sąsiednich iteracjach. Uzyskiwane wyniki prawdopodobieństw można na
bieżąco śledzić w każdej iteracji uczenia, co pozwala na kontrolowanie poprawności
ekstrakcji parametrów modelu.
W Tab.6.9 – 9.11 pokazano nauczone parametry modelu UMM, reprezentującego
wypowiedź katalog.
Tab.6.9 Ilustracja przyjmowanych wartości parametru π modelu UMM słowa katalog
Parametr ππππ q x 1 1 2 3 4 5 6 7 8
1 0.0000 0.0000 0.0000 0.2326 0.0000 0.0000 0.7674 0.0000
Tab.6.10 Ilustracja przyjmowanych wartości parametru A modelu UMM słowa „katalog”
Parametr A q x q 1 2 3 4 5 6 7 8
1 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 2 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 3 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 4 0.0353 0.0000 0.0000 0.9647 0.0000 0.0000 0.0000 0.0000 5 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 0.0000 6 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 7 0.0000 0.0000 0.0000 0.7981 0.0000 0.0000 0.2019 0.0000 8 1.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
138
Tab.6.11 Ilustracja przyjmowanych wartości parametru B modelu UMM słowa „katalog” Parametr B
Kolumny od 1 do 8 q x o 1 2 3 4 5 6 7 8
1 0.0052 0.0104 0.0052 0.0052 0.0731 0.1096 0.1459 0.0052 2 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 3 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 4 0.0056 0.0056 0.0056 0.0056 0.0056 0.0056 0.0058 0.0056 5 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 6 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 7 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 8 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270
Kolumny od 9 do 16 q x o 9 10 11 12 13 14 15 16
1 0.0313 0.0052 0.0052 0.0052 0.0052 0.0157 0.0470 0.0052 2 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 3 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 4 0.0056 0.0056 0.0336 0.0056 0.1120 0.0056 0.0056 0.0056 5 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 6 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 7 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 8 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270
Kolumny od 17 do 24 q x o 17 18 19 20 21 22 23 24
1 0.0506 0.0052 0.2032 0.0052 0.0052 0.0052 0.0054 0.0052 2 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 3 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 4 0.0073 0.0056 0.0059 0.0056 0.0328 0.0056 0.6319 0.0056 5 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 6 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 7 0.0239 0.0239 0.0239 0.0239 0.0990 0.0239 0.0271 0.0239 8 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270
Kolumny od 25 do 32 q x o 25 26 27 28 29 30 31 32
1 0.0052 0.0052 0.0052 0.0052 0.0052 0.0052 0.1565 0.0052 2 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 3 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 4 0.0056 0.0056 0.0056 0.0056 0.0056 0.0056 0.0056 0.0056 5 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 6 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 7 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 0.0239 8 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270 0.0270
Kolumny od 33 do 37 q x o 33 34 35 36 37
1 0.0209 0.0052 0.0052 0.0052 0.0052 2 0.0270 0.0270 0.0270 0.0270 0.0270 3 0.0270 0.0270 0.0270 0.0270 0.0270 4 0.0056 0.0082 0.0056 0.0056 0.0056 5 0.0270 0.0270 0.0270 0.0270 0.0270 6 0.0270 0.0270 0.0270 0.0270 0.0270 7 0.0239 0.0606 0.0239 0.0239 0.0239 8 0.0270 0.0270 0.0270 0.0270 0.0270
139
Sposób modyfikacji wartości parametrów modelu UMM opisano szczegółowo w
rozdziale 4.
Po zakończeniu procesu uczenia, system zapisuje wartości nauczonych parametrów w
pliku, o nazwie odpowiadającej wypowiedzi, dla której utworzono dany model. Dodatkowo
dopisana zostaje dana wypowiedź, do bazy nauczonych wypowiedzi, w celu identyfikacji
rozmiaru i zawartości bazy. System umożliwia również przegląd oraz usuwanie wybranych
wypowiedzi z basy systemu.
Proces rozpoznawania poprzedzony jest identycznym sposobem ekstrakcji
charakterystyk i wyznaczenia wektora obserwacji, jaki zastosowano również w procesie
uczenia. O ile w procesie uczenia na wejście podawano od jednego, do kilku powtórzeń tej
samej wypowiedzi, o tyle w procesie rozpoznawania podawane jest tylko jedno powtórzenie.
Jest to logiczne, jednak system umożliwia również rozpoznawanie sekwencji powtórzeń tej
samej wypowiedzi, dając w wyniku sumę prawdopodobieństw wygenerowania
poszczególnych wektorów obserwacji przez model UMM. Takie rozpoznawanie zastosowano
tylko do przetestowania prawidłowego funkcjonowania systemu, w normalnej pracy systemu
opcja ta jest wyłączona.
Po wyznaczeniu wektora obserwacji dla danej wypowiedzi, system wylicza
prawdopodobieństwo wygenerowania tej sekwencji obserwacji przez wszystkie modele
zawarte w bazie systemu. Na podstawie pliku określającego rozmiar i zawartość bazy
następuje wczytywanie parametrów poszczególnych modeli. Możliwe jest śledzenie
uzyskanych wartości prawdopodobieństw przez wszystkie modele. Model, który uzyskał
największe prawdopodobieństwo wygenerowania wejściowej sekwencji obserwacji,
uznawany jest za zwycięski, a wynikiem rozpoznania jest wartość transkrypcji gramatycznej
opisującej ten model.
Jeśli do rozpoznawania użytkownik podałby wypowiedź, dla której system nie został
nauczony, wówczas wynikiem będzie wypowiedź, dla której system został nauczony, a która
jest najbardziej podobna fonetycznie do wypowiedzi wejściowej. Prawdopodobieństwo
wygenerowania takiej wypowiedzi jest na tyle małe, że można ograniczyć możliwość
rozpoznawania wypowiedzi spoza bazy. W systemie zastosowano wartość progową, po
przekroczeniu której, wyznaczone prawdopodobieństwo można uznać za wystarczające do
podjęcia decyzji o wyniku rozpoznania. Jeśli próg nie został przekroczony, wówczas system
identyfikuje wprowadzaną wypowiedź, jako rozpoznanie „nieokreślone”.
140
7. BADANIE POZIOMU BŁĘDÓW METODY AV_Mowa_PL ZA POMOCĄ SYSTEMU AVM_PL
Przedstawiono szczegółową charakterystykę utworzonej na potrzeby badawcze bazy
wypowiedzi audio-wideo. Opisano obiekty, cele i sposoby przeprowadzenia eksperymentów
sprawdzających funkcjonowanie stworzonego systemu oraz do rozpoznawania izolowanych
wypowiedzi audio-wideo mowy polskiej. Zamieszczono wyniki przeprowadzonych
eksperymentów z rozważaniami.
7.1. Charakterystyka stworzonej bazy audio-wideo komend
Dla celów testowo-badawczych było stworzono bazę AV_BM, zawierającą izolowane
wypowiedzi audio-wideo mowy polskiej. Samo badanie audio mowy w opracowanym
systemie AVM_PL nie wprowadza konieczności tworzenia jakiejkolwiek bazy, gdyż
środowisko programistyczne Matlab umożliwia rejestrowanie na bieżąco dźwięków,
pochodzących bezpośrednio z mikrofonu. Jednak nie ma możliwości rejestrowania obrazu
pochodzącego bezpośrednio z kamery, dlatego przy pracy z systemem, wymagane jest
wcześniejsze zarejestrowanie wideo mowy, a co się z tym wiąże, również audio mowy.
Dodatkowo, uwzględniając założenia dotyczące warunków pracy systemu, konieczne było
przebadanie tych samych wypowiedzi w różnym stopniu zakłócenia, co narzucało
wielokrotne korzystanie z zarejestrowanych wcześniej wypowiedzi audio-wideo mowy. Z
tych właśnie powodów utworzono bazę audio-wideo mowy.
Przyjęto następujące założenia dotyczące formatu nagrać:
dla sygnału audio:
• częstotliwość próbkowania – 8000 Hz,
• szybkość transmisji bitów – 128 kb/s,
• rozmiar próbki audio – 16 bitów, - format dźwięku – PCM,
dla sygnału wideo:
• rozmiar obrazu – 640 x 480 pikseli,
• szybkość klatek – 15 klatek/s, rozmiar próbki wideo – 24 bity,
• kompresja wideo – Indeo video 5.04.
141
Utworzona baza składa się z dwóch zasadniczych części: pierwsza - zdecydowanie
obszerniejsza, do badania skuteczności rozpoznawania audio-wideo mowy; druga - do
identyfikacji użytkowników w oparciu o wypowiedzi audio-wideo mowy.
Baza AV_BM zawiera wypowiedzi, będące przykładowymi komendami sterowania
systemem operacyjnym, co pozwala na praktyczne jej wykorzystanie. Wszystkie
wykorzystane komendy stanowią słownik złożony z 70 różnych wypowiedzi. Dodatkowo dla
każdej wypowiedzi nagrano po siedem różnych powtórzeń. W ten sposób uzyskano słownik
złożony z 490 wypowiedzi jednego użytkownika. Do tworzenia tej bazy wykorzystano
nagrania 10 użytkowników, co określiło całkowitą liczbę wszystkich wypowiedzi zawartych
w bazie, równą 4900 nagrań. Każdą z wypowiedzi zawarto w oddzielnym pliku .avi. Nazwa
każdego pliku odpowiada treści nagrania oraz numerowi powtórzenia danej wypowiedzi.
Przykładowo dla wypowiedzi „katalog” utworzono następujące pliki: katalog1.avi,
katalog2.avi, katalog3.avi, katalog4.avi, katalog5.avi, katalog6.avi, katalog7.avi. Pierwsze
cztery powtórzenia każdej wypowiedzi przeznaczono do uczenia systemu, natomiast
pozostałe trzy - do rozpoznawania.
W Tab.7.1 zamieszczono zbiór komend, nagranych dla jednego użytkownika.
Kolejność wypowiedzi odpowiada kolejności wprowadzania nagrań do systemu.
Tab.7.1 Zbiór komend dla jednego użytkownika zawartych w bazie AV_BM
Użytkownik 1 L.p. Wypowiedź L.p. Wypowiedź L.p. Wypowiedź L.p. Wypowiedź L.p. Wypowiedź
1 Katalog 15 wyloguj 29 trzy 43 poprzedni 57 dwukropek 2 Kopiuj 16 nowy 30 cztery 44 menu 58 klamra 3 Uruchom 17 wyszukaj 31 pięć 45 plik 59 nawias 4 Usuń 18 pomoc 32 sześć 46 start 60 apostrof 5 Wytnij 19 drukuj 33 siedem 47 stop 61 cudzysłów 6 Zamknij 20 zamień 34 osiem 48 wstecz 62 pytajnik 7 Zakończ 21 wyczyść 35 dziewięć 49 edycja 63 wielkie 8 Wklej 22 dalej 36 plus 50 shift 64 małe 9 na dół 23 tabulator 37 minus 51 control 65 widok
10 do góry 24 kropka 38 cofnij 52 alt 66 kursywa 11 Enter 25 przecinek 39 w lewo 53 slash 67 pogrubienie 12 Spacja 26 zero 40 w prawo 54 backslash 68 podkreślenie 13 Otwórz 27 jeden 41 mysz 55 wykrzyknik 69 właściwości 14 Zapisz 28 dwa 42 następny 56 średnik 70 nagrywanie
W bazie znalazły się wypowiedzi w języku angielskim, do których właśnie w takiej
postaci jest przyzwyczajona większość użytkowników komputerów. Aby zbytnio nie
zmieniać tych przyzwyczajeń, wspomniane wypowiedzi pozostawiono w angielskiej postaci.
Oczywiście podczas nagrań wypowiadano te komendy zgodnie z wymową. Ponieważ system
142
ma realizować rozpoznawanie audio-wideo mowy polskiej, dlatego zdecydowana większość
komend pochodzi z języka polskiego.
W celu utworzenia książki kodowej, w bazie umieszczono zestawy wypowiedzi,
dobrane tak, aby w całości pokryć przestrzeń akustyczną danego użytkownika, dla
określonego zadania. Dla każdego użytkownika nagrano oddzielny zestaw wypowiedzi,
złożony z następujących słów: kropka, wyloguj, przecinek, wytnij, pięć, cofnij, wyczyść,
wyszukaj, drukuj, zamień, uruchom, pogrubienie, cudzysłów, kąt, drzwi, dźwig, źrebak.
Baza przeznaczona do identyfikacji użytkowników w oparciu o wypowiedzi audio-
wideo mowy AV_BI zawiera wypowiedzi, będące przykładowymi hasłami zabezpieczającymi
system przed włamaniem niepożądanych osób. Wszystkie wykorzystane hasła stanowią
słownik złożony z 5 różnych wypowiedzi. Dodatkowo dla każdej wypowiedzi nagrano po
dwa różne powtórzenia. W ten sposób uzyskano słownik złożony z 10 wypowiedzi jednego
użytkownika. Do tworzenia tej bazy wykorzystano nagrania 30 użytkowników, co określiło
całkowitą liczbę wszystkich wypowiedzi zawartych w bazie, równą 300 nagrań. W
porównaniu do poprzedniej bazy, gdzie każde z nagrań powtórzono siedem razy, tutaj
ograniczono liczbę powtórzeń ze względu na konieczność uniknięcia elastyczności
wypowiedzi, która mogłaby doprowadzić do akceptacji niewłaściwego użytkownika.
Założono, że system jest uczony tylko na jednej wypowiedzi, dlatego aby zaakceptować
identyfikowanego użytkownika, konieczne jest niemal identyczne powtórzenie tej
wypowiedzi.
Również w tej bazie każdą z wypowiedzi zawarto w oddzielnym pliku .avi. Nazwa
każdego pliku odpowiada treści nagrania oraz numerowi powtórzenia danej wypowiedzi.
Pierwsze powtórzenie stanowi wejście uczące systemu, drugie, wejście identyfikujące
użytkownika. Nagrano wypowiedzi, hasła przedstawiające imię i nazwisko użytkownika oraz
słowa nagrywanie, zaloguj i identyfikacja. Hasła dobrano w ten sposób, aby identyfikować
użytkowników na podstawie tych samych i różnych treściowo różnych wypowiedzi.
Zestaw wypowiedzi do tworzenia książki kodowej, jaki również umieszczono w bazie,
zawiera ciąg różnych wypowiedzi wszystkich użytkowników. Założono, że w procesie
identyfikacji użytkownika, należy wykorzystać jedną, wspólną książkę kodową. Takie
założenie pozwala na uniknięcie identycznego zakodowania różnych fonemów.
Wszystkie wypowiedzi nagrywano w cichym pokoju, starając się jak najmniej
zakłócać sygnał audio. SNR wyniósł w przybliżeniu 20dB. Wszelkie modyfikacje potrzebne
do przeprowadzenia poszczególnych eksperymentów dokonywane są bezpośrednio w
systemie na podstawie tych niezakłóconych nagrań.
143
7.2. Obiekty, cele i metodyki eksperymentów
Obiektem badań jest system AVM_PL realizujący rozpoznawanie słów izolowanych oraz
identyfikację użytkownika w oparciu o metodę AV_Mowa_PL, wykorzystującą fuzję
charakterystyk izolowanych słów audio-wideo.
Celem eksperymentu było zbadanie poprawności i poziomu błędów za pomocą systemu
AVM_PL dla kilku proponowanych wariantów, a także porównanie uzyskanych wyników z
rozpoznawaniem samej audio mowy w warunkach szczególnie zakłóconych.
Badania wstępne
Przed przeprowadzeniem eksperymentu wykonano badania wstępne, polegające na
eksperymentalnym doborze rozmiaru książki kodowej oraz liczby stanów UMM. Założono,
że odpowiedni dobór tych parametrów pozwoli na właściwe przeprowadzenie głównego
eksperymentu. Badania przeprowadzono dla samej audio mowy w warunkach
niezakłóconych, wykorzystując bazę słów ograniczoną do 50 różnych wypowiedzi. Każdą
wypowiedź w procesie uczenia powtórzono 5 razy.
Dobierając liczbę kodów w książce kodowej, zwrócono uwagę na fakt, iż w języku
polskim jest 37 fonemów, więc przyjęto liczbę 37 jako wyjściowy rozmiar książki kodowej.
Oprócz samych fonemów w procesie artykulacji mowy występuje zjawisko przejść
międzyfonemowych, dla których również należałoby przypisać odpowiednie kody. Biorąc
pod uwagę wszystkie możliwe kombinacje, konieczne by było zastosowanie 1332 kodów
odpowiadających przejściom międzyfonemowym oraz dodatkowo 37 kodów
odpowiadających samym fonemom. Po przeprowadzeniu wstępnych badań stwierdzono, że
liczba 1369 to zdecydowanie za duży rozmiar słownika. Przeprowadzono badanie
skuteczności rozpoznawania dla rozmiaru słownika wynoszącego odpowiednio 256, 128, 64,
37 i 32. Przy rozmiarach większych niż 37 pojawiło się zjawisko kodowania tego samego
fonemu przy pomocy kilku zupełnie różnych kodów, co wprowadziło możliwość błędnego
rozpoznawania danego słowa przedstawionego w postaci wektora obserwacji, gdzie każda
obserwacja odpowiadała pojedynczemu kodowi z książki kodowej. Przy rozmiarze 32
pojawiła się sytuacja, w której różne fonemy zostały zakodowane przy pomocy tego samego
kodu. Obserwując wyniki rozpoznawania dla różnych rozmiarów książki kodowej
stwierdzono, że najlepsze rezultaty dało zakodowanie sygnałów przy pomocy 37 kodów.
144
Przyjmując taki rozmiar książki kodowej zrezygnowano ze zjawiska przejścia
międzyfonemowego.
Doświadczenie doboru liczby kodów w książce kodowej przeprowadzono dla różnej
liczby stanów modeli UMM. Przyjęto liczbę stanów równą odpowiednio 5, 8, 10 i 15.
Podczas badań użyto słów o różnej liczbie fonemów i konieczne było dobranie liczby stanów
odpowiedniej dla podanego słownika komend. Zauważono, że zbyt duża liczba stanów
powoduje trudności w jakimkolwiek zidentyfikowaniu kilku trudno rozpoznawalnych słów,
natomiast zbyt mała liczba stanów powoduje błędne rozpoznanie. Najlepsze wyniki uzyskano
przy liczbie stanów modeli UMM wynoszącej 8. Analizując uzyskane wyniki można przyjąć,
że liczba stanów powinna odpowiadać liczbie fonemów danego słowa. Nie ma jednak
potrzeby ani możliwości stosowania modeli o różnej liczbie stanów dla różnych słów, dlatego
należy dobrać liczbę stanów modeli UMM odpowiednio dla danej bazy słów w systemie.
Ponieważ do badań stworzono bazę komend sterowania systemem operacyjnym, zawierającą
słowa złożone z liczby fonemów zawartej w przedziale od 3 do 12, dlatego jako liczbę stanów
modeli UMM przyjęto wartość 8, będącą wartością wypadkową odpowiadającą wszystkim
słowom w bazie.
W Tab.7.2 przedstawiono wyniki rozpoznawania słów izolowanych dla różnych
rozmiarów książki kodowej.
Tab.7.2 Wyniki z doświadczenia doboru liczby kodów w książce kodowej
Liczba stanów UMM
Rozmiar książki
kodowej FAR [%] FRR [%] Poprawność
rozpoznawania [%]
32 4 8 88 37 4 4 92 64 6 6 88
128 8 6 86 5
256 8 8 84 32 4 0 96 37 0 0 100 64 0 2 98
128 4 4 92 8
256 6 8 86 32 4 10 86 37 2 4 94 64 4 10 86
128 6 8 86 10
256 6 10 84 32 4 10 86 37 4 6 90 64 4 12 84
128 4 14 82 15
256 6 12 82
145
Do badań poprawności funkcjonowania metody AV_Mowa_PL wybrano rozmiar
książki kodowej wynoszący 37 i liczbę stanów modelu UMM wynoszącą 8, gdyż tylko przy
takich parametrach uzyskano 100 % skuteczności rozpoznawania przykładowych 50 komend
w warunkach niezakłóconych.
Badania poziomu błędów metody AV_Mowa_PL
W celu udowodnienia poprawności metody i zbadania jej poziomu błędów przeprowadzono
szereg eksperymentów dotyczących działania trekingu ust, rozpoznawania audio i audio-
wideo mowy, a także identyfikacji użytkowników dla różnego poziomu zakłócenia (przy SNR
wynoszącym 20, 15, 10, 5, i 0 dB) i różnych metod fuzji sygnałów audio i wideo. Do badań
wykorzystano bazy AV_BM i AV_BI.
Etapy eksperymentu
Etap 1: Badanie poprawności definiowania sygnału audio mowy, za pomocą metod ES i
CZS.
2: Badanie poziomu błędów trekingu kącików i krawędzi ust metodami GMIP i CSM.
3: Badanie poziomu błędów rozpoznawania audio mowy przy różnym SNR.
4: Badanie poziomu błędów rozpoznawania audio-wideo mowy przy różnym SNR, z
wykorzystaniem zaproponowanej synchronicznej metody Sr fuzji charakterystyk
sygnałów audio i wideo.
5: Badanie poziomu błędów rozpoznawania audio-wideo mowy przy różnym SNR, z
wykorzystaniem zaproponowanej metody ASr_I fuzji charakterystyk sygnałów audio
i wideo.
6: Badanie poziomu błędów rozpoznawania audio-wideo mowy przy różnym SNR, z
wykorzystaniem zaproponowanej metody ASr_II fuzji charakterystyk sygnałów
audio i wideo.
7: Badanie poziomu błędów identyfikacji użytkowników na podstawie audio mowy
przy różnym SNR.
8: Badanie poziomu błędów identyfikacji użytkowników na podstawie audio-wideo
mowy przy różnym SNR, z wykorzystaniem pierwszej metody ASr_I fuzji
charakterystyk sygnałów audio i wideo.
9: Zestawienie wyników poziomu błędów rozpoznawania z istniejącymi metodami
(AV-Concat, AV-HiLDA, AV-Enhanced, AV-MS-Joint).
10: Analiza wyników eksperymentu.
146
W etapach 3-6 wykorzystano utworzoną bazę audio-wideo mowy AV_BM. W etapach
2,6,7 wykorzystano utworzoną bazę do identyfikacji użytkowników AV_BI.
W etapie 1 zbadani poprawność definiowania sygnału audio mowy, poprzez usuwanie
ciszy z nagrania. Wykorzystano dwie metody ES i CZS w układzie połączonym. Opis
algorytmów, przeprowadzenie badań i obserwacje wyników omówiono w paragrafie 3.2, 6.2.
Etap 2
W pierwszym doświadczeniu wykonano dwa testy. Doświadczenie polegało na zbadaniu
poziomu błędów trekingu kącików ust z wykorzystaniem metod GMIP [70] i CSM. Poprawne
określenie kącików ust ma duże znaczenie w systemie AVM_PL, gdyż na podstawie
zlokalizowanych kącików ust określane są zewnętrzne krawędzie ust. Podczas eksperymentu
przetestowano mowę dwadzieścia różnych osób wypowiadających pojedyncze słowa. Każde
nagranie zawierało około 50 ramek/s, więc przetestowano blisko 1000 ramek wideo. Dla
każdej ramki ręcznie oznaczano kąciki ust i następnie porównywano z kącikami
wyznaczonymi przy pomocy metod GMIP i CSM. Opis procedur wchodzących w skład
trekingu ust, poszczególnych wyników lokalizacji twarzy, oczu, kącików i krawędzi ust
przedstawiono w rozdziale 5, w paragrafach 5.1 – 5.3.
W Tab.7.3 pokazano średnie błędy popełniane przy pomocy obu testowanych metod
dla każdej z badanych ramek o rozdzielczości 320 x 240 pikseli.
Tab.7.3 Średnie błędy lokalizacji kącików ust dla metod GMIP [70] i CSM
Metoda Liczba ramek
Błąd współrzędnej x
[pixel]
Błąd współrzędnej y
[pixel] GMIP 1000 16,7 18,9 CSM 1000 4,8 5,7
W drugim doświadczeniu również wykorzystano metody GMIP i CSM. Przetestowano
dwadzieścia osób wypowiadających pojedyncze słowa z wyraźnym podziałem na fonemy.
Dla każdej ramki wyznaczono krawędzie ust. Punkty określające te krawędzie porównywano
z punktami określającymi przykładowo zdefiniowane modele ust, oznaczając rozpoznany
obiekt, jako obiekt usta oraz obiekt inny niż usta (+) i (-). Obiekt inny niż usta (+) oznaczał,
że kąciki ust zostały wyznaczone poprawnie, natomiast krawędzie ust zostały wyznaczone
błędnie. Obiekt (-) oznaczał, że ani kąciki ust, ani krawędzie nie zostały poprawnie
wyznaczone.
147
W Tab.7.4 przedstawiono rezultaty trekingu krawędzi ust w czasie rzeczywistym z
zastosowaniem metod GMIP i CSM.
Tab.7.4 Rezultaty doświadczenia trekingu ust w czasie rzeczywistym
Metoda Liczba ramek
Obiekt rozpoznany
jako usta [%]
Obiekt nierozpoznany jako usta z poprawnie
wyznaczonymi kącikami (+)[%]
Obiekt nierozpoznany jako usta z błędnie wyznaczonymi
kącikami (-) [%]
GMIP 1000 83,7 3,4 12,9 CSM 1000 94,2 1,2 4,6
Etap 3
Doświadczenie polegało na zbadaniu poziomu błędów rozpoznawania audio mowy z
wykorzystaniem do tego celu nagrania audio z utworzonej bazy audio-wideo mowy. System
AVM_PL uczono na czterech pierwszych powtórzeniach każdej z wypowiedzi. Podczas
rozpoznawania do oszacowania poziomu błędów wykorzystano pozostałe trzy powtórzenia
wypowiedzi, (210 powtórzeń dla każdego z 10 użytkowników). Badania wykonano dla SNR
wynoszącym odpowiednio 20, 15, 10, 5 i 0 dB.
W Tab.7.5 pokazano zestawienie wyników rozpoznawania audio mowy. Poziom
błędów przedstawiono w postaci błędnego odrzucenia (ang. False Rejection Rate, FRR) i
błędnej akceptacji (ang. False Acceptance Rate, FAR) dla każdego z użytkowników i średnio
dla wszystkich. Błędne odrzucenie oznacza, że dana wypowiedź nie została rozpoznana,
natomiast błędna akceptacja oznacza, że wypowiedź została rozpoznana błędnie. Przyjęto
przy SNR wynoszącym 20dB niezakłócone warunki nagrywania dźwięku.
Tab.7.5 Wyniki doświadczenia poziomu błędów rozpoznawania audio mowy
Audio mowa FRR [%] FAR [%]
Użytkownik SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
U1 2,38 14,76 28,10 50,95 73,33 2,38 2,86 8,10 8,57 13,81 U2 1,90 13,81 27,62 52,38 74,76 1,43 4,29 6,67 7,62 10,48 U3 1,90 14,29 28,57 49,52 72,86 1,90 3,33 7,14 9,05 14,29 U4 1,43 13,33 26,67 47,14 70,95 1,43 4,29 8,57 9,05 13,33 U5 2,86 14,29 29,05 50,00 78,10 1,90 1,43 2,86 6,67 11,90 U6 0,95 15,24 27,14 49,52 73,81 0,48 5,24 7,62 8,10 16,19 U7 3,81 16,67 29,52 50,48 75,71 3,33 3,81 6,19 9,52 15,71 U8 1,90 15,71 28,10 45,71 66,19 0,95 2,38 5,71 6,19 11,90 U9 3,33 16,19 31,43 52,38 80,48 1,90 7,14 8,10 9,05 14,76
U10 0,48 13,33 26,19 49,52 76,67 0,48 4,76 7,14 8,10 10,48 Średnio 2,09 14,76 28,23 49,76 74,28 1,61 3,95 6,81 8,19 13,28
148
Etap 4
Doświadczenie polegało na zbadaniu poziomu błędów rozpoznawania audio-wideo mowy,
również z wykorzystaniu bazy AV_BM. Poziom błędów określano dla różnego SNR. Jako
narzędzie do fuzji charakterystyk sygnałów audio i wideo wykorzystano zaproponowaną
metodę synchroniczną Sr, w której wektor obserwacji audio-wideo mowy utworzono z
poszczególnych wektorów audio i wideo poprzez kombinację wszystkich możliwych symboli
obserwacji. Dokładny opis metody synchronicznej fuzji charakterystyk sygnałów audio i
wideo z przykładowymi wynikami zamieszczono w paragrafie 6.3.
W Tab.7.6 pokazano wyniki rozpoznawania audio-wideo mowy uzyskane w tych
samych warunkach, co i wyniki rozpoznawania audio mowy.
Tab.7.6 Poziomu błędów rozpoznawania audio-wideo mowy na bazie metody Sr fuzji charakterystyk
Audio-wideo mowa z synchroniczną Sr fuzją charakterystyk FRR [%] FAR [%]
Użytkownik SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
U1 2,38 12,86 23,33 32,86 42,38 0,95 3,33 6,19 8,10 11,90 U2 1,90 12,38 23,81 31,43 39,05 1,90 2,86 6,19 7,62 10,95 U3 1,90 11,90 20,95 28,57 40,95 1,90 1,43 3,81 6,67 10,00 U4 1,43 10,95 21,43 29,52 43,33 1,90 1,90 6,67 10,00 12,38 U5 2,86 12,38 26,19 35,24 47,14 1,43 3,81 7,14 9,05 11,90 U6 2,38 14,29 28,10 35,71 46,19 0,48 3,33 7,14 7,62 11,43 U7 2,38 10,48 24,29 33,33 44,29 0,95 3,33 6,67 7,62 9,05 U8 0,95 11,43 23,81 30,95 41,43 2,38 2,86 7,14 8,10 13,81 U9 0,95 12,38 23,81 28,57 40,00 1,90 3,33 7,62 8,10 12,86
U10 0,48 12,38 23,33 29,05 41,90 1,43 1,90 5,71 6,19 10,95 Średnio 1,76 12,14 23,90 31,52 42,66 1,52 2,80 6,42 7,90 11,52
Etap 5
Doświadczenie polegało na zbadaniu wartości błędów rozpoznawania audio-wideo mowy z
wykorzystaniem zaproponowanej pierwszej metody ASr_I fuzji charakterystyk sygnałów
audio i wideo. W metodzie tej wektory obserwacji poszczególnych sygnałów audio i wideo
podawano kolejno na ten sam model UMM, reprezentujący daną wypowiedź. Dokładny opis
metody fuzji charakterystyk z przykładowymi wynikami zamieszczono paragrafie 6.3.
Badania przeprowadzono w identycznych warunkach, jakie wykorzystano w badaniach z
etapów 3 i 4.
W Tab.7.7 zamieszczono wyniki rozpoznawania audio-wideo mowy z
wykorzystaniem metody ASr_I fuzji charakterystyk.
149
Tab.7.7 Poziomy błędów rozpoznawania audio-wideo mowy z wykorzystaniem metody ASr_I
Audio-wideo mowa z pierwszą asynchroniczną ASr_I fuzją charakterystyk FRR [%] FAR [%]
Użytkownik SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
U1 0,95 10,48 20,48 28,10 41,90 0,95 3,33 5,71 7,14 10,48 U2 2,38 10,00 20,00 29,52 40,00 1,43 2,38 6,19 7,62 9,52 U3 0,95 9,05 22,86 29,05 37,14 1,43 2,38 5,71 7,62 11,43 U4 1,43 10,00 19,05 27,14 41,90 1,43 1,90 7,14 9,05 11,90 U5 0,95 9,52 20,48 28,10 39,05 2,38 2,38 4,29 8,57 10,95 U6 1,90 10,95 21,43 30,48 47,14 1,43 3,81 4,29 9,05 13,33 U7 0,48 9,05 19,52 29,05 39,52 0,95 1,43 5,24 7,14 10,48 U8 0,95 10,00 19,52 27,14 38,10 2,38 2,86 7,14 8,10 11,43 U9 2,86 11,90 19,05 27,62 39,05 0,95 3,33 6,19 6,67 8,57
U10 1,43 11,43 19,05 28,10 38,10 0,48 1,90 5,71 7,14 9,52 Średnio 1,42 10,23 20,14 28,43 40,19 1,38 2,57 5,76 7,81 10,76
Etap 6
Doświadczenie polegało na zbadaniu poziomu błędów rozpoznawania audio-wideo mowy z
wykorzystaniem zaproponowanej drugiej metody ASr_II fuzji charakterystyk sygnałów audio
i wideo. W metodzie tej utworzono osobne modele UMM dla poszczególnych sygnałów, a
jako wynik przyjęto sumę prawdopodobieństw wygenerowania sekwencji obserwacji audio-
wideo przez oddzielne modele. Przy tej metodzie konieczne było utworzenie podwójnej
liczby modeli UMM. Wszystkie badania przeprowadzono w warunkach, co i badania
poziomu błędów z poprzednich etapów. Dokładny opis metody fuzji charakterystyk sygnałów
audio-wideo z przykładowymi wynikami zamieszczono paragrafie 6.3.
W Tab.7.8 zamieszczono wyniki rozpoznawania audio-wideo mowy z
wykorzystaniem metody ASr_II fuzji charakterystyk.
Tab.7.8 Poziomy błędów rozpoznawania audio-wideo mowy z wykorzystaniem metody ASr_II
Audio-wideo mowa z drugą asynchroniczną ASr_II fuzją charakterystyk FRR [%] FAR [%]
Użytkownik SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
U1 1,43 12,38 23,81 34,29 48,10 0,95 1,90 6,19 8,10 12,38 U2 1,90 11,43 20,48 35,71 46,19 1,90 2,86 6,67 7,14 11,90 U3 1,90 12,86 23,81 37,14 47,14 0,95 2,38 6,19 7,62 12,38 U4 0,48 11,90 23,33 34,76 43,81 1,43 2,38 7,62 8,10 12,38 U5 2,38 13,81 25,71 36,19 48,57 2,86 3,81 8,10 9,52 13,81 U6 1,90 10,00 20,95 35,71 47,62 1,43 2,86 5,71 6,67 10,48 U7 1,43 12,86 23,33 34,76 47,14 1,43 2,38 5,24 7,14 10,95 U8 0,48 10,95 22,86 34,29 43,81 1,90 3,33 6,19 8,57 11,43 U9 2,38 13,81 24,29 36,67 44,76 1,90 2,86 5,71 7,62 11,43
U10 1,90 11,43 22,86 35,24 48,10 0,95 2,38 5,24 8,10 11,90 Średnio 1,61 12,14 23,14 35,47 46,52 1,57 2,71 6,28 7,85 11,90
150
Etap 7
Doświadczenie polegało na zbadaniu poziomu błędów identyfikacji użytkowników na
podstawie audio mowy przy różnym SNR. Założono, że w procesie identyfikacji
użytkownika, należy wykorzystać jedną, wspólną książkę kodową. Wykorzystując bazę
AV_BI, ustalono od razu sztywną liczbę identyfikowanych użytkowników, bez możliwości
dodawania, ani usuwania wypowiedzi poszczególnych użytkowników. Dla określonej liczby
użytkowników utworzono książkę kodową na podstawie wszystkich badanych wypowiedzi
każdego z użytkowników. Takie sztywne założenia przyjęto tylko na potrzeby badań.
Przyjęto rozmiar książki kodowej równy 37 symboli kodowych. Dla każdej nauczonej
wypowiedzi, jako transkrypcję gramatyczną przyjęto opis identyfikujący danego
użytkownika. Jako wynik rozpoznania system określał identyfikator użytkownika, który miał
największe prawdopodobieństwo wypowiedzenia badanej komendy. Dla uzyskania jak
najmniejszego poziomu błędu FAR, ustalono próg akceptacji użytkowników, uzależniony
ściśle od prawdopodobieństwa, że badana wypowiedź pochodziła od danego użytkownika. W
doświadczeniu brano pod uwagę zarówno wypowiedzi, na których system był uczony, jak
również te, które przeznaczone były wyłącznie do testowania.
W Tab.7.9 przedstawiono wyniki identyfikacji użytkowników na podstawie ich
wypowiedzi audio.
Tab.7.9 Poziomy błędów identyfikacji użytkowników na podstawie audio mowy
Identyfikacja użytkowników FRR [%] FAR [%]
Użytkownik SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
Średnio dla 30-u
użytkowników 5,33 12,33 28,66 39,33 67,66 2,66 7,33 15,66 23,33 29,66
Etap 8
Doświadczenie polegało na zbadaniu poziomu błędów identyfikacji użytkowników na
podstawie audio-wideo mowy przy różnym SNR. Jako fuzję charakterystyk sygnałów audio-
wideo wybrano metodę ASr_I, ze względu na najlepsze wyniki uzyskane w badaniu poziomu
błędów rozpoznawania słów izolowanych audio-wideo mowy polskiej. Przyjęto założenia z
etapu 7.
W Tab.7.10 przedstawiono wyniki identyfikacji użytkowników na podstawie ich
wypowiedzi audio-wideo mowy.
151
Tab.7.10 Poziomy błędów identyfikacji użytkowników na podstawie audio-wideo mowy
Identyfikacja użytkowników FRR [%] FAR [%]
Użytkownik SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
SNR 20dB
SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
Średnio dla 30-u
użytkowników 4,66 9,33 21,66 30,33 51,66 2,33 6,33 12,66 18,66 22,33
Etap 9
W celu porównania opracowanej metody AV_Mowa_PL z popularnymi metodami
rozpoznawania audio-wideo mowy AV-Concat, AV-HiLDA, AV-Enhanced oraz AV-MS-Joint,
przyjęto podobne warunki zaszumienia sygnału audio. Opis tych metod przedstawiono w
paragrafie 1.2. Metody testowano na bazach złożonych z 537 izolowanych wypowiedzi
audio-wideo mowy angielskiej. Metodę AV_Mowa_PL przetestowano na nagraniach
izolowanych wypowiedzi audio-wideo mowy polskiej. Do fuzji charakterystyk audio i wideo
wykorzystano metodę ASr_I. Badania porównawcze przeprowadzono przy SNR wynoszącym
odpowiednio 20, 15, 10, 5 i 0 dB. Z bazy AV_BM wybrano po dwa powtórzenia wszystkich
zawartych w bazie komend wypowiadanych przez 7 użytkowników. Te same treściowo
wypowiedzi opisano odpowiednią transkrypcją charakterystyczną dla danego użytkownika,
np.: katalog_u1, katalog_u2 itd. W ten sposób sztucznie uzyskano 490 różnych wypowiedzi.
Z bazy AV_BI wybrano po dwa powtórzenia wypowiedzi będących imieniem i nazwiskiem 25
użytkowników. Razem to dało bazę porównawczą złożoną z 540 różnych wypowiedzi
powtórzonych dwukrotnie z podziałem na zestaw uczący i testujący. Uzyskano zbliżone
warunki do tych, w których testowano istniejące metody AV-Concat, AV-HiLDA, AV-
Enhanced oraz AV-MS-Joint. System uczono dla jednej wspólnej książki kodowej utworzonej
na podstawie wszystkich wypowiedzi przeznaczonych do uczenia.
W Tab.7.11. pokazano porównanie poziomu błędów rozpoznawania audio-wideo
mowy istniejących metod z metodą AV_Mowa_PL.
Tab. 7.11. Wyniki porównania poziomu błędów rozpoznawania audio-wideo mowy
FRR [%] Metoda SNR
20dB SNR 15dB
SNR 10dB
SNR 5dB
SNR 0dB
AV-Concat 11,63 19,34 26,05 33,64 46,27 AV-HiLDA 11,56 18,08 24,09 33,23 43,51
AV-Enhanced 12,72 20,16 29,72 43,12 58,96 AV-MS-Joint 11,37 17,42 22,92 30,03 40,89
AV_Mowa_PL 11,29 17,22 23,14 32,40 42,59
152
7.3. Analiza wyników eksperymentu
Przeprowadzenie badań wstępnych miało na celu dobór optymalnych parametrów dla
prawidłowego funkcjonowania systemu AVM_PL, w celu sprawdzenia poprawności metody
AV_Mowa_PL. Najlepsze wyniki rozpoznawania przykładowych słów izolowanych uzyskano
dla książki kodowej złożonej z 37 symboli kodowych oraz dla modeli UMM złożonych z 8
stanów. Mimo, iż badania przeprowadzono na audio mowie, należy przypuszczać, że podobne
taki dobór parametrów również w przypadku audio-wideo mowy da najlepsze rezultaty.
Wyniki badania poprawności definiowania sygnału audio mowy z nagrania
zawierającego zbędną ciszę pokazują, że zastosowanie zaproponowanych metod ES i CZS,
stosowanych osobno, pozwala na poprawne zdefiniowanie sygnału mowy w większości
przypadków. Jednak dla kilku nagrań zdarzyły się błędy. Połączenie obu metod dało 100 %
poprawności definiowania sygnału audio na wszystkich przetestowanych nagraniach z
własnej bazy AV_BM, nagrań wprowadzanych do systemu na bieżąco oraz dla
przykładowych nagrań w języku angielskim z baz IBM ViaVoice LVCSR i DIGITS.
Poprawne działanie algorytmu trekingu ust pozwala na prawidłowe sprawdzenie
funkcjonowania metody AV_Mowa_PL. Uzyskane wyniki pokazują, że zastosowana metoda
CSM lepiej lokalizuje kąciki i krawędzie ust niż metoda GMIP. Obie metody dają podobne
wyniki w przypadku użytkowników bez jakiegokolwiek zarostu na twarzy. W przypadku
użytkowników z zarostem na twarzy, zdecydowanie lepsze wyniki daje metoda CSM,
którą to właśnie zastosowano do przeprowadzenia wszystkich badań związanych z audio-
wideo mową. Również przybliżony dobór wartości progowych T1, T2 i T3, opisanych w
paragrafie 5.3. dla badanych osób okazał się poprawny.
Wyniki badania poprawności rozpoznawania mowy pokazują, iż duży wpływ na
właściwe rozpoznawanie ma wpływ zakłóconego, bądź nie, otoczenia. W przypadku, gdy
badany sygnał audio mowy pozbawiony jest całkowicie szumu, rozpoznawanie audio mowy
oraz audio-wideo mowy daje podobne rezultaty (przy SNR = 20 dB, FRR_audio = 2,09 %,
FRR_audio-wideo = Sr{1,76 %}, ASr_I{1,42 %} i ASr_II{1,61%}). Jednak w miarę
zaszumienia sygnału audio, poprawność rozpoznawania audio mowy znacznie się
pogarsza w porównaniu z rozpoznawaniem audio-wideo mowy (przy SNR = 0 dB,
FRR_audio = 74,28 %, FRR_audio-wideo = Sr{42,66 %}, ASr_I{40,19 %} i ASr_II{46, 52
%}). W badaniach przyjęto, że sygnał audio mowy zostaje zakłócony, natomiast sygnał wideo
mowy pozostaje bez zmian.
153
Analizując wyniki rozpoznawania audio-wideo mowy z zastosowanymi metodami Sr,
ASr_I i ASr_II fuzji charakterystyk, można zauważyć, że dla wszystkich trzech metod
rozpoznawanie audio-wideo mowy przy różnym SNR daje lepsze rezultaty niż
rozpoznawanie samej audio mowy. Spośród trzech metod fuzji charakterystyk, najlepsze
wyniki uzyskano z zastosowaniem metody ASr_I fuzji charakterystyk sygnałów audio i
wideo.
Na Rys.7.1 pokazano wyniki rozpoznawania audio i audio-wideo mowy słów
izolowanych z bazy AV_BM, wybranych do zestawu testowego (2100 wypowiedzi). Wyniki
przedstawiono jako zależność błędu rozpoznawania (ang. Word Error Rate, WER) oraz SNR.
0
10
20
30
40
50
60
70
80
0 5 10 15 20
SNR [dB]
WER
[%]
audio-wideoASr_IIaudio-wideoASr_Iaudio-wideo Sr
audio
Rys.7.1 Wyniki rozpoznawania audio i audio-wideo mowy dla bazy AV_BM
W przypadku identyfikacji użytkownika na podstawie jego audio-wideo mowy, gdzie
utworzono wspólną książkę kodową dla wszystkich użytkowników, można zauważyć nieco
gorsze rezultaty niż w przypadku rozpoznawania audio-wideo mowy. Spowodowane jest to
faktem, iż celowo zmieniono próg prawdopodobieństwa, aby zmniejszyć elastyczność
systemu i zapobiec zbyt dużemu błędowi FAR. Dodatkowo w przypadku identyfikacji
użytkownika system uczono tylko na jednym nagraniu dla każdego z użytkowników, bez
możliwości wielokrotnego powtarzania jednej i tej samej wypowiedzi. Uzyskane wyniki
potwierdzają tezę, że w przypadku wyraźnie zakłóconych sygnałów audio mowy, sporą
154
pomocą w podjęciu decyzji przez system jest wykorzystanie sygnału wideo mowy, z
założenia niezakłóconej (przy SNR = 0 dB, FRR_audio = 67,66, FRR_audio-wideo =
ASr_I{51,66 %}). Gdy sygnał audio nie jest zakłócony, poziom błędów identyfikacji
użytkownika na podstawie audio-wideo mowy jest podobny do poziomu błędów w przypadku
identyfikacji użytkownika na podstawie samej audio mowy (przy SNR = 20 dB, FRR_audio =
5,33 %, FRR_audio-wideo = ASr_I{4,66 %}).
Na Rys.7.2 przedstawiono zestawienie poziomu błędów identyfikacji użytkowników
na podstawie ich audio oraz audio-wideo mowy, jako zależność WER i SNR. Wyniki
uzyskano dla utworzonej bazy AV_BI.
0
10
20
30
40
50
60
70
80
0 5 10 15 20
SNR [dB]
WER
[%] audio-wideo
ASr_Iaudio
Rys.7.2 Wyniki identyfikacji użytkowników na podstawie audio i audio-wideo mowy
Na Rys.7.3 pokazano wynik porównania poziomu błędów rozpoznawania audio-wideo
mowy polskiej przy pomocy opracowanej metody AV_Mowa_PL, z poziomem błędów
rozpoznawania audio-wideo mowy angielskiej przy pomocy metod AV-Concat, AV-HiLDA,
AV-Enhanced oraz AV-MS-Joint. Można zauważyć, że uzyskane wyniki dla metody
AV_Mowa_PL są gorsze niż w badaniach z etapu 5. Spowodowane jest to znacznie
ograniczonym zbiorem wypowiedzi uczących (tylko po jednym powtórzeniu każdej
wypowiedzi).
155
0
10
20
30
40
50
60
70
0 5 10 15 20
SNR [dB]
WER
[%]
AV-ConcatAV-HiLDAAV-EnhancedAV-MS-JointAV_Mowa_PL
Rys.7.3 Wyniki porównania metody AV_Mowa_PL z istniejącymi metodami rozpoznawania mowy angielskiej
Porównując metodę rozpoznawania audio-wideo mowy AV_Mowa_PL z istniejącymi
metodami opisanymi w rozdziale 1, uzyskano bardzo podobne wyniki. Do porównania
wybrano metodę fuzji charakterystyk sygnałów audio i wideo ASr_I, gdyż dla tej metody
uzyskano najmniejsze błędy FRR rozpoznawania audio-wideo mowy, przy różnym SNR.
Mimo, iż zaproponowaną metodę testowano na innej niż pozostałe metody bazie, to wyniki
porównania można uznać za wiarygodne, gdyż uzyskano zbliżone warunki testowe do bazy
IBM ViaVoice, LVCSR, na której przetestowano pozostałe metody.
Obserwując wyniki można zauważyć, że dla metody AV_Mowa_PL uzyskano
najmniejszy poziom błędów przy SNR wynoszącym 20 i 15 dB (przy SNR = 20 dB, FRR =
11,29 %, przy SNR = 15 dB, FRR = 17,22 %), lepiej niż najlepsza z pozostałych metod,
metoda AV-MS-Joint (przy SNR = 20 dB, FRR = 11,37 %, przy SNR = 15 dB, FRR = 17,42
%). Przy większym zaszumieniu sygnału audio mowy, czyli przy SNR równym 10, 5 oraz 0
dB, dla metody AV_Mowa_PL uzyskano nieco gorsze wyniki niż dla metody AV-MS-Joint,
jednak lepsze od pozostałych wyników uzyskanych dla metod AV-Concat, AV-Enhanced oraz
AV-HiLDA.
Atutem metody AV_Mowa_PL jest wysoka skuteczność, która uzyskana jest w
wyniku wykorzystania fuzji audio-wideo sygnałów, przy jednoczesnej prostocie trekingu
ust i kodowania wideo charakterystyk. A poza tym jest to jedyna, wiadoma autorowi,
metoda, jaką zastosowano dla języka polskiego.
156
WNIOSKI KOŃCOWE
Praca dotyczy opracowania metody AV_Mowa_PL do rozpoznawania słów izolowanych
audio-wideo mowy polskiej, w której do podjęcia decyzji o rozpoznawanej wypowiedzi
wykorzystuje się charakterystyki synchronicznych sygnałów audio i wideo mowy. Założono,
że głównym sygnałem jest sygnał audio, który może zostać zakłócony, natomiast sygnał
wideo, który nie może zostać zakłócony, służy do wspomagania w podjęciu decyzji.
Sformułowano i opracowano nowe dla polskiej mowy zagadnienie rozpoznawania mowy oraz
identyfikacji użytkownika, które może być wykorzystywane w systemach sterowania
systemem operacyjnym, kontroli dostępu. Jako aparat matematyczny do rozpoznawania
wykorzystano ukryte modele Markowa UMM.
W pracy:
1. Stworzono metodę AV_Mowa_PL, a także odpowiedni system programowy AVM_PL do
rozpoznawania słów izolowanych audio-wideo mowy polskiej, bazujące się na fuzji audio
i wideo sygnałów (czytania z ruchu warg); jako matematyczne narzędzie do
rozpoznawania wykorzystano ukryte modele Markowa (UMM).
2. Opracowano pomocnicze metody ES i CZS do definiowania początku i końca słów
izolowanych audio mowy, a także zbadano efekt połączenia tych metod dla skrajnych
przypadków.
3. Zbadano specyfikę tworzenia wektorów obserwacji audio mowy polskiej za pomocą
kodowania współczynników cepstralnych.
4. Opracowano metodę trekingu ust na podstawie metod: detekcji twarzy w oparciu o kolor
skóry; lokalizacji oczu i definiowania obszaru ust; stworzonej metody CSM do
wykrywania kącików i zewnętrznych krawędzi ust.
5. Opracowano metodę EP do ekstrakcji/kodowania wektorów obserwacji wideo mowy.
6. Zdefiniowano i zbadano efektywność metod Sr, ASr_I i ASr_II fuzji charakterystyk
sygnałów audio-wideo mowy.
7. Dobrano struktury i parametry modeli UMM, a także optymalny rozmiar książki kodowej
wypowiedzi polskich mówców.
8. Eksperymentalnie udowodniono większą efektywność identyfikacji użytkownika na
podstawie audio-wideo mowy, od identyfikacji na podstawie tylko audio mowy.
9. Stworzono dla wymagań testowania metody AV_Mowa_PL bazę AV_BM do
rozpoznawania słów izolowanych audio-wideo mowy, zawierającą zbiór komend
157
sterowania systemem operacyjnym, i bazę AV_BI do identyfikacji użytkownika na
podstawie audio-wideo mowy.
10. Przeprowadzono szereg badań, na podstawie których dokonano eksperymentalnego
potwierdzenia faktu, że rozpoznawanie audio-wideo mowy jest szczególnie przydatne w
warunkach mocno zakłóconego sygnału audio, dając zdecydowanie mniejszy poziom
błędów niż rozpoznawanie w tych samych warunkach samej audio mowy.
Na podstawie przeprowadzonych badań stwierdzono:
1. Poprawność postawionej tezy badawczej.
2. Dostatecznie wysoki poziom naukowo-techniczny opracowanej metody AV_Mowa_PL,
złożonej z komponentów charakteryzujących się nowatorstwem w realizacji.
Przedstawiona metoda charakteryzuje się nowatorstwem:
1. Opracowanie metod ES i CZS do definiowania początku i końca słów izolowanych audio
mowy, dla których zaproponowano połączone działanie.
2. Opracowanie metody CSM do wykrywania kącików i zewnętrznych krawędzi ust w
procesie trekingu ust oraz metody Sr, ASr_I i ASr_II do łączenia charakterystyk sygnałów
audio i wideo mowy polskiej.
3. Opracowanie metody AV_Mowa_PL do rozpoznawania audio-wideo mowy polskiej oraz
identyfikacji użytkownika.
W porównaniu z istniejącymi metodami rozpoznawania audio-wideo mowy angielskiej,
charakterystyki techniczne metody AV_Mowa_PL są porównywalne. Poziom błędów
uzyskany na podstawie przeprowadzonych badań jest zbliżony do metod rozpoznawania
audio-wideo mowy AV-Concat, AV-HiLDA, AV-Enhanced, AV-MS-Joint, wahając się w
granicach pomiędzy najlepszą a najgorszą z przytoczonych metod.
Atutem metody AV_Mowa_PL jest zadawalająca skuteczność opracowanego trekingu
ust oraz prostota i funkcjonalność zaproponowanych metod Sr, ASr_I i ASr_II fuzji
charakterystyk audio i wideo. Uzyskano zdecydowanie mniejsze poziomy błędów
rozpoznawania audio-wideo mowy w porównaniu z rozpoznawaniem samej audio mowy,
szczególnie w warunkach mocno zakłóconego sygnału audio.
Analizując literaturę pod kątem istniejących metod rozpoznawania audio-wideo mowy
nie napotkano na prace dotyczące rozpoznawania audio-wideo mowy dla języka polskiego.
158
WYKAZ DEFINICJI I SKRÓTÓW
Audio mowa – mowa charakteryzowana wyłącznie przez dźwięk; stanowi sekwencję
fonemów.
Wideo mowa – mowa charakteryzowana wyłącznie przez obraz; stanowi sekwencję
wideo przedstawiającą ruch ust mówcy.
Audio-wideo mowa – mowa charakteryzowana zarówno przez dźwięk, jak i obraz;
stanowi sekwencję fonemów i odpowiadającą im sekwencję wideo ruchu ust mówcy.
Obserwacja – wartości krótkookresowe zakodowanej stacjonarnej ramki
dźwiękowej/wideo, która poddana kwantyzacji wektorowej, jest przedstawiana w formie
symbolu obserwacji.
Wektor obserwacji – wartości długookresowe sekwencji dźwiękowej/wideo; stanowi
zbiór czasowej sekwencji obserwacji.
Książka kodowa –zbiór różnych, pojedynczych symboli kodowych, reprezentujących
poszczególne obszary przestrzeni akustycznej/wideo.
Mowa izolowana – mowa złożona z poszczególnych słów, oddzielonych od siebie
celowo robionymi przerwami w wypowiedzi.
Treking ust – śledzenie na bieżąco ruchu ust, poprzez sekwencyjną lokalizację na
obrazie kącików i krawędzi ust.
Fonem - zbiór alofonów, które mają jednakowe funkcje i nie wywołają znaczeniowych
rozróżnień w obrębie danego języka; fonem to inaczej głoska.
Diafon - jednostka językowa, która zawiera informację przejściową od środka quasi-
stacjonarnych odcinków pary samogłoska-spółgłoska lub spółgłoska-samogłoska.
Trifon – model uwzględniający pojedyncze lewo i prawostronne sąsiedztwo
wymawianej głoski.
AAM aktywny model wyglądu (ang. Active Appearance Model).
ALR automatyczne czytanie z ruchu warg (ang. Automatic Lip-Reading).
ALT ciągłe śledzenie ruchu ust (ang. Automatic Lip-Tracking).
ANN sztuczne sieci neuronowe (ang. Artificial Neural Network).
ASM aktywny model kształtu (ang. Active Shape Model).
ASr_I pierwsza asynchroniczna metoda fuzji charakterystyk sygnałów audio-
wideo.
ASr_II druga metoda fuzji charakterystyk sygnałów audio- wideo.
159
AV_BI baza danych do identyfikacji użytkownika na podstawie słów izolowanych
audio-wideo mowy polskiej.
AV_BM baza izolowanych komend sterowania systemem operacyjnym, zawierająca
nagrania audio-wideo mowy polskiej.
AV_Mowa_PL metoda rozpoznawania słów izolowanych audio-wideo mowy polskiej.
AVM_PL system do rozpoznawania słów izolowanych audio wideo mowy polskiej.
AVSR rozpoznawanie audio-wideo mowy (ang. Audio-Visual Speech Recognition).
CSM metoda wyznaczania kącików ust, bazująca na specyficznym kolorze i
kształcie ust (ang. Color and Shape of Mouths)
CZS algorytm bazowany na charakterystykach częstości zmian sygnału.
DCT dyskretna transformata kosinusowa (ang. Discrete Cosine Transform).
DFFS dystans pomiędzy wektorami w przestrzeni (ang. Distance From Face
Space).
DTW dynamiczna zmienność w czasie (ang. Dynamic Time Warping).
DWT dyskretna transformata falkowa (ang. Discrete Wavelet Transform).
EP metoda ekstrakcji i kodowania parametrów z ruchomego obrazu ust,
ES algorytm bazowany na charakterystykach energii sygnału.
FAR współczynnik błędnej akceptacji (ang. False Acceptance Rate).
FFT, IFFT prosta i odwrotna szybka transformacja Fouriera (ang. Fast Fourier
Transform).
FL lokalizacja twarzy (ang. Face Localization).
FRR współczynnik błędnego odrzucenia (ang. False Rejection Rate).
FT treking twarzy (ang. Face Tracking).
GMIP metoda obliczania gradientów jasności pikseli wzdłuż kolumn i wierszy
obrazu wejściowego, a następnie integralnej projekcji poziomej i pionowej
(ang. Gradient Method and Integral Projection).
LDA liniowa analiza dyskryminacyjna (ang. Linear Discriminant Analysis)
LKU algorytm lokalizacji krawędzi ust.
LPC liniowe kodowanie predykcyjne (ang. Linear Prediction Coding).
LT algorytm lokalizacji twarzy.
LU algorytm lokalizacji ust.
MFCC współczynniki cepstralnej w częstotliwościowej skali mel (ang. Mel
Frequency Cepstral Coefficients).
160
MLLT maksymalne prawdopodobieństwo transformacji liniowej (ang. Maximum
Likelihood Linear Transform).
PCA analiza głównych komponentów (ang. Principal Components Analysis).
PDF funkcją gęstości prawdopodobieństwa (ang. Probability Density Function).
SCD metoda wyodrębniania twarzy z obrazu kolorowego, bazująca na
specyficznym kolorze (ang. Skin Color Detection).
SNR stosunek sygnału do szumu (ang. Signal to Nosie Ratio).
SOI filtr o skończonej odpowiedzi impulsowej.
SR czytanie mowy (ang. Speech Reading).
Sr Synchroniczna metoda fuzji charakterystyk sygnałów audio-wideo.
UMM Ukryte Modele Markowa (ang. Hidden Markov Model).
WER współczynnik błędu rozpoznawania słów (ang. Word Error Rate).
161
SUMMARY
THE METHOD OF AUDIO-VISUAL POLISH SPEECH RECOGNITION BASED ON
HIDDEN MARKOV MODELS
The problem of speech recognition is one of the main questions of many research centers at
present. The recognition of speech is used in many areas. Interest of this discipline is a result
of potential possibilities of practical applications in real world, where the audio signal is very
intensely disturbed and changed.
In the work, the method was proposed to limitation of negative influence of external
factors on audio speech. The method, called as AV_Mowa_PL and based on hidden Markov
models, was worked up to recognition of audio-visual Polish speech. Novel peculiarity of the
method is using vector of data, in which the audio and visual signals were joined. The method
AV_Mowa_PL was proposed also to speaker identification.
To extraction of the audio feature of person’s speech, the mechanism of cepstral
speech analysis was applied. The mechanism uses a bank of amplitude-frequency filters with
characteristics similar to human hearing. Own methods was created to determine the
beginning and end of isolated words in audio speech.
To extracting of the visual feature, automatic methods of detection of face, eyes and
region of mouth was used. The visual features are the corners and outside edges of the lips.
The method CSM (Color and Shape of Mouth) worked up to detect the corners and outside
edges of the lips, needed to obtain a precise level of function for lip-tracking procedures.
Three methods of fuse the audio and visual signals were proposed. In first method, vector of
observation of audio-visual speech is resultant from separate observation of both signals. In
second, separate vectors of observation of both signals are passed in succession for this
individual model. In third, separate models were applied for vectors of observation of both
signals.
An advantage of the method AV_Mowa_PL is the satisfactory effectiveness created by
the lip-tracking procedures, and the simplicity and functionality by the proposed methods,
which fuse together the audio and visual signals. A decisively lower level of mistakes was
obtained in audio-visual speech recognition, and speaker identification, in comparison to only
audio speech, particularly in facilities, where the audio signal is strongly disrupted. The
method obtains similar results to other existing audio-visual speech recognition methods,
published in scientific literature.
162
LITERATURA
1. Adjoudani A., et al.: „A multimedia platform for audio-visual speech processing”. Proc.
European Conference on Speech Communication and Technology, Rhodes, 1997,
Grecee, 1671–1674
2. Adjoudani, A., Benoit, C.: „On the integration of auditory and visual parameters in an
HMM-based ASR”. In Stork, D. G., Hennecke M. E., (Eds.): „Speechreading by
Humans and Machines”. Berlin, 1996, Germany: Springer, 461–471
3. Alissali, M., Del´eglise, P., Rogozan, A.: „Asynchronous integration of Visual
information in an automatic speech recognition system”. Proc. International Conference
on Spoken Language Processing, Philadelphia, 1996, PA, 34–37
4. Andr´e-Obrecht, R., Jacob, B., Parlangeau, N.: „Audio visual speech recognition and
segmental master slave HMM”. Proc. European Tutorial Workshop on Audio-Visual
Speech Processing, Rhodes, 1997, Greece, 49–52
5. Baldi, P., et al.: „Hidden Markov-Models of Biological Primary Sequence Information”.
Proc. National Academy of Science of the United States, 91(3): 1059-1063, 1994
6. Basu, S., Oliver, N., Pentland, A.: „3D modeling and tracking of human lip motions”.
Proc. International Conference on Computer Vision, Mumbai, 1998, India, 337-343
7. Basztura, C.: „Rozmawiać z komputerem”. Wydawnictwo Prac Naukowych FORMAT,
Wrocław, 1992
8. Baum, L. E., Patrie, T.: „Statistical interface for probabilistic functions of finite state
Markov chains”. Ann. Math. Statist. 37, 1966
9. Bogert, B. P., Healy, M. J. R., Tukey, J. W.: „The Frequency Analisys of Time-Series
for Echoes”. Proc. Symp. Time Series Analisys, 1963, Chap, 209-243
19. Bregler, C., et al.: „Improving connected letter recognition by lipreading”. Proc.
International Conference on Acoustics, Speech and Signal Processing, Minneapolis,
1993, MN, 557-560
11. Bregler, C., Konig, Y.: „Eigenlips for robust speech recognition”. Proc. International
Conference on Acoustics, Speech and Signal Processing, Adelaide, 1994, Australia,
557–560
12. Bub, U., Hunke, M., Waibel, A.: „Knowing who to listen to in speech recognition:
Visually guided beamforming”. Proc. International Conference on Acoustics, Speech
and Signal Processing, Detroit, 1995, MI, 848-851
163
13. Chan, M. T., Zhang, Y., Huang, T. S.: „Real-time liptracking and bimodal continuous
speech recognition”. Proc. Workshop on Multimedia Signal Processing, Redondo Beach,
1998, CA, 65–70
14. Chan, M. T.: „HMM based audio-visual speech recognition integrating geometric- and
appearance-based visual features”. Proc. Workshop on Multimedia Signal Processing,
Cannes, 2001, France, 9-14
15. Chandramohan, D., Silsbee, P. L.: „A multiple deformable template approach for Visual
speech recognition”. Proc. International Conference on Spoken Language Processing,
Philadelphia, 1996, PA, 50-53
16. Chandramohan, D.: „Realistic articulated character positioning and balance control in
interactive environments”. Proc. Computer Animation, 1999, 160-168
17. Chartfield, C., Collins, A. J.: „Introduction to Multivariate Analysis”. London, 1991,
UK: Chapman and Hall
18. Chen, T., Graf, H. P., Wang, K.: „Lip synchronization using speech-assisted video
processing”. IEEE Signal Processing Letters, 1995, 2(4): 57-59
19. Chibelushi, C. C., Deravi, F., Mason, J. S. D.: „A review of speech-based bimodal
recognition”. IEEE Transactions on Multimedia, 2002, 4(1): 23–37
20. Chibelushi, C. C., Deravi, F., Mason, J. S. D.: „Survey of Audio Visual Speech
Databases”. Technical Report, Swansea, 1996, U. K.: Dep. Electrical and Electronic
Engineering, University of Wales
21. Chiou, G., et al.: „Lipreading from color video”. IEEE Transactions on Image
Processing, 1997, 6(8): 1192-1195
22. Chu, S., Huang, T.: „Bimodal speech recognition Using coupled hidden Markov
models”. Proc. International Conference on Spoken Language Processing, Beijing, 2000,
China, vol. II, 747–750
23. Churchill, G. A.: „Hidden Markov chains and the analysis of genome structure”.
Computers Chem. 16 (1982)
24. Cohen, M. M., Massaro, D. W.: „What can Visual speech synthesis tell visual speech
recognition?”. Proc. Asilomar Conference on Signals, Systems, and Computers, Pacific
Gove, 1994, CA
25. Cootes, T. F., Edwards, G. J., Taylor, C. J.: „Active appearance models”. Proc. European
Conference on Computer Vision, Freiburg, 1998, Germany, 484-498
164
26. Cootes, T. F., Edwards, G. J., „Real-time Lip-tracking For Virtual Lip Implementation in
Virtual Environments and Computer Games”. Proc. International Fuzzy Systems
Conference, 2001
27. Cootes, T. F., et al.: „Active shape models – their training and application”. Computer
Vision and Image Understanding, 1995, 61(1): 38-59
28. Cosatto, E., Potamianos, G., Graf, H. P.: „Audio-visual unit selection for the synthesis of
photo-realistic talking-heads”. Proc. International Conference on Multimedia and Expo,
New York, 2000, NY, 1097-1100
29. Czap, L.: „Lip representation by image ellipse”. Proc. International Conference on
Spoken Language Processing, Beijing, 2000, China, vol. IV, 93–96
30. Dalton, B., Kucic, R., Blade, A.: „Automatic speechreading using dynamic contours”. In
Stork, D. G., Hennecke, M. E., (Eds.): „Speechreading by humans and Machines”.
Berlin, 1996, Germany: Spinger, 373-382
31. De Cuetos, P., Neti, C., Senior, A.: „Audio-visual intent to speak detection for human
computer interaction”. Proc. International Conference on Acoustics, Speech and Signal
Processing, Istanbul, 2000, Turkey, 1325-1328
32. Deller, J. R., Proakis, J. G., Hansen, J. H. L.: „Discrete-Time Processing of Speech
Signal”. Englewood Clifs, 1993, NJ: Macmillan Publishing Company
33. Do, M. N.: „An Automatic Speaker Recognition System”. DSP Mini-project,
Switzerland, 1996
34. Dougherty, E. R., Giardina, C. R.: „Image Processing – Continuous to Discrete, Vol. 1.
Geometric, Transform, and Statistical Methods”. Englewood Cliffs, 1987, NJ: Prentice
Hall
35. Dryden, I. L., Mardia, K. V.: „Statistical Shape Analysis”. London, 1998, United
Kingdom: John Wiley and Sons
36. Duchnowski, P., Meier, U., Waibel, A.: „See me, hear me: Integrating automatic speech
recognition and lipreading”. Proc. International Conference on Spoken Language
Processing, Yokohama, 1994, Japan, 547-550
37. Dupont, S., Luettin, J.: „Audio-visual speech modeling for continuous speech
recognition”. IEEE Transactions on Multimedia, 2000, 2(3): 141–151
38. Elliot, R. J., Aggoun, L., Moore, J. B.: „Hidden Markov Models Estimation and
Control”. New York, Springer, 1995
39. Ferguson, J. D.: „Hidden Markov Analysis: An Introduction in Hidden Markov Models
for Speech”. Institute for Defense Analyses, Princeton, New Jersey, 1980
165
40. Froba, B., et al.: „Multi-sensor biometric person recognition in an access control
system”. Proc. International Conference on Audio and Video-based Biometric Person
Authentication, Washington, 1999, DC, 55-59
41. Furui, S.: „Digital Speech Processing, Synthesis, and Recognition”. New York: Marcel
Dekker Inc., 1989
42. Girin, L., Feng, G., Schwartz, J. L.: „Noisy speech enhancement with filters estimated
from the speaker’s lips”. Proc. European Conference on Speech Communication and
Technology, Madrid, 1995, Spain, 1559-1562
43. Girin, L., Schwartz, J. L., Feng, G.: „Audio-visual enhancement of speech in noise”.
Journal of the Acoustical Society of America, 2001, 109(6): 3007-3020
44. Goldschen, A. J., Garcia, O. N., Petajan, E. D.: „Rationale for phoneme-viseme mapping
and feature selection in visual speech recognition”. In Stork, D. G., Hennecke, M. E.,
(Eds.): „Speechreading by Humans and Machines”. Berlin, 1996, Germany: Springer,
505–515
45. Golub, G. H., Van Loan, C. F.: „Matrix Computations”. Baltimore, 1983, MD, The
Johns Hopkins University Press
46. Gonzales, A. J., Garcia, O. N., Petajan, E. D.: „Rationale for phoneme-viseme mapping
and feature selection In Visual speech recognition”. In Stork, D. G., Hennecke, M. E.,
(Eds.), „Speechreading by Humans and Machines”. Berlin, 1996, Germany: Springer,
505-515
47. Gopinath, R. A.: „Maximum likelihood modeling width Gaussian distributions for
classification”. Proc. International Conference on Acoustics, Speech and Signal
Processing, Seattle, 1998, WA, 661-664
48. Graf, H. P., Cosatto, E., Potamianos, G.: „Robust recognition of faces and facial features
with a multi-modal system”. Proc. International Conference on Systems, Man, and
Cybernetics, Orlando, 1997, FL, 2034-2039
49. Gurbuz, S., et al.: „Application of affine-invariant Fourier descriptors to lipreading for
audio-visual speech recognition”. Proc. International Conference on Acoustics, Speech
and Signal Processing, Salt Lake City, 2001, UT, 177–180
50 Heckmann, M., Berthommier, F., Kroschel, K.: „A hybrid ANN/HMM audio-visual
speech recognition system”. Proc. International Conference on Auditory-Visual Speech
Processing, Aalborg 2001, Denmark, 190–195
166
51. Hennecke, M. E., Stork, D. G., Prasad, K. V.: „Visionary speech: Looping ahead to
practical speechreading systems”. In Stork, D. G., Hennecke, M. E., (Eds.):
„Speechreading by Humans and Machines”. Berlin, 1996, Germany: Springer, 331–349
52. http://sjikp.us.edu.pl/ps/ps_29_10.html
53. Huang, F. J., Chen, T.: „Consideration of Lombard effect for speechreading”. Proc.
Workshop on Multimedia Signal Processing, Cannes, 2001, France, 613–618
54. Iyengar, G., et al.: „Robust detection of Visual ROI for automatic speechreading”. Proc.
Workshop on Multimedia Signal Processing, Cannes, 2001, France, 79-84
55. Iyengar, G., Neti, C.: „Detection on faces under shadows and lighting variations”. Proc.
Workshop on Multimedia Signal Processing, Cannes, 2001, France, 15-20
56. Izworski, A., Tadeusiewicz, R.: „Metody komputerowej ekstrakcji parametrów
dystynktywnych z ciągłego sygnału mowy polskiej”. Archiwum Akustyki, 1983, vol. 18,
nr 3, 253-274
57. Jain, A., Bolle, R., Pankanti, S.: „Introduction to Biometrics”. In Jain, A., Bolle, R.,
Pankanti, S., (Eds.): „Biometrics. Personal Identification in Networked Society”. Orwell,
1999, MA, Kluwer Academic Publisher, 1-41
58. Jourlin, P., et al.: „Acoustic-labial speaker verification”. Pattern Recognition Letters,
1997, 18(9): 853-858
59. Kanugo, T.: „Hidden Markov Models”. www.cfar.umd.edu/~kanugo, April, 1998
60. Kass, M., Witkin, A., Terzopoluos, D.: „Snakes: Active contour models”. International
Journal of Computer Vision, 1988, 1(4): 321-331
61. Kompanec, L., Kubanek, M., Rydzek, Sz.: “Czestochowa’s Precise Model of a Face
Based on the Facial Asymmetry, Ophthalmogeometry, and Brain Asymmetry
Phenomena: the Idea and Algorithm Sketch”. 10th International Multi-Conference on
Advanced Computer Systens ACS, October 22-24, Międazyzdroje
62. Kompanec, L., Kubanek, M.: „Specyfika wykorzystania ukrytych modeli Markowa
przy rozpoznawaniu mowy polskiej”. Informatyka Teoretyczna i Stosowana,
Wydawnictwo Politechniki Częstochowskiej, Częstochowa 2002, nr 3, 45-56
63. Kompanec, L., Wyrzykowski, R., Kubanek, M.: „Zintegrowana metoda
identyfikacji/autentyfikacji użytkownika na bazie sygnałów mowy polskiej i ruchu
warg”. Proc. Intern. Conference IT.FORUM SECURE 2002, Holiday Inn, Warszawa, 6-
7 November 2002, Wydawnictwo NASK i firma MULTICOPY, vol.1, 96-110
64. Kompanets, L., Kubanek, M., Rydzek, Sz.: “Czestochowa Precise Model of a Face
Based on the Facial Asymmetry, Opthalmogeometry, and Brian Asymmetry Phenomena:
167
the Idea and Algorithm Sketch”. Enhanced Methods in Computer Security, Biometric
and Artificial Intelligence Systems, Edited by Jerzy Pejaś, Andrzej Piegat, Kluwer
Academic Publishers, 2005 Springer Science + Business Media, Inc., 239-251
65. Kompanets, L., Kubanek, M., Rydzek, Sz.: “Czestochowa-Faces and Biometrics of
Asymmetrical Face”. Proc. 7th Intern. Conference of Artificial Intelligence and Soft
Computing, ICAISC 2004 - Springer-Verlag Berlin Heildelberg, 2004, LNAI 3070, 742-
747
66. Kompanets, L., Valchuk, T., Wyrzykowski, R., Kubanek, M., Rydzek, Sz., Makowski,
B.: “Based on Pseudo-Information Evaluation, Face Asymmetry and
Ophthalmogeometry Techniques for Human-Computer Interaction, Person Psyche Type
Identification, and Other Applications”. The 7th World Multiconferenceon Systemics,
Cybernetics and Informatics, Orlando, Florida, USA 27-30 July 2003
67. Krone, G., et al.: „Neural architectures for sensorfusion in speech recognition”. Proc.
European Tutorial Workshop on Audio-Visual Speech Processing, Rhodes, 1997,
Greece, 57–60
68. Kubanek, M.: „ Technique of extraction video features for audio - video speech
recognition system”. CMIT, 2005
69. Kubanek, M.: „Metoda krawędziowania "EDGE" do ekstrakcji cech obrazu ust w
technice zintegrowanego rozpoznawania audio/video mowy”. Informatyka Teoretyczna i
Stosowana, Wydawnictwo Politechniki Częstochowskiej, Częstochowa 2003, nr 4, 115-
125
70. Kukharev, G., Kuźmiński, A.: „Techniki biometryczne. Część 1: Metody Rozpoznawania
Twarzy”. Wydział Informatyki, Politechnika Szczecińska, 2003
71. Levison, S. E., Labiner, L. R., Sondhi, M. N.: An introduction to the application of the
theory of probabilistic functions of Markov process to automatic speech recognition.
Bell System Tech., J., 62 (1983)
72. Luettin, J., Thacker, N. A.: „Speechreading using probabilistic models”. Computer
Vision and Image Understanding, 1997, 65(2): 163-178
73. Luettin, J., Tracker, N. A., Beet, S. W.: „Speechreading using shape and intensity
information”. Proc. International Conference on Spoken Language Processing,
Philadelphia, 1996, PA, 58-61
74. Lyons, R. G.: „Wprowadzenie do cyfrowego przetwarzania sygnałów”. WKiŁ,
Warszawa, 1999
168
75. Maison, B., Neti, C., Senior, A.: „Audio-visual speaker recognition for broadcast news:
some fusion techniques”. Proc. Workshop on Multimedia Signal Processing,
Copenhagen, 1999, Denmark, 161-167
76. Makinen, V.: „Front-end Feature Extraction with Mel-scaled Cepstral Coefficients”.
Helsinki University of Technology, 2000
77. Mase, K., Pentland, A.: „Automatic lipreading by optical flow analysis”. Systems and
Computers in Japan, 22(6): 67-76, 1991
78. Massaro, D. W., Stork, D. G.: „Speech recognition and sensory integration”. American
Scientist, 86(3): 236-244, 1998
79. Mattews, I., et al.: „A comparison of model and transform-based visual features for
audio-visual LVCSR”. Proc. International Conference on Multimedia and Expo, Tokyo,
2001, Japan
80. Mattews, I., Bangham, M. E., Cox, S.: „Audio-visual speech recognition using
multiscale nonlinear image de composition”. Proc. International Conference on Spoken
Language Processing, Philadelphia, 1996, PA, 38–41
81. Movellan, J. R., Chadderdon, G.: „Chanel separability in the audio visual integration of
speech: A Bayesian approach”. In Stork, D. G., Hennecke M. E., (Eds.): „Speechreading
by Humans and Machines”. Berlin, 1996, Germany: Springer, 473–487
82. Nakamura, S., Ito, H., Shikano, K.: „Stream wright optimization of speech and lip image
sequence for audio-visual speech recognition”. Proc. International Conference on
Spoken Language Processing, Beijing, 2000, China, vol. III, 20–23
83. Nefian, A. V., et al.: „Dynamic Bayesian networks for audio-visual speech recognition”.
In Press: EURASIP Journal on Applied Signal Processing, 2002
84. Neti, C., et al.: „Audio Visual Speech-Recognition”. Workshop 2000 Final Report,
October 12, 2000
85. Oppenheim, A. V., Schafer, R. W.: „Discrete-Time Signal Processing”. Prentice-Hall,
1989, 447-448
86. Petajan, E. D.: „Automatic lipreading to enhance speech recognition”. Proc. Global
Telecommunications Conference, Atlanta, 1984, GA, 265–272
87. Potamianos, G., et al.: „A cascade visual front end for speaker independent automatic
speechreading”. International Journal of Speech Technology, 2001, 4(3-4): 193-208
88. Potamianos, G., Graf, H. P., Cosatto, E.: „An image transform approach for HMM based
automatic lipreading”. Proc. International Conference on Image Processing, Chicago,
1998, IL, vol. I, 173–177
169
89. Potamianos, G., Graf, H. P.: „Discriminative training of HMM stream exponents for
audio-visual speech recognition”. Proc. International Conference on Acoustics, Speech
and Signal Processing, Seattle, 1998, WA, 3733– 3736
90. Potamianos, G., Neti, C.: „Improved ROI and within frame discriminant features for
lipreading”. Proc. International Conference on Image Processing, Thessaloniki, 2001,
Grece, vol. III, 250-253
91. Press, W. H., et al.: „Numerical Recipes in C”. The Art. Of Scientific Computing,
Cambridge, 1995, UK: Cambridge University Press
92. Rabiner, L., Juang, B. H.: „Fundamentals of Speech Recognition”. Englewood Cliffs, NJ
1993, Prentice Hall
93. Rao, C. R.: „Linear Statistical Interference and Its Applications”. New York, 1965, NY:
John Wiley and Sons
94. Reddy, D.: „Speech recognition by machine: a review”. Proc. IEEE, April 1976, vol. 64,
No 4
95. Rowley, H. A., Baluja, S., Kanade, T.: „Neural network-based face detection”. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(1): 23-38
96. Sayood, K.: „Kompresja danych – wprowadzenie”. Wydawnictwo RM, Warszawa, 2002
97. Senior, A. W.: „Face and feature finding for a face recognition system”. Proc.
International Conference on Audio and Video-based Biometric Person Authentication,
Washington, 1999, DC, 154-159
98. Senior, A. W.: „Visual Speech: A Physiological or Behavioural Biometrics“. Audio- and
Video-Based Biometric Person Authentication, 1998, LNCS 2091, 157-168
99. Silsbee, P. L., Bovik, A. C.: „Computer lipreading for improved accuaracy in automatic
speech recognition”. IEE Transactions on Speech and Audio Processing, 1996, 4(5):
337-351
100. Silsbee, P. M.: „Motion in deformable templates”. Proc. International Conference on
Image Processing, Austin, 1994, TX, vol. 1, 323-327
101. Stiefelhagen, R., Meier, U., Yang, J.: „Real-Time Lip-Tracking for Lipreading”.
Interactive Systems Laboratories, USA-Germany
102. Su, Q., Silsbee, P. L.: „Robust audiovisual integration using semicontinuous hidden
Markov models”. Proc. International Conference on Spoken Language Processing,
Philadelphia, 1996, PA, pp.42–45
103. Sung, K., Loggio, T.: „Example-based learning for view-based human face detection”.
IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(1): 39-51
170
104. Swets, D. L., Weng, J.: „Using discriminant eigenfaces for image retrieval”. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 1996, 18(8): 831-836
105. Tadeusiewicz, R.: „Sygnał mowy”. WKiŁ, Warszawa, 1988
106. Teissier, P., Robert-Ribes, J., Schwartz, J. L.: „Comparing models for audiovisual fusion
in a noisy-vowel recognition task”. IEEE Transactions on Speech and Audio Processing,
1999, 7(6): 629–642
107. Wahab, A., See Ng, G., Dickiyanto, R.:”Speaker Verification System Based on Human
Auditory and Fuzzy Neural Network System”. Neurocomputing Manuscript Draft,
Singapore
108. Wai, C. C.: „Speech Coding Algorithms”. Foundation and Evolution of Standardized
Coders. John Wiley & Sons, Inc., Hoboken, New Jersey, 2003
109. Wang, C., Brandstein, M. S.: „Multi-source face tracking with audio and Visual data”.
Proc. Workshop on Multimedia Signal Processing, Copenhagen, 1999, Denmark,
pp.475-481
110. Wark, T., Sridharan, S., „A syntactic approach to automatic lip feature extraction for
speaker identification”. Proc. International Conference on Acoustics, Speech and Signal
Processing, Seattle, 1998, WA, 3693-3696
111. Wiśniewski, A. M.: „Automatyczne rozpoznawanie mowy bazujące na ukrytych
modelach Markowa – problemy i metody”. Biuletyn IAiR WAT, nr 12, 2000
112. Wiśniewski, A. M.: „Niejawne modele Markowa w rozpoznawaniu mowy”. Biuletyn
IAiR WAT, nr 7, 1997
113. Yang, J., Waibel, A.: „A Real-time face tracking”. In Proc. WACV, 142-147, 1996
114. Young, S., et al.: „The HTK Book”. Cambridge, 1999, United Kingdom: Entropic Ltd
115. Yuille, A. L., Hallinan, P. W., Cohen, D. S.: „Feature extraction from faces using
deformable templates”. International Journal of Computer Vision, 1992, 8(2): 99-111
116. Zhang, X., et al.: „Automatic speechreading with applications to human-computer
interfaces”. In Press: EURAISP Journal on Applied Signal Processing
117. Zhang, Y., Levinson, S., Huang, T.: „Speaker independent audio-visual speech
recognition”. Proc. International Conference on Multimedia and Expo, New York, 2000,
NY, 1073–1076
118. Zotkin, D. N., Duraiswami, R., Davis, L. S.: „Joint audio-visual tracking using particle
filters”. In Press: EURAISP Journal on Applied Signal Processing
Top Related