460 likes | 715 Views
REPREZENTAREA SI DESCRIEREA IMAGINILOR (2/2). Descriptori de regiuni Utilizarea principalelor componente pentru descriere Descriptori relationali. DESCRIPTORI DE REGIUNI Descriptori simpli Aria unei regiuni = numarul de pixeli din regiunea respectiva.
E N D
REPREZENTAREA SI DESCRIEREA IMAGINILOR(2/2) Descriptori de regiuni Utilizarea principalelor componente pentru descriere Descriptori relationali
DESCRIPTORI DE REGIUNI Descriptori simpli Aria unei regiuni = numarul de pixeli din regiunea respectiva. Perimetrul regiunii = lungimea granitei sale. Gradul de compactare a unei regiuni = (perimetru)2/arie(marime adimensionala => nu depinde de schimbarile de scara si este minima pentru o regiune de tip disc). Alti descriptori simpli pentru regiuni: -media si valoarea mediana a nivelurilor de gri; -valorile minima si maxima a nivelurilor de gri; -numarul de pixeli peste si sub valoarea medie.
Descriptori topologici Proprietatile topologice: descrieri globale ale regiunilor dintr-o imagine plana. Topologia: cat timp nu exista ruperea sau unificarea de regiuni (distorsiuni "rubber-sheet"). Descriptori topologici: 1) Numarul de gauri intr-o regiune => nu va fi afectat de transformari de intindere sau rotatie. Exemplu: o regiune cu doua gauri:
2) Numarul de componente conectate (doi pixeli sunt conectati intr-un set S daca exista o cale intre acestia formata cu pixeli numai din acel set; pentru un pixel dintr-un set S subsetul de pixeli din S conectati cu acesta se numeste o componenta conectata a lui S). Exemplu: regiune cu trei componente conectate:
3) Numarul lui Euler: E = C – H H = numarul de gauri; C =numarulde componente conectate. Exemplu. 'A‘: E = 1 – 1 = 0 'B‘: E = 1 – 2 = -1
Regiunireprezentate prin segmente de dreapta (retele poligonale) => interpretare simpla in termenii numarului lui Euler. Clasificarea regiunilor interioare:fete si gauri. Notatii: -numar de noduri cu V; -numar de muchii prin Q; -numar de fete cu F=> formula lui Euler: V - Q + F = C – H V – Q + F = C – H = E Exemplu: 7 – 11 + 2 = 1 – 3 = -2
Textura Descrierea unei regiuni: cuantificarea texturii. Texturii (intuitiv):masuratori ale unor proprietati (netezirea, asprimea, regularitatea). Abordari pentru descrierea texturii: -statistica (caracterizeaza textura ca fiind neteda, aspra, ganulara, etc.); -structurala (descrierea pe baza unor linii paraleleechidistante); -spectrala (bazate pe proprietatile spectrului Fourier => detectarea periodicitatii globale intr-o imagine, identificand varfuri inguste de inalta energie in cadrul spectrului.).
Abordari statistice => Momentele statistice ale histogramei nivelurilor de gri ale unei imagini sau regiuni. Momentul de ordinul n al lui z fata de medie: z= variabila aleatoare reprezentand niveluri de gri; p(zi), i = 0, 1, 2, ... , L-1 = histograma corespunzatoare; L= numarul de niveluri de gri; m= valoarea medie a lui z (nivelul de gri mediu): Evident μ0 = 1 si μ1 = 0.
1) Momentul de ordinul 2 (variantaσ2(z) = μ2(z))=> importanta in descrierea texturii ~ masura a contrastului de nivel de gri => gradul de netezire. Exemplu: masuratoarea R = 0 pentru arii cu intensitate constanta (varianta este zero) R 1 pentru valori mari ale lui σ2(z). Varianta: valori mari pentru niveluri de gri pe o plaja larga (exemplu 0 – 255) => se normalizeaza ( => σ2(z) /(L-1)2). 2) Deviatia standard (radical din varianta) ~ masura (intuitiva) a texturii.
3) Momentul al treilea~ masura a gradului de alunecare a histogramei.: 4) Momentul de ordin 4 ~ masura a gradului de aplatizare relativa. 5) Momentele superioare (nu sunt legate direct de histograma)=> deosebire a continutului texturii. 6) Masuratori de textura bazate pe histograma: - uniformitatea: -entropia medie: Observatii. 1) pЄ[0,1] , suma =1 => U maxim pentru o imagine cu toate nivelurile de gri egale (uniformitate maxima). 2) Entropia = masura a variabilitatii => e = 0 pentru o imagine constanta.
Aplicatie: cate o arie din trei imagini preluate cu microscop (superconductor, colesterol uman si microprocesor). Texturi diferite: neted ("smooth"), grosolan ("coarse") si regulat ("regular").
Valorile calculate pentru masuratorile de textura: • Media ~ valoarea medie a nivelurilor de gri (fara informatii de textura). • Deviatia standard ~ variabilitatea in cadrul texturii => "smooth" cea mai neteda, "coarse" cea mai neregulata. • R~ deviatia standard (aceleasi observatii). • Momentul de ordin 3 ~ gradul de simetrie a histogramelor => alunecari spre stanga (valori negative) si alunecare spre dreapta (valoare pozitiva). Uniformitatea: "smooth“ cea mai uniforma. • Entropia:"coarse“ cea mai neregulata. • => textura "regular" se plaseaza intre cele doua texturi extreme "smooth" (cea mai neteda) si "coarse" (cea mai neregulata).
Masuratorile de textura bazate numai pe histograma nu contin informatii despre amplasarile relative ale pixelilor! Solutie: analiza texturii considerand pozitiile pixelilor cu niveluri de gri egale sau apropiate. Fie: P= operator de pozitie; A= matrice kxk (k= numarul de niveluri de gri posibile in imagine): aij= numarul de aparitii ale punctelor cu nivel de gri zi plasat in pozitia specificata de P fata de puncte cu nivelul zj, cu 1 ≤ i, j ≤ k. Recuantizare a nivelurilor de gri => matrice de dimensiuni gestionabile.
Exemplu: imagine cu trei niveluri de gri z1 = 0, z2 = 1, z3 = 2: Operatorul de pozitie P: "un pixel la dreapta si un pixel dedesubt”. => matrice 3x3: Obs. -a11= de cate ori un pixel cu nivelul z1 = 0 se afla dedesubt si la dreapta fata de un pixel cu nivelul z1 = 0; -a13= de cate ori un pixel cu nivelul z1 = 0 se afla dedesubt si la dreapta fata de un pixel cu nivelul z3 = 2, etc.
n= numarul total de puncte care satisfac P (este suma elementelor lui A). In exemplul precedent n = 16. Matricea C("gray-level co-occurence matrix“)= impartirea elementelor lui A la n => cij= o estimare a probabilitatii ca o pereche de puncte satisfacand P vor avea valorile (zi, zj). C= f(P)=> alegand un operator de pozitie potrivit se poate identifica un anumit tip de textura! Exemplul precedent:P sensibil la benzi de intensitate constanta orientate la -45˚ => val.max.a11 = 4 (benzi de valoare 0 orientate la -45˚). AnalizaC => caracteristiciale texturii unei regiuni.Descriptori: 1) Probabilitatea maxima: (indica raspunsul cel mai puternic la P).
2) Moment al diferentei elementelor de ordinul k: (valoare relativ mica cand valorile mari ale lui C sunt in jurul diagonalei principale, caci diferentele (i – j) sunt mici). 3) Moment al diferentelor elmentelor inverse de ordin k: (are efect invers decat descriptorul precedent).
4) Uniformitate: (este maxim cand toate valorile cij sunt egale). 5) Entropie: (este maxim cand toate elementele lui C total aleatoare). Utilizarea descriptorilor: "invatarea" unui sistem cu valori de descriptori reprezentativi pentru un set de texturi diferite => textura unei regiuni necunoscute este determinata prin apropierea fata de descriptorii memorati.
Abordari structurale Regula de forma:SaS(simbolul S se poate rescrie aS. Ex: aplicand de trei ori regula => aaaS). Aplicatie: a= cerc, regula = "cerc la dreapta“ => sirul aaaaa... => textura:
Reguli noi: S bA, A cA, A c, A bS, S a b~ "cerc in jos", c~ "cerc la stanga" => sir de forma aaabccbaa~ matrice 3x3 de cercuri: • => texturi mai mari; • structuri care nu sunt rectangulare. • Ideea de baza:o primitiva de textura simpla utilizata pentru a forma texturi complexe pe baza unor reguli care limiteaza numarul de aranjamente posibile => descrieri relationale!
Abordari spectrale Spectrul Fourier: descrierea directionalitatii tiparelor periodice sau aproape periodice 2-D dintr-o imagine (concentratii de energie inalta in spectru). Greu de detectat prin metode ! Caracterisitici ale spectrului Fourier utile pentru descrierea texturii: -varfurile proeminente ale spectrului ~ directiile principale ale tiparelor de textura; -localizarea varfurilor din planul de frecvente => perioada spatiala fundamentala a tiparelor; -eliminarea oricaror componente periodice prin filtrare lasa elementele de imagine neperiodice, care pot fi descrise prin tehnici statistice. Spectrul simetric fata de origine => considerat ½ planul de frecvente!
Simplificare: reprezentarea spectrului in coordonate polare =>S(r,θ) (S= functia spectru, r si θ= variabile). -pentru fiecare directie θ:S(r,θ)=> functie 1-D Sθ(r) => comportarea spectrului de-a lungul unei directii radiale de la origine; -pentru fiecare frecventa r:S(r,θ)=> functie 1-DSr(θ) => comportarea dupa un cerc centrat in origine. Descriere mai generala prin integrare (insumare pentru variabile discrete): si (R0= raza cercului centrat in origine). Rezultatele ecuatiilor => pereche de valori [S(r), S(θ)] pentru fiecare pereche de coordonate (r, θ) ~ descriere de energie spectrala a texturii (pentru imagine sau regiunea). Descriptori pentru functiiS(r), S(θ): -locatia valorii celei mai mari; -media si varianta a amplitudinii; -variatii axiale; -distanta dintre medie si valoarea cea mai mare a functiei.
Aplicatie. (a) textura periodica. (b) spectrul imaginii. (c) graficul S(r). (d) graficul S(θ) => graficul S(r) tipic (energie mare langa origine si valori tot mai mici pentru frecvente inalte). => graficul S(θ):varfuri proeminente la intervale de 45˚ (corespunzand periodicitatii texturii). (e) alta textura cu tipar predominant pe orizontala si verticala. (f) graficul S(θ) (varfuri la intervale de 90˚). => analiza graficelor S(θ) pentru cele doua texturi permite o clara deosebire a acestora! a) b)
c) d)
e) f)
UTILIZAREA PRINCIPALELOR COMPONENTE PENTRU DESCRIERE Notiunile discutate pentru granite si regiuni utilizate pentru descrierea de imagini inregistrate spatial cu pixeli corespondenti diferiti (ex: cele trei imagini cu coponentele RGB ale unei imagini color). 3 imagini fiecare grup 3 pixeli corespondenti => vector coloana 3-D: imagineMxN=> K = MN vectori tridimensionali. n imagini => vectori n-dimensionali:
vectori coloana prin transpunere: x = (x1, x2, ... , xn)T. Vectorii ~ cantitati aleatoare => vectori medie sau matrici de covarianta. -vectorul medie: mx = E{x} (indicele ~ asocierea cu populatia de vectori x, E~ valoarea asteptata). -matricea de covarianta a polulatiei de vectori: Cx = E{(x - mx)(x - mx)T} Xn-dimensional =>Cx, (x - mx)(x - mx)T matrici nxn. -cii din Cx= varianta lui xi (componenta i a vectorilor x din populatie); -cij= covarianta dintre elementele xi si xj ale acestor vectori. In cazul unidimensional: -varianta unei variabile aleatoare x cu media m=E{(x – m)2}; -covarianta a doua variabile aleatoare xi si xj, avand mediile mi si mj=E{(xi – mi)(xj – mj)} => daca variabilele sunt necorelate covarianta lor este 0. Matricea Cx: -reala si simetrica; -daca elementele xi si xj necorelate => covarianta = 0, (cij = cji = 0).
Pentru K vectori dintr-o populatie aleatoare vectorul medie se aproximeaza: Expandand (x - mx)(x - mx)T matricea de covarianta se aproximeaza:
Aplicatie: patru vectori x1 = (0, 0, 0)T, x2 = (1, 0, 0)T, x3 = (1, 1, 0)T, x4 = (1, 0, 1)T=> Observatii: -elementele de pe diagonala principala egale => cele trei componente de vector din populatie au aceeasi varianta; -elementele x1, x2 si x1, x3 corelate pozitiv; -elementele x2, x3 sunt corelate negativ.
Prefixul "eigen" (germana) = propriu, innascut, distinct. In general: matrice vector: => modifica magnitudinea si directia. Uneori: matricepatrata ~ transformare liniara A vectorx ≠ 0 : Ax = λx => modifica magnitudinea cu un factor λ(valoarea proprie – “eigenvaloarea”); => lasa directia nemodificata sau o inverseaza(x vectorpropriu al matricii - “eigenvector”). => spatiu propriu (“eigenspatiu”) = setul tuturor vectorilor proprii care au aceeasi valoare proprie impreuna cu vectorul zero.
Cx reala si simetrica => intotdeauna se poate gasi un set de n vectori proprii ortonormali (ei, respectiv λi valorile proprii corespunzatoare, aranjate in ordine descrescatoare λj ≥ λj+1, cu i = 1, 2, ... , n). A matricea cu liniile = vectorii proprii ai lui Cx(primalinie= vectorul propriu corespunzator valorii proprii celei mai mici). A~ matrice de transformare: maparea vectorilor x in vectori y: y = A(x – mx) (transformarea Hotelling: proprietati utile!). Se poate arata ca: my = E{y} = 0 matricea covarianta a vectorilor y: Cy = ACxAT
Din modul cum s-a obtinut A =>Cy matrice diagonala (pe diagonala principala valorile proprii lui Cx): Elementele din afara diagonalei principale = 0 => elementele vectorilor y necorelate. Valorile de pe diagonala principala ale unei matrici diagonale sunt tocmai valorile proprii ale matricii respective =>Cx si Cy au aceleasi valori proprii (adevarat si pentru vectori proprii).
Presupunere: in loc sa se utilizeze toti vectorii proprii ai lui Cx se formeaza matricea Ak din k vectori proprii corespunzand la k cele mai mari valori proprii => matrice de transformare kxn. Vectorii yk-dimensionali => reconstructia data de ecuatia precedenta nu ar mai fi exacta (analog intr-o oarecare masura cu descrierea unei granite folosind numai cativa coeficienti). Vectorul reconstruit folosind Ak: Eroarea medie patratica dintre x si : Eroarea = 0 pentru k = n (toti vectorii proprii sunt utilizati in transformare). Valorile λj scad monoton => minimizarea erorii: selectand k vectori proprii asociati cu cele mai mari valori proprii. => transformarea Hotelling (“transformarea de componente principale” - utilizeaza vectorii proprii corespunzatori valorilor proprii cele mai mari) este optima (minimizeaza eroarea medie patratica intre vectorii x si .
Aplicatie:6 imagini - scanner multispectral cu 6 benzi, (cate o imagine in fiecare banda), cu lungimile de unda: Imaginile de la scanner:
=> vectori cu 6 dimensiuni de tipul x = (x1, x2, ... , x6)T cu pixelii corespunzatori din cele sase imagini.
Imaginile 384x239 pixeli => populatia = 91776 vectori => vectorul medie si matricea de covarianta. Valorile proprii (primele doua sunt dominante): ecuatia y = A(x – mx) => set de vectori transformati y corespunzand vectorilor x=> sase componente de imagine (din vectorii y prin aplicarea procedeului invers de la obtinerea din imagini a vectorilor x): -figura 1 din toate componentele y1, etc; -y1<= (linia 1 din A)x (vectorul coloana x – mx). Rezultatul obtinut:
Linia 1 din A = vectorul propriu pentru λj cea mai mare => varianta nivelurilor de gri a primei imagini transformate (imaginea cel mai mare contrast). Primele doua imagini ~ aprox. 94% din varianta totala => celelalte patru imagini contrast scazut. Concluzie: in loc sa se memoreze toate cele sase imagini (intr-o baza de imagini de exemplu) se pot memora numai primele doua imagini, impreuna cu mx si primele doua linii din A => cele sase imagini initiale (obtinute de la scanner) se pot reconstrui ulterior fara probleme.
Aplicatie: utilizarea componentelor principale pentru descrierea granitelor si regiunilor dintr-o singura imagine (a) => vectori 2-D din coordonatele granitei/regiunii ~ vectori 2-D aleatori (fiecare pixel ~ vector 2-D, x = (a, b)T, cua,b= coordonatele corespunzatoare axelor x1 si x2)=> vectorul de medie si matricea de covarianta corespunzatoare populatiei. Ecuatia y = A(x – mx) => un nou sistem de coordonate cu originea in centrul populatiei (coordonatele vectorului de medie) si cu axele in directiile vectorilor proprii lui Cx (b) => transformarea y = A(x – mx) ~ transformare de rotatie care aliniaza datele cu vectorii proprii (c). a) b) c) Valorile proprii: pe diagonala principala a lui Cy=>λi este varianta componentei yi din vectorul propriu ei. Vectori proprii perpendiculari. Axele y= axe proprii (“eigenaxe”).
DESCRIPTORI RELATIONALI Abordarilor structurale pentru descrierea texturilor: reguli de rescriere. => extinderela granite si regiuni (capturarea de pattern-uri repetitive sub forma de reguli de rescriere in cadrul granitei sau regiunii). Forma in trepte (granita de regiune):
codificare pe baza a doua elemente primitivea si bcu regulile de rescriere: • 1) SaA • 2) A bS • 3) A b • unde • -S,A= variable (Ssimbolul de start); • -a,b= constante ~ primitivelor precedente. • Aplicare: • -regulile 1 si 2 adauga in sir succesiv a si b (intotdeuna forteaza a dupa b si b dupa a),; • -regula 3 incheieprocedura.
Exemple de aplicare: Sirurile ~ structuri 1_D => metoda de reducere a relatiilor pozitionale 2-D din imagini la forma 1-D. Ideea: extragerea segmentelor conectate din obiectele de interes. Solutie: urmarirea conturului unui obiect si codificarea cu segmente de anumite directii si/sau lungimi. Exemplu:
Abordare generala: descrierea unor sectiuni din imagine (mici regiuni omogene) prin segmente orientate conetate si in alte moduri decat cap-coada. Exemplu: primitive si operatii definite cu aceste primitive.
Exemplu: set de primitive corespunzatoare la patru directii si generarea pas-cu-pas a unei forme (~d indica primitiva d cu sensul inversat). Fiecare structura are un singur cap si o singura coada.
Util: aplicatii in care conectivitatea primitivelor exprimata prin metode cap-coada sau alte metode continue. In alte aplicatii: regiuni similare din p.d.v. al texturii sau al altor descriptori posibil nu sunt continue alte tehnici! Solutie: descriptori tip arbore. Definitie.Frontiera arborelui = setul de noduri din partea de jos a arborelui (frunzele), luate in ordinea de la stanga la dreapta. Intr-un arbore exista doua tipuri importante de informatii: -informatii despre un nod memorate ca un set de cuvinte descriind nodul (identifica o substructura de imagine, exemplu regiune sau segment de granita); -informatii de legatura a nodului la vecinii sai, memorate sub forma unui set de pointeri catre acei vecini (definesc relatia fizica a substructurii cu alte structuri).
Exemplu: imaginea se poate reprezenta sub forma unui arbore (radacina este $, iar frontiera este xy)utilizand relatia: "in interiorul lui".