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 =numarul de componente conectate. Exemplu. 'A‘: E = 1 – 1 = 0 'B‘: E = 1 – 2 = -1
Regiuni reprezentate 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 paralele echidistante); -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). Textura Medie Deviatie standard R normalizata Moment ordin 3 Unifor-mitate Entropie "smooth" 82.64 11.79 0.002 -0.105 0.026 5.434 "coarse" 143.56 74.63 0.079 -0.151 0.005 7.783 "regular" 99.72 33.73 0.017 0.750 0.013 6.674
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˚). Analiza C => caracteristici ale 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: S aS (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-D Sr(θ) => 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 functii S(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 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: imagine MxN => 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} X n-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: matrice patrata ~ transformare liniara A vector x ≠ 0 : Ax = λx => modifica magnitudinea cu un factor λ (valoarea proprie – “eigenvaloarea”); => lasa directia nemodificata sau o inverseaza (x vector propriu 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 (prima linie = 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 y k-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 .
Banda lungimi de unda (μm) Aplicatie:6 imagini - scanner multispectral cu 6 benzi, (cate o imagine in fiecare banda), cu lungimile de unda: Imaginile de la scanner: Canal Banda lungimi de unda (μm) 1 0.40-0.44 2 0.62-0.66 3 0.66-0.72 4 0.80-1.00 5 1.00-1.40 6 2.00-2.60
=> vectori cu 6 dimensiuni de tipul x = (x1, x2, => 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: λ1 λ 2 λ 3 λ 4 λ 5 λ 6 3210 931.4 118.5 83.88 64.00 13.40
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, cu a, 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. => extindere la 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 primitive a si b cu regulile de rescriere: 1) S aA 2) A bS 3) A b unde -S, A = variable (S simbolul 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 incheie procedura.
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".