Strukturální rozpoznávání 1
Strukturální rozpoznávání obsah hierarchický strukturální popis systém strukturálního rozpoznávání teorie gramatik volba popisu výběr primitiv výběr gramatiky syntaktická analýza inference gramatik inference kanonické regulární gramatiky inference kanonické gramatiky formálních derivací stochastické gramatiky vliv syntaktických deformací syntaktická analýza s opravou chyb 2
Metody rozpoznávání příznakové rozpoznávání vzor/obraz bod x = (x 1,..., x n ) v n-dimenzionálním příznakovém prostoru klasifikace rozdělení prostoru na části (1 část = 1 třída) při minimalizaci kriteriální funkce strukturální rozpoznávání Pavlidis: identifikace ideálního, podle kterého byl analyzovaný obraz stvořen obraz/vzor popsán pomocí primitiv a vztahů mezi nimi primitiva = základní popisné elementy rozpoznávání 1. klasifikace do tříd 2. popis obrazů pomocí jeho částí a vztahů mezi nimi 3
Hierarchický strukturální popis 4
Hierarchický strukturální popis obraz hierarchická struktura 5
Hierarchický strukturální popis příklad příklad primitiva hierarchický strukturální popis číslice devět 6
Hierarchický strukturální popis hierarchická strukturální informace = primitiva + syntaktická pravidla primitiva = minimální kvalitivní charakteristiky pravidla dekompozice = přípustné dekompozice složitých obrazů teorie formálních jazyků gramatika S BC C mn B DE E EE D lt E xyz co všechno generuje tato gramatika? 7
Systém strukturálního rozpoznávání 8
Strukturální rozpoznávání idea idea strukturálního rozpoznávání 1. detekce primitiv a vztahů mezi nimi 2. vytvoření reprezentace vzoru řetězec primitiv 3. syntaktická analýza řetězce vzor generován gramatikou? ANO strukturální popis vzoru klasifikační třídy 1 třída = 1 gramatika 9
Systém strukturálního rozpoznávání 10
Teorie gramatik 11
Teorie gramatik připomenutí (1) gramatika G= (V N, V T, S, P) V N... množina neterminálů V T... množina terminálů S... počáteční neterminál P... množina přepisovacích pravidel α β α, β (V N V T ) α obsahuje alespoň jeden neterminál gramatiky a strukturální popis terminály primitiva neterminály strukturálně jednodušší části vzoru/obrazu počáteční neterminál analyzovaný vzor 12
Teorie gramatik připomenutí (2) Chomského hierarchie bez omezení kontextové gramatiky: α 1 Aα 2 α 1 βα 2 A V N α 1, α 2, β (V N V T )* β λ bezkontextové gramatiky: A β A V N β (V N V T ) + regulární gramatiky: A αb, A α A, B V N α V T jazyk generovaný gramatikou G L(G) = {x x V* T :S * x} 13
Volba primitiv pro popis vzorů 14
Výběr primitiv (1) požadavky 1. požadovaný popis pomocí primitiv 2. snadná detekovatelnost a rozpoznatelnost primitiv ve vzorech příklad 1 odlišit rovnostranné trojúhelníky od ostatních obrazů primitiva x... horizontální jednotkový segment y... jednotkový segment se sklonem 120 z... jednotkový segment se sklonem -120 rovnostranné trojúhelníky L = {x n y n z n, n=1,2...} 15
Výběr primitiv (2) Freemanův řetězový kód popis čárových obrazců, obrysů,... segment oktalové číslo podle na sklonu segmentu výhody otáčení obrazu o 45 přičtení násobku oktalových čísel ke každému číslu řetězce umožňuje měření délek použití Freemanova kódu popis strukturálních vztahů v ručně psaných písmenech 16
Výběr primitiv (2) použití Freemanova řetězového kódu popis strukturálních vztahů v ručně psaných písmenech řetězec počáteční uzel koncový uzel 0110 Q R 222222 R S 00767665544 S R 7707 T S 17
Detekce primitiv detekce primitiv typicky se používají příznakové metody příklad: Giese analýza elektroencefalogramů (EEG) 100-sekundové záznamy aktivity mozku ve 4 kanálech segmentace křivky po sekundě úsek = primitivum v úseku extrahováno 17 příznaků dominantní frekvence, střední hodnota signálu v pásmu 0-4Hz, střední hodnota signálu v pásmu 5-7Hz,... shluková analýza zjištěno 7 tříd primitiv reprezentace EEG pomocí 4 řetězců po 100 primitivech 18
Výběr gramatiky 19
Výběr gramatiky (1) jednodimenzionální gramatiky čím složitější jazyk silnější vyjadřovací prostředek (+) složitější automat delší doba klasifikace (-) gramatiky typu 0 Turingův stroj halting problem kompromis: vyjadřovací síla jazyka efektivnost analýzy jazyka vícedimenzionální gramatiky pavučinové gramatiky generují orientované grafy (uzly = terminály) stromové gramatiky generují stromy 20
Výběr gramatiky (2) příklad pavučinové gramatiky G = ({A}, {a,b,c}, A, P) jazyk generovaný pavučinovou gramatikou? 21
Výběr gramatiky (3) příklad stromové gramatiky G = ({S, A, B}, {a,b,$}, S, P) vygenerované stromy 22
Syntaktická analýza 23
Syntaktická analýza (1) klasifikace do tříd ω 1,..., ω c třída ω i = gramatika G i řetězce generované G i = vzory třídy ω i předpoklad L(G i ) L(G k ) = Ø pro i k klasifikace neznámého vzoru x hledání gramatiky G i* : x L(G i* ) 24
Syntaktická analýza (2) regulární gramatika konstrukce konečného automatu snadná syntaktická analýza bezkontextová gramatika syntaktická analýza shora dolů nebo zdola nahoru kontextová gramatika velmi složité typicky náhrada kontextové gramatiky bezkontextové gramatiky s řízeným přepisováním 25
Syntaktická analýza (3) příklad L = { t n u n v n w n, n N } kontextový jazyk bezkontextová gramatika s řízeným přepisováním 26
Inference gramatik 27
Inference gramatik inference gramatik odvození gramatik na základě trénovacích dat vstup trénovací množina S t S t = S + S - = {y 1+,..., y t++ } {y 1-,..., y t-- } S + vzory patřící do L S vzory nepatřící do L gramatická inference 28
Inference gramatik odvozená gramatika G t kompatibilní pro každý y + S + y + L(G t ) pro každý y - S - y - L(G t ) množina S + strukturálně úplná každé pravidlo z neznámé zdrojové gramatiky použito při generování alespoň jednoho vzoru z S + automatická inference gramatik otevřený problém automatické odvození existuje pro nejjednodušší regulární a bezkontextové gramatiky obecná metoda není zatím známa 1. inference kanonické regulární gramatiky 2. inference kanonické gramatiky formálních derivací 29
Inference kanonické regulární gramatiky 30
Inference kanonické regulární gramatiky inference kanonické regulární gramatiky vstup: S + = {x 1,..., x t } výstup: regulární gramatika G C = (V NC, V TC, S, P C ) Krok 1 najít všechny různé terminály v S + vytvoří V TC Krok 2 pro každý vzor x i = a i1...a in (x i S + ) vytvořit pravidla S a i1 Z i1 Z i1 a i2 Z i2... Z i,n-2 a i,n-1 Z i,n-1 Z i,n-1 a in každé Z ij představuje nový neterminál 31
Inference kanonické regulární gramatiky příklad (1) regulární gramatika G... neznámá G = ({S,A,B,C}, {a,b}, S, P) pravidla S aa A a B b C ab S bb A as B bs C ba A bc B ac konečný automat této gramatiky G trénovací množina S + = {abab, bbaa, baba, aabb} S + strukturálně úplná 32
Inference kanonické regulární gramatiky příklad (2) odvozená kanonická gramatika G C = (V NC, V TC, S, P C ) V NC = {S, Z 1, Z 2, Z 3, Z 4, Z 5, Z 6, Z 7, Z 8, Z 9, Z 10, Z 11, Z 12 } V NC = {a,b} P C S az 1 Z 1 bz 2 S bz 4 Z 4 bz 5 S bz 7 Z 7 az 8 S az 10 Z 10 az 11 Z 2 az 3 Z 5 az 6 Z 8 bz 9 Z 11 bz 12 Z 3 b Z 6 a Z 9 a Z 12 b 33
Inference kanonické regulární gramatiky příklad (3) porovnání původní (neznámé) a odvozené gramatiky G G C obě popisují jiný jazyk L(G) nekonečný L(G C ) konečný generuje jen řetězce z trénovací množiny obecně platí L(G C ) = S + S + L(G) 34
Inference kanonické regulární gramatiky kanonická regulární gramatika velké množství neterminálů (-) některé neterminály ekvivalentní (-) nevíme ale které to jsou řešení hledat skupiny vzájemně ekvivalentních neterminálů skupinu nahradit jediným neterminálem redukce neterminálů a počtu pravidel generuje výhradně řetězce z S + a žádné jiné (-) syntaktická analýze odmítne vzory strukturálně podobné trénovacím vzorům gramatika neumí zobecňovat řešení syntaktická analýza s opravou chyb 35
Inference kanonické gramatiky formálních derivací 36
Inference kanonické gramatiky formálních derivací inference kanonické gramatiky formálních derivací jiný algoritmus odvození gramatiky formální derivace množiny řetězců A pro symbol a D λ A = A D a A = {x ax A, x V T *} vstup množina řetězců S + výstup gramatika G CD 37
Inference kanonické gramatiky formálních derivací algoritmus Krok 1 vytvoření množiny U = {U 2,..., U r } různých formálních derivací z S +, které nejsou rovny λ nebo Ø navíc do U přidána U 1 = D λ S + = S + Krok 2 vytvoření počátečního symbolu S = U 1 Krok 3 vytvoření množiny terminálů V T z trénovací množiny řetězců S + Krok 4 vytvoření množiny neterminálů V N = U Krok 5 vytvoření pravidel pro všechna a V T, U i,u k V N U i au k pokud D a U i = U k U i a pokud D a U i = {λ} 38
Inference kanonické gramatiky formálních derivací příklad (1) vytvořit gramatiku podle trénovací množiny S + S + = {abab, baba, aaabba, bbabab, aaabab, bbbaba} algoritmus inference kanonické regulární gramatiky gramatika G C 27 neterminálů! algoritmus kanonické gramatiky formálních derivací konstrukce gramatiky G CD po konstrukci 13 neterminálů 39
Inference kanonické gramatiky formálních derivací příklad (2) Krok 1 vytvoření množin formálních derivací D λ S + = S + = {abab, baba, aaabba, bbabab, aaabab, bbbaba} = U 1 D a U 1 = {bab, aabba, aabab} = U 2 D b U 1 = {aba, babab, bbaba} = U 3 D a U 2 = {abba, abab} = U 4 D a U 3 = {ba} = U 5 D b U 2 = {ab} = U 6 D b U 3 = {abab, baba} = U 7 D a U 4 = {bba, bab} = U 8 D b U 5 = {a} = U 9 D a U 6 = {b} = U 10 D a U 7 = {bab} = U 11 D b U 8 = {ba, ab} = U 12 D a U 12 = {b} = U 10 D b U 7 = {aba} = U 13 D a U 13 = {ba} = U 5 D b U 10 = {λ} D b U 12 = {a} = U 9 D a U 9 = {λ} D b U 11 = {ab} = U 6 40
Inference kanonické gramatiky formálních derivací příklad (3) Krok 2 počáteční symbol S = U 1 Krok 3 množina terminálů V T = {a, b} Krok 4 množina neterminálů V N = {S=U 1, U 2,..., U 13 } Krok 5 množina pravidel pro všechna a V T, U i,u k V N U i au k pokud D a U i = U k U i a pokud D a U i = {λ} S au 2 S bu 3 U 2 au 4 U 3 au 5 U 2 au 6 U 3 bu 7 U 4 au 8 U 5 bu 9 U 6 au 10 U 7 au 11 U 8 bu 12 U 7 bu 13 U 10 b U 9 a U 12 au 10 U 13 au 5 U 12 bu 9 U 11 bu 6 41
Inference kanonické gramatiky formálních derivací kanonická gramatika G CD formálních derivací generuje právě množinu S + obsahuje méně neterminálů než kanonická regulární gramatika množina odvozených gramatik nemusí obsahovat zdrojovou (neznámou) gramatiku 42
Inference gramatik shrnutí metod inference gramatik inference kanonické regulární gramatiky inference kanonické gramatiky formálních derivací gramatická inference založená na k- koncích řetězců využívá kanonické gramatiky formálních derivací inference gramatik s informátorem využívá dodatečných informací od člověka heuristické metody... 43
Stochastické gramatiky 44
Stochastické gramatiky problém v praxi vzor lze generovat gramatikami různých tříd L(G i ) L(G k ) Ø příčiny strukturální podobnost vzorů z různých tříd šum nepřesnost ve předzpracování (detekce primitiv,...) nepřesnost při konstrukci gramatik stochastické gramatiky G= (V N, V T, S, P) přepisovací pravidla p α ik β i α i, β ik (V N V T ) α i obsahuje alespoň jeden neterminál p ik... pravděpodobnost spojená s aplikací pravidla 0 pik 1 pik = 1 k ik pravď. odvození řetězce = součin pravď. použitých pravidel v odvození 45
Stochastické gramatiky příklad příklad stochastická gramatika G = ({S,A,B}, {a,b}, S, P) přepisovací pravidla S 1 aa A 0.7 bb A 0.3 a B 0.4 b B 0.6 as pravděpodobnost odvození řetězce abaabb S aa abb abas abaaa abaabb abaabb p(abaabb) = 1 0,7 0,6 1 0,7 0,4 = 0,1176 46
Klasifikace pomocí stochastických gramatik klasifikace v určité třídě se vzory vyskytují častěji nechtěné řetězce malé pravděpodobnosti řešení problému nejednoznačnosti vybrán derivační strom s největší pravděpodobností stochastický klasifikátor 47
Stanovení pravděpodobností pravidel vstup trénovací množina vzorů S t = { (x 1,f 1 ),..., (x t,f t )} výstup (odhady) pravděpodobnosti jednotlivých pravidel postup pro bezkontextovou gramatiku bezkontextová gramatika G s pravidly p A ik γ i ik f L... pravď. výskytu vzoru x L ve třídě A i V N a γ k (V N V T ) + Krok 1 syntaktická analýza všech vzorů x L z S t Krok 2 pro vzor x L a pravidlo A i γ k zjištění absolutní četnosti N ik (x L ) pravidla při derivaci x L Krok 3 očekávaná absolutní četnost výskytu pravidla A i γ k při analýze celé S t n ik = f k x k S t N ik ( x ) k Krok 4 odhad pravděpodobnosti p ik pravidla A i γ k nik pˆ ik = n j ij 48
Stanovení pravděpodobností pravidel systém pro odvození pravděpodobností jednotlivých pravidel platí pˆ ik p ik pro S t L( G) 49
Stanovení pravděpodobností pravidel příklad (1) určit pravděpodobnosti stochastické gramatiky G = ({S,X}, {a,b,c,d}, S, P) přepisovací pravidla S p11 axs S p12 cx X p21 d X p22 bx trénovací data 100 vzorů vygenerovaných gramatikou 50
Stanovení pravděpodobností pravidel příklad (2) Krok 1 syntaktická analýza všech vzorů Krok 2 absolutní četnosti N ik (x L ) výskytu pravidel při odvození řetězců 51
Stanovení pravděpodobnosti pravidel příklad (3) Krok 3 absolutní četnosti výskytu pravidel při generování celé S t př. S axs 1 9 + 0 77 + 1 2 + 0 6 + 2 1 + 1 2 + 3 1 + 2 2 = 22 výsledné četnosti pravidel Krok 4 odhady pravděpodobností pˆ pˆ 11 21 22 = = 0.18 100 + 22 122 = = 0.9 122 + 14 100 pˆ 12= = 0.82 100 + 22 14 pˆ 12= = 0.1 122 + 14 52
Stochastická syntaktická analýza stochastická syntaktická analýza možnost volby z více pravidel volba pravidla s největší pravděpodobností snížení pravděpodobnosti chybné klasifikace existují speciální algoritmy na urychlení procesu stochastické syntaktické analýzy 53
Vliv syntaktických deformací 54
Řešení vlivu syntaktických deformací deformace ve struktuře vzorů vliv nepřesností/poruch vzor x reprezentován vzorem x (x x ) deformace řetězců vložení symbolu (terminálu) vynechání symbolu (terminálu) záměna symbolu míra podobnosti x a x editační vzdálenost problém při syntaktické analýze odmítnuty deformované vzory i když strukturálně podobné trénovacím vzorům řešení syntaktická analýza s opravou chyb 55
Syntaktická analýza s opravou chyb vstup gramatika G třídy deformovaný vzor y výstup deformace: vložení/vypuštění/záměna symbolu nalezení nejpravděpodobnější reprezentace (opravy) deformovaného vzoru y nalezení x L(G) kde edit(x,y) = min {edit(z,y), z L(G)} Krok 1 rozšíření gramatiky G o deformační pravidla G G generuje L(G) + deformované řetězce Krok 2 syntaktický analyzátor s opravou chyb pracuje s G hledání derivace deformovaného vzoru y s nejmenším počtem deformačních pravidel Krok 3 řetězec x (= nejlepší oprava y) se získá z derivace y vypuštěním deformačních pravidel 56
Konstrukce rozšířené gramatiky konstrukce rozšířené gramatiky G vstup: bezkontextová G = (V N, V T, S, P) výstup: rozšířená G = (V N, V T, S, P ) Krok 1 V T = V T Krok 2 V N = V N {S } {E b pro b V T } α i V N * b i V T v P pravidlo A α 0 b 1 α 1... b m α m do P se přidá pravidlo A α 0 E b1 α 1...E bm α m Krok 3 do P se přidají nová pravidla (D deformační pravidlo) S S (D) S Sa pro a V T E a a pro a V T (D) E a b pro a V T, b V T, b a (D) E a λ pro a V T (D) E a be a pro a V T, b V T 57
Syntaktická analýza s opravou chyb syntaktická analýza podle rozšířené gramatiky G více pravidel nejednoznačná deformovaný řetězec lze odvodit více způsoby klasické algoritmy syntaktické analýzy typicky neefektivní 58
Syntaktická analýza s opravou chyb praxe velká a dostatečně reprezentovaná trénovací množina trénovací množina musí obsahovat i zašuměná data stochastická gramatika dostatečně spolehlivě reprezentuje vzory syntaktická analýza bez opravy chyb trénovací množina málo reprezentativní gramatika necharakterizuje i deformované vzory syntaktická analýza bez opravy chyb nepřijme deformované vzory nutná syntaktická analýza s opravou chyb syntaktická analýza s opravou chyb rozpozná i zašuměné vzory (+) výrazně delší doba na zpracování (-) vylepšení paralelizace speciální algoritmy stochastické syntaktické analýzy 59