ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU i klasyfikacja sygnału audio dr inż. Jacek Naruniec
Sygnał mowy mózg (układ sterujący) głośnia (źródło dźwięku) rezonator akustyczny (filtr) sygnał mowy 2
Sygnał mowy Prosty model dźwięku: x as n x mierzony sygnał, s źródło sygnału a zniekształcenie sygnału n addytywny szum Pierwszy krok analizy 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 ] 3
Sygnał mowy Energia sygnału (od próbki m, liczona dla n kolejnych próbek): E n i0 x i m Kreski rozdział głosek, strzałki maksima energii głosek 2 [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] 4
Sygnał mowy Energia słowa puść dla jednego i wielu mówców [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] 5
Spektrogram W przetwarzaniu sygnału mowy często używa się pojęcia spektrogramu. Spektrogram określa energię sygnału w pasmach w danej ramce sygnału. [źródło: wikipedia] Spektrogram sygnału mowy, źródło własne 6
Okno analizy (ramka) Dźwięk analizujemy w oknach o określonej długości (zwykle nakładające się na siebie). ~3s ~0.5s 7
Okno analizy (ramka) 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 8
Okno analizy (ramka) Okno po filtracji Spektrogram amplitudy funkcji okna Spektrogram sygnału wyjściowego 9 [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ]
Filtr preemfazy Niekiedy stosuje się dodatkowo filtr preemfazy, który ma na celu wzmocnienie składowych o wyższych częstotliwościach Ma on postać: y i x i x i1 gdzie α zwykle przyjmuje się z zakresu <0.9, 1.0> słowo jeden (bez filtru preemfazy) słowo jeden (z filtrem preemfazy) [źródło: W. Kasprzak: Rozpoznawanie obrazów i sygnałów mowy ] 10
Wokodery 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 wokodery służyły głównie do syntezy głosu. Są to między innymi: wokodery kanałowe wokodery LPC (liniowej predykcji) wokodery formantów 11
Wokodery formantów 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. 12 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Skala MEL Stworzona na podstawie różnic 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. 13 [źródło: http://sound.eti.pg.gda.pl/]
Wokodery kanałowe Pasmo reprezentowane jest przez zestaw środkowo-przepustowych 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: 14 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Wokodery LPC 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 a pozostawienie jedynie źródła dźwięku. 15 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Banki filtrów Aby dostosować się do modelu słyszenia ucha stosuje się skalę MEL. 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. 16 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Cepstrum Służy do usuwania wpływu układu rezonansowego i wyodrębniania źródła sygnału. Etap ten ma za zadanie poprawić wyniki dalszego rozpoznawania. 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, to komponenty rezonansowe widma są addytywne log( s h) log( s) log( h) 17
Cepstrum Cepstrum (spec trum-> ceps trum) wyznaczane jest następująco: Wyznacz dyskretną transformatę Fouriera (DFT) sygnału Wyznacz wartość bezwzględną kwadratu wartości DFT Zlogarytmuj uzyskane wartości Wykonaj IDFT dla otrzymanych częstotliwości Wyznacz wartość bezwzględną kwadratu wartości IDFT Zamiast DFT często stosowana jest DCT: c j 2 N N i1 j( i 0.5) Ai cos, dla 0 N gdzie A i jest i-tym elementem zlogarytmowanego spektrum j N 18
Cepstrum 19 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Liftrowanie Lift rowanie (filt rowanie) Liftrowanie to 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 20
MFCC MFCC Mel Frequency Cepstral Coeffitients lub mel cepstrum Filtry mel na sygnale cepstrum Kroki (dla ramki): Wyznacz spektrum Wyznacz odpowiedzi filtrów. Zlogarytmuj wartości Wyznacz DCT zlogarytmowanych wartości Zatrzymaj pierwsze n współczynników (poza pierwszym) DCT 21 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Normalizacja poziomu spektrum Ś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 może być dokonana np. 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) 22
Detekcja mowy (podejście naiwne) 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 W praktyce wykorzystuje się tutaj także bardziej zaawansowane cechy jak np. cepstrum. n i0 x i m 2 23
Detekcja mowy Inicjalizacja Pobierz n-tą ramkę Wyznacz energię nie Adaptacja tak Mowa wykryta Wyjście=1 tak E>próg nie Szum wykryty Wyjście=0 Uaktualnij próg Uaktualnij energię szumu 24
Porównywanie spektrogramów (większe koło mniejsza różnica) 25 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Porównywanie spektrogramów 26 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Dynamic Time Warping (DTW) 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 ] 27
Dynamic Time Warping m3 m2 m1 4 3 5 3 5 2 1 4 2 4 7 5 v1 v2 v3 v4 Poszukiwana jest ścieżka o minimalnej wadze łącznej. Możliwe decyzje: ruch w prawo, górę i góra-prawo 28 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Dynamic Time Warping 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) 29
Dynamic Time Warping 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 30
Dynamic Time Warping 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 31
Dynamic Time Warping Przycinanie gałęzi wyboru (score pruning) podstawowa metoda 32 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Dynamic Time Warping Przycinanie gałęzi wyboru metoda niesymetryczna 33 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Dynamic Time Warping Próba porównanie różnych słów (bez przycinania) three i eight 34 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Dynamic Time Warping 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 35 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Dynamic Time Warping 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 36
Dynamic Time Warping 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 37 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Dynamic Time Warping 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 38
Dynamic Time Warping 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 39 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Hidden Markov Models (HMM) 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 40 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Hidden Markov Models 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 41 [źródło: J. Holmes, Speech Synthesis and Recognition ]
Hidden Markov Models 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 42 Klasyfikacja
Hidden Markov Models Algorytm Viterbiego Przedstawione rozwiązanie analizuje dużą ilość 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 43 Klasyfikacja
Hidden Markov Models 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 44 Klasyfikacja
Hidden Markov Models Aplikacje: Rozpoznawanie mowy Rozpoznawanie gestów Rozpoznawanie pisma ręcznego 45 Klasyfikacja