dr inż. Jacek Naruniec
Przetwarzanie wstępne Wyznaczenie obszarów zainteresowania Ekstrakcja cech - dźwięk Klasyfikacja detekcja mowy okno analizy spektrogram filtr preemfazy wokodery (formantów, kanałowe, LPC) skala MEL banki filtrów cepstrum, cechy mel-cepstralne, liftrowanie, MFCC Dynamic Time Warping (DTW) Ukryte Modele Markowa(HMM) podstawowa częstotliwość mówcy Ekstrakcja cech 2
mózg (układ sterujący) głośnia (źródło dźwięku) rezonator akustyczny (filtr) sygnał mowy Ekstrakcja cech 3
Prosty model dźwięku: x as x mierzony sygnał, s źródło sygnału a zniekształcenie sygnału n addytywny szum n Pierwszy krok detekcji wzmocnienie mowy względem szumu Przyjmując założenia co do widma szumu możemy dokonać jego filtracji w dziedzinie częstotliwości lub czasu [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] Ekstrakcja cech 4
W przypadku nieznanej charakterystyki szumu, wyznaczamy jego parametry w chwilach ciszy Po wyeliminowaniu szumu możemy wyznaczyć interwały o wysokiej energii sygnału. Dla okna o określonej długości n z przesunięciem m, energię wyznaczamy bezpośrednio z próbek sygnału: E n i 0 x i m 2 Ekstrakcja cech 5
Energia sygnału mowy Kreski rozdział głosek, strzałki maksima energii głosek [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] Ekstrakcja cech 6
Energia słowa puść dla jednego i wielu mówców [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] Ekstrakcja cech 7
Głoski można wyznaczyć za pomocą analizy funkcji autokorelacji. Np. dla głoski a ma ona przebieg: [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] Ekstrakcja cech 8
W przetwarzaniu sygnału mowy często używa się pojęcie spektrogramu. Spektrogram określa energię sygnału w pasmach częstotliwościowych w danej chwili czasowej [źródło: wikipedia] Ekstrakcja cech 9
Dźwięk analizujemy w oknach o określonej długości. ~3s ~0.5s 10
Okna zwykle długości 10-30ms z odstępem 5-20 ms. Dwa przeciwstawne warunki: stacjonarność analizowanego sygnału (prawdziwe dla sygnałów (zwykle ok. 10ms) Analiza okna na tyle długiego, aby uchwycić pożądane częstotliwości składowe Stosowane okna są np. kształtu prostokątnego lub Hamminga (mniej artefaktów częstotliwościowych) x 1 x 1 1 t 1 t Ekstrakcja cech 11
Okno po filtracji Spektrogram amplitudy funkcji okna Spektrogram sygnału wyjściowego [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] Ekstrakcja cech 12
Przy przetwarzaniu często stosuje się filtr preemfazy, który wzmacnia składowe o wyższych częstotliwościach Ma on postać: yi xi xi 1 gdzie α zwykle przyjmuje się z zakresu <0.9, 1.0> jeden [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] Ekstrakcja cech 13
Zwykle do analizy nie poddaje się bezpośrednio sygnału audio, ale pewien sygnał przetworzony Ma on odpowiadać percepcji ludzkiego słuchu, ale także być przydatny w dalszej analizie Transformaty nie muszą być odwracalne Wokoder -> voice coder Oryginalnie wocodery służyły jedynie do syntezy głosu. Są to między innymi: wokodery kanałowe wokodery LPC (liniowej predykcji) wokodery formantów Ekstrakcja cech 14
Stworzona na podstawie zmian wysokości dźwięku, przy których słuchacze uznali, że jest ona jednakowa. Wniosek im wyższa częstotliwość, tym mniej wrażliwy słuch na różnice w wysokości dźwięku MEL od słowa melody. [źródło: http://sound.eti.pg.gda.pl/] Ekstrakcja cech 15
Dźwięk reprezentowany jest poprzez serię filtrów odpowiadających określonym częstotliwościom zależnym od charakterystyki sygnału. Wybierane są wyraźne maksima charakterystyki częstotliwościowej. Konkretne głoski mają różne formanty. [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 16
Pasmo reprezentowane jest przez zestaw środkowoprzepustowych filtrów O ile banków nie jest wystarczająco dużo, pasmo może być zniekształcone. Na poniższym przykładzie tracimy część informacji o formantach: [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 17
Predykcja liniowa (liniowe kodowanie predykcyjne). Tworzony jest model dźwięku (np. na podstawie funkcji autokorelacji), gdzie próbkę w danym momencie możemy estymować przy pomocy poprzednich próbek. Od wyniku odejmowany jest wynik predykcji. Etap ma za zadanie usunięcie elementów rezonansowych (które reprezentuje predykcja) a pozostawienie jedynie źródła dźwięku. [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 18
Aby dostosować się do modelu słyszenia ucha stosuje się skalę MEL. Słuch charakteryzuje się większą czułością w odróżnianiu niskich częstotliwości (poniżej 1kHz), podczas gdy trudniejsze jest odróżnianie wysokich dźwięków. Zwykle sygnał przetwarzany jest częstotliwościowo i przeprowadzany jest splot z filtrem odpowiadającym danemu pasmu. Filtry te można wyznaczyć np. w sposób przedstawiony poniżej. [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 19
Służy do usuwania wpływu układu rezonansowego i wyznaczania źródła sygnału. Etap ten ma za zadanie poprawić wyniki dalszego rozpoznawania głosu. Założenie układ rezonansowy działa jak filtr i jego działanie można przedstawić poprzez konwolucję z sygnałem w dziedzinie czasu. Jeśli widmo reprezentowane jest logarytmicznie, komponenty te są addytywne log( s h) log( s) log( h) Ekstrakcja cech 20
Cepstrum (spec trum-> ceps trum) wyznaczane jest następująco: Wyznacz DFT sygnału Wyznacz wartość bezwzględną kwadratu wartości DFT Zlogarytmuj uzyskane wartości Wykonaj DFT dla otrzymanych częstotliwości Wyznacz wartość bezwzględną kwadratu wartości DFT Zamiast DFT często stosowana jest DCT: N 2 j( i 0.5) c j Ai cos, dla 0 N i 1 N gdzie A i jest i-tym elementem zlogarytmowanego spektrum j N Ekstrakcja cech 21
[źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 22
Lift rowanie (filt rowanie) Filtrowanie w dziedzinie cepstrum Pozwala usunąć niepożądane składowe częstotliwościowe spektrum sygnału Liftrowanie dolnoprzepustowe (wybranie jedynie n pierwszych elementów cepstrum) stosowane jest przed wyznaczaniem formantów Liftrowanie dolnoprzepustowe = wygładzanie cepstralne Ekstrakcja cech 23
MFCC MEL Frequency Cepstral Coeffitients Filtry MEL na sygnale cepstrum MFCC MEL cepstrum DCT [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 24
Średni poziom energii mowy zmienia się o kilka db w ciągu kilku sekund Zmiany te nie mają dużego wpływu na rodzaj wypowiadanych głosek ale w wynikach porównywania już tak Normalizacja odbywa się poprzez: logarytmowanie spektrum dodawanie składowej stałej (w celu zakrycia niepożądanych szumów, dźwięków w cichych pomieszczeniach) Usuwanie średniej logarytmowanego spektrum (zwykle ze współczynnikiem 0.7-0.9 aby nie utracić istotnych informacji) Ekstrakcja cech 25
Częstotliwość podstawowa najniższa wyróżniająca się częstotliwość okresowego sygnału dźwiękowego (lub pierwsza harmoniczna) Algorytm histogramowy: 1. Dokonaj filtracji do zakresu 100-1100Hz 2. Wybierz próbki za pomocą okna Hamminga 3. Oblicz DFT 4. Ustal k=2 5. Wyznacz k wartości maksymalnych spektrum 6. Wyznacz odległości pomiędzy sąsiednimi częstotliwościami o maksymalnym spektrum i zwiększ odpowiadające im komórki histogramu 7. Zwiększaj k dopóki w spektrum nie wyczerpią się lokalne maksima lub histogram ustabilizuje się [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] Ekstrakcja cech 26
(większe koło mniejsza różnica) [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 27
[źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 28
Dynamic Time Warping (DTW) - marszczenie czasu Analiza odbywa się w dziedzinie wyznaczonych cech Polega na porównywaniu aktualnego przykładu ze stworzonym modelem Uwzględnia różnice czasu wypowiedzi Opiera się na programowaniu dynamicznym three eight eight [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 29
m3 m2 m1 4 3 5 3 5 2 1 4 2 4 7 5 v1 v2 v3 v4 [źródło: J. Holmes, Speech Synthesis and Recognition ] Poszukiwana jest ścieżka o minimalnej wadze łącznej. Możliwe decyzje: ruch w prawo, górę i góra-prawo Ekstrakcja cech 30
Rozpoznawanie słów w tym kontekście polega na: Wyznaczeniu ścieżki dla każdego z dostępnych słów Wybór tego słowa dla którego sumaryczna waga jest najmniejsza Jeśli najmniejsza sumaryczna waga jest wyższa od określonego progu uznajemy, że słowa nie ma w naszym słowniku Aby uniezależnić wynik od długości słowa, wszystkie sumy można podzielić przez ilość przebytych elementów Dodatkowo można wprowadzić dodatkowy koszt za przejście w kierunku innym niż diagonalny (jeśli długość słowa mocno różni się od modelu, porównanie otrzyma wysoki koszt) Ekstrakcja cech 31
Metoda asymetryczna: Aby nie dopuścić do sytuacji w której elementy wzorca są pomijane, odrzuca się kierunek pionowy Ponieważ słowa mogą być wypowiadane wolniej niż we wzorcu, dopuszcza się przeskoczenie jednego elementu tablicy Ekstrakcja cech 32
Generalnie należy sprawdzić wszystkie możliwe drogi i wyszukać tą o najmniejszej wadze łącznej Zawsze musimy dojść do końcowego elementu modelu Z części ścieżek można zrezygnować wcześniej jeśli sumaryczna waga jest zbyt duża Przyjmuje się, że ścieżka jest odcinana jeśli jej waga znacznie przekracza wagę ścieżki o minimalnej wadze w tej samej kolumnie Proces ten nazywamy przycinaniem gałęzi wyboru Ekstrakcja cech 33
Przycinanie gałęzi wyboru (score pruning) podstawowa metoda [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 34
Przycinanie gałęzi wyboru metoda niesymetryczna [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 35
Próba porównanie różnych słów (bez przycinania) three i eight [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 36
Wyeliminowanie kosztów błędnej segmentacji słowa Najprościej realizowane poprzez usunięcie ostatniego wiersza (jak na rysunku) Inne metody mówią o wyeliminowaniu dodatkowego kosztu przejścia po linii poziomej [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 37
Rozpoznawanie sekwencji słów Trudność z określeniem końca jednego, początkiem drugiego słowa -> można to stwierdzić poprzez rozpoznanie słów Wyznaczamy modele poszczególnych słów Za pomocą DTW wyznaczamy ścieżkę przechodzącą przez cały wektor cech o najniższym koszcie sumarycznym Ekstrakcja cech 38
D(i,j,k), - aktualny koszt ścieżki i, j na rysunku, k indeks modelu Koniec słowa ustalamy w miejscu, kiedy j osiągnie liczbę elementów modelu słowa [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 39
Ponieważ w sentencjach mogą pojawić się chwilę ciszy, wprowadza się dodatkowy model ciszy Jeśli dodatkowo założymy, że cisza może znaleźć się na początku lub końcu sekwencji, to segmentacja sygnału może być mniej dokładna W przypadku dźwięków nieznanych stosowany jest wieloznacznik o wysokim koszcie Ekstrakcja cech 40
Ciągła detekcja mowy W miejscu ciszy stosowany jest model ciszy, w nieznanych słowach wieloznacznik Zwykle odpowiedź rozpoznawania określa się po kilku sekundach Można także sprawdzać składnię zdań aby uniknąć oczywistych błędów [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 41
Ukryte Modele Markowa Hidden Markov Models (HMM) Model słowa składa się z sekwencji stanów, z których każdy jest związany z co najmniej jednym oknem Rozpoznawanie słów polega na badaniu, z jakim prawdopodobieństwem aktualna sekwencja zostanie wyprodukowana przez dany model [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 42
Wyróżnia się tutaj dwie istotne wartości: prawdopodobieństwo emisji (czyli z jakim p. dany wektor zostanie przekazany na wyjście modelu), związane z funkcją gęstości prawdopodobieństwa danego stanu prawdopodobieństwo przejścia z jednego stanu w drugi [źródło: J. Holmes, Speech Synthesis and Recognition ] Ekstrakcja cech 43
Wyznaczanie prawdopodobieństwa wystąpienia danego słowa Zsumowanie wszystkich możliwych prawdopodobieństw wygenerowania słowa przez model Uproszczone np. badanie najbardziej prawdopodobnej ścieżki Klasyfikacja 44
Algorytm Viterbiego Przedstawione rozwiązanie wymaga analizy dużej liczby możliwych stanów Prawdopodobieństwo pewnych stanów/sekwencji może być wiele większe niż pozostałych W związku z tym można ignorować wszystkie poza najbardziej prawdopodobną sekwencją stanu systemu Klasyfikacja 45
Trenowanie modelu: Polega na znalezieniu najlepszych parametrów w kategoriach największej wiarygodności Algorytm forward-backward (Baum-Welch) Inicjalizacja dowolnymi parametrami Reestymacja parametrów modelu w zależności od uzyskanych wyników do momentu uzyskania dobrej wiarygodności Algorytmy gradientowe Klasyfikacja 46
Aplikacje: Rozpoznawanie mowy Rozpoznawanie gestów Rozpoznawanie pisma ręcznego Klasyfikacja 47