View
109
Download
0
Category
Preview:
DESCRIPTION
REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2). Reprezentarea granitelor Descriptori de granite. S egmentare a unei imagini => regiuni reprezenta re pentru prelucrari ulterioare: -prin caracterisitici externe (granite) intereseaza formele; - PowerPoint PPT Presentation
Citation preview
REPREZENTAREA SI DESCRIEREA IMAGINILOR
(1/2)
Reprezentarea granitelorDescriptori de granite
Segmentarea unei imagini => regiuni reprezentare pentru prelucrari ulterioare:
-prin caracterisitici externe (granite) intereseaza formele;
-prin caracterisitici interne (pixelii regiunii) intereseaza proprietatile (culoare, textura).Uneori: ambele reprezentari.
In continuare: o regiune descrisa prin caracterisitici (exemplu: prin granita granita descrisa prin caracterisitici: lungime, orientarea liniei drepte care uneste punctele extreme, numar de concavitati).
REPREZENTAREA GRANITELOR
Coduri de inlantuire
In general o imagine: spatieri egale pe orizontala si pe verticala => cod de inlantuire prin urmarirea granitei (exemplu: in sens orar) si asignarea unei directii segmentelor conectand fiecare pereche de pixeli.Dezavantaje:
-cod prea lung;-orice perturbare pe granita (zgomot, segmentare imperfecta) =>
modificari in cod (nu apartin formei granitei).
Solutie: utilizarea unei retele de spatiere mai largi.
Exemplu: (a) cod de inlantuire cu 4 directii; (b) cod de inlantuire cu 8 directii; (c) granita; (d) rezultatul dupa reesantionare; (e,f) codurile de inlantuire corespunzatoare.
a) b)
c) d)
e) f)
Codul = f(punct de start) normalizare: tratarea codului ~ secventa circulara si redefinirea punctului de start astfel incat secventa de valori sa formeze un numar intreg minim.
Normalizare pentru rotatie: considerand diferentele dintre valori succesive (schimbarile de directie).
Aproximatii poligonale
Granita ~ poligon.
O curba inchisa ~ poligon: numar de laturi = numarul de pixeli (o latura este definita de o pereche de puncte adiacente) => problema mare consumatoare de timp.
Tehnici de aproximare poligonala de complexitate mai mica si cerinte mai modeste de prelucrare.
Poligoane de perimetru minim
Exemplu. O granita incadrata cu un set de celule concatenate => poligonul de perimetru minim care se incadreaza in geometria data de setul de celule.
Analogie: granita ~ banda elastica se strange => poligonul de perimetru minim. In cazul in care fiecare celula incadreaza un singur pixel de pe granita, eroarea maxima (distanta) dintre granita si poligon =
(diagonala celulei, d fiind pasul de esantionare).
Tehnici de fuzionare ("merging techiques")
Criteriul de baza de tipul eroare medie: sunt fuzionate puncte pana cand eroarea medie patratica (segmentul poligonului fata de punctele de pe granita) depaseste un prag =>
-parametrii segmentului memorati;-eroarea initializata cu 0;-procedura se repeta cu urmatoarele puncte de pe granita.
=> segmentele adiacente formeaza varfurile poligonului!
Dezavantaj: varfurile poligonului nu corespund intotdeauna cu inflexiunile (colturile) granitei initiale.
Solutie: utilizarea fuzionarii cu despicarea.
Tehnici de despicare ("splitting techniques")
Un segment divizat succesiv in doua parti pana cand este satisfacut un anumit criteriu (exemplu: distanta perpendiculara maxima de la un segment de granita la linia unind capetele segmentului respectiv sa nu depaseasca un prag. Daca depaseste pragul => punctul de pe granita cu distanta cea mai mare devine un varf, impartind segmentul initial in doua segmente).
Granita inchisa: puncte de plecare pentru primul segment = cele doua puncte extreme (aflate la distanta maxima).
Exemplu: => patrulater (valoarea de prag =1/4 din lungimea segmentului initial ab).
Semnaturi
Semnatura = reprezentare functionala 1-D a unei granite.
Generare: diferite cai.
1) Solutie simpla: reprezentarea distantei de la centru la granita ca o functie de unghi => o functie 1-D, mai simplu de descris decat o functie 2-D.
Exemple.
In primul caz r(θ)=const, iar in al doilea caz r(θ)=A/cos(θ) pentru 0≤ θ ≤π/4 si r(θ)=A/sin(θ) pentru π/4≤ θ ≤π/2.
Semnaturile generate prin aceasta metoda:-invariante la translatii;-depind de rotatii si scalari.
Normalizare privind rotatia: selectarea punctului de start pentru generarea semnaturii, indiferent de orientarea formei:
-punctul cel mai indepartat de centru (daca este punct unic);-punctul cel mai indepartat de centru de pe axele "eigen”.
Normalizare a valorilor: cuprinse intre [0,1] => sensibilitate la zgomote, care afecteaza valorile maxima si minima.
2) Alta solutie de generare de semnaturi: memorarea unghiului facut de tangenta in fiecare punct de pe granita cu o linie de referinta => informatii despre forma conturului (ex: unghi constant ~ linie dreapta).
Varianta de semnatura: functia de densitate a pantei (este o histograma a valorilor unghiului tangentei la granita).
Segmente de granita
Descompunerea granitei in segmente:=> reduce complexitatea granitei;=> simplifica procesul de descriere.
Util: cand granita contine una sau mai multe concavitati continand informatii despre forma.
Eficient: sa se utilizeze invelitoarea convexa a unei regiuni inchise de granita.
Definitii.
Invelitoarea convexa H a unui set arbitrar S = setul convex cel mai mic continand pe S.
Deficienta convexa a setului S = multimea diferenta H-S.
Aplicatie. (a) set S (obiect) si deficienta sa convexa (reprezentata umbrit). (b) Granita regiunii: urmarind conturul lui S si marcand punctele de tranzitie de intrare sau iesire in cadrul deficientei convexe.
a) b)
Metoda: independenta de dimensiunea si orientarea regiunii.
Zgomotul tinde sa introduca o serie de segmente mici nesemnificative => filtrare inainte de partitionare.
Schelete
Forma structurala a unei regiuni: reducerea la un graf => scheletul (pe baza unui algoritm de subtiere, scheletizare).
Aplicatii: inspectia automata a circuitelor imprimate, numararea fibrelor de asbest din filtrele de aer, etc).
Scheletizarea prin morfologie => schelet neconectat => alt algoritm!
Scheletul unei regiuni: transformarea de axa mijlocie (MAT – "medial axis transformation") propusa de Blum.
MAT-ul unei regiuni R cu granita B: pentru fiecare punct p din R se cauta cel mai apropiat vecin in B. Daca p are cel putin doi astfel de vecini, atunci p apartine axei mijlocii (mediane) a lui R (skeletonului).
Exemple: utilizeaza distanta euclidiana pentru a gasi vecinii cei mai apropiati.
Ilustrare intuitiva a scheletului = foc in preerie: -se aprinde granita;-focul inainteaza uniform in interiorul regiunii;-scheletul = multimea de puncte in care ajung in acelasi moment de
timp doua sau mai multe focuri.
Determinarea scheletului: volum mare de calcule!
Algoritmii de subtiere sterg iterativ puncte de pe contur daca:-nu sunt sterse puncte terminale;-nu se intrerupe conectivitatea;-nu produce erodarea excesiva a regiunii.
P9 P2 P3
P8 P1 P4
P7 P6 P5
0 0 1
1 P1 0
1 0 1
Algoritm de subtiere pentru regiuni binare (regiunea are pixeli 1 si fondul pixeli 0). Un pixel se afla pe contur daca are valoarea 1 si are cel putin un vecin de dimensiune 8 (intr-o vecinatate 3x3) cu valoarea 0.
Pas 1) Un punct de contur p1 este marcat pentru stergere daca:
(a) 2 ≤ N(p1) ≤ 6
(b) T(p1) = 1
(c) p2 ∙ p4 ∙ p6 = 0
(d) p4 ∙ p6 ∙ p8 = 0
unde N(p1) este numarul de vecini nenuli ai lui p1:
N(p1) = p2 + p3 + ... + p8 + p9
iar T(p1) este numarul tranzitiilor 0-1 din secventa ordonata p2 , p3 , ... , p8 ,
p9 , p2. Exemplu:
N(p1) = 4, T(p1) = 3 .
Pas 2) Conditiile (a) si (b) raman neschimbate, dar (c) si (d) se modifica:
(a) 2 ≤ N(p1) ≤ 6
(b) T(p1) = 1
(c') p2 ∙ p4 ∙ p8 = 0
(d') p2 ∙ p6 ∙ p8 = 0
Aplicarea algoritmului iterativ!
La o iteratie:-executa pasul 1 pentru toate punctele de pe granita, marcand
punctele pentru stergere daca indeplinesc toate conditiile (a)-(d) (punctele sunt doar marcate si nu sterse pentru a nu modifica forma regiunii);
-sterge punctele marcate;- executa pasul 2 pentru toate punctele de pe granita, marcand
punctele pentru stergere daca indeplinesc toate conditiile (a)-(d');-sterge punctele marcate.
Incheiere: dupa o iteratie nu sunt sterse puncte noi =>scheletul regiunii.
Analiza conditiilor.
Conditia (a) incalcata ~ p1 are un vecin sau 7 vecini dim-8 cu valoarea
1 (al 8-lea trebuie obligatoriu sa fie de fond):
-daca unul => p1 este punct terminal => nu trebuie sters!
-daca 7 => nu trebuie sters! (ar produce erodarea in interiorul regiunii)
Conditia (b): impiedica deconectarea segmentelor scheletului (stergerea p1 cu T(p1) > 1 => unificarea a doua zone de fond => fragmentarea
scheletului).
Conditiile (c) si (d) satisfacute simultan:(p4 = 0 SAU p6 = 0) SAU (p2 = 0 SI p8 = 0).
Conditiile (a), (b), (c) si (d):p1 = punct de pe granita S sau E / punct de colt NV.
Conditiile (c’) si (d’) satisfacute simultan:(p2 = 0 SAU p8 = 0) SAU (p4 = 0 SI p6 = 0).
Conditiile (a), (b), (c’) si (d’): p1 = punct de pe granita N sau V / punct de colt SE.
=> punctul trebuie sters!
Observatii:-punct de colt NE satisface p2 = 0 SI p4 = 0 => (c) si (d), (c') si (d');
-punct de colt SV satisface p6 = 0 SI p8 = 0 => (c) si (d), (c') si (d').
Aplicatie: os uman => in partea superioara dreapta doua linii de schelet, in loc de una singura!
DESCRIPTORI DE GRANITE
Descriptori simpli
Lungimea unei granite = numarul de pixeli de pe granita.
Exemplu: curba reprezentata prin cod de inlantuire cu spatiere unitara in ambele directii => lungimea = numarul de componente orizontale + numarul de componente verticale +
x numarul de componente diagonale.
Diametrul unei granite:
D = masura a distantei;pi, pj = puncte de pe granita.
Axa majora a granitei = segmentul unind cele doua puncte extreme care identifica diametrul => orientarea axei.
Axa minora = perpendiculara pe axa majora avand lungimea astfel incat dreptunghiul determinat include complet granita => dreptunghi de baza.
Excentricitatea granitei = raportul dintre lungimile axelor majora si minora.
Curbura = rata de schimbare a pantei (diferente intre pantele segmentelor succesive de pe granita). Parcurgerea pantei in sens orar: un punct p apartine unui segment convex daca schimbarea pantei este nenegativa, altfel segmentul este concav.
Numere de forma ("Shape numbers")
Diferenta intai a unei granite reprezentata prin cod de inlantuire depinde de punctul de start!
Numarul de forma al granitei pe baza codului cu 4 directii:
= diferenta intai a magnitudinii celei mai mici.
Ordinul n al unui numar de forma = numarul de cifre din reprezentarea sa:
-n par pentru o granita inchisa;-n limiteaza numarul posibil de forme diferite.
Exemplu. Toate formele de ordin 4, 6 si 8, reprezentarile prin coduri de inlantuire, diferentele intai si numerele corespunzatoare de forme.
Parcurgerea: sens orar.Dupa obtinerea unui numar de forma rotit => valoarea minima.
Exemplu. Cod de inlantuire cu 8 directii. Parcurgere: sens antiorar => numarul de forma (fiecare cifra fiind chiar valoarea corespunzatoare din cod).
Practic: pentru un ordin dorit de forma se cauta dreptunghiul de ordin n a carui excentricitate aproximeaza cel mai bine dreptunghiul de baza
=> se utilizeaza acest dreptunghi pentru a stabili dimensiunea gridului.
Exemplu: n = 12 => toate dreptunghiurile de ordin 12 (avand perimetrul egal cu 12): 2x4, 3x3 si 1x5.
Cea mai buna potrivire: excentricitatea dreptunghiului 2x4 => grid 2x4 centrat pe dreptunghiul de baza => codul de inlantuire.
Aplicatie.(a) granita avand specificat n=18.(b) => deptunghiul de baza.(c) cel mai apropiat dreptunghi de ordin 18 = 3x6 => impartirea
dreptunghiului de baza in subdiviziuni.(d) codul de inlantuire diferentele intai => numarul de forma.
a) b)
c) d)
Descriptori Fourier
Granita de K puncte in planul xy, incepand de la un punct de start arbitrar (x0,y0), in sens orar:
(x0,y0), (x1,y1), (x2,y2), ... , (xK-1,yK-1)
Coordonatele: s(k) = [x(k), y(k)], pentru k = 0, 1, 2, ... , K-1.
Fiecare coordonata ~ numar complex:
s(k) = x(k) + jy(k)
pentru k = 0, 1, 2, ... , K-1.
=> axa x ~ axa reala=> axa y ~ axa imaginara.
Avantajul: reducerea problemei 2-D problema 1-D.
Transformata Fourier discreta (DFT) a secventei s(k):
pentru u = 0, 1, 2, ... , K-1.
Coeficientii a(u): descriptorii Fourier ai granitei.
Transformata Fourier inversa reface s(k):
pentru k = 0, 1, 2, ... , K-1.
La refacerea s(k):-toti coeficientii Fourier => refacere exacta;-primii P coeficienti ~ a(u) = 0 pentru u > P-1 => aproximare a lui s(k):
pentru k = 0, 1, 2, ... , K-1 (chiar daca se utilizeaza doar P termeni k ia valori de la 0 la K-1).
=> frecventele inalte ~ detalii mici ale granitei;=> frecventele joase ~ forma generala.
Observatie. P scade => se pierd detalii din granita.
Aplicatie. Granita patrata de K = 64 puncte => reconstructia granitei pentru diferite valori ale lui P.
-P = 8 ~ patrat ;-P = 56 ~ colturile;-P = 61 ~ laturi drepte.
Cerinta: descriptorii sa nu fie sensibili (pe cat posibil) la:-translatie;-rotatie;-scalare;-punctul de start.
Descriptorii Fourier depind de aceste modificari geometrice modificarile parametrilor legate de transformari simple ale descriptorilor.
Rotatia cu un unghi θ in jurul originii complexe ~ inmultirea cu eiθ => la fel cu toate punctele => intreaga secventa s(k) se roteste cu eiθ.
Secventa rotita s(k) eiθ are descriptorii Fourier:
u = 0, 1, 2, ... , K-1 (toti coeficientii afectati in mod egal printr-un factor eiθ).
Modificarea descriptorilor Fourier de rotatie, translatie, scalare si schimbarea punctului de start:
Transformarea
Granita Descriptor Fourier
identitate s(k) a(u)
rotatie sr(k)= s(k)ejθ ar(u)= a(u) ejθ
translatie st(k)= s(k)+Δxy at(u)= a(u)+ Δxy δ(u)
scalare ss(k)= αs(k) as(u)= αa(u)
punct de start
sp(k)= s(k-k0) ap(u)= a(u)e-j2πk0u/K
unde
Δxy = Δx + j Δy => st(k) = s(k) + Δxy ~
st(k) = [x(k) + Δx] + j [y(k) + Δy]
sp(k) = s(k – k0) ~ sp = x(k – k0) + jy(k – k0)
(schimba punctul de start al secventei de la k = 0 la k = k0). Schimbarea
punctului de start afecteaza toti descriptorii intr-o mod diferit, dar cunoscut (factorul care inmulteste a(u) depinde de u).
Momente statistice
Forma segmentelor de granita ~ momente statistice simple (media, varianta si momente de ordin superior).
Exemplu. (a) segment dintr-o granita. (b) segmentul ca o functie 1-D g(r), de o variabila arbitrara (conectarea punctelor terminale si rotatia liniei obtinute pana la orizontala) => coordonatele rotite cu acelasi unghi.
a) b)
1
0
)()()(A
ii
nin vpmvv
1
0
)(A
iii vpvm
Amplitudinea lui g ~ variabila aleatoare v=> histograma de amplitudini p(vi), i = 0, 1, 2, ... , A-1, (A = numarul de
amplitudini discrete in care se poate imparti scara de amplitudini).
p(vi) = estimata a probabilitatii valorii vi => momentul de ordin n a lui v fata
de media sa:
unde
m = valoarea medie a lui v;μ2 = varianta.
In general sunt necesare numai primele cateva momente pentru a distinge intre semnaturi ale unor forme evident distincte!
1
0
)()()(K
ii
nin rgmrr
1
0
)(K
iii rgrm
Alta solutie: normalizarea lui g(r) la arie unitara ~histograma=> g(ri) ~ probabilitatea de aparitie a valorii ri => r ~ variabila aleatoare
=> momentele:
unde
(K = numarul de puncte de pe granita) => μn(r) direct legat de forma lui g(r).
Momentele permit interpretare fizica a formei granitei. Exemplu :-μ2(r) masoara imprastierea curbei in jurul valorii medii a lui r;
-μ3(r) masoara simetria sa fata de medie.
Avantaj: reducerea descrierii curbei la functii 1-D.
Recommended