reprezentarea si descrierea imaginilor (1/2)

43
REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2) Reprezentarea granitelor Descriptori de granite

Upload: sai

Post on 08-Feb-2016

104 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

REPREZENTAREA SI DESCRIEREA IMAGINILOR

(1/2)

Reprezentarea granitelorDescriptori de granite

Page 2: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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).

Page 3: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 4: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

a) b)

Page 5: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

c) d)

Page 6: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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).

Page 7: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 8: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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).

Page 9: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 10: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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).

Page 11: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)
Page 12: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 13: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

Exemple.

In primul caz r(θ)=const, iar in al doilea caz r(θ)=A/cos(θ) pentru 0≤ θ ≤π/4 si r(θ)=A/sin(θ) pentru π/4≤ θ ≤π/2.

Page 14: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/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).

Page 15: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 16: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 17: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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).

Page 18: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

Exemple: utilizeaza distanta euclidiana pentru a gasi vecinii cei mai apropiati.

Page 19: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 20: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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 .

Page 21: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 22: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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).

Page 23: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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').

Page 24: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

Aplicatie: os uman => in partea superioara dreapta doua linii de schelet, in loc de una singura!

Page 25: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 26: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 27: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 28: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 29: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)
Page 30: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

Exemplu. Cod de inlantuire cu 8 directii. Parcurgere: sens antiorar => numarul de forma (fiecare cifra fiind chiar valoarea corespunzatoare din cod).

Page 31: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 32: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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)

Page 33: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

c) d)

Page 34: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 35: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 36: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.

Page 37: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)
Page 38: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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θ).

Page 39: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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

Page 40: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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).

Page 41: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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)

Page 42: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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!

Page 43: REPREZENTAREA SI DESCRIEREA IMAGINILOR (1/2)

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.