Systemy Wizyjne i Głosowe Maciej Mraczek Piotr Szczepanik Michał Mrówczyński Kamil Ciepiela Systemy Wizyjne i Głosowe Temat projektu: Weryfikacja autorów wypowiedzi na podstawie próbek sygnału mowy Kraków, 4 czerwca 2009 AiR, EAIiE, AGH
Wprowadzenie Za metodę rozpoznawania uważamy cały tor przetwarzania i rozpoznawania próbki głosowej. Ogólny algorytm wygląda następująco: Pobranie próbki głosowej Wstępne przetworzenie (np. filtry, usunięcie ciszy, etc.) Ekstrakcja cech daną metodą Zastosowanie klasyfikatora Rezultat rozpoznania: - konkretny mówca - brak rozpoznania
Cele projektu Celem projektu było zaimplementowanie kilku metod ekstrakcji cech oraz klasyfikacji próbek dźwięku w kontekście utworzonej wcześniej bazy próbek „treningowych”. Efektem końcowym powinna być możliwość rozpoznania mówcy po wypowiedzeniu zdania „Rozpoznaj kim jestem” przynajmniej jedną z zaimplementowanych metod.
Wstępne przetwarzanie zastosowane w torze przetwarzania Wszystkie nagrane próbki poddane zostały normalizacji oraz wycięciu składowej stałej
Zaimplementowane metody ekstrakcji cech z pobranej próbki dźwięku FFT LPC MFCC
FFT Fast Fourier Transform – jest to transformacja sygnału z dziedziny czasu do dziedziny częstotliwości W projekcie została przetestowana metoda rozpoznawania mówcy poprzez porównanie transformaty sygnału jego głosu z transformatami sygnałów głosów wzorcowych.
MFCC MFCC czyli Mel-frequency cepstral coefficients jest to metoda cepstralnych współczynników opartych na skali Mel’a. Stosowana jest powszechnie w systemach rozpoznawania mowy ze względu na dużą skuteczność. Algorytm Z sygnału dźwiękowego robimy dyskretną transformatę Fourier’a Powstałe spectrum przeliczamy na skalę Mel’a (używając trójątnego okna) Logarytmujemy każdą częstotliwość na skali Mel’a Poddajemy dyskretnej transformacie cosinusowej Następnie odwrotna dyskretna transformata Fourier’a Amplitudy tak powstałego sygnału to współczynniki MFCC
Skala Mel’a Skala Mel’a ta została tak stworzona, aby lepiej oddawać wrażenia słuchowe poprzez wzmocnienie częstotliwości słyszalnych. Dokonujemy tego za pomocą przekształcenia wzorem:
LPC Linear predictive coding jest to algorytm używany najczęściej do przetwarzania sygnałów dźwiękowych oraz sygnału mowy. W wyniku kodowania otrzymujemy reprezentację sygnału cyfrowego, będącą parametrami modelu predykcji liniowej przetwarzanego sygnału.
LPC charakterystyka metody Bardzo dobre osiągi metody LPC związane są z istotą działania ludzkiego aparatu mowy. W budowie aparatu mowy wyróżniamy część oddechową, fonacyjną i artykulacyjną. Przy analizie dźwięku najbardziej interesują nas te dwie ostatnie, ponieważ działanie ich determinuje dźwięk wydawany przez człowieka. Główną częścią aparatu fonacyjnego jest krtań. Przepływające powietrze wprawia w drżenie struny głosowe, w wyniku czego powstaje tzw. ton krtaniowy. Następnie dźwięk przechodzi przez gardło i usta tworzące układ rezonansowy. Powstaje tam tzw. formant – pasmo częstotliwości uwypuklone w barwie dźwięku. Ostateczne brzmienie głoski formowane jest poprzez język i usta. LPC analizując mowę wyznacza wspomniane wcześniej formanty. Następnie usuwa je z sygnału pozostawiając tylko charakterystyczne dla każdej głoski dźwięki. Proces ten nazywamy filtrowaniem wstecznym, a sygnał który pozostaje po odjęciu nazywamy rezydułem.
Zaimplementowane klasyfikatory Metoda najbliższego sąsiedztwa
Zaimplementowane klasyfikatory Metoda alfa-N
Testy Test poprawności rozpoznawania mówcy Test poprawności rozpoznawania mówcy, który nie jest w bazie (obcy) Wyznaczanie optymalnej ilości współczynników liczonych metodą MFCC Wyznaczenie optymalnego rzędu metody LPC
Testy - Pierwsza metoda – FFT
Testy - Druga metoda – L{C
Testy - Druga metoda – LPC
Testy - Druga metoda – LPC Rysunek 3 Dla alpha=2, distance=1,5 Rysunek 4 Dla alpha=6, distance=1,5
Testy - Trzecia metoda – MFCC
Testy - Trzecia metoda – MFCC
Testy - Trzecia metoda – MFCC Dla alpha=2, distance=1,5 Dla alpha=3, distance=1,5
Podsumowanie i wnioski Najlepszą metodą okazała się MFCC; trochę gorsze rezultaty dała metoda LPC Metoda FFT nie dała pozytywnych rezultatów – wyniki można zakwalifikować jako losowe Skuteczność rozpoznawania zależy głównie od parametrów alpha i odległość – jednak ich optymalizacja nie jest taka oczywista – wszystko zależy od tego, co chcemy osiągnąć: wysoki procent rozpoznawania mówców z bazy, czy skuteczne rozpoznawanie mówcy „obcego” (jako „nie wiem”) – chęć wysokich wyników w obu dziedzinach wymaga kompromisów Możemy również zmieniać parametry związane z poszczególnymi metodami, które również wpływają na jakość rozpoznawania: w LPC – rząd metody w MFCC – ilość współczynników cepstralnych (w MatLabie dostępnych jest więcej parametrów liczenia współczynników cepstralnych, jednak nie zostały one zgłębione i zbadane przez nas; poza tym można inaczej wyznaczyć wektor opisujący daną próbkę – w naszym przypadku użyto funkcji kmeans)
Podsumowanie i wnioski Wyniki testów mogą nie być bardzo obiektywne ze względu na małą liczbę próbek „treningowych” w bazie Istotne znaczenie może mieć również jakość sprzętu nagrywającego (mikrofon + karta dźwiękowa) Jako ulepszenie działania naszego toru rozpoznawania mówcy, mogłoby sprawdzić się przemnożenie sygnałów wejściowych przez okno Hamminga
DZIĘKUJEMY ZA UWAGĘ