600 likes | 838 Views
RECUNOASTEREA FORM ELOR (1/2) PATTERN-URI SI CLASE DE PATTERN-URI RECUNOASTERE BAZATA PE METODE TEORETICE DE DECIZIE Potrivire ("matching") Clasificatori statistici optimi Retele neurale. Recunoasterea obiectelor / formelor ("pattern/object recognition"):
E N D
RECUNOASTEREA FORMELOR (1/2) PATTERN-URI SI CLASE DE PATTERN-URI RECUNOASTERE BAZATA PE METODE TEORETICE DE DECIZIE Potrivire ("matching") Clasificatori statistici optimi Retele neurale
Recunoasterea obiectelor / formelor ("pattern/object recognition"): -tehnici de teoria deciziei (pattern-uri descrise cu descriptori cantitativi: lungime, arie, textura); -tehnici structurale (pattern-uri descrise cu descriptori calitativi: descriptori relationali). Concept central: invatarea din esantioane!
PATTERN-URI SI CLASE DE PATTERN-URI -pattern ~ aranjament de descriptori (caracteristici); -clasa de pattern-uri = familie de pattern-uri cu anumite proprietati comune => clasele notate ω1 , ω2 , ... , ωW(W= numarul de clase); -recunoasterea de forme = asignarea formelor la clasele de care apartin. Reprezentari pentru forme: -vectori (pentru descriptori cantitativi); -siruri (pentru descriptori structurali); -arbori (pentru descriptori structurali). Reprezentare ca vector: xi= descriptorul i. Varianta: x = ( x1, x2,... , xn)T.
Exemplu: clasificarea a trei tipuri de flori de iris (Fisher, 1936) in functie de lungimile si latimile petalelor. Concluzie: separabilitatea claselor este puternic influentata de alegerea descriptorilor (problema selectiei caracteristicilor).
Exemplu: clasificarea unor forme cu zgomote (reprezentare prin semnatura => semnal 1-D),esantionare la valori specificate θ => vectorii de forma cu x1 = r(θ1), x2 = r(θ2), ... , xn = r(θn) => puncte in spatiul Euclidian n-dimensional (clasele ~ grupari de puncte "nori" in acest spatiu). Varianta: amplitudinile inlocuite cu primele n momente statistice pentru fiecare semnatura.
In anumite aplicatii: caracteristicile formelor sunt cel mai bine descrise prin relatii structurale. Exemplu: recunoasterea de amprente (proprietatile proeminentelor: terminare abrupta, unificare, segmente deconectate). => descriptori siruri (exemplu: descrierea formei in trepte prin ...ababababab...); => descriptori arbore (majoritatea schemelor de ordonare ierarhice). Exemplu: imagine din satelit (centrul orasului cu constructii aglomerate si zona rezidentiala inconjuratoare)=> descriere arbore:
RECUNOASTERE BAZATA PE METODE TEORETICE DE DECIZIE -utilizeaza functii de decizie (discriminante). Fie: x = ( x1, x2,... , xn)T vector de forma; W clase de forme:ω1 , ω2 , ... , ωW; => este necesar sa se gaseasca W functii de decizie d1(x), d2(x), ... , dW(x), cu proprietatea ca daca o forma x apartine clasei ωi , atunci di(x) > dj(x) j = 1, 2, ... , W; j ≠ i. Granita de decizie separand clasele ωi si ωj este data de valorile lui x pentru care: di(x) - dj(x) = 0 Pentru doua clase: o singura functie dij(x) = di(x) - dj(x) = 0: dij(x) >0 =>xЄ ωi dij(x) <0 =>xЄωj.
Potrivire ("matching") fiecare clasa ~ vector de forma prototip => forma necunoscuta asignata clasei celei mai apropiate (pe baza unei metrici predefinite). Clasificator de distanta minima prototipul fiecarei clase = vectorul medie a formelor clasei respective:
distanta Euclidiana ~ apropierea fata de o clasa => calcularea distantelor: Dj(x) = ║x - mj║ j = 1, 2, .. , W (unde ║a║ =(aTa)1/2 este noma euclidiana)=> xЄωi daca Di(x) minim. Selectarea distantei minime ~ evaluarea functiilor: dj(x) = xTmj – ½ mjTmjj = 1, 2, ... , W xЄωi daca di(x) maxim (~ functie de decizie). Granita de decizie intre clasele ωi si ωj : dij(x) = di(x) - dj(x) = xT (mi - mj ) – ½ (mi - mj ) T (mi - mj )= 0 (bisectoarea perpendiculara a segmentului unind mi si mj). Ex: n = 2 bisectoarea ~linie, n = 3 bisectoarea ~ plan, n > 3 bisectoarea ~ hiperplan.
Aplicatie. doua clase de forme ω1 si ω2 , cu vectorii medie m1 = (4.3, 1.3)T si m2 = (1.5, 0.3)T. Functiile de decizie: d1(x) = xTm1 – ½ m1Tm1 = 4.3 x1 + 1.3 x2 – 10.1 d2(x) = xTm2 – ½ m2Tm2 = 1.5 x1 + 0.3 x2 – 1.17 ecuatia granitei: d12(x) = d1(x) – d2(x) = 2.8 x1 + 1.0 x2 – 8.9 = 0 xЄ ω1=>d12(x) > 0, xЄ ω2=>d12(x) < 0
Aplicatie. Sistem de citire a caracterelor stilizate American Banker's Association E-13B (14 caractere, grid 9x7, cerneala magnetica). Caracterele scanate pe orizontala => semnal electric 1-D ~rata de crestere sau descrestere a ariei caracterului de sub capul de citire. Clasificator de distanta minima: se memoreaza valorile pentru fiecare forma de unda, fiecare set de esantioane reprezentand un vector prototip mj , j = 1, 2, ... , 14. Caracter necunoscut: scanat vector x=> xЄ ωjpentru: dj(x) = xTmj – ½ mjTmjj = 1, 2, ... , 14 maxim.
Potrivire prin corelatie -potrivirea unei subimagini w(x, y) de dimensiune JxK in cadrul unei imagini f(x, y) de dimensiune MxN. Corelatia dintre f(x, y) si w(x, y) este data de: pentru x = 0, 1, 2, ... , M-1 si y = 0, 1, 2, ... , N-1 (insumarea facuta peste regiunea de imagine unde w si f se suprapun).
Exemplu: originea lui f in coltul stanga-sus si originea lui w in centru. cmaxim => pozitia unde w se potriveste cel mai bine cu f.
Aplicatie. (a) imaginea f(x, y); (b) w(x, y); (c) coeficientul de corelatie afisat ca o imagine => valoarea maxima (cea mai luminoasa) ~ cea mai buna potrivire. a) b) c)
Clasificatori statistici optimi Fundamentare -probabilitatea ca o forma xЄ ωi= p(ωi /x); - pierdere Lij= decizia gresitaxЄ ωj, de fapt xЄ ωi -x poate sa apartina oricareia din cele W clase => pierderea medie prin asignarea lui x la clasa ωj(risc mediu conditional): Teoria probailitatilor:p(A/B) = [p(A)p(B/A)]/p(B) => p(x /ωk) =functia de densitate de probabilitate a formelor din clasa ωk ; P(ωk) = probabilitatea de aparitie a clasei ωk .
1/p(x) pozitiv si comun tuturor rj(x), j = 1, 2,... , Wse neglijeaza. calculeaza r1(x), r2(x), ..., rW(x) => xЄ ωicu ri(x) minim => pierderea medie totala minima. Clasificatorul care minimizeaza pierderea medie totala = clasificator Bayes. xasignat la clasa ωi , daca ri(x) < rj(x), pentru j = 1, 2,... , W, j ≠ i, adica: pentru toti j , j ≠ i. Pierderea pentru o decizie corecta este zero, iar pentru o decizie incorecta se atribuie o aceeasi valoare > 0 (ex. 1), functia de pierdere devine: Lij= 1 – δij unde δij = 1 pentru i = j si δij= 0 pentru i ≠ j=>
xasignat la clasa ωj daca pentru toate j≠i : sau echivalent Observatie: clasificatorul Bayes pentru o functie de pierdere 0-1 este chiar calculul functiilor de decizie de forma: xЄ ωjcu dj(x) maxim. Cea mai utilizata forma pentru p(x/ωj) = functia de densitate de probabilitate Gaussiana.
Clasificator Bayes pentru clase de forme Gaussiene Problema 1-D (n = 1), cu doua clase (W = 2), densitati Gaussiene, mediile m1 si m2, deviatiile standard σ1 si σ2. Functiile de decizie Bayes: (formele sunt scalari, notati cu x).
Functiile de densitate de probabilitate a celor doua clase: Granita = un singur punct x0, pentru care d1(x0) = d2(x0) . Daca P(ω1) = P(ω2) = ½ (cele doua clase au probabilitati egale de aparitie) => granita de decizie x0 pentru care p(x0/ω1) = p(x0/ω2) => intersectia celor doua functii de probabilitate. x>x0=> x Є ω1 x<x0=> x Є ω2
In cazul n-dimensional, densitatea Gaussiana a vectorilor in clasa j de forme: fiecare densitate complet specificata prin vectorul medie mj = Ej {x} si matricea de covarianta Cj = Ej {(x – mj)(x – mj)T} unde Ej~ valoarea asteptata a argumentului peste formele din clasa j; | Cj | = determinantul matricii Cj .
valorile asteptate ≈ valorile medii: (Nj= numarul de forme din clasa j). Matricea de covarianta: simetrica. -ckk= varianta elementului k din vectorii de forme; -cjk= covarianta lui xj si xk (0 pentru xj si xk necorelati).
Functia de decizie Bayes pentru clasa ωj : Forma exponentiala a densitatii Gaussiene => mai convenabil sa se lucreze cu logaritmul natural al functiei de decizie: (n/2)ln2π acelasi pentru toate clasele => se poate elimina: pentru j = 1, 2,... , W(functiile de decizie Bayes pentru clase de forme Gaussiene sub conditia unei functii de pierdere 0-1).
Daca toate matricile de covarianta sunt egale, Cj = C, pentru j = 1, 2,... , W : • functii de decizie liniare (hiperplanuri) pentru j = 1, 2,... , W. • In plus, daca C = I (matricea identitate) iar P(ωj) = 1/W pentru j = 1, 2,... , W : • functii de decizie pentru clasificatorul de distanta minima. • Concluzii. • 1) clasificatorul de distanta minima este optim in sensul Bayes daca: • -clasele de forme sunt Gaussiene; • -toate matricile de covarianta sunt egale cu matricea identitate; • -toate clasele au probabilitati egale de aparitie. • 2) clasele ~ hipersfere in spatiul n-dimensional, clasificatorul de distanta minima stabilind cate un hiperplan intre oricare doua clase (mediatoare pe segmentul unind centrele perechii de hipersfere). • 3) In doua dimensiuni clasele sunt cercuri, iar granita intre doua clase este o dreapta.
Matricile de covarianta egale, presupunand P(ω1) = P(ω2) = 1/2 => in care => functiile de decizie d1(x) = 4x1 – 1.5 d2(x) = -4x1 + 8x2 + 8x3 – 5.5 Suprafata de separare intre cele doua clase: d1(x) - d2(x) = 8x1 - 8x2 - 8x3 + 4 = 0
Aplicatii: in domeniul imaginilor luate din avion, satelit, statii spatiale cu scannere multispectrale (utilizarea pamanturilor, evidenta recoltelor, detectarea bolilor culturilor, evidenta padurilor, apelor, monitorizarea calitatii apelor, etc) => volum foarte mare de date =>pelucrare automata. Exemplu. Scanner multispectral, cu lungimi de unda in benzile 0.40-0.44, 0.58-0.62, 0.66-0.72, 0.80-1.00 μm (benzile violet, verde, rosu si infrarosu). O regiune patru imagini digitale (punct de pe sol ~ vector de forma x = (x1, x2, x3, x4)T, valorile de culori):
Clasificatorul Bayes pentru forme Gaussiene: estimarea vectorului medie si matricii de covarianta pentru fiecare clasa prin preluarea de date multispectrale pentru fiecare regiune de interes si utilizand aceste esantioane asemanator cu exemplul precedent. In continuare imagini achizitionate prelucrate cu acest clasificator => identifica zone de padure, lacuri, parcele agricole, etc.
Retele neurale -clasificatorul de distanta minima complet specificat prin vectorul medie din fiecare clasa; -clasificatorul Bayes pentru populatii Gaussiene complet specificat de vectorul medie si matricea de covarianta din fiecare clasa; -formele utilizate pentru estimarea acestor parametri = forme de antrenare; -set de astfel de forme din fiecare clasa =set de antrenare; -procesul in care un set de antrenare este utilizat pentru obtinerea functiilor de decizie = invatare ("learning") sau antrenare ("training"). Retea neurala = multitudine de elemente de calcul neliniare interconectate (neuroni). Retelele utilizate pentru dezvoltarea adaptiva a coeficientilor functiilor de decizie prin prezentarea succesiva a seturilor de forme de antrenare.
Perceptron pentru doua clase de forme Perceptronul cel mai simplu: invata o functie de decizie liniara care desparte doua seturi de antrenare.Schema (2 clase de forme):
Raspunsul = suma ponderata a intrarilor: ~ functie liniara de decizie in raport cu vectorii de forme (wi, i = 1, 2, ... ,n, n+1 ponderi): -d(x) > 0 => elementul de prag comuta la iesire pe +1 (~xЄ ω1); - d(x) < 0 => elementul de prag comuta la iesire pe -1 (~xЄ ω2); - d(x) = 0 => xЄ suprafata de separatie ω1 si ω2. (o singura functie de decizie pentru doua clase). Granita de decizie: hiperplan in spatiul n-dimensional de forme: -w1 wn : orientarea hiperplanului; -wn+1: departarea fata de origine; -wn+1 = 0 hiperplanul trece prin origine; -wj = 0 hiperplanul paralel cu axa xj.
Varianta de implementare: suma primilor n termeni si comparatie cu wn+1 , iesirea sistemului: Rezulta implementarea (nu apare intrarea pentru wn+1):
Alta formulare: -vectorul de forme marit cu o componenta egala cu 1, y = (y1, y2, ... , yn,1)T; -vectorul de ponderi w = (w1, w2, ... , wn, wn+1,) => functia de decizie: Indiferent de formulare, problema: gasirea lui w utilizand un set dat de antrenare de vectori de forma din fiecare din cele doua clase.
Algoritmi de antrenare 1) doua seturi de antrenare pentru doua clase separabile liniar si se doreste obtinerea vectorului de ponderi. Initial: vector de ponderi arbitrar w(1). La pasul k: -daca y(k)Єω1 si wT(k)y(k)≤0 inlocuieste w(k) cu: w(k+1) = w(k) + cy(k) c fiind un incremet pozitiv de corectie (deocamdata fix); -daca y(k)Єω2 si wT(k)y(k)≥0 inlocuieste w(k) cu: w(k+1) = w(k) - cy(k) altfel w(k) ramane nemodificat. Algoritmul se mai numeste regula de corectie cu increment fix. Convergenta algoritmului: cand intregul set de antrenare din ambele clase este trecut fara erori. Convergenta: numar finit de pasi daca cele doua seturi de antrenare sunt separabile liniar ("teorema de antrenare perceptron").
Exemplu: doua seturi de antrenare, fiecare cu doua forme. Algoritmul este convergent, caci seturile sunt liniar separabile. Vectorii de forme mariti: {(0,0,1)T, (0,1,1)T} Єω1 si {(1,0,1)T, (1,1,1)T} Єω2. Fie c = 1, w(1) = 0, pasii algoritmului:
Corectii au fost facute la pasii 1 si 3. Algoritmul reluat, etc => convergenta k = 14, w(14) = (-2,0,1)T => functia de decizie corespunzatoare d(y) = -2 y1 + 1. Revenind la spatiul de forme original, xi = yi si d(x) = -2 x1 + 1 (dreapta verticala din desen).
2) Clase neseparabile. In practica in majoritatea cazurilor clasele sunt neseparabile. Una dintre primele tehnici:regula delta, sau Widrow-Hoff sau regula delta LMS ("least-mean-square") pentru antrenarea perceptronilor: minimizeaza eroarea intre raspunsul actual si raspunsul dorit la fiecare pas de antrenare. Functie criteriu: J(w) = ½ (r - wTy)2 r este raspunsul dorit: -r = +1 daca y Є ω1; -r = -1 daca yЄ ω2. Taskul: ajustarea incrementala a lui w in directia gradientului negativ al lui J(w) pentru a cauta minimul acestei functii, care are loc cand r = wTy(clasificare corecta). w(k) = vectorul de ponderi la pasul iterativ k => algoritm de coborare a gradientului: (α>0 magnitudinea corectiei). Din ecuatia pentru J(w):
inlocuid in ecuatia precedenta: • w(k+1) = w(k) + α[r(k) - wT(k)y(k)]y(k) • cu w(1) ales arbitrar. • Modificarea vectorului de ponderi (def): • Δw = w(k+1) - w(k) • algoritmul de corectie delta: • Δw= αe(k)y(k) • unde • e(k) = r(k) - wT(k)y(k) • (eroarea produsa cu vectorul de ponderi w(k) cand este furnizata forma y(k)). • Schimbandw(k) cu w(k+1): • e(k) = r(k) - wT(k+1)y(k)
Modificarea erorii: • Δe(k) =[ r(k) - wT(k+1)y(k)] – [ r(k) - wT(k)y(k)]= • = - [wT(k+1) - wT(k)]y(k) = -ΔwTy(k) • dar Δw = αe(k)y(k) , deci: • Δe = -αe(k)yT (k)y(k) = -αe(k)║y(k)║ 2 • modificand ponderile eroarea se reduce cu un factor ║y(k)║ 2. • Pentru stabilitate: 0 < α < 2, practic 0.1 < α < 1.0. • Astfel, algoritmul reprezentat de ecuatia: • w(k+1) = w(k) + α[r(k) - wT(k)y(k)]y(k) • converge la o solutie care minimizeaza eroarea patratica medie peste formele unui set de antrenare. • Cei doi algoritmi: pot fi extinsi pentru mai multe clase si pentru functii de decizie neliniare.
Retele neurale multistrat cu alimentare inainte ("multilayer feedforward neural networks") Arhitectura de baza: niveluri de noduri de calcul identice structural (neuroni), a.i. iesirea fiecarui neuron de pe un strat (nivel) alimenteaza intrarea fiecarui neuron de pe stratul urmator. -numar de neuroni primul strat NA = n dimensiunea vectorilor de forme; -stratul de iesire (Q) numar de neuroni NQ = W numarul de clase de forme; -reteaua recunoaste xЄωi daca iesirea i a retelei este activa ("high") si toate celelalte iesiri sunt inactive ("low").
-functie de activare "sigmoida" limitatoare software (functie sigmoida = functie matematica cu grafic de forma S, exemplu: functia logistica P(t) = 1/(1+e-t)): (Ij, j = 1, 2, ... , NJ intrarea in elementul de activare al fiecarui nod in stratul J al retelei, θj offset si θo controleaza forma functiei sigmoide). -Ij > θj=> iesire "high“ (≈0.95); -Ij< θj=> iesire "low“(≈0.05).
Doua straturi succesive K si J (in aceasta ordine): intrarea in elementul de activare din fiecare nod j de pe stratul J: pentru j = 1, 2, ... , NJ , (NJ numarul de noduri de pe stratul J) unde wjk este ponderea modificand iesirea Ok a nodului k de pe stratul K inainte de a fi furnizata nodului j de pe stratul J.Iesirile de pe stratul K: Ok = hk (Ik) pentru k = 1, 2, ... , NK. => sunt necesari NJ x NK coeficienti + NJ coeficienti θj pentru a specifica complet nodurile de pe stratul J.
Substituind ecuatia lui Ij in ecuatia lui hj (Ij): (functia de activare) In timpul antrenarii: -adaptarea neuronilor in stratul de iesire: simplu!(se cunoaste iesirea dorita a fiecarui nod); -mai complicat: ajustarea ponderilor in straturile ascunse (adica toate celelalte straturi decat stratul de iesire).
Antrenare prin propagare inapoi. Initial: stratulde iesire. Eroarea patratica totala intre raspunsurile dorite rq si raspunsurile actuale corespunzatoare Oq ale nodurilor in stratul (de iesire) Q: (NQ= numarul de noduri in stratul de ieisire Q, ½ prin conventie in notatie pentru derivare ulterioara). Obiectivul: dezvoltarea unei reguli de antrenare (asemanatoare cu regula delta) care permite ajustarea ponderilor in fiecare dintre straturi cautand un minim al functiei de eroare EQ => derivarea partiala a erorii in raport cu ponderile: stratul P precede stratul Q, Δwqp conform definitiei: Δw= αe(k)y(k) si α increment pozitiv de corectie.
EQ= f(Oq)= f(f(Iq)) => . . . . . . . In final se obtine: Dupa specificarea functiei hq(Iq) se cunosc toate variabilele din aceasta ecuatie (sau pot fi observate). La prezentarea oricarei forme de antrenare la intrarea retelei: -se cunoaste care ar trebui sa fie raspunsul dorit rqal fiecarui nod de iesire; -se poate observa valoarea Oq a fiecarui nod de iesire; -se poate observa Iq, intrarea in elementele de activare de pe stratul Q; -se poate observa Op iesirea nodurilor din stratul P => ajustarea ponderilor care modifica legaturile intre ultimul si penultimul strat in retea.
Continuand prelucrarile inapoi de la stratul de iesire sa va analiza ce se intampla la stratul P. Analog: unde termenul de eroare: Exceptand rp toate variabilele sunt cunoscute sau pot fi observate in retea. rpfara sens intr-un strat intern (nu se cunoaste raspunsul unui nod intern in termenii apartenentei formei la o clasa, doar pentru stratul de iesire se poate specifica clasa la care apartine) => se reformuleazaδp prin cantitati care sunt cunoscute sau pot fi observate:
. . . . . . . Rezulta: se poate calcula!(se cunosc toti parametrii)=> se poate calcula δp din δq si wqp care s-au calculat in stratul imediat urmator stratului P => o cale de propagare inapoi a erorii in retea incepand de la stratul de iesire.