Rozpoznawanie wypowiadanych słów w oparciu o nagranie wideo twarzy mówcy

Wpis ten przedstawia tematykę, jaką zajmowałem się w ramach pracy dyplomowej na Politechnice Wrocławskiej, na wydziale Informatyki i Zarządzania, na kierunku Informatyka w specjalności Inteligentne systemy informatyczne w latach 2014 – 2015. Tematem mojej pracy dyplomowej jest „Rozpoznawanie wypowiadanych słów w oparciu o nagranie wideo twarzy mówcy”.

Poniższy wpis nie zawiera dokładnych szczegółów technicznych, ani szczegółów dotyczących implementacji algorytmów wchodzących w skład oprogramowania badawczego, na podstawie którego została napisana praca magisterska. Jest on jedynie ogólnym zarysem i przedstawieniem problematyki, jaką zajmowałem się w ramach pracy dyplomowej.

Abstrakt

Niniejsza praca przedstawia rozwiązanie problemu rozpoznawania komend głosowych za pomocą analizy ruchu ust mówcy. Mówca podczas wypowiadania komend zwrócony jest twarzą bezpośrednio w kierunku kamery. Twarz mówcy wypełnia większą część kadru. Zestaw komend do rozpoznania został ściśle zdefiniowany. Do wyznaczenia i śledzenia punktów kluczowych na ustach mówcy zastosowano kontroler Microsoft Kinect PC, wraz z biblioteką Face Tracking. Wektory cech opisujące układ ust mówcy w każdej klatce obrazu wideo tworzone są na podstawie punktów kluczowych ust. Rozpoznawanie sekwencji obserwacji ust mówcy realizowane jest przy użyciu ukrytych modeli Markova. Sekwencje obserwacji przygotowywane są poprzez grupowanie  wektorów cech metodą k – średnich.

Cel pracy

Celem pracy jest opracowanie i porównanie metod rozpoznawania słów na podstawie analizy nagrań wideo twarzy mówcy. Twarz mówcy widoczna w całości, skierowana będzie frontalnie w kierunku kamery i zajmować będzie większą część kadru.

Wstęp

Każdy z nas podczas porozumiewania się z innym człowiekiem przekazuje informacje jednocześnie w sposób werbalny, jak i niewerbalny. Mózg ludzki jest przystosowany do błyskawicznego odczytywania, analizowania i rozumienia sygnałów werbalnych i niewerbalnych. Do informacji przekazywanej w formie niewerbalnej zaliczamy mimikę twarzy, gestykulację, postawę ciała. Ludzki mózg łącząc sygnały ze wszystkich kanałów uzyskuje pełny obraz przekazywanej informacji, dzięki takiemu zachowaniu informacja jest czytelna mimo zakłóceń na niektórych z kanałów przekazu.

„Każdy człowiek podczas rozmowy nieświadomie obserwuje usta osoby mówiącej, pomaga to mózgowi eliminować zakłócenia związane z odbiorem dźwięku mowy i wspomaga rozumienie przekazu, gdy rozmowa prowadzona jest w głośnym środowisku. Problem ten występuje głównie w środowisku o wysokim poziomie głośności dźwięków tła, miejscami takimi są np. biura, ulice, samochody, samoloty, hale produkcyjne, czy laboratoria medyczne. Czynność, jaką jest rozpoznawanie niewerbalnych komunikatów człowieka, w tym czytanie z ruchu ust mówcy, przysparza bardzo duże trudności. Jest to problem trudny do rozwiązania ze względu na swoją naturę.” – bezpośredni cytat z pracy dyplomowej.

Metody

Obserwacja twarzy mówcy, wyznaczanie oraz śledzenie punktów kluczowych rozmieszczonych na twarzy zostało wykonanie z wykorzystaniem sensora Microsoft Kinect oraz biblioteki Microsoft Face Tracking.

kinect

Schemat budowy kontrolera Microsoft Kinect PC. 1 – mikrofon tablicowy, 2 – emiter podczerwieni, 3 – sensor podczerwieni (kamera głębi), 4 – kontroler nachylenia, 5 – kabel USB, 6 – kamera wideo RGB. Źródło rysunku: http://msdn.microsoft.com/pl-pl/library/kinect-sdk–wprowadzenie.aspx.

Biblioteka umożliwia śledzenie do 121 punktów kluczowych rozmieszczonych na całej twarzy osoby mówiącej, 18 punktów znajduje się w obszarze ust, 10 zewnętrznej krawędzi wargi, 8 na wewnętrznej. Punkty rozpięte są na siatce modelu twarzy CANDIDE-3.

candide3

Schemat budowy kontrolera Microsoft Kinect PC. 1 – mikrofon tablicowy, 2 – emiter podczerwieni, 3 – sensor podczerwieni (kamera głębi), 4 – kontroler nachylenia, 5 – kabel USB, 6 – kamera wideo RGB. Źródło rysunku: http://msdn.microsoft.com/pl-pl/library/kinect-sdk–wprowadzenie.aspx.

Dane pochodzące z punktów kluczowych z każdej klatki obrazu podlegały przetworzeniu umożliwiającemu wykorzystanie ich w dalszej części analizy. Zestaw danych pochodzących ze wszystkich klatek obrazu wchodzących w skład sekwencji wypowiadanego słowa stanowił tak zwany zestaw obserwacji, który był wejściem klasyfikatora zbudowanego na bazie Ukrytych Modeli Markova. Na potrzeby pracy, system uczony był rozpoznawania 8 komend w języku polskim.

Topologia klasyfikatora.

Topologia klasyfikatora.

Każdy z Ukrytych Modeli Markova odpowiadający za rozpoznawanie pojedynczego słowa uczony był algorytmem Bauma – Welcha i procedury forward-backward, estymującego parametry modelu.

Poniżej przedstawiam sekwencję obrazów z ustami mówców podczas wypowiadania komendy  „Katalog”.

MPAL

Podsumowanie

Podsumowując całość pracy okazuje się, że zastosowana metoda rozpoznawania sekwencji danych pochodzących z klatek obrazu ust mówcy jest obiecująca. Głównym problemem powodującym znacznie spadki skuteczności rozpoznawania jest stabilność śledzenia punktów kluczowych ust mówcy, na którą wpływa słaba jakość obrazu z sensora Kinect. Problemem jest również niska liczba klatek na sekundę z jaką Kinect dostarcza dane. Skuteczność opracowanego systemu ocenioną za pomocą miary F (ang. f – measure) i oscylowała ona wokół wartości od 0,5 do 0,8 w zależności od komendy, metody rozpoznawania oraz mówcy testowego.

———————————————-

Wpis ten stanowi jedynie bardzo ogólny zarys problematyki pracy, nie przedstawia protokołu badawczego, zaimplementowanych metod uczenia oraz rozpoznawania, ani szczegółowych wyników pracy systemu. Osoby zainteresowane tematyką proszę o osobisty kontakt.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s