transformari de imagini
Download
Skip this Video
Download Presentation
TRANSFORMARI DE IMAGINI

Loading in 2 Seconds...

play fullscreen
1 / 70

TRANSFORMARI DE IMAGINI - PowerPoint PPT Presentation


  • 141 Views
  • Uploaded on

TRANSFORMARI DE IMAGINI. Cuprins Formulare generala Transformarea Walsh Transformarea Hadamard Transformarea Haar Wavelets Transformarea cosinus Transformarea sinus Tranformarea Hartley. FORMULARE GENERALA

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'TRANSFORMARI DE IMAGINI' - agalia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide2
Cuprins

Formulare generala

Transformarea Walsh

Transformarea Hadamard

Transformarea Haar

Wavelets

Transformarea cosinus

Transformarea sinus

Tranformarea Hartley

slide3
FORMULARE GENERALA

Desi transformarea Fourier este cea mai utilizata in prelucrari de imagini, exista o serie de alte transformari care de asemenea prezinta un interes deosebit.

Transformarea Fourier poate fi exprimata printr-o relatie generala sub forma:

unde T(u) este transformata lui f(x), g(x,u) este nucleul transformarii directe, iar u=0,1,...,N-1. Pentru transformata inversa exista relatia:

unde h(x,u) este nucleul transformarii inverse si x ia valori in domeniul 0,1,...,N-1. Natura transformarii este data de proprietatile nucleului.

slide4
In cazul imaginilor, in general a ariilor bidimensionale, transformarile directe si inverse sunt date de ecuatiile:

si

unde g si h sunt nucleele de transformare directa si inversa.

slide5
Definitie. Nucleul de transformare directa este separabil daca:

g(x,y,u,v) = g1(x,u)g2(y,v)

Definitie. Nucleul de transformare directa este simetric daca g1 este egal cu g2, deci acesta poate fi exprimat sub forma:

g(x,y,u,v) = g1(x,u)g1(y,v)

Pentru nucleul de transformare inversa se pot enunta definitii asemanatoare.

slide6
Transformarea Fourier bidimensionala este un caz particular al transformarii generale, in care nucleul este:

g(x,y,u,v) = 1/N e-i2π(ux+vy)/N

care este separabil si simetric

g(x,y,u,v) = g1(x,u)g1(y,v) =

Asemanator, se poate arata ca nucleul transformarii Fourier inverse este separabil si simetric.

slide7
Consecinta cea mai importanta: o transformare cu un nucleu separabil poate fi calculata in doi pasi, fiecare necesitand cate o transformare unidimensionala. Astfel, se aplica transformarea unidimensionala functiei f(x,y), de-a lungul fiecarui rand, obtinand:

pentru x=0,1,...,N-1. Apoi transformarea unidimensionala este considerata pe fiecare coloana in parte, obtinand:

pentru u,v = 0,1,...,N-1.

Aceeasi metoda poate fi aplicata si pentru transformarea inversa daca nucleul h(x,y,u,v) este separabil.

slide8
Daca nucleul transformarii directe g(x,y,u,v) este separabil si simetric, ecuatia de transformare se poate exprima si sub forma matriciala:

T = AFA

unde F este matricea de imagine cu N*N pixeli, A este o matrice de transformare simetrica N*N cu elemente aij = g1(i,j), iar T este transformata rezultata N*N pentru valori ale lui u,v in domeniul 0,1,2,...,N-1. Prin inmultirea relatiei precedente in ambii membrii la stanga si la dreapta cu matricea de transformare inversa B se obtine:

BTB = BAFAB

F = BTB

unde s-a tinut cont ca B = A-1 => o imagine digitala F poate fi refacuta complet din transformata sa T. In cazul in care B nu este identic cu A-1, ecuatia furnizeaza o aproximatie a imaginii initiale:

F' = BAFAB

slide9
O proprietate importanta a matricilor de transformare: pot fi descompuse in produse de matrici cu mai multe zerouri decat matricea originala => reduce redundanta si in consecinta numarul de operatii necesare implementarii transformarii bidimensionale.

Mai general, se considera o imagine de dimensiune MxN, reprezentata prin matricea:

slide10
Transformarea generala se poate exprima prin relatia:

F = p f q

unde

pentru u = 0,1,…,M-1 si v = 0,1,…,N-1. Daca p si q sunt matrici nesingulare (cu determinanti nenuli), atunci exista matricile lor inverse si

f = p-1 F q-1

Daca p si q sunt simetrice ( p = pT ), reale si ortogonale ( pTp = I ), atunci

F = p f q si f = p F q

iar transformarea este o transformare ortogonala.

slide11
Transformarea Walsh

Transformarile Walsh, Hadamard si Haar utilizeaza ca functii de baza un set de functii nesinusoidale.

Pentru N=2n, transformarea Walsh discreta a unei functii f(x), notata cu W(u), se obtine inlocuind nucleul transformarii:

in ecuatia transformarii generale, obtinindu-se relatia:

unde bk(z) este bitul k in reprezentarea binara a lui z.

slide12
Valorile pentru g(x,u), exceptand factorul constant 1/N, sunt reprezentate in tabel, pentru N=8.

x

│ 0 1 2 3 4 5 6 7

──┼─────────────────

0 │ + + + + + + + +

1 │ + + + + - - - -

2 │ + + - - + + - -

u 3 │ + + - - - - + +

4 │ + - + - + - + -

5 │ + - + - - + - +

6 │ + - - + + - - +

7 │ + - - + - + + -

 matrice simetrica, ale carei coloane si randuri sunt ortogonale.

slide13
Aceste proprietati, conduc la un nucleu al transformarii inverse identic cu cel al transformarii directe, exceptand un factor constant 1/N, deci:

deci transformarea Walsh inversa este data de relatia:

=> orice algoritm pentru calculul transformarii directe poate fi utilizat si pentru calculul transformarii inverse, inmultind rezultatul cu N.

slide14
In cazul imaginilor bidimensionale, mai general al functiilor de doua variabile, nucleele de transformare directa si inversa sunt date de relatiile:
slide16
La fel ca in cazul unidimensional, orice algoritm de calcul al transformatei directe bidimensionale, se poate utiliza si pentru calcularea transformarii inverse.

Nucleele transformarilor Walsh sunt separabile si simetrice caci:

g(x,y,u,v) = g1(x,u)g1(y,v) =h1(x,u)h2(y,v)

Rezulta ca W(u,v) si inversa sa se pot calcula prin aplicarea succesiva a transformarii Walsh unidimensionale (tehnica de calculare este asemanatoare cu cea prezentata pentru transformarea Fourier).

slide17
Se poate aplica si o metoda de calculare rapida a transformatei Walsh (FWT), asemanatoare metodei FFT, cu dublare succesiva, pentru care:

W(u) = 1/2 {Wpar(u)+Wimpar(u)}

si

W(u+M) = 1/2 {Wpar(u)-Wimpar(u)}

unde M=N/2, u=0,1,...,M-1, W(u) denota transformarea Walsh unidimensionala, iar

slide18
Algoritm de calcul al transformatei Walsh directe, care utilizeaza aceste relatii.

Parametrii de intrare:

-vectorul F, continand valorile esantionate ale semnalului;

-LN = log2N (cu N lungimea vectorului F, putere a lui 2).

Rezultatul:

-vectorul F, care la revenirea din procedura contine valorile transformatei Walsh a vectorului de intrare.

De remarcat: transformata Walsh este reala => necesita o cantitate mai mica de memorie decat transformata Fourier.

slide20
Transformarea Hadamard

Au fost studiate transformarile Fourier si Walsh. Transformarea Fourier consta in esenta dintr-o proiectie pe un set de forme de unda sinusoidale. Coeficientii Fourier se numesc componentele de frecventa si formele de unda sunt ordonate dupa frecvente.

Transformarea Hadamard consta dintr-o proiectie pe un set de forme de unda dreptunghiulare numite functii Walsh. Coeficientii transformarii Hadamard se numesc componentele de secventa, iar functiile Walsh sunt ordonate dupa numarul de treceri prin zero. Functiile Walsh sunt reale si iau numai valorile 1 sau –1. Nucleul transformarii Hadamard:

unde suma de la exponent este realizata modulo 2, iar bk(z) este bitul k din reprezentarea binara a lui z.

slide21
Transformarea Hadamard unidimensionala:

unde N=2n, iar u=0,1,2,...,N-1.

Nucleul formeaza o matrice ale carei randuri si coloane sunt ortogonale => nucleu al transformarii inverse egal cu cel al transformarii directe (cu exceptia unui factor 1/N):

rezultand relatia pentru transformarea inversa:

pentru x=0,1,2,...,N-1.

slide23
Observatie: in cazul bidimensional nucleele transformarilor directa si inversa sunt identice. Ecuatiile transformarilor:

=> pentru transformarile Hadamard se poate utiliza acelasi algoritm.

slide24
Nucleele Hadamard sunt separabile si simetrice:

g(x,y,u,v) = g1(x,u)g1(y,v) = h1(x,u)h1(y,v) =

Cu exceptia factorului 1/N, g1 si h1 sunt identici expresiei nucleului transformarii unidimensionale. Deoarece nucleele de transformare Hadamard bidimensionale sunt separabile => perechea de transformari bidimensionale se poate obtine prin aplicarea succesiva a algoritmului Hadamard unidimensional. Modificarea algoritmului de transformare Walsh rapida => transformata Hadamard rapida (FHT). O alta solutie: calcularea transformatei Walsh si reordonarea rezultatului (elementelor vectorului de iesire).

slide25
Se poate stabili o relatie recursiva simpla pentru obtinerea matricilor de transformare generala. O matrice Hadamard de ordinul N, cu NxN elemente, este simetrica avand numai elemente 1 si –1. Matricea Hadamard de cel mai mic ordin (N=2) este:

Considerand HN matrice de ordin N, relatia recursiva este:

cu N=2n (exista si matrici Hadamard de dimensiuni care nu sunt puteri ale lui 2, dar se utilizeaza mai putin in prelucrarile de imagini).

slide26
Matricea de transformare generala din T = AFAse scrie sub forma:

Se poate calcula usor matricea Hadamard inversa cu relatia:

Transformarile Hadamard directa si inversa sunt date de relatiile:

Se poate observa ca pentru calcularea transformarilor Hadamard sunt necesare operatii de inmultire de matrici, care insa se reduc numai la operatii de adunare/scadere. Transformarea Hadamard se mai numeste uneori transformarea Walsh-Hadamard, caci baza transformarii o constituie functiile Walsh.

slide27
Harmuth (H. F. Harmuth, Transmission of Information by Orthogonal Functions, Springer-Verlag, New York, 1969) a dat o interpretare in frecventa pentru matricea Hadamard, luand in considerare numarul de schimbari de semn pe fiecare linie a matricii, obtinand astfel un set de functii de baza ale transformarii. Exemplu pentru o matrice 16x16:
slide28
Aceste functii se mai numesc si functii Walsh. Astfel, matricea Hadamard realizeaza descompunerea unui semnal printr-un set de forme de unda rectangulare , spre deosebire de transformarea Fourier care realizeaza o descompunere pe baza unor forme de unda sinus-cosinus.
slide29
Pentru o imagine de test este este furnizata reprezentarea grafica a transformarii Hadamard:
slide30
Transformarea Haar

Transformarea Haar se obtine din matricile Haar. Astfel, matricile Haar 4×4 si 8×8 sunt:

slide32
Transformarea Haar poate fi calculata recursiv utilizand matricea N×N:

unde VN este matricea de scalare N/2×N:

slide33
iar WN este matricea wavelet N/2×N:

Elementele liniilor din VN reprezinta semnalele de scalare de nivel intai, iar elementele liniilor din WN se numesc waveleturi Haar de nivel intai.

slide34
Transformarea Haar de nivel intai a unui vector coloana f cu N×1 este:

unde:

(concatenare pe coloana). Vectorul a1 reprezinta trendul elementelor lui f (media dinamica), iar d1 fluctuatia dinamica a elementelor lui f. Pasul urmator este calcularea transformarii Haar de nivel doi din componenta de trend a transformarii de nivel intai si concatenarea cu vectorul de fluctuatie de nivel intai.

unde:

sunt vectori N/4×1.

slide35
Procesul continua pana cand se obtine transformarea completa (N=2n):

In aplicatiile de prelucrare a imaginilor transformarea Haar furnizeaza un domeniu in care un tip de energie diferentiala este concentrata in regiuni localizate.

Imagine intuitiva a procesului iterativ:

slide37
Wavelets

Wavelet-urile reprezinta o alta abordare de descompunere a unor semnale complexe in sume de functii de baza. Functiile Fourier sunt localizate in frecventa, dar nu si in domeniul spatial (in timp); determina valorile de frecventa, dar nu si aparitiile acestora. Modificari minore de frecventa produc modificari majore in domeniul spatial.

Wavelet-urile sunt locale atat in frecventa (prin dilatari “dilations”) cat si in timp (prin translatari). Anumite zgomote sau discontinuitati intr-o imagine necesita mai putine functii de baza wavelet, decat ar necesita functii de baza sinus si cosinus. Astfel de imagini au o reprezentare mai compacta utilizand wavelet-uri, decat utilizand functii sinus si cosinus.

Exista multe tipuri de wavelet-uri, utile in diferite scopuri. Asa cum functiile sinus si cosinus sunt utilizate in analiza Fourier, wavelet-urile sunt utilizate ca functii de baza in reprezentarea altor functii. Wavelet-urile sunt derivate dintr-o functie de baza numita functia “mother wavelet” sau wavelet de analiza. Cea mai simpla astfel de functie este functia “Haar Mother Wavelet”

slide39
Functia wavelet de baza fiind fixata Φ(x), se formeaza translatari si dilatari ale acesteia

unde se considera valori speciale pentru a si b: a=2-j , b=k·2-j .

slide40
Coeficientii Haar wavelet. Coeficientii din coltul stanga sus corespund imaginii de rezolutie scazuta, iar celelalte cadre corespund unor caracteristici de rezolutie mare.

Wavelet-urile sunt utilizate pentru compresia de imaginilor, suprimarea zgomotelor, vederea cu ajutorul calculatorului, dar si in alte domenii cum sunt radar, predictia cutremurelor, etc.

slide41
TRANSFORMARILE COSINUS, SINUS SI HARTLEY

Transformarile cosinus, sinus si Hartley sunt transformari unitare care utilizeaza functii de baza sinusoidale, la fel ca transformarea Fourier. Transformarile cosinus si sinus nu reprezinta partile cosinus si sinus din transformarea Fourier (care nu sunt functii ortogonale). Transformarea Hartley utilizeaza functii de baza sinus si cosinus, dar coeficientii acestora sunt numere reale, spre deosebire de transformarea Fourier care are in general coeficienti complecsi.

slide42
Transformarea cosinus discreta

Transformarea cosinus a fost introdusa de Ahmed (N. Ahmed, T. Natarajan and K. R. Rao, “On Image Processing and a Discrete Cosine Transform,” IEEE Trans. Computers, C-23, 1, January 1974, 90–93) si are largi aplicatii in codificarea si compresia imaginilor (standardul JPEG pentru poze si MPEG pentru video).

slide43
Teoria Fourier specifica faptul ca orice semnal periodic poate fi reprezentat ca o suma infinita de unde sinusoidale simle cu frecvente si amplitudini variabile. Se va considera semnalul corespunzator unei linii de pixeli dintr-o imagine, deci un semnal unidimensional, pentru care :

f(x) este o functie periodica pe domeniul spatial, unde ω=2πf,f fiind frecventa fundamentala a undei. Pe masura ce n varieaza, sunt considerate componentele de frecventa, an este amplitudinea componentei a n-a de frecventa.

slide44
Un exemplu in care o unda este o suma de trei unde sinusoidale, toate celelalte componente de frecventa fiind de amplitudine zero.
slide45
Se considera o linie de pixeli dintr-o imagine, 8 pixeli.

Fiecare linie de M pixeli se poate reprezenta ca o suma de M functii cosinus ponderate evalate in puncte discrete, exprimate prin ecuatia :

pentru 0≤r

pentru u=0, altfel C(u)=1.

Pentru pixelii din exemplu avem valorile [0, 0, 0, 153, 255, 255, 220, 220]. F(u) este un vector de coeficienti.

slide46
Fiecare functie

este numita o functie de baza, fiind vazuta ca o componenta de frecventa. Coeficientii F(u) indica ponderea componentelor de frecventa din suma care produce valorile pixelilor.

Pentru M=8 functiile de baza sunt date in continuare, sub forma unor functii cosinus continue. Pe masura ce valorile functiilor cosinus descresc, pixelii devin mai intunecati, deoarece 1 reprezinta alb si -1 reprezinta negru.

slide47
Functia de baza 0 :

Functia de baza 1 :

slide48
Functia de baza 2 :

Functia de baza 3:

slide49
Functia de baza 4 :

Functia de baza 5 :

slide50
Functia de baza 6 :

Functia de baza 7 :

slide51
In fiecare caz se evalueaza functia de baza in punctul x pentru 0≤r≤7 de la stanga la dreapta. Fiecare valoare rezultata corespunde unui pixel din linia de pixeli situate la dreapta functiei de baza (valorile corespund intervalului -1 negru la +1 alb). Astfel componenta de frecventa

(functia de baza 1) corespunde unei secvente de 8 pixeli de la alb la negru.

Ecuatia precedenta specifica faptul ca exista coeficientii F(u), dar calculul acestora este data de transformarea cosinus discreta (DCT), care in cazul unidimensional este :

pentru 0≤u

daca u=0, altfel C(u)=1. Aceasta ecuatie indica modul in care se transforma o imagine din domeniul spatial (in care sunt date valori de culoare sau niveluri de gri) in domeniul frecventa (care furnizeaza coeficientii cu care sunt multiplicate componentele de frecventa).

slide52
Daca se considera cei 8 pixeli cu valorile de niveluri de gri [0, 0, 0, 153, 255, 255, 220, 220], acest vector reprezinta imaginea in domeniul spatial. Calculand F(u) pentru 0≤u

Interpretare : linia de pixeli este o combinatie liniara de componente de frecventa, adica functii de baza multiplicate cu coeficientii din F si o constanta, adunate impreuna :

slide53
O reprezentare vizuala :

pixeli rezultati

slide54
Un coeficient negativ pentru o componenta de frecventa este echivalent cu adunarea componentei inversate :

coeficient negativpentru :

~ coeficient pozitiv pentru :

Primul element F(0) este componenta continua (DC). Pentru o functie periodica reprezentata in domeniul frecventa componenta continua este o valoare medie scalata a formei de unda. Se poate constata in cazul unidimensional :

Toate celelalte componente F(1) la F(M-1) se numesc componente AC (analogie cu domeniul electric).

slide55
In cazul bidimensional, pentru o imagine oarecare MxN DCT se defineste :

fie f(r,s) valoarea de pixel de pe randul r si coloana s din imagine. F(u,v) este coeficientul componentei de frecventa (u,v), unde 0≤r,u≤M-1 si 0≤s,v≤N-1

cu

Matricile sunt parcurse pe linii.

slide56
Transformarea poate fi vazuta astfel : se ia o imagine f(r,s) matrice de valori de pixeli si se obtine o matrice de coeficienti F(u,v) reprezentand amplitudinile componentelor de frecventa.

Presupunem aplicarea DCT unui bloc dintr-o imagine de 8x8 (cazul compresiei JPEG) :

slide58
Transformarea inversa este data de ecuatia :

unde

ceea ce inseamna ca imaginea bitmap este o suma de MxN componente de frecventa ponderate.

slide60
fiecare bloc din pozitia (u,v) a matricii este un grafic al functiei

in puncte discrete r=[0..7] si s=[0..7]. Componenta DC este in coltul stanga sus.

slide61
Exista patru definitii pentru transformarea cosinus discreta, numite DCT-I, DCT-II, DCT-III, and DCT-IV, cea mai utilizata fiind DCT-II. Matricea de transformare pentru o imagine patrata este definita:

si conform ecuatiilor de transformare generala pentru o imagine patrata de NxN pixeli:

slide62
Varianta normalizata a transformarii cosinus directe (DCT-II) pentru o imagine patrata este reprezentata prin relatia:

pentru u = 0, 1, …, N-1 si v = 0, 1, …, N-1, unde

iar transformarea cosinus inversa este data de relatia:

pentru x = 0, 1, …, N-1 si y = 0, 1, …, N-1.

slide63
Functiile de baza ale transformarii cosinus sunt de fapt o clasa a polinoamelor Chebyshev. In figura urmatoare sunt reprezentate functiile de baza ale transformarii cosinus pentru N=16

Numarul undei u

→ x

slide64
Pentru o imagine de test este furnizata reprezentarea grafica a transformarii cosinus:

Originea este plasata in coltul stanga sus. Energia imaginii tinde sa se concentreze spre frecventele spatiale mai mici.

Transformarea cosinus a unei imagini NxN se poate calcula prin reflectarea imaginii dupa granitele sale pentru a obtine un tablou 2Nx2N, calcularea transformarii Fourier si preluarea partilor reale ale transformarii Fourier.

slide65
Transformarea sinus discreta

Transformarea sinus a fost introdusa de Jain (A. K. Jain, “A Fast Karhunen–Loeve Transform for Finite Discrete Images,” Proc. National Electronics Conference, Chicago, October 1974, 323–328) ca un substitut algoritmic rapid pentru transformarea Karhunen-Loeve a unui proces Markov. Pentru o singura dimensiune, functia de baza este:

pentru u,x = 0, 1, 2, ... , N-1.

slide67
Transformarea sinus bidimensionala este data de relatia:

Transformarea sinus inversa este identica ca forma:

slide68
Pentru o imagine de test este furnizata reprezentarea grafica a transformarii sinus:

De asemenea transformarea sinus poate fi calculata din transformarea Fourier sau direct utilizand ecuatiile de definitie.

slide69
Tranformarea Hartley

Transformarea Hartley a fost propusa de Bracewell (R. M. Bracewell, “The Discrete Hartley Transform,” J. Optical Society of America, 73, 12, December 1983, 1832–1835), fiind o transformare unitara cu valori reale, ca o varianta a transformarii Fourier intr-o serie de aplicatii de filtrare. Perechea de transformari Hartley bidimensionale:

Se utilizeaza si notatia cosθ+sinθ=casθ (este functie ortogonala).

slide70
Reprezentarea transformarii Hartley pentru o imagine de test:

De asemenea exista algoritmi de transformare Hartley asemanatori algoritmilor FFT.