´ UNIWERSYTET ZIELONOGORSKI WYDZIAÃL ELEKTROTECHNIKI, INFORMATYKI I TELEKOMUNIKACJI

mgr in˙z. Tomasz Kapu´sci´nski

ROZPOZNAWANIE POLSKIEGO JEZYKA MIGANEGO W SYSTEMIE , WIZYJNYM

Rozprawa doktorska

Promotor: dr hab. in˙z. Marian Wysocki, prof. PRz

Zielona G´ora 2006

1

Pragne, wyrazi´c serdeczne podziekowanie , Panu Profesorowi Marianowi Wysockiemu za wielka, z˙ yczliwo´s´c i wszelka, pomoc udzielona, w czasie powstawania niniejszej pracy. Tomasz Kapu´sci´ nski

Spis tre´ sci 1 Wstep , 1.1 Motywacja . . . . . 1.2 Przeglad , literatury 1.3 Cel i zakres pracy . 1.4 Przeglad , pracy . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3 3 4 7 9

2 Polski Jezyk Migany , 2.1 Og´olna charakterystyka Polskiego Jezyka , Miganego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Zapis gestograficzny . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 PrzykÃladowe wyrazy i zdania . . . . . . . . . . . . . . . . . . . . . 2.4 Problemy zwiazane z rozpoznawaniem PJM w ukÃladzie wizyjnym , 2.5 Podsumowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

11 15 19 20 22

3 Problemy przetwarzania obrazu 3.1 Rozpoznawanie koloru sk´ory . . 3.2 Segmentacja dÃloni i twarzy . . . 3.3 Stereowizja . . . . . . . . . . . 3.4 Wyznaczanie cech . . . . . . . . 3.5 Podsumowanie . . . . . . . . .

. . . . .

. . . . .

23 23 34 36 41 43

. . . . .

48 48 54 58 61 63

. . . . .

. . . . .

4 Ukryte modele Markowa 4.1 Podstawy matematyczne . . . . . . 4.2 Uczenie ukrytych modeli Markowa . 4.3 Modelowanie zÃlo˙zonych proces´ow . 4.4 R´ownolegÃly ukryty model Markowa 4.5 Podsumowanie . . . . . . . . . . . 5 Rozpoznawanie pojedynczych 5.1 Wyb´or wektora cech . . . . 5.2 Dyskusja liczby stan´ow . . . 5.3 Podsumowanie . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

11

. . . . .

sÃl´ ow 65 . . . . . . . . . . . . . . . . . . . . . . . 65 . . . . . . . . . . . . . . . . . . . . . . . 72 . . . . . . . . . . . . . . . . . . . . . . . 75

6 Rozpoznawanie zda´ n 77 6.1 Wyb´or struktury ukÃladu rozpoznajacego . . . . . . . . . . . . . . . . 77 , 6.2 Rozpoznawanie z wykorzystaniem PaHMM . . . . . . . . . . . . . . . 83 2

´ SPIS TRESCI 6.3 Podsumowanie

3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

7 Podsumowanie

88

Dodatki

95

A Stanowisko do rozpoznawania wyraz´ ow A.1 Wymagania sprzetowe . . . . . . . . . , A.2 SkÃladniki oprogramowania . . . . . . . A.3 Przygotowanie do uruchomienia . . . . A.4 Konfiguracja aplikacji rozpoznajacej . . , A.5 Rozpoznawanie . . . . . . . . . . . . .

i . . . . .

zda´ n PJM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

95 95 96 97 97 103

B Biblioteka funkcji przetwarzania obraz´ ow

105

C Aplikacja bazy danych

108

D Przewodnik u˙zytkownika HTK D.1 Zdefiniowanie problemu . . . . . . D.2 Przygotowanie sÃlownika . . . . . . D.3 Przygotowanie modeli . . . . . . D.4 Przygotowanie danych . . . . . . D.5 Uczenie . . . . . . . . . . . . . . D.6 Testowanie i weryfikacja wynik´ow

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

114 . 115 . 117 . 118 . 120 . 121 . 123

E Rozpoznawane wyrazy i zdania

125

F Opis zawarto´ sci pÃlyty DVD

130

Literatura

131

ZaÃlacznik: DVD ,

RozdziaÃl 1 Wstep , 1.1

Motywacja

W ostatnich latach du˙ze zainteresowanie wzbudzaja, komputerowe metody interpretacji dziaÃlania i zachowa´ n ludzi. Jeden z wa˙znych element´ow bada´ n dotyczy gest´ow wykonywanych rekami. Rozumienie przez maszyne, wydawanych tak polece´ n , mo˙ze stanowi´c atrakcyjne uzupeÃlnienie obecnych sposob´ow komunikacji czÃlowieka z komputerem (robotem). Systemy interpretacji gest´ow wykonywanych rekami maja, , szereg istotnych, potencjalnych zastosowa´ n, jak np.: • uÃlatwienie pracy oraz kontaktu z otoczeniem osobom niepeÃlnosprawnym i w podeszÃlym wieku, • zdalne sterowanie maszynami w ´srodowisku uniemo˙zliwiajacym komunikacje, , d´zwiekow a,, , • poprawa warunk´ow pracy z komputerem, • dziaÃlanie czÃlowieka w ´srodowisku wirtualnej rzeczywisto´sci. Niniejsza praca nawiazuje do pierwszego z wymienionych zagadnie´ n i zmierza do , opracowania metod i narzedzi informatycznych, kt´ o re mogà l yby pom´ o c osobom gÃlu, choniemym w Polsce. Niemo˙zno´s´c porozumiewania sie, za pomoca, gÃlosu stanowi du˙za, bariere, w kontaktach spoÃlecznych. Nale˙zy doda´c, z˙ e osoby niesÃlyszace od urodzenia , lub od wczesnego dzieci´ nstwa maja, te˙z spore trudno´sci w wyra˙zaniu my´sli na pi´smie, bo nie zetkneà skÃladnia, i gramatyka., , ly sie, z charakterystyczna, dla ojczystego jezyka , Dla nich jezyk migowy, kt´ o ry jest ich j ezykiem naturalnym, pozostaje podstawowym , , narzedziem komunikacji, zar´owno miedzy soba, jak i z osobami sÃlyszacymi. Uzasad, , , nione staja, sie, wiec badania zmierzaj ace do zastosowania technik informatycznych , , w rozpoznawaniu jezyk´ o w migowych, co w konsekwencji w przyszÃlo´sci umo˙zliwiÃloby , budowe, translator´ow z jezyka migowego do m´owionego lub pisanego. W pierwszej , kolejno´sci translator taki miaÃlby ograniczony sÃlownik wyraz´ow oraz ustalony zbi´or predefiniowanych wypowiedzi, typowych w wybranej sytuacji z˙ yciowej, np. w firmie, u lekarza, na poczcie. Tak skonstruowany system, m´ogÃlby sÃlu˙zy´c tak˙ze jako interfejs u˙zytkownika do komputer´ow PC lub elektronicznych serwer´ow informacji, kt´ore 4

ROZDZIAÃL 1. WSTEP ,

5

staja, sie, obecnie staÃlym elementem dworc´ow, terminali lotniczych i innych miejsc u˙zyteczno´sci publicznej. ByÃlby to krok w kierunku, zalecanego przez Deklaracje, na temat Praw Os´ob NiepeÃlnosprawnych ONZ [83] oraz ratyfikowana, przez kraje czÃlonkowskie UE Europejska, Karte, SpoÃleczna, [84], wyr´ownywania szans w dostepie , os´ob upo´sledzonych do informacji i najnowszych technologii. Innym zastosowaniem mogÃlaby by´c redukcja pasma komunikacyjnego przy przekazywaniu sygnaÃlu w jezyku migowym. Po stronie nadawcy przekaz migowy byÃlby , przeksztaÃlcany do formalnego opisu gest´ow, kt´ory to opis przesyÃlany byÃlby do odbiorcy i odtwarzany z wykorzystaniem grafiki komputerowej. Do´swiadczenia z rozpoznawaniem jezyk´ ow migowych moga, by´c r´ownie˙z pomocne , w pracach nad wykorzystaniem gest´ow wykonywanych rekami w zagadnieniach in, terakcji czÃlowieka z obiektami rzeczywisto´sci wirtualnej i komunikacji z robotem.

1.2

Przeglad , literatury

Komputerowe metody rozpoznawania gest´ow sa, intensywnie rozwijane na ´swiecie. Prace w tym zakresie pojawiaja, sie, na konferencjach z zakresu wizji i robotyki oraz specjalnych konferencjach ”Face and Gesture Recognition”. W zale˙zno´sci od sposobu pozyskiwania danych do rozpoznawania prace te moz˙ emy podzieli´c na takie, w kt´orych wykorzystuje sie, czujniki przymocowane do specjalnie skonstruowanych rekawic [17, 25, 33, 44, 50, 57, 62, 74, 75, 77, 78] oraz na , rozwiazania z wykorzystaniem kamer [2, 3, 10, 26, 27, 30, 41, 49, 61, 68, 69, 80]. Za, leta, zastosowania specjalnych czujnik´ow jest precyzja wynikajaca z bezpo´sredniego , pomiaru, wada, natomiast ograniczenie swobody u˙zytkownika, kt´ory musi ubiera´c specjalne rekawice, najcze´ z krepuj acym jego ruchy okablowaniem. W , , , , sciej poÃlaczone , nowoczesnych rozwiazaniach powinno sie, da˙ c do tego, aby komunikacja czÃlowieka , ,zy´ z komputerem odbywaÃla sie, w spos´ob przypominajacy porozumiewanie sie, z druga, , osoba., W literaturze dostepne sa, publikacje dotyczace rozpoznawania jezyk´ ow migo, , , wych: ameryka´ nskiego (ASL) [10, 25, 61, 75, 80], japo´ nskiego (JSL) [30, 41, 49, 50, 57, 68, 69], niemieckiego (GSL) [3], chi´ nskiego (CSL) [17, 77, 78], tajwa´ nskiego (TSL) [27, 44, 62], holenderskiego (NSL) [2] i australijskiego (Auslan) [26, 33, 74]. ´ Ka˙zdy jezyk ma swoja, wÃlasna, specyfike. zby fakt, z˙ e jezyki , , Swiadczy o tych chocia˙ , migowe: ameryka´ nski i angielski sa, zupeÃlnie inne, pomimo i˙z jezyk m´owiony jest , praktycznie ten sam. Jak wynika z wiedzy autora, nie istnieja, dotychczas opracowania dotyczace rozpoznawania jezyka u˙zywanego w Polsce. Pokrewne zagadnie, , nie rozpoznawania Polskiego Alfabetu Palcowego przedstawiono w pracy [47]. W pracach [63, 64] rozwa˙zano natomiast problem odwrotny polegajacy na graficznej , syntezie sekwencji w Polskim Jezyku Miganym na podstawie zapisanej w formie , tekstowej wypowiedzi w jezyku ojczystym. , Do rozpoznawania jezyk´ ow migowych wybierane byÃly podzbiory gest´ow. Ich li, czebno´s´c zestawiono w tab. 1.1. Najliczniejszy skÃladajacy sie, z 5119 wyraz´ow CSL , badano w pracy [77]. W pracy [78] rozpoznawano 274 wyraz´ow CSL, w [2] 262 wyraz´ow NSL, w [44] - 250 wyraz´ow TSL, [17] - 208 zda´ n CSl, [25] - 176 wyraz´ow

ROZDZIAÃL 1. WSTEP ,

6

Tab. 1.1. Charakterystyka ukÃlad´ ow rozpoznawania jezyk´ ow migowych , praca

jezyk ,

sÃl./zd.

Hernandez, 2004 [25] Yang, 2002 [80] Vogler, 2001 [75] Cui, 2000 [10] Starner, 1998 [61] Holden, 2000 [26] Vamplew, 1998 [74] Kadous, 1996 [33] Wang, 2002 [77] Fang, 2001 [17] Bauer, 2002 [3] Tanibata, 2002 [69] Imagawa, 2000 [30] Sagawa, 2000 [57] Kobayashi, 1997 [41] Matsuo, 1997 [49] Murakami, 1991 [50] Tamura, 1988 [68] Assan, 1997 [2] Su, 2000 [62] Huang, 1998 [27] Liang, 1998 [44]

ASL ASL ASL ASL ASL Auslan Auslan Auslan CSL CSL GSL JSL JSL JSL JSL JSL JSL JSL NSL TSL TSL TSL

sÃl. sÃl. zd. sÃl. zd. sÃl. sÃl. sÃl. sÃl. zd. sÃl. sÃl. sÃl. zd. sÃl. sÃl. sÃl. sÃl. sÃl. sÃl. sÃl. sÃl.

wielko´s´c sÃlownika 176 40 22 28 40 22 52 95 5119 208 100 65 33 17 6 38 10 10 262 90 15 250

dÃlonie 1 2 2 1 2 1 1 1 2 2 2 2 2 2 1 2 1 1 2 2 1 1

´zr´odÃlo danych rc k rc k k k + rk rc rc rc rc k + rk k k rc k k + rk rc k k + rk rc k rc

metoda klasyfikacji inna7 NN1 HMM inna9 HMM inna4 NN5 inna7 HMM HMM HMM HMM inna8 inna10 HMM inna4 NN3 inna4 HMM NN6 NN2 HMM

skuteczno´s´c [%] 94 96.2 95.5 93.2 98 95 94.2 80 92.8 92.1 92.5 100 94 86.6 98.8 79 96 45 91.3 94.1 96 84.7

sÃl. - pojedyncze sÃlowa / zd. - zdania rc - rekawice z czujnikami / rk - rekawice kolorowe / k - kamera , , 1 z op´o´znieniem, 2 Hopfielda, 3 rekurencyjna, 4 zbi´or reguÃl, 5 perceptron wielowarstwowy, 6 ukÃlad sieci generujacy reguÃly rozmyte, 7 warunkowe dopasowanie wzorca, 8 PCA+klasteryzacja, , 9 PCA, MDA + drzewa decyzyjne, 10 dopasowanie do wzorca

ASL, natomiast w [3] 100 wyraz´ow GSL. W pozostaÃlych znanych autorowi opracowaniach liczebno´s´c rozpatrywanego sÃlownika byÃla mniejsza od 100. Charakterystyczne jest, z˙ e w zadaniach z obszerniejszymi sÃlownikami wykorzystywano rekawice , z czujnikami [77, 78] lub kolorowe [2]. Wada, wiekszo´ sci z dostepnych w literaturze , , opracowa´ n jest to, z˙ e wyb´or sÃlownika podyktowany byÃl raczej prostota, ani˙zeli przydatno´scia, i czesto´ scia, wystepowania wybranych wyraz´ow i sekwencji w typowych , , sytuacjach z˙ yciowych. Nagranie odpowiednio licznej bazy danych jest zadaniem kluczowym i wymagajacym sporego nakÃladu pracy. W dotychczasowych pracach , bardzo rzadko wykorzystywano gesty wykonywane przez profesjonalist´ow, kt´orzy posÃluguja, sie, jezykiem migowym na codzie´ n i wykonuja, gesty w spos´ob sponta, niczny. Czesto, a szczeg´olnie w odniesieniu do liczniejszych sÃlownik´ow, opierano sie, , na gestach przygotowanych przez jednego wykonawce. , Znak migowy pokazany w sekwencji mo˙ze odbiega´c znacznie od wykonania pojedynczego, zwÃlaszcza w przypadku, gdy przekaz migowy ma charakter spontaniczny. Dlatego fakt, z˙ e dany wyraz jest bardzo dobrze rozpoznawany podczas wykonywania pojedynczo nie oznacza, z˙ e bedzie on tak samo dobrze rozpoznawany w caÃlym , zdaniu. W przypadku rozpoznawania caÃlych zda´ n pojawia sie, dodatkowy problem

ROZDZIAÃL 1. WSTEP ,

7

segmentacji ciagà ow. Pojedyncze wyrazy rozpoznawane byÃly w pra, lej sekwencji gest´ cach [2, 3, 10, 25, 26, 27, 30, 33, 41, 44, 49, 50, 62, 68, 69, 74, 77, 78, 80], caÃle sekwencje natomiast w [2, 17, 44, 57, 61, 75, 77]. W pracach [10, 25, 26, 27, 33, 41, 44, 50, 68, 74] rozwa˙zano jedynie gesty wykonywane jedna, rek , natomiast w pracach [2, 3, 17, 30, 49, 57, 61, 62, 69, 75, 77, 78, 80] , a, uwzgledniano tak˙ ze gesty dwureczne. , , Przy wyznaczaniu wektor´ow cech z wykorzystaniem ukÃlad´ow wizyjnych przyjmowano szereg zaÃlo˙ze´ n wstepnych. Najcze´ ˙ e osoba wykonujaca gest , , , sciej zakÃladano, z ma ubranie z dÃlugim rekawem [2, 3, 27, 30, 61, 68, 69, 80]. Czesto osoba wykonujaca , , , gest miaÃla kolorowe rekawice uà l atwiaj ace identyfikacj e dà l oni i poszczeg´ o lnych palc´ o w , , , w obrazie [2, 3, 26, 49]. ZakÃladano, z˙ e tÃlo musi by´c jednorodne [2, 3, 26, 27, 49, 68, 80] albo zÃlo˙zone lecz stacjonarne [10, 30, 61, 69]. Przyjmowano tak˙ze, z˙ e gÃlowa osoby wykonujacej gest pozostaje nieruchoma, albo jej ruchy sa, znikome w por´ownaniu z , ruchami dÃloni [10, 27, 30, 61, 68, 69]. W pracy [10] dÃlonie musza, by´c w ciagà , lym ruchu, natomiast w pracach [61, 69] musza, one przyjmowa´c pewna, ustalona, pozycje, poczatkow a, przed rozpoczeciem nagrywania. W metodach [10, 27, 68] przyjeto, z˙ e , , , kamera obserwuje tylko jedna, dÃlo´ n. KsztaÃlty przyjmowane przez dÃlonie i ich ruchy maja, charakter przestrzenny. W wiekszo´ sci dostepnych w literaturze rozwiaza´ ow cech sto, n do wyznaczania wektor´ , , sowano jednak ukÃlady wizyjne z jedna, kamera., UkÃlad stereowizyjny wykorzystano w pracach [26, 49]. Klasyfikacje, przeprowadzano najcze´ oz˙ nych wariant´ow sztu, sciej za pomoca, r´ cznych sieci neuronowych [27, 50, 62, 74, 80] i ukrytych modeli Markowa [2, 3, 17, 41, 44, 61, 69, 75, 77]. Sieci neuronowe wykorzystywano przede wszystkim do rozpoznawania ksztaÃltu dÃloni w gestach statycznych. Poniewa˙z wiekszo´ s´c znak´ow migowych , to gesty dynamiczne, ich rozpoznawanie wia˙ z e si e z klasyfikacj a ow czasowych. , , szereg´ , Tu zastosowanie sieci neuronowych jest trudniejsze. Spotyka sie, podej´scia polegajace , na uwzglednieniu na wej´ s ciu sieci danych reprezentatywnych tylko dla trzech etap´ o w, , tj. poczatkowej, ´ s rodkowej i ko´ n cowej fazy gestu [76]. Inne rozwi azania polegaj a na , , , zastosowaniu sieci rekurencyjnej [50] lub sieci z op´o´znieniem [80]. Jak wida´c z tab. 1.1, sieci neuronowe sÃlu˙zyÃly raczej do rozpoznawania sÃl´ow. W przypadku zda´ n konieczne jest uprzednie wyodrebnienie poszczeg´olnych sÃl´ow. Propozycje, segmentacji , szeregu czasowego oparta, na detekcji zmiany kierunku ruchu dÃloni przedstawiono w pracy [57]. Przewa˙zajaca liczba prac wykorzystuje ukryte modele Markowa. Jest to miedzy in, , nymi konsekwencja, do´swiadcze´ n wynikajacych z szerokiego stosowania tego narzedzia , , w systemach rozpoznawania mowy, kt´ore potwierdzaja,, z˙ e ukryte modele Markowa dobrze sprawdzaja, sie, w zadaniach modelowania i rozpoznawania szereg´ow czasowych, wykazujac sciwo´sci automatycznego dokonywania nieliniowej transformacji , wÃla´ czasowej i segmentacji. Skuteczno´sci rozpoznawania uzyskane w ukÃladach rozpoznawania jezyk´ ow migowych zestawiono w tab. 1.1. , Na podstawie przegladu literatury mo˙zna sformuÃlowa´c nastepuj ace wnioski. , , , • Poza niekt´orymi intuicyjnymi znakami o uniwersalnym zastosowaniu jezyki , migowe u˙zywane w r´oz˙ nych krajach sa, znaczaco odmienne. ,

ROZDZIAÃL 1. WSTEP ,

8

• W literaturze nie podaje sie, na og´oÃl wyczerpujacych informacji dotyczacych , , szczeg´oÃl´ow rozwiaza´ n . Trudno te˙ z a priori oceni´ c uniwersalno´ s ´ c rozwi aza´ , , n publikowanych w odniesieniu do konkretnych jezyk´ o w. , • Zachodzi potrzeba bada´ n nad rozpoznawaniem jezyka migowego u˙zywanego , w Polsce, a w pierwszej kolejno´sci zaproponowania metody pozwalajacej na , rozpoznawanie izolowanych sÃl´ow i prostych zda´ n wykorzystywanych w typowej sytuacji z˙ yciowej i opracowania jej najistotniejszych element´ow, popartego praktyczna, weryfikacja, w rzeczywistym systemie, najlepiej umo˙zliwiajacym , bezpo´srednia, interakcje, u˙zytkownika z komputerem. Spo´sr´od istotnych zagadnie´ n nale˙zy wskaza´c nastepuj ace: , , – wyb´or i spos´ob wyznaczania wektora cech, – synteze, klasyfikatora rozpoznajacego pojedyncze wyrazy, , – synteze, klasyfikatora zda´ n, z uwzglednieniem problem´ow przej´s´c miedzy , , sasiednimi wyrazami i mo˙zliwo´sci rozpoznawania nowych, nieznanych , zda´ n wykorzystujacych znane wyrazy, , – przygotowanie reprezentatywnej bazy danych uwzgledniaj acej z jednej , , strony praktyczna, przydatno´s´c rozwa˙zanego sÃlownika, z drugiej za´s mo˙zliwie szeroka, game, element´ow rzutujacych na trudno´s´c rozpoznawania, wÃlacznie , , z wykonywaniem gest´ow przez osoby biegle posÃlugujace si e j ezykiem mi, , , gowym, – przygotowanie narzedzi programowych i uruchomienie stanowiska badaw, czego pozwalajacego na weryfikacje, zaproponowanych rozwiaza´ , , n oraz stanowiacego baze, do kontynuacji bada´ n, , – zasygnalizowanie kierunk´ow tych bada´ n.

1.3

Cel i zakres pracy

Celem pracy jest opracowanie i weryfikacja metody przybli˙zajacej zbudowanie sys, temu wizyjnego do rozpoznawania sÃl´ow i zda´ n Polskiego Jezyka Miganego (PJM), , stanowiacego w Polsce podstawow a form e komunikacji os´ o b z uszkodzeniem narzadu , , , , sÃluchu ze ´srodowiskiem sÃlyszacych. J ezyk ten powstaà l w wyniku ujednolicenia , , znak´ow migowych stosowanych w ro˙znych regionach kraju i dodania zasad gramatyki jezyka polskiego [24, 65, 66]. W pracy poÃlo˙zono nacisk na wyb´or i wyznaczanie wek, tor´ow cech, konstrukcje, klasyfikator´ow opartych na teorii ukrytych modeli Markowa ´ odÃlo informacji stanowiÃly obrazy oraz eksperymentalna, ocene, ich przydatno´sci. Zr´ ze stereowizyjnego ukÃladu kamer kolorowych. Przyjeto, z˙ e nie bed , , a, wykorzystywane z˙ adne ´srodki pomocnicze (np. rekawice z r´ o z ˙ nokolorowymi palcami). ZaÃlo˙zono, z˙ e , osoba wykonujaca gest stoi przodem do kamery w staÃlej odlegÃlo´sci od niej, a w tle , nie pojawiaja, sie, inne osoby. Skoncentrowano sie, na rozpoznawaniu zamknietego , sÃlownika wyraz´ow i zda´ n wystepuj acych w wybranej sytuacji z˙ yciowej: u lekarza i , , na poczcie. W niniejszej pracy przyjeto, z˙ e gest uto˙zsamiany jest z przedstawieniem ,

ROZDZIAÃL 1. WSTEP ,

9

wyrazu, a sekwencja gest´ow z przedstawieniem zdania. Ograniczono sie, do manualnych ´srodk´ow wyrazu, pomijajac , informacje przekazywana, ruchami ust, gÃlowy, torsu czy ukÃladem ciaÃla. ZaÃlo˙zono tak˙ze, z˙ e rozpatrywane wypowiedzi nie bed , , a, wymagaÃly u˙zycia znak´ow Polskiego Alfabetu Palcowego. Integralnym elementem pracy byÃlo przygotowanie narzedzi programowych i bazy danych. , SÃlowa PJM sa, gestami dynamicznymi prawie zawsze wykonywanymi dwiema rekami. Wystepuje wtedy ruch jednej dÃloni (tzw. dominujacej), podczas gdy druga po, , zostaje nieruchoma, albo te˙z obie rece poruszaj a si e. Podczas wykonywania gest´ow , , , dÃlonie moga, sie, wzajemnie dotyka´c i przysÃlania´c oraz pojawia´c na tle twarzy. Ruch mo˙ze by´c jednokrotny albo powtarzany. Teze, pracy mo˙zna sformuÃlowa´c nastepuj aco: Z u˙zyciem ukrytych modeli , , Markowa mo˙zliwe jest rozpoznawanie pojedynczych sÃl´ ow i zda´ n Polskiego Jezyka Miganego na podstawie sekwencji wizyjnych. Je˙ z eli speÃlnione , sa, ograniczenia odno´ snie do ubioru i otoczenia osoby przedstawiajacej, , gesty ze zbioru wykorzystywanego w typowej sytuacji z˙ yciowej moga, by´ c rozpoznawane z wysoka, skuteczno´ scia, w ukÃladzie pozwalajacym na , bezpo´ srednia, interakcje, z komputerem. ZaÃlo˙zony cel pracy i uzasadnienie tezy wyznaczaja, nastepuj ace zadania badaw, , cze: • zaproponowanie schematu przetwarzania obraz´ow pozyskiwanych w stereowizyjnym ukÃladzie kamer kolorowych w celu wyznaczenia wektor´ow cech, • opracowanie i eksperymentalna weryfikacja metody identyfikacji dÃloni i twarzy w obrazach kolorowych pod katem jako´sci obraz´ow binarnych otrzymywanych , w zmiennych warunkach o´swietlenia oraz czasu przetwarzania umo˙zliwiajacego , zastosowanie metody w trybie on-line, • wyb´or metody wyznaczania mapy gÃlebi na podstawie obraz´ow stereo z uwzgle, , dnieniem jako´sci otrzymywanych map oraz czasu przetwarzania pozwalajacego , na zastosowanie w trybie on-line, • opracowanie algorytmu identyfikacji dÃloni prawej, lewej i twarzy w otrzymanych obrazach binarnych, • analiza wynik´ow bada´ n lingwistycznych dotyczacych cech dystynktywnych , znak´ow migowych, zaproponowanie wektora cech wykorzystywanego przez klasyfikator, • opracowanie i eksperymentalna weryfikacja metody rozpoznawania wybranych wyraz´ow PJM z wykorzystaniem ukrytych modeli Markowa, • opracowanie i weryfikacja metody rozpoznawania zda´ n PJM z wykorzystaniem ukrytych modeli Markowa. Cze´ c badawcza pracy dotyczy przetwarzania i rozpoznawania obraz´ow cyfrowych i , s´ sekwencji wizyjnych, ze szczeg´olnym uwzglednieniem zastosowania ukrytych modeli ,

ROZDZIAÃL 1. WSTEP ,

10

Markowa w zadaniach interakcji czÃlowiek-maszyna ukierunkowanych na interpretacje, przez komputer gest´ow wykonywanych rekami. Oczekiwanym praktycznym , rezultatem jest za´s zbi´or narzedzi programowych o og´ o lniejszym przeznaczeniu oraz , powstaÃla z ich wykorzystaniem aplikacja umo˙zliwiajaca rozpoznawanie wybranych , wyraz´ow i zda´ n PJM w trybie on-line, a tak˙ze obszerna baza sekwencji wizyjnych, kt´ora mo˙ze by´c przydatna tak˙ze innym badaczom.

1.4

Przeglad , pracy

Podstawe, pracy stanowia, cztery dalsze rozdziaÃly. RozdziaÃl 2 zawiera zwiezà owie, le om´ nie kluczowych zagadnie´ n dotyczacych Polskiego J ezyka Miganego. Przedstawiono , , charakterystyke, PJM zwracajac szczeg´ o ln a uwag e na zagadnienia wa˙zne ze wzgledu , , , , na rozpoznawanie w ukÃladzie wizyjnym. Wiekszo´ s ´ c znak´ o w PJM to gesty dyna, miczne, w kt´orych integralnym elementem jest ruch. Wykonywane sa, na og´oÃl w obrebie klatki piersiowej, twarzy i pasa. W przedstawieniu znaku bierze udziaÃl , jedna reka (niekiedy na podstawie utworzonej z drugiej reki, kt´ora nie ma czyn, , nego udziaÃlu w ruchu), albo obie rece, poruszajace sie, symetrycznie lub asyme, , trycznie. Bardziej precyzyjne zdefiniowanie sposobu wykonywania poszczeg´olnych gest´ow uÃlatwia tzw. zapis gestograficzny, kt´ory w odniesieniu do PJM jest wynikiem stosunkowo nowych bada´ n. Om´owienie tego zapisu pozwoliÃlo przedstawi´c przyjete do eksperyment´ o w gesty. Poszczeg´olne wyrazy i zdania zostaÃly starannie , wybrane po konsultacji z osobami zajmujacymi sie, tÃlumaczeniem PJM w Polskim , Zwiazku GÃluchych w Rzeszowie. Wyb´or uwzgledniaà l, opr´ocz przydatno´sci w typo, , wych sytuacjach z˙ yciowych (u lekarza i na poczcie) tak˙ze reprezentatywno´s´c pod wzgledem sposobu wykonywania i zÃlo˙zono´sci rzutujacej na trudno´s´c rozpoznawania , , w ukÃladzie wizyjnym. Wzieto wiec , , pod uwage, przypadki, gdy dochodzi do wzajemnego przysÃlaniania sie, dÃloni lub pojawienia sie, dÃloni na tle twarzy, gdy zachodzi podobie´ nstwo niekt´orych gest´ow do innych, bad´ , z utrata cze´ , sci informacji w wyniku projekcji z przestrzeni tr´ojwymiarowej do pÃlaszczyzny obrazu. W rozdziale 3 przedstawiono schemat przetwarzania obraz´ow pozyskiwanych w ukÃladzie stereowizyjnym w celu wyznaczenia wektor´ow cech. Dokonano wyboru metody identyfikacji dÃloni i twarzy w obrazie kolorowym, przyjmujac , jako kryterium jako´s´c otrzymanych obraz´ow binarnych i czas przetwarzania. Opisano eksperymenty z wykorzystaniem kilku metod identyfikacji i wybranych przestrzeni barw. Przedstawiono tak˙ze zaproponowany przez autora algorytm pozwalajacy na identyfikacje, , dÃloni prawej, lewej i twarzy w otrzymywanych obrazach binarnych oraz dokonano wyboru metody generowania mapy dysparycji. Wyb´or poprzedzono eksperymentami z r´oz˙ nymi metodami, biorac s´c otrzymywanych map dysparycji , pod uwage, jako´ oraz czas przetwarzania. Starano sie, tak dobra´c poszczeg´olne metody, aby mo˙zliwe byÃlo przetwarzanie sekwencji wizyjnych w trybie on-line z czestotliwo´ scia, 25 kla, tek/s. W ko´ ncowej cze´ ow cech, na , sci rozdziaÃlu zaproponowano warianty wektor´ kt´orych oparto p´o´zniej budowe, klasyfikator´ow. Wyboru cech dokonano wzorujac , sie, na wynikach bada´ n lingwistycznych nad tzw. cechami dystynktywnymi znak´ow migowych.

ROZDZIAÃL 1. WSTEP ,

11

RozdziaÃl 4 opisuje ukryte modele Markowa (HMM), kt´ore zastosowano w niniejszej pracy do rozpoznawania wyraz´ow i zda´ n PJM. Przedstawiono tutaj matematyczny opis ukrytych modeli Markowa, om´owiono w jaki spos´ob moga, by´c u˙zywane do rozpoznawania wyraz´ow i zda´ n oraz opisano r´ownolegÃly ukryty model Markowa, kt´orego zastosowanie okazuje sie, uzasadnione w przypadku rozpoznawania przekazu migowego, majacego charakter r´ownolegÃly. Najmniejsze, niepodzielne , jednostki r´oz˙ nicujace, bed odpowiednikami fonem´ow z jezyka m´owionego, moga, , , , ace , w tym przypadku zmienia´c sie, r´ownolegle. Du˙za cze´ s ´ c gest´ o w migowych wyko, nywana jest dwiema rekami, podczas ruchu dÃloni jednocze´snie mo˙ze zmienia´c sie, , jej ksztaÃlt i orientacja. Zwr´ocono uwage, na algorytm Viterbiego w wersji z przekazywaniem znacznik´ow, kt´ory znacznie uÃlatwia rozpoznawanie z wykorzystaniem sieci r´ownolegÃlych modeli Markowa. Przedstawiono metode, uczenia z wbudowanym wyodrebnianiem element´ow skÃladowych w ciagu uczacym, np. wyraz´ow w zdaniu , , , (embedded training), kt´ora jest szczeg´olnie u˙zyteczna w przypadku rozpoznawania sekwencji gest´ow, poniewa˙z nie wymaga precyzyjnej segmentacji zda´ n wykorzystanych w uczeniu, a jedynie informacji o kolejno´sci wystepuj acych w nich wyraz´ow. , , RozdziaÃl 5 dotyczy rozpoznawania pojedynczych sÃl´ow PJM. Opisano tutaj wyniki rozpoznawania podzbioru 101 wyraz´ow PJM wystepuj acych w typowych sytu, , acjach: u lekarza i na poczcie. Gesty wykonywane byÃly przez lektorke, PJM oraz przez autora, kt´ory wyuczyÃl sie, ich na u˙zytek niniejszej pracy. L Ã acznie wykorzy, stano 6060 wykona´ n, zarejestrowanych w korzystnych i niekorzystnych warunkach o´swietlenia. Przebadano 32 r´oz˙ ne warianty wektora cech, uwzgledniaj ac , przypadki, , gdy uczenie i testowanie odbywaÃlo sie, na gestach tej samej osoby, uczenie i testowanie odbywaÃlo sie, na gestach r´oz˙ nych os´ob oraz gdy zbi´or uczacy zostaÃl zbudowany , z wykona´ n poszczeg´olnych gest´ow przez obie osoby. W rozdziale przeanalizowano tak˙ze kwestie, doboru liczby stan´ow HMM oraz fuzji klasyfikator´ow opartych na r´oz˙ nych wektorach cech. W rozdziale 6 opisano wyniki rozpoznawania 35 zda´ n pokazanych w wariancie u˙zytkowym PJM, wystepuj acych w typowych sytuacjach: u lekarza i na poczcie. , , Zdania wykonywane byÃly przez lektorke, PJM oraz autora pracy. L Ã acznie wykorzy, stano 1400 wykona´ n, zarejestrowanych w korzystnych i niekorzystnych warunkach o´swietlenia. Przebadano 15 r´oz˙ nych konfiguracji sieci ukrytych modeli Markowa uwzgledniaj ac s´c miedzy , statystyczny model lingwistyczny bigram oraz modele przej´ , , wyrazami skÃladajacymi si e na rozpatrywan a wypowied´ z . Przeprowadzono tak˙ ze eks, , , perymenty z wykorzystaniem r´ownolegÃlych ukrytych modeli Markowa oraz eksperyment uog´olniajacy polegajacy na odrzuceniu cze´ , , , sci lub wszystkich sekwencji ze zbioru uczacego i uczeniu modeli tylko na wykonaniach pojedynczych wyraz´ow. , Podsumowanie wynik´ow oraz kierunki dalszych bada´ n przedstawiono w rozdziale 7. UzupeÃlnienie pracy stanowia, dodatki: (A, B, C, D) omawiajace oprogramowa, nie, kt´ore skÃlada sie, na przygotowany przez autora system gromadzenia danych i rozpoznawania, (E) przedstawiajacy rozpoznawane wyrazy i zdania oraz (F) opi, sujacy zawarto´s´c zaÃlaczonej pÃlyty DVD z wybranymi elementami bazy danych oraz , , wynikami eksperyment´ow.

RozdziaÃl 2 Polski Jezyk Migany , Podstawowa, forma, porozumiewania sie, os´ob niesÃlyszacych pomiedzy soba, jest kla, , syczny jezyk migowy, zwany te˙z naturalnym, swoistym lub tradycyjnym jezykiem , , migowym. Klasyczny jezyk migowy wytworzony zostaÃl przez ´srodowisko niesÃlysza, , cych do zaspokojenia naturalnej potrzeby porozumiewania sie. Jest on wi ec dla tego , , ´srodowiska jezykiem naturalnym, tak jak jezyk m´owiony dla os´ob sÃlyszacych. Bo, , , gaty zas´ob znak´ow migowych, obejmujacy tak˙ z e poj ecia abstrakcyjne sprawia, z ˙ e nie , , ma problem´ow w porozumiewaniu sie, miedzy soba, os´ob niesÃlyszacych. Bariera ko, , munikacyjna pojawia sie, dopiero wtedy, gdy jezyki naturalne porozumiewaj acych sie, , , os´ob sa, r´oz˙ ne, a wiec obuje poro, w sytuacji, gdy np. osoba z uszkodzeniem sÃluchu pr´ zumie´c sie, z osoba, sÃlyszac olnych krajach opracowano sztuczne, , a. , Dlatego w poszczeg´ bimodalne systemy komunikacji nazywane systemami jezykowo-migowymi [66]. W , systemach tych ta sama tre´s´c przekazywana jest r´ownolegle z wykorzystaniem kanaÃlu gÃlosowego i znak´ow migowych. Dzieki dwukanaÃlowej percepcji odbierane elementy , wzajemnie sie, uzupeÃlniaja, i wzmacniaja., Cze´ c niefoniczna takiego przekazu nazy, s´ wana jest jezykiem miganym. Jezyk migany wykorzystuje znaki migowe z klasycz, , nego jezyka migowego i zasady gramatyczne z ojczystego jezyka m´owionego. , ,

2.1

Og´ olna charakterystyka Polskiego Jezyka , Miganego

Polski Jezyk Migany (PJM) zostaÃl opracowany w latach 1964-65. Dokonano ujed, nolicenia znak´ow migowych stosowanych w r´oz˙ nych regionach kraju i dodano zasady gramatyki jezyka polskiego. PJM u˙zywany jest w sytuacjach formalnych, , w tÃlumaczeniach program´ow telewizyjnych, na konferencjach i w nauczaniu dzieci niesÃlyszacych. W PJM gest odpowiada jednemu wyrazowi. Zdania buduje sie, Ãlacz , , ac , poszczeg´olne gesty w sekwencje. Wyr´oz˙ nia sie, dwa warianty przekazu: system jezykowo-migowy peÃlny i system jezykowo-migowy u˙zytkowy. W systemie peÃlnym , , przekazuje sie, poszczeg´olne wyrazy wraz z ko´ nc´owkami fleksyjnymi. Zaleta, tego przekazu jest dokÃladno´s´c i precyzja sprzyjajace ksztaà ltowaniu prawidÃlowego my´slenia , jezykowego, wada, za´s tempo o okoÃlo 30% wolniejsze od normalnego m´owienia. , W wariancie u˙zytkowym u˙zywa sie, tylko form podstawowych przekazywanych za po12

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

13

moca, znaku ideograficznego bez ko´ nc´owek fleksyjnych. Dla prawidÃlowego funkcjonowania systemu jezykowo-migowego konieczna jest synchronizacja mowy i przekazu , migowego. Dlatego w porozumiewaniu sie, os´ob niesÃlyszacych znacznie wieksze za, , stosowanie ma wariant u˙zytkowy, gdy˙z nie pozwala na op´o´znienia toru miganego w stosunku do mowy. Wariant ten zostaÃl przyjety w niniejszej pracy. , W PJM no´snikiem informacji jest znak migowy. Wyr´oz˙ niamy znaki migowe ideograficzne i daktylograficzne. Znaki ideograficzne odpowiadaja, poszczeg´olnym sÃlowom lub niekiedy kr´otkim zwrotom. Na znaki daktylograficzne skÃlada sie: , alfabet palcowy, znaki liczebnik´ow gÃl´ownych i porzadkowych, znaki uÃlamk´ow zwykÃlych , i dziesietnych oraz znaki interpunkcyjne [24]. Znaki ideograficzne stanowia, gÃl´owna, , cze´ s ´ c przekazu migowego, podczas gdy znaki daktylograficzne peÃlnia, funkcje, po, mocnicza, i uzupeÃlniajac Poniewa˙z znaki ideograficzne nie odmieniaja, sie, przez , a. , przypadki i osoby, struktury gramatyczne wyra˙zane sa, za pomoca, odpowiedniego szyku wyraz´ow i lu´znych gest´ow pomocniczych. TÃlumaczenie wypowiedzi z klasycznego jezyka migowego na ojczysty jezyk foniczny nie mo˙ze zatem odbywa´c sie, sÃlowo , , po sÃlowie i wymaga uwzglednienia odmienno´ sci gramatyk obu jezyk´ ow. Nieco ponad , , 30% znak´ow Polskiego Jezyka Miganego to znaki ikoniczne czyli takie, w kt´orych , ukÃlad dÃloni i palc´ow jest podobny do opisywanego ksztaÃltu albo ruch wykonywany dÃlo´ nmi jest zbli˙zony do ruchu charakterystycznego dla opisywanej czynno´sci. OkoÃlo 40% stanowia, znaki ezoteryczne, w kt´orych analogie do opisywanego przedmiotu albo czynno´sci nie sa, Ãlatwo dostrzegalne ale istnieja, i moga, zosta´c wytÃlumaczone. PozostaÃle 30% to znaki arbitralne, dla kt´orych nie mo˙zna dopatrze´c sie, z˙ adnych analogii do rzeczywisto´sci. Gest migowy mo˙ze zosta´c scharakteryzowany za pomoca, tzw. cech dystynktywnych, do kt´orych zaliczymy: ksztaÃlt dÃloni, orientacje, dÃloni i palc´ow, poÃlo˙zenie dÃloni, charakter wykonywanego ruchu i udziaÃl drugiej reki. , KsztaÃlt, orientacja i poÃlo˙zenie okre´slaja, statyczna, konfiguracje, dÃloni. KsztaÃlt dÃloni okre´sla poÃlo˙zenie palc´ow wzgledem siebie. W PJM wyr´oz˙ nia sie, 48 , r´oz˙ nych ukÃlad´ow palc´ow dla ka˙zdej z rak , (rys. 2.1). 22 ukÃlady dÃloni odpowiadaja, znakom Polskiego Alfabetu Palcowego (PAP). Sa, to znaki liter: A, B, C, CZ, E, F, G, H, I, K, L, M, N, O, P, R, S, T, U, W, Y i Z. Pie´ , c konfiguracji odpowiada znakom liczebnik´ow gÃl´ownych: 1, 2, 4, 5 i 100. Siedem ukÃlad´ow dÃloni to znaki miedzynarodowego alfabetu palcowego oznaczone w literaturze dodatkowa, litera, m. , Sa, to znaki: Bm, Cm, Em, Om, Tm, Um i Xm. Dziesie´ ow dÃloni powstaje , c ksztaÃlt´ w wyniku modyfikacji liter polskiego alfabetu palcowego. Zmodyfikowane znaki oznacza sie: , Aw, Bk, Bz, Bkz, Cw, Eo, Ik, Nw, Ps i Yk. PozostaÃle cztery ukÃlady to zmodyfikowane znaki liczebnik´ow gÃl´ownych, oznaczane w literaturze odpowiednio: 2 1z, 4z, 5s i 5z. Teoretycznie, dla dw´och dÃloni daje to wiec zliwo´sci. , 48 = 2304 mo˙ W praktycznym przekazie migowym wykorzystuje sie, okoÃlo 200 r´oz˙ nych ksztaÃlt´ow dÃloni. Przy rozpoznawaniu gest´ow migowych ukÃlady dÃloni sa, czesto grupowane w , pewne klasy ksztaÃlt´ow, np.: piastka, dÃlo´ n pÃlaska, pojedynczy wysuniety palec, itp. , , Do jednoznacznego okre´slenia uÃlo˙zenia dÃloni w stosunku do pionu i poziomu konieczne jest okre´slenie jej orientacji oraz orientacji poszczeg´olnych palc´ow. W PJM istnieja, 32 r´oz˙ ne uÃlo˙zenia dÃloni, co oznacza 322 = 1024 r´oz˙ nych orientacji dla gest´ow dwurecznych. W praktyce wykorzystuje sie, okoÃlo 180 mo˙zliwo´sci. , PoÃlo˙zenie dÃloni, zwane te˙z miejscem artykulacji, okre´sla sie, podajac c ciaÃla, , cze´ , s´

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

14

A

B

C

CZ

E

F

G

H

I

K

L

M

N

O

P

R

S

T

U

W

Y

Z

1

2

4

5

100

Bm

Cm

Em

Om

Tm

Um

Xm

Aw

Bk

Bz

Bkz

Cw

Eo

Ik

Nw

Ps

Yk

1z

4z

5s

5z

Rys. 2.1. KsztaÃlty dÃloni wystepuj ace w Polskim Jezyku Miganym , , ,

na tle kt´orej wykonywany jest gest. Gest mo˙ze by´c wykonywany na tle klatki piersiowej, twarzy, brzucha. Informacje, te, uzupeÃlnia sie, precyzujac, po kt´orej stronie , ciaÃla odbywa sie, artykulacja (na prawo, na lewo, w ´srodku). Podaje sie, tak˙ze odlegÃlo´s´c dÃloni od ciaÃla. W PJM mo˙zna wyr´oz˙ ni´c 37 pozycji dla ka˙zdej z rak: 17 przed , lub obok twarzy, 18 przed klatka, piersiowa, i dwie w dolnej cze´ zde z , sci ciaÃla. Ka˙ tych miejsc mo˙ze by´c mniej lub bardziej wysuniete do przodu, co zwieksza liczbe, , , mo˙zliwo´sci do 74. Ponadto 26 miejsc mo˙ze by´c w kontakcie dotykowym z ciaÃlem. L Ã acznie daje to 100 mo˙zliwo´sci i wszystkie one wykorzystywane sa, w praktyce. W , PJM ponad 78% znak´ow migowych wykonywane jest w obrebie klatki piersiowej, , 17% w okolicach twarzy, prawie 3% jednocze´snie w obrebie twarzy i klatki piersio, wej i niecaÃle 2% w innych miejscach.

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

15

Blisko 98% znak´ow PJM ma charakter dynamiczny. Wystepuj acy w nich ruch , , opisywany jest za pomoca, przybli˙zonego ksztaÃltu trajektorii, kierunku, wielko´sci, sposobu wykonania, predko´ sci. Okre´sla sie, tak˙ze, czy podczas wykonywania ruchu , wystepuje powtarzanie i kontakt dÃloni z inna, cze´ , , scia, ciaÃla. Niekiedy podaje sie, tak˙ze przegub, w kt´orym ma miejsce ruch. Decydujacymi parametrami sa, ksztaÃlt , i kierunek. KsztaÃlt najcze´ s ciej przybli˙ z a si e za pomoc a linii prostej, linii prostej z , , , zaÃlamaniem pod katem 45, 90 lub 135 stopni, fali, okregu, Ãluku lub spirali. Kieru, , nek ruchu definiuje sie, co 45 stopni. W znakach dynamicznych PJM wyr´oz˙ nia sie, okoÃlo 100 mo˙zliwych ruch´ow, kt´ore mo˙zna opisa´c za pomoca, 21 ruch´ow prostych i ich kombinacji. Spos´ob wykonania ruchu mo˙ze by´c zr´oz˙ nicowany. Ruch mo˙ze by´c dÃlu˙zszy lub kr´otszy od standardowego. Predko´ s´c wykonania mo˙ze by´c wieksza lub , , mniejsza od typowej. Podczas wykonywania ruchu dÃlo´ n mo˙ze pozostawa´c w ciagà , lym kontakcie z druga, dÃlonia, bad´ z z inn a cz e´ s ci a ciaà l a. Zetkni ecie mo˙ z e mie´ c tak˙ z e cha, , , , , rakter chwilowy i wystepowa´ c najcze´ lub ko´ ncowej fazie ruchu. , , , sciej w poczatkowej Po zako´ nczeniu ruchu dÃlo´ n mo˙ze zatrzymywa´c sie, w spos´ob energiczny lub Ãlagodnie. Niekiedy zÃlo˙zona sekwencja ruchu mo˙ze by´c kilkakrotnie powtarzana. Gesty moga, by´c wykonywane jedna, lub dwiema rekami. W przypadku gest´ow , dwurecznych wyr´oz˙ nia sie, dÃlo´ n dominujac Przy wykonywaniu , a, i niedominujac , a. , , gestu mo˙ze obowiazywa´ c reguà l a dominacji lub symetrii. W przypadku reguÃly domi, nacji obie dÃlonie maja, r´oz˙ ny ksztaÃlt. DÃlo´ n niedominujaca przyjmuje wtedy jeden z , ksztaÃlt´ow z pewnego nielicznego zbioru i pozostaje nieruchoma, stanowiac , podstawe, dla poruszajacej sie, dÃloni dominujacej. W przypadku gest´ow symetrycznych obie , , dÃlonie przyjmuja, ten sam ksztaÃlt i poruszaja, sie, w spos´ob symetryczny. W zale˙zno´sci od rodzaju symetrii rozr´oz˙ niamy gesty r´ownolegÃle, lustrzanie symetryczne, punktowo symetryczne i naprzemienne. Zestaw parametr´ow opisujacych manualna, cze´ c przekazu migowego pokazano , , s´ na rys. 2.2. Po uwzglednieniu wszystkich mo˙zliwych kombinacji cech dystynktywnych otrzy, mujemy 2304 ∗ 1024 ∗ 100 ∗ 100 = 23592960000 mo˙zliwych konfiguracji znak´ow migowych. Dla por´ownania aparat foniczny czÃlowieka mo˙ze wytworzy´c zaledwie okoÃlo 90 r´oz˙ nych gÃlosek.

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

16

Rys. 2.2. Opis manualnej cze´ , sci przekazu migowego.

2.2

Zapis gestograficzny

Jezyk m´owiony mo˙zna Ãlatwo zapisa´c za pomoca, alfabetu fonetycznego. Znaki mi, gowe nie maja, odpowiednik´ow w formie pisemnej a ich opis sÃlowny musi by´c rozbudowany i nie zawsze jest jednoznaczny. Do precyzyjnego odwzorowania gestu migowego konieczne jest zatem wykorzystanie nagrania wideo albo animacji komputerowej. Dlatego opracowywane sa, metody opisu, w kt´orych znak okre´sla sie, podajac sci wszystkich cech dystynktywnych. Taki , zapisane schematycznie warto´ spos´ob opisu nazywamy zapisem gestograficznym, za´s opis pojedynczego znaku gestogramem. Polski zapis gestograficzny opracowano w 1988 roku [65] i zmodyfikowano w 1998 roku, w trakcie prac na stworzeniem translatora tekstu pisanego na jezyk migowy , [63]. W zapisie tym, odpowiadajacy pojedynczemu znakowi gestogram opisany jest , za pomoca, jednej, dw´och, trzech lub czterech cze´ , sci rozdzielonych znakami ’#’. W cze´ s ci pierwszej zdefiniowana jest statyczna konfiguracja dÃloni. Dla znak´ow , dynamicznych jest to konfiguracja na poczatku gestu. Obejmuje ona ksztaÃlt, orien, tacje, i poÃlo˙zenie. Opis ksztaÃltu skÃlada sie, z du˙zej litery L lub P, oznaczajacej odpowiednio dÃlo´ n ,

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

17

lewa, bad´ orej wystepuje jedno- lub dwuznakowe oznaczenie jednego , z prawa, , po kt´ , z 48 mo˙zliwych ksztaÃlt´ow (patrz rys. 2.1). Przed litera, L lub P mo˙ze pojawi´c sie, dodatkowo maÃla litera p, gdy nastepuje zetkniecie dÃloni z przedramieniem lub r w , , przypadku, gdy dÃlo´ n dotyka ramienia. Orientacje, dÃloni i palc´ow zapisuje sie, po znaku ’:’ za pomoca, liczby dwucyfrowej, w kt´orej pierwsza cyfra okre´sla orientacje, zgrubnie, natomiast druga ja, precyzuje. Znaczenie poszczeg´olnych cyfr podano w tab. 2.1. Je˙zeli druga, cyfra, zapisu jest 1, Tab. 2.1. Opis orientacji dÃloni w zapisie gestograficznym

pierwsza cyfra 1 2 3 4 5 6 7 8 druga cyfra 1 2 3 4 5 6 7 8 9 0

znaczenie pierwszej cyfry dÃlo´ n poziomo, wnetrzem w g´ore, , dÃlo´ n poziomo, wnetrzem w d´oÃl , dÃlo´ n pionowo, ko´ nce palc´ow skierowane w g´ore, dÃlo´ n pionowo, ko´ nce palc´ow skierowane w d´oÃl dÃlo´ n pionowo, kantem w d´oÃl dÃlo´ n pionowo, kantem w g´ore, dÃlo´ n uko´snie w g´ore, s dÃloni pod katem 45◦ , , o´ dÃlo´ n uko´snie w d´oÃl, o´s dÃloni pod katem 45◦ , znaczenie drugiej cyfry ko´ nce palc´ow skierowane do przodu ko´ nce palc´ow skierowane sko´snie do przodu i w g´ore, , wnetrzami dÃloni do siebie , ko´ nce palc´ow skierowane sko´snie do przodu i do wewnatrz , ◦ (przedramiona po katem 90 ) , ko´ nce palc´ow skierowane do tyÃlu kant dÃloni skierowany do przodu kant dÃloni skierowany do tyÃlu wnetrze dÃloni skierowane do przodu , grzbiet dÃloni skierowany do przodu kanty dÃloni skierowane do wewnatrz , (lewej reki w prawo, a prawej w lewo) , kanty dÃloni skierowane na zewnatrz , (prawej reki w prawo, a lewej w lewo) ,

5, 7 lub 8, to mo˙ze by´c przed nia, umieszczony znak ’/’, kt´ory oznacza odchylenie dÃloni w prawo lub znak ’\’ oznaczajacy odchylenie dÃloni w lewo. , PoÃlo˙zenie dÃloni w stosunku do ciaÃla opisuje sie, za pomoca, jednej lub kliku maÃlych liter umieszczonych bezpo´srednio po opisie orientacji. Znaczenie poszczeg´olnych liter przedstawiono na rys. 2.3. Pierwsza litera (na rysunku podkre´slona) oznacza cze´ c , s´ ciaÃla, przed kt´ora, znajduje sie, dÃlo´ n. Mo˙ze to by´c litera t dla twarzy, s dla szyi lub k dla klatki piersiowej. Je˙zeli dÃlo´ n ustawiona jest przed ´srodkiem danej cze´ , sci ciaÃla, to jednoliterowy opis pozycji jest wystarczajacy. W przeciwnym razie dodaje sie, , nastepne litery, kt´ore precyzuja, przesuniecie dÃloni. Litera p oznacza przesuniecie w , , , prawo, l - w lewo, g - w g´ore, i d - w d´oÃl. Je˙zeli dÃlo´ n znajduje sie, poza obrebem ,

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

18

Rys. 2.3. Opis pozycji dÃloni wzgledem ciaÃla w zapisie gestograficznym ,

danej cze´ slajac powtarza sie. orych , a, jej przesuniecie , sci ciaÃla, to litere, okre´ , , W niekt´ znakach jako druga litera mo˙ze wystapi´ c tak˙ z e w oznaczaj ace wierzch gà l owy oraz t , , oznaczajace tyÃl gÃlowy. W przypadku gdy wystepuje zetkniecie dÃloni z druga, dÃlonia, , , , lub z inna, cze´ s ci a ciaà l a, do opisu konfiguracji statycznej dodaje sie, znak ’+’. , , Dla gest´ow dwurecznych nale˙zy jeszcze okre´sli´c wzajemne poÃlo˙zenie dÃloni wzgle, , dem siebie. W tym celu wykorzystuje sie, znaki interpunkcyjne (tab. 2.2) umieszczone pomiedzy opisami dÃloni prawej i lewej. , Tab. 2.2. Opis wzajemnego poÃlo˙zenia dÃloni w zapisie gestograficznym zapis L )( P L }{ P L.P L .. P L ... P LXP LxP L ++ P L +|+ P L )| P L }| P L|P L || P P )/ L P }/ L P X)/ L P x}/ L P/L P // L

wzajemne poÃlo˙zenie dÃloni obie dÃlonie obok siebie w bezpo´srednim styku pÃlaszczyznami lub kantami obie dÃlonie obok siebie stykaja, sie, punktowo lub na maÃlej powierzchni obie dÃlonie obok siebie oddalone o ok. 15 cm obie dÃlonie obok siebie oddalone o ok. 30 cm obie dÃlonie daleko od siebie (40 cm lub wiecej) , obie dÃlonie krzy˙zuja, sie, w przegubach pod katem prostym , obie dÃlonie krzy˙zuja, sie, wyprostowanymi palcami pod katem prostym , dÃlo´ n lub palce wsuwaja, sie, miedzy palce drugiej dà l oni z zetkni eciem sie, , , dÃlo´ n lub palce wsuwaja, sie, miedzy palce drugiej dà l oni bez dotykania sie, , lewa dÃlo´ n przed prawa, w bezpo´srednim styku pÃlaszczyznami lub kantami lewa dÃlo´ n przed prawa, w bezpo´srednim styku punktowo lub na maÃlej powierzchni lewa dÃlo´ n przed prawa, w odlegÃlo´sci ok. 15 cm lewa dÃlo´ n przed prawa, w odlegÃlo´sci ok. 30 cm prawa dÃlo´ n na lewej w bezpo´srednim styku pÃlaszczyznami lub kantami prawa dÃlo´ n na lewej w bezpo´srednim styku punktowo lub na maÃlej powierzchni prawa dÃlo´ n na lewej w bezpo´srednim styku skrzy˙zowane w przegubach prawa dÃlo´ n na lewej w bezpo´srednim styku skrzy˙zowane wyprostowanymi palcami prawa dÃlo´ n nad lewa, o ok. 15 cm prawa dÃlo´ n nad lewa, o ok. 30 cm

W tabeli 2.2 zapisy gestograficzne ksztaÃltu, orientacji i poÃlo˙zenia obu dÃloni zastapiono , dla uproszczenia literami L i P. Dla znak´ow statycznych zapis gestograficzny zÃlo˙zony jest tylko z jednej cze´ , sci.

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

19

Na rys. 2.4 przedstawiono wybrane gesty statyczne PJM wraz z odpowiadajacymi , im gestogramami.

gÃlowa: PZ:25tppg+

ja: PZ:54k+

le˙ze´ c: PU:13k)/LBk:13k

w: LBk:58k++PBk:23k

Rys. 2.4. Wybrane gesty statyczne PJM wraz z odpowiadajacymi im gestogramami ,

Druga cze´ c zapisu gestograficznego opisuje kierunek i spos´ob wykonania ruchu. , s´ Proste ruchy dÃloni oznacza sie, cyframi rzymskimi (tab. 2.3). Ruchy zÃlo˙zone opisuje sie, Ãlacz ow , ac , cyfry z tab. 2.3 za pomoca, znaku ’\’, gdy ruch jest wypadkowa, ruch´ prostych, ’\\’, w przypadku gdy ruchy proste sa, wykonywane niezale˙znie od siebie i ’;’, gdy ruchy proste wystepuj a, sekwencyjnie. , Tab. 2.3. Opis prostych ruch´ ow w zapisie gestograficznym zapis I II III IV V VI VII VIII IX X XI XII XIII XIV XV XVI XVII XVIII XIX XX XXI

kierunek ruchu ruch w g´ore, ruch w d´oÃl ruch do przodu ruch do tyÃlu ruch w prawo ruch w lewo ruch na zewnatrz (rozchodzenie sie, rak) , , ruch do wewnatrz (schodzenie sie, rak) , , ruch po okregu poziomym , ruch po okregu pionowym , ruch po Ãluku poziomym ruch po Ãluku pionowym ruch wahadÃlowy dÃloni w przegubie ruch wahadÃlowy palc´ow (swobodne poruszanie palcami) ruch obu dÃloni razem w tym samym kierunku ruch obu dÃloni na przemian (mijanie sie) , ruch tam i z powrotem ruch obrotowy wzgledem osi przedramienia , ruch falisty ruch pocierania palcami (kciuk o pozostaÃle) nakre´slenie krzy˙za w powietrzu (najpierw linia pionowa)

W przypadku gdy ruch wykonywany jest w spos´ob nietypowy, umieszcza sie, po jego opisie jeden lub kilka znak´ow z tab. 2.4. Dla niekt´orych bardziej zÃlo˙zonych ruch´ow nie podaje sie, kierunku i sposobu wykonania ruchu, lecz kolejne konfiguracje statyczne oddzielone znakami ’##’.

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

20

Tab. 2.4. Opis nietypowych ruch´ ow w zapisie gestograficznym

zapis > À < ¿ ≥ ≤ ! + = ”

spos´ob wykonania ruchu ruch wiekszy ni˙z przecietny , , ruch znacznie wiekszy ni˙ z przecietny , , ruch mniejszy ni˙z przecietny , ruch znacznie mniejszy ni˙z przecietny , ruch szybszy ni˙z przecietny , ruch wolniejszy ni˙z przecietny , ruch z energicznym zatrzymaniem reki , ruch z dotknieciem drugiej reki lub innej cze´ , , , sci ciaÃla ruch wzdÃlu˙z innej cze´ , sci ciaÃla (przesuwanie) ruch tam i z powrotem ruch wykonany dwukrotnie w tym samym miejscu

Trzecia cze´ c zapisu gestograficznego zawiera opis ko´ ncowej konfiguracji statycz, s´ nej dÃloni. Cze´ c ta wystepuje tylko wtedy, gdy konfiguracja ta jest inna od konfigu, s´ , racji poczatkowej. , Je˙zeli z wykonywanym gestem zwiazana jest odpowiednia mimika twarzy, do , opisu gestograficznego dodaje sie, czwarta, cze´ c zÃlo˙zona, ze znaku ’@’. , s´ Zapis gestograficzny pozwala na jednoznaczne odwzorowanie okoÃlo 98% znak´ow migowych. Tylko w nielicznych przypadkach ruch dÃloni jest zbyt zÃlo˙zony, aby uzyska´c wierny opis. Oznacza to, z˙ e u˙zyte w nim cechy dystynktywne mogÃlyby by´c podstawa, do zbudowania wektora cech wykorzystywanego w automatycznym rozpoznawaniu. Trudno´s´c polega jednak na tym, z˙ e w ukÃladzie wizyjnym nastepuje , redukcja cze´ s ci informacji i wi azka cech, kt´ o ra dla czà l owieka jednoznacznie identy, , fikuje dany gest, mo˙ze tutaj utraci´c swe wÃla´sciwo´sci dystynktywne. Ten sam przestrzenny ksztaÃlt dÃloni bedzie w przetworzonym obrazie wyglada´ c zupeÃlnie inaczej , , w zale˙zno´sci od orientacji dÃloni i ustawienia osoby wzgledem kamery. Dlatego bez , przeprowadzenia dostatecznej liczby eksperyment´ow trudno wskaza´c wektor cech wystarczajacy do rozpoznawania znak´ow migowych. ,

2.3

PrzykÃladowe wyrazy i zdania

Do rozpoznawania wybrano 101 wyraz´ow i 35 zda´ n u˙zywanych w typowych sytuacjach z˙ yciowych: u lekarza i na poczcie. Wyboru dokonano przy udziale konsultantki z Polskiego Zwiazku GÃluchych, kt´ora jest lektorem PJM i na co dzie´ n uczest, niczy we wspomnianych sytuacjach peÃlniac ow , role, tÃlumacza. Przy wyborze wyraz´ zwracano uwage, nie tylko na ich aspekt praktyczny i czesto´ s´c wystepowania ale tak˙ze , , na to, aby stanowiÃly one reprezentatywny podzbi´or znak´ow migowych. 72 spo´sr´od wybranych znak´ow wykonywane jest w obrebie klatki piersiowej, 15 w obrebie twa, , rzy, 11 w obrebie twarzy i klatki piersiowej oraz 3 w okolicach szyi. 88 znak´ o w wi a˙ ,ze , sie, z ruchem dÃloni, za´s 13 ma charakter statyczny. Obie dÃlonie uczestnicza, w wykonywaniu 62 znak´ow, pozostaÃle 39 wyraz´ow to gesty jednoreczne. PrzykÃladowe sÃlowa ,

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

21

PJM przedstawiono na rys. 2.5. Dla znak´ow dynamicznych pokazano poczatkow a, i , ko´ ncowa, faze, gestu.

lekarz

gardÃlo

gÃlowa

goraczka ,

pielegniarka ,

poczta

rachunek

Rys. 2.5. Wybrane sÃlowa PJM

Zdania tworzone byÃly wedÃlug zasady obowiazuj acej w wariancie u˙zytkowym sys, , temu jezykowo-migowego z wykorzystaniem tylko podstawowych form wyraz´ow bez , ko´ nc´owek fleksyjnych. Najkr´otsze zdanie zÃlo˙zone byÃlo z dw´och a najdÃlu˙zsze z 10 wyraz´ow. PrzykÃladowe zdanie przedstawiono na rys. 2.6. Wykaz wszystkich rozpoznawanych wyraz´ow wraz z ich opisami gestograficznymi oraz liste, wszystkich rozwa˙zanych zda´ n wraz z ich transkrypcjami do form u˙zytych w ukÃladzie rozpoznajacym zamieszczono w dodatku E. ,

2.4

Problemy zwiazane z rozpoznawaniem PJM , w ukÃladzie wizyjnym

Ka˙zdy obraz jest dwuwymiarowym odwzorowaniem tr´ojwymiarowej sceny. Brakuje mu wiec Na podstawie obrazu 2D nie jest mo˙zliwe jednoznaczne , informacji o gÃlebi. , okre´slenie poÃlo˙zenia dÃloni w przestrzeni oraz dokÃladne odwzorowanie trajektorii wykonywanej przez dÃlo´ n. Ka˙zde przemieszczenie sie, lub obr´ot osoby wykonujacej gest , prowadzi do odmiennego widoku na obrazie. Ponadto r´oz˙ ne ksztaÃlty dÃloni moga, mie´c to samo odwzorowanie 2D.

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

pan

22

by´c

chory

Rys. 2.6. Zdanie ”Pan jest chory.”w wariancie u˙zytkowym PJM

Wiekszo´ s´c gest´ow PJM ma charakter dynamiczny i wykonywana jest dwiema , rekami, dlatego bardzo czeste sa, sytuacje, w kt´orych dÃlonie przysÃlaniaja, sie, wza, , jemnie, albo pojawiaja, sie, na tle twarzy. Utrudnia to zadanie identyfikacji dÃloni i twarzy w obrazie. Gesty wykonywane sa, w spos´ob subiektywny z charakterystycznym dla danej osoby ”akcentem“. R´oz˙ nice w wykonaniu moga, objawia´c sie, w wielko´sci i szybko´sci ruchu, sposobie realizacji ksztaÃltu dÃloni, nieznacznych przesunieciach miejsca arty, kulacji, itp. Wykonania danego gestu przez te, sama, osobe, tak˙ze moga, sie, r´oz˙ ni´c, zale˙znie od nastroju bad´ , z kontekstu. W przypadku rozpoznawania zda´ n zachodzi konieczno´s´c segmentacji ciagà , lej sekwencji gest´ow w celu wyodrebnienia poszczeg´olnych wyraz´ow. Utrudnione jest to , przez zjawisko koartykulacji polegajace na tym, z˙ e w ko´ ncowej fazie danego gestu , dÃlo´ n zaczyna ju˙z przygotowywa´c sie, do wykonania gestu nastepnego. Objawia sie, to , znieksztaÃlceniami ksztaÃltu i ruchu w poczatkowych i ko´ ncowych fazach gest´ow wy, konywanych w sekwencji. Dodatkowy ruch majacy charakter spontaniczny pojawia , sie, tak˙ze wtedy, gdy miejsca artykulacji kolejnych gest´ow sa, od siebie odlegÃle. UkÃlad dÃlo´ n-ramie, ma wiele stopni swobody, co wpÃlywa na zÃlo˙zono´s´c mo˙zliwych ruch´ow. DÃlo´ n musi by´c widziana jako ciaÃlo niesztywne z mniej lub bardziej silnymi zmianami kat´ ow w zale˙zno´sci od gestu. KsztaÃlt dÃloni mo˙ze tak˙ze , ow w stawach palc´ zmienia´c sie, w trakcie wykonywania gestu, gdy wynika to z jego specyfiki. Spory problem w rozpoznawaniu gest´ow wykonywanych rekami wia˙ ,ze sie, z tym, , z˙ e badania nad jezykami migowymi znajduja, sie, dopiero w fazie poczatkowej. Og´ol, , nie akceptowany model fonologiczny na razie nie zostaÃl opracowany. Struktura jezyka migowego nie jest szeroko zbadana a znaczenie niemanualnych ´srodk´ow wy, razu nie zostaÃlo dokÃladnie wyja´snione. DokÃladna definicja poprawnego wykonania pojedynczych sÃl´ow nie istnieje. Dodatkowe utrudnienie stanowi brak jezyka pisanego dla jezyka migowego. SÃlowa , , nie moga, wiec by´ c ujednolicone w takim zakresie, jak w odniesieniu do jezyka , ,

ROZDZIAÃL 2. POLSKI JEZYK MIGANY ,

23

m´owionego. Brakuje wystarczajacego i ustandaryzowanego materiaÃlu badawczego. Niezbedne , , sekwencje gest´ow do trenowania i testowania ukÃlad´ow automatycznego rozpoznawania musza, zosta´c przygotowane. Du˙zy wpÃlyw na jako´s´c przetwarzanych obraz´ow a tym samym tak˙ze na skuteczno´s´c rozpoznawania maja, zmieniajace sie, warunki o´swietlenia. , Rozpoznawanie gest´ow w ukÃladzie wizyjnym wymaga przetwarzania du˙zej ilo´sci danych o charakterze wizyjnym i wykonywania zÃlo˙zonych obliczeniowo algorytm´ow.

2.5

Podsumowanie

W rozdziale dokonano charakterystyki Polskiego Jezyka Miganego, zwracajac , szcze, g´olna, uwage, na te jego wÃlasno´sci, kt´ore sa, istotne z punktu widzenia rozpoznawania w ukÃladzie wizyjnym. Opisano tzw. wiazki cech dystynktywnych, a wiec , , grupy cech, kt´ore jednoznacznie identyfikuja, dany gest i moga, by´c pomocne przy wyborze wektor´ow cech do rozpoznawania. Przedstawiono, oparty na cechach dystynktywnych, gestograficzny zapis znak´ow migowych. W ko´ ncowej cze´ , sci rozdziaÃlu zasygnalizowano problemy istotne w przypadku rozpoznawania PJM w ukÃladzie wizyjnym.

RozdziaÃl 3 Problemy przetwarzania obrazu Pierwszym etapem w rozpoznawaniu wyraz´ow i zda´ n PJM w ukÃladzie wizyjnym jest przetwarzanie obraz´ow w celu wyznaczenia wektor´ow cech. W rozdziale opisano wia˙ sie, z tym problemy dotyczace rozpoznawania koloru sk´ory, wyznaczania ,zace , , mapy gÃlebi i identyfikacji dÃloni i twarzy. Om´owiono wyniki przeprowadzonych eks, peryment´ow oraz przedstawiono warianty wektor´ow cech, kt´ore uwzgledniane bed , , a, podczas klasyfikacji.

3.1

Rozpoznawanie koloru sk´ ory

Du˙zy wpÃlyw na jako´s´c otrzymywanych obraz´ow binarnych, a tym samym tak˙ze na skuteczno´s´c rozpoznawania maja, zmieniajace sie, warunki o´swietlenia. Pociaga to za , , soba, konieczno´s´c stosowania metod przetwarzania obraz´ow, kt´ore sa, mniej zale˙zne od nate˙ ´swiatÃla. Progowanie obraz´ow monochromatycznych nie , , zenia docierajacego daje niezawodnych rezultat´ow. W przypadku niejednorodnego tÃla i zmieniajacych , sie, warunk´ow o´swietlenia nie mo˙zna ustali´c a priori, czy dÃlonie i twarz maja, by´c ja´sniejsze, czy ciemniejsze od innych obiekt´ow. Inne rozwiazanie, polegajace na wy, , korzystaniu informacji o gradiencie, wia˙ scia, rozstrzygania, kt´ore ,ze sie, z konieczno´ z wyodrebnionych krawedzi nale˙za, do dÃloni i twarzy. Nie jest to zadanie Ãlatwe, , , poniewa˙z krawedzie wygl adaj a, zupeÃlnie inaczej, nawet dla tego samego obiektu, ob, , serwowanego pod r´oz˙ nymi katami. Dlatego w niniejszej pracy zdecydowano sie, na , wykorzystanie obraz´ow kolorowych, w kt´orych poszukuje sie, obszar´ow o chrominancji zbli˙zonej do sk´ory ludzkiej [32]. Metoda umo˙zliwia poprawna, identyfikacje, pod warunkiem, z˙ e ubranie osoby wykonujacej gesty i inne obiekty pojawiajace sie, , , w tle maja, barwy odmienne od koloru sk´ory ludzkiej. SpeÃlnienie tych wymaga´ n w warunkach praktycznych jest znacznie prostsze ani˙zeli zapewnienie, aby dÃlonie i twarz osoby byÃly najja´sniejszymi obiektami w obrazie. Przyjecie takich zaÃlo˙ze´ n , wstepnych jest dodatkowo uzasadnione tym, z˙ e osoby uczestniczace w nagrywaniu , , tÃlumacze´ n w jezyku miganym tak˙ze sa, proszone o ubieranie ciemniejszych ubra´ nz , dÃlugim rekawem i wyst epuj a najcz e´ s ciej na jednorodnym tle. W przypadku, gdy w , , , , tle moga, sie, pojawi´c obiekty o barwach zbli˙zonych do sk´ory ludzkiej, np. twarze i dÃlonie innych os´ob, mo˙zna zaproponowa´c metode, bed przetwarzania , a, poÃlaczeniem , , ac obraz´ow kolorowych i uzyskanych w ukÃladzie stereowizyjnym map gÃlebi (podrozdziaÃl , 24

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

25

3.3). Mapy gÃlebi wykorzystywane byÃlyby do wybierania tylko tych obiekt´ow o ko, lorze sk´ory ludzkiej, kt´ore znajduja, sie, najbli˙zej ukÃladu kamer. Sk´ora ludzka ma charakterystyczna, budowe, , co wpÃlywa na spektrum odbitego od niej ´swiatÃla. Nale˙zy ona do powierzchni dielektrycznych, dla kt´orych zjawisko odbicia ´swiatÃla mo˙ze zosta´c zamodelowane za pomoca, tzw. dwubarwnego modelu odbicia (dichromatic reflection model) [58]. Zgodnie z ta, teoria, ´swiatÃlo odbite docierajace do obserwatora (kamery) jest suma, ´swiatÃla odbitego od powierzchni obiektu , (surface reflection) i ´swiatÃla, kt´ore wnikneà , materiaÃlu, ulegÃlo tam wielo, lo w gÃlab krotnemu rozszczepieniu i w cze´ obiektu , , sci wydostaÃlo sie, z powrotem na zewnatrz (body reflection). Poniewa˙z sk´ora jest materiaÃlem o du˙zej zawarto´sci wody, mo˙zna w stosunku do niej zastosowa´c zaÃlo˙zenie, z˙ e odbicie od powierzchni ma rozkÃlad spektralny w przybli˙zeniu odpowiadajacy rozkÃladowi ´zr´odÃla o´swietlenia. Rzeczywisty , kolor obiektu zale˙zy wtedy od odbicia od wnetrza materiaÃlu. Odbicie powierzch, niowe zachodzi w cienkiej warstwie nask´orka i stanowi zaledwie 5% docierajacego , do kamery ´swiatÃla. PozostaÃle 95% to odbicie od wnetrza materiaà l u zachodz ace ju˙z , , w warstwie sk´ory wÃla´sciwej. Jest to dodatkowy argument przemawiajacy za tym, , aby wykorzysta´c kolor wÃla´snie w odniesieniu do sk´ory, poniewa˙z zawiera on gÃl´ownie informacje o rzeczywistym kolorze obiektu. Jako´s´c segmentacji dÃloni i twarzy zale˙zy od wykorzystanej przestrzeni barw. Z analizy dostepnych w literaturze test´ow wynika, z˙ e nie ma przestrzeni barw uni, wersalnej, dajacej najlepsze rezultaty niezale˙znie od warunk´ow o´swietlenia, zasto, sowanej metody segmentacji i typu kamery. W pewnym stopniu uniezale˙znienie sie, od zmian warunk´ow o´swietlenia uzyskuje sie, w tych przestrzeniach, w kt´orych da sie, odseparowa´c chrominancje, od zale˙znej od poziomu o´swietlenia luminancji. Dodatkowa, zaleta, takiego podej´scia jest redukcja wymiarowo´sci uzyskiwana w wyniku liniowej bad´ ojwymiarowej przestrzeni RGB do dwuwy, z nieliniowej transformacji z tr´ miarowej przestrzeni chrominancji. Wyb´or przestrzeni barw jest zadaniem wa˙znym, poniewa˙z ksztaÃlt rozkÃladu barwy sk´ory ludzkiej zale˙zy od przestrzeni chrominancji. Dlatego w niniejszej pracy przeprowadzono testy dla r´oz˙ nych przestrzeni barw, kt´ore wykorzystywane byÃly w metodach opisywanych w literaturze i maja, pewne wÃlasno´sci istotne z punktu widzenia segmentacji. Do eksperyment´ow wybrano przestrzenie: • znormalizowana, RGB, • YUV, • YIQ, • barw przeciwstawnych OCS, • barw przeciwstawnych w wersji logarytmicznej OCSL, • I1I2I3, • IHS, • Lab.

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

26

W przestrzeni barw RGB kolor reprezentowany jest za pomoca, trzech skÃladowych: czerwonej R, zielonej G i niebieskiej B. W ukÃladzie wsp´oÃlrzednych prostokatnych, , , w kt´orym na poszczeg´olnych osiach odÃlo˙zono warto´sci skÃladowych R, G i B zbi´or wszystkich mo˙zliwych barw tworzy sze´scian. Na przekatnej tego sze´scianu znajduja, , sie, odcienie szaro´sci (rys. 3.1). Kolor punktu skÃlada sie, z informacji ilo´sciowej (lu-

B

biel czerñ

G

R Rys. 3.1. Przestrze´ n bar RGB

minancji) okre´slonej za pomoca, sumy poszczeg´olnych skÃladowych L = R + G + B i informacji jako´sciowej (chrominancji) zdefiniowanej za pomoca, stosunku skÃladowych podstawowych R : G : B. W celu zmniejszenia zale˙zno´sci od nate˙ swietlenia , zenia o´ dokonuje sie, zalecanej przez Miedzynarodow a, Komisje, O´swietlenia CIE (Commis, sion International d’Eclairage) normalizacji polegajacej na podzieleniu ka˙zdej skÃla, G B R dowej przez warto´s´c luminancji: r = L , g = L , b = L [5]. Poniewa˙z otrzymane w ten spos´ob wsp´oÃlrzedne tr´ojchromatyczne speÃlniaja, r´ownanie r + g + b = 1, do dal, szego przetwarzania wybrano dwie z nich r i g. Otrzymane w wyniku normalizacji warto´sci wsp´oÃlrzednych tr´ojchromatycznych r i g moga, by´c zakÃl´ocone przez szum , w przypadku, gdy luminancja piksela jest niewielka. Dlatego zaprogramowano te˙z drugi wariant segmentacji z wykorzystaniem znormalizowanej przestrzeni RGB, w kt´orym piksele o jasno´sciach zbli˙zonych do zera nie zostaÃly uwzglednione w procesie , segmentacji. Testy wykonano tak˙ze dla dw´och przestrzeni wykorzystywanych w telewizji: YUV i YIQ. Przestrze´ n YUV wykorzystywana jest w standardzie PAL. Kolor reprezentowany jest za pomoca, jednego kanaÃlu achromatycznego Y i dw´och kanaÃl´ow chromatycznych U , V . Warto´sci Y , U , V mo˙zna otrzyma´c w wyniku liniowego przeksztaÃlcenia warto´sci R, G i B [58]. 





 



Y 0.299 0.587 0.114 R      0.437  ·  G   U  =  −0.147 −0.289  V 0.615 −0.515 −0.100 B

(3.1)

W celu uniezale˙znienia sie, od zmieniajacego sie, poziomu o´swietlenia segmentacje, , przeprowadzono z wykorzystaniem tylko skÃladowych chromatycznych U i V . Przestrze´ n YIQ wykorzystywana jest w standardzie kodowania NTSC. Kolor punktu reprezentowany jest za pomoca, jednego kanaÃlu achromatycznego Y i dw´och kanaÃl´ow chromatycznych I i Q. PrzeksztaÃlcenie z przestrzeni RGB do przestrzeni

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

27

YIQ jest operacja, liniowa., 





 



Y 0.299 0.587 0.114 R        I  =  0.596 −0.273 −0.322  ·  G  Q 0.212 −0.522 0.315 B

(3.2)

Podobnie jak w poprzednim przypadku, do segmentacji wykorzystano skÃladowe chromatyczne I i Q. Poniewa˙z niekt´orzy autorzy zwracali uwage, na to, z˙ e skÃladowa I przestrzeni YIQ jest wra˙zliwa na kolor sk´ory, zaprogramowano te˙z wersje, algorytmu segmentacji dla przypadku jednowymiarowego z wykorzystaniem jedynie skÃladowej I [12]. Przestrze´ n barw przeciwstawnych zainspirowana zostaÃla badaniami fizjologicznymi ludzkiego systemu wzrokowego. Obserwowane u czÃlowieka zjawiska kontrastu barwy nastepczej pozwoliÃly na wysuniecie hipotezy, z˙ e kolor czerwony jest kolorem , , “przeciwnym” do koloru zielonego i analogicznie kolor niebieski jest “przeciwny” do koloru z˙ ´oÃltego [52]. W przestrzeni tej kolor punktu okre´slony jest za pomoca, jednego kanaÃlu achromatycznego WhBl (czarny-biaÃly) i dw´och kanaÃl´ow chromatycznych: RG (czerwony-zielony) i YeB (˙z´oÃlty-niebieski). PrzeksztaÃlcenie z przestrzeni RGB jest transformacja, liniowa., 





 



R 1 1 1 W hBl       G 1 −1 0 RG · =       B −1 −1 2 Y eB

(3.3)

Do segmentacji wykorzystano kanaÃly chromatyczne RG i YeB. W systemie wzrokowym czÃlowieka sygnaÃl przy wyj´sciu z receptor´ow na nerw optyczny poddawany jest przeksztaÃlceniu, kt´orego charakterystyka jest w przybli˙zeniu logarytmiczna. Dlatego do test´ow wykorzystano tak˙ze logarytmiczna, wersje, przestrzeni barw przeciwstawnych. (3.4) W hBllog = log (G) RGlog = log (R) − log (G)

(3.5)

log (R) + log (G) (3.6) 2 W procesie segmentacji tak˙ze uwzgledniono tylko skÃladowe chromatyczne RGlog i , Y eBlog . Przestrze´ n I1I2I3 wprowadzona zostaÃla jako wynik bada´ n statystycznych na du˙zym zbiorze obraz´ow. W przestrzeni tej kolor punktu opisany jest za pomoca, skÃladowej achromatycznej I1 i dw´och skÃladowych chromatycznych I2 i I3. PrzeksztaÃlcenie z przestrzeni RGB jest transformacja, liniowa., Y eBlog = log (B) −







 



1 1 1 R I1 3 3 3    1 1   0 −2  ·  G    I2  =  2 − 14 12 − 14 B I3

Do segmentacji koloru sk´ory wykorzystano skÃladowe chromatyczne I2 i I3.

(3.7)

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

28

biel

I S

H

czerñ Rys. 3.2. Przestrze´ n bar IHS

Przestrze´ n barw IHS wykorzystywana jest w komputerowych programach do edycji barw. Kolor punktu reprezentowany jest tutaj za pomoca, intensywno´sci I, kt´ora jest skÃladowa, achromatyczna, i dw´och skÃladowych chromatycznych: barwy H i nasycenia S (rys. 3.2) [72]. Odpowiada to intuicyjnemu postrzeganiu koloru przez czÃlowieka. Transformacja z przestrzeni RGB do przestrzeni IHS ma charakter nieliniowy. 1 (3.8) I = (R + G + B) 3 3 S =1− [min (R, G, B)] (3.9) R+G+B 



0.5 [(R − G) + (R − B)]

 , dlaB > G : H = 2π − H H = cos−1  q 2 (R − G) + (R − B) (G − B)

(3.10)

Do segmentacji wykorzystano skÃladowe chromatyczne: barwe, i nasycenie. W 1976 roku CIE wprowadziÃla przestrze´ n barw Lab. W przestrzeni tej kolor reprezentowany jest za pomoca, skÃladowej achromatycznej L i dw´och skÃladowych chromatycznych a∗ i b∗ . Cecha, charakterystyczna, tej przestrzeni jest to, z˙ e r´oz˙ nicom kolor´ow postrzeganym przez oko ludzkie jako jednakowe odpowiadaja, takie same odlegÃlo´sci euklidesowe [14]. Uznajac, z˙ e wÃla´sciwo´s´c ta mo˙ze mie´c znaczenie w procesie , segmentacji wykonano testy tak˙ze dla tej przestrzeni wykorzystujac , skÃladowe chro∗ ∗ matyczne a i b . PrzeksztaÃlcenie z przestrzeni RGB jest transformacja, nieliniowa.,

gdzie:

(

fx = (

fy =

L = 116 ∗ fy − 16

(3.11)

a∗ = 500 (fx − fy )

(3.12)

b∗ = 200 (fy − fz )

(3.13)

1

X3 7.787X +

16 116

X > 0.00865 X ≤ 0.00865

(3.14)

16 116

Y > 0.00865 Y ≤ 0.00865

(3.15)

1

Y3 7.787Y +

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU (

1

Z3 7.787Z +

fz =

16 116

Z > 0.00865 Z ≤ 0.00865

29 (3.16)

za´s X, Y i Z sa, wsp´oÃlrzednymi opisujacymi barwe, w przestrzeni CIE XYZ i moga, , , by´c wyznaczone nastepuj aco: , , 





 



X 0.490 0.310 0.200 R        Y  =  0.177 0.812 0.011  ·  G  Z 0.000 0.010 0.990 B

(3.17)

W testowanych metodach przyjeto, z˙ e na poczatku u˙zytkownik systemu “przed, , stawia sie” a, cze´ c dÃloni z wyprostowanymi pal, do kamery wewnetrzn , prezentujac , , s´ cami skierowanymi ku g´orze (konfiguracja odpowiadajaca znakowi daktylograficzne, mu dla litery B, rys. 2.1). Z dÃloni tej wycinany jest recznie prostokatny obszar , , zawierajacy tylko piksele nale˙zace do sk´ory. Obszar ten wykorzystywany jest do , , budowania modelu rozkÃladu chrominancji sk´ory ludzkiej. W eksperymentach wykorzystano: • metode, oparta, o histogram kolor´ow z aproksymacja, histogramu za pomoca, rozkÃladu normalnego (G), • metode, oparta, o histogram kolor´ow z wygÃladzaniem histogramu filtrem Gaussa (H), • metode, najwiekszej wiarygodno´sci (ML, Maximum Likelihood), , • metode, maksimum prawdopodobie´ nstwa a posteriori (MAP, Maximum A Posteriori Probability). W metodach opartych o histogram kolor´ow, po transformacji wycietego fragmentu , obrazu do z˙ adanej przestrzeni barw, wybierane sa, dwie skÃladowe opisujace chro, , minancje, i generowana jest dwuwymiarowa tablica histogramu. Tablica ta zawiera informacje, o rozkÃladzie cechy ”chrominancja” w klasie ”sk´ora ludzka”. Histogram mo˙ze nie by´c dostatecznie reprezentatywny, poniewa˙z wyznaczany jest na podstawie niewielkiego fragmentu obrazu. Pewne warto´sci chrominancji niewystepuj ace , , dà l o´ n i twarz. Dlatego we wzorcu moga, pojawi´c sie, w innych obrazach zawierajacych , zaprogramowano dwa warianty metody. Pierwszy z nich polegaÃl na aproksymacji histogramu za pomoca, rozkÃladu normalnego: G(ξ) = "

#

"

#

1

1

q

2π |C| "

e− 2 (ξ−µ)

T

C −1 (ξ−µ)

#

(3.18)

ξ1 µ1 σ11 σ12 gdzie: ξ = , µ= , C = oznaczaja, odpowiednio dwueleξ2 µ2 σ21 σ22 mentowy wektor chrominancji, warto´s´c oczekiwana, i kowariancje. Drugi wariant , polegaÃl na wygÃladzeniu histogramu filtrem Gaussa o masce 3 × 3. Po przygotowaniu modelu, wej´sciowy obraz kolorowy transformowany jest do z˙ adanej przestrzeni barw i przeksztaÃlcany w obraz prawdopodobie´ nstwa wg reguÃly ,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

30

(3.19) dla wariantu z aproksymacja, histogramu i reguÃly (3.20) dla wariantu z wygÃladzaniem filtrem Gaussa. z (i, j) = G (ξ) (3.19) z (i, j) = h (ξ)

(3.20)

gdzie: i, j - oznaczaja, wsp´oÃlrzedne piksela, h - dwuwymiarowy wygÃladzony hi, stogram, z - wynikowy obraz prawdopodobie´ nstwa. Po przeskalowaniu warto´sci do zakresu 0 - 255 otrzymuje sie, obraz z poziomami szaro´sci, w kt´orym im piksel ja´sniejszy, tym wieksze prawdopodobie´ nstwo, z˙ e nale˙zy on do sk´ory ludzkiej. Obraz , ten poddany zostaÃl filtracji dolnoprzepustowej za pomoca, maski Gaussa o wymiarach 3 × 3. Nastepnie wyznaczono jego histogram i ustalono adaptacyjnie warto´s´c , progu binaryzacji z wykorzystaniem metody opartej na aproksymacji histogramu za pomoca, krzywych Gaussa [9, 45, 53]. PowstaÃly po progowaniu obraz poddano morfologicznej filtracji OC polegajacej na wykonaniu kolejno otwarcia i zamkniecia [51]. , , W ten spos´ob usunieto drobne dziury i wygÃladzano brzegi na obrazie dÃloni i twarzy. , Schemat przetwarzania dla metod opartych o histogram kolor´ow przedstawiono na rys. 3.3.

a)

b)

c)

d)

e)

f)

Rys. 3.3. Segmentacja dÃloni metoda, oparta, o histogram kolor´ ow: a) fragment obrazu wykorzystywany do generowania modelu (przeksztaÃlcony do poziom´ ow szaro´sci), b), c) model chrominancji sk´ ory, d) obraz wej´sciowy (przeksztaÃlcony do poziom´ ow szaro´sci), e) obraz prawdopodobie´ nstwa f ) obraz e) po binaryzacji i morfologicznej filtracji OC.

W metodach opartych o twierdzenie Bayesa [16, 21, 43] zakÃlada sie, ˙ e piksele , z obrazu moga, nale˙ze´c do dw´och klas: klasa sk´ora - S i klasa tÃlo - T . Jako wyr´oz˙ nik klas wykorzystuje sie, chrominancje, ξ, jako kryterium klasyfikacji wynik por´ownania prawdopodobie´ nstw warunkowych P (S|ξ) i P (T |ξ). Je˙zeli P (S|ξ) > P (T |ξ)

(3.21)

to wektor ξ jest klasyfikowany jako nale˙zacy do sk´ory. Je˙zeli za´s , P (S|ξ) < P (T |ξ)

(3.22)

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

31

wektor ξ jest klasyfikowany jako nale˙zacy do tÃla. Zgodnie z reguÃla, Bayesa [21] mamy: , P (S|ξ) =

p (ξ|S) P (S) p (ξ|T ) P (T ) , P (T |ξ) = p (ξ) p (ξ)

(3.23)

gdzie p (ξ) jest funkcja, gesto´ sci rozkÃladu wektora ξ, a p (ξ|S) i p (ξ|T ), sa, funkcjami , gesto´ s ci rozkà l adu prawdopodobie´ nstw warunkowych. Mo˙zna wiec c warunki , , zapisa´ r´ownowa˙zne z (3.21) i (3.22): p (ξ|S) P (S) > p (ξ|T ) P (T )

(3.24)

p (ξ|S) P (S) < p (ξ|T ) P (T )

(3.25)

i RozkÃlady cechy chrominancja ξ w klasie sk´ora S: p (ξ|S) i w klasie T : p (ξ|T ) przybli˙zono za pomoca, znormalizowanych histogram´ow wygenerowanych dla obrazu wzorcowego, odpowiednio dla pikseli nale˙zacych do sk´ory i dla pikseli nale˙zacych , , do tÃla. Mo˙zliwe sa, dwa zaÃlo˙zenia dotyczace prawdopodobie´ nstw wystapienia klasy , , sk´ora P (S) i klasy tÃlo P (T ). Przyjecie, z˙ e P (S) = P (T ) prowadzi do metody ML. , Inny spos´ob polega na wyznaczeniu warto´sci prawdopodobie´ nstw P (S) i P (T ) na podstawie analizy liczb pikseli nale˙zacych do sk´ o ry i do tà l a w obrazie wzorcowym. , Prowadzi to do metody MAP. W wyniku zastosowania metody ML i MAP otrzymujemy od razu obrazy binarne. Obrazy te podobnie jak w przypadku metod opartych na histogramie kolor´ow poddane zostaÃly morfologicznej filtracji OC. Analogiczne metody zastosowano tak˙ze do przypadku wykorzystania tylko skÃladowej I przestrzeni barw YIQ. Histogram byÃl wtedy tablica, jednowymiarowa, i aproksymowano go za pomoca, jednowymiarowej krzywej Gaussa. Eksperymenty wykonano w pomieszczeniu zamknietym. Przygotowano baze, da, nych dla sze´sciu r´oz˙ nych warunk´ow: 1) dla o´swietlenia dziennego w dzie´ n pochmurny i jednorodnego tÃla, 2) dla o´swietlenia dziennego w dzie´ n sÃloneczny i jednorodnego tÃla, 3) dla o´swietlenia sztucznego otrzymanego z neon´owek i jednorodnego tÃla, 4) o´swietlenia dziennego w dzie´ n pochmurny i niejednorodnego tÃla, 5) o´swietlenia dziennego w dzie´ n sÃloneczny i niejednorodnego tÃla i 6) o´swietlenia sztucznego z neon´owek i niejednorodnego tÃla. Przez tÃlo jednorodne rozumie sie, tutaj tÃlo o jednolitej barwie. Wykorzystano w tym celu: biaÃla, ´sciane, laboratorium, biaÃla, tablice, szkolna,, niebieska, tablice, szkolna, i zielona tablice, ogÃloszeniowa., Jako tÃlo niejednorodne wykorzystano biaÃla, tablice, szkolna, zapisana, za pomoca, r´oz˙ nokolorowych marker´ow oraz typowa, scenerie, w laboratorium. W eksperymencie uczestniczyÃly dwie osoby o r´oz˙ nej karnacji sk´ory. PrzykÃladowe obrazy wykorzystane w eksperymentach przedstawiono na rysunku 3.4. Przeprowadzono 8 test´ow (tab. 3.1). Modele rozkÃladu chrominancji generowano oddzielnie dla ka˙zdych warunk´ow o´swietlenia z wyjatkiem testu 7 i 8, gdzie , obowiazywaà l jeden model rozkÃladu. , Dwa wa˙zne kryteria dla detektora pikseli sk´ory to: • dokÃladno´s´c z jaka, dany model chrominancji opisuje zÃlo˙zony rzeczywisty rozkÃlad w danej przestrzeni,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

32

Rys. 3.4. PrzykÃladowe obrazy wykorzystane w testach r´ oz˙ nych przestrzeni barw (przeksztaÃlcone do poziom´ ow szaro´sci). Tab. 3.1. Wykaz przeprowadzonych test´ ow r´ oz˙ nych przestrzeni barw

Nr testu 1 2 3 4 5 6 7 8

O´swietlenie TÃlo Dzienne (pochmurno) Jednorodne Dzienne (sÃlonecznie) Jednorodne Sztuczne (´swietl´owki) Jednorodne Dzienne (pochmurno) Niejednorodne Dzienne (sÃlonecznie) Niejednorodne Sztuczne (´swietl´owki) Niejednorodne Wszystkie obrazy z test´ow 1 - 6 model wzorcowy sk´ory jak dla testu 2 Wszystkie obrazy z test´ow 1 - 6 model sk´ory otrzymany na podstawie danych wzorcowych z test´ow 1, 2, 3

Liczba obraz´ow testowych 36 36 36 18 18 18 162 162

• wielko´s´c obszaru nakÃladania sie, rozkÃlad´ow barw dla sk´ory i tÃla. Wygenerowane obrazy binarne por´ownywane byÃly z obrazami wzorcowymi otrzymanymi w wyniku recznej segmentacji obraz´ow testowych. Obszary bÃled´ , , ow zostaÃly naniesione na obrazy wej´sciowe, dzieki czemu mo˙zliwe byÃlo tak˙ze wyciagni ecie wnio, , , sk´ow na temat selektywno´sci segmentacji i niewra˙zliwo´sci na cienie i odblaski. W celu oceny jako´sci segmentacji wyznaczono nastepuj ace wska´zniki: SE - skin error, , , liczba pikseli nale˙zacych do sk´ o ry, kt´ o re zostaà l y mylnie zaliczone do tÃla, NSE - non, skin error, liczba pikseli nale˙zacych do tÃla, kt´ore zostaÃly mylnie zaliczone do sk´ory, ,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

33

E - liczba pikseli sklasyfikowanych niepoprawnie. Wymienione wska´zniki rozpatrywano w odniesieniu do Ãlacznej liczby pikseli. Na rys. 3.5, 3.6, 3.7 przedstawiono , wyniki dotyczace kolejno wzgl ednych warto´sci wska´znik´ow SE, NSE i E dla testu , , 8. Omawiajac ace oznaczenia (w nawiasach podano , wyniki wykorzystano nastepuj , , wsp´oÃlrzedne chromatyczne zastosowane do modelowania koloru sk´ory): , rgb - znormalizowana przestrze´ n RGB; (r,g), rgb1 - znormalizowana przestrze´ n RGB z pominieciem pikseli o maÃlych , jasno´sciach; (r,g), YUV - przestrze´ n YUV; (U,V), YIQ - przestrze´ n YIQ; (I,Q), YIQ1 - przestrze´ n YIQ z wykorzystaniem tylko skÃladowej I, OCS - przestrze´ n barw przeciwstawnych; (R-G , Ye-B), OCSL - logarytmiczna wersja przestrzeni barw przeciwstawnych; (log R-log G, log B-(log R+log G)/2), I1I2I3 - przestrze´ n I1I2I3; (I2,I3), IHS - przestrze´ n IHS; (H, S), Lab - przestrze´ n CIELab; (a*, b*), G - metoda z aproksymacja, histogramu za pomoca, rozkÃladu normalnego, H - metoda z wygÃladzaniem histogramu, ML - metoda najwiekszej wiarogodno´sci, , MAP - metoda maksimum prawdopodobie´ nstwa a posteriori. Dla przestrzeni YIQ z wykorzystaniem tylko skÃladowej I otrzymano du˙zo gorsze wyniki, dlatego pominieto ja, na rys. 3.5 - 3.7. , Podsumowanie wynik´ow wszystkich eksperyment´ow zawiera tab. 3.2. Syntetyczne om´owienie poszczeg´olnych test´ow zamieszczono w [35]. Tabele, sporzadzono , wybierajac kryteria E > 5% , NSE, SE > 2.5%. Stwierdzono, z ˙ e rezultat E > 2.5% , dotyczy zdecydowanej wiekszo´ s ci przypadk´ o w. Analizuj ac biaà l e pola mo˙ z na wskaza´ c , , przestrzenie barw i metody detekcji, kt´ore okazaÃly sie, najlepsze. Sa, to przestrzenie rgb, rgb1, IHS z metodami detekcji sk´ory MAP, rgb, rgb1 dla metody ML, OCSL dla metod H, ML, MAP oraz I1I2I3 z metoda, G i Lab z metoda, MAP. W tabeli zauwa˙za sie, przewage, bÃled´ ow , ow typu SE tzn. tendencje, do klasyfikowania fragment´ sk´ory jako tÃla. BÃledy te objawiaj a si e w formie dziur w obszarze dà l oni lub jako , , , efekt erozji morfologicznej. BÃledy typu NSE z kolei objawiaja, sie, jako niewielkie , obiekty w obszarze tÃla oraz podobnie jak efekt dylatacji morfologicznej powoduja, np. sklejanie sie, palc´ow. Testy wykonano na komputerze PC z procesorem AMD Athlon 1,81GHz i 1 GB pamieci RAM pracujacym pod kontrola, systemu operacyjnego Windows XP. , , Oprogramowanie napisano w C++ z wykorzystaniem platformy Visual C++ .NET. Czasy przetwarzania otrzymane dla obraz´ow o wymiarach 320×240 zamieszczono w tab. 3.3. Na podstawie przeprowadzonych test´ow mo˙zna wyr´oz˙ ni´c znormalizowana, przestrze´ n RGB, logarytmiczna, przestrze´ n barw przeciwstawnych OCSL, przestrzenie IHS, Lab i I1I2I3, dla kt´orych otrzymywano najmniejsze bÃledy. W´sr´od metod , segmentacji nieco lepsze okazaÃly sie, metody bayesowskie. Metody te jednak wyma-

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

Rys. 3.5. Wzgledna warto´s´c wska´znika NSE dla testu 8 ,

Rys. 3.6. Wzgledna warto´s´c wska´znika SE dla testu 8 ,

Rys. 3.7. Wzgledna warto´s´c wska´znika E dla testu 8 ,

34

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

35

Tab. 3.2. Podsumowanie wynik´ ow eksperyment´ ow dla r´ oz˙ nych przestrzeni barw

Kolor szary dotyczy wynik´ow, w kt´orych warto´s´c wska´znika E przekroczyÃla 0.05, n - NSE > 0.025, s - SE > 0.025, 2 = n & s, L = ML, A = MAP. Tab. 3.3. Czasy przetwarzania w ms

G H ML MAP

rgb 10 10 12 12

rgb1 11 10 14 14

YUV 16 15 14 14

YIQ 16 14 14 14

YIQ1 21 23 -

OCS 16 15 14 14

OCSL 21 21 20 20

I1I2I3 33 33 31 31

IHS 11 11 10 10

Lab 11 11 10 10

gaja, znajomo´sci rozkÃladu chrominancji dla tÃla w obrazie wzorcowym i zakÃladaja,, z˙ e rozkÃlad ten nie ulega p´o´zniej zmianom. W przypadku gest´ow dynamicznych, poruszaja, sie, nie tylko dÃlonie ale tak˙ze przedramiona i ramiona co wpÃlywa na zmiany rozkÃladu chrominancji dla tÃla. Dlatego do dalszych eksperyment´ow z rozpoznawaniem wyraz´ow i zda´ n PJM zdecydowano sie, wybra´c metody oparte o aproksymacje, histogramu za pomoca, rozkÃladu Gaussa (G). Analizujac i biorac , otrzymywane bÃledy , , pod uwage, czasy wykonania do dalszych eksperyment´ow wybrano znormalizowana, przestrze´ n RGB. Podobne eksperymenty przeprowadzono tak˙ze dla przypadku detekcji twarzy w obrazie kolorowym. Wykorzystano baze, 108 obraz´ow twarzy, zarejestrowanych przez dwie osoby w r´oz˙ norodnych warunkach o´swietleniowych oraz przy r´oz˙ nych tÃlach. Otrzymano zbli˙zone wyniki.

3.2

Segmentacja dÃloni i twarzy

W wyniku zastosowania metod opisanych w podrozdziale 3.1 otrzymujemy obrazy binarne zawierajace od jednego do trzech obiekt´ow o dominujacych rozmiarach, , , odpowiadajacych twarzy i dÃloniom osoby wykonujacej gest. Trzy obiekty wystepuj a, , , , wtedy, gdy dÃlonie nie dotykaja, sie, , nie przysÃlaniaja, sie, wzajemnie, nie dotykaja, twarzy i nie pojawiaja, sie, na tle twarzy. Je˙zeli obie dÃlonie dotykaja, sie, lub przysÃlaniaja, sie, wzajemnie, albo jedna z dÃloni dotyka twarzy, bad´ , z pojawia sie, na tle twarzy, to otrzymujemy dwa obiekty. Jeden obiekt wystepuje wtedy, gdy obie dÃlonie , r´ownocze´snie dotykaja, twarzy lub pojawiaja, sie, na tle twarzy. W celu rozr´oz˙ nienia,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

36

kt´ory z obiekt´ow odpowiada dÃloni prawej, dÃloni lewej i twarzy, zastosowano nastepuj acy heurystyczny algorytm, wykorzystujacy informacje, o pozycjach i polach , , , powierzchni obiekt´ow w bie˙zacej i poprzedniej ramce: , Algorytm 3.1: Rozr´ oz˙ nienie dÃloni prawej, lewej i twarzy w obrazie binarnym 1. Wykonaj segmentacje, i wyznacz pola powierzchni i ´srodki cie˙ sci otrzyma, zko´ nych obiekt´ow. 2. Odrzu´c obiekty o polach powierzchni < MIN HAND SURFACE (usuniecie , zakÃl´oce´ n nieodfiltrowanych przez filtracje, OC). 3. Je˙zeli liczba pozostaÃlych obiekt´ow jest r´owna trzy, id´z do 4. Je˙zeli liczba pozostaÃlych obiekt´ow wynosi dwa, id´z do 5. Je˙zeli pozostaÃl jeden obiekt, id´z do 6. W innych przypadkach id´z do 7. 4. DÃlonie i twarz nie dotykaja, sie. Podstaw: TWARZ := obiekt o najwiekszej , , powierzchni. Je˙zeli jest to pierwsza klatka w sekwencji, id´z do 4.1. W przeciwnym razie id´z do 4.2. ´ PRAWA := obiekt le˙zacy bardziej na prawo z pozosta4.1 Podstaw: DÃLON , ´ LEWA := obiekt le˙zacy bardziej na lewo z Ãlych dw´och obiekt´ow, DÃLON , pozostaÃlych dw´och obiekt´ow. ´ PRAWA := ten z dw´och pozostaÃlych obiekt´ow, kt´ory 4.2 Podstaw: DÃLON ´ LEWA := le˙zy bli˙zej pozycji dÃloni prawej w poprzedniej ramce, DÃLON ten z dw´och pozostaÃlych obiekt´ow, kt´ory le˙zy bli˙zej pozycji dÃloni lewej w poprzedniej ramce. 5. Nastapià dÃloni dominujacej i twarzy bad´ z dÃlonia, , lo zetkniecie , , z dÃloni dominujacej , , niedominujac zeli powierzchnia wiekszego obiektu > , a. , Je˙ , MAX FACE SURFACE, id´z do 5.1; w przeciwnym razie id´z do 5.2. 5.1 DÃlo´ n dominujaca dotyka twarzy. Podstaw: TWARZ := obiekt odpowia, ´ PRAWA := obiekt odpowiadadajacy twarzy z poprzedniej klatki, DÃLON , ´ LEWA := obiekt o mniejjacy dÃloni prawej z poprzedniej klatki, DÃLON , szej powierzchni. 5.2 DÃlo´ n dominujaca i niedominujaca dotykaja, sie. Podstaw: TWARZ := , , , ´ PRAWA := obiekt odpowiadajacy obiekt o wiekszej powierzchni, Dà L O N , , ´ LEWA := obiekt odpowiadÃloni prawej z poprzedniej klatki, DÃLON dajacy dÃloni prawej z poprzedniej klatki , 6. Nastapià obu dÃloni i twarzy. Podstaw: TWARZ := obiekt odpowia, lo zetkniecie , ´ PRAWA := obiekt odpowiadajacy dajacy twarzy z poprzedniej klatki, DÃLON , , ´ LEWA := obiekt odpowiadajacy dÃloni prawej z poprzedniej klatki, DÃLON , dÃloni lewej z poprzedniej klatki. 7. Wykryto niewÃla´sciwa, liczbe, obiekt´ow. Zasygnalizuj bÃlad. ,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

37

Algorytm wymaga ustalenia warto´sci dla dw´och zmiennych: MIN HAND SURFACE i MAX FACE SURFACE. Pierwsza oznacza minimalna, powierzchnie, binarnego obiektu odpowiadajacego dÃloni. Warto´s´c te, ustalono eksperymentalnie, obserwujac , , binarne obrazy odpowiadajace dÃloniom dla wszystkich rozwa˙zanych gest´ow. Przyjeto, , , z˙ e MIN HAND SURFACE bedzie r´owne powierzchni najmniejszego obrazu dÃloni, , pomniejszonej jeszcze o 5%. Wszystkie obiekty o powierzchniach mniejszych od tej staÃlej traktowane sa, jako zakÃl´ocenia. MAX FACE SURFACE jest maksymalna, powierzchnia, binarnego obiektu odpowiadajacego twarzy. Warto´s´c ta zostaÃla ustalona , podczas “przedstawiania sie” u˙zytkownika w fazie generowania modelu (podroz, dziaÃl 3.1). Po obliczeniu parametr´ow modelu wykorzystano go do wygenerowania binarnego obrazu twarzy u˙zytkownika i przyjeto, z˙ e MAX FACE SURFACE bedzie , , r´owna powierzchni otrzymanego obiektu binarnego powiekszonej jeszcze o 5%, aby , uwzgledni´ c ewentualne wahania rozmiaru w kolejnych klatkach. Wszystkie obiekty o , powierzchniach wiekszych od MAX FACE SURFACE traktowane sa, jako zetkniecie , , twarzy i dÃloni dominujacej. , W przypadku gest´ow rozpoczynajacych sie, od zetkniecia lub skrzy˙zowania dÃloni, , , algorytm rozpoczyna swe dziaÃlanie jeszcze przed rozpoczeciem wykonywania wÃla´sci, wego gestu, gdy dÃlonie i twarz nie stykaja, sie, dà l o´ n prawa jest po prawej a lewa , po lewej stronie ciaÃla. Przeprowadzone eksperymenty wykazaÃly, z˙ e dla rozwa˙zanego sÃlownika gest´ow PJM, przy typowym tempie wykonywania i predko´ sci przetwarza, nia 25 ramek/s, opisywany algorytm poprawnie identyfikuje obiekty w obrazie binarnym.

3.3

Stereowizja

Statyczna konfiguracja dÃloni i jej ruch maja, charakter przestrzenny. W wyniku dokonywanej przez ukÃlad obrazujacy projekcji do pÃlaszczyzny obrazu spora cze´ c , , s´ informacji 3D zostaje utracona. Pomimo, i˙z cze´ s ciowa informacja o skà l adowej ru, chu zgodnej z osia, optyczna, kamery przekazywana jest w postaci zmieniajacych sie, , rozmiar´ow dÃloni, zdecydowano sie, na wzbogacenie wektora cech o informacje, 3D. Do wyznaczenia mapy dysparycji wykorzystywano monochromatyczne obrazy o wymiarach 320 × 240 pikseli, zarejestrowane z wykorzystaniem stereowizyjnego ukÃladu kamer firmy Videre Design (rys. 3.8). Gwarantuje on, z˙ e obrazy z obu kamer sa, rejestrowane r´ownocze´snie, co ma du˙ze znaczenie w przypadku szybko zmieniajacej sie, sceny. Kalibracje, ukÃladu kamer , przeprowadzono prezentujac przygotowan a specjalnie plansze, w pieciu r´oz˙ nych po, , , zycjach (rys. 3.9). Wykorzystano procedury z biblioteki Small Vision System, dostarczanej wraz z kamera, stereowizyjna, [42]. Parametry wewnetrzne i zewnetrzne , , ukÃladu stereowizyjnego wyznaczane byÃly za pomoca, metody opartej o algorytm Tsai [48, 73]. Znajomo´s´c tych parametr´ow potrzebna jest do dokonania tzw. rektyfikacji obraz´ow stereo, czyli sprowadzenia ich do takiej formy, jakby otrzymane byÃly w idealnym kanonicznym ukÃladzie stereowizyjnym, w kt´orym osie optyczne kamer sa, r´ownolegÃle a obrazy le˙za, na tej samej pÃlaszczy´znie. Dla obraz´ow otrzymanych

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

38

Rys. 3.8. Stanowisko laboratoryjne ze sterowizyjnym ukÃladem kamer.

para nr 1:

para nr 2:

para nr 3:

para nr 4:

para nr 5:

Rys. 3.9. Ujecia planszy kalibracyjnej (z lewej i prawej kamery) wykorzystywane w pro, cesie kalibracji.

w idealnym kanonicznym ukÃladzie stereowizyjnym odpowiadajace sobie linie epipo, larne sa, wsp´oÃlliniowe, co znacznie upraszcza proces poszukiwania odpowiednik´ow. Zrektyfikowane obrazy wykorzystano do wyznaczania map dysparycji, zawierajacych , informacje, o gÃlebi. , W tym celu przetestowano korelacyjna, metode, generowania zwartej mapy dysparycji dla 10 miar dopasowania ujetych w tab. 3.4 [7, 11]. , Przyjeto nastepuj ace oznaczenia: , , ,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

nazwa

39

Tab. 3.4. Miary dopasowania uwzglednione w testach ,

formuÃla X

SAD

|I1 (x + i, y + j) − I2 (x + dx + i, y + dy + j)| (i,j)∈U

ZSAD

X ¯¡ ¢ ¡ ¢¯ ¯ I1 (x + i, y + j) − I1 (x, y) − I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy ) ¯

(i,j)∈U

X

(I1 (x + i, y + j) − I2 (x + dx + i, y + dy + j))2

SSD (i,j)∈U

ZSSD

X £¡

¢

¡

I1 (x + i, y + j) − I1 (x, y) − I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy )

¢¤2

(i,j)∈U

X

SSD-N

[I1 (x + i, y + j) − I2 (x + dx + i, y + dy + j)]2

(i,j)∈U s X

I1 (x + i, y + j)2 ·

X

I2 (x + dx + i, y + dy + j)2

(i,j)∈U

(i,j)∈U

X £¡

¢

¡

I1 (x + i, y + j) − I1 (x, y) − I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy )

ZSSD-N

s (i,j)∈U X ¡

I1 (x + i, y + j) − I1 (x, y)

¢2

·

(i,j)∈U

I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy )

¢2

(i,j)∈U

X SCP

X ¡

¢¤2

I1 (x + i, y + j) · I2 (x + dx + i, y + dy + j) (i,j)∈U

X I1 (x + i, y + j) · I2 (x + dx + i, y + dy + j)

SCP-N

(i,j)∈U

s X

I1 (x + i, y + j)2 ·

(i,j)∈U

X ¡

CoVar

(i,j)∈U s X ¡

X

I2 (x + dx + i, y + dy + j)2

(i,j)∈U

I1 (x + i, y + j) − I1 (x, y)

(i,j)∈U

X Census

¢ ¡

I1 (x + i, y + j) − I1 (x, y) · I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy )

¢2

·

X ¡

¢

I2 (x + dx + i, y + dy + j) − I2 (x + dx , y + dy )

¢2

(i,j)∈U

IC1 (x + i, y + j) ⊗ IC2 (x + dx + i, y + dy + j) (i,j)∈U

• I1 (x, y) i I2 (x, y) - warto´sci intensywno´sci piksela o wsp´oÃlrzednych (x, y), od, powiednio dla obrazu z kamery lewej i prawej, • I1 (x, y) i I2 (x, y) - ´srednie warto´sci intensywno´sci w pewnym otoczeniu punktu o wsp´oÃlrzednych (x, y), odpowiednio dla obrazu z kamery lewej i prawej, , • IC1 (x, y) i IC2 (x, y) - warto´sci miary Census wyznaczone w punkcie o wsp´oÃlrzednych (x, y), odpowiednio dla obrazu z kamery lewej i prawej, , • i, j - indeksy przyjmujace warto´sci ze zbioru liczb caÃlkowitych, , • dx , dy - warto´sci dysparycji (moga, tak˙ze by´c ujemne), • U - zbi´or par liczb caÃlkowitych wyznaczajacych lokalne sasiedztwo pewnego , , punktu o wsp´oÃlrzednych (x, y), ,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

40

• ⊗ - operator Hamminga (liczba r´oz˙ nych bit´ow w por´ownywanych sÃlowach binarnych). Warto´s´c miary Census IC (i, j) dla danego wewnetrznego piksela obrazu o wsp´oÃlrze, , dnych lokalnych (i, j) oraz jego najbli˙zszego n-sasiedztwa wyra˙ z a si e ci agiem bit´ o w: , , , IC (i, j) = bn2 −1 ...bk ...b3 b2 b1 b0 n

2

(3.26)

o

dla k ∈ [0, ..., n2 − 1] / b n2 c , gdzie b nk c oznacza dzielenie caÃlkowitoliczbowe k przez n. Warto´s´c bk wyznacza sie, nastepuj aco: , , (

bk =

³

´

1 ⇔ I i − b n2 c + b nk c, j − b n2 c + k mod n ≥ I (i, j) 0 w przeciwnym razie

(3.27)

gdzie i (i, j) jest warto´scia, intensywno´sci obrazu w punkcie o wsp´oÃlrzednych (i, j), , za´s k mod n oznacza reszte, z dzielenia caÃlkowitoliczbowego k przez n. Dopasowanie pikseli wyznaczano dla okien o wymiarach 3x3, 5x5, ..., 31x31. Dla rozmiar´ow mniejszych od 17x17 otrzymywano bÃledne warto´sci dysparycji dla , niekt´orych punkt´ow nale˙zacych do dà l oni, twarzy oraz tà l a. Bà l edy te pojawiaÃly sie, dla , , ka˙zdej z testowanych miar dopasowania. Przy wiekszych rozmiarach okien wcia˙ ,z , pojawiaÃly sie, niepoprawne warto´sci w charakteryzujacych si e sà l absz a tekstur a ob, , , , szarach tÃla, ale bÃledy w obszarach nale˙ z acych do dà l oni i twarzy wyst epowaà l y tylko dla , , , miar SCP i Census. Dlatego w kolejnych eksperymentach zmodyfikowano procedure, wyznaczania zwartej mapy dysparycji, tak aby dopasowania odbywaÃly sie, jedynie dla pikseli nale˙zacych do dÃloni i twarzy, wyznaczonych na podstawie wej´sciowych , obraz´ow kolorowych (podrozdziaÃl 3.1). Na rys. 3.10 przedstawiono zrektyfikowane obrazy wej´sciowe oraz wygenerowane na ich podstawie mapy dysparycji dla ka˙zdej z testowanych miar dopasowania. Okno korelacji miaÃlo rozmiar 17. Przedstawione obrazy pochodza, z sekwencji odpowiadajacej sÃlowu skierowanie. Wyznaczanie dys, parycji tylko dla pikseli nale˙zacych do dÃloni i twarzy znacznie przyspieszyÃlo oblicze, nia ale nadal czasy przetwarzania otrzymywane na typowym komputerze PC (AMD Athlon 1,81GHz i 1 GB RAM) nie pozwalaÃly na zastosowanie metody w trybie on-line z czestotliwo´ scia, akwizycji 25 klatek/s. W tab. 3.5 przedstawiono czasy , generowania zwartych map dysparycji dla r´oz˙ nych miar dopasowania. Tab. 3.5. Czasy generowania zwartych map dysparycji na podstawie r´ oz˙ nych miar dopasowania [s]; wielko´s´c obrazu 320 × 240, wielko´s´c okna korelacji: 17 × 17

SAD 1.3

ZSAD 4.3

SSD 1.3

ZSSD 4.4

SSD-N 3.7

ZSSD-N 9.7

SCP 1.2

SCP-N 3.6

CoVar 7.0

Census 3.4

Wraz z przesuwaniem okna dopasowania dochodzi do powtarzania tych samych oblicze´ n. Dlatego w pracy [19] zaproponowano optymalizacje, algorytmu, polegajac , a, na zapamietaniu po´srednich sum, wystepuj acych we wzorach na miary dopasowa´ n , , , (patrz tab. 3.4), a nastepnie dodawaniu do tych sum warto´sci obliczonych dla pik, seli, kt´ore w wyniku przesuniecia okna znalazÃly sie, w obszarze dopasowania i odjeciu , ,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

41

kamera lewa

kamera prawa

SAD

ZSAD

SSD

ZSSD

SSD-N

ZSSD-N

SCP

SCP-N

CoVar

Census

Rys. 3.10. Obrazy oryginalne oraz zwarte mapy dysparycji dla r´ oz˙ nych miar dopasowania.

Rys. 3.11. Graficzne przedstawienie zaÃlo˙ze´ n uproszczenia algorytmu wyznaczania miar dopasowa´ n.

warto´sci dla pikseli, kt´ore przestaÃly nale˙ze´c do tego obszaru (rys. 3.11). W tab. 3.6 przedstawiono czasy oblicze´ n otrzymane po zastosowaniu opisywanej metody. Otrzymane czasy wyznaczania map dysparycji nadal nie pozwalaÃly na zastosowanie metody w trybie on-line.

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

42

Tab. 3.6. Czasy generowania zwartych map dysparycji dla r´ oz˙ nych miar dopasowa´ n po optymalizacji algorytmu [s]; wielko´s´c obrazu 320 × 240, wielko´s´c okna korelacji: 17 × 17

SAD 0.4

ZSAD 1.3

SSD 0.4

ZSSD 1.4

SSD-N 1.1

ZSSD-N 2.5

SCP 0.4

SCP-N 1.1

CoVar 2.2

Census 1.0

W zwiazku z tym przetestowano tak˙ze metode, wyznaczania mapy dysparycji z wyko, rzystaniem algorytmu opracowanego przez Stana Birchfielda [4]. W metodzie tej poszukiwanie odpowiadajacych sobie pikseli odbywa sie, niezale˙znie dla poszczeg´olnych , linii epipolarnych z wykorzystaniem programowania dynamicznego i dodatkowego przetwarzania otrzymanych map w celu wyeliminowania bÃled´ , ow. Dla metody tej otrzymano czasy przetwarzania rzedu 800 ms. Wad a algorytmu jest jednak koniecz, , no´s´c doboru kilku parametr´ow sterujacych procesem dodatkowego przetwarzania, , otrzymywanych w pierwszej fazie map dysparycji. Okazuje sie, ˙ e jako´s´c otrzymy, z wanych map dysparycji jest zale˙zna od warto´sci tych parametr´ow. Dynamiczny charakter wykonywanych gest´ow i zmienno´s´c kat´ , ow nachylenia powierzchni dÃloni powoduje, z˙ e trudno jest dobra´c jeden zestaw parametr´ow, kt´ory dawaÃlby zadawalajace rezultaty dla wszystkich obraz´ow w rozpatrywanej sekwencji. Na rys. 3.12 , przedstawiono trzy przykÃladowe mapy dysparycji pochodzace z sekwencji odpowia, dajacej sà l owu skierowanie, wyznaczone dla tych samych warto´ s ci parametr´ow. ,

Rys. 3.12. PrzykÃladowe mapy dysparycji dla obraz´ ow z sekwencji odpowiadajacej sÃlowu , skierowanie wyznaczone z wykorzystaniem algorytmu S. Birchfielda.

Widoczne na pierwszym i trzecim obrazie zakÃl´ocenia w postaci poziomych pas´ow wynikaja, z niewÃla´sciwego doboru parametr´ow. Dlatego przetestowano tak˙ze metode, generowania rzadkiej mapy dysparycji, w kt´orej miare, SAD zastosowano do obrazu krawedzi otrzymanego w wyniku filtracji , LOG [42]. Metoda ta przy czasie przetwarzania 15 ms dla obraz´ow o rozdzielczo´sci 320×240 i okna korelacji o wymiarach 17×17 daÃla mapy dysparycji o zadowalajacej , jako´sci (rys. 3.13) i zostaÃla ostatecznie wybrana do dalszych eksperyment´ow.

3.4

Wyznaczanie cech

Obrazy binarne zawierajace obiekty odpowiadajace dÃloniom i twarzy oraz mapy , , dysparycji wykorzystano do budowy wektor´ow cech. Przyjete skÃladowe wektora , cech mo˙zna podzieli´c na cztery grupy: (1) opisujac zenie dÃloni, (2) opisujac , a, poÃlo˙ , a,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

43

Rys. 3.13. PrzykÃladowe rzadkie mapy dysparycji otrzymane z wykorzystaniem pakietu SVS.

ksztaÃlt dÃloni, (3) opisujac , a, orientacje, dÃloni, (4) zawierajac , a, informacje, przestrzenna. , PoÃlo˙zenie dÃloni zostaÃlo okre´slone z wykorzystaniem nastepuj acych parametr´ o w (rys. , , 3.14): • lr - odlegÃlo´s´c ´srodka cie˙ sci prawej dÃloni od ´srodka cie˙ sci twarzy, , zko´ , zko´ • ϕr - orientacja odcinka Ãlacz ´srodki cie˙ sci prawej dÃloni i twarzy, , acego , , zko´ • ll , ϕl - analogicznie dla dÃloni lewej.

Rys. 3.14. SkÃladowe wektora cech opisujace poÃlo˙zenie i orientacje, dÃloni. ,

Do opisu ksztaÃltu dÃloni wykorzystano nastepuj ace parametry: , , • Sr - pole powierzchni prawej dÃloni, • γr - wsp´oÃlczynnik zwarto´sci prawej dÃloni, • εr - ekscentryczno´s´c (niecentryczno´s´c) prawej dÃloni, • Sl , γl , εl - analogicznie dla dÃloni lewej. Wsp´oÃlczynniki zwarto´sci i ekscentryczno´sci wyznaczano na podstawie wzor´ow [45, 71]: (m20 − m02 )2 + 4m211 P2 , ε= γ= (3.28) 4πS S4

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

44

gdzie: S - pole powierzchni, P - obw´od, m11 , m20 , m02 - momenty centralne, kt´ore dla danego obiektu O w obrazie binarnym okre´sla zale˙zno´s´c [67]: mpq =

XX

p

q

(i − ¯i) (j − ¯j)

(3.29)

i∈O j∈O

a ¯i, ¯j to wsp´oÃlrzedne ´srodka cie˙ sci obiektu O. Dla koÃla parametry γ i ε sa, r´owne , , zko´ odpowiednio: 1 i 0. Dla elipsy sa, one funkcjami stosunku dÃlugo´sci jej osi gÃl´ownych. Orientacje, dÃloni wyznaczono jako orientacje, osi gÃl´ownej binarnego obiektu odpowiadajacego dÃloni, korzystajac , , ze wzoru [28, 71]: ψ = 0, 5tan−1

2m11 m20 − m02

(3.30)

SkÃladowe wektora cech zawierajace informacje, przestrzenna, zostaÃly okre´slone jako: , ∆Zr = Z¯f − Z¯r , ∆Zl = Z¯f − Z¯l

(3.31)

gdzie: Z¯f , Z¯r , Z¯l oznaczaja,, kolejno, ´srednia, warto´s´c gÃlebi dla obiekt´ow odpowiada, jacych twarzy, dÃloni prawej i dÃloni lewej. Poniewa˙z wykorzystywano rzadkie mapy , dysparycji, przy obliczaniu ´sredniej warto´sci gÃlebi twarzy i dÃloni uwzgledniano je, , dynie te piksele, dla kt´orych warto´s´c dysparycji byÃla okre´slona. 14 Dla ka˙zdej dÃloni mamy zatem po 7 parametr´ow. Teoretycznie daje to wiec , 2 mo˙zliwych kombinacji cech. Je˙zeli zaÃlo˙zymy, z˙ e dla obu dÃloni uwzgledniamy te , same cechy (wiekszo´ s´c gest´ow PJM ma charakter dwureczny i czesto obie dÃlonie sa, , , , 7 r´ownorzedne przy wykonywaniu danego znaku), to otrzymamy 2 mo˙zliwo´sci. Gdy , nastepnie uznamy, z˙ e informacja o poÃlo˙zeniu dÃloni (l i ϕ) jest niezbedna otrzymamy , , 5 2 = 32 warianty wektora cech (tab. 3.7). Na potrzeby niniejszej pracy oznaczono je numerami 1-32. Ka˙zdy z wektor´ow zawiera informacje, o poÃlo˙zeniu. Wektory 2-8 wykorzystuja, informacje, o ksztaÃlcie, wektory 9-15 utworzono, odpowiednio, z wektor´ow 2-8 przez dodanie informacji o gÃlebi, wektory 16 - 29 utworzono z wektor´ow 2 , - 15 przez dodanie informacji o orientacji. PozostaÃle 3 wektory zawieraja, informacje, o: 30 - poÃlo˙zeniu i gÃlebi, 31 - poÃlo˙zeniu i orientacji i 32 poÃlo˙zeniu, gÃlebi i orientacji. , ,

3.5

Podsumowanie

W rozdziale zaproponowano schemat przetwarzania obraz´ow w celu wyznaczania wektor´ow cech. Jego elementy uwidacznia przedstawiony dalej rys. 3.15. Wykorzystano obrazy kolorowe pozyskiwane w ukÃladzie stereowizyjnym. Do identyfikacji dÃloni i twarzy osoby wykonujacej gest wykorzystano metode, oparta, o zbu, dowany uprzednio model rozkÃladu chrominancji sk´ory ludzkiej w znormalizowanej przestrzeni barw RGB. Wyb´or metody poprzedzony byÃl studiami literaturowymi oraz opisanymi w rozdziale eksperymentami dla czterech r´oz˙ nych metod identyfikacji i dziewieciu wybranych przestrzeni barw o wÃla´sciwo´sciach istotnych z punktu wi, dzenia segmentacji. Testy przeprowadzono z wykorzystaniem, przygotowanej w tym celu bazy danych, zawierajacej 162 obrazy testowe, zarejestrowane przez dwie osoby ,

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

45

Tab. 3.7. Warianty wektora cech Wykorzystywane cechy ksztaÃlt gÃlebia , Sr , Sl γr , γl εr , εl ∆Zr , ∆Zl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Nr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

poÃlo˙zenie l r , ϕr , l l , ϕl + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

orientacja ψ r , ψl + + + + + + + + + + + + + +

30

+

-

-

-

-

+

31

+

-

-

-

+

-

32

+

-

-

-

+

+

opis poÃlo˙zenie

poÃlo˙zenie + ksztaÃlt

poÃlo˙zenie + ksztaÃlt + gÃlebia , poÃlo˙zenie + ksztaÃlt + orientacja poÃlo˙zenie + ksztaÃlt + gÃlebia , + orientacja poÃlo˙zenie + orientacja poÃlo˙zenie + gÃlebia , poÃlo˙zenie + gÃlebia + , orientacja

o odmiennej karnacji sk´ory, w pomieszczeniu zamknietym, w dzie´ n sÃloneczny i po, chmurny oraz w nocy przy o´swietleniu sztucznym. Przetestowano metode, z aproksymacja, histogramu kolor´ow za pomoca, rozkÃladu normalnego, metode, z wygÃladzaniem histogramu kolor´ow filtrem Gaussa, metode, najwiekszej wiarygodno´sci i metode, , maksimum prawdopodobie´ nstwa a posteriori. Rozwa˙zano znormalizowana, przestrze´ n RGB, przestrze´ n YUV, przestrze´ n YIQ, przestrze´ n barw przeciwstawnych OCS, przestrze´ n barw przeciwstawnych w wersji logarytmicznej OCSL, przestrze´ n

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

46

Rys. 3.15. Schemat przetwarzania obraz´ ow

I1I2I3, przestrze´ n IHS oraz przestrze´ n Lab. Jako´s´c otrzymywanych obraz´ow binarnych oceniano por´ownujac seg, je z obrazami otrzymanymi w wyniku recznej , mentacji wszystkich obraz´ow testowych. Przy wyborze metody i przestrzeni barw uwzgledniono tak˙ze czasy wykonania poszczeg´olnych metod na typowym kompute, rze PC. W rozdziale zaproponowano algorytm identyfikacji dÃloni prawej, lewej i twarzy w otrzymanym obrazie binarnym. Algorytm ten wykorzystuje informacje, o polach powierzchni i ´srodkach cie˙ sci otrzymanych obiekt´ow binarnych w bie˙zacej , , zko´ i poprzedniej klatce. Przeprowadzone eksperymenty wykazaÃly, z˙ e dla rozwa˙zanego sÃlownika gest´ow, typowego tempa wykonywania oraz czestotliwo´ sci przetwarzania 25 , klatek/s obiekty identyfikowane sa, poprawnie przy zaÃlo˙zeniu, z˙ e je˙zeli gest rozpoczyna sie, od zetkniecia lub przysÃloniecia obiekt´ow, algorytm rozpoczyna dziaÃlanie , , wcze´sniej, w sytuacji gdy dÃlonie i twarz daja, w obrazie rozÃlaczne obiekty i dÃlo´ n prawa , znajduje sie, po prawej, a lewa po lewej stronie osi ciaÃla (dokÃladniej linii pionowej przechodzacej przez ´srodek cie˙ sci twarzy). , , zko´ Poniewa˙z ksztaÃlty przyjmowane przez dÃlonie oraz trajektorie ruchu dÃloni maja, charakter przestrzenny, dodano do wektora cech informacje, 3D. W tym celu wykorzystano, otrzymane w wyniku przetworzenia obraz´ow stereo, rzadkie mapy dysparycji. Wyb´or odpowiedniej metody poprzedzony byÃl, opisanymi w niniejszym

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

47

rozdziale, testami r´oz˙ nych algorytm´ow. Przetestowano: (1) dajace zwarte mapy , dysparycji, korelacyjne metody poszukiwania odpowiednik´ow dla okien korelacji o rozmiarach 3x3, 5x5, ..., 31x31 i dziesieciu r´oz˙ nych miar dopasowania scharakte, ryzowanych w tab. 3.4, (2) metody korelacyjne zmodyfikowane w ten spos´ob aby mapy dysparycji generowane byÃly tylko dla obszar´ow dÃloni i twarzy, (3) metode, zaproponowana, przez S. Birchfielda [4], polegajac ow , a, na poszukiwaniu odpowiednik´ niezale˙znie dla poszczeg´olnych linii epipolarnych z wykorzystaniem programowania dynamicznego i dodatkowego przetwarzania otrzymywanych map dysparycji i (4) metode, generowania rzadkiej mapy dysparycji na podstawie obraz´ow krawedzi , otrzymanych w wyniku filtracji LOG. Oceniano wizualnie jako´sci otrzymywanych map dysparycji oraz czasy przetwarzania. Metody korelacyjne dla okien o rozmiarach 17x17 i wiekszych umo˙zliwiaÃly otrzymywanie map dobrej jako´sci, ale czasy , przetwarzania, nawet po zastosowaniu zaproponowanej w pracy [19] optymalizacji algorytmu lub ograniczeniu poszukiwania odpowiednik´ow tylko do obszar´ow o barwie sk´ory, byÃly dÃlu˙zsze ni˙z 400 ms, co uniemo˙zliwiÃlo zastosowanie tych metod do przetwarzania w trybie on-line. W przypadku metody S. Birchfielda problematyczny okazaÃl sie, dob´or takich parametr´ow algorytmu, kt´ore pozwoliÃlyby uzyskiwa´c mapy dysparycji dobrej jako´sci dla wszystkich klatek w danej sekwencji wideo. Czas przetwarzania 800 ms tak˙ze nie pozwalaÃl na zastosowanie tej metody w czasie rzeczywistym. Dopiero metoda generowania rzadkiej mapy dysparycji na podstawie obraz´ow krawedzi daÃla mapy zadowalajacej jako´sci przy czasie przetwarzania rzedu , , , 15 ms na typowym komputerze PC. W rozdziale zaproponowano wektory cech, na podstawie kt´orych bedzie dokony, wane rozpoznawanie. PrzesÃlanka, do ich wyboru byÃly dostepne w literaturze wyniki , bada´ n lingwistycznych nad tzw. wiazkami cech dystynktywnych, pozwalajacymi , , jednoznacznie opisa´c znak migowy. Cechy podzielono na cztery grupy opisujace , miejsce artykulacji, ksztaÃlt dÃloni, gÃlebi e i orientacje dà l oni. Miejsce artykulacji, ana, , logicznie jak w przypadku gestogram´ow (patrz podrozdziaÃl 2.2), okre´slono wzgledem , innej cze´ z podczas konwersacji , sci ciaÃla. Jako odniesienie wybrano twarz, poniewa˙ przeprowadzanej z wykorzystaniem jezyka migowego zazwyczaj jest ona statyczna , i musi by´c zwr´ocona w kierunku odbiorcy, tak aby mo˙zliwa byÃla obserwacja wykonywanych gest´ow i ewentualnie czytanie z ruchu ust. Dodatkowym uzasadnieniem takiego wyboru, z punktu widzenia przetwarzania, jest fakt, z˙ e chrominancja twarzy jest zbli˙zona do chrominancji dÃloni, co pozwala na zastosowanie tych samych metod identyfikacji. Przyjeto, z˙ e poÃlo˙zenie dÃloni wzgledem twarzy bedzie okre´slone za , , , pomoca, dÃlugo´sci odcinka Ãlacz ´srodki cie˙ sci dÃloni i twarzy i orientacji prze, acego , , zko´ chodzacej przez nie prostej. W odr´ o z ˙ nieniu od rozpoznawania Polskiego Alfabetu , Palcowego [47] rozpoznawanie wyraz´ow i zda´ n PJM wymaga, aby pole widzenia kamer obejmowaÃlo sylwetke, osoby wykonujacej gest co najmniej od pasa w g´ore. , , W takim przypadku rozmiary dÃloni w obrazie sa, zbyt maÃle, aby mo˙zliwa byÃla dokÃladna analiza ich ksztaÃltu z uwzglednieniem ukÃladu i orientacji poszczeg´olnych palc´ow, , tak jak ma to miejsce w zapisie gestograficznym. Dlatego przy wyborze cech opisujacych ksztaÃlt dÃloni zdecydowano sie, na opis zgrubny z wykorzystaniem jedynie , przybli˙zonego opisu danego ksztaÃltu. Zastosowano trzy miary: pole powierzchni, wsp´oÃlczynnik zwarto´sci i ekscentryczno´s´c i rozwa˙zono r´oz˙ ne ich kombinacje. Po-

ROZDZIAÃL 3. PROBLEMY PRZETWARZANIA OBRAZU

48

niewa˙z ksztaÃlt dÃloni i wykonywane ruchy maja, charakter przestrzenny, dodano do wektora cech informacje, o wzajemnym usytuowaniu dÃloni i twarzy osoby wykonujacej gesty. Opis dÃloni uzupeÃlniono o orientacje, osi gÃl´ownej odpowiadajacego jej , , obiektu binarnego. Wektor cech zawiera wiec ow, po 7 na ka˙zda, dÃlo´ n. Ce, maksymalnie 14 element´ chy, kt´ore z lingwistycznego punktu widzenia sa, dystynktywne, moga, w przypadku przetwarzania obraz´ow te wÃla´sciwo´sci utraci´c w wyniku wystapienia problem´ow, , kt´ore opisano wcze´sniej. Ponadto w zaproponowanym wektorze cech opis ksztaÃltu jest znacznie ubo˙zszy ani˙zeli w gestograficznym zapisie statycznej konfiguracji dÃloni. Dlatego nawet przy zaÃlo˙zeniu, z˙ e proces wyznaczania warto´sci cech bedzie zawsze , bezbÃledny, nie mo˙ z na okre´ s li´ c , w jakim stopniu wystarczaj a one do rozpoznawania , , przyjetego sà l ownika gest´ o w, bez przeprowadzenia eksperyment´ ow. Eksperymenty , zwiazane z wyborem wektora cech opisano w podrozdziale 5.1. ,

RozdziaÃl 4 Ukryte modele Markowa Ukryty model Markowa (HMM - Hidden Markov Model) jest automatem o sko´ nczonej liczbie stan´ow, generujacych Ãla´ ncuchy obserwacji [13, 55]. Ukryte modele , wykorzystywane szeroko do modelowania szereg´ow czaMarkowa stanowia, narzedzie , sowych. Spotyka sie, je w wiekszo´ sci obecnych system´ow rozpoznawania mowy, w , licznych zastosowaniach komputerowej biologii molekularnej, w kompresji danych oraz innych obszarach sztucznej inteligencji i rozpoznawania obraz´ow. Ostatnio HMM znajduja, zastosowanie w wizji komputerowej do modelowania sekwencji obraz´ow i ´sledzenia obiekt´ow. HMM opisuje dwa stochastyczne procesy: jednym jest nieobserwowalny Ãla´ ncuch Markowa ze sko´ nczona, liczba, stan´ow, scharakteryzowany rozkÃladem prawdopodobie´ nstwa stanu poczatkowego i macierza, prawdopodobie´ nstw przej´s´c pomiedzy sta, , nami, drugim jest ciag , obserwacji generowany przez stany zgodnie z danymi rozkÃladami prawdopodobie´ nstwa. Wykonanie gestu przez czÃlowieka tak˙ze wia˙ ,ze sie, z dwoma procesami, z kt´orych pierwszy skojarzony jest z ukrytymi stanami mentalnymi powstajacymi w m´ozgu, drugi za´s z obserwowanymi na zewnatrz akcjami. , , Dlatego obecnie coraz cze´ s ciej HMM wykorzystywane s a do rozpoznawania gest´ow , , [23, 54, 61].

4.1

Podstawy matematyczne

HMM jest narzedziem pozwalajacym reprezentowa´c rozkÃlady prawdopodobie´ nstwa , , w ciagach obserwacji. Oznaczmy obserwacje, w chwili t przez yt . Obserwacja, mo˙ze , by´c symbol z dyskretnego alfabetu, zmienna rzeczywista lub caÃlkowita, albo inny obiekt, nad kt´orym mo˙zna zdefiniowa´c rozkÃlad prawdopodobie´ nstwa. ZakÃladamy, z˙ e obserwacje sa, dokonywane w dyskretnych, jednakowo odlegÃlych chwilach, wiec , t jest indeksem przyjmujacym caà l kowite warto´ s ci, t ∈ {1, 2, ..., T }. , Nazwa HMM wynika z dw´och podstawowych zaÃlo˙ze´ n: 1. Obserwacja w chwili t zostaÃla wygenerowana przez pewien proces, kt´orego stan xt jest ukryty dla obserwatora. 2. Stan xt speÃlnia wÃlasno´s´c Markowa, tzn. zale˙zy wyÃlacznie od xt−1 a ponadto , obserwacja yt zale˙zy wyÃlacznie od x , tzn. nie zale˙ z y od stan´ow i obserwat , 49

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

50

cji w innych momentach. Tak wiec , stan xt reprezentuje wszystko, co musimy wiedzie´c o historii procesu, by m´oc przewidzie´c przebieg tego procesu w przyszÃlo´sci. Wykorzystujac sci mo˙zna przedstawi´c Ãlaczny rozkÃlad prawdopo, wymienione wÃlasno´ , dobie´ nstwa stan´ow i obserwacji w formie iloczynu: p (y1:T , x1:T ) = p (x1 ) p (y1 |x1 ) ΠTt=2 p (xt |xt−1 ) p (yt |xt )

(4.1)

gdzie przez ηp:k rozumie sie, ciag , ηp , ηp+1 , ..., ηk , 1 ≤ p < k ≤ T . Zapisowi (4.1) odpowiada interpretacja w formie sieci bayesowskiej [22, 31] przedstawionej na rys. 4.1, gdzie stany oznaczono k´oÃlkami, obserwacje kwadratami. Sie´c ukazuje relacje niezale˙zno´sci warunkowej pozwalajace na dokonanie faktoryzacji Ãlacznego rozkÃladu. , , W iloczynie (4.1) wystepuje tyle rozkà l ad´ o w warunkowych, ile jest w ezà l o ´ w. Zmienna , , x1

x2

x3

xT

y1

y2

y3

yT

Rys. 4.1. Sie´c bayesowska przedstawiajaca relacje warunkowych niezale˙zno´sci w HMM. ,

reprezentowana przez dany wezeà zna od zmiennych z wezà ow, z kt´orych , l jest zale˙ , l´ do niego dochodzi Ãluk. W odniesieniu do HMM zakÃlada sie, z ˙ e zmienna stanu xt , przyjmuje warto´sci dyskretne ze zbioru {1, 2, ..., N }. Na rys. 4.2 przedstawiono przykÃladowy schemat topologiczny HMM z czterema stanami (N = 4).

1

2

3

4

Rys. 4.2. PrzykÃladowy HMM z czterema stanami.

Tutaj Ãluki wskazuja, mo˙zliwe przej´scia miedzy stanami. Ustalenia liczby stan´ow i , struktury modelu dokonuje sie, na og´oÃl eksperymentalnie. Pokazany ukÃlad jednokierunkowy (tzw. model Bakisa [55]) jest typowy w modelowaniu szereg´ow czasowych. Dzieki istnieniu dodatkowych przej´s´c z pominieciem pewnych stan´ow mo˙zliwe jest , , modelowanie sekwencji o r´oz˙ nej dÃlugo´sci. Praktyczne wykorzystanie HMM o zadanej strukturze wymaga znajomo´sci: • rozkÃladu prawdopodobie´ nstwa stanu poczatkowego, , • prawdopodobie´ nstw przej´s´c miedzy stanami, , • modelu obserwacji.

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

51

RozkÃlad prawdopodobie´ nstwa stanu poczatkowego scharakteryzowany jest przez N , - elementowy wektor Π, kt´orego i - ty element πi oznacza prawdopodobie´ nstwo P (x1 = i). Prawdopodobie´ nstwa przej´s´c okre´sla macierz A = [aij ] o wymiarach N × N , gdzie aij = P (xt+1 = j|xt = i), i, j = 1, 2, ..., N . Model obserwacji opisuje prawdopodobie´ nstwo P (yt |xt ). Je˙zeli obserwacje sa, dyskretnymi symbolami, kt´orym mo˙zna przypisa´c warto´sci 1, 2, ..., K, model ten jest w peÃlni opisany przez macierz prawdopodobie´ nstw obserwacji B = [bik ] o wymiarach N × K, gdzie (4.2) bik = P (yt = k|xt = i) Gdy obserwacja jest wektorem liczb rzeczywistych, B = [bi (yt )] staje sie, N wymiarowym wektorem funkcji gesto´ sci rozkÃlad´ow prawdopodobie´ nstwa, przyjmowanych , zazwyczaj jako suma rozkÃlad´ow normalnych bi (yt ) = p (yt |xt = i) =

S X

cis N (yt , µis , Σis )

(4.3)

s=1

z wektorami warto´sci oczekiwanych µis i macierzami kowariancji Σis . Nieujemne wsp´oÃlczynniki wagowe cis daja, w sumie 1, dla ka˙zdego i. Na og´oÃl zakÃlada sie, ˙e , z macierz przej´scia A oraz model obserwacji, kt´ory bedziemy dalej oznacza´c przez B, , nie zale˙za, od czasu. Traktujac ojke, λ = (A, B, Π) mo˙zna zdefiniowa´c nastepuj ace wa˙zne , HMM jako tr´ , , problemy: 1. Uczenie: majac zy wy, ciag , obserwacji Y = y1:T oraz strukture, modelu λ nale˙ znaczy´c parametry modelu λ maksymalizujace prawdopodobie´ nstwo P (Y |λ). , 2. Klasyfikacja: dany ciag zy przypisa´c do klasy k reprezento, obserwacji Y nale˙ wanej przez model λk ze zbioru znanych modeli λ1 , λ2 , ... λM , dla kt´orego prawdopodobie´ nstwo P (Y |λk ) przyjmuje warto´s´c maksymalna, w tym zbiorze. Idee, rozpoznawania z wykorzystaniem ukrytych modeli Markowa ilustruje rys. 4.3

Rys. 4.3. Rozpoznawanie z wykorzystaniem ukrytych modeli Markowa.

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

52

3. Dekodowanie: na podstawie ciagu obserwacji Y nale˙zy dla znanego modelu , λ wyznaczy´c najbardziej prawdopodobna, sekwencje, stan´ow X ∗ = x∗1:T , tzn. maksymalizujac nstwo P (Y, X|λ). , a, prawdopodobie´ Rozwiazanie zadania 3 jest zwiazane ze znanym z telekomunikacji algorytmem Viter, , biego [20, 55], wykorzystujacym metod e, programowania dynamicznego. Rozwa˙zmy , sekwencje, X = x1:T ukrytych stan´ow. Miara, prawdopodobie´ nstwa realizacji ciagu , X w ukrytym modelu Markowa λ jest prawdopodobie´ nstwo warunkowe P (Y, X|λ), kt´ore okre´slone jest wzorami (4.4), (4.5) i (4.6): P (Y, X|λ) =

P (Y, X, λ) P (Y |X, λ) P (X, λ) = = P (Y |X, λ) P (X|λ) P (λ) P (λ)

(4.4)

P (Y |X, λ) = P (y1 |x1 ) P (y2 |x2 ) ...P (yT |xT )

(4.5)

P (X|λ) = P (x1 ) P (x2 |x1 ) P (x3 |x2 ) ...P (xT |xT −1 )

(4.6)

P (Y, X|λ) = ΠTt=1 P (xt |xt−1 ) P (yt |xt ) P (x1 |x0 ) = P (x1 )

(4.7)

Mamy zatem:

Interesuje nas wyznaczenie takiej sekwencji X ∗ , dla kt´orej zachodzi: P (Y, X ∗ |λ) = maxX P (Y, X|λ)

(4.8)

Zadanie (4.8) mo˙zna zapisa´c w dw´och r´ownowa˙znych wersjach: n

o

(i) maxX P (Y, X|λ) = ΠTt=1 d˜(t, xt |t − 1, xt−1 ) (

(ii) minX [− log P (Y, X|λ)] =

T X

(4.9) )

d (t, xt |t − 1, xt−1 )

(4.10)

t=1

gdzie:

d˜(t, xt |t − 1, xt−1 ) = P (xt |xt−1 ) P (yt |xt ) d (t, xt |t − 1|xt−1 ) = − log d˜(t, xt |t − 1, xt−1 )

(4.11) (4.12)

Zar´owno zadanie (4.9) jak i (4.10) mo˙zna rozwiaza´ , c metoda, programowania dynamicznego wykorzystujacego zasade, optymalno´sci Bellmana. , Niech (tp , sp ) → (tk , sk ) oznacza optymalna, ´scie˙zke, Ãlacz , ac , a, wezà , ly (tp , sp ) i (tk , sk ) prostokatnej siatki, w kt´ o rej na osi odci etych zaznaczono momenty czasu, na osi , , (t,s) rzednych za´s numery identyfikujace stan (zob. te˙z rys. 4.4), a (tp , sp ) → (tk , sk ) , , oznacza optymalna, ´scie˙zke, miedzy wezà , a, przez wezeà , , lami (tp , sp ) i (tk , sk ) przechodzac , l po´sredni (t, s). Zasada optymalno´sci Bellmana m´owi, z˙ e: (t,s)

(tp , sp ) → (tk , sk ) = (tp , sp ) → (t, s) ⊕ (t, s) → (tk , sk )

(4.13)

gdzie: tp , t, tk ∈ {1, 2, ..., T }, tp < t < tk , sp , s, sk ∈ {1, 2, ..., N } a znak ⊕ oznacza konkatenacje, ´scie˙zek. Wprowadzamy nastepuj ace oznaczenia: , , ˜ (τ, xτ ) = maxXτ Πτ d˜(t, xt |t − 1, xt−1 ) D t=1

(4.14)

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA D (τ, xτ ) = minXτ

τ X

53

d (t, xt |t − 1, xt−1 )

(4.15)

t=1

gdzie 1 ≤ τ ≤ T , Xτ jest poczatkowym fragmentem sekwencji stan´ow ko´ nczacym , , ˜ iD sie, w stanie xτ w chwili τ , tzn. Xτ = x1:τ . Warto´sci poczatkowe dla funkcji D , sa, nastepuj ace: , , ˜ (1, x1 ) = P (x1 ) P (y1 |x1 ) D (4.16) ³

´

˜ (1, x1 ) D (1, x1 ) = − log D

(4.17)

Na podstawie (4.16) i (4.17) mo˙zna zapisa´c nastepuj ace zwiazki rekurencyne: , , , ˜ (t + 1, xt+1 ) = maxxt D ˜ (t, xt ) P (xt+1 |xt ) P (yt+1 |xt+1 ) D

(4.18)

D (t + 1, xt+1 ) = minxt {D (t, xt ) − log (P (xt+1 |xt )) − log (P (yt+1 |xt+1 ))} (4.19) Optymalny stan ko´ ncowy x∗T otrzymuje sie, z zale˙zno´sci: ˜ (T, xT ) = arg minx D (T, xT ) x∗T = arg maxxT D T

(4.20)

a optymalna, dÃlugo´s´c ´scie˙zki: ˜∗ = D ˜ (T, x∗T ) lub D∗ = D (T, x∗T ) D

(4.21)

Oznaczajac scie˙zce ko´ nczacej , przez Ψ (t + 1, xt+1 ) przedostatni stan na optymalnej ´ , sie, w chwili t + 1 w stanie xt+1 otrzymuje sie, nastepuj ac a zale˙ z no´ s ´ c rekurencyjn a:, , , , ˜ (t, xt ) P (xt+1 |xt ) P (yt+1 |xt+1 ) (4.22) Ψ (t + 1, xt+1 ) = arg maxxt D = arg minxt {D (t, xt ) − log (P (xt+1 |xt )) − log (P (yt+1 |xt+1 ))} Z przedstawionych rozwa˙za´ n wynika algorytm Viterbiego: Algorytm 4.1: Algorytm Viterbiego Ustalenie warto´sci poczatkowych: , For i=1, 2, ..., N D (1, i) = −log P (x1 = i) − log P (y1 |xi ) Ψ (1, i) = 0 end i Petla gÃl´owna: , For t=1, 2, ..., T − 1 For xt =1, 2, ..., N Wyznacz D (t + 1, xt+1 ) wedÃlug (4.19) Zapamietaj Ψ (t + 1, xt+1 ) wyliczone wedÃlug (4.22) , end xt end t

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

54

Zako´ nczenie: DÃlugo´s´c optymalnej ´scie˙zki D∗ jest okre´slona przez (4.21) Najlepsza sekwencja stan´ow X ∗ jest wyznaczona nastepuj aco: , , Wyznacz x∗T na podstawie (4.20) For t=T − ³1, T − 2, ...´ 1 x∗t = Ψ t + 1, x∗t+1 end t Zabieg polegajacy na logarytmowaniu pozwala unikna´ ow numerycznych , ,c problem´ wynikajacych z mno˙zenia maÃlych liczb. , Algorytm ten mo˙ze zosta´c zobrazowany jako znajdowanie najlepszej ´scie˙zki na siatce, kt´orej wymiar pionowy reprezentuje stany ukrytego modelu Markowa, za´s wymiar poziomy momenty wystapienia kolejnych wektor´ow obserwacji (rys. 4.4). ,

Rys. 4.4. Graficzna interpretacja algorytmu Viterbiego.

Czarny wezeà nstwa pojawienia , l na rysunku reprezentuje logarytm prawdopodobie´ sie, danego wektora obserwacji w danym stanie, za´s Ãlacz wezà , aca , , ly linia odpowiada logarytmowi prawdopodobie´ nstwa przej´scia pomiedzy stanami. Logarytm praw, dopodobie´ nstwa dla danej ´scie˙zki jest wyznaczany poprzez zsumowanie logarytm´ow prawdopodobie´ nstw przej´s´c i logarytm´ow prawdopodobie´ nstw obserwacji wzdÃlu˙z tej ´ zka jest rozszerzana od lewej do prawej, kolumna po kolumnie. W od´scie˙zki. Scie˙ niesieniu do HMM algorytm ma zÃlo˙zono´s´c O (T N 2 ). Metode, Viterbiego stosuje sie, czesto bezpo´srednio w zadaniach 1 i 2. W pierwszym, potrzebne prawdopodo, bie´ nstwa wyznacza sie, wtedy zliczajac scia i obserwacje dotyczace tylko stan´ow , przej´ , ∗ z optymalnej sekwencji X i modyfikujac z do uzyskania zbie˙zno´sci (uczenie , model a˙ metoda, Viterbiego [13]). W zadaniu 2 natomiast rozpoznanie opiera sie, na prawdopodobie´ nstwie P (Y, X ∗ |λ), kt´ore ma dominujacy udziaÃl przy wyznaczaniu brzego,

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

55

wej warto´sci P (Y |λ). Bardziej zaawansowany spos´ob uczenia zaproponowany przez Bauma i Welcha stanowi wersje, metody EM. Sprowadza sie, on do wyznaczania prawdopodobie´ nstw P (y1:t , xt = i|λ) oraz P (yt+1:T |xt = i, λ) metodami, odpowiednio, w prz´od, wstecz - pokrewnymi do metody Viterbiego [55]. Parametry modelu poprawia sie, iteracyjnie, bazujac , na ostatnio zaktualizowanych. W kolejnych krokach nastepuje wzrost prawdopodobie´ nstwa P (Y |λ) a˙z do zbie˙zno´sci w maksimum , lokalnym. Metoda nie gwarantuje uzyskania rozwiazania globalnego. Prawdopodo, bie´ nstwo P (Y |λ), wystepuj ace tak˙ z e w zadaniu klasyfikacji wyznacza sie, metoda, w , , prz´od. Bli˙zsze informacje zamieszczono w nastepnym podrozdziale. ,

4.2

Uczenie ukrytych modeli Markowa

Jak ju˙z wspomniano, do uczenia ukrytych modeli Markowa wykorzystuje sie, najcze, ´sciej metode, Bauma Welcha lub metode, Viterbiego. W niniejszej pracy zastosowano przybornik HTK, w kt´orym uczenie odbywa sie, w dw´och etapach z wykorzystaniem obu tych metod. W dalszej cze´ otko idee, uczenia zastoso, sci podrozdziaÃlu opisano kr´ wana, w HTK. Bardziej szczeg´oÃlowe informacje wraz z formuÃlami matematycznymi mo˙zna znale´z´c w pracach [55, 81]. Na podstawie ciagu obserwacji Y = y1:T dokonuje sie, reestymacji zaÃlo˙zonego , ˆ modelu λ uzyskujac orego zachodzi: , nowy model λ, dla kt´ ³

´

ˆ > P (Y |λ) P Y |λ

(4.23)

Procedure, powtarza sie, do uzyskania maksimum. W HTK w poczatkowej fazie , uczenia parametry modelu wyznaczane sa, metoda, Viterbiego. Na poczatku oblicza , sie, prawdopodobie´ nstwo P (Y, X ∗ |λ) z wykorzystaniem algorytmu Viterbiego (patrz podrozdziaÃl 4.1). W trakcie, dla ka˙zdych dw´och stan´ow i, j wyznaczana jest liczba przej´s´c ze stanu i do stanu j: nij . Prawdopodobie´ nstwa przej´s´c obliczane sa, na podstawie zale˙zno´sci: nij (4.24) a ˆij = PN k=1 nik Znajomo´s´c optymalnej sekwencji stan´ow X ∗ umo˙zliwia przyporzadkowanie obserwa, cji do stan´ow. Po tym przyporzadkowaniu w przypadku modelu obserwacji ciagà , , lej w obrebie ka˙zdego stanu dokonywana jest klasteryzacja metoda, k-´srednich [16] w celu , przypisania obserwacji do S grup, z kt´orych ka˙zda modelowana bedzie za pomoca, , pojedynczego rozkÃladu Gaussa, jak przyjeto w (4.3). Warto´s´c ´srednia µ ˆis i wariancja , ˆ is dla rozkÃladu s w stanie i wyznaczane sa na podstawie znanych zale˙zno´sci, z Σ , wykorzystaniem tylko tych obserwacji, kt´ore zostaÃly przyporzadkowane do danej , grupy: 1 X (4.25) y µ ˆis = Tis y∈Yis X ˆ is = 1 Σ (y − µ ˆis ) (y − µ ˆis )T Tis y∈Yis

(4.26)

gdzie Yis jest zbiorem obserwacji przyporzadkowanych do rozkÃladu s w stanie i , natomiast Tis jest liczba, element´ow w zbiorze Yis . Wagi poszczeg´olnych rozkÃlad´ow

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

56

Gaussa wyznaczane sa, na podstawie liczby obserwacji przyporzadkowanych do danej , grupy: Tis cˆis = (4.27) Ti gdzie Ti jest liczba, obserwacji przyporzadkowanych do stanu i. Metode, Viterbiego , mo˙zna Ãlatwo rozszerzy´c na przypadek wielu ciag´ , ow obserwacji, kumulujac , w licznikach i mianownikach wzor´ow (4.24) - (4.27) odpowiednie liczby przej´s´c i obserwacji otrzymane dla ka˙zdego ciagu z osobna. , W HTK po wstepnej estymacji parametr´ow metoda, Viterbiego modele douczane , sa, metoda, Bauma-Welcha. Niech αt (i) oznacza tzw. prawdopodobie´ nstwo w prz´od: αt (t) = P (y1:t , xt = i|λ)

(4.28)

Wyznacza sie, je na podstawie zale˙zno´sci rekurencyjnej: "

αt+1 (j) =

N X

#

αt (i) aij bj (yt+1 )

(4.29)

i=1

z warunkiem poczatkowym: ,

α1 (i) = πi bi (y1 )

(4.30)

Niech z kolei βt (i) okre´sla tzw. prawdopodobie´ nstwo wstecz: βt (i) = P (yt+1:T |xt = i, λ)

(4.31)

Prawdopodobie´ nstwo to mo˙ze zosta´c wyznaczone na podstawie zale˙zno´sci rekurencyjnej: βt (i) =

N X

aij bj (yt+1 ) βt+1 (j)

(4.32)

j=1

przy czym: βT (i) = 1

(4.33)

Oznaczmy przez γt (i) prawdopodobie´ nstwo przebywania w stanie i w chwili t dla modelu λ i sekwencji obserwacji Y : γt (i) = P (xt = i|Y, λ)

(4.34)

kt´ore mo˙ze zosta´c wyznaczone na podstawie prawdopodobie´ nstw w prz´od i wstecz: γt (i) =

αt (i) βt (i) αt (i) βt (i) = PN P (Y |λ) j=1 αt (j) βt (j)

(4.35)

Niech ξt (i, j) oznacza prawdopodobie´ nstwo przebywania w stanie i w chwili t i w stanie j w chwili t + 1 dla modelu λ i sekwencji obserwacji Y : ξt (i, j) = P (xt = i, xt+1 = j|Y, λ)

(4.36)

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

57

Mo˙zna je wyznaczy´c z wykorzystaniem prawdopodobie´ nstw w prz´od i wstecz: ξt (i, j) =

αt (i) aij bj (yt+1 ) βt+1 (j) αt (i) aij bj (yt+1 ) βt+1 (j) = PN PN P (Y |λ) i=1 j=1 αt (i) aij bj (yt+1 ) βt+1 (j)

(4.37)

Prawdopodobie´ nstwa γt (i) i ξt (i, j), powiazane zale˙zno´scia, , γt (i) =

N X

ξt (i, j)

(4.38)

j=1

wykorzystuje sie, do estymacji wektora stanu poczatkowego Π i macierzy prawdopo, dobie´ nstw przej´s´c A: π ˆi = γ1 (i) (4.39) PT −1

ξt (i, j) a ˆij = Pt=1 T −1 t=1 γt (i)

(4.40)

W celu wyznaczenia parametr´ow modelu obserwacji (4.3) przyjmuje sie, ˙ e stan dla , z kt´orego funkcja gesto´ sci rozkÃladu prawdopodobie´ nstwa obserwacji ma posta´c sumy , rozkÃlad´ow normalnych mo˙ze zosta´c potraktowany jako grupa podstan´ow z rozkÃladami pojedynczymi. Prawdopodobie´ nstwa przej´s´c do tych podstan´ow powstaja, wskutek przemno˙zenia prawdopodobie´ nstwa przej´scia do danego stanu przez warto´sci wag poszczeg´olnych rozkÃlad´ow normalnych. Na rys. 4.5 pokazano to dla przykÃladu, gdy funkcja gesto´ sci rozkÃladu prawdopodobie´ nstwa jest suma, dw´och rozkÃlad´ow nor, malnych.

aijcj1 aij

j

j1

ajkcj1

ajk aijcj2

j2

ajkcj2

Rys. 4.5. Zastapienie stanu z funkcja, gesto´ sci rozkÃladu prawdopodobie´ nstwa w postaci , , sumy dw´ och rozkÃlad´ ow Gaussa dwoma podstanami z rozkÃladami pojedynczymi.

Problem wyznaczenia parametr´ow modelu obserwacji sprowadza sie, zatem do znalezienia warto´sci ´srednich i wariancji dla ka˙zdego podstanu. Prawdopodobie´ nstwo wystapienia danej sekwencji obserwacji w danym modelu , jest suma, prawdopodobie´ nstw po wszystkich mo˙zliwych sekwencjach stan´ow X: P (Y |λ) =

X X

(Y, X|λ)

(4.41)

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

58

Ka˙zdy wektor obserwacji yt uczestniczy w wyznaczaniu najbardziej prawdopodobnych parametr´ow dla ka˙zdego stanu. Zatem zamiast przyporzadkowywa´ c poszcze, g´olne wektory do okre´slonych podstan´ow, ka˙zda obserwacja mo˙ze zosta´c przyporzadkowana do podstanu z pewna, waga, r´owna, prawdopodobie´ nstwu, z˙ e model jest , w danym podstanie, gdy interesujacy nas wektor zostaÃl zaobserwowany. Prowadzi , to do nastepuj acych wzor´ o w na parametry modelu obserwacji: , , PT

γt (i) yt wis (t) t=1 γt (i)

(4.42)

γt (i) (yt − µ ˆi ) (yt − µ ˆi )T wis (t) PT t=1 γt (i)

(4.43)

γt (i) wis (t) t=1 γt (i)

(4.44)

µ ˆis = ˆ is = Σ

PT

t=1

t=1

PT

PT

cˆis = gdzie:

t=1

PT

cis N (yt , µis , Σis ) wis (t) = PS s=1 cis N (yt , µis , Σis )

(4.45)

a S oznacza liczbe, rozkÃlad´ow normalnych w modelu obserwacji. Algorytm uczenia metoda, Bauma Welcha jest nastepuj acy: , , Algorytm 4.2: Algorytm Bauma Welcha 1. Dla ka˙zdego parametru danego modelu zaalokuj pamie´ sci sum z licz, c na warto´ nika i mianownika wzor´ow (4.39), (4.40), (4.42), (4.43) i (4.44). Przydzielone kom´orki pamieci bed , , a, dalej nazywane akumulatorami. 2. Pobierz sekwencje, ze zbioru uczacego. , 3. Dla ka˙zdej chwili czasowej t i dla ka˙zdego stanu i: 3.1 Wyznacz prawdopodobie´ nstwa αt (i) (4.29, 4.30) i βt (i) (4.32, 4.33). 3.2 Wyznacz prawdopodobie´ nstwa γt (i) (4.35) i ξt (i, j) (4.37). 3.3 Uaktualnij warto´sci akumulator´ow. 4. Powtarzaj punkty 2 i 3 dla ka˙zdej sekwencji ze zbioru uczacego odpowiadajacej , , danej klasie. 5. Wyznacz nowe warto´sci parametr´ow wykorzystujac sci akumulator´ow. , warto´ 6. Je˙zeli warto´s´c P (Y |λ) wzrasta dostatecznie maÃlo w stosunku do iteracji poprzedniej zako´ ncz algorytm; w przeciwnym razie powtarzaj powy˙zsze kroki, wykorzystujac sci parametr´ow. , reestymowane warto´

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

4.3

59

Modelowanie zÃlo˙zonych proces´ ow

ZÃlo˙zone procesy modeluje sie, zwykle wyodrebniaj ac , prostsze elementy i Ãlacz , ac , ich , modele w odpowiednie struktury (sieci HMM). Dotyczy to np. modelowania caÃlych zda´ n zÃlo˙zonych z sekwencji pojedynczych sÃl´ow (zob. rozdz. 6). W tym celu bardzo czesto na poczatku i na ko´ ncu modelu Markowa o topologii Bakisa dodaje sie, tzw. , , odpowiadaj ace odpowiednio chwilom czasowym 1 − δt i T + δt stany nieemitujace , , (rys. 4.6). Stany te nie generuja, obserwacji a jedynie sa, pomocne podczas budowania sieci modeli.

Rys. 4.6. Model HMM z dwoma stanami emitujacymi i dwoma nieemitujacymi. , ,

Wykonanie gestu wyizolowanego mo˙ze znacznie odbiega´c od jego wykonania w sekwencji. Podobnie jak w przypadku sygnaÃlu mowy, zachodzi tutaj zjawisko koartykulacji, polegajace na tym, z˙ e dÃlo´ n ko´ nczac , , wykonanie jednego gestu mimo1 wolnie przygotowuje sie, do wykonania gestu nastepnego . Zjawisko to wystepuje , , szczeg´olnie wtedy, gdy gesty wykonywane sa, spontanicznie w spos´ob naturalny i objawia sie, znieksztaÃlceniami ukÃladu i pozycji dÃloni w poczatkowych i ko´ ncowych , fazach gestu. Dlatego wa˙zne jest, aby poszczeg´olne modele wchodzace w skÃlad , zÃlo˙zonej struktury uczone byÃly na wykonaniach gest´ow pochodzacych z rzeczy, wistych sekwencji. Przygotowanie danych uczacych wymaga wiec recznego wy, , , odrebniania poszczeg´ o lnych gest´ o w, co dla du˙ z ych system´ o w rozpoznaj acych jest , , zadaniem pracochÃlonnym. Ponadto wskutek zjawiska koartykulacji reczne wskazanie , granic pomiedzy poszczeg´ o lnymi sà l owami w zdaniu nie zawsze jest oczywiste i jed, noznaczne. Podobna sytuacja wystepuje w przypadku mowy. Dlatego opracowano , specjalna, strategie, uczenia z wbudowanym wyodrebnianiem element´ow skÃladowych , w ciagu ucz acym, a wi ec np. wyraz´ o w w zdaniach (embedded training) [81]. Opiera , , , sie, ono na algorytmie Bauma-Welcha, ale dostrajanie poszczeg´olnych modeli odbywa sie, r´ownolegle z wykorzystaniem tworzonych dynamicznie struktur zÃlo˙zonych z sekwencji modeli odpowiadajacych sekwencjom np. wyraz´ow w zdaniach ze zbioru , uczacego. , Algorytm 4.3: Uczenie z wbudowanym podziaÃlem zda´ n uczacych na wy, razy 1. Dla ka˙zdego parametru ka˙zdego z modeli HMM przydziel pamie´ sci , c na warto´ sum z licznika i mianownika. 1

Jak zaznaczono w podrozdziale 1.3, w niniejszej pracy gest jest uto˙zsamiany z przedstawieniem wyrazu, a sekwencja gest´ow z przedstawieniem zdania.

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

60

2. Pobierz sekwencje, ze zbioru uczacego. , 3. Zbuduj zÃlo˙zony model HMM skÃladajacy sie, z poÃlaczonych odpowiednio modeli , , wyraz´ow wchodzacych w skÃlad sekwencji. , 4. Traktujac zy model HMM, dla , otrzymany w punkcie 3 ukÃlad jako jeden du˙ ka˙zdej chwili czasowej t i dla ka˙zdego stanu j: 4.1 Wyznacz prawdopodobie´ nstwa αt (i) (4.29, 4.30) i βt (i) (4.32, 4.33). 4.2 Wyznacz prawdopodobie´ nstwa γt (i) (4.35) i ξt (i, j) (4.37). 4.3 Uaktualnij warto´sci akumulator´ow. 5. Powtarzaj punkty 3 i 4 dla ka˙zdej sekwencji ze zbioru uczacego. , 6. Wykorzystujac sci akumulator´ow wyznacz nowe estymaty parametr´ow , warto´ wszystkich modeli. W tym przypadku nie jest wymagana dokÃladna segmentacja danej sekwencji, a jedynie informacja o kolejno´sci gest´ow, z kt´orych jest ona zbudowana. Taka strategia uczenia uÃlatwia proces gromadzenia danych uczacych, co ma du˙ze znaczenie, , zwÃlaszcza w przypadkach, gdy zbi´or rozpoznawanych zda´ n jest liczny. Miejsca artykulacji i konfiguracje dÃloni nastepuj acych po sobie sÃl´ow moga, znacz, , nie sie, r´oz˙ ni´c. W takim przypadku przej´scie pomiedzy tymi gestami wymaga wyko, nania dodatkowego ruchu. Dlatego czesto wprowadza sie, do sieci rozpoznajacej , , dodatkowe modele odwzorowujace ten ruch, nazywane modelami przej´ s cia. Na , rys. 4.7 przedstawiono jednostanowe modele przej´scia wykorzystywane w niniejszej pracy. Model z rys. 4.7b, nazywany modelem typu ’Tee’, ma dodatkowe poÃlaczenie , pomiedzy pierwszym i ostatnim stanem nieemituj acym. , ,

a)

b)

Rys. 4.7. Modele przej´scia z jednym stanem emitujacym. ,

Przy rozpoznawaniu sekwencji gest´ow wykorzystuje sie, czesto model jezyka bi, , gram uwzgledniaj acy statystyczna, informacje, o nastepstwie gest´ow [13, 40, 56]. , , , Prawdopodobie´ nstwa bigram opisuja, wtedy przej´scia pomiedzy stanami nieemi, tujacymi modeli odpowiadaj acych nast epuj acym po sobie gestom. Prawdopodo, , , , bie´ nstwa te mo˙zna wyznaczy´c na podstawie zbioru uczacego z wykorzystaniem , nastepuj acej formuà l y [81]: , , (

P (j, i) =

R(j,i)−D R(j)

dla R (j, i) > t b (j) p (i) dla R (j, i) ≤ t

(4.46)

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

61

gdzie: R (j, i) okre´sla ile razy w zbiorze sekwencji uczacych gest j wystapià scie , , l po ge´ i, za´s R (j) jest liczba, wystapie´ n gestu j. Je˙zeli czesto´ s´c wystapie´ n pewnej pary , , , gest´ow jest mniejsza ni˙z przyjety pr´ o g t, zamiast prawdopodobie´ n stwa bigram wy, korzystuje sie, prawdopodobie´ nstwo unigram p (i) okre´slone na podstawie czesto´ sci , wystapie´ n danego gestu w zbiorze uczacym. Wsp´oÃlczynnik b (j) dobiera sie, tak, , , aby odpowiednie prawdopodobie´ nstwa dawaÃly w sumie 1. Zazwyczaj przyjmuje sie, D = 0.5. Zabieg ten jest konieczny, poniewa˙z w przeciwnym razie dla niekt´orych par nastepuj acych po sobie gest´ow prawdopodobie´ nstwa bigram byÃlyby bardzo maÃle, , , bad´ zerowe. W konsekwencji prawdopodobie´ nstwa tranzycji pomiedzy od, z wrecz , , powiadajacymi im modelami byÃlyby znikome, co praktycznie uniemo˙zliwiÃloby roz, poznawanie zawierajacych je sekwencji. , Do rozpoznawania sekwencji gest´ow czesto stosuje sie, algorytm Viterbiego w wer, sji z przekazywaniem znacznik´ow. W algorytmie tym, ka˙zdy stan i posiada w ka˙zdej chwili t znacznik, z kt´orym skojarzone jest prawdopodobie´ nstwo P (y1:t , xt = i|λ). Dla chwili t + 1 wykonywane sa, nastepuj ace dziaÃlania: , , Algorytm 4.4: Algorytm Viterbiego z przekazywaniem znacznik´ ow 1. Dla ka˙zdego stanu i kopia jego znacznika jest przekazywana do wszystkich poÃlaczonych z nim stan´ow j. W trakcie przej´scia znacznika skojarzone z , nim prawdopodobie´ nstwo, wyra˙zone w skali logarytmicznej, jest korygowane o warto´s´c log [aij ] + log [bj (yt+1 )]. 2. Dla ka˙zdego stanu j zgromadzone w nim znaczniki sa, por´ownywane i pozostawiany jest tylko jeden, z najwy˙zsza, warto´scia, prawdopodobie´ nstwa P (y1:t+1 , xt+1 = j|λ). Zaleta, wersji algorytmu Viterbiego z przekazywaniem znacznik´ow jest to, z˙ e z danym znacznikiem mo˙zna powiaza´ , c jeszcze dodatkowe informacje o sekwencji przebytych stan´ow i sÃl´ow. Po wykonaniu algorytmu sekwencja stan´ow przebytych przez umieszczony w ostatnim stanie znacznik pozwala na odtworzenie rozpoznawanego zdania i wyznaczenie granic pomiedzy wyrazami. , Ka˙zdy znacznik posiada wska´znik o nazwie Word End Link (W EL). Je˙zeli znacznik nie przebyÃl jeszcze z˙ adnego wyrazu, jego wska´znik W EL wskazuje na miejsce puste: W EL = N U LL. Je˙zeli znacznik przechodzi przez nieemitujacy stan ko´ nczacy , , wyraz W1 w chwili t1 , tworzona jest dynamicznie struktura o nazwie Word Link Record (W LR1 ), kt´orej pola zawieraja, odpowiednio: 1. Identyfikator wyrazu, kt´ory znacznik wÃla´snie przebyÃl (W1 ), 2. Chwile, czasowa,, w kt´orej znacznik opuszcza wyraz (t1 ), 3. Bie˙zac s´c wska´znika W EL (N U LL - je˙zeli jest to pierwszy przebywany , a, warto´ wyraz). Nastepnie uaktualniana jest warto´s´c wska´znika W EL tak, aby wskazywaÃl na nowo , utworzona, strukture, W LR1 : W EL = &W LR1 (rys. 4.8). Symbol & oznacza tu-

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

62

WEL WLR1 W1 t1 NULL Rys. 4.8. Wska´znik W EL po przej´sciu przez znacznik wyrazu W1 w chwili t1 .

taj operator adresowy z jezyka C, kt´ory zwraca adres zmiennej w pamieci. Je˙zeli , , nastepnie znacznik opuszcza wyraz W2 w chwili t2 , tworzona jest kolejna struktura , W LR2 o warto´sciach p´ol, odpowiednio: W2 , t2 , &W LR1 oraz uaktualniana jest warto´s´c wska´znika W EL: W EL = &W LR2 (rys. 4.9). Po wykonaniu algorytmu

WEL WLR1 W1

WLR2 W2

t1 NULL

t2 &WLR1

Rys. 4.9. Wska´znik W EL po przej´sciu przez znacznik wyrazu W1 w chwili t1 i wyrazu W2 w chwili t2 .

wska´znik W EL zwycieskiego znacznika jest poczatkiem jednokierunkowej listy dy, , namicznej, kt´orej elementy opisuja, przebyte przez znacznik modele i chwile czasowe, w kt´orych to nastapià zliwia to odtworzenie rozpoznanego zdania oraz przy, lo. Umo˙ porzadkowanie obserwacji do stan´ow. ,

4.4

R´ ownolegÃly ukryty model Markowa

Wa˙znym zagadnieniem zwiazanym z HMM jest wyb´or modelu. Moga, sie, zdarzy´c sy, tuacje, kiedy obserwacje powstaja, w wyniku r´ownoczesnego dziaÃlania kilku proces´ow o odmiennej zÃlo˙zono´sci i dynamice. Rozwa˙zmy np. O obiekt´ow w sekwencji obraz´ow, zakÃladajac, z˙ e ka˙zdy obiekt mo˙ze przyjmowa´c L kombinacji poÃlo˙ze´ n i orientacji. Do , zbudowania odpowiedniego HMM nale˙zaÃloby u˙zy´c OL stan´ow. Ustalenie powiaza´ , n miedzy nimi nie jest jednak Ãlatwe. Ponadto du˙za liczba stan´ow nie tylko zwieksza , , zÃlo˙zono´s´c obliczeniowa,, ale przede wszystkim utrudnia uczenie modelu. Przy niedostatecznie reprezentatywnym zbiorze uczacym mo˙ze by´c powodem przeuczenia, , ujawniajacego sie, dobrym dopasowaniem do tych danych przy sÃlabej jednocze´snie , zdolno´sci uog´olniania. Rozwiazaniem mo˙ze sie, okaza´c zastosowanie innych modeli , Markowa. Najprostszym od strony obliczeniowej jest model r´ownolegÃly PaHMM, skÃladajacy sie, z niezale˙znych zwykÃlych HMM. Na rys. 4.10 przedstawiono sie´c Bay, esowska, odpowiadajac acemu dwa procesy r´ownolegÃle. Ka˙zdy , a, PaHMM uwzgledniaj , ,

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA (1 )

y1

(1 )

x1

(2 )

x1

(2 )

y1

(1 )

y2

(1 )

x2

(2 )

x2

(2 )

y2

(1 )

y3

(1 )

x3

(2 )

x3

(2 )

y3

63 (1 )

yT

(1 )

xT

(2 )

xT

(2 )

yT

Rys. 4.10. PaHMM odpowiadajacy dwu procesom r´ ownolegÃlym. ,

z modeli skÃladowych ma wÃlasna, strukture, geometryczna, i generuje wÃlasny ciag , obserwacji. Ciagi obserwacji sa, jednakowo liczne, jednak generujace je zmienne stanu , , sa, niezale˙zne. Pozwala to traktowa´c modele odrebnie w fazie uczenia a klasyfi, kacje, opiera´c na iloczynie prawdopodobie´ nstw. Modele PaHMM stanowia, krok w kierunku uwzglednienia r´ownolegÃlych proces´ow. Znane sa, r´ownie˙z inne propozycje , [22], kt´ore jednak wymagaja, bardziej zÃlo˙zonych algorytm´ow obliczeniowych. Model PaHMM jest np. szczeg´olnym przypadkiem tzw. CHMM (coupled HMM), gdzie stan w danym kanale w chwili t mo˙ze zale˙ze´c od stan´ow z wszystkich kanaÃl´ow w chwili t−1. W innej wersji - FHMM (factorial HMM) - stany w chwili t ze wszystkich wzajemnie niezale˙znych kanaÃl´ow maja, wpÃlyw na te, sama, obserwacje, yt . PaHMM zostaÃl wprowadzony przy rozpoznawaniu mowy przez Bourlarda i Duponta w pracy [6]. SygnaÃl mowy podzielono tam na pasma, kt´ore byÃly modelowane niezale˙znie w celu wyeliminowania zakÃl´oconych, niewiarygodnych fragment´ow. Do rozpoznawania gest´ow po raz pierwszy model ten zostaÃl zastosowany przez Voglera i Metaxasa [75]. R´ownolegÃly model Markowa modeluje Mp proces´ow za pomoca, Mp niezale˙znych modeli z oddzielnymi wyj´sciami. Modele dla poszczeg´olnych proces´ow sa, uczone niezale˙znie. Do rozpoznawania stosowana jest wersja algorytmu Viterbiego z przekazywaniem znacznik´ow [81], kt´ora, wyja´sniono w podrozdziale 4.3. Algorytm ten musi zosta´c zmodyfikowany dla stan´ow nieemitujacych, w kt´orych , nastepuje poÃlaczenie modeli poszczeg´olnych proces´ow niezale˙znych. W stanie ta, , kim znaczniki przychodzace z kanaÃl´ow modelu r´ownolegÃlego sa, zastepowane jednym , , znacznikiem o warto´sci prawdopodobie´ nstwa bed acej iloczynem prawdopodobie´ nstw , , znacznik´ow zastepowanych. Poniewa˙z z danego kanaÃlu mo˙ze przyj´s´c w danej chwili , czasowej wiecej znacznik´ o w, rozwa˙ zane sa, wszystkie mo˙zliwe kombinacje, przy czym , ka˙zdorazowo bierze sie, po jednym znaczniku dla ka˙zdego z kanaÃl´ow. Nastepnie z , grupy tak otrzymanych znacznik´ow wybierany jest jeden lub wiecej znacznik´ow wy, grywajacych, kt´ o re przekazane mog a by´ c do kolejnych modeli PaHMM w sieci. Po, , niewa˙z w przypadku sieci modeli PaHMM te same stany nieemitujace Ãlacz ze , , a, tak˙ poszczeg´olne modele w sieci, konieczne jest wprowadzenie dodatkowego ograniczenia. L Ã aczone moga, by´c jedynie znaczniki, dla kt´orych sekwencje przebytych modeli , sa, identyczne.

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

64

Sekwencje obserwacji dla poszczeg´olnych kanaÃl´ow modelu r´ownolegÃlego sa, inne. W rezultacie optymalne ´scie˙zki wyznaczone dla ka˙zdego z kanaÃl´ow moga, przechodzi´c przez stany ko´ nczace wyrazy w r´oz˙ nych chwilach czasowych. Dla sieci modeli , PaHMM informacje pochodzace z poszczeg´olnych kanaÃl´ow musza, by´c synchronizo, wane w stanach oznaczajacych ko´ nce wyraz´ow. Sekwencje stan´ow Ãlaczonych tam , , znacznik´ow nie zawsze bed a odpowiada´ c sekwencjom optymalnym. Nale˙ z y si e , , , jednak spodziewa´c, z˙ e bed najwy˙zsze prawdopo, , a, to sekwencje z grupy tych, dajacych dobie´ nstwa. Dlatego w przypadku modeli PaHMM konieczne jest zapamietywanie , dla ka˙zdego stanu i propagowanie w sieci kilku znacznik´ow, z kt´orymi skojarzone sa, najwy˙zsze warto´sci prawdopodobie´ nstw. W niniejszej pracy przyjeto, z˙ e w ka˙zdym , stanie zapamietywane s a 4 znaczniki. Zwi ekszenie liczby znacznik´ o w nie spowo, , , dowaÃlo bowiem poprawy skuteczno´sci rozpoznawania (zob. podrozdziaÃl 6.2). W przypadku r´ownolegÃlego modelu Markowa poszczeg´olne stany nie musza, zmienia´c sie, w tych samych dyskretnych chwilach czasowych. Wykorzystywane modele moga, mie´c r´oz˙ na, topologie, a zakÃl´ocenia w jednym strumieniu danych nie degraduja, wyniku tak silnie jak w przypadku pojedynczego ukrytego modelu Markowa.

4.5

Podsumowanie

W rozdziale opisano podstawy matematyczne ukrytych modeli Markowa, wykorzystywanych w niniejszej pracy do rozpoznawania wyraz´ow i zda´ n PJM. Rozpoczeto , od typowego w modelowaniu szereg´ow czasowych ukÃladu jednokierunkowego (model Bakisa), w kt´orym dzieki istnieniu dodatkowych przej´s´c z pominieciem pew, , nych stan´ow mo˙zliwe jest modelowanie sekwencji o r´oz˙ nej dÃlugo´sci. Ma to du˙ze znaczenie w przypadku rozpoznawania wyraz´ow i zda´ n PJM, kt´orych wykonania nawet przez jedna, osobe, moga, znacznie odbiega´c od siebie, zale˙znie od chwilowego nastroju m´owcy albo kontekstu, w kt´orym dany gest zostaÃl u˙zyty. Skalowanie sekwencji wektor´ow cech do jednej ustalonej dÃlugo´sci nie jest w tym przypadku takie proste i oczywiste poniewa˙z w trakcie wykonywania gestu predko´ sci dÃloni nie sa, , jednostajne. Zazwyczaj dÃlo´ n przy´spiesza w poczatkowej fazie ruchu w danym kie, runku i zwalnia nieznacznie tu˙z przed gwaÃltowna, zmiana, kierunku. Opisano tak˙ze r´ownolegÃle ukryte modele Markowa. PrzesÃlanka, do ich zastosowania w rozpoznawaniu jezyka miganego mo˙ze by´c fakt, z˙ e w wiekszo´ sci znak´ow migowych uczestnicza, , , dwie dÃlonie, kt´orych ksztaÃlty i pozycje, zwÃlaszcza w przypadku spontanicznego wykonania gestu, niekoniecznie musza, zmienia´c sie, synchronicznie. Ponadto nawet je´sli ruch wykonywany jest jedna, dÃlonia,, to poszczeg´olne warto´sci cech moga, zmienia´c sie, r´ownocze´snie, np. dÃlo´ n zmienia swoja, konfiguracje, w trakcie wykonywania ruchu. W przypadku sygnaÃlu mowy wyr´oz˙ nia sie, tzw. fonemy czyli najmniejsze, niepodzielne jednostki r´oz˙ nicujace dane sÃlowo. Niekt´orzy badacze wskazuja, odpowied, niki fonem´ow dla przekazu migowego, nazywajac oz˙ nica , je cheremami. Zasadnicza r´ pomiedzy struktura, sygnaÃlu mowy i przekazu w jezyku miganym polega na tym, z˙ e , , o ile fonemy moga, zmienia´c sie, tylko sekwencyjnie, to zmiany cherem´ow moga, tak˙ze zachodzi´c r´ownolegle. Mo˙zna oczywi´scie modelowa´c procesy zachodzace r´ownolegle , z wykorzystaniem regularnych modeli Markowa, grupujac , w jednym wektorze cechy

ROZDZIAÃL 4. UKRYTE MODELE MARKOWA

65

z poszczeg´olnych kanaÃl´ow. W takim przypadku powstaje jednak ograniczenie, z˙ e zmiany w kanaÃlach musza, zachodzi´c w tych samych dyskretnych chwilach czasowych. PaHMM ma wiecej stopni swobody i mo˙zna przypuszcza´c, z˙ e bedzie lepiej , , radziÃl sobie z rozpoznawaniem gest´ow wykonywanych w spos´ob spontaniczny przez wprawnego m´owce. , Omawiajac ocono szcze, podstawy matematyczne ukrytych modeli Markowa zwr´ g´olna, uwage, na wersje, algorytmu Viterbiego z przekazywaniem znacznik´ow, kt´ora znajduje zastosowanie przy rozpoznawaniu zda´ n z wykorzystaniem sieci zbudowanych z ukrytych modeli Markowa odpowiadajacych poszczeg´olnym wyrazom, zar´owno , w przypadku zwykÃlych jak i r´ownolegÃlych ukrytych modeli Markowa. W wersji tej ka˙zdy stan modelu, w ka˙zdej chwili czasowej posiada znacznik, kt´ory w nastepnej chwili czasowej zostaje przekazany do wszystkich poÃlaczonych dozwolo, , nym przej´sciem stan´ow. Ze znacznikiem tym opr´ocz warto´sci prawdopodobie´ nstwa moga, by´c zwiazane pewne dodatkowe przydatne informacje, np. o sekwencji prze, bytych stan´ow i modeli. Zwr´ocono tak˙ze uwage, na specjalna, strategie, uczenia z wbudowanym podziaÃlem zda´ n uczacych na sÃlowa, kt´ora znajduje zastosowanie przy rozpoznawaniu sekwencji , gest´ow z wykorzystaniem sieci ukrytych modeli Markowa. Uczenie poszczeg´olnych modeli odbywa sie, wtedy r´ownolegle z wykorzystaniem tworzonych dynamicznie struktur odpowiadajacych sekwencjom ze zbioru uczacego. Zaleta, metody jest to, , , z˙ e nie jest wymagana precyzyjna segmentacja danej sekwencji, a jedynie informacja o kolejno´sci tworzacych ja, gest´ow. UÃlatwia to przygotowywanie danych do uczenia. , W rozdziale opisano tak˙ze dwa rodzaje modeli przej´scia, kt´ore zastosowano w niniejszej pracy do modelowania przej´s´c pomiedzy gestami wyra˙zajacymi wyrazy , , podczas przedstawiania zda´ n.

RozdziaÃl 5 Rozpoznawanie pojedynczych sÃl´ ow Do bada´ n wybrano 101 wyraz´ow wystepuj acych w typowych sytuacjach u lekarza , , i na poczcie (patrz dodatek E). Sekwencje obraz´ow 320*240 pikseli otrzymane w scia, 25 ukÃladzie stereowizyjnym z kamerami kolorowymi rejestrowano z czestotliwo´ , klatek/s. Przygotowano trzy zbiory danych, liczace po 20 wykona´ n ka˙zdego wyrazu , przez dwie osoby (A i B) w dobrych warunkach o´swietlenia, oraz przez osobe, B w niekorzystnych warunkach o´swietlenia. Osoba B jest lektorka, PJM, osoba A, autor niniejszej pracy, wyuczyÃla sie, jezyka migowego na potrzeby tych bada´ n. Zbiory , nazwane, odpowiednio, A, B, B 0 podzielono na r´owne, rozÃlaczne podzbiory, prze, 0 0 znaczone do uczenia (Atr , Btr , Btr ) i do testowania (Ate , Bte , Bte ) ukrytych modeli Markowa. Na zbiorach A i B wykonano r´ownie˙z czterokrotna, walidacje, skro´sna,, wyodrebniaj ac zdym cztery rozÃlaczne, r´ownoliczne podzbiory, z kt´orych trzy , w ka˙ , , wykorzystywano do uczenia, a czwarty do testowania.

5.1

Wyb´ or wektora cech

Rozwa˙zono 32 warianty wektora cech, scharakteryzowane w podrozdziale 3.4. Tab. 5.1 zawiera wyniki eksperyment´ow dotyczacych zbior´ow testowych. Przyjete dodat, , kowe oznaczenia maja, nastepuj ac , a, interpretacje: , , • AV 4 , BV 4 - dotyczy u´srednienia wynik´ow czterokrotnej walidacji skro´snej dla zbioru A, B, 0 - dotyczy wynik´ow rozpoznawania zbior´ow testowych przez mo• Ate , Bte , Bte dele wyuczone na podstawie odpowiadajacych zbior´ow uczacych, , ,

• Atr /Bte , Btr /Ate - dotyczy testowania modeli wyuczonych na gestach innej osoby, • ABtr /Ate , ABtr /Bte - dotyczy testowania modeli wyuczonych na gestach obu os´ob, wtedy do uczenia wzieto po pie´ ow z Atr i Btr . , , c pierwszych element´ Modele odpowiadajace poszczeg´olnym wyrazom miaÃly po 4 stany, przy czym stany , 1 i 4 byÃly nieemitujace (rys. 4.6). Stany nieemitujace (poczatkowy i ko´ ncowy) , , , 66

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW Tab. 5.1. Skuteczno´s´c rozpoznawania na zbiorach cech sa, zgodne z przyjetymi w tab. 3.7) , wektor opis AV 4 Ate BV 4 Bte cech 1 poÃlo˙zenie 90.1 83.1 90.7 83.2 2 91.6 84.7 92.2 84.5 3 91.8 86.0 92.4 86.1 4 poÃlo˙zenie 91.9 84.5 92.5 84.4 5 + 92.4 86.5 93.0 86.9 6 ksztaÃlt 93.0 87.2 93.6 87.2 7 92.9 85.4 93.5 84.9 8 93.2 87.5 93.8 87.6 9 92.9 86.8 93.5 87.6 10 poÃlo˙zenie 93.2 85.6 93.8 85.9 11 + 92.2 87.1 92.8 87.4 12 ksztaÃlt 93.1 87.5 93.7 87.5 13 + 93.4 87.5 94.0 87.6 14 gÃlebia 93.3 87.3 93.9 87.3 , 15 93.5 87.2 94.1 87.1 16 93.0 93.9 92.6 95.2 17 poÃlo˙zenie 93.3 96.7 92.8 96.4 18 + 92.7 93.9 93.8 95.2 19 ksztaÃlt 94.2 96.3 93.6 98.4 20 + 94.2 95.8 94.3 97.4 21 orientacja 94.7 94.9 94.8 95.5 22 95.3 97.6 94.5 99.4 23 poÃlo˙zenie 94.3 97.4 94.3 98.4 24 + 94.2 93.9 94.8 95.8 25 ksztaÃlt 94.2 95.8 93.9 97.4 26 + 95.0 98.5 94.8 97.6 27 gÃlebia 94.0 98.6 94.1 99.3 , 28 + 94.7 97.4 95.7 98.6 29 orientacja 94.7 97.4 94.9 97.4 poÃlo˙zenie 30 + 90.2 83.4 90.7 83.4 orientacja poÃlo˙zenie 31 + 90.3 83.6 90.8 83.7 gÃlebia , 32 poÃlo˙zenie + 32 gÃlebia + 90.2 83.6 90.8 83.8 , 32 orientacja

67

testowych [%] (Oznaczenia wektor´ ow 0 Bte

73.0 74.6 76.0 74.5 76.4 77.2 75.4 77.4 86.7 85.5 85.9 86.9 87.8 86.9 87.0 83.2 84.5 83.8 85.4 84.8 83.9 85.7 95.1 93.7 94.6 95.5 97.0 95.5 94.5

Atr / Bte 81.8 82.9 85.3 83.3 85.5 85.8 82.8 85.5 84.8 84.6 85.2 85.0 86.2 86.3 85.4 92.1 94.8 92.3 94.9 95.1 92.5 94.5 94.1 93.5 93.2 94.5 95.5 95.5 93.6

ABtr / Bte 83.9 85.0 86.6 84.8 87.0 87.7 85.3 88.1 87.8 86.6 87.7 87.8 88.2 88.1 87.3 94.7 96.1 93.3 96.1 95.7 94.6 97.7 97.4 95.2 96.3 96.7 97.7 97.5 96.2

Btr / Ate 82.7 84.7 85.1 84.9 85.6 86.0 83.3 86.6 85.5 84.8 86.2 86.7 87.0 86.3 86.2 94.5 93.3 93.5 94.3 95.6 92.3 96.7 94.7 92.9 95.4 95.3 95.7 95.7 95.3

ABtr / Ate 83.6 85.3 86.5 85.1 86.9 87.3 85.7 87.6 87.2 86.2 87.6 87.5 87.9 87.7 86.7 94.7 94.9 93.3 94.9 95.4 93.9 96.0 95.5 95.4 96.3 95.5 97.3 96.4 95.3

75.0

82.1

83.4

82.3

83.3

82.3

82.4

83.6

82.4

83.4

82.3

82.5

83.6

82.4

83.6

sa, pomocne podczas budowania sieci modeli wykorzystywanych w rozpoznawaniu zda´ n (zob. podrozdziaÃl 4.3). Funkcja gesto´ sci prawdopodobie´ nstwa obserwacji , dla ka˙zdego ze stan´ow emitujacych miaÃla posta´c sumy dw´och rozkÃlad´ow Gaussa. ,

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

68

RozkÃlad wielomodalny daje mo˙zliwo´s´c uwzglednienia r´oz˙ nych reprezentacji tego sa, mego gestu. Suma dw´och Gaussian´ow odpowiada dw´om wariantom wykonania. Nawet ta sama osoba mo˙ze np. raz rozpocza´ sci bio,c wykonanie sÃlowa na wysoko´ dra, podczas gdy innym razem na wysoko´sci brzucha. Jako narzedzie obliczeniowe , wykorzystano pakiet HTK [81]. Na rys. 5.1 przedstawiono ´srednie warto´sci skuteczno´sci rozpoznawania w po0 szczeg´olnych grupach wektor´ow cech dla zbior´ow Ate , Bte i Bte .

´ Rys. 5.1. Srednie skuteczno´sci rozpoznawania wyraz´ ow w poszczeg´ olnych grupach wek0 ; p - poÃlo˙zenie, k - ksztaÃlt, g - gÃlebia, o - orientacja. tor´ ow cech dla zbior´ ow Ate , Bte , Bte ,

Analizujac zej rezultaty rozpoznawania stwierdzono, z˙ e uwzglednienie w wekto, bli˙ , rze cech element´ow zwiazanych z ksztaà l tem dà l oni poprawià l o rozpoznawanie tych , wyraz´ow, w wykonywaniu kt´orych dÃlonie przyjmuja, podobne pozycje, lecz r´oz˙ ne ksztaÃlty. W tab. 5.2 pokazano przykÃlady pomyÃlek popeÃlnianych podczas rozpoznawania takich wyraz´ow z wykorzystaniem wektora cech zawierajacego tylko infor, macje, o poÃlo˙zeniu. Informacja o poÃlo˙zeniu przestrzennym dÃloni jest cze´ , sciowo zawarta w jej powierzchni. Przy zbli˙zaniu dÃloni do kamery powierzchnia odpowiadajacego jej obiektu w , obrazie wzrasta. Jednak gdy w wyniku niedokÃladno´sci segmentacji otrzymywane ksztaÃlty dÃloni zostana, zdeformowane, np. wskutek doÃlaczenia do obszaru dÃloni myl, nie zakwalifikowanych pikseli tÃla, zmiany powierzchni zwiazane ze skÃladowa, ruchu , r´ownolegÃla, do osi optycznej kamery moga, by´c niezauwa˙zalne. Wtedy informacja o gÃlebi stanowi uzupeÃlnienie, pozwalajace na dokonanie poprawnej klasyfikacji gestu. , , Na rys. 5.2 przedstawiono poczatkow a i ko´ ncowa, faze, gestu skierowanie nagranego w , , trudniejszych warunkach, przy jasnym tle i silnym o´swietleniu sztucznym, majacym , ´ charakter kierunkowy. Srodki cie˙ z ko´ s ci obiekt´ o w odpowiadaj acych dà l oniom na ob, , razach binarnych 5.2b) i 5.2e) sa, nieznacznie przesuniete, co ´ s wiadczy o istnieniu , skÃladowej ruchu w pÃlaszczy´znie r´ownolegÃlej do pÃlaszczyzny obrazu. Jednak powierzchnie i ksztaÃlty tych obiekt´ow sa, podobne i trudno na tej podstawie wnioskowa´c o skÃladowej ruchu r´ownolegÃlej do osi optycznej kamery. Wida´c jednak, z˙ e obszar

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

69

Tab. 5.2. Wybrane pomyÃlki w trakcie rozpoznawania z wykorzystaniem wektora cech zawierajacego tylko informacje, o poÃlo˙zeniu dÃloni ,

wyraz rozpoznany

wyraz rozpoznawany

pogotowie

opony m´ozgowe

przyjmowa´c

otrzyma´c

list

prze´swietlenie

odpowiadajacy dÃloniom na obrazie mapy dysparycji 5.2f) jest wyra´znie ja´sniejszy, , ni˙z na obrazie 5.2c). Oznacza to, z˙ e w ko´ ncowej fazie gestu dÃlonie znajdowaÃly sie, bli˙zej kamery, a zatem wystapià gest. Po, l ruch w kierunku od osoby wykonujacej , dobne sytuacje spowodowaÃly wyra´znie gorsza, skuteczno´s´c rozpoznania w zbiorze B 0 , je´sli wektor cech nie uwzgledniaà l informacji o gÃlebi. Dodanie tej informacji daÃlo , , jednocze´snie znacznie wyra´zniejszy skutek ni˙z w przypadkach, kiedy lepsze warunki o´swietlenia pozwalaÃly na dokÃladniejsza, detekcje, obszaru dÃloni (zob. np. kolumny dotyczace zbior´ow Ate , Bte ). , WpÃlyw dodania do wektora cech orientacji ψ pokazano na rys. 5.3. KsztaÃlty i pozycje binarnych obiekt´ow odpowiadajacych dÃloniom w obrazach 5.3b) i 5.3d) sa, , zbli˙zone. W takim przypadku dodanie do wektora cech orientacji osi gÃl´ownej dla obu dÃloni uÃlatwia rozpoznanie tych dw´och gest´ow. W tab. 5.3 zestawiono wyrazy, kt´ore byÃly najcze´ , sciej rozpoznawane niepoprawnie z wykorzystaniem wektora cech (27), dla kt´orego otrzymano najlepszy wynik i dla wektora (13) zawierajacego te same elementy skÃladowe z wyjatkiem orientacji osi , , gÃl´ownej.

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

a)

b)

c)

d)

e)

f)

70

Rys. 5.2. Obrazy zarejestrowane podczas rozpoznawania gestu skierowanie nagranego w niekorzystnych warunkach o´swietlenia: a), b), c) - kolejno: obraz monochromatyczny, binarny i mapa dysparycji dla poczatkowej fazy gest´ ow, d), e), f ) - analogiczne obrazy dla , ko´ ncowej fazy gestu.

a)

b)

c)

d)

Rys. 5.3. WpÃlyw dodania do wektora cech orientacji: a) obraz wej´sciowy dla gestu rachunek, b) obraz binarny otrzymany na podstawie obrazu a), c) obraz wej´sciowy dla gestu chory, d) obraz binarny otrzymany na podstawie obrazu c).

Podobnie jak w przypadku jezyka m´owionego, ka˙zda osoba wykonuje gest w , specyficzny dla siebie spos´ob. Rozwa˙zano wiec , przypadek wykorzystania modeli wyuczonych na gestach innej osoby ni˙z rozpoznawane. Zaobserwowano pogorszenie otrzymanych rezultat´ow. Metoda nie jest niezale˙zna od u˙zytkownika i baza danych gest´ow wykorzystanych do uczenia powinna zawiera´c wykonania poszczeg´olnych wyraz´ow przez wiecej os´ob. ,

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

71

Tab. 5.3. Najcze´ ow cech 13 i 27 , sciej mylone wyrazy dla wektor´

wyraz dzisiaj bole´c z˙ oÃladek , na o rachunek wysyÃla´c inny termometr i lekarstwo opony pisa´c pogotowie analiza angina le˙ze´c Ãl´oz˙ ko

liczba pomyÃlek wektor 13 10 9 9 8 7 7 7 6 5 3 3 3 3 3 2 2 2 2

liczba pomyÃlek wektor 27 5 2 7 3 2 2 3 2 0 0 0 0 0 0 0 0 0 0

Przeanalizowano skuteczno´s´c rozpoznawania na podstawie r´oz˙ nych wektor´ow cech. Globalne rezultaty przedstawione w tab. 5.1 ukazuja, r´oz˙ nice. Bli˙zsze spojrzenie na skuteczno´s´c rozpoznawania poszczeg´olnych sÃl´ow pozwala stwierdzi´c, z˙ e pewne wektory cech okazuja, sie, korzystniejsze w rozpoznawaniu niekt´orych sÃl´ow, ´ inne za´s dominuja, w pozostaÃlych przypadkach. Swiadcz a, o tym zestawienia w tab. 5.4 i 5.5. Pierwsza tabela odnosi sie, do wektor´ow cech nieuwzgledniaj acych orien, , tacji dÃloni, druga do wszystkich 32 wektor´ow cech. Por´ownujac , kolumny (e), (f), (g) oraz (i) w tab. 5.4 widzimy, z˙ e najlepszy rezultat - kolumna (i) - jest wyra´znie gorszy od wyniku, jaki uzyskanoby biorac , wektor cech najlepszy w rozpoznawaniu konkretnych sÃl´ow, co oczywi´scie nie jest mo˙zliwe w praktyce. Kolumny (b) - (h) pozwalaja, oceni´c relacje miedzy hipotetycznymi wynikami w zale˙zno´sci od mo˙zliwo´sci , wyboru: spo´sr´od wszystkich wektor´ow cech - kolumny (b), (e), spo´sr´od wektor´ow zawierajacych informacje, o poÃlo˙zeniu i ksztaÃlcie - kolumny (c), (f) - oraz spo´sr´od , wektor´ow uwzgledniaj acych wymienione elementy wraz informacja, o gÃlebi. Z kolei , , , kolumna (h), dotyczaca wektora cech uwzgledniaj acego tylko informacje, o poÃlo˙zeniu, , , , por´ownana z kolumnami (b), (c), (d) wskazuje, z˙ e najubo˙zszy wektor cech nie musi by´c zawsze najgorszy. Przedstawione obserwacje uzasadniaja, celowo´s´c przebadania skuteczno´sci rozpoznawania z wykorzystaniem kombinacji klasyfikator´ow opartych na r´oz˙ nych wektorach cech. Zastosowano metody znane z literatury (zob. np. [8, 15, 46]).

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

72

Tab. 5.4 pokazuje wyniki dla gÃlosowania z wiekszo´ scia, zwykÃla, - kolumna (j), , bezwzgledn a, - kolumna (k), technika, Bordy - kolumna (l) oraz u´srednie´ n Bayesa , -kolumna (m) i caÃlki rozmytej - kolumna (n). W odniesieniu do dw´och ostatnich metod konieczna byÃla normalizacja wyj´s´c modeli odpowiadajacych jednakowym wekto, rom cech do przedziaÃlu [0, 1]. Wyniki potwierdzaja, atrakcyjno´s´c metod gÃlosowania i caÃlki rozmytej, dla kt´orych otrzymano rezultat o okoÃlo 4% lepszy ni˙z najlepszy z uzyskanych za pomoca, najlepszego klasyfikatora. ´ Tab. 5.4. Srednie skuteczno´sci rozpoznawania w zbiorze testowym przez r´ oz˙ ne klasyfikatory uwzgledniaj ace cechy 1-15, [%] , , zbi´or (a) Ate Bte 0 Bte

min 1-15 (b) 67.0 67.0 50.4

min 2-8 (c) 75.0 71.7 55.0

min 9-15 (d) 78.0 76.6 73.1

max 1-15 (e) 96.0 96.9 97.9

max 2-8 (f) 94.0 95.0 91.6

max 9-15 (g) 94.0 94.8 95.4

klas. 1 (h) 83.0 83.2 73.0

naj.

gÃlos.

(i) 88.0 88.5 87.8

(j) 92.5 92.5 91.5

50% +1 (k) 89.5 89.1 87.0

Borda

Bayes

(l) 89.7 89.2 63.5

(m) 90.7 90.5 63.2

caÃl. roz. (n) 92.1 92.2 91.2

(b) - (d): klasyfikator wykorzystujacy dla ka˙zdego sÃlowa najmniej korzystny wektor , cech spo´sr´od wymienionych, (e) - (g): klasyfikator wykorzystujacy dla ka˙zdego sÃlowa najkorzystniejszy wektor cech , spo´sr´od wymienionych, (h): klasyfikator wykorzystujacy pierwszy wektor cech, , (i): klasyfikator Ãlacznie najlepszy, , (j): kombinacja klasyfikator´ow metoda, gÃlosowania z wiekszo´ scia, zwykÃla,, , (k): kombinacja klasyfikator´ow metoda, gÃlosowania z wiekszo´ scia, bezwzgledn a,, , , (l): kombinacja klasyfikator´ow metoda, pozycyjna, Bordy, (m): kombinacja klasyfikator´ow wa˙zona, metoda, Bayesa (przyjeto jednakowe wagi , dla ka˙zdego klasyfikatora), (n): kombinacja klasyfikator´ow metoda, caÃlki rozmytej (dla ka˙zdego klasyfikatora przyjeto jednakowy stopie´ n wa˙zno´sci 0.75) , Tab. 5.4 odnosi sie, do klasyfikator´ow bazujacych na wektorach cech 1-15, tzn. nie, uwzgledniaj acych orientacji dà l oni. Skutek uwzgl ednienia tak˙ze tej cechy ukazuje , , , tab. 5.5. Tutaj bardzo wysoki wynik globalnie najlepszego klasyfikatora okazaÃl sie, tylko nieznacznie gorszy od hipotetycznego rezultatu, jaki otrzymanoby dobierajac , klasyfikator indywidualnie do sÃlowa. Fuzja klasyfikator´ow generalnie pogorszyÃla rezultat rozpoznawania, zapewne wskutek uwzglednienia zbyt wielu klasyfikator´ow , sÃlabych. W przypadku gÃlosowania i caÃlki rozmytej pogorszenie to okazaÃlo sie, jednak najmniejsze. Staranniejszy dob´or kombinowanych klasyfikator´ow (patrz tab. 5.6, 5.7) poprawiÃl ko´ ncowy rezultat, chocia˙z w por´ownaniu z pojedynczym, globalnie najlepszym klasyfikatorem korzy´s´c okazaÃla sie, maÃlo znaczaca, czego mo˙zna byÃlo , oczekiwa´c.

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

73

´ Tab. 5.5. Srednie skuteczno´sci rozpoznawania w zbiorze testowym przez r´ oz˙ ne klasyfikatory uwzgledniaj ace cechy 1-29, [%] , , zbi´ or (a) Ate Bte 0 Bte

min 1-29 (b) 63.7 67.0 50.4

max 1-29 (c) 100 100 99.7

klas. 1 (d) 83.0 83.2 73.0

naj.

gÃlos.

(e) 98.6 99.3 97.0

(f) 95.4 99.2 95.4

50% +1 (g) 93.7 95.3 89.2

Borda

Bayes

(h) 98.9 99.2 71.3

(i) 93.5 93.2 71.3

caÃl. roz. (j) 95.1 95.1 94.8

(b): klasyfikator wykorzystujacy dla ka˙zdego sÃlowa najmniej korzystny wektor cech , spo´sr´od wymienionych, (c): klasyfikator wykorzystujacy dla ka˙zdego sÃlowa najkorzystniejszy wektor cech , spo´sr´od wymienionych, (d): klasyfikator wykorzystujacy pierwszy wektor cech, , (e): klasyfikator Ãlacznie najlepszy, , (f): kombinacja klasyfikator´ow metoda, gÃlosowania z wiekszo´ scia, zwykÃla,, , (g): kombinacja klasyfikator´ow metoda, gÃlosowania z wiekszo´ scia, bezwzgledn a,, , , (h): kombinacja klasyfikator´ow metoda, pozycyjna, Bordy, (i): kombinacja klasyfikator´ow wa˙zona, metoda, Bayesa (przyjeto jednakowe wagi dla , ka˙zdego klasyfikatora), (j): kombinacja klasyfikator´ow metoda, caÃlki rozmytej (dla ka˙zdego klasyfikatora przyjeto jednakowy stopie´ n wa˙zno´sci 0.75) , ´ Tab. 5.6. Srednie skuteczno´sci rozpoznawania w zbiorze testowym przez r´ oz˙ ne klasyfikatory uwzgledniaj ace cechy 16-29, [%] , , zbi´ or (a) Ate Bte 0 Bte

min 16-29 (b) 85.5 86.4 63.0

max 16-29 (c) 100.0 100.0 99.7

klas. 1 (d) 93.9 95.2 83.2

naj.

gÃlos.

(e) 98.6 99.3 97.0

(f) 97.6 100.0 97.6

50% +1 (g) 94.8 99.9 94.8

Borda

Bayes

(h) 99.1 99.5 75.1

(i) 95.2 94.9 75.1

caÃl. roz. (j) 97.1 97.1 96.9

´ Tab. 5.7. Srednie skuteczno´sci rozpoznawania w zbiorze testowym przez r´ oz˙ ne klasyfikatory uwzgledniaj ace cechy 17, 19, 20, 22, 23, 25, 26, 27, 28, 29, [%] , ,

5.2

zbi´ or

min

max

(a) Ate Bte 0 Bte

(b) 90.8 92.6 70.5

(c) 100.0 100.0 99.6

klas. 1 (d) 96.7 96.4 84.5

naj.

gÃlos.

(e) 98.6 99.4 97.0

(f) 97.4 99.9 97.4

50% +1 (g) 95.3 99.5 95.3

Borda

Bayes

(h) 99.4 99.6 76.3

(i) 97.3 96.1 77.0

caÃl. roz. (j) 97.6 97.6 96.5

Dyskusja liczby stan´ ow

Dla ka˙zdego z rozwa˙zanych wariant´ow wektora cech eksperymenty z rozpoznawaniem wyraz´ow powt´orzono dla modeli Markowa majacych od 2 do 10 stan´ow emi, tujacych, przy czym dla danego testu wszystkie modele miaà ly taka, sama, liczbe, ,

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

74

stan´ow. W tab. 5.8 i na rys. 5.4 przedstawiono przykÃladowe wyniki otrzymane dla wektora cech 27 i dla osoby A. Najlepszy rezultat 98.6% otrzymano dla modeli Tab. 5.8. Skuteczno´s´c rozpoznawania wyraz´ ow w zale˙zno´sci od liczby stan´ ow w ukrytych modelach Markowa (w danym eksperymencie liczba stan´ ow dla wszystkich wyraz´ ow jest jednakowa), [%]

zbi´or Atr Ate razem

liczno´s´c 1010 1010 2020

liczba stan´ow emitujacych , 2 3 4 5 100.0 100.0 100.0 100.0 98.6 97.9 96.3 97.1 99.3 99.0 98.2 98.6

w ukrytych modelach Markowa 6 7 8 9 10 100.0 100.0 99.9 100.0 100.0 95.2 92.3 92.6 92.0 91.7 97.6 96.1 96.2 96.0 95.8

Rys. 5.4. Skuteczno´s´c rozpoznania wyraz´ ow ze zbioru Ate w zale˙zno´sci od liczby stan´ ow emitujacych w ukrytych modelach Markowa (w danym eksperymencie liczba stan´ o w dla , wszystkich wyraz´ ow jest jednakowa).

majacych po 2 stany. Jednak kolejne rezultaty, dla 3, 4 i 5 stan´ow sa, tylko nieznacz, nie gorsze. Dla innych rozpatrywanych wariant´ow wektora cech najlepsze wyniki wystapià ow byÃla r´owna 2, 3, 4 lub 5. We wszystkich przypadkach , ly, gdy liczba stan´ obserwowano gwaÃltowne pogarszanie sie, wynik´ow, gdy liczba stan´ow byÃla wieksza , od 5. W tab. 5.10 przedstawiono rezultaty otrzymane dla przypadku, gdy liczba stan´ow dla poszczeg´olnych wyraz´ow nie byÃla jednakowa. Do wyznaczenia liczby stan´ow dla danego wyrazu posÃlu˙zono sie, wynikami eksperyment´ow dla liczby stan´ow zmieniajacej sie, od 2 do 10, w kt´orych wszystkie modele miaÃly jednakowa, liczbe, stan´ow. , Wyznaczono ´srednie prawdopodobie´ nstwa wygenerowania danego wyrazu w odpowiadajacych mu modelach o r´ o z ˙ nej liczbie stan´ow i wybrano ten model, dla kt´orego , prawdopodobie´ nstwo to byÃlo najwieksze. Przyporzadkowanie liczby stan´ow do mo, , deli odpowiadajacych poszczeg´olnym wyrazom przedstawiono w tab. 5.9. , Wyniki z tab. 5.10 dotycza, wektora cech 27. Analogiczne testy wykonano dla wszystkich rozwa˙zanych wariant´ow wektora cech otrzymujac zdym razem nie, za ka˙ znacznie lepszy wynik dla przypadku, gdy modele odpowiadajace poszczeg´olnym , wyrazom miaÃly zr´oz˙ nicowana, liczbe, stan´ow.

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

75

Tab. 5.9. Przyporzadkowanie liczby stan´ ow do modeli poszczeg´ olnych wyraz´ ow ,

liczba stan´ow 5 4 3

2

wyrazy by´c, katar, okulary, szpital, zastrzyk, zwolnienie grypa, natychmiast, o, otrzyma´c, pali´c, poczta, p´oj´s´c, pokaza´c, rachunek, sie, , wata analiza, aparat, do, dokÃladny, gÃlowa, i, ja, kosztowa´c, le˙ze´c, nie, opony, paczka, pogotowie, polecony, poÃlo˙zy´c, potrzebny, przeziebiony, recepta, sÃluch, sÃlysze´c, tabletka, wykona´c, wysyÃla´c, , zeby , pozostaÃle wyrazy

Tab. 5.10. Rozpoznawanie wyraz´ ow z modelami Markowa o zr´ oz˙ nicowanej liczbie (w danym eksperymencie liczba stan´ ow dla poszczeg´ olnych wyraz´ ow nie jest jednakowa), [%]

zbi´or

liczno´s´c

uczacy , testowy razem

1010 1010 2020

taka sama liczba stan´ow dla poszczeg´olnych wyraz´ow = 2 100.0 98.6 99.3

liczba stan´ow zr´oz˙ nicowana dla poszczeg´olnych wyraz´ow 100.0 99.1 99.6

Badano zale˙zno´s´c ´srednich warto´sci logarytm´ow prawdopodobie´ nstw wygenerowania danego wyrazu w odpowiadajacym mu modelu od liczby stan´ow tego modelu, , osobno na zbiorze uczacym i testowym. Na rys. 5.5 przedstawiono przebiegi otrzy, mane dla wyrazu analiza i wektora cech 27.

Rys. 5.5. Zale˙zno´sci ´srednich warto´sci logarytm´ ow prawdopodobie´ nstw wygenerowania wyrazu analiza w odpowiadajacym mu modelu od liczby stan´ o w tego modelu, wyznaczone , na podstawie zbior´ ow uczacego i testowego oraz r´ o z ˙ nica dla obu zbior´ o w. ,

Z por´ownania wykres´ow wynika, z˙ e dla du˙zej liczby stan´ow (> 5) model dobrze dopasowuje sie, do danych u˙zytych w uczeniu (wieksze ´srednie warto´sci prawdopo, dobie´ nstw), ale traci swe wÃla´sciwo´sci uog´olniajace (wi eksza r´oz˙ nica ´srednich warto´sci , ,

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

76

prawdopodobie´ nstw otrzymanych na zbiorach uczacym i testowym). Wiekszo´ s´c z , , przebieg´ow dla innych sÃl´ow miaÃla podobny charakter. Na rys. 5.6 przedstawiono przebiegi u´srednione dla wszystkich wyraz´ow. Wyniki eksperyment´ow wskazuja,, z˙ e do rozpoznawania wybranych sÃl´ow i zda´ n PJM powinno sie, raczej projektowa´c modele Markowa o mniejszej liczbie stan´ow.

Rys. 5.6. Zale˙zno´sci ´srednich warto´sci logarytm´ ow prawdopodobie´ nstwa wygenerowania wyrazu w odpowiadajacym mu modelu od liczby stan´ o w tego modelu, wyznaczone na pod, stawie zbior´ ow uczacego i testowego oraz r´ oz˙ nica dla obu zbior´ ow. ,

5.3

Podsumowanie

W rozdziale przedstawiono wyniki rozpoznawania podzbioru 101 wyraz´ow PJM wystepuj acych w typowych sytuacjach: u lekarza i na poczcie. Gesty wykonywane , , byÃly przez lektorke, PJM oraz przez autora, kt´ory wyuczyÃl sie, ich na u˙zytek niniejszej pracy. L Ã acznie wykorzystano 6060 wykona´ n, zarejestrowanych w korzystnych i , niekorzystnych warunkach o´swietlenia. Przebadano 32 r´oz˙ ne warianty wektora cech (tab. 3.7), uwzgledniaj ac , przypadki, gdy uczenie i testowanie odbywaÃlo sie, na ge, stach tej samej osoby, uczenie i testowanie odbywaÃlo sie, na gestach r´oz˙ nych os´ob oraz gdy zbi´or uczacy zostaÃl zbudowany z wykona´ n poszczeg´olnych gest´ow przez , obie osoby. Modele odpowiadajace poszczeg´ o lnym wyrazom miaÃly po 4 stany (rys. , 4.2), przy czym stany 1 i 4 byÃly nieemitujace, za´s funkcja gesto´ sci prawdopodo, , bie´ nstwa obserwacji dla ka˙zdego ze stan´ow emitujacych miaÃla posta´c sumy dw´och , rozkÃlad´ow Gaussa. Przedstawiono rezultaty otrzymane dla zbior´ow testowych oraz wyniki powstaÃle wskutek u´srednienia wynik´ow czterokrotnej walidacji skro´snej (tab. 5.1). Najlepszy rezultat 99.3% otrzymano dla przypadku, gdy wektor cech zawieraÃl informacje, o poÃlo˙zeniu, informacje, o ksztaÃlcie wyra˙zona, za pomoca, pola powierzchni i wsp´oÃlczynnika zwarto´sci, informacje, 3D i informacje, o orientacji dÃloni. Przeprowadzono poparta, przykÃladami dyskusje, na temat wpÃlywu poszczeg´olnych element´ow wektora cech na skuteczno´s´c rozpoznawania. Rozwa˙zano te˙z przypadek wykorzystania modeli wyuczonych na gestach innej osoby ni˙z rozpoznawane. Zaobserwowano wyra´zne pogorszenie otrzymanych rezultat´ow, co wskazuje na to, z˙ e metoda

´ ROZDZIAÃL 5. ROZPOZNAWANIE POJEDYNCZYCH SÃLOW

77

nie jest niezale˙zna od u˙zytkownika. Bli˙zsza analiza pokazaÃla, z˙ e pewne wektory cech okazuja, sie, korzystniejsze w rozpoznawaniu niekt´orych sÃl´ow, inne za´s dominuja, w pozostaÃlych przypadkach. Dlatego przebadano skuteczno´s´c rozpoznawania z wykorzystaniem kombinacji klasyfikator´ow opartych na r´oz˙ nych wektorach cech. Zastosowano metode, gÃlosowania z wiekszo´ scia, zwykÃla, i z wiekszo´ scia, bezwzgledn a,, , , , metode, pozycyjna, Bordy, metode, u´srednie´ n Bayesa oraz caÃlke, rozmyta., W przypadku kombinacji pierwszych 15 wariant´ow wektora cech (tab 3.7) najlepsze wyniki otrzymano dla caÃlki rozmytej. W przypadku, gdy uwzgledniono wszystkie warianty , wektora cech, fuzja klasyfikator´ow nie daÃla zadowalajacych rezultat´ow, gdy˙z wynik , globalnie najlepszy byÃl tylko nieznacznie gorszy od hipotetycznego rezultatu, jaki otrzymanoby dobierajac zdego sÃlowa. , wektor cech indywidualnie dla ka˙ Przedyskutowano wpÃlyw liczby stan´ow ukrytych modeli Markowa na skuteczno´s´c rozpoznawania sÃl´ow. Jak mo˙zna byÃlo oczekiwa´c modele z wieksz a, liczba, stan´ow , dobrze dopasowaÃly sie, do zbior´ow uczacych, wykazujac sciwo´sci , , jednak gorsze wÃla´ uog´olniania, co uwidoczniaÃlo sie, wzrostem liczby bÃled´ , ow rozpoznawania na zbiorach testowych. Stwierdzono, z˙ e najlepsze rezultaty otrzymuje sie, r´oz˙ nicujac , liczbe, stan´ow w modelach sÃl´ow, z ograniczeniem, z˙ e nie powinna by´c wieksza od pieciu. , , Wynik ten okazaÃl sie, jednak tylko nieznacznie lepszy od rezultatu otrzymanego z modelami dwustanowymi.

RozdziaÃl 6 Rozpoznawanie zda´ n Rozwa˙zano 35 zda´ n przedstawionych w dodatku E. Zdania wykorzystuja, wyrazy, kt´orych rozpoznawanie om´owiono w rozdziale 5 i odnosza, sie, do typowych sytuacji u lekarza i na poczcie. Podobnie jak w przypadku wyraz´ow, przygotowano baze, danych po 20 wykona´ n ka˙zdego zdania przez osobe, A, kt´ora wyuczyÃla sie, jezyka , gest´ow na potrzeby tej pracy oraz przez osobe, B - lektorke, PJM.

6.1

Wyb´ or struktury ukÃladu rozpoznajacego ,

Rozpoznawanie zda´ n odbywaÃlo sie, przy zaÃlo˙zeniu, z˙ e jeden model Markowa odpowiada pojedynczemu wyrazowi, caÃle zdanie rozpoznawane jest za´s z wykorzystaniem jednej ze struktur przedstawionych w tab. 6.1. Zamieszczone w tabeli schematy maja, charakter pogladowy i przedstawiaja, tylko wybrane fragmenty poszczeg´olnych , konfiguracji. W konfiguracjach c1 .. c7 po danym wyrazie (modele wyraz´ow oznaczono litera, w) mo˙ze wystapi´ , c dowolny wyraz natomiast w konfiguracjach c8 .. c15 dopuszczalne sa, tylko sekwencje wyraz´ow wystepuj ace w rozpatrywanych zdaniach, , , co znacznie uÃlatwia rozpoznawanie. W konfiguracjach c2 , c3 , c4 , c6 , c7 , c9 , c10 , c11 , c12 , c14 i c15 opr´ocz modeli odpowiadajacych poszczeg´olnym wyrazom zastosowano , tak˙ze modele opisujace przej´scia pomiedzy wyrazami, oznaczone na schematach lite, , rami P (model z rys. 4.7a) i T (model z rys. 4.7b). Modele przej´scia byÃly modelami tr´ojstanowymi, przy czym stan pierwszy i trzeci byÃly nieemitujace. Funkcja gesto´ sci , , prawdopodobie´ nstwa obserwacji miaÃla posta´c sumy dw´och gaussian´ow. W konfiguracjach c4 , c10 , c12 , c15 zastosowano model przej´scia typu ’Tee’. W modelu tym istnieje dodatkowe przej´scie ze stanu pierwszego do stanu ostatniego (patrz rys. 4.7). W konfiguracjach c2 , c3 , c4 , c9 , c10 zastosowano jeden model przej´scia natomiast w konfiguracjach c6 , c7 , c11 , c12 , c14 , c15 zastosowano inny model przej´scia dla ka˙zdej pary nastepuj acych po sobie wyraz´ow. W konfiguracjach c5 , c7 , c13 , c14 i c15 , , uwzgledniono prawdopodobie´ nstwo bigram oznaczone maÃla, litera, p miedzy blokami. , ,

78

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

79

Tab. 6.1. Konfiguracje HMM wykorzystane przy rozpoznawaniu zda´ n konfiguracja HMM

oznaczenie c1

konfiguracja HMM

oznaczenie c2

w1 w1

w2

w2 wn wn

P

c3

c4

w1

w1

w2

w2

wn

wn

P

T

c5

c6 w1 w2

p1 p1

2 1

w1

wn

p

21

w2

P 11 p

n1

wn

P 21

11

w2

c8 w1

p

2

p

1

c7 w1

start

wn

stop

w2

P 11

w3 1) w1 w2 2) w3 w2

P 21

c9

c10

w1 start

w1 stop

w2

P

start

w3

1) w1 P w2 2) w3 P w2

stop

w2

T w3

1) w1 T w2 2) w3 T w2

c11

c12 w1

P21

w1 start

w2 w3

stop

start

w2

stop

T23

w3

P23 1) w1 T21 w2 2) w3 T23 w2

1) w1 P21 w2 2) w3 P23 w2

c13 w1

w1

p21

start

stop

w2 w3

p21

c15 T21

start

w2 w3

p23

T23

stop

c14 P21 w2

w3 1) w1 P21 w2 2) w3 P23 w2

w1

p21

start

p23

1) w1 w2 2) w3 w2

1) w1 T21 w2 2) w3 T23 w2

T21

p23

P23

stop

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

80

Eksperymenty przeprowadzono dla wszystkich rozwa˙zanych wariant´ow wektora cech. W tab. 6.2 przedstawiono wyniki otrzymane dla wektora cech 15 i wektora 27. Drugi wektor uwzglednia dodatkowo orientacje, dÃloni. Dane podzielono na dwa , r´owne zbiory: uczacy i testowy, zawierajace po 10 wykona´ n ka˙zdego z 35 zda´ n. , , Tab. 6.2. Por´ ownanie skuteczno´sci rozpoznawania [%] zda´ n PJM wykonanych przez osobe, A dla r´ oz˙ nych konfiguracji HMM

konfiguracja c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 konfiguracja c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15

wektor cech 15 zbi´or uczacy zbi´or testowy , (350 wykona´ n) (350 wykona´ n) 0.0 1.7 0.3 0.3 9.1 8.3 0.0 1.7 79.1 77.7 2.9 1.4 81.1 76.8 96.3 90.3 95.4 88.0 96.3 90.3 95.4 88.0 96.3 90.0 96.3 90.3 95.4 88.0 96.3 90.0 wektor cech 27 zbi´or uczacy zbi´or testowy , (350 wykona´ n) (350 wykona´ n) 0.6 0.0 0.9 0.6 11.1 10.0 1.1 0.9 80.9 79.1 4.0 2.6 83.1 79.7 98.0 97.1 97.1 95.1 98.0 97.1 97.1 95.1 98.0 96.6 98.0 97.1 97.1 95.1 98.0 96.6

razem (700 wykona´ n) 0.8 0.3 8.7 0.9 78.4 2.1 79.0 93.3 91.7 93.3 91.7 93.2 93.3 91.7 93.2 razem (700 wykona´ n) 0.3 0.8 10.6 1.0 80.0 3.3 81.4 97.6 96.1 97.6 96.1 97.3 97.6 96.1 97.3

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

81

Dla konfiguracji: c1 , c2 , c3 , c4 i c6 otrzymano bardzo sÃlabe skuteczno´sci rozpoznawania nie przekraczajace 8.71% dla wektora cech 15 i 10.6% dla wektora 29, , zatem nie nadaja, sie, one do rozpoznawania zda´ n PJM z wykorzystaniem opisywanej metody. Wymienione konfiguracje dopuszczaja, tak˙ze takie sekwencje wyraz´ow, kt´ore nie tworza, logicznych wypowiedzi. W odniesieniu do wiekszo´ sci rozpozna, wanych zda´ n bÃledy polegaà l y na wielokrotnym powtarzaniu danego wyrazu. Nie , pomogÃlo nawet dodanie modeli przej´scia w konfiguracjach: c2 , c3 , c4 i c6 . Dopiero uwzglednienie modelu lingwistycznego bigram [56] (zobacz te˙z podrozdziaÃl 4.3) , wykorzystujacego informacje, o prawdopodobie´ nstwie wystapienia danego sÃlowa po , , poprzednim (na schematach w tab. 6.1 oznaczono je przez p) - pozwoliÃlo na uzyskanie skuteczno´sci 78.4% (80%) dla konfiguracji c5 i 79.0% (81.4%) dla konfiguracji c7 . Prawdopodobie´ nstwa bigram byÃly wyznaczane na podstawie zbioru uczacego i przyj, mowaÃly niezerowe warto´sci tylko dla przej´s´c pomiedzy wyrazami, kt´ o re wyst apià , ly , w rozpatrywanych zdaniach. To zmniejszyÃlo prawdopodobie´ nstwo rozpoznania sekwencji wyraz´ow, kt´ore nie tworza, zda´ n i pozwoliÃlo na osiagni ecie znacznie lepszych , , wynik´ow. Konfiguracje c8 ... c15 eliminuja, nielogiczne sekwencje wyraz´ow poprzez ukÃlad ukrytych modeli Markowa odpowiadajacy strukturom rozpoznawanych zda´ n. , Dla konfiguracji tych otrzymano najlepsze wyniki, przy czym zauwa˙zono, z˙ e dodanie modelu przej´scia, kt´ory nie jest typu ’Tee’ spowodowaÃlo obni˙zenie skuteczno´sci rozpoznawania z 93.3% do 91.7% (97.6% do 96.1%). Dla modelu przej´scia typu ’Tee’ wyniki byÃly analogiczne jak w sytuacji, gdy w og´ole nie uwzgledniono modelu , przej´scia. Proces uczenia ukrytych modeli Markowa skÃladaÃl sie, z dw´och etap´ow. Poczatkowo poszczeg´olne modele uczone byÃly z wykorzystaniem wyraz´ow, kt´ore nie , byÃly wykonywane w sekwencji, tylko pojedynczo. Nastepnie wykonano douczanie , z wykorzystaniem caÃlych zda´ n, tzw. embedded training (patrz rozdz. 4.3 i [81]). W procesie embedded training modele sa, modyfikowane tak, aby uwzgledni´ c spowo, dowane procesem koartykulacji znieksztaÃlcenia wyraz´ow pokazywanych w sekwencjach. Je˙zeli model przej´scia byÃl typu ’Tee’, to cze´ c poczatkowa przej´scia pomiedzy , , s´ , dwoma wyrazami zostaÃla potraktowana jako ko´ nc´owka pierwszego wyrazu, cze´ c , s´ ko´ ncowa przej´scia zostaÃla za´s doÃlaczona jako poczatek drugiego wyrazu. W konse, , kwencji w wyuczonych modelach przej´scia typu ’Tee’ prawdopodobie´ nstwo tranzycji z pierwszego stanu nieemitujacego do wÃla´sciwego stanu modelu byÃlo zdecydowanie , mniejsze ani˙zeli prawdopodobie´ nstwo przej´scia od razu do trzeciego nieemitujacego , stanu. Zatem w procesie rozpoznawania z wykorzystaniem algorytmu Viterbiego z przekazywaniem znacznik´ow, znaczniki przebywajace optymalna, dla danej obser, wacji ´scie˙zke, omijaÃly stany emitujace w modelu typu ’Tee’. Zastosowanie oddziel, nego modelu przej´scia dla ka˙zdej pary wystepuj acych po sobie wyraz´ow nie powo, , duje zwiekszenia skuteczno´sci rozpoznawania, ale zwieksza rozmiar caÃlej struktury i , , znacznie wydÃlu˙za czas odpowiedzi. Jako najlepsza, wybrano zatem konfiguracje, c8 . Por´ownujac zna dostrzec pozytywny wpÃlyw uwzglednienia , rezultaty z tab. 6.2 mo˙ , orientacji dÃloni (wektor cech 27) na skuteczno´s´c rozpoznawania. W tab. 6.3 zestawiono zdania, kt´ore nie zostaÃly rozpoznane.

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

82

Tab. 6.3. BÃlednie rozpoznawane zdania dla konfiguracji c8 ,

bÃlednie rozpoznane zdania , Boli mnie gardÃlo. [ bole´c ][ mnie ][ gardÃlo ] Pan musi p´oj´s´c do szpitala. [ pan ][ musie´c ][ p´oj´s´c ][ do ][ szpital ] Nie sÃlysze, po chorobie zapalenia opon m´ozgowych. [ ja ][ nie ][ sÃlysze´c ][ po ][ chory ][ zapalenie ][ opony ] Boli mnie gÃlowa. [ bole´c ][ mnie ][ gÃlowa ] Boli mnie z˙ oÃladek. , [ bole´c ][ mnie ][ z˙ oÃladek ] , Pan jest chory na grype, i musi le˙ze´c w Ãl´oz˙ ku. [ pan ][ by´c ][ chory ][ na ][ grypa ][ i ][ musie´c ][ le˙ze´c ][ w ][ Ãl´ oz˙ ko ] Chce, otrzyma´c paczke. , [ chcie´c ][ otrzyma´c ][ paczka ] Chce, wysÃla´c paczke. , [ chcie´c ][ wysyÃla´c ][ paczka ]

liczba pomyÃlek 20 7 6 4 4 4 1 1

Na rys. 6.1 przedstawiono przykÃladowe przebiegi cech dla poprawnie rozpoznanego zdania: Ja nie sÃlysze, po chorobie zapalenia opon m´ozgowych. [ ja ][ nie ][ sÃlysze´c ][ po ][ chory ][ zapalenie ][ opony ] Numery pr´obek przyporzadkowanych przez ukÃlad rozpoznajacy poczatkom kolej, , , nych sÃl´ow sa, nastepuj ace: 1, 9, 19, 31, 44, 59, 67, a dà l ugo´ s ciami sà l o ´ w mierzonymi , , liczba, obserwacji sa, odpowiednio: 8, 10, 12, 13, 15, 8, 11.

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

83

OdlegÃlo´s´c ´srodka cie˙ sci dÃloni od ´srodka Orientacja odcinka Ãlacz ´srodki cie˙ sci , acego , , zko´ , zko´ cie˙ sci twarzy dÃloni i twarzy , zko´

Pole powierzchni

Wsp´oÃlczynnik zwarto´sci

Wsp´oÃlczynnik ekscentryczno´sci

´ Srednia r´oz˙ nica gÃlebi twarzy i dÃloni ,

Orientacja osi gÃl´ownej

Rys. 6.1. PrzykÃladowe przebiegi cech; dÃlo´ n prawa-kolor czerwony, dÃlo´ n lewa-kolor niebieski.

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

6.2

84

Rozpoznawanie z wykorzystaniem PaHMM

Przetestowano tak˙ze rozpoznawanie zda´ n z wykorzystaniem r´ownolegÃlych modeli Markowa (PaHMM). Rozwa˙zono dwa warianty naturalnego podziaÃlu wektora cech na niezale˙zne strumienie. W pierwszym z nich, oznaczonym P aHM M1 model r´ownolegÃly skÃladaÃl sie, z dw´och zwykÃlych modeli Markowa odpowiadajacych dÃloni , prawej i dÃloni lewej. W drugim wariancie P aHM M2 , model r´ownolegÃly skÃladaÃl sie, z czterech modeli Markowa odpowiadajacych skÃladowym wektora cech opisujacym: , , (1) poÃlo˙zenie dÃloni, (2) ksztaÃlty dÃloni, (3) orientacje, osi gÃl´ownych i (4) gÃlebi , e. , Jak pokazano w podrozdziale 4.4 w przypadku modeli r´ownolegÃlych konieczne jest zapamietywanie dla ka˙zdego stanu i propagowanie w sieci kilku znacznik´ow, z , kt´orymi skojarzone sa, najwy˙zsze warto´sci prawdopodobie´ nstw. W tab. 6.4 przedstawiono wyniki rozpoznawania 35 zda´ n wykonanych przez osobe, B z wykorzystaniem sieci modeli P aHM M1 dla przypadku, gdy liczba propagowanych w sieci znacznik´ow wynosiÃla od 1 do 5. Zamieszczone dane dotycza, zbior´ow testowych dla konfiguracji c8 i dla wektora cech 27. Tab. 6.4. Rozpoznawanie 35 zda´ n wykonanych przez osobe, B z wykorzystaniem sieci modeli P aHM M1 w zale˙zno´sci od liczby propagowanych w sieci znacznik´ ow

liczba znacznik´ow skuteczno´s´c [%]

1 96.2

2 96.6

3 97.1

4 98.3

5 98.3

Najlepszy wynik otrzymano dla czterech znacznik´ow. Dalsze zwiekszanie ich liczby , nie powodowaÃlo poprawy skuteczno´sci rozpoznawania. Dlatego w dalszych eksperymentach przyjeto, z˙ e liczba znacznik´ow pamietanych w ka˙zdym stanie i propagowa, , nych w sieci bedzie r´owna cztery. , W tab. 6.5 przedstawiono wyniki rozpoznawania zda´ n PJM wykonywanych przez dwie osoby. Por´ownano zwykÃle i r´ownolegÃle modele Markowa w konfiguracji c8 i dla wektora cech 27. Tab. 6.5. Skuteczno´s´c rozpoznawania zda´ n ze zbior´ ow testowych przez zwykÃle i r´ ownolegÃle modele Markowa dla wektora cech 27 i konfiguracji c8 , [%]

zbi´or A B A/B B/A AB/A AB/B

HM M 97.1 97.4 93.4 92.9 96.3 97.4

P aHM M1 96.3 98.3 92.3 93.1 98.0 98.0

P aHM M2 96.6 98.0 92.6 91.4 98.3 98.3

W przypadku A/B i B/A uczono i testowano na zbiorach uczacych (testowych) od, powiednich os´ob. W przypadku AB/A i AB/B zbi´or uczacy zbudowano z cze´ , , sci zbior´ow uczacych os´ob A i B i testowano na zbiorach testowych odpowiednich os´ob. ,

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

85

W wierszu 1 i 2 tab. 6.5 zamieszczono wyniki eksperyment´ow, w kt´orych uczenie i testowanie odbywaÃlo sie, na gestach wykonywanych przez te, sama, osobe. , Dla zwykÃlych modeli Markowa skuteczno´sci otrzymane dla osoby A i osoby B sa, bardzo zbli˙zone. W przypadku r´ownolegÃlych modeli zaobserwowano, z˙ e zdania wykonywane przez osobe, B rozpoznawane sa, lepiej. Wynika to ze sposobu wykonywania gest´ow przez poszczeg´olne osoby. Osoba A wyuczyÃla sie, wybranych wyraz´ow i zda´ n PJM na u˙zytek opisywanych eksperyment´ow i dlatego pokazywane przez nia, gesty wykonywane sa, w spos´ob przesadnie poprawny, przej´scia pomiedzy poszczeg´olnymi , wyrazami w zdaniu sa, wyra´znie akcentowane, obie dÃlonie za´s zsynchronizowane tak, aby jednocze´snie rozpoczynaÃly i ko´ nczyÃly wykonanie danego gestu dwurecznego. , Spos´ob wykonywania gest´ow przez osobe, A mo˙zna por´owna´c do sposobu wypowiadania sie, osoby, kt´ora dopiero co nauczyÃla sie, obcego jezyka, potrafi ju˙z poprawnie , wypowiada´c poszczeg´olne wyrazy, ale przej´scia pomiedzy nimi w zdaniu nie sa, jesz, cze pÃlynne. Osoba B posÃluguje sie, jezykiem migowym na co dzie´ n (jest tÃlumaczem , jezyka Polskiego Jezyka Miganego i dziaÃlaczka, Polskiego Zwiazku GÃluchych). Zdania , , , pokazywane przez osobe, B wykonywane sa, w spos´ob spontaniczny, bardziej naturalnie i pÃlynnie. Konsekwencja, tego jest fakt, z˙ e ruchy obu dÃloni, zwÃlaszcza w fazie zako´ nczenia jednego wyrazu i rozpoczynania drugiego nie sa, tak idealnie zsynchronizowane jak w przypadku gest´ow wykonywanych przez niewprawnego ’m´owce’. Silne , jest zjawisko koartykulacji polegajace na tym, z˙ e dÃlonie ju˙z przy ko´ nczeniu danego , gestu zaczynaja, przygotowywa´c sie, do wykonania gestu nastepnego. , W modelu PaHMM modelowane r´ownolegle niezale˙zne procesy nie musza, zmienia´c stan´ow w tych samych dyskretnych chwilach czasowych. Dlatego model ten lepiej radzi sobie w sytuacji, gdy jedna z dÃloni rozpocznie wykonywanie danego wyrazu kilka chwil czasowych wcze´sniej lub gdy dÃlo´ n przyjmie ksztaÃlt charakterystyczny dla poczatkowej fazy gestu troch e za wcze´ s nie, nie zda˙ c sie, w miejscu , ,zywszy ustawi´ , wÃla´sciwym dla poczatku tego gestu. Podobnie jak w przypadku rozpoznawania wy, raz´ow, metoda nie jest niezale˙zna od u˙zytkownika. Je˙zeli uczenie i rozpoznawanie przeprowadzane sa, na gestach r´oz˙ nych os´ob, to pogorszenie skuteczno´sci rozpoznawania jest wieksze ni˙z w przypadku rozpoznawania wyraz´ow. Je˙zeli do uczenia wy, korzystano gesty wykonane przez obie osoby, otrzymywane wyniki sa, tylko nieznacznie gorsze ni˙z dla przypadku, gdy uczenie i testowanie odbywaÃlo sie, na gestach tej samej osoby. Wyniki otrzymywane dla modelu P aHM M1 i P aHM M2 sa, zbli˙zone. Model P aHM M1 jest jednak prostszy i bardziej naturalny wiec , zastosowano go w dalszych badaniach. W celu por´ownania wÃla´sciwo´sci uog´olniajacych HMM i PaHMM przeprowadzono , eksperyment, w kt´orym usunieto ze zbioru wykorzystywanego w uczeniu wszystkie , 20 wykona´ n 9 wybranych zda´ n. Wyrazy wchodzace w skÃlad tych zda´ n byÃly jedynie , pokazane w pierwszej wstepnej fazie uczenia. Je˙ z eli wyst apià l y w innych, nieodrzuco, , nych sekwencjach, to uwzgledniono je tak˙ze na etapie embedded training. Odrzucone , zdania to: 1. Boli mnie gÃlowa. [ bole´c ][ mnie ][ gÃlowa ] 2. Czy dzisiaj przyjmuje lekarz rodzinny?

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

86

[ czy ][ dzisiaj ][ przyjmowa´c ][ lekarz ][ rodzinny ] 3. Czy przyjmuje inny lekarz w zastepstwie? , [ czy ][ przyjmowa´c ][ inny ][ lekarz ][ w ][ zastepstwo ] , 4. Czy to lekarstwo jest bezpÃlatne? [ czy ][ ten ][ lekarstwo ][ by´c ][ bezpÃlatny ] 5. Ja nie sÃlysze, po chorobie zapalenia opon m´ozgowych. [ ja ][ nie ][ sÃlysze´c ][ po ][ chory ][ zapalenie ][ opony m´ozgowe ] 6. Jestem chory. [ by´c ][ chory ] 7. Mam goraczk e. , , [ mie´c ][ goraczka ] , 8. Prosze, o skierowanie na badania. [ prosi´c ][ o ][ skierowanie ][ bada´c ] ´ sie czuje. 9. Zle , , [ ´zle ][ sie, ][ czu´c ] Przeprowadzono tak˙ze eksperyment z wykorzystaniem tylko wyuczonych wcze´sniej modeli pojedynczych wyraz´ow (tzn. z pominieciem etapu embedded training). W , tab. 6.6 przedstawiono wyniki rozpoznawania sekwencji nie pokazanych w trakcie uczenia. Tab. 6.6. Rozpoznawanie sekwencji nie pokazanych w trakcie uczenia dla osoby A

HM M P aHM M1

180 zda´ n 26.7% 58.3%

700 zda´ n 31.0% 69.7%

Eksperymenty powt´orzono dla gest´ow wykonywanych przez druga, osobe, i dla innych zdym razem zbli˙zone wyniki. Przy zestaw´ow 9 odrzucanych zda´ n, otrzymujac , za ka˙ rozpoznawaniu z wykorzystaniem HMM i PaHMM miaÃl zastosowanie algorytm Viterbiego w wersji z przekazywaniem znacznik´ow. Zbudowano narzedzie pozwalajace , , na odtwarzanie sekwencji ukrytych stan´ow odpowiadajacych wygrywaj acym znacz, , nikom. Zaobserwowano, z˙ e dla wykona´ n, kt´ore PaHMM rozpoznaje poprawnie a HMM niepoprawnie, sekwencje ukrytych stan´ow nie sa, identyczne w obu kanaÃlach odpowiadajacych dÃloni dominujacej i niedominujacej. Schematycznie ilustruje to , , , rys. 6.2 odnoszacy sie, do przypadku, gdy model Markowa ka˙zdego sÃlowa miaÃl dwa , stany emitujace. , W modelach r´ownolegÃlych, dla niekt´orych wyraz´ow, przej´scia z pierwszego stanu emitujacego do drugiego stanu emitujacego nie odbywaja, sie, w tych samych chwi, , lach. Najcze´ a, one szybciej dla dÃloni dominujacej. Zaobserwowano to , , sciej nastepuj , dla wyraz´ow: bole´c, mnie, gÃlowa, czy, lekarz, to, lekarstwo, by´c, ja, nie, sÃlysze´c,

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

87

a) d³oñ dominuj¹ca:

1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 8 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10

d³oñ niedominuj¹ca: 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 9 9 9 9 9 9 10 10 10 10 10

b) 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 9 9 9 9 9 9 9 10 10 10 10 czy

ten

lekarstwo

byæ

bezp³atny

Rys. 6.2. Sekwencje ukrytych stan´ ow przy rozpoznawaniu zdania Czy to lekarstwo jest bezpÃlatne?: a) model P aHM M1 , b) model HM M .

chory, opony m´ozgowe, mie´c, o, na, bada´c, ´zle, sie, c. , czu´ Przeprowadzano tak˙ze analize, sekwencji ukrytych stan´ow dla dw´och r´oz˙ nych wykona´ n tego samego zdania, z kt´orych pierwsze jest rozpoznawane przez regularny model Markowa a drugie nie. Wprawdzie por´ownywane wykonania moga, mie´c r´oz˙ na, dÃlugo´s´c ciagu obserwacji, ale daje sie, zauwa˙zy´c, z˙ e dla wiekszo´ sci z wymienionych , , wyraz´ow przej´scia z pierwszego do drugiego stanu emitujacego odbywaja, sie, zazwy, czaj wcze´sniej dla zda´ n, kt´ore HMM rozpoznaje. Otrzymane wyniki wskazuja,, z˙ e rozbicie wektora cech na cze´ ownolegle wprowadza dodat, sci i wykorzystanie ich r´ kowe stopnie swobody. Dlatego model r´ownolegÃly PaHMM jest bardziej elastyczny ni˙z regularny HMM i lepiej radzi sobie w przypadku niedoboru danych uczacych. , Mo˙ze to mie´c du˙ze znaczenie w przypadku budowania system´ow rozpoznawania z du˙zymi sÃlownikami gest´ow, gdy proces gromadzenia danych uczacych jest ucia˙ , ,zliwy i czasochÃlonny.

6.3

Podsumowanie

W rozdziale opisano wyniki rozpoznawania 35 zda´ n pokazanych w wariancie u˙zytkowym PJM, wystepuj acych w typowych sytuacjach: u lekarza i na poczcie. Zdania , , wykonywane byÃly przez lektorke, PJM oraz autora pracy. L Ã acznie wykorzystano 1400 , wykona´ n, zarejestrowanych w korzystnych i niekorzystnych warunkach o´swietlenia. Przyjeto, z˙ e pojedynczy model Markowa odpowiada wyrazowi, za´s caÃle zdanie mo, delowane jest z wykorzystaniem sieci zÃlo˙zonej z poÃlaczonych odpowiednio modeli. , Modele odpowiadajace poszczeg´olnym wyrazom miaÃly po cztery stany (rys. 4.2), , przy czym stany 1 i 4 byÃly nieemitujace, za´s funkcja gesto´ sci prawdopodobie´ nstwa , , obserwacji dla ka˙zdego ze stan´ow emitujacych miaÃla posta´c sumy dw´och rozkÃlad´ow , Gaussa. Przebadano 15 r´oz˙ nych konfiguracji sieci ukrytych modeli Markowa. W cze´ , sci z nich zastosowano modele przej´scia z jednym stanem emitujacym. Testowano ukÃlady , ze zwykÃlymi modelami przej´scia oraz z modelami przej´scia typu ’Tee’, w kt´orych istniej dodatkowa tranzycja z pierwszego do ostatniego stanu nieemitujacego, poz, walajaca na pominiecie modelu w pewnych sytuacjach. Rozwa˙zano sieci HMM z , , jednym modelem przej´scia oraz sieci, w kt´orych ka˙zda para wystepuj acych po sobie , , wyraz´ow poÃlaczona byÃla innym modelem przej´scia. Dla sieci, w kt´orych po danym , wyrazie mo˙ze wystapi´ , c dowolny wyraz otrzymano bardzo sÃlabe wyniki nie przekraczajace 10.6%, niezale˙znie od tego czy zastosowano modele przej´scia, czy te˙z nie. ,

´ ROZDZIAÃL 6. ROZPOZNAWANIE ZDAN

88

Zatem konfiguracje te nie nadaja, sie, do rozpoznawania zda´ n PJM z wykorzystaniem zaproponowanej metody. Dopiero wprowadzenie modelu lingwistycznego bigram, uwzgledniaj acego informacje, o kontek´scie pozwoliÃlo na uzyskanie skuteczno´sci roz, , poznawania 81.4% dla tych konfiguracji HMM, kt´ore dopuszczaÃly jedynie sekwencje wyraz´ow tworzace logiczne wypowiedzi. Dla sieci, w kt´orych niedozwolone sekwencje , wyraz´ow wyeliminowane sa, poprzez sam ukÃlad ukrytych modeli Markowa uzyskano skuteczno´s´c rozpoznawania 96.1%. Dla konfiguracji tych zauwa˙zono, z˙ e dodanie modelu przej´scia, kt´ory nie jest typu ’Tee’ pogarsza skuteczno´s´c rozpoznawania. Dzieje sie, tak dlatego, z˙ e w procesie uczenia poszczeg´olnych modeli wykorzystywane sa, wyrazy pochodzace z rozpatrywanych sekwencji, zatem modele sa, modyfikowane tak, , aby uwzgledni´ c spowodowane procesem koartykulacji znieksztaÃlcenia na poczatku i , , ko´ ncu gestu. W konsekwencji, podczas rozpoznawania poczatkowa cze´ c przej´scia , , s´ pomiedzy dwoma wyrazami traktowana jest jako ko´ n c´ o wka pierwszego wyrazu, za´s , cze´ c ko´ ncowa przej´scia zostaje doÃlaczona na poczatek drugiego wyrazu. , , , s´ W rozdziale opisano tak˙ze eksperymenty z wykorzystaniem r´ownolegÃlych ukrytych modeli Markowa. Rozwa˙zono dwa warianty zr´ownoleglenia. W pierwszym r´ownolegÃle kanaÃly odpowiadaÃly dÃloni prawej i lewej, w drugim za´s poszczeg´olnym grupom cech: poÃlo˙zeniu, ksztaÃltowi, orientacji i informacji 3D. Dla gest´ow wykonywanych przez autora pracy wyniki otrzymywane w przypadku PaHMM byÃly por´ownywalne z uzyskanymi dla modeli zwykÃlych. Poprawe, zaobserwowano natomiast dla gest´ow wykonywanych przez lektorke, PJM. Majacy wiecej stopni swobody model , , r´ownolegÃly lepiej poradziÃl sobie w przypadku wykonania spontanicznego, w kt´orym osoba pokazujaca znaki czyni to prawie bezwiednie nie przywiazuj ac zej uwagi , , , tak du˙ do tego, aby poszczeg´olne dÃlonie byÃly idealnie zsynchronizowane. Om´owiono tak˙ze eksperyment pozwalajacy na przebadanie wÃlasno´sci uog´olnia, jacych zwykà l ych i r´ o wnolegà l ych modeli Markowa. W tym celu usuwano ze zbioru , uczacego niekt´ore bad´ olne modele jedynie na , , z wszystkie zdania, uczac , poszczeg´ pojedynczych wykonaniach wystepuj acych w nich wyraz´ow. Badania pokazaÃly, z˙ e , , modele r´ownolegÃle sa, bardziej elastyczne i lepiej radza, sobie w przypadku niedoboru danych uczacych, co mo˙ze mie´c znaczenie przy konstruowaniu zÃlo˙zonych ukÃlad´ow , rozpoznajacych zdania z obszernymi sÃlownikami wyraz´ow. ,

RozdziaÃl 7 Podsumowanie Celem pracy byÃlo opracowanie i weryfikacja metody przybli˙zajacej zbudowanie sys, temu wizyjnego do rozpoznawania sÃl´ow i zda´ n Polskiego Jezyka Miganego. WedÃlug , rozeznania autora, tak sformuÃlowanego zadania dotyczacego PJM nie rozpatrywano , dotad. Konieczne byÃlo rozwiazanie od podstaw szeregu problem´ow czastkowych, , , , a nastepnie poÃlaczenie tych rozwiaza´ , , n w prototypowym ukÃladzie informatycznym i , eksperymentalne przebadanie caÃlo´sci. Do najwa˙zniejszych osiagni e´ zna zaliczy´c: , , c pracy mo˙ • zaproponowanie schematu przetwarzania obraz´ow pozyskiwanych w stereowizyjnym ukÃladzie kamer kolorowych w celu wyznaczenia wektor´ow cech, • dob´or metody identyfikacji dÃloni i twarzy w obrazach kolorowych uwzgledniaj a, , cy jako´s´c detekcji w zmiennych warunkach o´swietlenia oraz czas przetwarzania pozwalajacy na zastosowania metody w trybie on-line; eksperymentalne uza, sadnienie wyboru na podstawie oceny kilku wariant´ow detekcji koloru sk´ory w r´oz˙ nych przestrzeniach barw, w odniesieniu do obszernego zbioru danych, • dob´or metody wyznaczania mapy dysparycji na podstawie obraz´ow stereo pod katem jako´sci otrzymywanych map oraz czasu przetwarzania determi, nujacego zastosowanie w trybie on-line; eksperymentalne uzasadnienie wyboru , z uwzglednieniem r´oz˙ nych rozwiaza´ , n, , • opracowanie i praktyczna weryfikacja algorytmu identyfikacji dÃloni prawej, lewej i twarzy w otrzymanych obrazach, • oparta na badaniach lingwistycznych dotyczacych cech dystynktywnych znak´ow , migowych propozycja wariant´ow wektora cech, • opracowanie metody rozpoznawania pojedynczych sÃl´ow oraz metody rozpoznawania zda´ n PJM; uzasadnienie szczeg´oÃl´ow rozwiaza´ , n na podstawie wielostronnych bada´ n eksperymentalnych, dotyczacych zwÃlaszcza: , – struktury ukrytych modeli Markowa i r´ownolegÃlych modeli Markowa, – wyboru wariantu wektora cech, 89

7. PODSUMOWANIE

90

– zale˙zno´sci skuteczno´sci rozpoznawania od warunk´ow o´swietlenia i wykonawcy gest´ow, – zdolno´sci rozpoznawania nowych zda´ n zbudowanych z wyuczonych przez system sÃl´ow. • przygotowanie zbioru narzedzi programowych o og´olniejszym przeznaczeniu , rozpoznawaoraz opracowanie z ich wykorzystaniem aplikacji umo˙zliwiajacej , nie wybranych wyraz´ow i zda´ n PJM w trybie on-line, a tak˙ze obszerna baza sekwencji wizyjnych, kt´ora zostaÃla udostepniona w Internecie. , Schemat przetwarzania obraz´ow w celu wyznaczania wektor´ow cech wykorzystuje obrazy kolorowe pozyskiwane w ukÃladzie stereowizyjnym. Do identyfikacji dÃloni i twarzy osoby wykonujacej gest zastosowano metode, oparta, o zbudowany uprzednio , model rozkÃladu chrominancji sk´ory ludzkiej w znormalizowanej przestrzeni barw RGB. Wyb´or metody poprzedzony byÃl studiami literaturowymi oraz opisanymi w rozdziale 3 eksperymentami dla 4 r´oz˙ nych metod identyfikacji i 9 wybranych przestrzeni barw o wÃla´sciwo´sciach istotnych z punktu widzenia segmentacji. Testy przeprowadzono z wykorzystaniem, przygotowanej w tym celu bazy danych, zawierajacej , 162 obrazy testowe dÃloni i 108 obraz´ow twarzy, zarejestrowanych dla dw´och os´ob, w pomieszczeniu zamknietym, w dzie´ n sÃloneczny i pochmurny oraz w nocy przy , o´swietleniu sztucznym. Przetestowano metode, z aproksymacja, histogramu kolor´ow za pomoca, rozkÃladu normalnego, metode, z wygÃladzaniem histogramu kolor´ow filtrem Gaussa, metode, najwiekszej wiarygodno´sci i metode, maksimum prawdopodo, bie´ nstwa a posteriori. Rozwa˙zano znormalizowana, przestrze´ n RGB oraz przestrzenie YUV, YIQ, barw przeciwstawnych OCS, barw przeciwstawnych w wersji logarytmicznej OCSL, I1I2I3, IHS oraz Lab. Jako´s´c uzyskiwanych obraz´ow binarnych oceniano por´ownujac segmentacji wszyst, je z obrazami otrzymanymi w wyniku recznej , kich obraz´ow testowych. Przy wyborze metody i przestrzeni barw uwzgledniono , tak˙ze czasy wykonania oblicze´ n na typowym komputerze PC. Do identyfikacji dÃloni prawej, lewej i twarzy w otrzymanym obrazie binarnym opracowano algorytm wykorzystujacy informacje, o polach powierzchni i ´srodkach , cie˙ sci otrzymanych obiekt´ow binarnych w bie˙zacej i poprzedniej klatce. Prze, , zko´ prowadzone eksperymenty wykazaÃly, z˙ e dla rozwa˙zanego sÃlownika gest´ow, typowego tempa wykonywania oraz czestotliwo´ sci przetwarzania 25 klatek/s obiekty identyfi, kowane sa, poprawnie przy zaÃlo˙zeniu, z˙ e algorytm rozpoczyna dziaÃlanie, gdy dÃlonie i twarz daja, w obrazie rozÃlaczne obiekty i dÃlo´ n prawa znajduje sie, po prawej, a , lewa po lewej stronie osi ciaÃla (dokÃladniej linii pionowej przechodzacej przez ´srodek , cie˙ z ko´ s ci twarzy). , Poniewa˙z ksztaÃlty przyjmowane przez dÃlonie oraz trajektorie ruchu dÃloni maja, charakter przestrzenny, zastosowano ukÃlad stereowizyjny, aby doda´c do wektora cech informacje, 3D. W tym celu wykorzystano rzadkie mapy dysparycji otrzymane w wyniku przetworzenia obraz´ow stereo. Wyb´or odpowiedniej metody poprzedzony byÃl testami r´oz˙ nych algorytm´ow. Przetestowano dajace zwarte mapy dysparycji: (1) , korelacyjne metody poszukiwania odpowiednik´ow dla okien korelacji o rozmiarach 3 × 3, 5 × 5, ..., 31 × 31 i 10 r´oz˙ nych miar dopasowania, (2) metody korelacyjne zmodyfikowane w ten spos´ob, aby mapy dysparycji generowane byÃly tylko dla obszar´ow

7. PODSUMOWANIE

91

dÃloni i twarzy, (3) metode, poszukiwania z wykorzystaniem programowania dynamicznego i (4) metode, generowania rzadkiej mapy dysparycji na podstawie obraz´ow krawedzi otrzymanych w wyniku filtracji LOG. Oceniano wizualnie jako´sci otrzymy, wanych map dysparycji oraz zmierzono czasy przetwarzania. Metody korelacyjne dla okien o rozmiarach 17 × 17 i wiekszych umo˙zliwiaÃly otrzymywanie map dysparycji , dobrej jako´sci, ale czasy przetwarzania, nawet po zastosowaniu optymalizacji algorytmu lub ograniczeniu poszukiwania odpowiednik´ow tylko do obszar´ow o barwie sk´ory byÃly dÃlu˙zsze ni˙z 400 ms, co uniemo˙zliwiÃlo zastosowanie tych metod do przetwarzania w trybie on-line na wykorzystywanym w systemie typowym komputerze PC. W przypadku metody programowania dynamicznego problematyczny okazaÃl sie, dob´or takich parametr´ow algorytmu, kt´ore pozwoliÃlyby uzyskiwa´c mapy dysparycji dobrej jako´sci dla wszystkich klatek w danej sekwencji wideo. Czas przetwarzania 800 ms tak˙ze nie pozwalaÃl na zastosowanie tej metody w czasie rzeczywistym. Dopiero metoda generowania rzadkiej mapy dysparycji na podstawie obraz´ow krawedzi , daÃla mapy zadowalajacej jako´ s ci w czasie przetwarzania rz edu 15 ms. , , PrzesÃlanka, do wyboru wektor´ow cech byÃly dostepne w literaturze wyniki bada´ n , lingwistycznych nad tzw. wiazkami cech dystynktywnych, pozwalajacymi jedno, , znacznie opisa´c znak migowy PJM. Cechy podzielono na cztery grupy opisujace , miejsce artykulacji, ksztaÃlt, orientacje, i gÃlebi e dà l oni. Miejsce artykulacji, analo, , gicznie jak w przypadku gestogram´ow (patrz podrozdziaÃl 2.2), okre´slono wzgledem , innej cze´ z podczas konwersacji , sci ciaÃla. Jako odniesienie wybrano twarz, poniewa˙ przeprowadzanej z wykorzystaniem jezyka migowego zazwyczaj jest ona statyczna , i musi by´c zwr´ocona w kierunku odbiorcy, tak aby mo˙zliwa byÃla obserwacja wykonywanych gest´ow i ewentualnie czytanie z ruchu ust. Dodatkowym uzasadnieniem takiego wyboru, z punktu widzenia przetwarzania, jest fakt, z˙ e chrominancja twarzy jest zbli˙zona do chrominancji dÃloni, co pozwala na zastosowanie tych samych metod identyfikacji. Przyjeto, z˙ e poÃlo˙zenie dÃloni wzgledem twarzy bedzie okre´slone , , , za pomoca, dÃlugo´sci odcinka Ãlacz ´srodki cie˙ sci dÃloni i twarzy i orientacji , acego , , zko´ przechodzacej przez nie prostej. Rozpoznawanie wyraz´ ow i zda´ n PJM wymaga, , aby pole widzenia kamer obejmowaÃlo sylwetke, osoby wykonujacej gest co najmniej , od pasa w g´ore. W takim przypadku rozmiary dà l oni w obrazie s a , zbyt maÃle, aby , mo˙zliwa byÃla dokÃladna analiza ich ksztaÃltu z uwzglednieniem ukÃladu i orientacji po, szczeg´olnych palc´ow, tak jak ma to miejsce w zapisie gestograficznym. Dlatego przy wyborze cech opisujacych ksztaÃlt dÃloni zdecydowano sie, na opis zgrubny z wyko, rzystaniem jedynie przybli˙zonej “miary” danego ksztaÃltu. Zastosowano trzy r´oz˙ ne miary: pole powierzchni, wsp´oÃlczynnik zwarto´sci oraz ekscentryczno´s´c i rozwa˙zono r´oz˙ ne ich kombinacje. Poniewa˙z ksztaÃlt dÃloni i wykonywane ruchy maja, charakter przestrzenny, dodano do wektora cech informacje, o wzajemnym, przestrzennym usytuowaniu dÃloni i twarzy osoby wykonujacej gesty. Opis dÃloni uzupeÃlniono o , orientacje, osi gÃl´ownej odpowiadajacego jej obiektu binarnego. , W najbardziej zÃlo˙zonym przypadku mamy zatem wektor cech zÃlo˙zony z 14 element´ow, po 7 na ka˙zda, dÃlo´ n. Cechy, kt´ore z lingwistycznego punktu widzenia sa, dystynktywne, moga, w przypadku przetwarzania obraz´ow te wÃla´sciwo´sci utraci´c. Ponadto w zaproponowanym wektorze cech opis ksztaÃltu jest znacznie ubo˙zszy ani˙zeli w gestograficznym zapisie statycznej konfiguracji dÃloni. Rozpoznawanie wyraz´ow

7. PODSUMOWANIE

92

PJM z wykorzystaniem rozwa˙zanych wariant´ow wektora cech wymaga wiec , eksperymentalnej weryfikacji. Przetestowano rozpoznawanie podzbioru 101 wyraz´ow PJM wystepuj acych w , , typowych sytuacjach: u lekarza i na poczcie. Gesty wykonywane byÃly przez lektorke, PJM oraz przez autora, kt´ory wyuczyÃl sie, ich na u˙zytek niniejszej pracy. L à acznie wykorzystano 6060 wykona´ n, zarejestrowanych w korzystnych i niekorzyst, nych warunkach o´swietlenia. Przebadano 32 r´oz˙ ne warianty wektora cech (tab. 3.7), uwzgledniaj ac , przypadki, gdy uczenie i testowanie odbywaÃlo sie, na gestach tej sa, mej osoby, gdy testowanie odbywaÃlo sie, na gestach innej osoby ni˙z uczenie oraz gdy zbi´or uczacy zostaÃl zbudowany w oparciu o gesty wykonane przez obie osoby. , Modele odpowiadajace poszczeg´olnym wyrazom miaÃly po 4 stany (rys. 4.2), przy , czym stany 1 i 4 byÃly nieemitujace, za´s funkcja gesto´ sci prawdopodobie´ nstwa ob, , serwacji dla ka˙zdego ze stan´ow emitujacych miaà l a posta´ c sumy dw´ o ch rozkà lad´ow , Gaussa. Przedstawiono rezultaty otrzymane dla zbior´ow testowych oraz wyniki powstaÃle wskutek u´srednienia wynik´ow czterokrotnej walidacji skro´snej (tab. 5.1). Najlepszy rezultat 99.3% otrzymano dla przypadku, gdy wektor cech zawieraÃl informacje, o poÃlo˙zeniu, informacje, o ksztaÃlcie wyra˙zona, za pomoca, pola powierzchni i wsp´oÃlczynnika zwarto´sci, informacje, 3D i informacje, o orientacji dÃloni. Przeprowadzono poparta, przykÃladami dyskusje, na temat wpÃlywu poszczeg´olnych element´ow wektora cech na skuteczno´s´c rozpoznawania. W przypadku wykorzystania modeli wyuczonych na gestach innej osoby ni˙z rozpoznawane zaobserwowano wyra´zne pogorszenie otrzymanych rezultat´ow, co wskazuje na to, z˙ e metoda nie jest caÃlkiem niezale˙zna od u˙zytkownika. Bli˙zsza analiza pokazaÃla, z˙ e pewne wektory cech okazuja, sie, korzystniejsze w rozpoznawaniu niekt´orych sÃl´ow, inne za´s dominuja, w pozostaÃlych przypadkach. Dlatego przebadano skuteczno´s´c rozpoznawania z wykorzystaniem kombinacji klasyfikator´ow opartych na r´oz˙ nych wektorach cech. Zastosowano metode, gÃlosowania z wiekszo´ scia, zwykÃla, i z wiekszo´ scia, bezwzgledn a,, metode, pozy, , , cyjna, Bordy, metode, u´srednie´ n Bayesa oraz caÃlke, rozmyta., W przypadku kombinacji pierwszych 15 wariant´ow wektora cech (tab 3.7) najlepsze wyniki otrzymano dla gÃlosowania i caÃlki rozmytej. Przewy˙zszaÃly one o ok. 4% rezultat, jaki dawaÃl najlepszy ze wspomnianych wektor´ow cech. W przypadku, gdy uwzgledniono wszystkie , warianty wektora cech wynik globalnie najlepszy byÃl tylko nieznacznie gorszy od hipotetycznego rezultatu, jaki otrzymanoby dobierajac , wektor cech indywidualnie dla ka˙zdego sÃlowa. Dlatego kombinacja wymagaÃla staranniejszego wyboru wektor´ow cech, na kt´orych opieraÃly sie, klasyfikatory, a poprawa skuteczno´sci rozpoznawania okazaÃla sie, niewielka, jak mo˙zna byÃlo oczekiwa´c. Przeprowadzono tak˙ze eksperymenty dla r´oz˙ nej liczby ukrytych stan´ow. Dla ka˙zdego z rozwa˙zanych wariant´ow wektora cech, eksperyment z rozpoznawaniem wyraz´ow powt´orzono wykorzystujac od 2 do 10 , ukryte modele Markowa majace , stan´ow emitujacych. Dla wszystkich wariant´ow wektora cech, najlepsze skuteczno´sci , rozpoznawania otrzymywano, gdy liczba stan´ow byÃla r´owna 2 lub 3 lub 4 lub 5. We wszystkich przypadkach obserwowano te˙z pogarszanie sie, wynik´ow, gdy liczba stan´ow byÃla wieksza od 5. Wykonano tak˙ze eksperyment, w kt´orym liczby stan´ow , w modelach odpowiadajacych poszczeg´olnym wyrazom byÃly ustalane indywidual, nie. Wykorzystujac ow zmieniajacej sie, od 2 do 10 , wyniki otrzymane dla liczby stan´ ,

7. PODSUMOWANIE

93

wyznaczono ´srednie prawdopodobie´ nstwa wygenerowania danego wyrazu w odpowiadajacych mu modelach o r´oz˙ nej liczbie stan´ow i wybrano ten model, dla kt´orego , prawdopodobie´ nstwo to byÃlo najwieksze. Dla wszystkich rozwa˙zanych wariant´ow , wektora cech wyniki otrzymane dla modeli o ustalonej indywidualnie, zr´oz˙ nicowanej liczbie stan´ow okazaÃly sie, nieznacznie lepsze ani˙zeli w przypadku, gdy liczba stan´ow modeli odpowiadajacych poszczeg´olnym wyrazom byÃla jednakowa. Przeprowadzone , eksperymenty pokazaÃly, z˙ e dla liczby stan´ow wiekszej od 5 model dobrze dopasowuje , sie, do danych u˙zytych w uczeniu, ale traci swe wÃla´sciwo´sci uog´olniajace, zatem do , rozpoznawania wyraz´ow PJM powinno sie, raczej projektowa´c modele Markowa o mniejszej liczbie stan´ow. Przebadano rozpoznawanie 35 zda´ n pokazanych w wariancie u˙zytkowym PJM, wystepuj acych w typowych sytuacjach: u lekarza i na poczcie. Zdania wykonywane , , byÃly przez lektorke, PJM oraz autora pracy. L à acznie wykorzystano 1400 wykona´ n, , zarejestrowanych w korzystnych i niekorzystnych warunkach o´swietlenia. Przyjeto, , z˙ e pojedynczy model Markowa odpowiada wyrazowi, caÃle zdanie modelowane jest za´s z wykorzystaniem sieci zÃlo˙zonej z poÃlaczonych odpowiednio modeli sÃl´ow. Modele , odpowiadajace poszczeg´olnym wyrazom miaÃly po cztery stany (rys. 4.2), przy czym , stany 1 i 4 byÃly nieemitujace, za´s funkcja gesto´ sci prawdopodobie´ nstwa obserwacji , , dla ka˙zdego ze stan´ow emitujacych miaà l a posta´ c sumy dw´ o ch rozkà lad´ow Gaussa. , Przebadano 15 r´oz˙ nych konfiguracji sieci ukrytych modeli Markowa. W cze´ , sci z nich zastosowano modele przej´scia posiadajace jeden stan emituj acy. Testowano , , ukÃlady ze zwykÃlymi modelami przej´scia oraz z modelami przej´scia typu ’Tee’, w kt´orych istnieje dodatkowa tranzycja z pierwszego stanu nieemitujacego do ostat, niego stanu nieemitujacego, pozwalaj aca na pomini ecie modelu przej´ s cia. Rozwa˙ zano , , , sieci HMM z modelami przej´scia o jednakowych parametrach oraz sieci, w kt´orych parametry te zale˙zaÃly od pary wyraz´ow, miedzy kt´orymi przej´scie modelowano. Dla , sieci, w kt´orych po danym wyrazie mo˙ze wystapi´ , c dowolny wyraz otrzymano bardzo sÃlabe wyniki nie przekraczajace 10.6%, niezale˙znie od tego, czy zastosowano , modele przej´scia czy te˙z nie. Zatem konfiguracje te nie nadaja, sie, do rozpoznawania zda´ n PJM z wykorzystaniem zaproponowanej metody. Dopiero wprowadzenie modelu lingwistycznego bigram, uwzgledniaj acego informacje, o kontek´scie po, , zwoliÃlo na uzyskanie skuteczno´sci rozpoznawania 81.4% dla tych konfiguracji HMM, kt´ore dopuszczaÃly sekwencje wyraz´ow nie tworzace logicznych wypowiedzi. Dla , sieci, w kt´orych niedozwolone sekwencje wyraz´ow wyeliminowane sa, poprzez sam ukÃlad ukrytych modeli Markowa uzyskano skuteczno´s´c rozpoznawania 96.1%. Dla konfiguracji tych zauwa˙zono, z˙ e dodanie modelu przej´scia, kt´ory nie jest typu ’Tee’ pogarsza skuteczno´s´c rozpoznawania. Dzieje sie, tak dlatego, z˙ e w procesie uczenia poszczeg´olnych modeli wykorzystywane sa, wyrazy pochodzace z rozpatrywanych se, kwencji, zatem modele sa, modyfikowane tak, aby uwzgledni´ c spowodowane procesem , koartykulacji znieksztaÃlcenia na poczatku i ko´ ncu gestu. W konsekwencji podczas , rozpoznawania poczatkowa cze´ c przej´scia pomiedzy dwoma wyrazami traktowana , , s´ , jest jako ko´ nc´owka pierwszego wyrazu, cze´ s ´ c ko´ n cowa przej´ scia zostaje za´s doÃlaczona , , na poczatek drugiego wyrazu. , Przeprowadzono tak˙ze eksperymenty z wykorzystaniem r´ownolegÃlych ukrytych modeli Markowa. Rozwa˙zono dwa warianty zr´ownoleglenia. W pierwszym r´ownolegÃle

7. PODSUMOWANIE

94

kanaÃly odpowiadaÃly dÃloni prawej i lewej, w drugim za´s poszczeg´olnym grupom cech, tj.: poÃlo˙zeniu, ksztaÃltowi, orientacji i informacji o gÃlebi. Dla gest´ow wykonywanych , przez autora pracy wyniki otrzymywane w przypadku PaHMM byÃly por´ownywalne z tymi uzyskanymi dla modeli zwykÃlych. Poprawe, zaobserwowano natomiast dla gest´ow wykonywanych przez lektorke, PJM. Majacy wiecej stopni swobody model , , r´ownolegÃly lepiej poradziÃl sobie w przypadku wykonania spontanicznego, w kt´orym osoba pokazujaca znaki czyni to prawie bezwiednie, nie przywiazuj ac zej uwagi , , , tak du˙ do tego aby poszczeg´olne dÃlonie byÃly idealnie zsynchronizowane. Por´ownano wÃlasno´sci uog´olniajace zwykÃlych i r´ownolegÃlych modeli Markowa. , W tym celu usuwano ze zbioru uczacego cze´ c bad´ , , z wszystkie zdania, uczac , po, s´ szczeg´olne modele jedynie na wykonaniach wystepuj acych w nich pojedynczych wy, , raz´ow. Badania pokazaÃly, z˙ e modele r´ownolegÃle sa, bardziej elastyczne i lepiej radza, sobie w przypadku niedoboru danych uczacych. Ich skuteczno´s´c rozpoznawania w , rozwa˙zanej sytuacji okazaÃla sie, bliska 70% i byÃla okoÃlo dwukrotnie wy˙zsza od skuteczno´sci uzyskanej ze zwykÃlymi HMM. Mo˙ze to mie´c znaczenie przy konstruowaniu zÃlo˙zonych ukÃlad´ow rozpoznajacych z obszernymi sÃlownikami wyraz´ow. , Wynikiem przedstawionych w pracy bada´ n jest prototypowy ukÃlad pozwalajacy , na rozpoznawanie w trybie on-line pojedynczych sÃl´ow i prostych zda´ n PJM. Ocena ukÃladu dokonana dla 101 wyraz´ow i 35 zda´ n potwierdza jego przydatno´s´c w zastosowaniu do ograniczonego sÃlownika. Uzyskana skuteczno´s´c rozpoznawania 99,3% dla sÃl´ow i 97,4% dla zda´ n przedstawia sie, korzystnie w ´swietle zamieszczonych w tab. 1.1 wynik´ow opublikowanych w literaturze w odniesieniu do ukÃlad´ow wizyjnych niewymagajacych zastosowania pomocniczych rekawic. Odnosi sie, to r´ownie˙z , , do wielko´sci sÃlownika i szybko´sci dziaÃlania. Nieco ponad 30% znak´ow Polskiego Jezyka Miganego ma charakter ikoniczny. , Oznacza to, z˙ e charakterystyczny dla nich ukÃlad dÃloni i palc´ow jest podobny do opisywanego ksztaÃltu, albo wykonywany ruch jest zbli˙zony do ruchu typowego dla opisywanej czynno´sci. Intuicyjno´s´c tej grupy znak´ow sprawia, z˙ e moga, one z powodzeniem by´c wykorzystane w innych zastosowaniach, np. w konstruowaniu wielomodalnych interfejs´ow komunikacji czÃlowieka z maszyna, albo w ´srodowisku gdzie z uwagi na wysoki poziom haÃlasu sÃlowne wydawanie komend dla komputera bad´ , z robota jest niemo˙zliwe. Do´swiadczenia zdobyte w trakcie realizacji niniejszej pracy moga, wiec c wykorzystane tak˙ze przy rozwiazywaniu szeroko rozumianych zada´ n , , by´ z dziedziny interakcji czÃlowieka z maszyna., Obecny stan prac nad rozpoznawaniem jezyk´ ow migowych oraz do´swiadczenia , zgromadzone w niniejszej pracy wyznaczaja, kierunki dalszych bada´ n. W komunikacji z osobami niesÃlyszacymi, obok gest´ o w wykonywanych przy udziale dÃloni i ramion, , du˙ze znaczenie maja, tak˙ze sygnaÃly niemanualne przekazywane za po´srednictwem mimiki twarzy, ruch´ow gÃlowy, ukÃladu ciaÃla czy ruch´ow torsu. Automatyczna interpretacja przekazu migowego w spos´ob peÃlny i niezawodny wymaga zatem przetwarzania informacji o charakterze wielomodalnym. Pociaga to za soba, konieczno´s´c , rozwiazania wa˙ z nych problem´ o w badawczych i technicznych zwiazanych z jedno, , czesnym rejestrowaniem, precyzyjna, synchronizacja, i integracja, kanaÃl´ow informacyjnych o r´oz˙ norodnym charakterze. ZÃlo˙zono´s´c przekazu migowego sprawia, z˙ e konieczne staje sie, Ãlaczenie do´swiadcze´ n zdobytych przy rozwiazywaniu pokrewnych, , ,

7. PODSUMOWANIE

95

aczkolwiek traktowanych zazwyczaj niezale˙znie, zada´ n z zakresu sztucznej inteligencji, takich jak: detekcja, ´sledzenie i identyfikacja os´ob, automatyczna analiza i interpretacja akcji i zachowa´ n czÃlowieka, rozpoznawanie mimiki twarzy, ´sledzenie i analiza ruch´ow ciaÃla, budowanie wielomodalnych interfejs´ow do komunikacji z maszyna,, czy wreszcie interakcja z obiektami rzeczywisto´sci wirtualnej. Kolejnym wyzwaniem jest rozwiazanie problemu skalowalno´sci. Poniewa˙z do, tychczasowe prace nad rozpoznawaniem jezyk´ ow migowych dotycza, gÃl´ownie ograni, czonych sÃlownik´ow gest´ow. Problem wia˙ z e si e i rozpoznawaniem , , z wyodrebnieniem , elementarnych skÃladnik´ow gest´ow, peÃlniacych podobna, role, jak fonemy w jezyku , m´owionym. Wymaga to bada´ n w zakresie jezyka miganego oraz bada´ n nad syste, mami wizyjnymi z kamerami ´sledzacymi dÃlonie i pozwalajacymi na obserwowanie , , ukÃladu palc´ow z rozdzielczo´scia, umo˙zliwiajac szczeg´oÃl´ow. , a, rozpoznanie niezbednych , Sygnalizowane dotad rozpoznawanie obszerniejszych sà l ownikow bazuje na danych , otrzymywanych za po´srednictwem specjalnych rekawic. ,

Dodatek A Stanowisko do rozpoznawania wyraz´ ow i zda´ n PJM Rezultatem niniejszej pracy jest stanowisko badawcze pozwalajace na rozpoznawanie , w trybie on-line wybranych 101 wyraz´ow i 35 zda´ n PJM (patrz dodatek E), u˙zywanych w typowych sytuacjach z˙ yciowych: u lekarza i na poczcie. Wymagane jest aby osoba wykonujaca gesty miaÃla ubranie z dÃlugim rekawem w kolorach odmiennych od , , barwy sk´ory. Osoba ta powinna znajdowa´c sie, w odlegÃlo´sci okoÃlo 1.5 m od kamery i by´c zwr´ocona twarza, do niej. System musi by´c ustawiony tak, aby w tle nie pojawiÃly sie, inne osoby lub obiekty o barwach zbli˙zonych do koloru sk´ory.

A.1

Wymagania sprzetowe ,

Stanowisko skÃlada sie, z typowego komputera PC wyposa˙zonego w karte, interfejsu IEEE 1394 FireWire, do kt´orej doÃlaczona jest stereowizyjna kamera STH-MDCS/-C , firmy Videre Design(rys. A.1. A.2). Opcjonalnie komputer wyposa˙zony mo˙ze by´c

Rys. A.1. Stanowisko badawcze.

tak˙ze w karte, d´zwiekow a, i mikrofon, pozwalajace na usprawnienie procesu rejestro, , wania sekwencji wizyjnych poprzez zaznaczanie ich poczatk´ nc´ow za pomoca, , ow i ko´ komend gÃlosowych. W eksperymentach wykorzystano komputer o nastepuj acych , , 96

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

97

Rys. A.2. Kamera stereowizyjna STH-MDCS/-C firmy Videre Design.

parametrach: procesor AMD Athlon 1.8GHz, pamie´ , c operacyjna 1GB, dysk twardy 100GB. Przygotowane oprogramowanie bedzie tak˙ z e dziaÃla´c na jednostkach wypo, sa˙zonych w minimalna,, zalecana, dla systemu Windows XP ilo´s´c pamieci operacyjnej , 256 MB.

A.2

SkÃladniki oprogramowania

Na komputerze zainstalowany jest system operacyjny Windows XP. Przygotowane oprogramowanie bedzie dziaÃla´c tak˙ze na wcze´sniejszych wersjach systemu Windows , z wyjatkiem moduà l u do sterowania procesem nagrywania sekwencji za pomoca, ko, mend gÃlosowych. ModuÃl ten wymaga obecno´sci platformy Microsoft .NET Framework i Microsoft Speech SDK, dostepnych standardowo w systemie XP. , Podstawowym skÃladnikiem systemu jest aplikacja rozpoznajaca. Aplikacja ta , napisana zostaÃla przez autora pracy w jezyku C++ z wykorzystaniem ´srodowiska , programistycznego Microsoft Visual Studio .NET i biblioteki Microsoft Foundation Class (MFC). Do konfiguracji kamery, akwizycji i rektyfikacji par obraz´ow stereo oraz wyznaczania map gÃlebi aplikacja wykorzystuje wybrane funkcje z biblioteki , Small Vision System (SVS) [42]. SVS jest dostarczana wraz z kamera, w formie biblioteki DLL. Jest to produkt licencjonowany i niekt´ore funkcje dziaÃlaja, tylko na komputerze wyposa˙zonym w karte, i kamere, Videre Design. Do przetwarzania pozyskiwanych sekwencji wizyjnych aplikacja wykorzystuje zoptymalizowane wzgledem , czasu wykonania funkcje z napisanej przez autora pracy biblioteki podstawowych procedur przetwarzania obrazu (patrz dodatek B). Rozpoznawanie odbywa sie, z wykorzystaniem funkcji z pakietu Hidden Markow Toolkit (HTK). Wraz z tym pakietem dostarczane sa, kody ´zr´odÃlowe dostepnych w nim narzedzi, co pozwala , , na przeniesienie zaimplementowanych w pakiecie algorytm´ow do wÃlasnej aplikacji. Aplikacja rozpoznajaca Ãlaczy sie, poprzez interfejs ODBC z zaprojektowana, przez , , autora baza, danych przygotowana, w MySQL (patrz dodatek C). Umo˙zliwia to rejestracje, nagrywanych sekwencji i wynik´ow ich przetwarzania, co uÃlatwia proces gromadzenia i zarzadzania obszernym materiaÃlem badawczym. , Niezale˙znie od aplikacji rozpoznajacej wykorzystywane sa, tak˙ze: SRI Smallv , Stereo System (Smallvcal.exe) - dostarczane wraz z kamera, oprogramowanie do ka-

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

98

libracji ukÃladu, skrypty narzedziowe pakietu HKT do tworzenia i uczenia ukrytych , modeli Markowa (patrz dodatek D) i aplikacja Shoot.exe - darmowe oprogramowanie do sterowania komputerem za pomoca, komend gÃlosowych. Sterowanie gÃlosem zostaÃlo skonfigurowane tak, aby po rozpoznaniu sÃl´ow start (stop) wysÃla´c do okienka aktywnej aplikacji (w naszym przypadku aplikacji rozpoznajacej) komunikaty sys, temu Windows, symulujac w ten spos´ o b naciskanie przycisku wznawiaj acego (za, , trzymujacego) rejestracje, sekwencji wizyjnej. ,

A.3

Przygotowanie do uruchomienia

Przed wykorzystaniem ukÃlad stereowizyjny musi zosta´c skalibrowany. Wykorzystywana jest w tym celu dostarczana wraz z kamera, aplikacja Smallvcal.exe i specjalnie przygotowana plansza (rys. 3.9). Kalibracja odbywa sie, z wykorzystaniem algorytmu Tsai. Procedure, kalibracji nale˙zy powt´orzy´c ka˙zdorazowo, gdy poÃlo˙zenie ukÃladu kamer ulegÃlo zmianie (zmieniÃly sie, zewnetrzne parametry modelu ka˙zdej z ka, mer), albo gdy zmieniono ustawienia ostro´sci poszczeg´olnych obiektyw´ow (zmieniÃly sie, parametry wewnetrzne modeli kamer). Wynikiem kalibracji jest plik tekstowy , zawierajacy wyznaczone parametry zewnetrzne i wewnetrzne dla obu kamer oraz , , , macierze, kt´ore wykorzystywane bed a w procesie rektyfikacji par stereo. , , Nastepnie nale˙zy przygotowa´c obraz, kt´ory zostanie wykorzystany do zbudowa, nia modelu rozkÃladu chrominancji dla sk´ory ludzkiej. W tym celu nale˙zy zarejestrowa´c obraz zawierajacy wyprostowana, dÃlo´ n ze zÃlaczonymi palcami skierowanymi , , ku g´orze, zwr´ocona, wewnetrzn a, strona, do kamery (znak daktylograficzny dla litery , B, patrz podrozdziaÃl 2.1, rys. 2.1). Najlepiej jest, aby dÃlo´ n znajdowaÃla sie, w takiej odlegÃlo´sci od kamery, w jakiej bed zna zarejestrowa´c , a, wykonywane gesty. Obraz mo˙ z wykorzystaniem aplikacji Smallvcal.exe, kt´ora wykorzystywana byÃla uprzednio do kalibracji, albo za pomoca, aplikacji rozpoznajacej. Nastepnie nale˙zy wycia´ , ,c z otrzy, manego obrazu prostokatny obszar zawierajacy fragment dÃloni. Nale˙zy to zrobi´c , , tak, aby w wycietym okienku obrazu znalazà l y si e, tylko piksele sk´ory. Mo˙zna do , tego wykorzysta´c dowolna, aplikacje, do przetwarzania obraz´ow, tak˙ze standardowo dostepny w systemie Windows pakiet Paint. Wyciete okienko musi zosta´c zapi, , sane jako obraz bmp z wykorzystaniem zapisu 24 bitowego (po 8 bit´ow na ka˙zda, skÃladowa). , W kolejnym kroku nale˙zy przygotowa´c pliki z wyuczonymi modelami Markowa (patrz dodatek D) i przegra´c je do jednego folderu. Przygotowane pliki zostaja, zaÃladowane do aplikacji rozpoznajacej na etapie kon, figuracji.

A.4

Konfiguracja aplikacji rozpoznajacej ,

Przygotowana aplikacja rozpoznajaca ma charakter badawczy, dlatego pozostawiono , w niej wszystkie ustawienia z wersji prototypowej pozwalajace na zadawanie r´oz˙ nych , wariant´ow przetwarzania sekwencji wizyjnych. Parametry konfiguracyjne podzielono na 7 grup: Acquisition, Thresholding, Color, Morphology, Stereo, Features i

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

99

Recognition. Okienko Acquisition grupuje parametry sterujace procesem pozyskiwania obra, z´ow (rys. A.3). Mo˙zliwa jest praca w trybie on-line z wykorzystaniem obraz´ow z

Rys. A.3. Parametry konfiguracyjne z grupy Acquisition.

kamery Videre-Design (przycisk opcji Live Video) albo praca offline z sekwencjami zapisanymi uprzednio na dysku (przycisk opcji File Sequence, pole edycyjne File Name i przycisk Browse). Dopuszczalne sa, dwie rozdzielczo´sci obraz´ow: 320 × 240 lub 640 × 480 (lista rozwijana Image Size). Mo˙zliwe jest wÃlaczenie/wyà laczenie prze, , twarzania sekwencji kolorowych (przycisk wyboru Color). Dla cel´ow diagnostycznych mo˙zliwe jest wy´swietlanie w trakcie pracy systemu obrazu z kamery lewej (pole wyboru Show Left Image), z kamery prawej (Show Right Image) oraz dodatkowego okienka z informacja, tekstowa, (Show Debug Window). Obrazy moga, zosta´c zapisane na dysku (przycisk wyboru Save Images) w folderze wskazanym przez u˙zytkownika (pole edycyjne File Name i przycisk Browse). Akwizycja obraz´ow mo˙ze odbywa´c sie, w dw´och trybach. W pierwszym z nich w odpowiedzi na z˙ adanie u˙zytkownika pobie, rana jest ciagà ow z czestotliwo´ scia, 25 ramek na sekunde, (przycisk , la sekwencja obraz´ , opcji Continuous). W drugim trybie pobierana jest tylko jedna klatka z kamery

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

100

lewej i prawej (przycisk opcji Single Frame). Tryb ten mo˙ze by´c wykorzystywany do nagrywania pojedynczych par stereo do kalibracji ukÃladu bad´ , z budowania modelu chrominancji sk´ory ludzkiej. Okienko Thresholding grupuje parametry sterujace przetwarzaniem obraz´ow sza, rych (rys. A.4). Dostepne tu kontrolki staja, sie, aktywne, gdy u˙zytkownik odznaczy ,

Rys. A.4. Parametry konfiguracyjne z grupy Thresholding.

opcje, Color na okienku Acquisition. W pewnych warunkach, gdy jasno´s´c twarzy i dÃloni r´oz˙ ni sie, wyra´znie od pozostaÃlych obiekt´ow, mo˙zliwe jest zastosowanie techniki progowania obraz´ow z poziomami szaro´sci. Przed progowaniem obrazy moga, zosta´c poddane filtracji dolnoprzepustowej usuwajacej szum (przycisk wyboru Low, pass Filter). Dostepne sa, dwie metody: z wykorzystaniem filtru Gaussa (pole wy, boru Gauss) lub filtracji medianowej (Median). W obu przypadkach mo˙zna ustawi´c rozmiary masek od 3 do 9 (lista rozwijana Mask Size). W przypadku, gdy twarz i dÃlonie sa, wyra´znie ja´sniejsze od pozostaÃlych obiekt´ow, mo˙zliwa jest filtracja z wykorzystaniem jednej warto´sci progowej (pole opcji One Threshold). Je˙zeli w obrazie

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

101

znajduja, sie, obiekty o jasno´sciach zar´owno mniejszych jak i wiekszych od jasno´sci , twarzy i dÃloni, mo˙zna spr´obowa´c binaryzacji z dwiema warto´sciami progowymi (pole opcji Two Thresholds). W trybie z jedna, warto´scia, progowa, mo˙zna u˙zy´c metody automatycznego doboru progu na podstawie histogramu obrazu i algorytmu Otsu [53] (pole opcji Otsu) lub ustawi´c pr´og recznie (pole opcji Manual, pole edycyjne 1st , Threshold i przyciski +, -). Korekta warto´sci progowej mo˙zliwa jest tak˙ze po uruchomieniu przetwarzania danej sekwencji. W trybie z dwiema warto´sciami progowymi mo˙zliwy jest ich wyb´or reczny (pole opcji Manual i pola edycyjne 1st Threshold, , 2nd Threshold i przyciski +, -) albo ustalenie ich na podstawie wczytanego obrazu zawierajacego tylko piksele dÃloni i sk´ory zarejestrowanego w podobnych warunkach , o´swietlenia (pole opcji From Template, pole edycyjne File Name i przycisk Browse). W trakcie pracy systemu mo˙zna wy´swietla´c dla cel´ow diagnostycznych: obraz po filtracji dolnoprzepustowej (pole wyboru Show Filtered Image), histogram (Show Histogram), linie znaczac s´c progowa, na histogramie (Mark Threshold), krzywe , a, warto´ Gaussa aproksymujace histogram (Mark Gaussians) i obraz binarny (Show Thre, sholded Image). Okienko Color grupuje parametry sterujace przetwarzaniem obraz´ow koloro, wych (rys. A.5). Okienko to staje sie, aktywne, gdy u˙zytkownik zaznaczy opcje, Color na okienku Acquisition. Mo˙zliwe jest przetwarzanie obraz´ow kolorowych w jednej z 8 wybranych przestrzeni barw (lista rozwijana Color Space). Parametry modelu chrominancji sk´ory ludzkiej moga, zosta´c wprowadzone bezpo´srednio (pola edycyjne mi 1, mi 2, sigma2 11, sigma2 22, sigma2 12) lub wyznaczone na podstawie wczytanego obrazu (pole edycyjne File Name i przyciski Browse, Build Model). Otrzymywane obrazy prawdopodobie´ nstwa moga, by´c progowane z wykorzystaniem adapcyjnego doboru progu metoda, Otsu (pole opcji Otsu) lub warto´s´c progu mo˙ze sta´c ustalona recznie (pole opcji Manual, pole edycyjne Threshold i przycisk +, -). , W trakcie przetwarzania mo˙zliwe jest wy´swietlanie dla cel´ow diagnostycznych: obrazu prawdopodobie´ nstwa (pole wybory Show Probability Image), jego histogramu (Show Histogram), warto´sci progu na obrazie histogramu (Mark Threshold), krzywych Gaussa aproksymujacych histogram (Mark Gaussians) i otrzymanego obrazu , binarnego (Show Thresholded Image). Obrazy binarne otrzymane w wyniku przetwarzania sekwencji kolorowych albo sekwencji z odcieniami szaro´sci moga, zosta´c poddane operacjom morfologicznym w celu poprawy ich jako´sci (rys. A.6). Mo˙zna zastosowa´c jedna, z 6 operacji morfologicznych: erozje, (pole opcji Erosion), dylatacje, (Dilation), otwarcie (Openinig), zamkniecie (Closing), filtracje, OC (OC) i CO (CO). Dla cel´ow diagnostycznych , mo˙zna wy´swietla´c otrzymywane obrazy w trakcie pracy systemu (opcja wyboru Show Morph Image). Okienko Stereo grupuje parametry sterujace przetwarzaniem obraz´ow stereo (rys. , A.7). Do rektyfikacji obraz´ow stereo wykorzystywane sa, parametry wyznaczone podczas kalibracji ukÃladu kamer. Do ich wczytania sÃlu˙zy pole edycyjne File Name i przycisk Browse. Proces rektyfikacji wÃlacza sie, za pomoca, przycisku wyboru Recti, fication. Mo˙zliwe jest podanie maksymalnej warto´sci dysparycji (pole edycyjne Max Disparity), wsp´oÃlczynnika wykorzystywanego do usuwania bÃlednych warto´sci dyspa, rycji dla obszar´ow o ubogiej teksturze (pole edycyjne Confidence) i rozmiaru okienka

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

102

Rys. A.5. Parametry konfiguracyjne z grupy Color.

korelacji (Correlation Window Size). Dla cel´ow diagnostycznych mo˙zna wy´swietli´c podczas pracy systemu otrzymywane obrazy dysparycji (pole wyboru Show Disparity Image). Okienko Feature grupuje parametry zwiazane z procedura, wyznaczania wektor´ow , cech (rys. A.8). W polu edycyjnym Min object area wprowadza sie, minimalny rozmiar obiektu. Wszystkie otrzymane w wyniku etykietowania obrazu binarnego obiekty o polach powierzchni mniejszych od tej warto´sci zostana, odrzucone. W trakcie dziaÃlania programu mo˙zliwe jest wy´swietlenie obrazu binarnego po etykietowaniu (pole wyboru Show Labeled Image), obrazu oryginalnego z obszarami twarzy, dÃloni prawej i lewej zaznaczonymi odpowiednio za pomoca, kolor´ow zielonego, czerwonego i niebieskiego (pole wyboru Hands and Face) i przebieg´ow wybranych wektor´ow cech (pole wyboru Show Features). Okienko Recognition zawiera parametry dotyczace klasyfikacji z wykorzystaniem ,

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

103

Rys. A.6. Parametry konfiguracyjne z grupy Morphology.

Rys. A.7. Parametry konfiguracyjne z grupy Stereo.

ukrytych modeli Markowa (rys. A.9). Mo˙zliwe jest ustalenie, czy rozpoznawane bed z caÃle sekwencje (Sentences). , a, pojedyncze wyrazy (pole opcji Words), czy te˙ Pole edycyjne Folder Name oraz przycisk Browse pozwalaja, na wczytanie wyuczonych ukrytych modeli Markowa i plik´ow pomocniczych niezbednych do rozpoznawa, nia, z wykorzystaniem algorytmu Viterbiego, ze wskazanego folderu (patrz dodatek D). PozostaÃle parametry sterujace procesem klasyfikacji (liczba stan´ow emitujacych, , , liczba rozkÃlad´ow Gaussa aproksymujacych obserwacje, s´c i rodzaj modeli , , obecno´ przej´s´c) ustalane sa, w plikach zawierajacych definicje, ukrytych modeli Markowa, , bad´ , z w plikach pomocniczych przygotowywanych w trakcie uczenia modeli.

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

104

Rys. A.8. Parametry konfiguracyjne z grupy Features.

Rys. A.9. Parametry konfiguracyjne z grupy Recognition.

A.5

Rozpoznawanie

Po wykonaniu caÃlej sekwencji nastepuje jej rozpoznanie z wykorzystaniem przy, gotowanych uprzednio wyuczonych modeli Markowa. Jako rezultat wy´swietlona zostaje transkrypcja rozpoznanej sekwencji w formie wykorzystywanej w wariancie

´ I ZDAN ´ PJM A. STANOWISKO DO ROZPOZNAWANIA WYRAZOW

105

u˙zytkowym PJM oraz jej peÃlny zapis z ko´ nc´owkami fleksyjnymi. Ponadto w wyniku wywoÃlania procedur z pakietu HTK na dysku tworzony jest plik wynikowy zawierajacy dodatkowe statystyki. W tab. A.1 przedstawiono czasy osiagane przy prze, , twarzaniu pojedynczej pary stereo dla r´oz˙ nych wariant´ow przetwarzania sekwencji wizyjnej. Tab. A.1. Czasy przetwarzania pary obraz´ ow stereo dla r´ oz˙ nych wariant´ ow przetwarzania sekwencji wizyjnej

wariant przetwarzania sekwencji wizyjnej obrazy szare, binaryzacja z recznym doborem progu, , etykietowanie, wyznaczanie mapy dysparycji obrazy szare, filtracja Gaussa, binaryzacja metoda, Otsu, filtracja OC, etykietowanie, wyznaczanie mapy dysparycji obrazy kolorowe, progowanie obrazu prawdopodobie´ nstwa, etykietowanie, wyznaczanie mapy dysparycji obrazy kolorowe, progowanie obrazu prawdopodobie´ nstwa, filtracja OC, etykietowanie, wyznaczanie mapy dysparycji

czas przetwarzania [ms] 18 29 25 36

Dodatek B Biblioteka funkcji przetwarzania obraz´ ow W trakcie przeprowadzania prac badawczych konieczne byÃlo tworzenie r´oz˙ norodnych aplikacji testowych z zakresu przetwarzania obraz´ow. Dlatego opracowano biblioteke, podstawowych funkcji przetwarzania obraz´ow. Podczas tworzenia tej biblioteki zwracano szczeg´olna, uwage, na takie jej cechy jak szybko´s´c przetwarzania i oblicze´ n, prostota u˙zycia, sp´ojny i intuicyjny interfejs oraz skalowalno´s´c i przeno´sno´s´c. Aby maksymalnie uÃlatwi´c tworzenie aplikacji z wykorzystaniem tej biblioteki przyjeto , jednolity standard kodowania i dokumentowania kodu. Biblioteka napisana zostaÃla w jezyku C i tworzace ja, moduÃly, z wyjatkiem kilku specyficznych dla systemu , , , Windows, moga, by´c Ãlatwo przeniesione na inne platformy. Kr´otka, charakterystyke, moduÃl´ow biblioteki przedstawiono w tab. B.1 Tab. B.1. ModuÃly biblioteki przetwarzania obraz´ ow lp.

nazwa moduÃlu

1 2 3 4 5

avi bmp display img2scr meteor

6 7

vesa video

8 9 10

errors image stoper

przeznaczenie operacje wej´scia/wyj´scia Przetwarzanie plik´ow filmowych zapisanych w formacie AVI. Odczyt i zapis z/do pliku BMP. Wy´swietlanie obraz´ow w trybach VESA. Wy´swietlanie obraz´ow w aplikacjach dziaÃlajacych w Windows. , Akwizycja obraz´ow z kart frame-grabber´ow firmy Matrox (Meteor II, Morphis) ObsÃluga tryb´ow graficznych VESA. Akwizycja obraz´ow z wykorzystaniem standardu Video for Windows (kamery analogowe, kamery internetowe). og´olne ModuÃl obsÃlugi bÃled´ , ow. Reprezentacja obraz´ow r´oz˙ nych typ´ow w pamieci komputera. , Funkcje uÃlatwiajace pomiar czasu. ,

106

´ B. BIBLIOTEKA FUNKCJI PRZETWARZANIA OBRAZOW lp.

nazwa moduÃlu

11 12 13 14 15 16 17 18 19

and area axis bright centroid circum cluster contrast conv

20

conv1

21 22 23 24

conv2 correl correlb differ

25

differ1

26

dilatio1

27 28 29 30

dilation1 equalize erosion erosion1

31 32

filters findth

33 34 35 36 37

findth1 gauss hist hitmiss hitmiss1

38 39 40 41 42 43 44 45 46 47

hough label laplace median momgeo negative nonlin rotate saltpep thresh

107

przeznaczenie Przetwarzanie obraz´ow monochromatycznych i binarnych Operacja AND na obrazach binarnych. Obliczenie pola powierzchni obiektu o danej jasno´sci. Wyznaczenie kata nachylenia osi gÃl´ownej obiektu w obrazie binarnym. , Korekcja jasno´sci. Obliczenie ´srodka cie˙ sci obiektu o danej jasno´sci. , zko´ Obliczenie obwodu obiektu o danej jasno´sci. Grupowanie pikseli. Korekcja kontrastu. Konwolucja dyskretna obraz´ow (otrzymane warto´sci ujemne sa, zastepowane zerami). , Konwolucja dyskretna obraz´ow (otrzymane warto´sci ujemne sa, zastepowane warto´sciami bezwzglednymi). , , Konwolucja dyskretna obraz´ow. Dyskretna korelacja dla obraz´ow z odcieniami szaro´sci. Dyskretna korelacja dla obraz´ow binarnych. R´ oz˙ nica obraz´ow (otrzymane warto´sci ujemne sa, zastepowane zerami). , R´ oz˙ nica obraz´ow (otrzymane warto´sci ujemne sa, zastepowane warto´sciami bezwzglednymi). , , Dylatacja obrazu binarnego - wersja zoptymalizowana dla element´ow strukturalnych o du˙zych powierzchniach, ale zawierajacych maÃla, liczbe, , biaÃlych pikseli. Dylatacja obrazu binarnego. Wyr´ ownywanie histogramu. Erozja obrazu binarnego. Erozja obrazu binarnego - wersja zoptymalizowana dla element´ow strukturalnych o du˙zych powierzchniach ale zawierajacych maÃla, liczbe, , biaÃlych pikseli. Definicja najcze´ zywanych filtr´ow. , sciej u˙ Adaptacyjne ustalenie warto´sci progu binaryzacji na podstawie aproksymacji histogramu krzywymi Gaussa. Adaptacyjne ustalenie warto´sci progu binaryzacji na podstawie histogramu. Filtracja Gaussa za pomoca, maski 3 x 3. Wyznaczenie histogramu obrazu z poziomami szaro´sci. Operacja morfologiczna hit or miss dla obraz´ow binarnych. Operacja morfologiczna dla obraz´ow binarnych - wersja zoptymalizowana dla element´ow strukturalnych o du˙zych powierzchniach zawierajacych maÃla, liczbe, , biaÃlych pikseli. Transformacja Hougha do wykrywania linii prostych. Segmentacja za pomoca, algorytmu liniowego przegladania obrazu i skleje´ n. , Filtracja Laplace’a obraz´ow. Filtracja medianowa obraz´ow. Wyznaczanie moment´ow geometrycznych. Negatyw obrazu z poziomami szaro´sci. Nieliniowa transformacja poziom´ow szaro´sci. Obr´ ot obrazu o zadany kat. , Dodanie do obrazu szumu typu s´ol i pieprz. Binaryzacja obrazu.

´ B. BIBLIOTEKA FUNKCJI PRZETWARZANIA OBRAZOW lp.

nazwa moduÃlu

48 49 50 51 52 53 54 55 56 57 58 59 60

colnorm colnorm1 getrgb gray2rgb model pln2rgb rgb2 rgb2gray rgb2i123 rgb2ihs rgb2lab rgb2ocs rgb2ocsl

61 62 63 64 65 66

rgb2xyz rgb2yiq rgb2yuv satur setrgb tint

67

alscal

68 69

arctan combine

70 71 72 73 74 75 76 77 78

combine1 det drawrec extract gau2img gauss2D h2d2img hflip hist2d

79 80 81

hist2img insert int2bas

82 83 84 85

rotate scale sort sort1

86 87

stereo egraph

108

przeznaczenie Przetwarzanie obraz´ow kolorowych Normalizacja przestrzeni barw RGB. Normalizacja przestrzeni barw RGB z odrzuceniem pikseli o maÃlej jasno´sci. Wyodrebnienie obraz´ow R, G i B z obrazu kolorowego RGB. , PrzeksztaÃlcenie obrazu z poziomami szaro´sci do obrazu kolorowego. Wyznaczanie modelu rozkÃladu chrominancji. PrzeksztaÃlcenie obraz´ow typu PLANAR (Matrox) do obraz´ow RGB. Liniowe przeksztaÃlcenie przestrzeni barw. PrzeksztaÃlcenie obrazu kolorowego do obrazu z poziomami szaro´sci. Zmiana przestrzeni barw z RGB na I1I2I3. Zmiana przestrzeni barw z RGB na IHS. Zmiana przestrzeni barw z RGB na L*a*b*. Zmiana przestrzeni barw z RGB na Opponent Colour Space. Zmiana przestrzeni barw z RGB na Opponent Colour Space - wersja logarytmiczna [18]. Zmiana przestrzeni barw z RGB na XYZ. Zmiana przestrzeni barw z RGB na YIQ. Zmiana przestrzeni barw z RGB na YUV. Zmiana nasycenia barwy w obrazie kolorowym. ZÃlo˙zenie obrazu kolorowego RGB z obraz´ow R, G i B. Korekcja barwy dla obrazu kolorowego. Funkcje pomocnicze Wyznaczenie prawdopodobie´ nstwa P(y—M) dla dyskretnego ciagu obserwacji y , i ukrytego modelu Markowa M metoda, w prz´od. Wyznaczenie arctg2. Wyznaczenie obrazu na podstawie dw´och innych obraz´ow wg reguÃly okre´slonej przez parametr (bed wska´znikiem na funkcje). , , acy Jak wy˙zej, ale dla obraz´ow, w kt´orych do zapisu pikseli wykorzystano dwa bajty. Obliczenie wyznacznika macierzy. Narysowanie prostokata w obrazie. , Wycinanie prostokatnego okienka z obrazu. , Narysowanie krzywych Gaussa na obrazie histogramu. Wyznaczenie warto´sci dwuwymiarowej funkcji Gaussa. Przedstawienie histogramu 2D za pomoca, obrazu. Poziome odbicie obrazu. Wyznaczenie histogramu 2D na podstawie dw´och obraz´ow z wybranymi skÃladowymi barw. Wy´swietlenie histogramu. Wstawienie okna do obrazu. Konwersja obrazu do formatu, w kt´orym do zapisu jednego piksela wykorzystano 2 bajty Obr´ ot obrazu. Przeskalowanie obrazu. Sortowanie babelkowe w porzadku malejacym. , , , Sortowanie babelkowe w porz adku malejacym dla danych zapisanych , , , z wykorzystaniem jednego bajta Wyznaczanie zwartych map dysparycji dla r´oz˙ nych miar dopasowania. Dopasowywanie elastycznego grafu na podstawie parametr´ow wezà ow, , l´ wyznaczonych wg zadanej metody (np. ´srednia w otoczeniu lub wynik dziaÃlania filtr´ ow Gabora)

Dodatek C Aplikacja bazy danych Eksperymenty z zakresu rozpoznawania wyraz´ow i sÃl´ow PJM w ukÃladzie wizyjnym wymagaja, pracy z du˙za, ilo´scia, danych o charakterze multimedialnym, przy wykorzystaniu r´oz˙ norodnych narzedzi sprzetowych i program´ow obliczeniowych, kt´orych , , interfejsy wej´scia/wyj´scia nie zawsze sa, ze soba, zgodne. Badawczy charakter prac sprawia, z˙ e w ich trakcie generowana jest spora liczba plik´ow po´srednich i rozmaitych statystyk pomocniczych, kt´ore musza, by´c archiwizowane na wypadek, gdy oka˙za, sie, jeszcze przydatne. Pr´oby uporzadkowywania oparte jedynie na wprowadzeniu hie, rarchicznego ukÃladu folder´ow i sformalizowanego systemu nazewnictwa plik´ow moga, by´c nieefektywne. Dlatego na u˙zytek opisywanych bada´ n konieczne staÃlo sie, opracowanie narzedzi, kt´ore uczynia, z heterogenicznego zestawu instrument´ow sp´ojne i , Ãlatwe w u˙zyciu ´srodowisko badawcze. Elementem umo˙zliwiajacym zachowanie integralno´sci caÃlego ´srodowiska badaw, czego jest specjalnie zaprojektowana baza danych, kt´ora sÃlu˙zy nie tylko do archiwizacji danych, ale pozwala tak˙ze na zarejestrowanie narzedzi, za pomoca, kt´orych dane , zostaÃly uzyskane, ustawie´ n i parametr´ow konfiguracyjnych, przy kt´orych przeprowadzano dany eksperyment, kolejno´sci w jakiej poszczeg´olne pliki byÃly generowane, celu przeprowadzania danego testu oraz dowolnych dodatkowych informacji wpisywanych przez u˙zytkownika, gdy zajdzie taka potrzeba. Aby to osiagn a´ , ,c, przyjeto , podczas projektowania struktury bazy zaÃlo˙zenie, z˙ e jej podstawowa, funkcja, bedzie , raczej rejestrowanie aktywno´sci u˙zytkownika wykonujacego eksperyment, odpowied, nie dane bed s wpisywane jako argumenty wej´sciowe bad´ , z rezultaty wspomnianej , a, za´ aktywno´sci. Takie podej´scie umo˙zliwia odtworzenie caÃlej historii eksperymentu na podstawie wpis´ow w bazie. Na rys. C.1 przedstawiono logiczna, strukture, bazy danych. W tabeli PROCESS zapisywane sa, kolejne akcje podejmowane podczas przeprowadzania danego eksperymentu. Proces wykonywany jest przez osobe, orej , kt´ dane zapisane sa, w tabeli PERSON z wykorzystaniem narzedzi opisanych w tabeli , TOOL. Proces mo˙ze wymaga´c pewnych danych wej´sciowych, oznaczonych na rysunku INPUT DATA i mo˙ze generowa´c rezultaty oznaczone jako OUTPUT DATA. Danymi dla poszczeg´olnych proces´ow moga, by´c filmy, sekwencje obraz´ow, pojedyncze obrazy, sekwencje plik´ow i pojedyncze pliki. Wyniki wykonania danego procesu moga, by´c jednocze´snie danymi wej´sciowymi dla innego procesu. Strukture, bazy danych pokazano na rys. C.2. Przy wyborze zestawu atrybut´ow opisujacych dana, , 109

C. APLIKACJA BAZY DANYCH

110

Rys. C.1. Logiczna struktura bazy danych

Rys. C.2. Struktura bazy danych

encje, przyjeto, z˙ e projektowana baza danych bedzie miaÃla charakter uniwersalny , , i w przyszÃlo´sci bedzie mogà l a tak˙ z e by´ c zastosowana do wspierania innych bada´ n , zwiazanych z przetwarzaniem du˙zej ilo´sci plik´ow multimedialnych. W tabelach C.1, C.12 zamieszczono zestawy atrybut´ow opisujace poszczeg´olne encje. Do budowy ,

C. APLIKACJA BAZY DANYCH

111

systemu obsÃlugujacego baze, zastosowano MySQL. Interfejs u˙zytkownika opracowano , z wykorzystaniem PHP. Tab. C.1. Opis encji PROCESS

lp. 1 2 3 4 5

nazwa pola id name execution date short description long description

przeznaczenie Unikatowy identyfikator procesu. Nazwa procesu. Data wykonania procesu. Kr´otki opis procesu. DÃlugi opis procesu.

Tab. C.2. Opis encji PERSON

lp. 1 2 3 4 5 6 7

nazwa pola id name function login password short description long description

przeznaczenie Unikatowy identyfikator osoby. Imie, i nazwisko. Funkcja (admin, user, guess). Identyfikator u˙zywany podczas logowania. HasÃlo u˙zywane podczas logowania. Kr´otki opis osoby. DÃlugi opis osoby.

Tab. C.3. Opis encji TOOL

lp. 1 2 3 4 5 6 7 8

nazwa pola id name path launch method config file version short description long description

przeznaczenie Unikatowy identyfikator narzedzia. , Nazwa narzedzia. , ´ zka dostepu do pliku. Scie˙ , Spos´ob wywoÃlania narzedzia. , ´ zka dostepu do pliku konfiguracyjnego. Scie˙ , Numer wersji narzedzia. , Kr´otki opis narzedzia. , DÃlugi opis narzedzia. ,

C. APLIKACJA BAZY DANYCH

112

Tab. C.4. Opis encji FILM

lp. 1 2 3 4 5 6 7 8 9 10

nazwa pola id nazwa path format width height bits per pixel codec short description long description

przeznaczenie Unikatowy identyfikator filmu. Nazwa filmu. ´ zka dostepu do pliku. Scie˙ , Format pliku (avi, mpeg, mov, itp.). Szeroko´s´c klatki. Wysoko´s´c klatki. Liczba bit´ow na jeden piksel. Kompresja zastosowana przy zapisie filmu. Kr´otki opis filmu. DÃlugi opis filmu.

Tab. C.5. Opis encji IMAGE SEQUENCE

lp. 1 2 3 4 5 6 7 8 9 10 11 12

nazwa pola id name path basename start index stop index format width height bits per pixel short description long description

przeznaczenie Unikatowy identyfikator sekwencji obraz´ow. Nazwa sekwencji obraz´ow. ´ zka dostepu do folderu zawierajacego sekwencje obraz´ow. Scie˙ , , , Nazwa bazowa pliku. Numer pierwszej klatki w sekwencji. Numer ostatniej klatki w sekwencji. Format pojedynczego obrazu (bmp, jpeg, gif, itp.). Szeroko´s´c pojedynczego obrazu. Wysoko´s´c pojedynczego obrazu. Liczba bit´ow na jeden piksel. Kr´otki opis sekwencji obraz´ow. DÃlugi opis sekwencji obraz´ow. Tab. C.6. Opis encji IMAGE

lp. 1 2 3 4 5 6 7 8 9

nazwa pola id nazwa path format width height bits per pixel short description long description

przeznaczenie Unikatowy identyfikator obrazu. Nazwa obrazu. ´ zka dostepu do pliku. Scie˙ , Format obrazu (bmp, jpeg, gif, itp.). Szeroko´s´c obrazu. Wysoko´s´c obrazu. Liczba bit´ow na jeden piksel. Kr´otki opis obrazu. DÃlugi opis obrazu.

C. APLIKACJA BAZY DANYCH

113

Tab. C.7. Opis encji FILE SEQUENCE

lp. 1 2 3 4 5 6 7 8 9 10

nazwa pola id name path basename start index stop index format length short description long description

przeznaczenie Unikatowy identyfikator sekwencji plik´ow. Nazwa sekwencji plik´ow. ´ zka dostepu do folderu zawierajacego sekwencje plik´ow. Scie˙ , , , Nazwa bazowa pliku. Numer pierwszego pliku w sekwencji. Numer ostatniego pliku w sekwencji. Format pojedynczego pliku (doc, xls, mfc, itp.). Rozmiar pliku. Kr´otki opis sekwencji plik´ow. DÃlugi opis sekwencji plik´ow.

Tab. C.8. Opis encji FILE

lp. 1 2 3 4 5 6 7

nazwa pola id name path format length short description long description

przeznaczenie Unikatowy identyfikator pliku. Nazwa pliku. ´ zka dostepu do pliku. Scie˙ , Format pliku (doc, xls, mfc, itp.). Rozmiar pliku. Kr´otki opis pliku. DÃlugi opis pliku.

Tab. C.9. Opis encji PERSON ASSIGNMENT

lp. 1 2 3

nazwa pola id process id person id

przeznaczenie Unikatowy identyfikator przyporzadkowania. , Identyfikator procesu. Identyfikator osoby.

Tab. C.10. Opis encji TOOL ASSIGNMENT

lp. 1 2 3

nazwa pola id process id tool id

przeznaczenie Unikatowy identyfikator przyporzadkowania. , Identyfikator procesu. Identyfikator narzedzia. ,

C. APLIKACJA BAZY DANYCH

Tab. C.11. Opis encji INPUT ASSIGNMENT

lp. 1 2 3 4 5 6 7

nazwa pola id process id image id file id image sequence id file sequence id film id

przeznaczenie Unikatowy identyfikator przyporzadkowania. , Identyfikator procesu. Identyfikator obrazu. Identyfikator pliku. Identyfikator sekwencji obraz´ow. Identyfikator sekwencji plik´ow. Identyfikator filmu.

Tab. C.12. Opis encji OUTPUT ASSIGNMENT

lp. 1 2 3 4 5 6 7

nazwa pola id process id image id file id image sequence id file sequence id film id

przeznaczenie Unikatowy identyfikator przyporzadkowania. , Identyfikator procesu. Identyfikator obrazu. Identyfikator pliku. Identyfikator sekwencji obraz´ow. Identyfikator sekwencji plik´ow. Identyfikator filmu.

114

Dodatek D Przewodnik u˙zytkownika HTK Hidden Markov Model Toolkit (HTK) jest narzedziem do budowania system´ow roz, poznawania wykorzystujacych ukryte modele Markowa. Narzedzie to zostaÃlo opra, , cowane w zespole Speech, Vision and Robotics na Uniwersytecie Cambridge i pierwotnie byÃlo przeznaczone do rozpoznawania mowy. Jednak jadro HTK jest og´olnego , przeznaczenia i budowane z jego wykorzystaniem ukryte modele Markowa moga, by´c wykorzystane do modelowania dowolnych przebieg´ow czasowych. Dlatego narzedzie , to stosowane jest tak˙ze do syntezy mowy, rozpoznawania sekwencji DNA, rozpoznawania pisma i rozpoznawania gest´ow. HTK jest zbiorem moduÃl´ow bibliotecznych i program´ow narzedziowych wspiera, jacych rejestrowanie i przetwarzanie sygnaÃlu mowy, konstruowanie zÃlo˙zonych ukÃla, d´ow HMM, uczenie, testowanie i analize, otrzymanych rezultat´ow. Zastosowanie HTK do rozpoznawania gest´ow wymaga jedynie zastapienia moduÃl´ow dedykowanych , do przetwarzania sygnaÃlu mowy wÃlasnymi, kt´ore zapisza, dane i konfiguracje, ukÃladu rozpoznajacego w formacie przyjetym w HTK. Dla ka˙zdego z program´ow narzedzio, , , wych dostepne s a kody ´ z r´ o dà l owe w j ezyku C. Pozwala to na zastosowanie algorytm´ ow , , , wbudowanych w HTK we wÃlasnych programach. HTK umo˙zliwia budowanie ukrytych modeli Markowa z obserwacja, ciagà , la, i dyskretna., W przypadku modeli z obserwacja, ciagà l a funkcja g esto´ s ci prawdopodobie´ n, , , stwa obserwacji ma posta´c sumy rozkÃlad´ow Gaussa, kt´ore moga, by´c opisywane za pomoca, peÃlnej macierzy kowariancji bad´ ow z warto´sciami wariancji, gdy , z wektor´ poszczeg´olne skÃladowe wektora cech sa, statystycznie niezale˙zne. W ka˙zdym modelu stany pierwszy i ostatni sa, nieemitujace, tzn. nie generuja, obserwacji. Stany te wy, korzystywane sa, do Ãlaczenia poszczeg´olnych modeli w wieksze struktury. Strukture, , , ukrytego modelu Markowa zadaje sie, wprowadzajac do macierzy tranzycji nieze, rowe warto´sci poczatkowe dla dozwolonych przej´s´c pomiedzy stanami. Umo˙zliwia , , to projektowanie modeli o dowolnych topologiach. Poprzez wprowadzenie przej´s´c jednokierunkowych z mo˙zliwo´scia, pominiecia pewnych stan´ow otrzymuje sie, tzw. , modele Bakisa, nadajace sie, do rozpoznawania gest´ow, kt´ore moga, by´c wykony, wane z r´oz˙ na, szybko´scia., Mo˙zliwe jest tak˙ze budowanie tzw. modeli typu ’Tee’ (zob. podrozdziaÃl 4.3 i rys. 4.7b). Modele te maja, dodatkowe przej´scie pomiedzy , pierwszym i ostatnim stanem nieemitujacym i wykorzystywane sa, do modelowa, nia opcjonalnych fragment´ow sekwencji czasowych. W przypadku rozpoznawania 115

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

116

sekwencji gest´ow modele typu ’Tee’ mo˙zna wykorzysta´c do modelowania przej´s´c pomiedzy poszczeg´olnymi gestami. , Uczenie ukrytych modeli Markowa z wykorzystaniem HTK odbywa sie, w dw´och etapach. Na poczatku dokonywana jest wstepna estymacja parametr´ow modelu z , , wykorzystaniem algorytmu Viterbiego, nastepnie za´s douczanie z wykorzystaniem , algorytmu Bauma-Welcha. Do budowania system´ow rozpoznawania sekwencji przebieg´ow czasowych, z kt´orych ka˙zdy modelowany jest za pomoca, jednego HMM zaimplementowano uczenie z wbudowanym wyodrebnianiem element´ow skÃladowych w , ciagu uczacym, a wiec ow w zdaniach, tzw. embedded training. Embedded , , , np. wyraz´ training mo˙zna zastosowa´c do modelowania sekwencji gest´ow. W tym przypadku po wstepnej estymacji poszczeg´olne modele uczone sa, r´ownolegle z wykorzystaniem , caÃlych sekwencji, przy czym nie jest wymagana dokÃladna segmentacja danej sekwencji, a jedynie informacja o kolejno´sci gest´ow, z kt´orych jest ona zbudowana. Taka strategia uczenia uÃlatwia proces gromadzenia danych uczacych, co ma du˙ze znacze, nie zwÃlaszcza w przypadkach, gdy zbi´or rozpoznawanych sekwencji jest liczny. W HTK rozpoznawanie odbywa sie, z wykorzystaniem algorytmu Viterbiego w wersji z przekazywaniem znacznik´ow (zob. podrozdziaÃl 4.3). W przypadku rozpoznawania sekwencji gest´ow strukture, sieci ukrytych modeli Markowa zadaje sie, za pomoca, specjalnego jezyka, kt´ory skÃlada sie, ze zbioru defi, nicji i nastepuj acego po nich wyra˙zenia regularnego opisujacego ukÃlad modeli. Tak , , , zapisana sie´c modeli jest nastepnie automatycznie przeksztaà l cana do formatu HTK , Standard Lattice Format, kt´ory jest wykorzystywany w trakcie uczenia i rozpoznawania. Umo˙zliwia to zapisanie w prosty i przejrzysty spos´ob nawet bardzo zÃlo˙zonych konfiguracji ukrytych modeli Markowa.

D.1

Zdefiniowanie problemu

Pierwszym etapem podczas tworzenia systemu rozpoznajacego z wykorzystaniem , pakietu HTK jest zdefiniowanie problemu. W tym celu wykorzystuje sie, specjalny jezyk i tworzy sie, plik tekstowy z opisem tzw. gramatyki zadania. W og´olnym , przypadku opis ten skÃlada sie, z zestawu definicji i nastepuj acego po nich wyra˙zenia , , regularnego. Wyra˙zenie regularne zapisuje sie, w nawiasach zwykÃlych (, ) z wykorzystaniem specjalnych metaznak´ow, kt´orych znaczenie przedstawiono w tab. D.1. Tab. D.1. Metaznaki u˙zywane w opisie gramatyki zadania

metaznak | [] {} >

PrzykÃlad D.1

opis alternatywa element opcjonalny zero lub wiecej powt´orze´ n , jedno lub wiecej powt´orze´ n , zapis informacji o kontek´scie

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

117

ZaÃl´oz˙ my, z˙ e naszym zadaniem jest rozpoznawanie pojedynczych cyfr: 1, 2, ... 9, 0. Plik z opisem gramatyki zadania bedzie miaÃl posta´c: , (one|two|three|four|five|six|seven|eight|nine|zero) lub z wykorzystaniem definicji: $digit = one|two|three|four|five|six|seven|eight|nine|zero; ( $digit ) Opisowi takiemu odpowiada struktura ukÃladu rozpoznajacego przedstawiona na rys. , D.1.

Rys. D.1. Struktura HMM do rozpoznawania pojedynczych cyfr.

PrzykÃlad D.2 ZaÃl´oz˙ my teraz, z˙ e zamiast pojedynczych cyfr rozpoznawane maja, by´c ich sekwencje. W tym przypadku nale˙zy u˙zy´c nawias´ow oznaczajacych jedno lub wiele , wystapie´ n (patrz tab. D.1). Zatem plik z definicja, gramatyki zadania bedzie miaÃl , , teraz posta´c: $digit = one|two|three|four|five|six|seven|eight|nine|zero; ( < $digit > ) Rys. D.2 przedstawia strukture, HMM do rozpoznawania sekwencji cyfr.

one two zero

Rys. D.2. Struktura HMM do rozpoznawania sekwencji cyfr.

Do zapisu informacji o kontek´scie wykorzystuje sie, podw´ojne nawiasy i znaki ’-’, ’+’. W nawiasach umieszcza sie, wpisy rozdzielone znakiem alternatywy |. Pojedynczy wpis ma posta´c A-B+C, gdzie A reprezentuje sÃlowo znajdujace sie, z lewej strony wyrazu, a C sÃlowo ze strony prawej. Aktualny wyraz jest ,

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

118

oznaczony przez B. Elementy A i C sa, opcjonalne. Przy zapisywaniu informacji o kontek´scie pomija sie, znak $ stosowany w innych przypadkach przed nazwami zmiennych. PrzykÃlad D.3 ZaÃl´oz˙ my, z˙ e rozpoznajemy sekwencje zÃlo˙zone z dw´och cyfr, przy czym je˙zeli pierwsza z nich jest nieparzysta, to druga jest parzysta i odwrotnie, je˙zeli pierwsza jest parzysta, to druga nie. W takim przypadku plik z opisem gramatyki zadania mo˙ze mie´c posta´c: $odd_digit = one|three|five|seven|nine; $even_digit = two|four|six|eight|zero; ( > )

Opis gramatyki zadania z wykorzystaniem wyra˙zenia regularnego jest wygodny dla u˙zytkownika i pozwala na zapis nawet bardzo zÃlo˙zonych struktur. Narzedzia , HTK wymagaja, jednak zapisu z wykorzystaniem specjalnego formatu HTK Standard Lattice Format (SLF), w kt´orym struktura ukÃladu rozpoznajacego zapisana , jest za pomoca, listy wezà l o ´ w i listy tranzycji mi edzy nimi. Opis gramatyki zada, , nia mo˙ze zosta´c przeksztaÃlcony do formatu SLF z wykorzystaniem wchodzacego w , skÃlad pakietu narzedzia HParse. Je˙ z eli zaà l o˙ z ymy, z ˙ e plik z przygotowanym opisem , gramatyki ma nazwe, grammar a wynikowy plik w formacie SLF ma nazywa´c sie, aco: word network, to konwersji dokonamy nastepuj , , HParse grammar word_network

D.2

Przygotowanie sÃlownika

Kolejnym krokiem jest przygotowanie pliku sÃlownika, kt´ory bedzie zawieraÃl wszyst, kie rozpoznawane wyrazy. Jest to plik tekstowy, w kt´orym ka˙zda linia opisuje pojedynczy wyraz i ma posta´c: word [output_symbol] pronunciation_probability hmm_1, hmm_2, ..., hmm_n gdzie: word jest opisywanym wyrazem, output symbol jest nazwa,, kt´ora bedzie , u˙zywana przy wy´swietlaniu wynik´ow, pronunciation probability przyjmuje warto´sci z przedziaÃlu (0, 1) i okre´sla jakie jest prawdopodobie´ nstwo, z˙ e opisywany wyraz jest modelowany za pomoca, zestawu modeli o nazwach hmm 1, ... hmm n. W og´olnym przypadku dany wyraz mo˙ze by´c wymawiany na wiele sposob´ow i wtedy wpisujemy go do sÃlownika wielokrotnie z innym zestawem modeli i odpowiednim prawdopodobie´ nstwem wystapienia. To samo dotyczy gest´ow, kt´ore moga, , przecie˙z by´c wykonywane na wiele sposob´ow. W przypadku sygnaÃlu mowy jeden model Markowa mo˙ze odpowiada´c pojedynczej gÃlosce i dlatego w opisie sÃlowa mo˙ze pojawi´c sie, wiecej ni˙z jeden HMM. ,

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

119

Output symbol i pronunciation probability sa, parametrami opcjonalnymi. Je˙zeli output symbol nie wystapi w opisie danego wyrazu, to u˙zywana jest nazwa , wpisana na poczatku odpowiadaj acej mu linii w pliku sÃlownika. Mo˙zna tak˙ze u˙zy´c , , pustych nawias´ow [] i wtedy nazwa danego wyrazu w og´ole nie pojawi sie, podczas wy´swietlania wynik´ow. Jest to przydatne w przypadku modeli przej´s´c pomiedzy , wyrazami, kt´ore musza, by´c tak˙ze umieszczane w pliku sÃlownika, ale nie powinny pojawia´c sie, wy´swietlana rozpoznana sekwencja wyraz´ow. , gdy bedzie , W przykÃladach D.1-D.3 plik sÃlownika m´ogÃlby wyglada´ c nastepuj aco: , , , one [jeden] hmm_1 two [dwa] hmm_2 three [trzy] hmm_3 four [cztery] hmm_4 five [piec] hmm_5 six [szesc] hmm_6 seven [siedem] hmm_7 eight [osiem] hmm_8 nine [dziewiec] hmm_9 zero [zero] hmm_0 Wtedy przy wy´swietlaniu wynik´ow rozpoznawane cyfry bed , a, wypisywane w jezyku , polskim. Modelom Markowa odpowiadajacym poszczeg´ o lnym cyfrom nadano nazwy , hmm 1, hmm 2, ..., hmm 0.

D.3

Przygotowanie modeli

Kolejnym krokiem jest przygotowanie modeli. Dla przykÃlad´ow D.1-D.3 modele te musza, nazywa´c sie, hmm 1, hmm 2, ..., hmm 0, tak jak to zdefiniowano w pliku sÃlownika i musza, by´c zapisane w plikach odpowiednio: hmm 1.hmm, hmm 2.hmm, ..., hmm 0.hmm. Poni˙zej pokazano zawarto´s´c pliku hmm 1.hmm, w kt´orym zdefiniowano model HMM z czterema stanami, przy czym stan pierwszy i ostatni sa, nieemitujace. Jest to model , z obserwacja, ciagà orym funkcja gesto´ sci prawdopodobie´ nstwa obserwacji w , la, , w kt´ , stanie emitujacym opisana jest za pomoca, rozkÃladu normalnego. Przyjeto, z˙ e wektor , , obserwacji zÃlo˙zony jest z czterech element´ow. ~h "hmm_1" 4 4 2 4 1.0 1.0 1.0 1.0 4 1.0 1.0 1.0 1.0 3 4

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

120

1.0 1.0 1.0 1.0 4 1.0 1.0 1.0 1.0 4 0.0 0.5 0.5 0.0 0.0 0.3 0.4 0.3 0.0 0.0 0.5 0.5 0.0 0.0 0.0 0.0 Definicja modelu zaczyna sie, od znak´ow ~ h i nazwy modelu. Nastepnie pojawia sie, , znacznik , kt´oremu odpowiada umieszczany na ko´ ncu definicji znacznik . Linia 4 informuje, z˙ e wektor cech skÃlada sie, z czterech element´ow i z˙ e moga, to by´c dowolne parametry zdefiniowane przez u˙zytkownika, a nie tylko warto´sci specyficzne dla przetwarzania sygnaÃlu mowy (znacznik ). Kolejna linia 4 okre´sla liczbe, stan´ow ukrytego modelu Markowa. Po niej nastepuj a, definicje emitujacych stan´ow modelu. W przedstawionym przykÃladzie , , sa, to stany 2 i 3. Opis stanu rozpoczyna sie, od znacznika , po kt´orym podaje sie, numer stanu. Nastepnie umieszcza sie, opis funkcji gesto´ sci prawdopodobie´ nstwa , , obserwacji w danym stanie, kt´ora w naszym przypadku okre´slona jest poprzez podanie warto´sci ´srednich i wariancji. Warto´sci ´srednie i wariancje wprowadza sie, w postaci oddzielonych spacjami liczb i poprzedza sie, je odpowiednio znacznikiem lub , po kt´orym nastepuje liczba warto´sci. Warto´sci ´srednie i wa, riancje zostana, ustalone podczas uczenia, dlatego w trakcie tworzenia modelu mo˙zna wpisywa´c dowolne, niezerowe liczby. Liczby te nie bed sci , a, traktowane jako warto´ poczatkowe podczas uczenia. Po opisaniu wszystkich stan´ o w emituj acych podaje , , sie, macierz prawdopodobie´ nstw przej´s´c poprzedzona, znacznikiem i liczba, okre´slajac ow, element umieszczony , a, jej rozmiar. W zapisie macierzy tranzycji stan´ w wierszu j i kolumnie i okre´sla, jakie jest prawdopodobie´ nstwo przej´scia ze stanu i do j. Topologie modelu okre´sla sie, poprzez wpisywanie niezerowych warto´sci w miejscach odpowiadajacych dozwolonym przej´sciom pomiedzy stanami. Sumy warto´sci , , w poszczeg´olnych wierszach macierzy musza, by´c r´owne 1, z wyjatkiem ostatniego , wiersza, w kt´orym nale˙zy wpisa´c warto´sci zerowe. W przypadku, gdy funkcja gesto´ sci prawdopodobie´ nstwa obserwacji w danym , stanie jest suma, kilku rozkÃlad´ow normalnych, opis stanu jest bardziej zÃlo˙zony. Poni˙zej zamieszczono przykÃlad opisu stanu 2, w kt´orym funkcja gesto´ sci prawdopo, dobie´ nstwa obserwacji jest suma, dw´och rozkÃlad´ow normalnych, pierwszego z waga, 0.4 a drugiego z waga, 0.6. 2 2 1 0.4 4 1.0 1.0 1.0 1.0 4 1.0 1.0 1.0 1.0 2 0.6

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

121

4 1.0 1.0 1.0 1.0 4 1.0 1.0 1.0 1.0 W linii rozpoczynajacej opis stanu pojawia sie, dodatkowy znacznik , , liczbe, rozkÃlad´ow normalnych (naszym przypo kt´orym nastepuje liczba okre´slajaca , , padku jest to 2). Warto´sci ´srednie i wariancje dla poszczeg´olnych rozkÃlad´ow, poprzedzone sa, liniami zawierajacymi znacznik , po kt´orym nastepuje numer , , rozkÃladu (numeracja rozpoczyna sie, od 1) i warto´s´c wagi. Wagi moga, przyjmowa´c dowolne dodatnie warto´sci, ale ich suma w obrebie jednego stanu musi by´c r´owna 1. , W przypadku, gdy konieczne jest podanie peÃlnej macierzy kowariancji, opis stanu mo˙ze wyglada´ c nastepuj aco: , , , 2 4 1.0 1.0 1.0 1.0 4 1.0 0.1 0.0 0.0 1.0 0.2 0.0 1.0 0.1 1.0 W miejsce znacznika wpisujemy teraz znacznik i po nim rozmiar macierzy. W nastepnych liniach wpisujemy macierz odwrotna, do macierzy , kowariancji. Poniewa˙z macierz kowariancji jest symetryczna, wpisujemy tylko jej cze´ c zaczynajac zdym wierszu. , od elementu diagonalnego w ka˙ , s´ Zamieszczone przykÃlady pokazuja, tylko cze´ s c mo˙zliwo´sci pakietu HTK, kt´ory , ´ pozwala m.in. tak˙ze na budowanie modeli z wyj´sciem dyskretnym. Kompletny opis dostepnego w pakiecie jezyka do konstruowania modeli Markowa r´oz˙ nych typ´ow , , mo˙zna znale´z´c w pracy [81].

D.4

Przygotowanie danych

W pakiecie HTK plik z danymi zawiera nagÃl´owek i nastepuj ace po nim sekwencje , , wektor´ow cech. NagÃl´owek ma 12 bajt´ow i skÃlada sie, z nastepuj acych p´ol: , , nSamples - dÃlugo´s´c sekwencji (liczba wektor´ow w sekwencji) (4 bajty), sampPeriod - okres pr´obkowania w jednostkach 100 nanosekundowych (4 bajty), sampSize - liczba bajt´ow przypadajaca na jeden wektor (2 bajty), , parmKind - kod okre´slajacy rodzaj pr´ o bki (2 bajty). , Liczba 9 wpisana jako parmKind oznacza, z˙ e sa, to dane zdefiniowane przez u˙zytkownika. Po sekcji nagÃl´owka umieszczone sa, kolejno wektory danych. Warto´sci w wektorach sa, zapisane w postaciach 4-bajtowych.

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

122

HTK jest pakietem przystosowanym do rozpoznawania mowy i posiada narzedzia , umo˙zliwiajace nagranie sygnaà l u mowy, przetworzenie go w celu wyznaczenia typo, wych dla przetwarzania mowy wektor´ow cech i zapisania w odpowiednim formacie. W przypadku przetwarzania danych o innym charakterze, co miaÃlo miejsce w niniejszej pracy, konieczne jest napisanie wÃlasnych program´ow, kt´ore potrafia, zapisa´c otrzymane wektory cech w plikach o opisanym powy˙zej formacie.

D.5

Uczenie

Uczenie przygotowanych modeli Markowa mo˙zna przeprowadzi´c w dw´och etapach. W pierwszym etapie dokonuje sie, wstepnej estymacji parametr´ow z wykorzystaniem , metody Viterbiego. SÃlu˙zy do tego narzedzie HInit. PrzykÃladowe wywoÃlanie HInit , dla modelu hmm_1 mogÃloby wyglada´ c nastepuj aco: , , , HInit -S one_training_list hmm_1.hmm hmm_1_training_list zawiera liste, plik´ow z danymi, kt´ore zostana, u˙zyte do wstep, nej estymacji parametr´ow modelu hmm_1.hmm przygotowanego zgodnie ze wskaz´owkami w podrozdziale D.3. Je˙zeli zaÃlo˙zymy, z˙ e do uczenia tego modelu wykorzystamy dziesie´ ow cech, przygotowanych zgodnie z opisem w podrozdziale , c sekwencji wektor´ D.4 i zapisanych w plikach one_1.mfc, one_2.mfc, ..., one_10.mfc, to zawarto´s´c pliku one_training_list powinna by´c nastepuj aca: , , one_1.mfc one_2.mfc one_3.mfc one_4.mfc one_5.mfc one_6.mfc one_7.mfc one_8.mfc one_9.mfc one_10.mfc Po uczeniu wstepnym przeprowadza sie, reestymacje, parametr´ow z wykorzystaniem , metody Bauma-Welcha. W przypadku rozpoznawania pojedynczych gest´ow nale˙zy u˙zy´c narzedzia HRest. PrzykÃladowe wywoÃlanie dla modelu hmm_1 mo˙ze mie´c posta´c: , HRest -S one_training_list hmm_1 gdzie hmm_1 jest plikiem z definicja, modelu Markowa po wstepnej estymacji para, metr´ow modelu zapisanych w pliku hmm_1.hmm. W przypadku rozpoznawania sekwencji gest´ow, uczenie odbywa sie, z wykorzystaniem embedded training. SÃlu˙zy do tego program HERest. Poni˙zej przedstawiono wywoÃlanie programu dla przykÃladu D.2. HERest training_sentences_list -I training_sentences_structures hmms_list

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

123

Plik training_sentences_list zawiera liste, plik´ow z sekwencjami wektor´ow cech odpowiadajacymi wszystkim zdaniom ze zbioru uczacego. W przypadku embedded , , tranining modele uczone sa, jednocze´snie i nie jest wymagana segmentacja poszczeg´olnych zda´ n na pojedyncze wyrazy. Konieczna jest jedynie informacja o tym, z jakich wyraz´ow skÃlada sie, zdanie i w jakiej kolejno´sci te wyrazy wystepuj a., Infor, macja ta zawarta jest w pliku training_sentences_structures. Plik hmms_list zawiera liste, nazw wszystkich modeli Markowa odpowiadajacych pojedynczym wy, razom. ZaÃl´oz˙ my, z˙ e dla przykÃladu D.2 uczenie embedded training odbywa sie, z wykorzystaniem m. in. sekwencji: 123, 23, 321, zapisanych w plikach odpowiednio: one_two_three.mfc, two_three.mfc i three_two_one.mfc. Odpowiadajacy tym , sekwencjom fragment pliku training_sentences_list przedstawiono poni˙zej: one_two_three.mfc two_three.mfc three_two_one.mfc Fragment pliku training_sentences_structures powinien by´c nastepuj acy: , , #!MLF!# "one_two_three.lab" one two three . "two_three.lab" two three . "three_two_one.lab" three two one . Plik ten rozpoczyna sie, od znak´ow #!MLF!#, po kt´orych nastepuj a,, rozdzielone zna, kiem ’.’ definicje struktury poszczeg´olnych sekwencji ze zbioru uczacego. Ka˙zda , struktura opisana jest poprzez podanie nazwy pliku z rozszerzeniem lab zamiast mfc i nastepnie listy wyraz´ow wchodzacych w skÃlad danej sekwencji. , , Dla przykÃladu D.2 Plik hmms_list powinien zawiera´c liste, modeli odpowiadajacych , poszczeg´olnym cyfrom: hmm_1 hmm_2 hmm_3 hmm_4 hmm_5 hmm_6

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

124

hmm_7 hmm_8 hmm_9 hmm_0 Wynikiem dziaÃlania skrypt´ow HRest i HERest sa, uaktualnione pliki z definicjami wyuczonych HMM (w naszym przykÃladzie hmm_1, hmm_2, ..., hmm_0).

D.6

Testowanie i weryfikacja wynik´ ow

Rozpoznawanie wykonywane jest z wykorzystaniem algorytmu Viterbiego. SÃlu˙zy do tego skrypt HVite. Dla przykÃlad´ow D.1 - D.3 wywoÃlanie skryptu mo˙ze mie´c posta´c: HVite -i wyniki.mlf -I testing_sentences_structures -w word_network -H newMacros -S testing_data_list dictionary hmms_list gdzie: hmms_list jest lista, ukrytych modeli Markowa, dictionary jest plikiem sÃlownika, word_network jest plikiem z definicja, struktury modeli utworzonym z pliku z definicja, gramatyki zadania za pomoca, skryptu HParse, testing_data_list zawiera liste, plik´ow z sekwencjami wektor´ow cech odpowiadajacymi zdaniom ze , zbioru testowego. Opis struktury zda´ n wykorzystanych w testowaniu zawarty jest w pliku testing_sentences_structures. Format tego pliku jest analogiczny jak format pliku training_sentences_structures, opisany w podrozdziale D.5. Plik wyniki.mlf zawiera wyniki rozpoznawania zapisane z wykorzystaniem takiego samego formatu jak plik testing_sentences_structures. W celu okre´slenia skuteczno´sci rozpoznawania nale˙zy por´owna´c pliki wyniki.mlf i testing_sentences_structures. SÃlu˙zy do tego skrypt HResults. Jego wywoÃlanie mo˙ze mie´c posta´c: HResults -t -I testing_sentences_structures words_list wyniki.mlf gdzie: words_list jest lista, sÃl´ow. Poni˙zej przedstawiono przykÃladowa, statystyke, otrzymana, w wyniku wywoÃlania skryptu: ====================== HTK Results Analysis ======================= Date: Thu Jul 29 08:19:45 2004 Ref : testing_sentences_structures Rec : wyniki.mlf ------------------------ Overall Results -------------------------SENT: %Correct=90.29 [H=316, S=34, N=350] WORD: %Corr=92.93, Acc=92.53 [H=1394, D=37, S=69, I=6, N=1500] =================================================================== Linia rozpoczynajaca sie, od znacznika SENT: zawiera statystyke, dotyczac , , a, caÃlych zda´ n. Po sÃlowie %Correct umieszczona jest skuteczno´s´c rozpoznawania, kt´ora w tym przypadku wynosi 90.29%. Nastepnie w nawiasie kwadratowym podane sa, sta, tystyki liczbowe. H=316 oznacza liczbe, sentencji rozpoznanych, S liczbe, sentencji

˙ D. PRZEWODNIK UZYTKOWNIKA HTK

125

nierozpoznanych, za´s N liczbe, wszystkich zda´ n w zbiorze wykorzystanym do testowania. Skuteczno´s´c rozpoznawania okre´slona jest nastepuj aco: , , %Correct =

H 100% N

(D.1)

Linia rozpoczynajaca sie, od znacznika WORD: zawiera statystyki dotyczace pojedyn, , czych sÃl´ow. Po sÃlowie %Corr umieszczona jest skuteczno´s´c rozpoznawania sÃl´ow, nastepnie dokÃladno´s´c rozpoznawania i umieszczone w nawiasach kwadratowych sta, tystyki liczbowe. H oznacza teraz liczbe, wyraz´ow rozpoznanych poprawnie, D oznacza liczbe, wyraz´ow usunietych z rozpoznawanych zda´ n, S liczba, wyraz´ow zastapionych , , innymi, I liczbe, wyraz´ow wstawionych do rozpoznawanych zda´ n i N Ãlaczn a, liczbe, , wyraz´ow wchodzacych w skÃlad zda´ n. DokÃladno´s´c rozpoznawania wyraz´ow okre´slona , jest nastepuj aco. , , H −I Acc = 100% (D.2) N W niniejszym dodatku pokazano tylko niewielka, cze´ c mo˙zliwo´sci pakietu HTK. , s´ Opisywane skrypty maja, liczne przeÃlaczniki i parametry sterujace oraz moga, by´c , , wywoÃlywane na wiele r´oz˙ nych sposob´ow. PeÃlna, dokumentacje, pakietu mo˙zna znale´z´c w pracy [81].

Dodatek E Rozpoznawane wyrazy i zdania

Tab. E.1. Rozpoznawane wyrazy i ich zapis gestograficzny lp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

wyraz analiza angina aparat apteka audiogram bada´c bezpÃlatny bole´c by´c chcie´c chory codziennie czu´c czy do dokÃladny du˙zo dzisiaj gardÃlo gdzie gÃlowa goraczka , grypa i ile inny ja kaszle´c katar kosztowa´c krew kropla

gestogram LH:25k.PH:25k # XII\II\VII
I k s t k t, k k k k k k k t k k k t, k k k s k t t, k s k k k k k t k k k

II + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

III + + + + + + + + + + + + + + + + + + +

E. ROZPOZNAWANE WYRAZY I ZDANIA lp 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

wyraz krople lekarstwo lekarz le˙ze´c list Ãl´oz˙ ko mie´c mnie m´ ozg musie´c na natychmiast nie o odpoczywa´c okulary opatrunek operacja opony otrzyma´c paczka pali´c pan pielegniarka , pisa´c pÃlaci´c pÃluca po pobieranie poczta poczt´owka pogotowie

65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85

p´ oj´s´c pokaza´c polecony poÃlo˙zy´c potrzebny prosi´c prze´swietlenie przeziebiony , przyjmowa´c przyj´s´c rachunek ratunek recepta rodzinny rozebra´c sie, skierowanie sÃluch sÃlysze´c szpital tabletka

gestogram PX:23k/LOm:53k # P:II # PP:73tpg PU:38t+ # III & LB:37klg..PB:37kpg # III PZ:78tpd+ # XVIII\XI # PZ:37tppd # XII\III\II # PZ:21kpg PU:13k/LBk:13k # P:II+ LB:51kl..PBz:58kp # P:VI # PZ:45kp PBz:73kp|LA:78k # P:IV\VI+” L5:13klld...P5:13kppd # I\VIII≥! # LA:13k.PA:13k PA:53k)/LBk:13k # P:IX\VI- II + + + + + + + + + + + + + +

Oznaczenia: I - miejsce wykonywania znaku (t - twarz, s - szyja, k - klatka piersiowa), II - znak dynamiczny (+) bad´ , z statyczny (-), III - znak dwureczny (+) b ad´ (-). , z jednoreczny , ,

III + + + + + + + + +

E. ROZPOZNAWANE WYRAZY I ZDANIA Tab. E.2. Rozpoznawane zdania lp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

zdanie Boli mnie gardÃlo. [ bole´c ][ mnie ][ gardÃlo ] Boli mnie gÃlowa. [ bole´c ][ mnie ][ gÃlowa ] Boli mnie zab. , [ bole´c ][ mnie ][ zab , ] Boli mnie z˙ oÃladek. , [ bole´c ][ mnie ][ z˙ oÃladek ] , Jestem chory. [ by´c ][ chory ] Chce, otrzymac list. [ chcie´c ][ otrzyma´c ][ list ] Chce, otrzyma´c paczke. , [ chcie´c ][ otrzyma´c ][ paczka ] Chce, zapÃlaci´c rachunek. [ chcie´c ][ pÃlaci´c ][ rachunek ] Chce, wysÃla´c list. [ chcie´c ][ wysyÃla´c ][ list ] Chce, wysÃlac paczke. , [ chcie´c ][ wysyÃla´c ][ paczka ] Chce, wysÃla´c poczt´owke. , [ chcie´c ][ wysyÃla´c ][ poczt´ owka ] Czy dzisiaj przyjmuje lekarz rodzinny? [ czy ][ dzisiaj ][ przyjmowa´c ][ lekarz ][ rodzinny ] Czy potrzebne jest zwolnienie lekarskie? [ czy ][ potrzebny ][ by´c ][ zwolnienie ][ lekarz ] Czy przyjmuje inny lekarz w zastepstwie? , [ czy ][ przyjmowa´c ][ inny ][ lekarz ][ w ][ zastepstwo ] , Czy to lekarstwo jest bezpÃlatne? [ czy ][ ten ][ lekarstwo ][ by´c ][ bezpÃlatny ] Ile kosztuje wysÃlanie listu? [ ile ][ kosztowa´c ][ wysyÃla´c ][ list ] Ile kosztuje wysÃlanie paczki? [ ile ][ kosztowa´c ][ wysyÃla´c ][ paczka ] Ile kosztuje wysÃlanie poczt´owki? [ ile ][ kosztowa´c ][ wysyÃla´c ][ poczt´ owka ] Ile kosztuje znaczek? [ ile ][ kosztowa´c ][ znaczek ] Ja nie sÃlysze, po chorobi zapalenia opon m´ozgowych. [ ja ][ nie ][ sÃlysze´c ][ po ][ chory ][ zapalenie ][ opony ] Mam goraczk e. , , [ mie´c ][ goraczka ] , Musi pan le˙zec i du˙zo odpoczywa´c. [ musie´c ][ pan ][ le˙ze´c ][ i ][ du˙zo ][ odpoczywa´c ] Pan jest chory. [ pan ][ byc ][ chory ] Pan jest chory na angine, i otrzymuje zwolnienie lekarskie. [ pan ][ by´c ][ chory ][ na ][ angina ][ i ][ otrzyma´c ][ zwolnienie ][ lekarz ] Pan jest chory na grype, i musi le˙ze´c w Ãl´oz˙ ku. [ pan ][ by´c ][ chory ][ na ][ grypa ][ i ][ musie´c ][ le˙ze´c ][ w ][ Ãl´ oz˙ ko ] Pan musi codziennie przychodzi´c do pielegniarki na zastrzyk. , [ pan ][ musie´c ][ codziennie ][ przyj´s´c ][ do ][ pielegniarka ][ na ][ zastrzyk ] , Pan musi p´oj´s´c do szpitala. [ pan ][ musie´c ][ p´ oj´s´c ][ do ][ szpital ]

129

E. ROZPOZNAWANE WYRAZY I ZDANIA lp 28 29 30 31 32 33 34 35

zdanie Wypisze, panu recepte. , [ pisa´c ][ pan ][ recepta ] Prosze, o skierowanie na badania. [ prosi´c ][ o ][ skierowanie ][ na ][ bada´c ] Prosze, p´oj´s´c do apteki. [ prosi´c ][ p´ oj´s´c ][ do ][ apteka ] Prosze, pokaza´c dokÃladnie gdzie pana boli. [ prosi´c ][ pokaza´c ][ dokÃladny ][ gdzie ][ pan ][ bole´c ] Prosze, wykona´c audiogram. [ prosi´c ][ wykona´c ][ audiogram ] Prosze, znaczek na list. [ prosi´c ][ znaczek ][ na ][ list ] Prosze, znaczek na poczt´owke. , [ prosi´c ][ znaczek ][ na ][ poczt´ owka ] ´ sie czuje. Zle , , [ ´zle ][ sie, ][ czu´c ]

130

Dodatek F Opis zawarto´ sci pÃlyty DVD ZaÃlaczony dysk DVD zawiera przykÃladowe wykonania sÃl´ow i zda´ n Polskiego Jezyka , , Miganego wykorzystywane w badaniach. Wyr´oz˙ niono cztery gÃl´owne foldery: Words, Sentences, Words_Image_Processing, Sentences_Image_Processing. W folderze Words zamieszczono po jednym przykÃladowym wykonaniu wszystkich 101 wykorzystywanych wyraz´ow, zapisanym w folderze o nazwie odpowiadajacej , wyrazowi. Ka˙zdy folder wyrazu zawiera folder color_left z sekwencja, obraz´ow kolorowych z kamery lewej, color_right z sekwencja, obraz´ow kolorowych z kamery prawej, gray_left z sekwencja, obraz´ow z poziomami szaro´sci z kamery lewej, gray_right z sekwencja, obraz´ow z poziomami szaro´sci z kamery prawej oraz plik *.mfc z sekwencja, wektora cech. W folderze Sentences zapisano po jednym przykÃladowym wykonaniu wszystkich 35 wykorzystywanych zda´ n. Folder podzielony jest na foldery o nazwach odpowiadajacych nazwom sekwencji w transkrypcji wykorzystywanej przy rozpoznawaniu. , Organizacja folderu sekwencji jest taka sama jak folderu wyrazu. Wszystkie obrazy wej´sciowe sa, zrektyfikowane. Strukture, pliku *.mfc om´owiono w dodatku D.4. Foldery Words_Image_Processing i Sentences_Image_Processing zawieraja, wszystkie obrazy po´srednie generowane w trakcie wyznaczania wektora cech, odpowiednio dla wybranych 15 wyraz´ow i wszystkich 35 zda´ n. Zapisane obrazy po´srednie to obrazy: prawdopodobie´ nstwa (folder probability), binarne (folder binary), po filtracji OC (folder morph), map dysparycji (folder disparity). DoÃlaczono tak˙ze ob, razy wej´sciowe z kamery lewej z zaznaczonymi obszarami rozpoznanymi jako twarz, dÃlo´ n prawa i dÃlo´ n lewa (folder segment). Wszystkie obrazy maja, rozdzielczo´s´c 320 x 240 i zapisane sa, w formacie bmp. Baza danych wizyjnych wykorzystywanych w niniejszej pracy jest dostepna na , stronie http://wizja.prz-rzeszow.pl/.

131

Literatura [1] S. Akyol and P. Alvarado. Finding Relevant Image Content for mobile Sign Language Recognition. Proc. IASTED Int. Conf. Signal Processing, Pattern Recognition and Application 48-52, 2001. [2] M. Assan, and K. Grobel. Video-Based Sign Language Recognition Using Hidden Markov Models. Proc. Gesture Workshop, 97-109, 1997. [3] B. Bauer, and K. F. Kraiss. Video-Based Sign Recognition Using SelfOrganizing Subunits. Proc. Int. Conf. Patter Recognition, vol.2, 434-437, 2002. [4] S. Birchfield, and C. Tomasi. Depth Discontinuities by Pixel-to-Pixel Stereo. Proceedings of the 1998 IEEE International Conference on Computer Vision, 1073-1080, Bombay, India, 1998. [5] H. J. Boehme, U. D. Braumann, A. Brakensiek, A. Corradini, M. Krabbes, H.-M. Gross, and User localisation for Visually-based Human-MachineInteraction. Proceedings of the 2nd Int. Conf. on Automatic Face and Gesture Recognition, 486-491, Nara, Japan 1998. [6] H. Bourlard, and S. Dupont. Subband-based speech recognition. Proc. of the Int. Conf. on Acoustics, Speech and Signal Processing (ICASSP’97), vol. 2., 1251-1254, 1997. [7] M. Z. Brown, D. Burschka, and G. D. Hager. Advances in Computational Stereo. IEEE Trans. PAMI, 25, 8, 2003, 993-1008. [8] S. B. Cho, and J. H. Kim. Multiple Network Fusion Using Fuzzy Logic. IEEE Trans. On Neural Networks, 6, 2, 497-501, 1995. [9] R. S. Malina. Komputerowa wizja. Metody interpretacji i identyfikacji obiekt´ow. Akademicka Oficyna Wydawnicza EXIT, Warszawa, 2005. [10] Y. Cui, and J. Weng. Appearance-Based Hand Sign Recognition from Intensity Image Sequences. Computer Vision Image Understanding, vol. 78, no. 2, 157176, 2000. [11] B. Cyganek. Komputerowe przetwarzanie obraz´ ow tr´ojwymiarowych. Akademicka Oficyna Wydawnicza EXIT, Warszawa, 2002.

132

LITERATURA

133

[12] Y. Dai, and Y. Nakano. Face-texture model based on SGLD and its application in face detection in a colour scene. Pattern Recognition, Vol.29, No.6, pp.10071017, 1996. [13] J. R. Deller, J. G. Proakis, and J. H. L. Hansen. DiscreteTtime Processing of Speech Signals. Macmillan Publ. Comp., New York, 1993. [14] M. Doma´ nski. Zaawansowane techniki kompresji obraz´ ow i sekwencji wizyjnych. Wyd. Politechniki Pozna´ nskiej, Pozna´ n, 2000. [15] W. Duch, J. Korbicz, L. Rutkowski, and R. Tadeusiewicz. Sieci Neuronowe. EXIT, Warszawa 2000. [16] R. O. Duda, P. E. Hart, and D. G. Stork. Pattern Classification. J. Wiley & Sons, INC., New York, 2001. [17] G. Fang, W. Gao, X. Chen, C. Wang, and J. Ma. Signer Independent Continuous Sign Language Recognition Based on SRN/HMM. Proc. Gesture Workshop, 76-85, 2001. [18] O. Faugeras. Digital color image processing within the framework of a human visual model. Acoustics, Speech, and Signal Processing, 27, 4, 380-393, 1979. [19] O. Faugeras, B. Hotz, H. Matthieu, T. Vieville, Z. Zhang, P. Fua, E. Theron, L. Moll, G. Berry, J. Vuillemin, P. Bertin, and C. Proy. Real Time CorrelationBased Stereo: Algorithm, Implementations and Applications. INRIA Technical Report 2013, 1993. [20] G. D. Jr. Forney. The Viterbi Algorithm. Proceedings of the IEEE, 61, 3, 268278, 1973. [21] K. Fukunaga. Introduction to statistical patern recognition. Acad. Press, New York 1972. [22] Z. Ghahramani. An Introduction to Hidden Markov Models and Bayesian Networks. Journal of Pattern Recognition and Artificial Intelligence, 15, 1, 9-42, 2001. [23] K. Grobel, and M. Assam. Isolated Sign Language Recognition Using Hiden Markov Models. Proc. of the IEEE Int. Conf. on SMC, 162–167, Orlando, 1997. ˙ [24] J. K. Hendzel. SÃlownik Polskiego Jezyka Miganego. Wydawnictwo Zakiel”, , Olsztyn, 2000. [25] J. L. Hernandez-Rebollar, N. Kyriakopoulos, and R. W. Lindeman. A New Instrumental Approach for Translating American Sign Language into Sound and Text. Proc. Int. Conf. Automatic Face and Gesture Recognition, 547-552, 2004.

LITERATURA

134

[26] E. J. Holden, and R. Owens. Visual Sign Language Recognition. Proc. Int. Workshop Theoretical Foundations of Computer Vision, 270-287, 2000. [27] C. L. Huang, and W. Y. Huang. Sign Language Recognition Using Model-Based tracking and a 3D Hopfield Neural Network. Machine Vision and Application, vol. 10, 292-307, 1998. [28] H. R. Hyler, and A. R. Weeks. The Pocket Handbook of Image Processing Algorithms in C. Prentice Hall, Englewood Cliffs, 1993. [29] K. Imagawa, S. Lu, and S. Igi. Color-Based Hand Tracking System for Sign Language Recognition. Proc. Int. Conf. Automatic Face and Gesture Recognition, 462-467, 1998. [30] K. Imagawa, H. Matsuo, R.-i. Taniguchi, D. Arita, S. Lu, and S. Igi. Recognition of Local Features for Camera-Based Sign Language Recognition System. Proc. Int. Conf. Pattern Recognition, 4, 849-853, 2000. [31] F. V. Jensen. Bayesian Networks and Decision Graphs. Springer, New York, 2001. [32] M. J. Jones, and J. M. Rehg. Statistical Color Models with Application to Skin Detection. Proc. of the 18th Conf. Computer Vision and Pattern Recognition, vol. 1., 274-280, Fort Collins, Colorado 1999. [33] M. W. Kadous. Machine Recognition ofAuslan Signs Using PowerGloves: Towards Large-Lexicon Recognition of Sign Language. Proc. Workshop Integration of Gestures in Language and Speech, 165-174, 1996. [34] T. Kapu´sci´ nski, J. Marnik, and M. Wysocki. Problemy rozpoznawania gest´ow wykonywanych rekami. Pomiary, Automatyka, Kontrola 8, 22-25, 1999. , [35] T. Kapu´sci´ nski, and M. Wysocki. Identyfikacja koloru sk´ory dÃloni w r´oz˙ nych przestrzeniach barw. Archiwum Informatyki Teoretycznej i Stosowanej, Tom 13, z. 1, 53-68, 2001. [36] T. Kapu´sci´ nski, J. Marnik, and M. Wysocki. Rozpoznawanie gest´ow rak , w ukÃladzie wizyjnym. Pomiary, Automatyka, Kontrola 1, 56-59, 2005. [37] T. Kapu´sci´ nski, and M. Wysocki . Ukryte modele Markowa i ich zastosowanie do rozpoznawania zdarze´ n na podstawie sekwencji wizyjnych. Pomiary Automatyka Kontrola, 9bis, 306-308, 2005. [38] T. Kapu´sci´ nski, and M. Wysocki. Recognition of Isolated Words of the Polish Sign Language. Proc. of the CORES’05, Computer Recognition Systems, Springer, Heidelberg, 697-704, 2005.

LITERATURA

135

[39] T. Kapu´sci´ nski, and M. Wysocki. Automatic Recognition of Signed Polish Expressions. Proc. of the 2nd Language & Technology Conference: Human Language Technologies as a Challenge for Computer Science and Linguistics, 261-264, Pozna´ n, Poland, 2005, zob. te˙z Archives of Control Sciences. Vol 15(II) 2005, No 3, 251-259. [40] S. Katagiri (Ed.). Handbook of neural networks for speech processing. Artech House, London, 2000. [41] T. Kobayashi, and S. Haruyama. Partly-Hidden Markov Model and Its Application to Gesture Recognition. Proc. Int. Conf. Acoustics, Speech and Signal Processing, vol. 4, 3081-3084, 1997. [42] K. Konoliege. Small Vision System: Hardware and Implementation. 8th International Symposium on Robotics Research, Japan, 1997. [43] M. Kurzy´ nski. Rozpoznawanie obraz´ ow - metody statystyczne. Oficyna Wyd. Politechniki WrocÃlawskiej, WrocÃlaw, 1997. [44] R. H. Liang, and M. Ouhyoung. A Real-Time Continuous Gesture Recognition System for Sign Language. Proc. Int. Conf. Automatic Face and Gesture Recognition, 558-565, 1998. [45] W. Malina, and M. Smiatacz. Metody cyfrowego przetwarzania obraz´ ow. Akademicka Oficyna Wydawnicza EXIT, Warszawa, 2005. [46] A. Marciniak, and J. Korbicz. Neuronowe sieci modularne (135-177) [w:] Sieci Neuronowe. Akad. Ofic. Wyd. Exit, W-wa, 2000, red. W. Duch, J. Korbicz, L. Rutkowski, R. Tadeusiewicz. [47] J. Marnik. Rozpoznawanie znak´ow Polskiego Alfabetu Palcowego z wykorzystaniem morfologii matematycznej i sieci neuronowych. Rozprawa doktorska. Akademia G´orniczo-Hutnicza, Krak´ow, 2002. [48] A. D. Marshall, and R. R. Martin. Computer Vision, Models and Inspection. World Scientific, London, 1993. [49] H. Matso, S. Igi, S. Lu, Y. Nagashima, Y. Takata, and T. Teshima. The Recognition Algorithm with Non-Contact for Japanese Sign Language Using Morphological Analysis. Proc. Gesture Workshop, 273-285, 1997. [50] K. Murakami, and H. Taguchi. Gesture Recognition Using Recurrent Neural Networks. Proc. SIGCHI Conf. Human Factors in Computing Systems, 237242, 1991. [51] M. Nieniewski. Morfologia matematyczna w przetwarzaniu obraz´ ow. Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1998. [52] M. Ostrowski. Informacja obrazowa. Wydawnictwa Naukowo-Techniczne, Warszawa, 1992.

LITERATURA

136

[53] N. Otsu. A threshold selection method from grey-level histograms. IEEE Trans. on systems, Man, and Cybernetics, SMC-8, No.1, pp. 62-66, 1979. [54] V. I. Pavlovic, R. Sharma, and T. S. Huang. Visual Interpretation of Hand Gestrures for Human-Computer Interaction: A Review. IEEE Trans. PAMI, 19, 7, 677–693, 1997. [55] L. R. Rabiner. A Tutorial on Hidden Markov Models and Selected Applications In Speech Recognition. Proceedings of the IEEE, 77, 2, 257–286, 1989. [56] R. Rosenfeld. Two Decades of Staristical Language Modeling: Where do we go from here? Proceedings of the IEEE, 88, 8, 1270-1278, 2002. [57] H. Sagawa, and M. Takeuchi. A Method for Recognizing a Sequence of Sign Language Words Represented in a Japanese Sign Language Sentence. Proc. Int. Conf. Automatic Face and Gesture Recognition, 434-439, 2000. [58] S. J. Sangwin, and R. E. N. Horne (Eds.). Colour Image Processing. Chapman and Hall, London, 1998. [59] J. Sherrah and S. Gong, Resolving Visual Uncertainty and Occlusion through Probabilistic Reasoning, Proc. British Machine Vision Conf., 252-261, 2000. [60] M. Sonka, V. Hlavac, and R. Boyle. Image Processing, Analysis and Machine Vision. Chapman & Hall, London 1994. [61] T. Starner, J. Weaver, and A. Pentland. Real-time American Sign Language Recognition Using Desk and Wearable Computer Based Video. IEEE Trans.PAMI, 20, 12, 1371–1375, 1998. [62] M. C. Su. A Fuzzy Rule-Based Approach to Spatio-Temporal Hand Gesture Recognition. IEEE Trans. Systems, Man, and Cybernetics, Part C: Application Rev., vol. 30, no. 2, 276-281, 2000. [63] N. Suszczanska, P. Szmal, and J. Francik. Translation Polish Text into Sign Language in the TGT System. Proc. of the 20th IASTED International Multiconference Applied Informatics, 282–287, Insbruck, 2002. [64] N. Suszczanska, and P. Szmal. Categorial grammar elements in the Thetos system’s parser. Proc. of the 2nd Language & Technology Conference: Human Language Technologies as a Challenge for Computer Science and Linguistics, 338-342, Pozna´ n, Poland, 2005. [65] B. Szczepankowski. Jezyk migany w szkole. Wydawnictwa Szkolne i Pedago, giczne, Warszawa, 1988. [66] B. Szczepankowski. NiesÃlyszacy-GÃ lusi-GÃluchoniemi. Wyr´ownywanie szans. , Wydawnictwa Szkolne i Pedagogiczne, Warszawa, 1999.

LITERATURA

137

[67] R. Tadeusiewicz. Systemy wizyjne robot´ ow przemysÃlowych. WNT, Warszawa, 1992. [68] S. Tamura, and S. Kawasaki. Recognition of Sign Language Motion Images. Pattern Recognition, vol. 21, no. 4, 343-353, 1998. [69] N. Tanibata, N. Shimada, and Y. Shirai. Extraction of Hand Features for Recognition of Sign Language Words. Proc. Int. Conf. Vision Interface, 391398, 2002. [70] J. C. Terrillon, A. Piplr, Y. Niwa, and K. Yamamoto. Robust Face Detection and Japanese Sign Language Hand Posture Recognition for Human-Computer Interaction in an Intelligent Room. Proc. Int. Conf. Vision Interface, 369-376, 2002. [71] S. Theodoridis, and K. Koutroumbas. Pattern Recognition. Acad. Press, London, 1999. [72] J. Triesch, and Ch. Von der Malsburg. A Gesture Interface for Human-Robot Interaction. Proc. of the 2nd Int. Conf. on Automatic Face and Gesture Recognition, 546-551, Nara, Japan 1998. [73] R. Y. Tsai. An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision. Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, 364–374, Miami Beach, 1986. [74] P. Vamplew, and A. Adams. Recognition of Sign Language Gestures Using Neural Networks. Australian J. Intelligence Information Processing Systems, vol. 5, no. 2, 94-102, 1998. [75] C. Vogler, and D. Metaxas. A framework for Recognizing the Simultaneous Aspects of American Sign Language. Computer vision and Image Understanding, 81, 358-384, 2001. [76] M. B. Waldron, and S. Kim. Isolated ASL Sign Recognition System for Deaf Persons. IEEE Trans. Rehabilitation Eng., vol. 3, no. 3, 261-271, 1995. [77] C. Wang, W. Gao, and S. Shan. An Approach Based on Phonemes to Large Vocabulary Chinese Sign Language Recognition. Proc. Int. Conf. Automatic Face and Gesture Recognition, 393-398, 2002. [78] J. Wu, and W. Gao. A Fast Sign Word Recognition Method for Chinese Sign Language. Proc. Int. Conf. Advances in Multimodal Interfaces, 599-606, 2000. [79] J. Yang, Y. Xu, and C. Chen. Human Action Learning via Hidden Markov Model. IEEE Trans. SMC, 27, 1, 34-44, 1997. [80] M.-H. Yang, N. Ahuja, and M. Tabb. Extraction of 2D Motion Trajectories and Its Application to Hand Gesture Recognition. IEEE Trans. Pattern Analysis Machine Intelligence, 24, 8, 1061-1074, 2002.

LITERATURA

138

[81] S. Young, and at al. The HTK Book. Microsoft Corporation, 2000. [82] J. Zieren, N. Unger, and S. Akyol. Hands Tracking from Frontal View for Vision-Based Gesture Recognition. Proc. 24th DAGM Symp, 531-539, 2002. [83] Declaration on the Rights of Disabled Persons: http://www.unhchr.ch/html/menu3/b/72.htm. [84] Europejska Karta SpoÃleczna: http://www.mgip.gov.pl/Dialog+Spoleczny/REGULACJE+PRAWNE/Europejska+Karta+Spoleczna.