Sunteți pe pagina 1din 20

Capitolul 4

TRANSFORMRI DE IMAGINI

4.1 INTRODUCERE
Termenul de transformri de imagini se refer la clasa matricilor unitare utilizate n reprezentarea imaginilor. La fel cum un semnal unidimensional poate fi reprezentat prin serii de funcii ortogonale, o imagine se poate reprezenta printr-o serie de funcii de baz ortogonale, n funcie de un set de vectori de baz, numit imagine de baz, set generat cu ajutorul unor matrici unitare. Ca alternativ la reprezentarea sub form matricial, o imagine de dimensiuni NxN poate fi considerat i ca vector de dimensiune N2x1. O transformare de imagini are ca rezultat un set de coordonate sau vectori de baz n acest spaiu vectorial. n cazul unidimensional, considerm secvena:
{u(n), 0 n N 1}

reprezentat de un vector u de ordin N. O transformare unitar a acestui vector se poate scrie ca: (4.1) unde A-1 = A*T este o matrice unitar. Rezult, n acest caz:
u = A*T v sau u(n) = a* (k,n)v(n), 0 n N 1
n=0 N 1

(4.2)

Coloanele lui A*T, adic vectorii

a* = {a* (k,n), 0 n N 1} , k
63

Cap.4 Transformri de imagini

se numesc vectorii bazei lui A. n figura 4.1 sunt prezentai civa vectori de baz ai unor transformri ortogonale mai uzuale n prelucrrile digitale de imagini. Seria coeficienilor v(k) d o reprezentare a secvenei iniiale u(n) i este util n filtrri, compresii de date, extragerea unor caracteristici i alte tipuri de analize de imagini.
Cosi nus k=0 Si nus Ha d a ma r d Haar Sl ant KLT

k=1

k=2 k=3

k=4

k=5

k=6

k=7
01234567 01234567 01234567 01234567 01234567 01234567

Fig. 4.1 Vectori de baz ai unor transformri ortogonale

4.2 TRANSFORMRI UNITARE ORTOGONALE BIDIMENSIONALE


n prelucrarea digital a imaginilor, se poate considera o pereche de transformri bidimensionale ortogonale, ca fiind dezvoltrile n serii ortogonale ale imaginii NxN date de:

v(k,l) = ak,l (m,n) u(m,n), 0 k,l N 1


m=0 n=0

N 1 N 1

(4.3)

i
64

PRELUCRAREA DIGITAL A IMAGINILOR

u(m,n) = a* (m,n) v(k,l), 0 k,l N 1 k,l


k =0 l =0

N 1 N 1

(4.4)

unde v(k,l) sunt coeficienii transformrii, iar V={v(k,l)} se numete imaginea transformat. Mulimea {ak,l(m,n)} este numit transformarea imaginii i este un set de funcii de baz discrete, ortogonale, care satisface urmtoarele proprieti: ortonormalitate: completitudine: forma:
u P,Q (m,n) = a * (m,n) v(k,l) , P N,Q N k,l
k =0 l =0 P 1 Q 1

m= 0 n = 0 N 1 N 1 k =0 l=0

N 1 N 1

k ,l

* ( m, n ) a k ',l ' ( m', n' ) = ( k k ', l l ' )

(4.5) (4.6)

k ,l

* ( m, n ) a k ,l ( m', n' ) = ( m m', n n' )

Proprietatea de ortonormalitate asigur c orice dezvoltare n serie trunchiat de (4.7)

minimizeaz suma erorilor medii ptratice:


2 = [u(m,n) uP,Q (m,n)] 2 e
m= 0 n = 0 N 1 N 1

(4.8)

unde coeficienii v(k,l) sunt dai de relaia (4.3). Proprietatea de completitudine asigur c eroarea va fi nul n cazul P=Q=N:
2 = 0 dac` e
P=Q=N

Transformri unitare separabile


Numrul multiplicrilor i adunrilor necesare calculului coeficienilor v(k,l) ai transformrii este O(N4) i este prea mare pentru necesitile practice. Acest numr se reduce la O(N3) dac se impune ca transformarea s fie separabil, adic:
a k ,l ( m, n ) = a k ( m) b1 ( n ) = a( k , m) b( l , n )

(4.9)

unde {a k (m), k = 0,...,N 1} [i {b1 (n),l = 0,...,N 1} sunt seturile complete ortonormale de vectori ai bazei. Impunnd condiiile anterioare (4.5) i (4.6) rezult matricile: A = {a( k , m)} i B = {b( l , n )} care sunt matrici unitare, adic:
AA *T = A T A * = I , BB *T + B T B * = I

(4.10)

Dac vom alege B identic cu A (caz des ntlnit), atunci relaiile (4.3) i (4.4) se reduc la:
v(k,l) =

a(k,m) u(m,n) a(l,n),


m= 0 n = 0

N 1 N 1

sau V = AUA T

(4.11)

u(m,n) =

a
n =0 l =0

N 1 N 1

(k,m) v(k,l) a * (l,m), sau U = A *T VA

(4.12)

Dac imaginea nu este ptratic, ci dreptunghiular de dimensiuni MxN, perechea de transformri de imagine devine:
65

Cap.4 Transformri de imagini

V = A M UA N U = A *T VA *T M N

(4.13) (4.14)

unde AM i AN sunt matrici unitare de dimensiuni MxM i respectiv NxN. Transformrile bidimensionale separabile sunt cele mai frecvent utilizate. Relaiile (4.11) i (4.12) pot fi scrise: V = AUA T , V T = A[AU]T (4.15) ceea ce nseamn c se transform mai nti fiecare coloan a matricii U i asupra rezultatului obinut se face o transformare a fiecrei linii.

4.3 PROPRIETI ALE TRANSFORMRILOR UNITARE Conservarea energiei


n transformri unitare de forma v = Au cu v = u , se poate dovedi uor c:
v
2
2 2

= v(k) = v *T v = u *T A *T A u = u *T u = u( n ) = u
2
2

N 1 k =0

N 1 n =0

(4.16)

respectiv o transformare unitar conserv energia semnalului sau, ceea ce este echivalent, lungimea vectorului u n spaiul vectorial n-dimensional rmne constant. Aceasta nseamn c orice transformare unitar este, de fapt, o simpl rotaie a vectorului u n spaiul N-dimensional. Cu alte cuvinte, se poate spune c o transformare unitar realizeaz o rotaie a coordonatelor de baz, iar componentele lui v sunt proieciile lui u n noua baz. n mod similar, pentru transformri bidimensionale de tipul celor prezentate n relaiile (4.3) i (4.4), respectiv (4.11) i (4.12), este valabil relaia:
m,n = 0

N 1

u( m, n ) =
2

k ,l = 0

v( k , l )

N 1

(4.17)

Compactarea energiei i variana coeficienilor


Majoritatea transformrilor unitare au tendina de mpachetare (compactare) a unei importante pri a energiei imaginii ntr-un numr relativ mic de coeficieni ai transformatei imaginii. Dat fiind c energia total se conserv, rezult c o mare parte a coeficienilor vor conine o cantitate foarte mic de energie. Dac notm cu u i Ru valoarea medie i covariana unui vector u, mrimile corespunztoare ale vectorului transformat v sunt date de: v = E[v ] = E[Au ] = A E[u ] = A u (4.18)
R v = E[( v v )( v v )*T ] = A( E[( u u )( u u )*T ])A *T = A R u A *T

(4.19)

adic:

Varianele coeficienilor transformatei sunt date de elementele diagonalei lui Rv,


2 ( k ) = [R v ]k ,k = [AR u A *T ]k ,k v

(4.20)
2

innd cont de faptul c A este o transformare unitar, rezult c:


W 1 k=0

(k ) =

*T v

v =

*T u

A A u = u ( n )
*T n=0

N 1

(4.21)

66

PRELUCRAREA DIGITAL A IMAGINILOR

2v ( k ) = Tr[AR u A *T ] = Tr[R u ] = 2u ( n )
k =0 n= 0

N 1

N 1

(4.22)

sau

E[ v( k )
N 1 k =0 2

] = E[ u( n) ]
N 1 n= 0 2

(4.23)

Energia medie E[ v ( k ) ] a coeficienilor v(k) tinde s fie inegal distribuit, chiar n cazul n care este egal distribuit n secvena de intrare u(n). Pentru un cmp aleator bidimensional u(m,n), a crui valoare medie este u(m,n) iar covariana este r(m,n;m',n'), coeficienii transformrii v(k,l) satisfac proprietile:
v ( k , l ) = a( k , m) a( l , n ) u ( m, n )
m n

(4.24)

2 ( k , l ) = E v( k , l ) v ( k , l ) v
m n m' n'

= a( k , m) a( l , n ) r ( m, n; m', n' ) a * ( k , m' ) a * ( l , n' )

]=

(4.25)

n cazul n care covariana lui u(m,n) este separabil, adic:


r ( m, n; m', n' ) = r1 ( m, m' ) r2 ( n, n' )

(4.26)

atunci varianele coeficienilor transformrii pot fi scrise ca produse separabile:


2 2 ( k , l ) = 1 ( k ) 2 ( l ) = AR1A *T v 2

] [AR A ]
*T k ,k 2

l ,l

(4.27)

unde R1={r1(m,m')} i R2={r2(n,n')}.

Decorelarea
n cazul n care elementele vectorului de intrare sunt nalt corelate, coeficienii transformrii tind s fie necorelai, respectiv termenii din afara diagonalei matricii de covarian Rv tind s devin foarte mici n comparaie cu elementele de pe diagonal. Referitor la ultimele dou proprieti, transformarea Karhunen-Loeve este optimal, adic mpacheteaz maximum de energie ntr-un numr dat de coeficieni ai transformrii i, n acelai timp, i decoreleaz complet. Pentru exemplificarea compactrii energiei i decorelrii, s considerm un vector de dimensiuni 2x1, cu valoare medie nul, u, care este transformat unitar n:
v= 1 3 2 1 1 1 u , unde R u = 3

, 0< <1 1

Parametrul msoar corelaia ntre u(0) i u(1). Covariana lui v se obine ca:
1 + 3 / 2 /2 Rv = 1 + 3 / 2 /2

Din expresia lui Ru rezult 2 ( 0 ) = 2 (1) = 1 adic energia medie total, avnd valoarea u u 2, este egal distribuit ntre u(0) i u(1). Cu toate acestea, 2 ( 0 ) = 1+ 3 / 2 , iar v
67

Cap.4 Transformri de imagini

2 (1) = 1 - 3 / 2 . Energia total are valoarea 2, dar energia medie a lui v(0) este mai v mare dect a lui v(1). Dac =0,95, atunci 91,1% din energia total medie va fi mpachetat n primul eantion. Corelaia dintre v(0) i v(1) este dat de:
v ( 0,1) =
E[v ( 0 ) v (1)] = v ( 0 ) v (1)

2 (1 3 2 1/ 2 ) 4

ceea ce reprezint, n valoare absolut, mai puin dect (dac <1). Pentru =0,95, se obine v(0,1)=0,83, deci corelaia ntre coeficienii transformrii s-a redus. n cazul n care vom aplica aceeai procedur pentru o transformare de dimensiuni 2x2:
A= 1 1 1 2 1 1

se obine 2 ( 0 ) = 1+ , 2 (1) = 1 - i v ( 0,1) = 0 . Pentru =0,95, un procentaj de v v 97,5% din energie va fi mpachetat n v(0). Mai mult dect att, coeficienii v(0) i v(1) devin necorelai.

Funcii i imagini de baz


Diferena principal ntre diferite transformri unitare este dat de alegerea funciilor de baz, respectiv a liniilor matricii transformrii. Aceste linii formeaz un set de vectori de baz ntr-un spaiu N-dimensional. n mod normal, dei orice set de asemenea vectori ortonormali poate fi folosit pentru a realiza o transformare liniar, se folosesc seturi care deriv din aceeai funcie de baz. Transformarea Fourier, de exemplu, folosete funcia exponenial complex ca funcie de baz - prototip. Fa de aceasta, funciile individuale de baz difer numai n frecven. Orice vector din spaiu poate fi exprimat ca sum ponderat de vectori de baz de lungime unitar. Orice transformare unitar unidimensional (Nx1) va corespunde, n consecin, unei rotaii a unui vector n apaiul vectorial N-dimensional. Prin generalizare, avnd n vedere c matricea corespunztoare unei imagini de dimensiuni NxN poate fi considerat ca un vector de dimensiuni N2x1, orice transformare unitar, separabil, simetric, bidimensional va corespunde rotaiei unui vector n spaiul vectorial de dimensiune N2. Transformarea bidimensional invers poate fi imaginat ca o nsumare a unui set de imagini de baz, convenabil ponderate, n vederea reconstruirii imaginii. Fiecare element al matricii transformrii reprezint coeficientul cu care se nmulete imaginea de baz corespunztoare. O imagine de baz poate fi generat prin transformarea invers a unei matrici de coeficieni coninnd numai un singur element nenul, care este considerat unitar. De fapt, exist N2 asemenea matrici, care vor genera N2 imagini de baz. n fond, imaginile de baz pot fi considerate ca un set de componente n care poate fi descompus o imagine i, totodat, blocurile componente din care poate fi reconstruit. Transformarea direct realizeaz descompunerea, prin determinarea coeficienilor, iar transformarea invers realizeaz reconstrucia prin nsumarea imaginilor de baz, ponderate cu aceti coeficieni.
68

PRELUCRAREA DIGITAL A IMAGINILOR

Deoarece exist o infinitate de seturi de imagini de baz, vor exista, de asemenea, o infinitate de transformri. Cu toate acestea, un anumit set de imagini de baz prezint importan numai n contextul unei anumite transformri.

4.4 TRANSFORMRI SINUSOIDALE Transformata Fourier discret unidimensional (DFT)


Transformarea Fourier (DFT) discret a unei secvene {u(n), n=0,..., N-1} se definete ca:
v(k) =
N 1 n=0

u(n) W

kn N

, k = 0,1,...N - 1

(4.28) (4.29)

unde: Transformarea DFT invers este:


1 u(n) = N

2 WN = exp j N
N 1 k =0

v(k)W

kn N

, n = 0,1,...N 1

(4.30)

Perechea de ecuaii (4.29), (4.30) nu reprezint transformri unitare i, innd cont de faptul c n prelucrarea imaginilor este mult mai convenabil s lucrm cu transformri unitare, vom considera perechea transformrilor DFT unitare, definite astfel:
v(k) = u(n) = 1 N 1 N

u(n) W
n =0

N 1

kn N

, k = 0,1,...N - 1 , n = 0,1,...N 1

(4.31) (4.32)

v(k) W
k =0

N 1

kn N

Prin urmare matricea unitar a DFT este:


1 WNkn , 0 k,n N 1 F= N

(4.33)

Proprietile transformrii Fourier discrete


Prezentm, succint, proprietile mai importante ale transformrii Fourier discrete: Simetria: matricile transformrilor DFT i DFT unitare sunt simetrice. Extensii: extensiile transformrilor DFT i DFT unitare ale unei secvene i transformrile lor inverse sunt periodice, cu perioada N. Dac n definiia (4.31) parametrul k ia toate valorile ntregi, secvena v(k) se dovedete periodic, adic v(k)=v(k+N), pentru orice valoare a lui k. Algoritmi rapizi: transformrile DFT i DFT unitare pot fi implementate folosind algoritmi rapizi, n Nlog2N operaii (fiecare operaie fiind o multiplicare i o adunare), folosind o clas de algoritmi numit transformarea Fourier rapid. Numrul real de operaii necesare depinde de N i de alegerea particular a algoritmului din clasa respectiv. Cei mai uzuali algoritmi FFT necesit N=2p (cu p numr ntreg pozitiv) operaii.
69

Cap.4 Transformri de imagini

Simetria conjugat: transformarea Fourier discret a secvenei reale {x(n), n=0,...,N-1} este conjugat simetric n raport cu N/2. Din relaia (4.31) se obine:
v * (n k) = u* (n) WN(N k)n = u(n) WNkn = v(k)
n =0 n =0 N 1 N 1

(4.34) de unde rezult imediat:


N N N v k = v * + k , k = 0,..., 1 2 2 2

(4.35) (4.36)

N N v k = v + k 2 2

Deci frecvenele DFT N/2+k, k=0,...,N/2-1 sunt pur i simplu frecvenele negative situare la =(2/N)(-N/2+k) n spectrul Fourier al secvenei finite {u(n), 0nN-1}. De asemenea, din relaiile (4.27) i (4.34) se poate observa c v(0) i v(N/2) au valori reale, astfel nct secvena real v(0), {Re, {v(k)}, k=1,...,N/2 - 1}, {im{v(k), k=1,...,N/2 - 1}, v(N/2) (4.37) definete complet transformarea Fourier discret a secvenei u(n). De aceea se poate spune c transformarea DFT sau DFT unitar a unei secvene reale de dimensiune Nx1 are N grade de libertate i necesit aceeai capacitate de memorie ca i secvena nsi.

Transformarea Fourier discret bidimensional


Transformarea Fourier discret bidimensional a unei imagini {u(m,n)} de dimensiuni NxN este transformarea separabil definit prin:
ln v(k,l) = u(m,n) WNkm WN , 0 k,l N 1 m= 0 n = 0 N 1 N 1

(4.38)

iar transformarea invers este:


u(m,n) = 1 N2

W
k =0 l =0

N 1 N 1

km N

WN ln v(k,l) , 0 m,n N 1

(4.39)

Perechea unitar bidimensional este dat de relaiile:


1 v(k,l) = N 1 u(m,n) = N

W
m= 0 n = 0

N 1 N 1

km N

ln WN u( m, n ) , 0 n, l N 1

(4.40) (4.41)

v(k,l) W
k =0 l =0

N 1 N 1

km N

WN ln v(k,l), 0 m,n N 1

Proprietile transformrii DFT bidimensionale


Proprietile transformrii unitare DFT bidimensionale sunt similare cu cazul unidimensional i sunt succint trecute n revist n continuare: Simetrie: Extensii periodice:
70

F T = F , F 1 = F *

(4.42)

PRELUCRAREA DIGITAL A IMAGINILOR

v ( + N , l + N ) = v ( k , l ) k , l u( m + N , n + N ) = u( m, n ) m, n

(4.43) (4.44)

~ ~ Spectrul Fourier eantionat: Dac u (m,n) = u(m,n),0 m,n N 1siu (m,n) = 0 n rest, rezult: ~ 2k 2l , U (4.45) = DFT {u( m, n )} = v ( k , l )
N N

unde U ( w1 , w2 ) este transformata Fourier a lui u(m,n). Transformat rapid: deoarece transformarea DFT bidimensional este separabil, relaiile (4.40) i (4.41) sunt echivalente cu 2N transformri DFT unitare unidimensionale, fiecare realizabil n Nlog2N operaii, prin FFT. Rezult deci c numrul total de operaii necesare este de N2log2N. Simetrie conjugat: transformrile DFT i DFT unitar ale unor imagini reale au simetrie conjugat:
N N N N N v k, l = v * k, l , 0 k,l 1 2 2 2 2 2

(4.46) (4.47)

sau

v(k,l) = v * (N k,N l), 0 k,l N 1

De aici se poate deduce foarte uor c v(k,l) are doar N2 elemente reale independente. Spre exemplu, eantioanele din regiunea haurat n figura 4.2 determin complet transformarea DFT.
l 1 0 k (N/2)-1 N/2 N-1 N/2 Fig. 4.2 Simetria coeficienilor DFT (N/2 -1) N/2 N-1

Transformarea Cosinus discret


Transformarea cosinus discret se definete, n spaiul bidimensional, ca:
N 1 N 1 (2m + 1)k (2n + 1)k v(k,l) = (k) (l) u(m,n) cos cos 2N 2N m= 0 n = 0

(4.47)

unde k, l = 0, 1, ... N-1, iar inversa ei ca:


u(m,n) =

(k) (l) v(k,l) cos


k=0 l=0

N 1 N 1

(2m + 1)k (2n + 1)l cos 2N 2N

(4.48)

71

Cap.4 Transformri de imagini

unde m, n = 0, ... N-1, iar coneficienii sunt:


(0) =
1 N [i

(k) =

2 N

pentru 1 k N

(4.49)

La fel ca i transformarea DFT, transformarea cosinus discret poate fi exprimat ca operaie cu matrici unitare: V = CuC (4.50) unde coeficinii transformrii C sunt:
(2m + 1)k c k,m = (k) cos 2N

(4.51)

Transformarea cosinus discret are, de asemenea, un algoritm rapid de implementare dar, spre deosebire de DFT, are numai valori reale. Ca domenii de aplicabilitate, este cea mai folosit transformare n compresia de imagini (vezi cap.11).

Transformarea Sinus discret


Transformarea sinus discret bidimensional, introdus de A.Jain, este definit de relaia: 2 N 1 N 1 (m + 1)(k + 1) (n + 1)(l + 1) v(k,l) = (4.52) u(m,n) sin sin
N + 1 m= 0 n = 0 N +1 N +1

iar transformarea invers, de:


u(m,n) = 2 N 1 N 1 (m + 1)(k + 1) (n + 1)(l + 1) v(k,l) sin N + 1 sin N + 1 N + 1 k =0 l =0

(4.53)

Transformarea sinus discret are elementele matricii unitare de forma:


sm,k = 2 (m + 1)(k + 1) sin N +1 N +1

(4.54)

Spre deosebire de alte transformri de tip sinusoidal, transformarea DST este mai uor de implementat dac N=2p-1, cu p numr ntreg. n acest caz, poate fi considerat ca partea imaginar a unei transformri Fourier rapide de dimensiune (2N+2). Are, totodat, un algoritm rapid de implementare i proprietile ei o impun pentru aplicaii de tip compresie de imagini.

Transformarea Hartley
Transformarea Hartley este o transformare integral continu, propus de matematicianul cu acelai nume, ca alternativ la transformarea Fourier. Varianta discret a acestei transformri (DHT) este dat de relaiile:
v(k,l) = 1 N
N 1 N 1 m= 0 n = 0

u(m,n)cas N

(mk + nl)

(4.55)

i
72

PRELUCRAREA DIGITAL A IMAGINILOR

u( m, n ) =

1 N

v(k,l)cas N
k =0 l =0

N 1 N 1

(mk + nl)

(4.56)

identice i folosind funcia de baz:


cas( ) = cos( ) + sin( ) = 2cos( / 4)

(4.57)

Elementele matricii unitare ale transformrii Hartley sunt de forma:


hm,k = 1 N mk cas 2 N

(4.58)

Spre deosebire de DFT, care transform N numere reale n N numere complexe cu simetrie conjugat, transformarea Hartley discret produce N numere reale. Ea este strns legat de transformarea Fourier discret, fiind pur i simplu diferena dintre partea real i partea imaginar a transformrii Fourier corespondente. Analog, transformarea Fourier este partea par, minus de j ori partea impar a transformrii Hartley. Din aceste motive, DHT constituie o alternativ din punct de vedere al implementrii pe calculator, a transformrii DFT, avnd i ea un algoritm rapid de implementare. Anumite aplicaii de filtrare liniar de imagini, n special n cazul unor imagini simetrice, impun folosirea DHT datorit reducerii semnificative a volumului de calcule (se evit lucrul cu numere complexe).

4.5 TRANSFORMRI RECTANGULARE


Unele dintre transformrile de interes din punctul de vedere al prelucrrilor digitale de imagini folosesc funcii de baz ce reprezint variaii ale unor unde dreptunghiulare i nu sinusoidale ca cele prezentate pn acum. n general, aceste transformri se caracterizeaz prin rapiditate n calcul, avnd n vedere faptul c multe dintre operaiile de nmulire pot fi evitate. n acest paragraf vor fi trecute n revist transformrile Hadamard, Walsh, Slant i Haar. Transformarea Haar difer fundamental de primele trei i este discutat separat, n contextul transformrilor wavelet ce vor fi tratate ntr-un capitol separat (vezi cap.5).

Transformarea Hadamard
Transformarea Hadamard este simetric, separabil i unitar i se evideniaz prin faptul c elementele matricii transformrii iau valorile de +1 sau -1. Transformarea are sens pentru N=2n, unde n este un numr ntreg. Pentru o transformare 2x2, matricea corespunztoare este:
1 1 1 1 H2 = 2 2 1 1

(4.59)

iar pentru dimensiuni mai mari N, ea poate fi generat astfel:


1 1 H N /2 HN = N N H N /2 HN /2 HN /2

(4.60)

73

Cap.4 Transformri de imagini

Pentru orice dimensiune N=2n, matricea conine doar elemente de forma 1, cu condiia ca factorul N-1/2 s fie n afara matricii. Spre exemplu, pentru N=8 matricea Hadamard are forma prezentat n matricea (4.61), unde n coloana din dreapta matricii se evideniaz numrul schimbrilor de semn din linia respectiv. Se poate observa c numrul difer de la o linie la alta i poart numele de secvena liniei. Reordonarea liniilor n aa fel nct secvenele corespunztoare s fie cresctoare, n mod analog cu creterea frecvenei la transformarea Fourier, duce la o transformare mai uor de implementat, care se numete transformare Hadamard ordonat dat de matricea (4.62):
1 1 1 1 1 H= 8 2 21 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 17 1 1 1 1 1 1 13 1 1 1 1 1 1 1 4 1 1 1 1 1 1 11 1 1 1 1 1 1 1 6 1 1 1 1 1 1 1 2 1 1 1 1 1 1 15

(4. 61)

1 1 1 1 1 H8 = 2 21 1 1 1

1 1 1 1 1 1 1 0 1 1 1 -1 1 1 1 1 1 1 1 -1 -1 1 1 2 1 1 -1 1 1 1 -13 -1 -1 1 1 1 1 1 4 1 -1 1 1 1 1 -15 -1 1 1 1 1 -1 1 6 1 1 -1 1 -1 1 17

(4. 62)

Transformarea Walsh
Funciile de baz ale transformrii Hadamard sunt, de fapt, funcii Walsh. Din aceast cauz ea este denumit uneori i transformare Walsh. n unele referine se ntlnete i denumirea combinat de transformare Walsh - Hadamard.

Transformarea Slant
Transformarea Slant are funciile de baz de ordinul 0 i 1 liniare, fapt ce face s fie util n unele aplicaii de prelucrri digitale de imagini. Matricea unitar a transformrii Slant se obine pornind de la transformarea Haar sau Hadamard de dimensiuni 2x2:
S2 = 1 1 1 2 1 1

(4.63)

i iternd-o n conformitate cu urmtorul algoritm:


1 0 a b n n 0 0 1 bn an 0 0 I(n / 2) 2 0 I(n / 2) 2 1 0 an bn 0 0 1 bn 0 an I(n / 2) 2 0 I(n / 2) 2 0 0 S n 1 0 S n 1

Sn =

1 2

(4.64)

unde I este matricea identitate de ordinul N/2-2, iar

74

PRELUCRAREA DIGITAL A IMAGINILOR

a 2N =

3N 2 4N 2 1

si b2N =

N2 1 4N 2 1

(4.65)

Funciile de baz ale transformrii Slant apar n toate secvenele, ncepnd de la 0 la N-1.

Transformarea Haar
Transformarea Haar este simetric, unitar i separabil i folosete ca funcii de baz funciile Haar. Transformarea are sens pentru N=2n, unde n este un numr ntreg. Spre deosebire de transformarea Fourier, unde funciile de baz difer numai n poziie pe axa frecvenelor, funciile Haar variaz att n modul ct i n poziie (scal). Aceast caracteristic particularizeaz transformarea Haar fa de celelalte tipuri de transformri rectangulare i face ca ea s constituie, totodat, un punct de plecare pentru transformrile de tip "wavelet" (undioare). Funciile Haar fiind variabile de doi parametri (scal i poziie), indexarea lor trebuie fcut dup o schem dual. Ele se definesc pe intervalul [0,1] dup cum urmeaz: se consider k un numr ntreg, 0kN-1 unic determinat de ali doi ntregi p i q astfel: k = 2p + q 1 (4.66) De observat c, prin aceast modalitate de definire, nu numai k este o funcie de p i q, dar i p i q sunt funcii de k. Pentru orice valoare a lui k>0, 2p este cea mai mare putere a lui 2 care ndeplinete condiia 2pk, iar q -1 este restul mpririi. Funciile Haar se definesc astfel:
h0 (x) = 1 N

i
q 1 q 1 / 2 p/2 2 , daca 2 p x < 2 p 1 p/2 q 1 / 2 q hk (x) = x< p 2 , daca p 2 2 N 0 , in rest

(4.67)

Dac se va considera x=i/N, i=0, 1,..., N-1, va rezulta un set de funcii de baz. Acestea variaz att ca modul (scal) ct i n poziie. Indicele p specific scala iar q determin deplasarea. Din aceast cauz, ordonarea coeficienilor transformrii dup k nu este la fel de edificatoare ca, spre exemplu, ordonarea spaiului coeficienilor obinut n urma unei transformri Fourier. Pe de alt parte, dac presupunem o caracteristic anumit a imaginii, de tip linie sau muchie, ntr-o anumit poziie de-a lungul axei x, transformata Fourier va codifica aceast poziie n spectrul de faz, n conformitate cu teorema deplasrii. n timp ce poziia conturului este unic specificat i poate fi reconstruit exact cu ajutorul transformrii Fourier inverse, ea nu va fi extrem de observabil n spectru. n contrast cu aceasta, transformarea Haar evideniaz clar liniile i muchiile, dat fiind faptul c funciile sale de baz sunt asemntoare acestor caracteristici. De remarcat faptul c un semnal sau o component a acestuia care se potrivete cu funcia de baz a unei
75

Cap.4 Transformri de imagini

transformri, va determina, prin transformare, un coeficient de valoare mare corespunznd acelei funcii de baz. Avnd n vedere faptul c funciile de baz sunt ortonormale, semnalul va produce n rest coeficieni de valoare mult mai mic. n acest mod, transformarea Haar poate evidenia caracteristici de tip linie sau muchie prin mrimea i poziia lor. Matricea unitar 8x8 a transformrii Haar este:prezentat n relaia (4.68) i topologia se pstreaz pentru numere N mai mari. Datorit faptului c o mare parte dintre coeficienii matricii sunt constani sau nuli, transformarea Haar este foarte rapid.
1 1 2 0 2 0 0 0 1 1 2 0 2 0 0 0 1 1 2 0 0 2 0 0 1 1 2 0 0 2 0 0 1 1 0 2 0 0 2 0 1 1 0 2 0 0 2 0 1 1 0 2 0 0 0 2 1 0 1 1 0 2 2 2 0 2 0 2 0 2 2 2

Hr =

1 8

(4.68)

4.6 TRANSFORMRI BAZATE PE VECTORI PROPRII


Funciile de baz folosite n dou dintre transformrile de imagine importante din punctul de vedere al aplicaiilor sunt derivate din analiza valorilor proprii. Reamintim c, pentru o matrice A de dimensiuni NxN, exist N numere scalare k, k=0, ..., N-1, astfel nct: (4.69) A k = 0 Numerele k se numesc valori proprii ale matricii, iar setul de N vectori vk, definit astfel nct: Av k = k v k (4.70) se numesc vectori proprii ai matricii A. Aceti vectori au dimensiunea Nx1 i fiecare corespunde unei valori proprii. Ei formeaz un set de baz ortonormal. Presupunnd x un vector aleator de dimensiuni Nx1, fiecare element xi a lui x este o variabil aleatoare. Valoarea medie a lui x poate fi estimat dintr-un eantion de L asemenea vectori prin:
mx =

1 L xl L l =1

(4.71)
1 L x l x lt mx mxt L l =1

iar matricea sa de covarian poate fi estimat prin:


C x = E (k mx )(x mx )T =

(4.72)

Aceast matrice de covarian are dimensiuni NxN, este real i simetric. Elementele diagonalei sunt varianele variabilelor aleatoare individuale, n timp ce elementele din afara diagonalei reprezint covarianele acestora. n cazul n care matricea A definete o transformare liniar care genereaz noii vectori y, pornind de la vectorii x, prin: y = A (x m x ) (4.73)
76

PRELUCRAREA DIGITAL A IMAGINILOR

A este definit n aa fel, nct liniile ei sunt vectorii proprii ai lui Cx. Pentru uurina calculelor, liniile lui A se pot ordona descresctor dup mrimea valorilor proprii corespunztoare. Vectorul transformat, y, este un vector aleator, cu valoare medie nul. Matricea sa de covarian este dependent de cea corespunztoare vectorului x prin relaia:
C y = A Cx A T

(4.74)

Avnd n vedere faptul c liniile matricii A sunt vectori proprii ai matricii Cx, Cy va fi o matrice diagonal, avnd de-a lungul diagonalei principale valorile proprii ale lui Cx (consecin a relaiei 4.70). De aici, 0 1
Cy = 0 N

(4.75)

unde k sunt i valorile proprii ale lui Cy. Datorit faptului c elementele din afara diagonalei lui Cy sunt nule, rezult c elementele vectorului y vor fi necorelate, ceea ce nseamn c transformarea A nltur corelaia ntre variabile, iar k reprezint variana variabilei transformate de ordinul k, yk. Este de subliniat, de asemenea, c relaia (4.73) este reversibil, adic vectorul x poate fi reconstruit din vectorul su transformat, y, prin: (4.76) Aceast proprietate rezult din faptul c A este o matrice real i unitar i, deci, ortonormal. Dimensiunea vectorilor y poate fi redus prin neglijarea unuia sau mai multor vectori proprii avnd valori proprii mici. Dac vom considera matricea B, de dimensiuni MxN, obinut prin eliminarea ultimelor N-M linii ale matricii A i vom presupune, pentru simplificare, c m=0, atunci vectorii transformai vor avea dimensiuni mai mici (Mx1) i se vor obine folosind relaia:
~ = Bx y
x = A 1 y + m = A T y + m

(4.77)

Folosind vectorii ~ se pot reconstrui aproximativ vectorii x: y


~ = BT ~ x y

(4.78) (4.79)

cu eroare medie ptratic de forma:


2 = e
k = M +1

adic suma valorilor proprii corespunztoare vectorilor proprii neglijai. n mod normal, varianele valorilor proprii sunt considerabile ca mrime, iar cele mici pot fi neglijate fr a se introduce erori semnificative.

Transformarea Karhunen - Loeve


Relaia (4.73) definete o transformare discret unidimensional, numit n general, n literatura de specialitate transformarea Karhunen - Loeve (sau K-L) dar

77

Cap.4 Transformri de imagini

i transformarea Hotelling, transformarea vectorilor proprii, transformarea componentelor principale. Capacitatea acestei transformri de a reduce dimensiunile vectorilor transformai o face extrem de util n compresia de imagini. Imaginile multispectrale, de exemplu, conin mai multe nivele de gri pentru acelai pixel, fiecare nivel de gri corespunznd unei benzi spectrale diferite. Spre exemplu, o imagine multispectral pe 24 benzi, avnd dimensiunea de 1000x1000, poate fi considerat ca un set de un milion de vectori avnd fiecare 24 elemente. Tehnica reducerii dimensiunilor vectorilor prin transformarea Karhunen-Loeve (K-L) poate fi aplicat n acest caz, spre exemplu, deoarece corelaia ntre diferite benzi spectrale este, n general, destul de ridicat i, n consecin, multe dintre cele 24 valori proprii vor fi mici. Aceasta nseamn c setul de 24 imagini monocrome poate fi reprezentat, cu erori relativ mici, prin doar cteva imagini principale, fiecare dintre ele fiind calculat ca o sum ponderat a celor 24 iniiale. De asemenea, fiecare dintre acestea poate fi reconstruit aproximativ, ca i combinaie liniar a celor cteva imagini principale. Metoda uureaz foarte mult stocarea i transmisia imaginilor, spre exemplu a celor preluate de la satelii. n general, imaginile de baz ale transformrii K-L depind de statistica imaginii luate n considerare i nu pot fi scrise n mod explicit. Dac imaginea poate fi considerat ca un proces Markov de ordinul nti, la care corelaia ntre pixeli scade liniar cu distana care i separ, imaginile de baz pot fi scrise explicit. Pentru imaginile ntlnite n mod obinuit n practic, ncadrarea ca procese Markov este suficient de potrivit. Dac corelaia ntre pixelii adiaceni este apropiat de unitate, funciile de baz K-L se apropie de cele ale transformrii cosinus discrete. Astfel, transformarea DCT, mult mai rapid i mai uor de implementat, poate constitui o foarte bun aproximare a transformrii Karhunen-Loeve, pentru imaginile uzuale.

Transformarea K-L rapid


Dificultile de implementare a transformrii K-L sunt legate de volumul mare de calcule necesitate, mai ales n cazul imaginilor de dimensiuni mari. Transformarea K-L depinde i de statistica imaginii i, n general, se poate spune c vectorii de baz nu au o reprezentare analitic, ca n cazul altor transformri. S-a demonstrat, totui, c anumite modele statistice de imagini permit implementarea unui algoritm rapid pentru transformarea K-L. Acesta se bazeaz pe o descompunere stochastic a imaginii ntr-o sum de dou secvene aleatoare. Prima se alege n aa fel, nct transformata ei K-L s fie o transformare rapid iar a doua, numit "rspunsul conturului", depinde numai de informaia coninut n contururile prezente n imagine.

Transformarea SVD (descompunerea n valori singulare)


O matrice NxN, A, poate fi exprimat ca:
A = U VT

(4.80)

78

PRELUCRAREA DIGITAL A IMAGINILOR

unde coloanele lui u i v sunt vectorii lui AAT i respectiv ATA, iar este o matrice diagonal coninnd valorile singulare ale lui A pe diagonala principal. Dat fiind faptul c U i V sunt ortogonale, = U T AV (4.81) Relaia (4.79) definete o transformare unitar direct, iar (4.78) perechea sa invers, numit transformare "cu descompunere n valori singulare" (singular value decomposition- SVD). Dac A este simetric, atunci U=V. Este de remarcat faptul c matricile transformrilor, U i V, depind de imaginea A care trebuie transformat. n general este necesar calcularea vectorilor proprii ai lui AAT i ATA pentru fiecare imagine care se transform. De asemenea, deoarece A este o matrice diagonal, va avea cel mult N elemente nenule. Din aceast cauz va rezulta o compresie fr pierderi cu un factor de cel puin N, mai mare dect cel obinut dac A are cteva valori nule sau neglijabile. Rezult de aici faptul c efortul suplimentar de calcul aduce cu sine mbuntirea semnificativ a raportului de compresie. n mod normal, unele dintre valorile singulare sunt suficient de mici pentru a putea fi ignorate, cu o eroare nesemnificativ, obinndu-se o compresie "cu pierderi" prin eliminarea valorilor Ai,i mici. Eroarea medie ptratic ce rezult prin aceast trunchiere este pur i simplu suma valorilor singulare eliminate. Trebuie remarcat ns faptul c eficiena n compresia imaginilor a transformrii SVD este, ntr-un fel, neltoare. Cu toate c ntreaga imagine poate fi comprimat n elementele diagonalei matricii A, matricile transformrii, U i V, sunt specifice fiecrei imagini. Ele vor trebui transmise mpreun cu imaginea, n vederea reconstruciei la recepie. E posibil, totui, ca o pereche de asemenea matrici s fie folosite, cu aproximaie, pentru un grup de imagini similare. Pentru ilustrare, s lum o imagine de dimensiuni 5x5:
0 1 A = 2 1 0
18 48 65 48 18

1 3 4 3 1
14 36 48 36 14

2 4 5 4 2
6 14 18 14 6

1 3 4 3 1

Rezult c matricile AAT i vor fi:


6 14 AA T = 18 14 6

0 1 2 1 0
147,07 1,872 = 0,058 0 0

14 36 48 36 14

Matricea transformrii SVD directe, U, va fi:


0,186 0,638 0,241 0,695 0,695 0,476 0,058 0,52 0,133 0,128 0 0 U = 0,691 0,422 0,587 0,128 0,476 0,058 0,52 0,133 0,186 0,638 0,241 0,695 0,695

Matricea valorilor singulare este:


79

Cap.4 Transformri de imagini

0 0 0 12,58 0 1,142 0 0 T 0 0,557 0 = U AU = 0 0 0 0 0 0 0 0 0

0 0 0 0 0

Transformarea SVD invers, aplicat matricii ne d:


0 1 2 1 0 1 3 4 3 1 A = U U T = 2 4 6 4 2 1 3 4 3 1 0 1 2 1 0

4.7 FILTRAREA N DOMENIUL TRANSFORMATEI


Filtrarea liniar poate fi modelat ca o multiplicare a spectrului Fourier a unei imagini cu o funcie de transfer definit n domeniul frecven. Analog se pot defini algoritmi de filtrare i pentru celelalte transformri de imagini. La fel ca i transformarea Fourier, transformrile unitare n general realizeaz o expandare a imaginii ca sum ponderat a imaginilor de baz. Prin transformarea direct se determin, de fapt, coeficienii de ponderare, iar n transformarea invers se face reasamblarea imaginii din imaginile de baz. Filtrarea n domeniul transformatei presupune o modificare a coeficienilor de ponderare, naintea reconstruciei imaginii prin transformarea invers. n cazul filtrrii liniare, transformarea va fi o transformare Fourier, iar modificarea se face nmulind spectrul cu o funcie de transfer. n cazul mai general al filtrrii, matricea coeficienilor este modificat (prin nmulire sau prin alte metode) iar dup transformarea invers rezult imaginea filtrat. n mod evident, natura vectorilor i, implicit, a imaginilor de baz ce rezult stabilesc comportarea diferitelor transformri din acest punct de vedere. De exemplu, zgomotul de tip sinusoidal ce afecteaz o imagine va aprea foarte compact n domeniul transformrii de tip sinusoidal i, deci, va putea fi nlturat foarte uor prin anularea coeficienilor respectivi. n cazul transformrilor rectangulare, problema eliminrii unui asemenea tip de zgomot se complic, deoarece el nu va putea fi separat la fel de uor n domeniul transformatei. n general, dac fie componentele semnalului (utile), fie componentele zgomotului (nedorite) din imagine sunt asemntoare imaginilor de baz ale unei anumite transformri, atunci acea transformare este cea mai potrivit pentru separarea lor, deoarece acele componente vor fi reprezentate foarte compact n domeniul transformatei. Transformarea Haar, spre exemplu, este util n cazul deteciei liniilor sau muchiilor verticale i orizontale, deoarece unele dintre imaginile sale de baz se potrivesc cu aceste caracteristici. Un exemplu n acest sens este dat n cazul imaginii de dimensiuni 8x8 prezentate n matricea care urmeaz:

80

PRELUCRAREA DIGITAL A IMAGINILOR

1 1 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Imagine

2 2 2,83 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Transformata Haar

Dat fiint faptul c transformarea este separabil, o caracteristic a acesteia de tipul unei linii sau muchii orizontale i verticale va produce coeficieni diferii de zero numai n prima linie i, respectiv n prima coloan a imaginii transformate. Numrul coeficienilor diferii de zero va fi cel mult N/2, iar poziia muchiei n imagine determin care i ci dintre coeficieni vor fi nenuli. Datorit asocierii strnse cu sistemele liniare, transformarea Fourier prezint cel mai bine pus la punct fundament teoretic n ceea ce privete filtrarea imaginilor. Celelalte transformri sunt mai dificil de interpretat din punctul de vedere al filtrrii i, de aceea, folosirea lor se face adesea pe baz de experimente. nelegerea similaritilor i diferenelor ntre aceste transformri este extrem de important n alegerea unor soluii potrivite pentru diferite tipuri de aplicaii.

4.8 CONCLUZII
Transformarea DFT: este o transformare rapid, foarte utilizat n prelucrarea digital a semnalelor, convoluie, filtrare digital, analiz. Prezint o foarte bun mpachetare a energiei imaginilor. Necesit, ns, calcule cu valori complexe. Transformarea DCT: este o transformare rapid, necesit operaiuni reale i este alternativ optimal a transformrii K-L pentru imagini nalt corelate. Este utilizat n proiectarea codoarelor prin transformri i a filtrelor Wiener. Prezint, de asemenea, o compactare a energiei excelent. Transformarea DST: este aproximativ de dou ori mai rapid dect transformarea cosinus rapid, este simetric i necesit operaiuni reale; permite implementarea unui algoritm rapid pentru transformarea K-L pentru codare, filtrare, .a.; se folosete, de asemenea, n estimarea performanelor n multe aplicaii de prelucrare de imagini. Compactarea energiei este foarte bun. Transformarea Hadamard: este mai rapid dect transformrile sinusoidale, avnd n vedere c nu necesit operaii de nmulire; se folosete pentru implementarea hard a algoritmilor de prelucrare digital a imaginilor. Se poate spune c este uor de simulat dar dificil de implementat i se aplic n compresia de imagini, filtrare i proiectarea de codoare. Prezint i ea o bun compactare de energie. Transformarea Haar: este o transformare foarte rapid; se folosete n extragerea de caracteristici, codarea de imagini i n aplicaii de analiz a imaginilor. Compactarea de energie este medie.
81

Cap.4 Transformri de imagini

Transformarea Slant: este o transformare rapid i are o foarte bun compactare a energiei imaginilor; se folosete la codarea imaginilor. Transformarea Karhunen-Loeve: este transformarea optimal din mai multe puncte de vedere, dar nu prezint un algoritm rapid i, de aceea, se folosete mai ales n cazul vectorilor de dimensiuni mici, cum ar fi vectorii corespunztori unor imagini multispectrale, precum i pentru evaluarea performanelor altor transformri. Are cea mai bun compactare a energiei n sensul erorii ptratice medii minime. Transformarea SVD: prezint cea mai mare eficien din punctul de vedere a mpachetrii energiei unei imagini date. Din pcate, matricea transformrii difer esenial de la o imagine la alta; nu are un algoritm rapid sau o transformare rapid care s o nlocuiasc. Se folosete n proiectarea filtrelor separabile cu rspuns finit la impuls, la gsirea rangurilor matricilor de dimensiuni mari, etc. Aplicaii poteniale ale transformrii SVD ar putea fi n restaurarea de imagini, estimarea spectrului energetic i n compresia de date.

82

S-ar putea să vă placă și