240 likes | 417 Views
Vyhledávání a porovnávání znaků českého znakového jazyka. Katedra softwarového inženýrství MFF UK kopecky@ksi.mff.cuni.cz. Co je český znakový jazyk?. Jazyk s přirozeným vývojem, kterým se domlouvají Neslyšící Pouze vizuální podoba znaků neexistuje žádná oficiální psaná podoba
E N D
Vyhledávání a porovnávání znaků českého znakového jazyka Katedra softwarového inženýrství MFF UK kopecky@ksi.mff.cuni.cz
Co je český znakový jazyk? • Jazyk s přirozeným vývojem, kterým se domlouvají Neslyšící • Pouze vizuální podoba znakůneexistuje žádná oficiální psaná podoba • Vlastní gramatika • Existuje znakovaná čeština • Překládá jednotlivá slova ČJ na znaky • Zachovává slovosled ČJ • Simultánní překlady zpráv, … Vyhledávání a porovnávání znaků ČZJ
Proč znaky porovnávat? • Původní motivace:obousměrný slovník ČJ ČZJ (z něj použity modely znaků v prezentaci) • Hledání znakůdle zapamatovaného fragmentu • Nalezení znaků s podobným znakováním,ale odlišným významem • Při výuce ZJ upozorní na možné záměny • Generování testů pro zkoušení • Do seznamu odpovědí lze snadno doplnit • Zaměnitelný znak s jiným významem • Zcela odlišný znak Vyhledávání a porovnávání znaků ČZJ
Podoba znaku ČZJ • Znaky jsou • Mnemonické • Pohyb vyjadřuje daný předmět nebo činnost • Idiomatické • Pohyb nevyjadřuje daný předmět ani činnost • Každý znak se skládá z • Výchozí pozice rukou • Pohybu rukou během znakování • Mimiky a pohybu těla (občas) Vyhledávání a porovnávání znaků ČZJ
Podoba znaku ČZJ – pokrač. • Podle zapojení rukou do znakovánílze znaky rozdělit do tří kategorií • Jednoruční • Znakovány pouze jednou (obvykle pravou) rukou • Druhá ruka se znakování neúčastní • Dvojruční – aktivní pouze jedna ruka • Druhá ruka zachovává svoji výchozí pozici • Dvojruční – aktivní obě ruce • Obě ruce se během znakování pohybují • Symetricky • Nesymetricky Vyhledávání a porovnávání znaků ČZJ
Jak znaky porovnávat? • Prvotním cílem je vzájemné porovnání dvou statických pozic rukous ohledem na • Vizuální podobu pozic • Podobnost by měla vyjadřovat pravděpodobnost záměny při vizuálním porovnání • Nezávislost na konkrétním znakovém jazyce • Použitelnost i pro ASL (American Sign Language) a další • Možnost získání potřebných údajů • Využití geometrických vlastností pozice Vyhledávání a porovnávání znaků ČZJ
Jak znaky porovnávat? – pokrač. • Pozice zápěstí v prostoru • Rozsah je od hlavy ke stehnům • Nejobvyklejší je neutrální znakovací prostorpřed středem trupu • Čím dále od sebe jsou výchozí pozice, tím méně je záměna pravděpodobná Vyhledávání a porovnávání znaků ČZJ
Jak znaky porovnávat? – pokrač. • Orientace dlaně v prostoru • Vektor normály dlaně p • Vektor záprstních kostí s • Čím větší je úhel mezi odpovídajícími si vektoryu dvojice znaků, tím méně je záměna pravdě-podobná Vyhledávání a porovnávání znaků ČZJ
Jak znaky porovnávat? – pokrač. • Pozice prstů na ruce • Stačí sledovat pozici konců prstů vzhledem k zápěstí v souřadnicích [p, s, ps] • Čím dále od sebe jsou výchozí pozice, tím méně je záměna pravděpodobná Vyhledávání a porovnávání znaků ČZJ
Jak znaky porovnávat? – pokrač. • U dvojručních znaků je vhodné sledovat směrnici spojnice mezi zápěstími obou rukou • Rozliší ruce nad sebou, vedle sebe, … • Čím větší je úhel mezi odpovídajícími si vektory u dvojice znaků, tím méně je záměna pravděpodobná Vyhledávání a porovnávání znaků ČZJ
Algoritmus porovnání pozic • Pro jednu ruku: • Pozice zápěstí X Dist(X1,X2) = |X1-X2| / max_možná_vzdálenost <0;1> • Směr normály dlaně p Dist(p1,p2) = (1 - Sim(p1,p2)) / 2 <0;1> • Směr záprstních kostí s Dist(s1,s2) = (1 - Sim(s1,s2)) / 2 <0;1> • Pozice prstů Y Dist(Y1,Y2) = |Y1-Y2| / max_možná_vzdálenost <0;1> • Celkem 8 charakteristik Vyhledávání a porovnávání znaků ČZJ
Algoritmus porovnání pozic • Pro obě ruce: • dR1, dR2 , dR3, dR41, dR42, dR43, dR44, dR45 • dL1, dL2 , dL3, dL41, dL42, dL43, dL44, dL45 • dH0 (rozdíl ve směru spojnic zápěstí obou rukou) • Nutno sloučit do jediného čísla(výsledné podobnosti znaků) • Vhodné je přidělit charakteristikám váhy • Ne každá je stejně snadno pohledem rozpoznatelná • Využito vzorců proFuzzy, MinMax, či Paice model Vyhledávání a porovnávání znaků ČZJ
Algoritmus porovnání pozic • Původní varianta ZSimx=Paice(p,1*(1-dx1), … vzdálenost zápěstí1*(1-dx2), … orientace dlaně 1*(1-dx3), … orientace záprst. Kostí 1*(1-dx41), … palec 1*(1-dx42), … ukazovák 1*(1-dx43), … 1*(1-dx44), … 1*(1-dx45) … malík) ZnakSim= 0.75 * min(ZSimR,ZSimL) + 0.25 * max(ZSimR,ZSimL) Vyhledávání a porovnávání znaků ČZJ
Algoritmus porovnání pozic • Nejvíce se osvědčilo ZSim=Paice(0.5,1*( 1-dx1), … vzdálenost zápěstí1/3*( 1-dx2), … orientace dlaně 1/3*( 1-dx3), … orientace záprst. kostí1/3*Paice(0.5, … tvar ruky jako celek 1*(1-dx41), … palec 1*(1-dx42), … ukazovák 1*(1-dx43), … 1*(1-dx44), … 1*(1-dx45) … malík)) ZnakSim= 0.75 * min(ZSimR,ZSimL) + 0.25 * max(ZSimR,ZSimL) Vyhledávání a porovnávání znaků ČZJ
Jak získat potřebná data? • Pomocí metody motion-capturing • Nákladné, speciální vybavení • Pomocí rozpoznávání obrazu • Složité • Převodem z některého z notačních zápisů • Využit převod slovníku znakdo notačního zápisu, navrženého a používaného na FF UK Praha • Snadná integrace se slovníkem • Nástroj pro zadávání dotazů (QBE) Vyhledávání a porovnávání znaků ČZJ
Model kostry • Kostra složená z 2 * (3 + 5 * 3) = 2 * 18 = 36kloubů a na ně navazujících kostí • Ramenní, loketní, …, klouby na prstech rukou • Každá kost má v modelu přiřazenu délku wi • 0.6, 0.5, 0.4, (0.3, 0.2, 0.1) • Každý kloub ki je otočen rotací rikolem dané osyoi o daný úhel i Vyhledávání a porovnávání znaků ČZJ
Model kostry • Směr k-té kosti (počítáno od ramene) • Výchozí směr v= (0;1;0) postupně rotován podlek – tého, …, prvního kloubu vk = r1(…rk-1(rk(v0))…) • Pozice Xk k – tého kloubu kostry v prostoru • Xk = X1+ k-1 wivi i=1 Vyhledávání a porovnávání znaků ČZJ
Výhody geometrického pojetí • Porovnání je na zápisu nezávislé • TELEFON: • KOLO: • Možnost adaptace např. na • Stokoe notaci pro ASL, nebo řadu jejích odvozenin. • SignWriting závisí na přesnosti dané notace • Notace nemusí být - a není - jednoznačná • Transformace rozdíly potlačí Vyhledávání a porovnávání znaků ČZJ
Funguje to? • Otestováno na cca 100 znacích • Speciálně na 40 znacích, tvořících 22 tzv. minimálních párů(některé ve více párech) • Znaky, lišící se (obvykle) jedinou charakteristikou • Výchozí pozicí • Orientací • Pohybem • Testovalo se, zda budou znaky, tvořící minimální pár nalezeny jako nejbližší Vyhledávání a porovnávání znaků ČZJ
Původní varianta Vyhledávání a porovnávání znaků ČZJ
Modifikované váhy Vyhledávání a porovnávání znaků ČZJ
(Po zohlednění pohybu) Vyhledávání a porovnávání znaků ČZJ
Další možný vývoj • Různé zápisy téhož znaku • Model výpočtu zvládá • MÁMA: • Páry znaků s protipohyby • Problém. Jeví se nepodobné,ačkoli mohou být vnímány shodně • SVOBODA: • MRÁZ: Vyhledávání a porovnávání znaků ČZJ
Závěr • Implementováno • Vyhledávání • Dle výchozí pozice • Dle pohybu • Zobrazování podobných znaků • Dle výchozí pozice • Dle pohybu • Analýza výjimekzměna parametrů • Co s protisměrnými pohyby? Vyhledávání a porovnávání znaků ČZJ