Professional Documents
Culture Documents
ELEMENTE DE PRELUCRAREA
ŞI ANALIZA IMAGINILOR
2007
EDITURA UNIVERSITĂŢII DIN ORADEA
I. Buzuloiu, Vasile
621.397.3 (075.8)
2
Cuprins:
Prefaţă ………………………………………………………… 7
1. Introducere ………………………………………………………. 9
2. Reprezentarea imaginilor ………………………………………... 12
2.1. Digitizarea imaginilor ………………………………………. 12
2.2. Eşantionarea imaginilor …………………………………….. 15
2.3. Reprezentarea spaţială a imaginilor ………………………… 20
2.4. Proprietăţi ale imaginilor digitale ……………………….….. 25
2.4.1. Proprietăţi metrice ale imaginilor digitale ……….…… 26
2.4.2. Proprietăţi topologice ale imaginilor digitale ………… 27
2.4.3. Relaţii de vecinătate între pixeli ……………………… 28
2.4.4. Paradoxuri de conexitate ..……………………………. 31
2.4.5. Alte proprietăţi topologice şi geometrice ……………... 33
2.5. Reprezentarea spectrală a imaginilor ………………………... 34
2.5.1. Transformata Fourier (TF) bidimensională …………... 36
2.5.2. Proprietăţile transformatei Fourier bidimensionale …... 36
2.5.3. Proprietăţi specifice TF bidimensionale ……………… 43
3. Îmbunătăţirea imaginilor ………………………………………… 52
3.1. Calitatea unei imagini ………………………………………. . 52
3.2. Tehnici de îmbunătăţire a imaginilor ………………………… 55
3.3. Operatori punctuali de îmbunătăţire a imaginilor …………… 57
3.3.1. Operatori punctuali de modificare a contrastului ……… 58
3.3.2. Decuparea intervalelor de niveluri de gri ……………… 62
3.3.3. Modificarea histogramei ………………………………. 64
3.4. Operatori liniari de vecinătate pentru îmbunătăţirea imaginilor.
Filtrarea liniară a imaginilor …………………………………. 68
3.5. Efectul în frecvenţă al operatorilor liniari de vecinătate …….. 73
3.6. Filtrarea neliniară a imaginilor ………………………………. 76
3.6.1. Filtre neliniare de ordine ………………………………. 77
3.6.2. Filtre de ordine multi-etaj ……………………………… 79
3.6.3. Proprietăţi ale filtrelor de ordine ………………………. 81
3
3.6.4. Filtre de ordine de domeniu …………………………… 83
3.6.5. L-filtre ………………………………………………… 85
4. Transformări integrale ale imaginilor ……………………………. 87
4.1. Transformări integrale unitare ………………………………. 87
4.2. Matrici unitare ………………………………………………. 93
4.3. Transformări unitare ale unor semnale unidimensionale …… 98
4.4. Transformări unitare ale unor semnale bidimensionale …….. 100
4.5. Transformata Fourier discretă unidimensională (DFT-1D) …. 104
4.6. Proprietăţi ale transformatei DFT-1D ……………………….. 105
4.7. Transformata Fourier discretă bidimensională (DFT-2D) ….... 108
4.8. Proprietăţi ale transformatei DFT-2D ……………………….. 111
4.9. Transformata Cosinus discretă unidimensională ……………. 113
4.10. Transformata Cosinus discretă bidimensională …………… 115
4.11. Transformata Sinus discretă unidimensională …………….. 120
4.12. Transformata Sinus discretă bidimensională ………………. 121
5. Restaurarea imaginilor …………………………………………… 122
5.1. Filtrarea inversă ……………………………………………… 123
5.2. Filtrul invers cu constrângeri ………………………………... 125
6. Morfologie matematică ………………………………..……. …... 130
6.1. Transformarea Hit or Miss ………………………………….. 130
6.2. Erodarea ……………………………………………………. 132
6.3. Dilatarea …………………………………………………….. 134
6.4. Proprietăţile operaţiilor morfologice ………………………... 136
6.5. Transformări morfologice derivate …………………………. 138
6.5.1. Operatori de extragere a conturului ……….…………. 138
6.5.2. Deschiderea şi închiderea …………………………….. 140
6.6. Trierea dimensională a obiectelor …………………………… 142
6.7. Caracterizarea morfologică a formelor ……………………… 143
6.7.1. Reconstrucţia după marker …………………………… 144
6.7.2. Distanţa Haussdorf …………………………………… 145
6.7.3. Extragerea skeletonului morfologic ………………….. 145
6.7.4. Skeletonul generalizat ………………………………… 149
6.8. Extinderea morfologiei matematice la imagini cu niveluri de gri.. 151
4
6.8.1. Trecerea de la mulţime la funcţie ……………………… 152
6.8.2. Trecerea de la funcţie la mulţime ……………………… 153
6.8.3. Operaţii cu funcţii …………………………………….. 154
7. Segmentarea imaginilor ….………………………………………. 157
7.1. Segmentarea orientată pe regiuni …………………………….. 157
7.1.1. Etichetarea componentelor ……………………………. 158
7.1.2. Metoda arborelui cuaternar (quad-tree) ………………. 159
7.2. Segmentarea imaginilor cu niveluri de gri …………………… 161
7.2.1. Segmentarea bazată pe histogramă ……………………. 161
7.2.2. Segmentarea bazată pe creşterea şi fuziunea regiunilor .. 165
7.3. Segmentarea orientată pe contururi …………………………. 168
7.3.1. Operatori de tip gradient ……………………………… 169
7.3.2. Operatori de tip compas ……………………………… 173
8. Compresia imaginilor ……………………………………………. 176
8.1. Compresia imaginilor binare ………………………………… 177
8.1.1. Codarea de nivel înalt …………………………………. 177
8.1.1.1. Aproximări poligonale …………………………. 177
8.1.1.2. Codul Freeman …………………………………. 178
8.1.1.3. Descriptori Fourier ……………………………… 181
8.1.2. Codarea la nivel de bloc ………………………………. 183
8.1.2.1. Metoda arborelui cuaternar (Quad-tree) ………… 183
8.1.2.2. Metoda WBS (White Block Skipping) …………. 184
8.1.3. Codarea la nivel de bit ………………………………… 185
8.1.3.1. Codarea RLE (Run Length Encoding) ………….. 185
8.1.3.2. Codarea entropică (Huffman) …………………… 186
8.2. Compresia imaginilor cu niveluri de gri ……………………… 188
8.2.1. Codarea pe plane ………………………………………. 188
8.2.2. Metode predictive de compresie ………………………. 190
8.2.3. Compresia cu transformate ……………………………. 194
Bibliografie ……………………………………………………….. 204
5
6
Prefaţă
7
imaginilor (din care fac parte cele de reconstrucţie a imaginilor din proiecţii
care stau la baza imagisticii medicale, a defectoscopiei nedistructive şi a
teledetecţiei satelitare), ustensilele software pentru fotografia digitală (ne
mărginim la un singur exemplu: corecţia în „timp real” a ochilor roşii) şi tot
felul de sisteme de supraveghere a căror componentă principală trebuie să fie
una capabilă de recunoaştere a formelor (maşini, feţe etc).
În pofida faptului că „prelucrarea şi analiza imaginilor” este, cum se
zice azi, un „domeniu de vârf”, noi am fost activi în el de mai bine de 30 de
ani datorită cercetărilor de televiziune digitală şi prelucrare în timp real a
semnalului digital în colectivul de cercetare al Catedrei de Electronică
Aplicată de la Politehnica din Bucureşti; primul sistem digital de analiză a
imaginilor a fost terminat în 1981 iar în următorii ani a fost reprodus în
câteva exemplare la Fabrica de Calculatoare Electronice. Perioada anilor ’80
n-a fost, din păcate, propice dezvoltărilor tehnologice la noi şi astfel
întâietatea şi avantajul pe care apucaserăm să îl avem „în lagărul socialist”,
n-a dat roade. După 1990 ne-am trezit într-o lume care între timp progresase
mult în acest domeniu. Totuşi, experienţa pe care o avem ne-a permis să
reluăm ideile iar astăzi, Laboratorul de Analiza şi Prelucrarea Imaginilor
LAPI al Politehnicii din Bucureşti este destul de bine cunoscut şi peste
hotare; mai mult, transplantul cunoştinţelor l-am făcut şi spre alte universităţi
– Braşov, Oradea – şi aşa se face că astăzi, în Catedra de Electronică a
Universităţii din Oradea există un colectiv important de cadre tinere implicate
în acest domeniu, cu stagii în străinătate şi colaborări internaţionale. Avem
toate condiţiile preliminare pentru un învăţământ responsabil.
Cartea de faţă, scrisă aproape în totalitate de Cristian Grava, adună
elementele esenţiale ale unui curs introductiv dar presupune că studentul –
cititorul – a fost „expus” înainte unor cursuri pregătitoare printre care cel de
teoria statistică a semnalelor, cel de sisteme liniare şi cursurile fundamentale
de matematică pentru ingineri. Ar mai fi de remarcat că, pentru
compactizarea materialului s-a preferat o înşiruire neliniară a subiectelor,
care de exemplu în capitolul 2 trimite la capitolul 4 dar, fiind vorba de
subiecte reluate de la cursuri anterioare, suntem convinşi că cititorul va putea
parcurge textul fără dificultăţi, cel mult eventual cu reluări.
8
1. Introducere
Prelucrarea se
face asupra
Imagine Transformare Imagine acestei imagini
discretizată transformată
9
• Modelele imaginilor pot fi:
stohastice;
deterministe.
transformare-1
Figura 1.2. Transformarea inversă a unei imagini.
10
f(x,y) fd(x,y)+zg f̂ (x,y)
Transformare + Restaurare
zg=zgomot
11
2. Reprezentarea imaginilor
I(x,y)=I(p)
12
Pentru tratări teoretice, imaginea bidimensională poate fi
reprezentată ca o funcţie continuă (analogică) bidimensională I(x,y)=f(x,y),
unde x şi y sunt coordonatele spaţiale. Valoarea funcţiei într-un punct
oarecare (x,y) va reprezenta:
• luminanţa din punctul respectiv, în cazul în care funcţia f(x,y) este o
funcţie reală. În acest caz avem o imagine cu niveluri de gri, numită
impropriu şi imagine alb-negru;
• culoarea din punctul respectiv, în cazul în care funcţia f este o funcţie
vectorială, (f1(x,y),f2(x,y),f3(x,y)) = (R,G,B). În acest caz avem o
imagine color, cu componentele fundamentale (R, G, B).
Trecerea de la o imagine color la o imagine cu niveluri de gri se
face prin adunarea componentelor fundamentale ponderate cu anumiţi
coeficienţi, adică printr-o combinaţie liniară a acestor componente.
Pentru prelucrarea digitală a imaginilor analogice (de exemplu cu
ajutorul unui calculator) este nevoie de discretizarea imaginilor, proces în
urma căruia imaginea este transformată într-o matrice care conţine
elementele de imagine (pixel). În practică, camera video de tip CCD
(Charge Coupled Device) realizează discretizarea imaginilor chiar în
procesul de captare. Pentru afişare, imaginile se pot converti din nou în
formă analogică.
Discretizarea imaginilor analogice se realizează în doi paşi:
• discretizarea spaţială (eşantionarea), cu ajutorul unei reţele discrete
f(l·∆x,k·∆y), l,k∈Z. În urma acestei operaţii rezultă o imagine (matrice)
cu L linii şi K coloane: l≤L, k≤K. Prin urmare, se obţine L×K pixeli, iar
imaginea obţinută se va scrie printr-o expresie de forma:
13
• discretizarea în valoare (cuantizarea): fq(l·∆x,k·∆y) l,k∈Z, l≤L, k≤K, cu:
fq(l·∆x,k·∆y)∈{f1,…,fn}, unde n este numărul nivelurilor de cuantizare a
imaginii (numărul nivelurilor de gri). De exemplu, pentru n=2 avem o
imagine binară.
În acest caz, fiecare eşantion obţinut în pasul anterior (la
eşantionare) este cuantizat folosind un număr finit de biţi. Astfel,
fiecare pixel va avea un anumit nivel de gri (pentru imagini alb-negru)
sau o anumită culoare (pentru imagini color), codificată printr-un
număr constant de biţi.
În reprezentare binară, un pixel oarecare al,k este codat:
(al,k)zecimal=bn-1·2n-1+bn-2·2n-2+…+b1·21+b0·20=q (2.1)
14
2.2. Eşantionarea imaginilor
∆y
x
∆x
Figura 2.1. Matricea de eşantionare a unei imagini.
f e ( x, y ) = ∑ ∑ f ( x, y ) ⋅ δ ( x − m ⋅ ∆x, y − n ⋅ ∆y ) = f ( x, y ) ⋅ δ p ( x, y ) ,
m n
unde:
δ p ( x, y ) = ∑ ∑ δ ( x − l ⋅ ∆x, y − k ⋅ ∆y ) = δ periodic (2.4)
l k
este impulsul Dirac δ periodic:
1, pt. x = 0
δ( x ) = (2.5)
0, în rest
15
Transformata Fourier a semnalului eşantionat este:
{
Fe (u , v) = ℑ{ f e ( x, y )} = ℑ f ( x, y ) ⋅ δ p ( x, y ) } (2.6)
Se ştie că dacă funcţia f(t) este periodică (cu perioada T), seria sa
Fourier este:
2π
j k ⋅t
f (t ) = ∑ C k ⋅ e T , unde coeficienţii: (2.7)
k
2π
1 −j k ⋅t
C k = ∫ f (t ) ⋅ e T dt (2.8)
TT
1 2π 2π
C kl = ∫ ∫ δ p ( x, y ) ⋅ exp − j k⋅x+ l ⋅ y dxdy (2.10)
∆x ⋅ ∆y ( ∆x ) ( ∆y ) ∆x ∆y
∆x ∆x
Deoarece se integrează pe un interval ∆x = − , , respectiv
2 2
∆y ∆y
∆y = − , şi dacă se presupune că într-un dreptunghi cu laturile ∆x,
2 2
∆y cade un singur impuls δp şi numai unul (cel din origine):
16
z
k·∆y
l·∆x
y
1 ∞ ∞ 2π 2π
⇒ C kl = ∫ ∫ δ p ( x, y ) ⋅ exp − j k⋅x+ l ⋅ y dxdy (2.11)
∆x ⋅ ∆y −∞ −∞ ∆x ∆y
∞
Deoarece: ∫ δ (t ) ⋅ f (t )dt = f (0) , iar în cazul de faţă: f(0)=1
−∞
1
⇒ C k ,l = (2.12)
∆x ⋅ ∆y
2π 2π
j k ⋅x + l⋅ y
1 ∆x ∆y
⇒ δ p ( x, y ) = ∑ ∑ ⋅e (2.13)
k l ∆x ⋅ ∆y
2π 2π
j k ⋅ x + l ⋅ y
1 ∆y
⇒ Fe (u , v) = ℑ ⋅ ∑ ∑ f ( x, y ) ⋅ e ∆x (2.14)
∆x ⋅ ∆y k l
17
1 2π 2π 1
⇒ Fe (u , v) = ⋅ ∑ ∑ ℑ u − k, v − l = ⋅ ∑ ∑ ℑ(u − k ⋅ ∆u , v − l ⋅ ∆v )
∆x ⋅ ∆y k l ∆x ∆y ∆x ⋅ ∆y k l
not . 2π not . 2π
unde: ∆u = , ∆v = (2.16)
∆x ∆y
F(u,v) FTJ
∆u
u
u
∆v
Figura 2.3. Spectrul semnalului eşantionat.
∆v-vmax ∆v
vmax
v
umax
∆u-umax
∆u
u
Figura 2.4. Parametrii FTJ.
18
Parametrii umax, respectiv vmax reprezintă frecvenţele spaţiale
maxime din spectrul funcţiei f, în direcţia u, respectiv v (ce corespund
coordonatelor spaţiale x, respectiv y).
Pentru ca semnalul original să fie corect recuperat cu ajutorul unui
FTJ, trebuie ca parametrii acestuia să satisfacă condiţiile:
∆u − u max ≥ u max ∆u ≥ 2 ⋅ u max
⇒ (2.17)
∆v − v max ≥ v max ∆v ≥ 2 ⋅ v max
1, pentru u ≤ ξ si v ≤ η
H (u, v) = (2.19)
0, în rest
19
u max ≤ ξ ≤ ∆u − u max
(2.20)
v max ≤ η ≤ ∆v − v max
Observaţie:
Condiţia de recuperare enunţată de teorema eşantionării este
suficientă dar nu şi necesară. Acest lucru este ilustrat de exemplul
următor:
v
umax
∆u u
vmax
F(u,v)
∆v-vmax ∆v
H(u,v)
∆u-umax
20
pentru elementele unei matrice. Primul indice (l) exprimă poziţia pe linie,
iar cel de-al doilea indice (k) exprimă poziţia pe coloană (figura 2.1).
coloane
0 1 k K-1
0 x
1
l Cl,k
linii
L-1
21
achiziţie de imagini, ca fiind unitatea minimă de lungime care poate fi
observată într-o imagine achiziţionată.
Fiecare pixel reprezintă nu numai un punct al unei imagini, ci o
regiune rectangulară a acesteia, care defineşte o celulă elementară a
imaginii. Valoarea asociată unui pixel reprezintă în mod adecvat media
intensităţii luminoase din celula corespunzătoare. În figura 2.8 este
ilustrată una şi aceeaşi imagine, reprezentată printr-un număr diferit de
pixeli.
(a) (b)
(c) (d)
Figura 2.8. Imagine digitală cu diferite rezoluţii:
(a) - 16×16 pixeli; (b) - 32×32 pixeli; (c) - 64×64 pixeli; (d) - 256×256
pixeli.
22
deranjante datorate discontinuităţilor de niveluri de gri de la marginile
pixelilor, care distrag atenţia privitorului de la conţinutul propriu-zis al
imaginii. Atunci când dimensiunea pixelilor devine mai mică, adică atunci
când creşte rezoluţia spaţială (figura 2.8.c şi 2.8.d), efectele descrise mai
sus devin mai puţin pronunţate, putându-se ajunge până la impresia de
continuitate spaţială a imaginii. Acest lucru de întâmplă când rezoluţia
spaţială a imaginii devine mai mare decât rezoluţia sistemului uman de
vedere, adică atunci când dimensiunea unui pixel al imaginii devine mai
mică decât dimensiunea minimă pe care o poate percepe ochiul uman.
Nu există un răspuns general valabil legat de numărul optim de
pixeli necesar pentru a crea senzaţia de continuitate spaţială a unei
imagini. În cazul observării vizuale a unei imagini, trebuie ca dimensiunea
unui pixel să fie mai mică decât dimensiunea corespunzătoare rezoluţiei
spaţiale a sistemului vizual, la o distanţă nominală a observatorului. În
cazul unei aplicaţii concrete, dimensiunea unui pixel trebuie să fie
obligatoriu mai mică decât dimensiunea celui mai mic obiect pe care
dorim să îl vizualizăm. În general, într-o aplicaţie dată, cel care impune o
limită a numărului de pixeli este sistemul de achiziţie a imaginilor. De
exemplu, chiar dacă se utilizează sisteme de achiziţie cu o rezoluţie
ridicată, de 1000×1000 = 1 milion de elemente, rezoluţia spaţială relativă
este de 10-3. Aceasta poate fi considerată o rezoluţie slabă, deoarece în
cazul măsurării unei lungimi, a unei tensiuni electrice sau a unei frecvenţe,
o rezoluţie sau o precizie satisfăcătoare începe de la 10-6. Însă, în cazul
măsurării unor astfel de mărimi uni-dimensionale, se efectuează
măsurători relativ la un singur punct, în timp ce o imagine de 1000×1000
conţine un milion de puncte. Prin urmare, o imagine poate oferi informaţii
referitoare la variaţia spaţială a unui semnal. În plus, dacă se
achiziţionează secvenţe temporale de imagini, se pot obţine informaţii care
nu sunt accesibile dintr-o imagine statică. Astfel se pot obţine informaţii
legate de variaţiile temporale ale unui semnal şi prin urmare se poate
studia cinematica şi dinamica temporală a acestuia.
23
O reţea rectangulară reprezintă cea mai simplă, dar şi cea mai
răspândită geometrie a unei imagini digitale. Pe lângă aceasta, mai există
şi alte aranjamente geometrice ale pixelilor sau alte forme ale celulelor
elementare. Aceste forme şi dispuneri geometrice sunt similare
configuraţiilor cristaline posibile în cazul corpurilor solide 3D în fizică,
chimie sau mineralogie. Dacă se iau în considerare doar poligoane
regulate, există doar trei forme de reţele regulate posibile: triunghiulare,
pătrate sau hexagonale (figura 2.9).
24
z
m
x
y k
25
2.4.1. Proprietăţi metrice ale imaginilor digitale
Această distanţă este similară distanţei dintre două locaţii dintr-un oraş
cu o reţea rectangulară de străzi şi blocuri închise de clădiri.
• Dacă sunt permise şi deplasări diagonale, se poate defini distanţa d8
sau distanţa de tip şah:
d 8 [(i, j ), (k , l )] = max{i − k , j − l } (2.23)
26
2.4.2. Proprietăţi topologice ale imaginilor digitale
V4 V8
27
Submulţimea lui RC care este conexă în raport cu marginile
imaginii se numeşte fundal, iar restul mulţimii RC se numesc găuri. Dacă
nu avem găuri într-o regiune, aceasta se numeşte regiune simplu conexă.
O regiune cu găuri se numeşte regiune multi-conexă.
Trebuie observat faptul că noţiunea de regiune implică doar
proprietatea de conexitate. Regiunilor li se pot atribui proprietăţi
secundare care îşi au originea în interpretarea imaginilor. Astfel, unele
regiuni din imagine se numesc obiecte. Procesul prin care se determină
care regiuni dintr-o imagine corespund fiecărui obiect se numeşte
segmentarea imaginilor. De exemplu, nivelul de gri al unui pixel
reprezintă o proprietate simplă care poate fi utilizată pentru a defini
obiectele dintr-o imagine. Dacă un pixel are un nivel de gri mai mare
decât anumite praguri predefinite, el aparţine unui anumit obiect. Toate
punctele care satisfac această proprietate şi care sunt conexe, constituie un
obiect. O gaură constă din punctele care nu aparţin unui obiect şi sunt
înconjurate de obiecte. Toate celelalte obiecte constituie fundalul. Un
exemplu îl constituie un text negru pe o pagină albă, în care literele
reprezintă obiectele. Regiunile albe înconjurate de litere reprezintă găuri
(de exemplu în interiorul literei O). Toate celelalte regiuni ale hârtiei
reprezintă fundal.
28
l-1, k l-1, k-1 l-1, k l-1, k+1
Figura 2.13. Regiunea gri reprezintă un obiect (sau regiune conexă) dacă
se utilizează o vecinătate V8 şi două obiecte dacă se utilizează o
vecinătate V4.
29
Acelaşi lucru se poate afirma şi despre fundalul alb din figura 2.13.
Pentru a se putea face o distincţie clară între fundal şi obiectele din figură
se poate defini o vecinătate V4 în cazul obiectelor şi o vecinătate V8 în
cazul fundalului sau invers.
Aceste complicaţii nu apar numai în cazul reţelelor rectangulare. În
cazul unei reţele triunghiulare se poate defini o vecinătate V3 pentru
pixelii care au în comun câte o latură şi o vecinătate V12 pentru pixelii
care au în comun câte un colţ (figura 2.9). În cazul unei reţele hexagonale
se poate defini numai o vecinătate V6 deoarece toţi pixelii care au în
comun un colţ, au în comun şi o latură, iar pixelii care au în comun o
latură, au în comun şi două colţuri. În ciuda acestor dezavantaje, reţelele
hexagonale sunt utilizate în mod curent în prelucrarea imaginilor deşi
sistemele de achiziţie a imaginilor generează, de regulă, imagini ai căror
pixeli sunt dispuşi într-o reţea rectangulară. Motivul îl reprezintă
dispunerea sub formă hexagonală a senzorilor din retina ochiului uman.
În cazul tri-dimensional, relaţiile de vecinătate sunt mai complexe.
În acest caz există trei moduri de definire a vecinătăţilor: voxeli cu feţe
comune, cu laturi comune sau cu colţuri comune. În cazul unei reţele
rectangulare, aceste enunţuri permit definirea unei vecinătăţi V6, V18,
respectiv V26 (figura 2.14).
k m-1
l-1
k-1 k+1
k m
l l
l
l+1
Figura 2.14. Cele trei tipuri de vecinătăţi posibile într-o reţea cubică 3D:
(a) - V6: voxeli cu feţe comune; (b) - V18: voxeli cu laturi comune;
(c) - V26: voxeli cu colţuri comune.
30
Şi în acest caz trebuie definite două tipuri de vecinătăţi pentru
obiecte şi pentru fundal, pentru a putea defini în mod corect regiunile
conexe. Astfel, în cazul obiectelor se poate utiliza o vecinătate V6, iar în
cazul fundalului se poate utiliza o vecinătate V26 sau invers.
31
Exemplul 2. În figura următoare este prezentat un alt paradox.
A D
C B
32
dispozitivelor de digitizare utilizează o reţea rectangulară, în ciuda
dezavantajelor şi paradoxurilor prezentate.
O alternativă pentru eliminarea problemelor de vecinătate sau
conexitate este de a utiliza topologia discretă, considerând familii de
mulţimi de diferite dimensiuni. De exemplu, punctele (0-dimensionale)
pot fi atribuite unor mulţimi care să conţină structuri de dimensiuni mai
mari (ca de exemplu, mulţimi de pixeli), care permit eliminarea
paradoxurilor expuse. Liniile (1-dimensionale) permit o definiţie precisă a
muchiilor şi contururilor etc.
33
un multiplu de 90o, în timp ce amplitudinea sa reprezintă diferenţa
absolută dintre nivelurile de gri ale perechilor relevante de pixeli.
Pentru descrierea proprietăţilor geometrice ale obiectelor se
utilizează contururi convexe. Un contur convex este cea mai mică regiune
care conţine un obiect, astfel încât oricare două puncte ale regiunii pot fi
unite printr-o linie dreaptă, toate punctele liniei aparţinând regiunii.
Un obiect poate fi reprezentat printr-o colecţie a componentelor
sale topologice. Mulţimile de puncte din interiorul contururilor convexe,
care nu aparţin unui obiect, sunt numite deficit de convexitate.
t
ω
f(t) |F(ω)|
t
ω
Figura 2.16. Ilustrarea spectrului unui semnal lent şi a unuia rapid
variabil.
34
În cazul imaginilor (2D) se poate determina dacă are sau nu
contururi multe, prin inspecţia spectrului său, pornind de la constatarea că
variaţiile rapide (frecvenţele mari) corespund contururilor.
Spectrul unui semnal (sau al unei imagini) se obţine prin
transformata Fourier a acestuia.
35
2.5.1. Transformata Fourier bidimensională
Definiţie:
Se consideră funcţia bidimensională f(x,y), f: R→C, unde:
def .
2
f ∈ L2 = f : R 2 → C | E f = ∫∫ f ( x, y ) dxdy < ∞ (2.27)
R2
Transformata Fourier bidimensională a funcţiei f se defineşte ca
fiind:
def . ∞ ∞
ℑ{ f ( x, y )} = ∫ ∫ f ( x, y ) ⋅ exp[− j ⋅ (u ⋅ x + v ⋅ y )]dxdy = F (u , v) (2.28)
− ∞ −∞
unde: x,y sunt coordonate spaţiale, iar u,v sunt frecvenţe spaţiale.
1. Deplasarea semnalului:
Dacă funcţiei unidimensionale 1D f(t) îi corespunde transformata
Fourier F(ω) atunci funcţiei f(t-t0) îi corespunde:
F1D F1D
f (t ) ↔ F (ω ) ⇒ f (t ± t 0 ) ↔ F (ω ) ⋅ e ± j⋅ω⋅t0 (2.30)
36
F2 D F2 D
f ( x, y ) ↔ F (u , v) ⇒ f ( x ± x0 , y ± y 0 ) ↔ F (u , v) ⋅ e ± j⋅(u⋅x0 +v⋅ y0 ) (2.31)
Demonstraţie:
ℑ{ f ( x − x0 , y − y 0 )} = ∫∫ f ( x − x0 , y − y 0 ) ⋅ e − j⋅(u⋅x +v⋅ y )dxdy (2.32)
2
R
Făcând schimbările de variabile: x-x0=x’, respectiv y-y0=y’, iacobianul
corespunzător este:
∂x ∂y
∂x' ∂y '
I = det =1 (2.33)
∂y ∂y
∂x' ∂y '
2. Deplasarea spectrului:
Dacă funcţiei unidimensionale 1D f(t) îi corespunde spectrul
(transformata Fourier) F(ω), atunci funcţiei f (t ) ⋅ e ± j⋅ω0 ⋅t îi
corespunde spectrul deplasat:
F1D F1D
f (t ) ↔ F (ω ) ⇒ f (t ) ⋅ e ± j⋅ω0 ⋅t ↔ F (ω m ω 0 ) (2.34)
În cazul bidimensional:
F2 D F2 D
f ( x, y ) ↔ F (u , v) ⇒ f ( x, y ) ⋅ e ± j⋅(u⋅x0 +v⋅ y0 ) ↔ F (u m u 0 , v m v0 ) (2.35)
37
3. Scalarea semnalului:
Dacă funcţiei f(x,y) îi corespunde transformata Fourier F(u,v), atunci
funcţiei scalate f (ax, by ) îi corespunde transformata Fourier:
F2 D F2 D 1 u v
f ( x, y ) ↔ F (u , v) ⇒ f (a ⋅ x, b ⋅ y ) ↔ ⋅ F , (2.36)
a⋅b a b
t ω
1 ω
f(a·t) ⋅ F
a a
Pt. a<1
t ω
Demonstraţie:
ℑ{ f (a ⋅ x, b ⋅ y )} = ∫∫ f (a ⋅ x, b ⋅ y ) ⋅ e − j⋅(u⋅x +v⋅ y ) dxdy (2.37)
2
R
38
x' y ' 1 u v
ℑ{ f ( a ⋅ x, b ⋅ y )} = ∫∫ f ( x ' , y ' ) ⋅ exp − j ⋅ u ⋅ + v ⋅ ⋅ I ⋅ dx ' dy ' = ⋅ F , q.e.d.
R 2 a b a ⋅ b a b
4. Liniaritatea:
Dacă funcţiilor f, respectiv g le corespunde transformatele Fourier F,
respectiv G, atunci funcţiei compuse α ⋅ f + β ⋅ g îi corespunde
transformata Fourier compusă:
F2 D F2 D
f , g ↔ F,G ⇒ α ⋅ f + β ⋅ g ↔ α ⋅ F + β ⋅ G, ∀α , β ∈ C (2.39)
5. Proprietatea de simetrie:
Dacă funcţiei f(x,y) îi corespunde transformata Fourier F(u,v), atunci
funcţiei simetrice faţă de origine f (− x,− y ) , îi corespunde un spectru
(transformata Fourier) simetric faţă de origine:
F2 D F2 D
f ( x, y ) ↔ F (u , v) ⇒ f (− x,− y ) ↔ F (−u ,−v) (2.40)
39
6. Teorema convoluţiei:
Fie funcţiile bidimensionale f , g : R 2 → C . Produsul de convoluţie al
funcţiilor f şi g se defineşte astfel:
def .
f ( x, y ) ∗ g ( x, y ) = ∫∫ f (ξ ,η ) ⋅ g ( x − ξ , y − η )dξdη = (2.43)
2
R
def .
= ∫∫ f ( x − ξ , y − η ) ⋅ g (ξ ,η )dξdη = g ( x, y ) ∗ f ( x, y ) (2.44)
2
R
F2 D 1
f ( x, y ) ⋅ g ( x, y ) ↔ F (u , v) ∗ G (u , v) (2.46)
4π 2
Demonstraţie:
def .
ℑ{ f ( x, y ) ∗ g ( x, y )} = ∫∫ f ( x, y ) ∗ g ( x, y ) ⋅ e − j⋅(u⋅x +v⋅ y ) dxdy =
R2
= ∫∫ ∫∫ f (ξ ,η ) ⋅ g ( x − ξ , y − η )dξdη ⋅ e − j⋅(u⋅x +v⋅ y ) dxdy =
R 2 R 2
= ∫∫ f (ξ ,η ) ⋅ ∫∫ g ( x − ξ , y − η ) ⋅ e − j⋅(u⋅ x +v⋅ y ) dxdy dξdη =
R 2
R2 1444444 424444444 3
G (u ,v )⋅e − j ⋅(ξ ⋅u +η ⋅v )
40
= ∫∫ G (u , v) ⋅ f (ξ ,η ) ⋅ e − j⋅(ξ ⋅u +η ⋅v ) dξdη = F (u , v) ⋅ G (u , v) q.e.d.
R2
Demonstraţie:
1 j (u⋅ x + v⋅ y )
g ( x, y ) = ∫∫ G (u, v) ⋅ e dudv
2
4π R2
1 − j ( u ⋅ x + v⋅ y )
g * ( x, y ) = *
∫∫ G (u, v) ⋅ e dudv
2
4π R2
def 1
⇒ f , g = ∫∫ f ( x, y ) ⋅ ∫∫ G * (u , v) ⋅ e − j (u⋅ x +v⋅ y ) dudv dxdy =
R2 4π 2 R 2
41
1
= ∫∫ G * (u , v) ⋅ ∫∫ f ( x, y ) ⋅ e − j (u⋅ x +v⋅ y ) dxdy dudv =
4π 2 R 2
R2 144444244444 3
F ( u ,v )
1 * 1
= ∫∫ F (u , v) ⋅ G (u , v)dudv = F,G q.e.d.
4π 2 R 2 4π 2
8. Teorema simetriei:
Dacă funcţiei unidimensionale f(t) îi corespunde transformata Fourier
F(ω), atunci transformatei Fourier privită ca funcţie de timp F(t) îi
corespunde transformata Fourier simetrică multiplicată cu constanta
2π:
F1D F1D
f (t ) ↔ F (ω ) ⇒ F (t ) ↔ 2π ⋅ f (−ω ) (2.51)
Un exemplu este prezentat în figura următoare:
42
f(t) F(ω)
F1D
t ω
F(t) f(ω)
F1D
t ω
9. Separabilitatea:
Transformata Fourier bidimensională este separabilă:
∞ ∞
F (u , v) = ∫ ∫ f ( x, y ) ⋅ exp[− j ⋅ (u ⋅ x + v ⋅ y )]dxdy =
−∞ − ∞
∞∞
= ∫ ∫ f ( x, y ) ⋅ exp(− j ⋅ u ⋅ x )dx ⋅ exp(− j ⋅ v ⋅ y )dy =
∞
−∞ −
14444244443
Fx (u , y )
43
∞
= ∫ Fx (u , y ) ⋅ exp(− j ⋅ v ⋅ y )dy = Fxy (u , v) = F (u , v) (2.53)
−∞
F pe x F pe y
f ( x, y )
1D
→ Fx (u , y )
1D
→ Fxy (u , v) = F (u , v) sau:
F pe y F pe x
f ( x, y )
1D
→ F y ( x, v)
1D
→ F yx (u , v) = F (u , v) (2.54)
44
∂f F2 D
F
∂x ←→ j ⋅ u ⋅ F (u , v)
f ( x, y ) ←2
D
→ F (u , v) ⇒ (2.56)
∂f ←
F2 D
→ j ⋅ v ⋅ F (u , v)
∂y
Demonstraţie:
def . 1
f ( x, y ) = ∫∫ F (u , v) ⋅ exp[ j ⋅ (u ⋅ x + v ⋅ y )]dudv (2.57)
4π 2 R2
∂f 1
⇒ = ∫∫ F (u, v) ⋅ j ⋅ u ⋅ exp[ j ⋅ (u ⋅ x + v ⋅ y )]dudv = j ⋅ u ⋅ F (u, v) q.e.d.
∂x 4π 2 R 2
∂2 f F
În mod similar: ⇒ ←2
D
→ = −v 2 ⋅ F
2
∂y
F
⇒ ∆f ( x, y ) ←2
D
→ = −(u 2 + v 2 ) ⋅ F (u , v) (2.59)
45
∞ ℑ
∫ f ( x, y )dx ←→ F (0, v)
F − ∞
f ( x, y ) ←2
D
→ F (u , v) ⇒ (2.60)
∞
f ( x, y )dy ←→ℑ
∫ F (u ,0)
− ∞
Demonstraţie:
def . ∞ ∞
F (u , v) = ∫ ∫ f ( x, y ) ⋅ exp[− j ⋅ (u ⋅ x + v ⋅ y )]dxdy
−∞ −∞
∞ ∞ ∞ ∞
⇒ F (0, v) = ∫ ∫ f ( x, y ) ⋅ exp(− j ⋅ v ⋅ y )dxdy = ∫ ∫ f ( x, y )dx ⋅ exp(− j ⋅ v ⋅ y )dy
−∞
− ∞ −∞ −∞ 1 44244 3
14o4 functie de y
444424444443
transformata Fourier a functiei de y
∞
⇒ F (0, v) = ℑ ∫ f ( x, y )dx (2.61)
− ∞
12. Teorema rotaţiei:
Dacă funcţiei unidimensionale f îi corespunde transformata Fourier
F, atunci funcţiei rotite cu un unghi α, fα, îi corespunde o
transformată Fourier rotită în acelaşi sens şi cu acelaşi unghi α.
În cazul bidimensional (deci în cazul unei imagini 2D), dacă
funcţiei bidimensionale f(x,y) îi corespunde transformata Fourier
F(u,v), atunci funcţiei rotite cu un unghi α, fα(x,y), îi corespunde un
spectru rotit în acelaşi sens şi cu acelaşi unghi α.
Rotaţia (Rotα) conservă liniaritatea şi simetriile.
46
y
y'
y
α
x' x x
Figura 2.19. Rotaţia unui segment de dreaptă.
Demonstraţie:
ℑ{ f α ( x, y )} = ∫∫ f ( x ⋅ cos α + y ⋅ sin α,− x ⋅ sin α + y ⋅ cos α) ⋅ e − j⋅(u⋅ x +v⋅ y ) dxdy
R2
47
x cos(−α ) sin( −α ) x' cos α − sin α x'
⇒ = ⋅ = ⋅
y − sin( −α ) cos(−α ) y ' sin α cos α y '
Înlocuind:
ℑ{ f α ( x, y )} = ∫∫ f ( x' , y ' ) ⋅ exp[− j (u ⋅ x'⋅ cos α − u ⋅ y '⋅ sin α + v ⋅ x'⋅ sin α + v ⋅ y '⋅ cos α )]dx' dy '
R2
Iacobianul este:
∂x ∂x
∂x' ∂y ' cos α − sin α
det = det =1
∂y ∂y sin α cos α
∂x'
∂y '
⇒ ℑ{ f α ( x, y )} = ∫∫ f ( x' , y ' ) ⋅ exp− j (u ⋅ cos α + v ⋅ sin α) ⋅ x'+(−u ⋅ sin α + v ⋅ cos α) ⋅ y ' dx' dy '
14442444 3 144424443
R2 u' v'
Demonstraţie:
Presupunem că f(x,y) este o funcţie cu simetrie circulară. În
coordonate polare (fp), această proprietate se scrie:
f ( x, y ) = f ( ρ ⋅ cos ϕ , ρ ⋅ sin ϕ ) = f p ( ρ , ϕ ) , (2.66)
48
x = ρ ⋅ cos ϕ
unde:
y = ρ ⋅ sin ϕ
ρ=0…∞
φ=0…2π
49
Iacobianul este:
∂x ∂x
∂ρ ∂ϕ cos ϕ − ρ ⋅ sin ϕ
det = det =ρ (2.70)
∂y ∂y sin ϕ ρ ⋅ cos ϕ
∂ρ
∂ϕ
∞ ∞
⇒ F (u , v) = ∫ ∫ ρ ⋅ f p ( ρ , ϕ ) ⋅ exp[− j ⋅ (u ⋅ ρ ⋅ cos ϕ + v ⋅ ρ ⋅ sin ϕ )] ⋅ dρ ⋅ dϕ
−∞ −∞
Se fac notaţiile:
u = r ⋅ cos θ not .
⇒ F p (r , θ ) = F (r ⋅ cos θ , r ⋅ sin θ ) (2.71)
v = r ⋅ sin θ
not. ∞ 2π
⇒ F p (r , θ) = ∫ ∫ ρ ⋅ f p (ρ, ϕ) ⋅ exp[− j ⋅ r ⋅ ρ(cos θ ⋅ cos ϕ + sin θ ⋅ sin ϕ)] ⋅ dρ ⋅ dϕ
0 0
∞ 2π
⇒ F p (r ,θ ) = ∫ ρ ⋅ f p ( ρ ) ⋅ ∫ ⋅ exp[− j ⋅ r ⋅ ρ ⋅ cos(ϕ − θ )]dϕ ⋅ dρ
0 1044444 42444444 3
2π
= ∫ e − j⋅r ⋅ρ ⋅cos ϕ dϕ = J 0 ( ρ ⋅r )
0
deoarece integrandul este periodic dupã ϕ,
cu perioada 2π
∞ 2π
⇒ F p (r ,θ ) = ∫ ρ ⋅ f p ( ρ ) ⋅ ∫ e − j⋅r⋅ρ ⋅cos ϕ dϕ dρ = F p (r ) (2.73)
0 0
50
În plus, se ştie că:
2π
J 0 ( x) = ∫ exp(− j ⋅ x ⋅ cos ϕ )dϕ = funcţia Bessel de ordinul 0
0
∞
⇒ F p (r ) = ∫ ρ ⋅ f p ( ρ ) ⋅ J 0 ( ρ ⋅ r )dρ = transformata Henkel
0
def . ∞
H { f ( ρ )} = ∫ ρ ⋅ f p ( ρ ) ⋅ J 0 ( ρ ⋅ r )dρ = F (r ) = transformata
0
Henkel a unei funcţii de o singură variabilă f(ρ).
51
3. Îmbunătăţirea imaginilor
52
imaginea degradată. Măsura degradării este estimată prin raportul dintre
energia semnalului şi energia zgomotului, care este estimat prin relaţia:
∑ x , y f ( x, y ) 2
SNR ( f ' , f ) = 10 ⋅ log10 (dB) (3.2)
( 2
∑ x , y f ( x, y ) − f ' ( x , y ) )
2 2
53
Zgomotul poate fi:
• zgomot aditiv, în cazul în care zgomotul η şi semnalul de imagine f
sunt independente:
f’(x,y) = f(x,y) + η(x,y) (3.5)
În timpul transmisiei zgomotul este, în general, independent de
semnalul de imagine. Prin urmare, degradarea sa poate fi modelată ca
un zgomot aditiv.
• zgomotul multiplicativ este o funcţie descrisă de relaţia:
f'(x,y) ≈ f(x,y) · η(x,y) (3.6)
• zgomotul impulsiv (de tip impuls) corespunde unei degradări a
imaginii cu pixeli „zgomotoşi” a căror valoare diferă semnificativ de
cea a pixelilor din vecinătatea lor.
• zgomotul de tip „sare şi piper” este utilizat pentru a descrie zgomotul
impulsiv saturat, care corespunde unei imagini degradate cu pixeli albi
şi/sau negri, de exemplu.
Un parametru important în aprecierea calităţii unei imagini îl
constituie contrastul. Contrastul reprezintă variaţia locală a nivelului de gri
şi se defineşte ca raport între nivelul mediu de gri al unui obiect şi cel al
fundalului. Ochiul uman este logaritmic sensibil la iluminare şi la variaţii
ale nivelurilor de gri. Acesta este motivul pentru care majoritatea
monitoarelor au implementată o corecţie de tip gamma. Nivelul de gri
aparent depinde foarte mult de nivelul local de gri al fundalului. Acest
efect este numit contrast condiţional. Datorită acestui efect, percepţia
vizuală a unor obiecte cu acelaşi nivel de gri poate fi diferită dacă acestea
sunt plasate pe un fundal de culoare închisă sau deschisă.
54
3.2. Tehnici de îmbunătăţire a imaginilor
55
Operatorii de îmbunătăţire a imaginilor pot fi împărţiţi în trei mari
categorii:
• operatori punctuali, prin care se realizează o relaţie de corespondenţă
punctuală între valoarea originală a fiecărui pixel şi valoarea sa după
transformare;
• operatori spaţiali (locali sau de vecinătate), la care noua valoare a
nivelului de gri a unui pixel se obţine din valoarea originală a
pixelului respectiv şi din valorile originale ale unor pixeli din
vecinătatea acestuia;
• operatori integrali, în cazul cărora valoarea nouă a unui pixel depinde
de valorile tuturor pixelilor din imaginea originală, obţinându-se
printr-o transformare integrală a acestora.
Pentru a exemplifica operaţiile de îmbunătăţire a imaginilor, se vor
considera imagini de dimensiuni L×K (cu L linii şi K coloane) şi se va
nota cu U imaginea iniţială şi cu V imaginea îmbunătăţită, rezultată în
urma aplicării unei operaţii sau transformări de îmbunătăţire (T) asupra
imaginii iniţiale:
U = {U (l , k ) | 1 ≤ l ≤ L,1 ≤ k ≤ K } , (3.7)
V = {V (l , k ) | 1 ≤ l ≤ L,1 ≤ k ≤ K } (3.8)
56
V=T(U)
K K
U V
L L
v(l,k)
u(l,k)
U L V
L
57
3.3.1. Operatori punctuali de modificare a contrastului
Negativarea imaginii
58
Pentru obţinerea unui rezultat cât mai util, ar trebui ca imaginile U1
şi U2 să reprezinte aproximativ acelaşi lucru, dar în alte ipostaze (de
exemplu un obiect în mişcare).
Printre domeniile de aplicaţii se poate menţiona angiografia (grafia
vaselor de sânge). În acest scop se achiziţionează o radiografie a
pacientului în stare normală, după care se injectează în vasele sanguine o
substanţă contrastantă în raze X şi se achiziţionează o nouă radiografie.
Prin compararea şi diferenţa celor două radiografii se scot în evidenţă
zonele de interes, potenţial afectate de anumite boli.
Această operaţie poate fi utilizată şi pentru detecţia mişcării în
secvenţe de imagini.
v1
u , 0 ≤ u ≤ u1
u1
v − v1 (3.11)
v = f (u ) = v1 + 2 ⋅ (u − u1 ), u1 ≤ u ≤ u 2
u 2 − u1
N − 1 − v2
v 2 + ⋅ (u − u 2 ), u 2 ≤ u ≤ N − 1
N − 1 − u2
v v −v N − 1 − v2
unde pantele α = 1 , β = 2 1 şi γ = , vor determina
u1 u 2 − u1 N − 1 − u2
variaţiile relative de contrast (figura 3.3).
59
v
N-1
v2 γ
β
v1
α
O u1 u2 N-1 u
Figura 3.3. Modificarea contrastului.
60
v
N-1
O u1 u2 N-1 u
N-1
61
Variantele neliniare de modificare a contrastului sunt compresia (sau
compandarea) şi inversa acesteia, expandarea. Prin compresie se obţine o
variaţie maximă a contrastului în zona nivelurilor de gri apropiate de 0, iar
prin expandare, variaţia maximă a contrastului se obţine în zona
nivelurilor de gri apropiate de N-1. Compresia logaritmică (figura 3.6) este
descrisă de ecuaţia:
N −1
v= ⋅ lg(1 + u ), u,v ∈ [0 ,N-1] (3.13)
lg N
N-1
O u
N-1
Figura 3.6. Expandarea şi compresia.
62
fiind transformate într-o valoare unică, numită fundal (F). Expresia
analitică a acestui operator este:
F , 0 ≤ u ≤ u1
v = f (u ) = u , u1 ≤ u ≤ u 2 (3.15)
F , u ≤ u ≤ N − 1
2
N-1
v2
v1
F
O
u1 u2 N-1 u
Figura 3.7. Decuparea nivelurilor de gri.
N-1
O u
u1 u2 N-1
Figura 3.8. Slicing-ul nivelurilor de gri.
63
3.3.3. Modificarea histogramei
1 L −1, K −1
h(u ) = ∑ ∑ δ ( f (l , k ) − u ), u ∈ [0, N − 1] (3.16)
L ⋅ K l = 0, k = 0
64
N −1
Într-adevăr, h(u)>0, ∀u, şi ∑ h(n) = 1 . Orice funcţie de densitate de
n =0
probabilitate are asociată o funcţie de repartiţie. În cazul histogramei
imaginilor, această funcţie de repartiţie este histograma cumulativă:
u
H (u ) = ∑ h(n), u ∈ [0; N − 1] (3.17)
n =o
65
Nivelul Nr. de pixeli
Nr. de pixeli
de gri având acest 1200
nivel de gri 1000
800
0 796
600
1 1023 400
2 850 200
3 650 0
4 329 1 2 3 4 5 6 7 8
nivelul de gri
5 245
6 122
7 81
66
Histograma "egalizată" este deci (figura 3.10):
nr de pixeli
1200
1000
800
600
400
200
0
0
1 21 32 43 54 65 76 78
67
de gri. Această nouă paletă de culoare poate fi construită după orice fel de
reguli care să corespundă problemei de rezolvat: de exemplu, toţi pixelii al
căror nivel de gri este 250 vor fi afişaţi cu roşu şi toţi pixelii al căror nivel
de gri este cuprins între 100 şi 120 vor fi afişaţi cu verde. Se pot introduce
şi condiţii relative la poziţia spaţială a pixelilor sau la alte caracteristici
locale ale acestora.
Schema generală a unei operaţii de pseudocolorare este detaliată în
figura 3.10.
index R G B
Imagine Bloc de
iniţială extragere
caracteristici
Display
Paletă de culori
68
prin tehnica "ferestrei glisante" (moving-window), iar fereastra ce
culisează peste imagine se mai numeşte şi mască spaţială sau filtru
bidimensional şi are rolul de a selecta vecinătatea pixelului curent asupra
căruia operează filtrul respectiv.
Expresia analitică a acestei operaţii este:
69
a-1-1 a-10 a-11
a0-1 a00 a01
a1-1 a10 a11
1 1 1 0 1 0
1 1
⋅ 1 1 1 ⋅ 1 4 1 (3.20)
9 8
1 1 1 0 1 0
(a) (b)
Filtrul (a) realizează media între pixelul central şi vecinii săi, iar
filtrul (b) realizează media ponderată între pixelul central şi vecinii săi
verticali şi orizontali.
70
Forma şi coeficienţii ferestrei se aleg astfel încât să corespundă
aplicaţiei concrete. Singura constrângere în ceea ce priveşte coeficienţii
ferestrei, pentru filtrele de mediere (al căror efect este de FTJ) este:
∑ ∑ a(i, j ) = 0 (3.22)
(i , j )∈w
0 −1 0 − 1 − 1 − 1 1 −2 1
− 1 [4] − 1 − 1 [8] − 1 − 2 [4] − 2 (3.23)
0 − 1 0 − 1 − 1 − 1 1 − 2 1
71
etapele ulterioare de prelucrare a imaginii (segmentare, detecţie de contur,
recunoaştere de forme etc.).
O primă modalitate de reducere a efectului de bluring este
ponderarea pixelilor mediaţi în funcţie de distanţa faţă de centrul ferestrei:
72
3.5. Efectul în frecvenţă al operatorilor liniari de vecinătate
După cum s-a arătat mai sus, aplicarea unui filtru de mediere se
face prin convoluţia între imaginea iniţială u şi funcţia pondere a filtrului
h:
v = h*u (3.26)
V=H⋅U (3.27)
73
z
z
F
x x
y y
(a) (b)
Figura 3.12. Transformata Fourier a unui filtru de mediere cu coeficienţi
constanţi.
≡
u v u v
Mediere
FTJ
spaţială
74
≡ u + v
u v
FTS
-
FTJ
unde hTJ1 şi hTJ2 sunt funcţii de transfer a două FTJ. Deci un FTB se
poate obţine din 2 FTJ astfel (figura 3.15):
≡ u FTJ v
u v
FTB hTJ1(l,k) +
-
FTJ
hTJ2(l,k)
75
iniţiale. Folosirea transformărilor integrale mută problema într-un plan
dual planului imaginii şi anume planul frecvenţelor spaţiale.
Repartiţia spaţială a spectrului diferă de la o transformare la alta:
FTJ FTJ
FTB FTB
FTS
FTB FTB
76
3.6.1. Filtre neliniare de ordine
rankk(X)=x(k) (3.31)
77
Cel mai utilizat filtru de ordine este filtrul median, caracterizat de:
N + 1
k= , (unde [x]= partea întreagă a lui x) adică ieşirea filtrului
2
median este statistica de ordine situată în centrul secvenţei ordonate.
Considerând, de exemplu, setul de 9 valori extrase de fereastra de
filtrare (N=9), X={70,200,201,75,75,198,199,255,80}, ieşirea filtrului
9 + 1
median va fi statistica de ordinul k = =[5]=5.
2
Setul de valori ordonate este:
X()={70,75,75,80,198,199,200,201,255}.
Ieşirea filtrului median este, în acest caz: x(5)=198.
78
dimensiune inferioară ferestrei de filtrare) să fie eliminate. Capacitatea
unui filtru de a nu modifica anumite structuri de semnal, constituie o
caracteristică deterministă a acestuia şi este exprimată de semnalele
rădăcină (semnalele care nu sunt modificate la trecerea prin filtru). Pentru
un filtru median, semnalele rădăcină sunt compuse din paliere constante şi
rampe monotone, de lungime mai mare decât dimensiunea ferestrei de
filtrare. Un semnal rădăcină se poate obţine prin filtrarea repetată (până la
obţinerea invarianţei) a unui semnal oarecare.
x1 x2 x3
x4 x5 x6
x7 x8 x9
79
MAX
(sau MIN)
Efectul acestui filtru este mai bun decât a unui filtru median,
deoarece se obţine un contrast mai bun, datorită filtrului extrem (max sau
min), cu excepţia liniilor de zgomot, care trec prin filtrele mediane.
Se poate arăta că filtrele de ordine pentru prelucrarea imaginilor cu
niveluri de gri, pot fi dispuse sub forma unei stive, prelucrarea putându-se
face independent pe fiecare nivel al stivei, suma rezultatelor fiind egală cu
rezultatul filtrului compus obţinut prin însumarea filtrelor din stivă. Acest
fapt are avantajul posibilităţii de implementare paralelă a filtrelor de
ordine şi posibilitatea de implementare hardware a acestora, obţinându-se
o viteză mare de calcul şi o paralelizare a calculelor. Dezavantajul acestor
filtre îl constituie cantitatea mai mare de memorie necesară în procesul de
sortare.
La implementarea filtrelor de ordine, printre cele mai utilizate
tehnici de sortare se numără metoda bubble-sort şi divide et impera.
80
3.6.3. Proprietăţi ale filtrelor de ordine
1. Invarianţa la translaţie
Filtrarea de ordine a unui semnal x translatat cu b şi scalat cu a
este:
rank k (a ⋅ x + b) → a ⋅ rank k ( x) + b (3.33)
2. Filtrele de ordine păstrează caracteristicile semnalului, adică nu
prezintă overshoot sau undershoot. Prin urmare, valoarea obţinută
prin filtrare nu este în afara domeniului de intrare, fiind una din
valorile de intrare.
3. Filtrele de ordine admit semnale rădăcină.
Un semnal rădăcină este invariant la filtrarea de ordine (rămâne
nemodificat).
Teoremă: Orice secvenţă monotonă (crescătoare sau
descrescătoare) este un semnal rădăcină al filtrelor de ordine.
În practică, un semnal rădăcină se obţine prin filtrarea de ordine a
unui semnal oarecare, până se obţine un semnal care nu se mai
modifică.
Exemplu:
Prin aplicarea unui filtru median unidimensional de lungime
N=3 (figura 3.19.b), cu originea în centru, asupra semnalului
(figura 3.19.a):
3
2 N=3
1
(a) (b)
81
Figura 3.20. Rezultatul după prima iteraţie a filtrării de ordine.
82
3.6.4. Filtre de ordine de domeniu
x( k ) , x* < x( k )
y = x( N −k +1) , x* > x( N −k +1) (3.35)
x*, în rest
83
Prin aplicarea unui filtru LUM de netezire se reduce contrastul
imaginii.
Perechea filtrului LUM de netezire este filtrul LUM de reliefare
(sau conturare), pentru care ieşirea filtrului este deplasată către una din
statisticile extreme (inferioară sau superioară).
Filtrul LUM de reliefare se defineşte prin:
x( r ) + x( N −r +1)
x( r ) , x( r ) < x* ≤
2
x( r ) + x( N −r +1)
y = x( N −r +1) , < x* ≤ x( N −r +1) , (3.36)
2
x*, în rest
N +1
unde: 1 ≤ r ≤ .
2
Reliefarea apare ca urmare a deplasării eşantioanelor din intervalul
x(r) ÷ x(N-r+1) (interpretat ca zonă de tranziţie) spre una din extremităţi
(figura 3.22):
84
3.6.5. L-filtre
• extractor de contur:
a1 = −1
(3.41)
a N = 1
85
• filtrul de qvasi-mijloc:
a i = a N +1 − i N +1
, i = 1÷ . (3.42)
a k = 0 2
Elimină zgomote impulsive şi zgomotele uniforme.
86
4. Transformări integrale ale imaginilor
g ( x, y ) = ∫∫ f (ξ ,η ) ⋅ h( x − ξ , y − η )dξdη (4.1)
2
R
iar sensul fizic al variabilelor lui g este acelaşi cu cel al variabilelor
lui f; f şi g sunt funcţii definite pe acelaşi plan (x,y), spre deosebire de
primul exemplu cu transformata Fourier.
87
posibilitatea de a beneficia în modelarea matematică care trebuie făcută,
de aparatul algebrei liniare şi al analizei funcţionale liniare.
În cele de mai jos se vor revedea noţiunile de bază privind
transformările liniare pe spaţii vectoriale finit dimensionale. Se va face
referire la spaţii vectoriale peste mulţimea numerelor complexe C şi
transformări liniare corespunzătoare (reprezentate prin matrici pătrate cu
elemente complexe) fiindcă, chiar începând cu transformata Fourier
discretă, cadrul complex simplifică lucrurile. Din acest motiv se va face
referire la „matrici unitare” şi nu „ortogonale”.
Se va considera spaţiul CN al vectorilor N-dimensionali cu
componente din C (deci numere complexe) care reprezintă secvenţe de N
eşantioane ale unui semnal complex (cu o parte reală şi una imaginară).
Orice transformare liniară a lui CN în el însuşi se reprezintă printr-o
matrice pătrată A de dimensiune N×N:
(alk ) l ,k =0, N −1 = A ∈ M N × N (C ) (4.2)
iar dacă se doreşte ca transformarea să fie inversabilă, atunci
matricea A trebuie să fie inversabilă, adică det A ≠ 0 .
O matrice A este unitară dacă are proprietatea că este inversabilă,
adică există A-1 astfel încât A·A-1= A-1·A=IN, şi că A-1=A*T, adică:
A ⋅ A*T = A*T ⋅ A = I N (4.3)
adică inversa ei este chiar transpusa conjugatei sale complexe. În
această relaţie indicele superior T indică operaţia de transpunere a
matricelor (alk→akl), iar indicele superior * indică operaţia de conjugare
complexă (alk→akl*). A*T=AH se mai numeşte şi transformata Hilbert a
matricii A.
O matrice unitară în spaţii vectoriale peste mulţimea numerelor
reale R (deoarece conjugatul unui număr real este el însuşi) se reduce la
ceea ce se numeşte matrice ortogonală, adică A-1=AT; matricile ortogonale
generalizează rotaţiile din plan.
88
u0
.
Un vector u ∈ C N , u = (u i )i =0, N −1 = . , devine prin
.
u
N −1
transformarea A, vectorul v, dat de relaţia v=A·u, adică:
v 0 a 0, 0 . . . a 0, N −1 u 0
. . .
. = . ⋅ . (4.4)
. . .
a N −1, N −1 u N −1
v N −1 a N −1,0 . . .
sau pe componente, în scriere scalară:
N −1
v j = ∑ a jk ⋅ u k (4.5)
k =0
În cazul imaginilor, dacă se notează imaginea iniţială cu
U = {u (l , k ); l , k = 0,1,..., N − 1} şi imaginea transformată cu:
V = {v(m, n); m, n = 0,1,..., N − 1}, expresiile matriceale ale transformării
sunt mai dificil de scris, deoarece transformarea A trebuie reprezentată
printr-un tablou 4-dimensional (2×2, semnalul de intrare fiind imaginea U
2-dimensională, iar ieşirea fiind V, tot 2-dimensională). În schimb,
scrierea scalară (pe componente) a transformării integrale unitare
bidimensionale directe, respectiv inverse, a imaginii U, se scrie imediat,
prin generalizarea celei precedente:
N −1 N −1
v ( m, n ) = ∑ ∑ u (l , k ) ⋅ a mn (l , k ) , respectiv
l =0 k = 0
N −1 N −1
∗
u (l , k ) = ∑ ∑ v ( m, n ) ⋅ a mn (l , k ) , (4.6)
m = 0 n =0
unde {a mn (l , k )} este transformarea unitară.
89
În cazul imaginilor de dimensiuni N×N, numărul operaţiilor
(multiplicări şi adunări) necesare pentru a calcula coeficienţii v(m,n) este
foarte mare, fiind egal cu O(N4), adică de ordinul a N4. O reducere
substanţială a complexităţii algoritmului se obţine atunci când
transformarea unitară este separabilă, adică:
a mn (l , k ) = a m (l ) ⋅ bn ( k ) (4.7)
N −1 N −1 N −1 N −1
⇒ v ( m, n) = ∑ ∑ a m (l ) ⋅ bn ( k ) ⋅ u (l , k ) = ∑ a m (l ) ∑ bn ( k ) ⋅ u (l , k ) (4.8)
l =0 k =0 l =0 k =0
90
toată imaginea. Operaţia de convoluţie spaţială a unei imagini N×N
(cu funcţia pondere tot de suport N×N) necesită N4 operaţii de
înmulţire. Dacă, aşa cum este cazul transformării Fourier discrete,
transformarea are algoritm rapid şi este separabilă, iar echivalentul
convoluţiei este o operaţie punctuală (pentru fiecare pixel avem de
făcut o înmulţire), numărul de operaţii necesare este de ordinul a
N2·log2N. Pentru N=1000, adică pentru imagini de 1000×1000 pixeli,
raportul N4/N2·log2N devine 105 adică filtrarea care ar dura 24 ore în
mod normal, prin acest procedeu se realizează într-o secundă.
• Compresia: Spre deosebire de reprezentarea unei imagini prin
eşantioanele sale spaţiale (în număr de N2) care, în principiu, într-o
primă aproximaţie sunt variabile aleatoare independente şi uniform
distribuite pe intervalul valorilor posibile [0,M-1], M-1 fiind valoarea
maximă, reprezentarea imaginii prin valorile coeficienţilor
transformatei (tot în număr de N2) este o reprezentare prin mărimi cu
proprietăţi extrem de neuniforme: câţiva coeficienţi sunt foarte mari,
iar majoritatea sunt neglijabil de mici. Transmisiei lor li se poate aplica
o codare Huffman (pentru a obţine o codare fără pierderi), dar dacă
unii coeficienţi sunt foarte mici, ei se pot neglija, pur şi simplu. În
acest caz, etapele transmisiei sunt schiţate în figura 4.1.
91
Canalul de transmisie poate fi presupus fără pierderi deoarece se
pot folosi coduri cu corecţie de erori. Câştigul (reducerea numărului de
eşantioane transmise) s-a obţinut prin trunchierea imaginii V prin
eliminarea componentelor cu coeficienţi foarte mici (sub un anumit
prag). La recepţie se obţine o imagine Vˆ care aproximează imaginea V.
Dacă acestei imagini i se aplică transformarea inversă lui T (T-1) se va
obţine o imagine Û care este de dorit a fi cât mai apropiată de
imaginea iniţială U.
92
4.2. Matrici unitare
unde alk ∈ C .
Spunem că matricea A ∈ M N × N (C ) este unitară dacă:
A ⋅ A*T = I N
*T , (4.13)
A ⋅ A = I N
not .
unde A*T = A H este transformata Hilbert a matricii A.
Sistemul de mai sus este echivalent cu relaţia: A −1 = A*T . Notând
A = (alk ) l ,k =0, N −1 , condiţiile (4.9) se pot scrie:
93
Proprietăţile matricilor unitare
Demonstraţie:
A ⋅ x , A ⋅ y = ( A ⋅ x )*T ⋅ ( A ⋅ y ) .
Se ştie că: (U ⋅ V )T = V T ⋅ U T .
( A ⋅ x )*T (
⋅ ( A ⋅ y ) = x T ⋅ AT )* ⋅ A ⋅ y = x T * ⋅ 1A4T2*4⋅3A ⋅ y = x T * ⋅ y = x , y q.e.d.
I
Consecinţă:
Transformarea dată de o matrice unitară lasă neschimbată energia.
Acest lucru rezultă din proprietatea anterioară, pentru cazul
particular în care x=y.
x, x = A ⋅ x, A ⋅ x
x *2
⇒1 T
⋅ x = ( A ⋅ x )*T ⋅ ( A ⋅ x )
3 1442443
2 2
x A⋅ x
94
N 2 N 2
⇒ ∑ xi = ∑ a i ⋅ xi ⇒ E x = E A⋅ x
i =1 i =1
2.) Toate valorile proprii ale unei matrice unitare au valorile egale cu 1.
Dacă x este un vector propriu al matricei A, atunci λ este valoarea
proprie a lui x dacă satisface relaţia: A ⋅ x = λ ⋅ x . (4.18)
Demonstraţie:
S-a arătat că: ( A ⋅ x )*T ⋅ ( A ⋅ x ) = x *T ⋅ x . Înlocuind: A ⋅ x = λ ⋅ x
⇒ (λ ⋅ x )*T ⋅ (λ ⋅ x ) = x *T ⋅ x
⇒ λ* ⋅ λ ⋅ x *T ⋅ x = x *T ⋅ x
2 2 2
⇒λ ⋅ x = x . Deoarece: x ≠ 0 (vectorul propriu este nenul)
⇒ λ = 1 q.e.d.
În aceste relaţii, norma vectorului x indusă de produsul scalar este:
def . N
2 2
x = x *T ⋅ x = ∑ xi = E x = energia lui x (4.19)
i =1
95
⇒ λ1* ⋅ λ2 ⋅ x1*T ⋅ x 2 = x1*T ⋅ x 2
⇒ x1*T ⋅ x 2 ≠ 0 q.e.d.
4.) Teorema spectrală: Dacă A este o matrice unitară, atunci există cel
puţin o matrice B care diagonalizează matricea A.
Această teoremă poate fi descrisă astfel:
∀A ∈ M N × Ν (C ) o matrice unitară de dimensiune N×N, adică
A ⋅ AH = AH ⋅ A = I N
⇒ ∃B ∈ M N × Ν (C ) o matrice unitară de dimensiune N×N,
Demonstraţie:
Dacă x1, …, xN sunt vectori proprii normaţi ai matricei A. Se va
construi matricea B astfel:
M M M M M
B N × N = x1 x2 ... x N , unde x i este o matrice
M M M M M
coloană.
Dar: B −1 = B H = B T * , deoarece s-a demonstrat că vectorii proprii
ai unei matrice unitare sunt ortogonali.
96
L x1*T L
*T
T * L x 2 L
⇒B = , unde L x1*T L este o
M M M
L x *T L
N
matrice linie.
1 0 K 0
T* 0 1 K 0
⇒ B ⋅B = = I N (conform proprietăţii 3),
M M K M
0 0 K 1
deci matricea B astfel construită este unitară.
L x1*T L
M M M M
−1 L x 2*T L
⇒ B ⋅ A⋅ B = ⋅ A ⋅ x1 x2 ... x N =
M M M M M M M
L x *T
N L
L x1*T L λ1 0 K 0
M M M M
L x 2*T L 0 λ2 K 0
= ⋅ λ1 ⋅ x1 λ2 ⋅ x 2 ... λ N ⋅ x N =
M M M M M K M
L x *T M M M M 0 0 K λ
N L N
97
4.3. Transformări unitare ale unor semnale unidimensionale
N
A ⋅ A*T = I N ⇔ ∑ a m (l ) ⋅ a m
*
' (l ) = δ ( m − m' ), m =1, N (4.27)
l =1
98
N
A*T ⋅ A = I N ⇔ ∑ a m (l ) ⋅ a m
*
(l ' ) = δ (l − l ' ), l =1, N (4.28)
l =1
99
4.4. Transformări unitare ale unor semnale bidimensionale
100
În cazul bidimensional, numărul de operaţii necesare pentru a
N −1 N −1
calcula v(m, n) = ∑ ∑ a m,n (l , k ) ⋅ u (l , k ) este de ordinul a Nx= N4, deci
k =0 l =0
complexitatea algoritmului este O(N4), însă adesea se încearcă reducerea
complexităţii algoritmului.
Se spune că o transformare unitară bidimensională este separabilă
dacă coeficienţii transformării se pot scrie:
a mn (l , k ) = a m (l ) ⋅ bn (k ) (4.37)
În acest caz:
N −1 N −1
v(m, n) = ∑ ∑ a m (l ) ⋅ bn (k ) ⋅ u (l , k ) (4.38)
l =0 k =0
Se poate arăta că dacă o transformare unitară bidimensională este
separabilă, complexitatea algoritmului său de calcul se reduce la O(N3),
adică Nx= N3, deoarece relaţia de mai sus se poate scrie şi:
N −1 N −1
v(m, n) = ∑ a m (l ) ⋅ ∑ bn (k ) ⋅ u (l , k ) (4.39)
l =0 k =0
Pentru a ilustra scrierea matriceală a unei transformări unitare
separabile (ultimul argument a lui bn(k) trebuie să coincidă cu primul
argument a lui u(l,k)), relaţia de mai sus se poate scrie şi:
N −1 N −1
v(m, n) = ∑ a m (l ) ⋅ ∑ u (l , k ) ⋅ bn (l ) (4.40)
l =0 k =0
În acest caz, transformarea unitară directă separabilă se poate scrie:
v = A ⋅ u ⋅ BT , (4.41)
unde A = (a m (l )) m,l =0, N −1 , B = (bn (l )) n,l =0, N −1 sunt matricile
( )−1
u = A −1 ⋅ v ⋅ B T (4.42)
101
Deoarece A şi B sunt, la rândul lor, matrici unitare, adică
relaţia:
def . N −1 N −1
X , Y = ∑ ∑ xij ⋅ yij* (4.46)
i =0 j =0
Prin urmare, produsul scalar dă spaţiului M N × N (C ) o structură de
spaţiu Hilbert (un spaţiu liniar cu un produs scalar). În acest spaţiu se va
fixa o matrice unitară A, care are elementele A = (a m (l )) m,l =0, N −1 , deci:
102
|
not .
| |
A = a0 a1 ... a N −1 (4.47)
| | |
În acest spaţiu se poate construi o bază B în M N × N (C ) astfel:
{ }
*
B = Amn * * T* *
m,n =0, N −1 , unde Amn = a m ⋅ a n , vectorii a m fiind vectori
*
Deoarece B = Amn { } * * T*
m,n =0, N −1 , unde Amn = a m ⋅ a n este o bază în
spaţiul M N × N (C ) :
N −1 N −1
*
u N × N (l , k ) = ∑ ∑ v(m, n) ⋅ Amn (4.50)
m =0 n =0
103
*
Din algebra liniară se ştie că: v(m, n) = u , Amn . Astfel, rezultă:
*
v(m, n) = u , Amn
N −1 N −1
*
= ∑ ∑ u (l , k ) ⋅ a mn (
(l , k ) )* (4.51)
l =0 k =0
* *
Dar: Amn (l , k ) = a m (l ) ⋅ a n* (k ) .
N −1 N −1
⇒ v(m, n) = ∑ ∑ u (l , k ) ⋅ a m (l ) ⋅ a n (k ) (4.52)
l =0 k = 0
104
pentru transformata DFT-1D directă
1 N −1 2π
u (k ) = ∑ v(m) ⋅ exp j m ⋅ k , (4.56)
N m =0 N
pentru transformata DFT-1D inversă.
Se poate arăta că matricea transformării,
1 2π
F = ⋅ exp − j m ⋅ k , este o matrice unitară, adică
N N m,k =0, N −1
F ⋅ F *T = F *T ⋅ F = I N .
F = F T
⇒ , deoarece F * = F T * = F −1 , unde: (4.58)
F −1 = F *
1 2π
F −1 = F * = ⋅ exp j m ⋅ k (4.59)
N N m,k =0, N −1
105
N −1 2π
= ∑ u (k ) ⋅ exp − j m ⋅ k = v ( m) (4.61)
k =0 N
deoarece:
2π
exp − j N ⋅ k = cos(2π ⋅ k ) − j ⋅ sin( 2π ⋅ k ) = 1
N
0 N/2 N-1
Figura 4.2. Componentele vectorului transformat v sunt conjugat
simetrice.
ω
Figura 4.3. Spectrul eşantionat al semnalului discret u(k) extins cu 0.
106
∞ ∞ N −1
U (ω ) = ∫ u (t ) ⋅ e − j⋅ω ⋅t dt = ∫ ∑ u (k ) ⋅ δ (t − k ) ⋅ e − j⋅ω⋅t dt =
−∞ − ∞ k =0
N −1 ∞ N −1
= ∑ u (k ) ⋅ ∫ δ (t − k ) ⋅ e − j⋅ω⋅t dt = ∑ u (k ) ⋅ e − j⋅ω⋅k (4.64)
k =0 −∞ k =0
Comparând această relaţie cu transformata Fourier discretă:
2π
N −1 − j⋅ m⋅k
v ( m) = ∑ u ( k ) ⋅ e N
k =0
⇒ v(m) = U (ω ) ω = 2π m (4.65)
N
A
v(1)
v(0) v(2)
-2π -π 2π 2π … π … 2π ω
2
N N
Figura 4.4. Spectrul semnalului.
( )FFT
O N 2 → O(log 2 N ) , dacă N=2p. (4.66)
107
def . N −1
Z (l ) = ∑ X ((l − i ) mod N ) ⋅ Y (i ) (4.67)
i =0
Acest mod de a defini simetria circulară limitează lungimea secvenţei Z
la N.
N −1 N −1 2π
v(m, n) = ∑ ∑ u (l , k ) ⋅ exp − j (m ⋅ l + n ⋅ k ) =
l =0 k =0 N
N −1 N −1
= ∑ ∑ u (l , k ) ⋅ a mn (l , k ), 0 ≤ m,n ≤ N-1 (4.69)
l =0 k =0
2π
unde: a mn (l , k ) = exp − j (m ⋅ l + n ⋅ k ) .
N
108
După cum se observă, această relaţie se mai poate scrie:
N −1 N −1 2π 2π
v(m, n) = ∑ ∑ u (l , k ) ⋅ exp − j ⋅ m ⋅ l ⋅ exp − j ⋅n⋅k =
l =0 k =0 N N
N −1 N −1
= ∑ ∑ u (l , k ) ⋅ bm (l ) ⋅ c n (k ) =
l =0 k =0
N −1 N −1
= ∑ ∑ u (l , k ) ⋅ W Nm⋅l ⋅ W Nn⋅k (4.70)
l =0 k =0
2π
unde: bm (l ) = exp − j m⋅l
N
2π
c n ( k ) = exp − j n⋅k
N
2π
W N = exp − j
N
1 N −1 N −1
* *
=
2
∑ ∑ v(m, n) ⋅ bm (l ) ⋅ c n (k ) =
N m =0 n = 0
1 N −1 N −1
− m⋅l − n⋅k
=
2
∑ ∑ v ( m, n ) ⋅ W N ⋅ W N (4.71)
N m =0 n = 0
109
unde bm(l), cn(k) şi WN au aceleaşi semnificaţii ca mai sus.
Se poate arăta că transformarea astfel definită nu este o
transformare unitară. Transformata DFT – 2D unitară directă se defineşte
astfel:
1 N −1 N −1 2π
v ( m, n ) = ∑ ∑ u (l , k ) ⋅ exp − j (m ⋅ l + n ⋅ k ) =
N l =0 k =0 N
1 N −1 N −1
= ∑ ∑ u (l , k ) ⋅ W Nm⋅l ⋅ W Nn⋅k (4.72)
N l =0 k = 0
1 N −1 N −1 2π
u (l , k ) = ∑ ∑ v(m, n) ⋅ exp − j (m ⋅ l + n ⋅ k ) =
N m =0 n = 0 N
1 N −1 N −1 m⋅l n⋅k
= ∑ ∑ v ( m, n ) ⋅ W N ⋅ W N (4.73)
N m =0 n =0
1 2π 1 2π
F = exp − j m ⋅ l ⋅ exp − j n ⋅ k (4.74)
N N m=0, N −1 N N n =0, N −1
l =0, N −1 k =0, N −1
(
care este o matrice unitară F ∗T ⋅ F = F ⋅ F ∗T = I N . )
Astfel, relaţiile ce definesc DFT – 2D unitară directă şi inversă se
pot scrie şi sub formă matricială:
• DFT – 2D unitară directă:
V = F ⋅U ⋅ F T = F ⋅U ⋅ F , (4.75)
deoarece se observă mai sus că: F = F T
110
• DFT – 2D unitară inversă:
U = F −1 ⋅ V ⋅ F −1 = F ∗ ⋅ V ⋅ F ∗ , (4.76)
deoarece:
F ∗T ⋅ F = F ⋅ F ∗T = I N ⇒ F -1 = F ∗T = F ∗
111
N
F {x1 (m, n) ⊗ x 2 (m, n)} = F {x1 (m, n)} ⋅ F {x 2 (m, n)} (4.79)
112
Această metodă este frecvent aplicată la filtrarea digitală a imaginilor.
DFT-2D este de asemenea utilă pentru determinarea unor parametri
utilizaţi în procesele de analiză a imaginilor.
1
, m = 0, l = 1, N
N
c m (l ) = (4.83)
2 π (2l + 1) ⋅ m
⋅ cos , m, l = 1, N
N 2N
Notând:
1
,m = 0
N
α ( m) = (4.84)
2
, m = 1, N
N
DCT-1D directă se poate rescrie:
113
N π (2l + 1) ⋅ m
v(m) = ∑ u (l ) ⋅ α (m) ⋅ cos (4.85)
l =1 2N
DCT-1D inversă este:
N π (2l + 1) ⋅ m
u (l ) = ∑ v(m) ⋅ α (m) ⋅ cos (4.86)
m=1 2N
Se poate arăta că matricea C a transformării DCT-1D este unitară,
adică C ⋅ C *T = C *T ⋅ C = I N . Pe de altă parte, deoarece matricea C este
reală:
⇒ C −1 = C T * = C T (4.87)
Observaţie:
Transformarea cosinus discretă DCT-1D se poate obţine din
DFT-1D a secvenţei simetrice de lungime 2N construită astfel:
u ( N ) u ( N − 1) ... u (2) u (1) u (1) (2) ... u ( N − 1) u ( N ) (4.88)
DCT-1D
DFT-1D
u(m)
u(m)
… … …
u(1) u(2) u(N-1) u(N) u(N) u(N-1) u(2) u(1) u(1)u(2) u(N-1) u(N)
sau:
u (1) u (2) ... u ( N − 1) u ( N ) u ( N ) ( N − 1) ... u (2) u (1) (4.89)
114
u(m)
… …
u(1) u(2) u(N-1) u(N) u(N) u(N-1) u(2) u(1)
Consecinţă:
Deoarece DCT-1D se poate construi din DFT-1D care are un
algoritm de calcul rapid, rezultă că şi DCT-1D are un algoritm de calcul
rapid, care reduce numărul de operaţii la 2 ⋅ ( N + 1) ⋅ log 2 ( N + 1) , adică
⇒ O( N ⋅ log 2 N ) .
N N
= ∑ ∑ u (l , k ) ⋅ a mn (l , k ) (4.90)
l =1k =1
115
unde: m,n=1,2,...,N
1
, pentru m = 1
N
α ( m) = (4.91)
2
, pentru m = 1,2 ,...,N
N
(2l + 1)π (2k + 1)π
amn (l , k ) = α (m) ⋅ α (n) ⋅ cos ⋅ m ⋅ cos ⋅ n (4.92)
2N 2N
N N
= ∑ ∑ u (l , k ) ⋅ a mn (l , k ) (4.93)
l =1k =1
116
• întâi se aplică DCT-1D pe linii (sau pe coloane):
N (2k + 1)π
⇒ v' (l , n) = ∑ α (n) ⋅ u (l , k ) ⋅ cos ⋅ n (4.97)
k =1 2N
117
0 ≤ l ≤ N-1
u (l , k ), pentru
0 ≤ k ≤ N-1
N ≤ l ≤ 2 N-1
u (2 N − l − 1, k ), pentru
0 ≤ k ≤ N-1
u ' (l , k ) = (4.100)
u(l,2 N-k-1 ), 0 ≤ l ≤ N-1
pentru
N ≤ k ≤ 2 N-1
N ≤ l ≤ 2 N-1
u (2 N − l − 1,2 N − k − 1), pentru
N ≤ k ≤ 2 N-1
Relaţia care face legătura între cele două transformări este:
118
N-1
0 ≤ l ≤ 2
u (l , k ),
pentru
0 ≤ k ≤ N-1
2
N + 1
2 ≤ l ≤ N-1
u (2 N − l − 1, k ), pentru
0 ≤ k ≤ N-1
2
u ' (l , k ) =
N-1
0 ≤ l ≤ 2
u(l,2 N-k-1 ), pentru
N + 1 ≤ k ≤ N-1
2
N + 1
≤ l ≤ N-1
u (2 N − l − 1,2 N − k − 1), pentru 2
N + 1 ≤ k ≤ N-1 (4.102)
2
{ [
V (m, n) = 2 ⋅ Re W4mN ⋅ W4nN ⋅ F (m, n) + W4−Nn ⋅ F (m, N − n) = ]}
{ [
= 2 ⋅ Re W4nN W4mN ⋅ F (m, n) + W4−Nn ⋅ F (m, N − n) ]} (4.103)
119
• se calculează DCT–2D, utilizând relaţia de legătură corespunzătoare,
între cele 2 transformate.
De aici se poate trage şi concluzia că, deoarece DCT–2D se poate
obţine prin intermediul DFT şi deoarece DFT are algoritm rapid de calcul,
rezultă că şi DCT–2D are algoritm rapid de calcul.
2 π ⋅ (m + 1) ⋅ (l + 1)
s m (l ) = ⋅ sin (4.104)
N +1 N +1
Pentru a arăta că transformarea S este unitară, trebuie verificate
condiţiile de completitudine şi ortonormalitate.
Se observă că S este o matrice reală şi simetrică, adică sk(m)=sm(k):
⇒ S −1 = S *T = S . (4.105)
Deoarece:
V = S ⋅U este transformarea directă, rezultă că
transformarea inversă este:
⇒ U = S −1 ⋅ V = S ⋅ V (4.106)
Observaţie:
Transformarea sinus unidimensională discretă DST-1D se poate
obţine din transformarea Fourier unidimensională discretă DFT-1D, prin
secvenţa antisimetrică de lungime 2·(N+1) construită astfel:
(4.107)
0 − u ( N ) − u ( N − 1) K − u ( 2) − u (1) 0 u (1) u ( 2) K u ( N − 1) u ( N )
120
0 u(N) u(N-1) u(2) u(1) 0 …
… 0 u(1) u(2) u(N-1) u(N) 0
Consecinţă:
Deoarece DST-1D se poate construi din DFT-1D care are un
algoritm de calcul rapid, rezultă că şi DST-1D are un algoritm de calcul
rapid, care reduce numărul de operaţii la 2 ⋅ ( N + 1) ⋅ log 2 ( N + 1) , adică
⇒ O( N ⋅ log 2 N ) .
Observaţie:
Calculul DST-2D se poate face în 2 paşi: se aplică DST-1D pe
linii, iar rezultatului i se aplică DST-1D pe coloane sau invers.
121
5. Restaurarea imaginilor
z(l,k)
f"(l,k) fˆ (l , k )
g(l,k) fˆ (l , k ) ≅ f (l , k )
122
L K 2
ε = ∑ ∑ f (l , k ) − fˆ (l , k ) , unde f (l , k ) ∈ C (5.1)
l =1k =1
L K
f ' (l , k ) = f (l , k ) ∗ h(l , k ) = ∑ ∑ f (l − i, k − j ) ⋅ h(i, j ) (5.2)
i =1 j =1
f " (l , k ) = f ' (l , k ) + z (l , k ) (5.3)
123
Fˆ (m, n) = [F (m, n) ⋅ H (m, n) + Z (m, n)] ⋅ H −1 (m, n) (5.11)
⇒ Fˆ = F + Z ⋅ H −1 (5.12)
Dacă H are zerouri, rezultă că H-1 are poli. Rezultă că Z ⋅ H −1 are
valori mari în vecinătatea polilor.
Exemplu: în cazul unidimensional (1D):
H-1
Fˆ = F + Z ⋅ H −1
H
F
fˆ
124
În figura 5.3 fˆ reprezintă rezultatul restaurării, adică a estimării
semnalului original f.
f f' f" fˆ
h + g
degradare z restaurare
125
Se presupune cunoscut filtrul de degradare h. În acest caz rezultă
un sistem de ecuaţii cu L×K necunoscute, pornind de la f(l,k), unde
l = 1, L , k = 1, K .
Se impune ca energia derivatei lui fˆ să fie minimă, pentru ca
abaterile faţă de f să fie cât mai mici. Pentru aceasta se consideră un
nucleu de filtrare c=c(l,k) care să reprezinte o măsură a derivatei ( de ex.
un laplacean sau un gaussian). Operaţia de filtrare cu nucleul c este
echivalentă cu o convoluţie discretă, proporţională cu derivata:
fˆ (l , k ) ∗ c(l , k ) , în domeniul spaţial (5.17)
Fˆ (m, n) ∗ C (m, n) , în domeniul spectral (5.18)
126
L K 2
⇔ ∑ ∑ Fˆ (m, n) ⋅ C (m, n) = minimă (5.23)
m=1, n =1
Se ştie că atunci când trebuie minimizată o funcţie f(x1, …, xn) cu
constrângerile:
g1 ( x1 ,..., x n ) = 0
M (5.24)
g ( x ,..., x ) = 0
m 1 n
trebuie construită funcţia Lagrange:
Ψ ( x1 ,..., x n ) = f ( x1 ,..., x n ) − λ1 ⋅ g1 ( x1 ,..., x n ) − ... − λ m ⋅ g m ( x1 ,..., x n )
127
Se obţine sistemul:
∂Ψ
∂A(m, n) = 0
, m = 1, L, n = 1, K (5.28)
∂Ψ = 0
∂B (m, n)
F "− Fˆ ⋅ H
2
( )(
= F "− Fˆ ⋅ H ⋅ F "* − Fˆ * ⋅ H * =)
2 2 2
= F " − F "⋅Fˆ * ⋅ H * − Fˆ ⋅ H ⋅ F "* + Fˆ ⋅H (5.29)
∂Ψ 2
⇒ = 2 ⋅ A(m, n) ⋅ C (m, n) − (5.30)
∂A(m, n)
[ 2
− λ ⋅ F " (m, n) ⋅ H * (m, n) − Fˆ "* (m, n) ⋅ H (m, n) − 2 ⋅ A(m, n) ⋅ H (m, n) = 0 ]
∂Ψ 2
⇒ = 2 ⋅ B ( m, n ) ⋅ C ( m, n ) − (5.31)
∂B ( m, n)
[
− λ ⋅ − j ⋅ F " (m, n) ⋅ H * (m, n) + j ⋅ F "* (m, n) ⋅ H (m, n) − 2 ⋅ B(m, n) ⋅ H (m, n)
2
]= 0
Rezultă:
A(m, n) =
{
λ ⋅ Re F " (m, n) ⋅ H * (m, n) } (5.32)
2 2
C (m, n) + λ ⋅ H (m, n)
B ( m, n ) =
{
λ ⋅ Im F " (m, n) ⋅ H * (m, n) } (5.33)
2 2
C (m, n) + λ ⋅ H (m, n)
⇒ Fˆ (m , n ) = A(m, n) + j ⋅ B(m, n) =
128
λ ⋅ F " (m, n) ⋅ H * (m, n)
= = G ( m, n ) ⋅ F " ( m, n ) (5.34)
2 2
C (m, n) + λ ⋅ H (m, n)
λ ⋅ H * ( m, n )
⇒ G (m, n) = (5.35)
2 2
C (m, n) + λ ⋅ H (m, n)
129
6. Morfologie matematică
130
B1 şi B2 formează o partiţie netă a lui B, adică:
B1 ∪ B2 = B şi B1 ∩ B2 = Φ ; (6.2)
B x = {b + x b ∈ B}= translaţia mulţimii B cu vectorul x, sau
translaţia mulţimii B cu originea, în punctul x (figura 6.1).
y
Bx
x
B x
131
Rezultatul transformării este dat de cele 2 puncte marcate
(încercuite) pe mulţimea A (punctele peste care se suprapun perfect B1 şi
B2 , adică B).
Transformarea “Hit or Miss” prezintă un interes mai mult teoretic,
dar datorită structurii sale stă la baza construcţiei teoretice a morfologiei
matematice. Pe baza acestei transformări se pot defini operaţiile
morfologice fundamentale (erodarea şi dilatarea).
6.2. Erodarea
Exemplu:
- în cazul mulţimilor continue:
Dacă:
132
B=
A= ⇒ AΘB=
A= ⇒ AΘB=
• • • •
x
• x x x
AΘB = B=x x x
x ⊗ ⊗ x
x
• x x •
• • x •
• ⊗ ⊗ x
AΘB = B= x x
⊗ ⊗ ⊗ x
• ⊗ x •
133
6.3. Dilatarea
Exemplu:
- în cazul mulţimilor continue:
B=
A= A ⊕ B=
A= A ⊕ B=
134
- în cazul mulţimilor discrete:
• • • Θ • •
• • Θ ⊗ Θ •
x
• Θ ⊗ ⊗ ⊗ Θ
B=x x x A⊕ B =
Θ ⊗ ⊗ ⊗ ⊗ Θ
x
• Θ ⊗ Θ Θ •
• • Θ • • •
• • • • • •
• • Θ ⊗ • •
B= x x A⊕ B = • Θ ⊗ ⊗ ⊗ •
Θ ⊗ ⊗ ⊗ ⊗ •
• Θ ⊗ • • •
A este reprezentată de punctele marcate cu x, iar cu “•” au fost
marcate punctele care aparţin fundalului. Punctele încercuite reprezintă
rezultatele dilatării A ⊕ B .
Dilatarea şi erodarea nu sunt transformări inverse una alteia (şi nici
nu admit inversă):
( A ⊕ B )ΘB ≠ A (6.5)
( AΘB ) ⊕ B ≠ A
135
Dilatarea şi erodarea sunt operaţii intensive din punct de vedere
matematic, deoarece este evident că aplicarea transformărilor morfologice
implică verificarea condiţiilor de definiţie pentru fiecare punct al imaginii
(evitând evidentele efecte de margine), deci complexitatea algoritmică
este comparabilă cu a unei operaţii de filtrare în domeniul spaţial.
Pentru evitarea sau micşorarea complexităţii calculelor ar trebui
găsită o metodă care să nu implice verificarea fiecărui punct al imaginii, ci
eventual fiecare punct al structurantului. Aceasta se poate obţine prin
rescrierea operaţiei de erodare:
AΘB = {x ∀b ∈ B, ∃a ∈ A, a.î . b + x = a}=
1. Invarianţa la translaţie:
At ⊕ B = ( A ⊕ B )t (6.8)
At ΘB = ( AΘB )t
136
A ⊕ Bt = ( A ⊕ B )−t În acest caz intervine semnul ”-” deoarece în
definiţia erodării şi dilatării intervine mulţimea simetrică
AΘBt = ( AΘB )−t
2. Invarianţa la scalare:
1
A ⊕ B = (λ ⋅ A ⊕ B ) (6.9)
λ
1
AΘB = (λ ⋅ AΘB ) , λ ∈ [0,1]
λ
(
A ⊕ B = AC ΘB)C (6.10)
AΘB = (AC ⊕ B )
C
6. Proprietatea de iterare:
( A ⊕ B ) ⊕ C S = A ⊕ (B ⊕ C ) (6.13)
( AΘB )ΘC S = AΘ(BΘC )
Caz particular:
B=C ; B=BS ⇒ ( A ⊕ B ) ⊕ B = A ⊕ 2B , ( AΘB )ΘB = AΘ2 B
137
6.5. Transformări morfologice derivate
• conturul interior:
δA = A − ( AΘB ) (6.15)
• gradientul morfologic:
gradA = ( A ⊕ B ) − ( AΘB ) (6.16)
Exemplul 1:
• • • • • •
• • • x • •
x
• • x ⊗ x •
A= B=x x x
• x ⊗ ⊗ x •
x
AΘB • • x x • •
• • • • • • δA = conturul interior
∆A = conturul exterior
138
În acest caz (structurant simetric), gradientul morfologic va fi
reuniunea celor două contururi.
Cu cât structurantul este mai mic, conturul va fi mai subţire.
Exemplul 2:
• • • • • •
• • • x • •
• • x x x •
A= B=x x x
• x x x x •
• • x x • •
∆A = conturul exterior
• • • • • •
δA = conturul interior
Exemplul 3:
• • • • • •
• • • x • •
• • x x x •
A= B= x x
• x x x x •
• • x x • • δA = conturul interior
• • • • • •
∆A = conturul exterior
139
6.5.2. Deschiderea şi închiderea
deschidere
închidere
140
(AC • B )C = ((AC ⊕ B )ΘB S )C = (( AΘB )C ΘB S ) = ( AΘB ) ⊕ B S = A o B
(6.19)
141
Aplicarea FAS poate fi oprită în orice moment, obţinându-se astfel o
netezire gradată, interactivă a imaginii.
TH ( A) = A − ( A o B ) (6.22)
TH g ( A) = ( A o n1 B ) − ( A o n2 B ) , n 2 > n1 (6.23)
TH ( A) = THg ( A) n1 =0 (6.24)
n2 =1
142
Exemplu:
~4B
~2B
A= ~B (obiecte cu dimensiuni
mai mici decât B)
TH(A)=
A − ( A o B)
Ao B =
TH(A)=
A − ( A o 2 B)
A o 2B =
143
6.7.1. Reconstrucţia după marker
Reconstrucţia (φ) unei imagini (I) pe baza unor markeri (M), poate
fi descrisă prin următoarea relaţie:
ϕ M (I ) = U I j (6.25)
I j I M ≠∅
I1 I1
Ik
IN IN
Imaginea I Markerii M
144
6.7.2. Distanţa Haussdorf
145
Aceasta însemnă că discul maximal este inclus în mulţimea A şi nu
există nici un alt disc inclus în A care să-l conţină
Skeletonul morfologic al unei forme este egal cu reuniunea
centrelor discurilor maximale incluse în forma respectivă. În practică se
foloseşte formularea echivalentă:
N max
SK ( A) = U S n ( A) , (6.29)
n =∅
unde SK(A) este skeletonul mulţimii A, iar Sn(A) se numesc seturi
skeleton de ordinul n:
S n ( A) = ( AΘnB ) − [( AΘ(n + 1)B ) ⊕ B ] = ( AΘnB ) − [( AΘnB )o B ] (6.30)
Exemplu:
Se dă mulţimea A şi elementul structurant B:
x x x x
x x x x
x x x x x
A= x x x x , B=x x x
x x x x x x x x x
x x x x x x x x
x x x x x x x x
Figura 6.4. Exemplul unei mulţimi A şi a uni element structurant B.
146
Setul skeleton de ordinul 0 este:
S 0 ( A) = A − [( AΘ B ) ⊕ B ] : (6.32)
x x x x
- punctele încercuite = AΘB
x ⊗ ⊗ x
x ⊗ ⊗ x
- punctele încadrate = ( AΘB ) ⊕ B
S 0 ( A) = x ⊗ ⊗- punctele îngroşate:
x
x x ⊗ ⊗ ⊗ ⊗ x x S 0 ( A) = A − ( AΘB ) ⊕ B
x ⊗ ⊗ ⊗ ⊗ ⊗ ⊗ x
x x x x x x x x
În mod similar:
S1 ( A) = ( AΘ B ) − [( AΘ2 B ) ⊕ B ], unde AΘ2 B = ( AΘB )ΘB (6.33)
S 2 ( A) = ( AΘ2 B ) − [( AΘ3B ) ⊕ B ] (6.34)
S 3 ( A) = ( AΘ3B ) − [( AΘ4 B ) ⊕ B ] = ∅ , (6.35)
⇒ N max = 2 , pentru exemplul prezentat.
N max
⇒ SK ( A) = U S n ( A) (6.36)
n =∅
x x
x x
x x
SK ( A) =
x x x x
x x x x
x x
Figura 6.6. Setul skeleton de ordinul 3 al mulţimii A din figura 6.4.
147
Se observă că skeletonul unui obiect are mai puţine puncte decât
obiectul.
Skeletonul morfologic este o transformare reversibilă, adică se
poate obţine forma iniţială A, cunoscând skeletonul acesteia:
N max
A = U (S n ( A) ⊕ nB ) (6.37)
n =0
Se observă că pentru a putea reconstitui forma iniţială, pentru
fiecare punct al skeletonului, trebuie menţionat setul skeleton căruia îi
aparţine:
0 0
1 1
1 1
SK ( A) =
0 2 2 0
1 1 1 1
0 0
Figura 6.7. Seturile skeleton al mulţimii A din figura 6.4.
148
x
149
x x
Exemplu: Pentru: T=1 şi E1 =
x x
x x x x
x x x
x x x x x x
⇒ B0 = x B1 = B2 = x x x B3 = ... (6.40)
x x x x x x
x x x
x x x x
Pentru extragerea skeletonului morfologic trebuie construită o
hartă de distanţe a obiectului, adică fiecărui punct al obiectului (mulţimii)
i se ataşează ordinul elementului structurant generalizat maximal centrat
în punctul respectiv:
0 , dacã x ∉ A
D(x ) = (6.41)
n , dacã (Bn-1 ) x ⊂ A si (Bn ) ⊄ A
Exemplu:
x x x x 4 3 2 1
x x x x 4 3 2 1
x x x x 4 3 2 1
A= x x x x D= 4 3 2 1 (6.42)
x x x x x x x x 3 3 3 3 3 3 2 1
x x x x x x x x 2 2 2 2 2 2 2 1
x x x x x x x x 1 1 1 1 1 1 1 1
150
4 3 2 1 4 3 2 1
4 3 2 1 4 3 2 1
4 3 2 1 4 3 2 1
GSK( A) = 4 3 2 1 = 4 3 2 1 (6.44)
3 3 3 3 3 3 2 1 3 3 3 3 3 3 2 1
2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
151
6.7.1. Trecerea de la mulţime la funcţie
x
x x
xxxx
xxxxxx
i
Se fixează z∈A(1,n-1)
152
6.8.2. Trecerea de la funcţie la mulţime
x
x x
xxxx
xxxxxx
xxxxxx i
xxxxxx
xxxxxx
xxxxxx
xxxxxx
umbra unei funcţii este
semiinfinită
153
Proprietăţi:
1. T [U [ f ]] = f (6.53)
2. U [T [ A]] ⊇ A , (6.54)
deoarece umbra unei funcţii este o mulţime semiinfinită
Acestea sunt:
f ⊕ g = sup( f ( x − y ) + g ( y )) , (6.57)
y∈supp ( g )
fΘg = inf( f ( x − y ) − g ( y )) (6.58)
y∈supp ( g )
Exemplu:
suppV4: toate punctele lui V4 dar şi cele de sub V4 (până la -∞)
aparţin suportului.
154
x
x x x
x
155
0 N-1
N-1+k1 N-1+k2
Figura 6.13. Rescalarea domeniului.
f2 1
pentru k =
2
t
156
7. Segmentarea imaginilor
157
7.1.1. Etichetarea componentelor
1 1 2 1 1 2
1 1 1 2 2 1 1 1 2 2
3 2 2 2
2 2
158
1111
4444
2222222
159
Figura 7.4. Principiul segmentării prin metoda arborelui cuaternar.
160
X X
X X X X X
X XX X
X XX X
X XX X
161
Numărul de apariţii
α T1 β T2 γ T3 Nivelul
de gri
Figura 7.7. Segmentarea bazată pe prăguirea histogramei.
162
Dacă pentru imagine (şi obiectele conţinute în aceasta) se dispune
de informaţie suplimentară (de tipul unei caracterizări statistice a
conţinutului imaginii şi a modului de degradare a acesteia) este posibilă o
abordare derivată din teoria deciziilor optimale. În acest caz, pragul optim
de segmentare pentru o imagine cu două tipuri de obiecte (corpuri şi
fundal) depinde de caracteristicile statistice ale zgomotului şi ale
obiectelor, după formula:
Pob
nob + n f 1 − Pob
T= − d 2 ⋅ ln (7.2)
2 nob − n f
unde nob este nivelul mediu de gri a obiectelor, nf este nivelul
mediu de gri al fundalului, Pob este suprafaţa relativă din imagine ocupată
de pixeli obiect, iar d2 este varianţa zgomotului aditiv Gaussian de medie
nulă, aplicat imaginii.
Ca domeniu de aplicaţii s-ar putea aminti medicina, de exemplu
pentru numărarea nucleelor de un anumit tip dintr-o imagine, prin
numărarea etichetelor care ne interesează.
163
Pentru segmentarea imaginilor binare se poate utiliza şi histograma
L×K 1
cumulativă, H i = ∑ hi sau cu varianta sa normată H i = ∑ hi . (7.3)
i =1 i =0
Număr de apariţii
164
timbru cu ştampila poştei masca
165
al imaginii a fost alocat unei regiuni. Evident, metoda astfel descrisă pe
scurt, are două etape esenţiale:
• iniţializarea sau alegerea punctelor de start (puncte iniţiale), numite
germeni sau seminţe (engl. seed);
• creşterea propriu-zisă a regiunilor.
Numărul final de regiuni rezultate este egal cu numărul de germeni
aleşi iniţial pentru creştere, deci alegerea, respectiv granulaţia (densitatea)
acestor puncte este foarte importantă. În principiu, este de dorit ca fiecare
obiect individual aflat în imagine să fie marcat cu câte un germene. Dacă
în interiorul unui aceluiaşi obiect se găsesc mai mulţi germeni, pentru
fiecare dintre ei va fi crescută o regiune. Aceasta face ca obiectul iniţial să
fie împărţit artificial prin segmentare în mai multe regiuni. Parţial, acest
neajuns se poate corecta printr-o etapă ce urmează creşterii regiunilor, şi
anume fuziunea regiunilor adiacente ce au proprietăţi asemănătoare. Dacă
în interiorul unui obiect nu este ales nici un germene, obiectul respectiv va
fi înglobat de regiunile ce cresc pornind de la germeni din vecinătatea
spaţială. Astfel, respectivul obiect nu apare ca o regiune distinctă şi este
pierdut, rezultând o eroare gravă de segmentare.
Pornind de la germenii aleşi, regiunile sunt obţinute printr-un
proces de creştere aproape simultană, început de la aceştia, până când toţi
pixelii imaginii sunt repartizaţi unei regiuni (figura 7.11).
166
Cvasi-simultaneitatea creşterii poate fi realizată cu un algoritm
serial, prin alocarea pixelilor ce sunt adiacenţi (vecini) zonelor deja
segmentate. Această alocare trebuie să ţină seama de criteriul ca regiunile
crescute să fie uniforme, adică nivelul de gri al pixelului ce se adaugă nu
trebuie să difere cu mai mult de un prag prestabilit faţă de nivelul de gri al
germenului regiunii la care se alocă. În acelaşi timp, la o singură trecere,
numărul de puncte ce se adaugă unei regiuni nu poate depăşi un număr
prestabilit (condiţia încearcă să asigure creşterea relativ uniformă şi
izotropă a tuturor regiunilor). Dacă adăugarea de noi pixeli se blochează
(criteriul de uniformitate nu mai este respectat), diferenţa maximă admisă
pentru nivelul de gri poate fi crescută în etape, până la epuizarea pixelilor
imaginii.
Avantajele pe care le are o asemenea tehnică de creştere a
regiunilor sunt acelea că nu mai este necesară nici o informaţie privind
conţinutul imaginii, regiunile crescute sunt conexe şi nu există puncte
neetichetate (nealocate vreunei regiuni), iar poziţia frontierelor percepute
subiectiv în imagine se conservă.
Fuziunea regiunilor deja determinate în etapa de creştere, are drept
scop reducerea numărului de regiuni în care a fost împărţită iniţial
imaginea, pentru a evita fenomenul de supra-segmentare. Regiunile
candidate la fuzionare trebuie să fie învecinate, iar decizia de fuzionare se
ia în funcţie de pixelii aflaţi pe frontiera comună. Astfel, punctele slabe (în
număr de ns) sunt punctele pentru care diferenţa nivelurilor de gri între
vecinii din regiunile adiacente este foarte mică (mai mică decât un anumit
prag fixat). Punctele tari (în număr de nt) sunt acele puncte pentru care
diferenţa nivelurilor de gri între vecinii din regiunile adiacente este foarte
mare (mai mare ca un anumit prag fixat). Cu aceste definiţii, se poate
afirma că regiunile Ri şi Rj vor fuziona dacă:
• numărul de puncte slabe (ns) raportat la perimetrul minim (Pm) este
n
mare: s > θ1 , (7.4)
Pm
unde Pm=min(Perimetrul(Ri), Perimetrul(Rj));
167
• numărul de puncte slabe de pe frontiera comună e mare: n s > θ 2 , (7.5)
P
unde P este numărul de puncte aflate pe frontiera comună a regiunilor
Ri şi Rj;
n
• numărul de puncte tari de pe frontiera comună este mic: t < θ 3 , (7.6)
P
θ1 = 0,5
Valori tipice ale pragurilor θ1 ,θ 2 ,θ 3 sunt: θ 2 = 0,75 (7.7)
θ = 0,2
3
• distanţa de similaritate dintre regiuni este mare.
Distanţa de similaritate este o măsură a asemănării. Aceasta poate fi o
distanţa euclidiană ponderată sau un produs vectorial sau scalar între
vectorii corespunzători.
168
7.3.1. Operatori de tip gradient
169
g y (l , k )
• direcţia: α (l , k ) = tg
(7.15)
g x (l , k )
De multe ori, pentru simplificarea calculelor, amplitudinea
(modulul) gradientului se defineşte ca:
g (l , k ) = g x (l , k ) + g y (l , k ) (7.16)
Implementarea operatorilor de derivare (tip gradient) se face prin
convoluţia imaginilor cu măşti (ferestre), care sunt deci, filtrări liniare.
Operatorii de tip gradient sunt reprezentaţi de o pereche de filtre (H1,H2)
care măsoară gradientul imaginii după două direcţii ortogonale. Spre
exemplu, gradienţii după direcţia orizontală respectiv verticală, definiţi
mai sus (gx, gy), se obţin prin convoluţia cu măştile:
1
[1 [0] − 1] [0] (7.17)
− 1
orizontal vertical
170
Prin binarizarea imaginii “amplitudine g(l,k)” cu pragul “t” se
obţine harta de muchii. Harta muchiilor oferă informaţiile necesare pentru
trasarea contururilor din imagine. În general, pragul “t” se alege
folosindu-se histograma cumulativă pentru g(l,k), 5-10% din pixelii
imaginii g(l,k) fiind declaraţi muchii.
În continuare sunt prezentaţi operatori de derivare clasici, care
determină diferenţe orizontale şi verticale şi realizează însumări locale,
reducându-se efectul zgomotului (elementul încadrat indică originea):
− 1 0 1 − 1 − 1 − 1
Prewitt: H 1 = − 1 [0] 1 H 2 = 0 [0] 0 (7.18)
− 1 0 1 1 1 1
− 1 0 1 − 1 − 2 − 1
Sobel: H 1 = − 2 [0] 2 H 2 = 0 [0] 0 (7.19)
− 1 0 1 1 2 1
− 5 3 3 3 3 3
Kirsch: H 1 = − 5 [0] 3 H 2 = 3 [0] 3
(7.20)
− 5 3 3 − 5 − 5 − 5
−1 0 1 − 1 − 2 − 1
Izotrop: H 1 = − 2 [0] 2 H 2 = 0 [0] 0 (7.21)
− 1 0 1 1 2 1
171
∂ 2 f ( x, y ) ∂ 2 f ( x, y )
∇ 2 f ( x, y ) = + (7.22)
∂x 2 ∂y 2
Operatorul de tip laplacian poate fi implementat în discret prin
convoluţia imaginii de prelucrat cu una dintre măştile:
0 −1 0 − 1 − 1 − 1 1 −2 1
− 1 [4] − 1 − 1 [8] − 1 − 2 [4] − 2 (7.23)
0 − 1 0 − 1 − 1 − 1 1 − 2 1
f(x) f'(x)
O x O x
f''(x)
O x
172
7.3.2. Operatori de tip compas
1 1 1 1 1 0 1 0 − 1 0 − 1 − 1
0 [0] 0 1 [0] − 1 1 [0] − 1 1 [0] − 1
− 1 − 1 − 1 0 − 1 − 1 1 0 − 1 1 1 0
N NV V SV
− 1 − 1 − 1 − 1 − 1 0 − 1 0 1 0 1 1
0 [0] 0 − 1 [0] 1 − 1 [0] 1 − 1 [0] 1
1 1 1 0 1 1 − 1 0 1 − 1 − 1 0
S SE E NE
173
gk
Hk max{gk}
adică se verifică faptul că valorile centrale sunt mai mari decât cele
laterale, deci dacă prin aceste puncte trece o linie, care determină un profil
de forma:
174
de măşti de netezire direcţionale (S1, S2,..., Sk). Pentru fiecare punct al
imaginii calculăm rezultatul netezirii (filtrării) cu aceste măşti. Rezultă
valorile netezirii, v1, v2,..., vk, care sunt nişte valori medii ponderate de
coeficienţii măştilor. Pentru fiecare din aceste măşti se calculează şi o
dispersie locală, σ1, σ2,..., σk, care reprezintă dispersia valorilor de gri
ponderate cu coeficienţii măştii, faţă de media ponderată vk.
Se va folosi masca care are ca rezultat dispersia minimă
σ j = min (σ i ) . Prin urmare, valoarea pixelului curent se va înlocui cu
i =1,...k
valoarea vj, care a avut ca rezultat σ j = min (σ i ) .
i =1,...k
Masca poate fi aleasă şi după alt criteriu cum ar fi, de exemplu,
obţinerea unei valori minime pentru diferenţa între valoarea punctului
curent (în care a fost centrată masca) şi valoarea rezultată în urma filtrării,
respectiv medierii: min ( u ( x, y ) − vi ) .
i =1,...k
O altă variantă de operator extractor de contururi este gradientul
morfologic, definit ca diferenţă între imaginea dilatată şi imaginea
erodată, cu un acelaşi element structurant, aşa cum s-a arătat în capitolul
referitor la morfologie matematică. Dacă elementul structurant este V8-
flat (plat), această operaţie poate fi asimilată cu un operator compas.
Toate aceste tehnici se dovedesc a fi sensibile la zgomot şi prin
urmare, pentru imagini afectate de zgomot sunt necesare soluţii diferite. O
asemenea prelucrare este diferenţa de gaussieni (DOG) care reprezintă
diferenţa între două imagini netezite cu filtre gaussiene de dimensiuni
diferite.
175
8. Compresia imaginilor
etc. cu fractali
VQ (Vector Quantization)
176
8.1. Compresia imaginilor binare
177
A A A A
E H E H
C D C D C D
F G F G
B B B B
Figura 8.1. Procedura de determinare a aproximării poligonale a unui
contur.
178
2 4
C B
5 3
3 1
D A
2
4 0 6
E H
5 7 7 1
6 F G
0
Figura 8.2. Codul Freeman.
179
Exemplu:
• codul Freeman primar = 60026442;
• codul Freeman diferenţial =
20246064
6-4=2
4-4=0
4-2=2 =se începe cu diferenţa ultimelor două cifre;
180
• descriptori primari (geometrici): lungimi, perimetre, arii etc.;
• descriptori de contur: Freeman, Fourier, aproximări poligonale:
• momente statistice (invariante): Hu, Zernike, afine etc.
Parametrii geometrici se bazează pe măsurarea unor atribute
geometrice simple (sau combinaţii ale acestora) cum ar fi:
• perimetrul (P):
P = ∫ x 2 (t ) + y 2 (t )dt (8.2)
unde t este parametrul de contur, dar nu în mod necesar lungimea
acestuia.
• aria (A):
dx(t ) dy (t )
A = ∫∫ dxdy = ∫ y (t ) dt − ∫ y (t ) dt (8.3)
R ∂R dt ∂R dt
unde R şi ∂R reprezintă regiunea obiectului şi respectiv, conturul
acesteia.
• excentricitatea formei (sau circularitatea sa, adică măsura în care
forma se deosebeşte de un disc) se defineşte ca raport între raza
cercului circumscris (R) şi raza cercului înscris (r) în forma studiată:
R
c= (8.4)
r
• raportul de compactizare (sau rotunjimea formei) reprezintă raportul
dintre pătratul perimetrului şi suprafaţa formei:
P2
K= (8.5)
4πA 2
181
contur sau cu un submultiplu al acestuia), în continuare putând fi utilizate
toate tehnicile de reprezentare unidimensională pentru semnale.
Astfel, pentru orice contur eşantionat, care conţine N puncte, se
poate scrie:
u (n) = x(n) + j ⋅ y (n) , unde n = 0,1,..., N − 1 (8.6)
În cazul unui contur închis, semnalul u(n) va fi un semnal periodic
cu perioada N.
x
a(k)=x(k)+j⋅y(k)
α
y
Figura 8.3. Descriptori Fourier.
182
Deci, anumite transformări geometrice ale unui contur sau forme se
reflectă, în cazul descriptorilor Fourier corespondenţi, în transformări
(operaţii) simple ale acestora. De exemplu, dacă un contur este translatat
cu:
u 0 = x0 + j ⋅ v0 , ⇒ u ' ( n) = u ( n) + u 0 (8.9)
În acest caz, noii descriptori Fourier rămân identici, cu excepţia
celui pentru k=0, a ' (k ) = a (k ) + u 0 ⋅ δ (k ) . Efectul de scalare (mărire sau
micşorare a conturului) are ca efect o scalare a coeficienţilor a(k), deci
dacă:
u ' ( n) = α ⋅ u ( n) ⇒ a' (k ) = α ⋅ a(k ) (8.10)
Modificarea punctului de referinţă (de start) a conturului duce la o
modulare a coeficienţilor a(k). Deci, dacă:
2π ⋅k ⋅n0
−j
− jΦ 0
u ' ( n) = u ( n) ⋅ e ⇒ a' (k ) = a(k ) ⋅ e N (8.11)
Rotaţia conturului cu un unghi φ0 produce un defazaj suplimentar
constant φ0 al descriptorilor:
183
1
0 1
1 0 0 1 1 2 0 3
3 2
0 0 1 0 convenţie
0 1 2 3
184
• împărţirea şirului de biţi ce defineşte imaginea în blocuri de câte m
biţi;
• un bloc nul (toţi biţii sunt 0-logic) se înlocuieşte cu un singur bit de 0;
• blocurile nenule (în care cel puţin un bit este diferit de 0-logic) sunt
înlocuite cu un bit de 1-logic, urmat blocul respectiv.
De exemplu, pentru m=3 şi pentru secvenţa următoare:
000 110 000 101 000 011
codul corespunzător este:
0 1110 0 1101 0 1011
După cum se observă, acest tip de compresie este eficient doar în
cazul imaginilor cu mult alb, în caz contrar putându-se obţine chiar un
efect contrar compresiei.
Se poate arăta că:
1
R = 1 + − p nul , unde (8.13)
m
R este inversul ratei de compresie (C), pnul este probabilitatea ca
blocul de m biţi să fie nul.
1 numarul de biti din imaginea initiala
C= = (8.14)
R numarul de biti din imaginea finala
185
Adică primul bit este 0-logic, care se repetă de 3 ori, după care se
schimbă simbolul (în 1-logic, dar acesta nu se mai memorează, deoarece
în imaginile binare tranziţia din 0-logic se face doar în 1-logic), acesta se
repetă de 3 ori, după care se schimbă din nou simbolul, acesta apare o
singură dată, după care avem 2 schimbări succesive de simbol, acestea
apărând câte o singură dată, după care avem simbolul 1-logic care se
repetă de 5 ori, se schimbă simbolul (în 0-logic) care apare de 4 ori, iar
apoi ultimul simbol apare de 6 ori.
Se observă că în secvenţa codată cel mai mare număr care apare
este 6, deci pentru codarea binară a acestei secvenţe este nevoie de 8
coduri (apar 8 numere în secvenţa codată 33111546) de câte 3 biţi (pentru
codarea celui mai mare număr este nevoie de 3 biţi) plus bitul ce
reprezintă valoarea primului bit din secvenţa iniţială. Prin urmare, se poate
deduce că metoda este eficientă în codarea imaginilor care conţin zone
uniforme de dimensiuni mari.
Metoda RLE este utilizată la faxuri.
186
Tabelul 8.1.
Simbolul Iniţial Etapa 1 Etapa 2 Etapa 3 Etapa 4 Etapa 5 Etapa 6
PA CA PA CA PA CA PA CA PA CA PA CA CA
11 (G5) 0
7 (G4) 7 1
S1 6 6 6 6 6 00 00
5 (G3) 5 01
4 (G2) 4 10
S2 3 3 3 3 11 11
S3 3 3 3 010 010
2 (G1) 2 011
S4 2 2 100 100
S5 2 2 101 101
S6 1 0110 0110
S7 1 0111
PA = probabilitatea de apariţie
CA = codul alocat
187
8.2. Compresia imaginilor cu niveluri de gri
…
…
b1
b0
188
două). Spaţiul bidimensional obţinut determină un spaţiu fizic
reprezentabil în planul celor două componente cunoscute:
r
…
189
8.2.2. Metode predictive de compresie
190
Transmiterea eşantioanelor cuantizate şi folosind un cod (de
exemplu 8 biţi pentru 256 de niveluri, folosind convenţia de scriere
binară) se numeşte modulaţie de impulsuri în cod PCM (Pulse Code
Modulation, în engleză). Transmiterea diferenţelor între eşantioane se
numeşte DPCM (Differential Pulse Code Modulation).
Codarea diferenţei se poate face în diverse moduri. Cel mai simplu
caz din punct de vedere al biţilor de transmis este ca eroarea e(n) să fie
codată pe un singur bit (bitul de semn). În acest caz, se fixează o cuantă q
şi la transmisie:
• dacă e(k)>0 se transmite 1-logic;
• dacă e(k)<0 se transmite 0-logic.
La recepţie:
• dacă s-a recepţionat un 1-logic se adaugă cuanta q la eşantionul
anterior;
• dacă s-a recepţionat un 0-logic se scade cuanta q la eşantionul
anterior.
Această codare DPCM particulară se numeşte modulaţie delta. În
figura 8.8 se observă care este dezavantajul esenţial al modulaţiei delta:
eroarea de neurmărire, în momentele când semnalul se modifică rapid.
u(k)
uˆ (k )
eroare de
neurmărire
zgomot
q granulat
t
Figura 8.8. Principiul modulaţiei delta.
191
În zonele cu pantă mare, deci cu variaţii bruşte, ale u(k) apar
distorsiuni (erori) de neurmărire, iar în zonele cu pantă mică, deci cu
variaţii lente, ale u(k) apare un zgomot granulat.
Modulaţia delta a fost îmbunătăţită mult în raport cu această
variantă iniţială prin procedee de modificare adaptivă a pantei de creştere
în funcţie de secvenţa de cifre binare transmise. Eliminarea distorsiunii de
urmărire se face prin modificarea adaptivă a cuantei de la un pas la altul,
adică (figura 8.9):
• creşterea cuantei pentru două creşteri succesive ale semnalului;
• scăderea cuantei pentru două scăderi consecutive;
• păstrarea valorii cuantei de la un pas la altul, pentru o creştere şi o
descreştere succesivă (sau o descreştere şi o creştere succesive).
u(k)
uˆ (k )
2q
q
t
Figura 8.9. Principiul modulaţiei delta adaptive.
192
u(k) + e(k) eq(k)
+ cuantizor
-
Predictor cu
întârzieri uˆ (k )
193
pentru punctul curent, fereastra de predicţie trebuie aleasă ca în figura de
mai jos (Wm,n şi nu W’m,n), pentru ca valorile ce intervin în predicţie să fie
deja calculate:
Wm,n
W’m,n
194
imaginii recepţionate, ce conţine informaţie doar în unele componente, i se
aplică transformarea inversă, obţinându-se imaginea iniţială I (în practică
se obţine de fapt o aproximaţie a acesteia).
Dacă transformarea este liniară şi unitară, deoarece transformările
unitare conservă energia ( E ( I ) = E (T ( I ) ) ), se poate controla cât anume se
pierde din energia imaginii iniţiale prin netransmiterea (sau
nerecepţionarea) componentelor nesemnificative din imaginea
transformată.
Mărimile cantitative care definesc eficienţa compresiei sunt:
• raportul de compresie. Raportul de compresie se defineşte ca fiind
raportul dintre cantitatea de informaţie din imaginea iniţială şi
cantiatea de informaţie din imaginea transformată care se transmite. În
prezent, factorii de compresie uzuali sunt de 10...20.
• raportul semnal-zgomot. Raportul semnal-zgomot exprimă o măsură a
calităţii compresiei. Raportul semnal-zgomot al compresiei se
defineşte ca fiind raportul dintre energia imaginii iniţiale şi energia
erorii de compresie:
2
∑ I (i, j )
EI i, j
RSZ = = (8.22)
E I − Iˆ 2
∑ I (i, j ) − Iˆ(i, j )
i, j
195
Dintre transformările prezentate anterior, cea mai utilizată
transformare pentru compresie este transformata Cosinus discretă
DCT, care elimină dezavantajele transformatei Fourier DFT.
• numărul de operaţii sau complexitatea algoritmului de compresie. În
capitolul de transformări ale imaginilor, s-a arătat că pentru
transformările unitare bidimensionale, ale unor imagini de dimensiuni
N×N, care admit algoritm rapid de calcul, numărul de operaţii este:
n x ≈ N 2 ⋅ log 2 N (8.23)
Complexitatea algoritmului se poate reduce dacă nu se aplică
transformarea pe întreaga imagine, ci se împarte imaginea în blocuri
şi se face codarea fiecărui bloc transformat.
T T
n
n
...
...
... ...
( )
2
N
n x' 2
≈ n ⋅ log 2 n ⋅ (8.24)
n
Prin urmare, câştigul în ce priveşte complexitatea algortimului
de compresie este:
196
nx N 2 ⋅ n 2 ⋅ log 2 N
= = log n N (8.25)
n x' N 2 ⋅ n 2 ⋅ log 2 n
Pentru N=512 şi n=8 (n fiind standardizat în cadrul JPEG):
log 2 N 9
= =3 (8.26)
log 2 n 3
⇒ se obţine un algoritm de 3 ori mai rapid.
x x xx xxxx x x
197
ξ0 ξ1
. .
ξ = . sau ξ = . (8.27)
. .
ξ ξ
N −1 N
Prima numerotarea componentelor poate fi avantajoasă uneori, din
considerente practice (realizările lui ξ sunt notate cu majuscule):
X0 X1
. .
X = . , respectiv X = . (8.28)
. .
X X
N −1 N
Cel mai simplu caz este N=2, în care rezultatele pot fi reprezentate
ca nişte puncte în plan. Rezultatele unor experimente repetate poate arăta
ca în figura 8.17.a. Un alt exemplu este prezentat în figura 8.17.b.
X2 X2
X1 X1
(a) (b)
Figura 8.17. Exemple de reprezentare a realizărilor unei variabile
aleatoare.
198
adică dacă în loc de valorile calculate pentru X1 şi X2 s-ar face calcule cu
nişte combinaţii ale acestora, care se pot obţine ca noi coordonate ale
punctelor într-un sistem de axe rotit, pentru caracterizarea experimentului
ar fi aproape suficient y1, adică o singură variabilă şi nu două, deoarece y2
este mic în comparaţie cu y1 şi adesea neglijabil, în asemenea situaţii.
X2
y1
y2
X1
Figura 8.18. Exemplu de reprezentare a realizărilor unei variabile
aleatoare, într-un sistem de axe rotit.
199
ξ0 η0
. .
ξ = . şi η = . . (8.30)
. .
ξ η
N −1 N −1
Scopul este de a găsi o transformare care să fie optimă dintr-un
anumit punct de vedere, şi anume să facă cât mai mici cât mai multe
componente ale lui η astfel încât ξ să se poată aproxima cât mai bine prin
cât mai puţine numere. Bineînţeles, fiind vorba de variabile aleatoare,
minimizarea acestora trebuie înţeleasă în sensul de eroare medie. Mai
exact, instrumentul matematic adecvat este eroarea medie pătratică fiindcă
este o funcţie derivabilă: la eroarea medie ar trebui vorbit de modul, dar
modulul nu este o funcţie derivabilă.
Pentru calculele ce urmează se presupune, de asemenea, că toate
componentele lui ξ (ξ0, ξ1,…, ξN-1) sunt variabile aleatoare de medie nulă.
Se presupune că se cunosc nişte informaţii minime despre aceste variabile
şi anume, se presupun cunoscute mediile şi corelaţia între componente,
respectiv dispersia fiecăreia, adică momentele de ordinul 1 ( ξ k ) şi de
ordinul 2 ( ξ i ξ j ). Dacă nu ar fi variabile aleatoare de medie nulă, s-ar
putea scade media (cunoscută), iar rezultatul ar fi variabile aleatoare de
medie nulă.
Se va limita căutarea optimului printre matricile unitare (care, de
fapt, sunt generalizări ale rotaţiilor din plan), deoarece ele păstrează
produsul scalar şi norma, adică dacă:
η ' = A ⋅ ξ ' şi η " = A ⋅ ξ " (8.31)
atunci:
ξ 'T ⋅ξ " = (ξ ' , ξ " ) = (η ' ,η " ) = η 'T ⋅η " (8.32)
şi, în particular:
2 2
ξ' = (ξ ' , ξ ' ) = (η ' ,η ' ) = η ' (8.33)
200
În aceste relaţii, vectorii sunt consideraţi ca fiind vectori coloană de
dimensiune N×1, ca în relaţia (8.30). Produsul scalar a doi vectori ξ şi η a
fost notat cu (ξ, η). În notaţie matriceală, acest produs se scrie ca un
produs ξ T·η, între o matrice (vector) 1×N şi o matrice N×1 şi are ca
N −1
rezultat o matrice (scalar) 1×1: ξ T ⋅ η = ∑ ξ i ⋅ η i .
i =0
[
AT = a0 , a1 ,..., a N −1 ,] (8.34)
atunci vectorii ai sunt ortogonali doi câte doi şi de normă 1.
Prin urmare, se va căuta printre matricile unitare o matrice L cu
proprietăţile de optimalitate descrise. Cu alte cuvinte, se porneşte de la
relaţiile:
η0
.
η = L ⋅ ξ şi ξ = LT ⋅ η , unde η = . . (8.35)
.
η
N −1
Primul pas ar fi să se determine cum ar trebui să fie L pentru ca
eroarea medie pătratică (asupra lui ξ) să fie minimă, dacă se înlocuieşte
ηN-1 cu zero, adică dacă se neglijează o componentă.
η0
.
~
Fie: η~ = . şi ξ = LT ⋅ η~ (8.36)
η N −2
0
201
~2
Este evident că: ξ − ξ = η − η~ , deoarece:
2
ξ −ξ
~2
( ~T
) (
~
) [ T
] [
= ξ − ξ ⋅ ξ − ξ = LT ⋅ (η − η~ ) ⋅ LT ⋅ (η − η~ ) = ]
= (η − η~ )T ⋅ L ⋅ LT ⋅ (η − η~ ) = (η − η~ )T ⋅ (η − η~ ) = η − η~
2
(8.37)
Prin urmare:
N −1
ε 2 = η − η~ = ∑ (η k − η~k )2 = η N2 −1 = η N −1 ⋅ η N −1 =
2
k =0
= l TN −1 ⋅ ξ ⋅ ξ T ⋅ l N −1 = l TN −1 ⋅ ξ ⋅ ξ T ⋅ l N −1 = l TN −1 ⋅ K ξ ⋅ l N −1 (8.38)
unde Kξ este matricea de covariaţie (şi de corelaţie, deoarece este
de medie nulă) a vectorului ξ. Alegerea lui lN-1 (lk fiind coloanele matricii
LT) trebuie făcută astfel încât acest ε2 să fie minim, cu constrângerea că lN-1
este un vector unitar:
l TN-1 ⋅ l N −1 = 1 (8.39)
Folosind metoda multiplicatorilor lui Lagrange, aceasta înseamnă
să minimizăm liber funcţia:
(
Ψ = l TN −1 ⋅ K ξ ⋅ l N −1 − λ ⋅ l TN −1 ⋅ l N −1 − 1 ) (8.40)
Derivarea lui Ψ în raport cu componentele lui lN-1 şi anularea ei, se
scrie mai compact ca anularea gradientului lui Ψ, iar:
( )
∇ v Ψ vT ⋅ A ⋅ v = 2 ⋅ A ⋅ v (8.41)
pentru orice vector v şi orice matrice A, astfel că:
∇ lN −1 Ψ = 2 ⋅ K ξ ⋅ l N −1 − 2 ⋅ λ ⋅ l N −1 = 0 (8.42)
adică lN-1 trebuie să fie vector propriu al matricii de autocovariaţie a
lui ξ:
K ξ ⋅ l N −1 = λ ⋅ l N −1 (8.43)
Cum în acest caz eroarea devine:
2
ε = l TN −1 ⋅ K ξ ⋅ l N −1 = l TN −1 ⋅ (λ ⋅ l N −1 ) = λ ⋅ l TN −1 ⋅ l N −1 = λ ⋅ l N −1 =λ
202
(deoarece lN-1 este de modul 1) este clar că, pentru a avea un
minim, trebuie ca λ să fie cea mai mică valoare proprie a lui Kξ (se ştie că
Kξ este o matrice simetrică pozitiv definită şi prin urmare are N valori
proprii pozitive, iar vectorii proprii sunt ortogonali, de normă 1).
η0
.
Vectorul η = . la care se doreşte ca ultima componentă să
.
η
N −1
fie minimă, are proprietatea interesantă că:
(
η k ⋅ η N −1 = l kT ⋅ ξ ⋅ l TN −1 ⋅ ξ )T = l KT ⋅ ξ ⋅ ξ T ⋅ l N −1 = l KT ⋅ ξ ⋅ ξ T ⋅ l N −1 =
= l kT ⋅ K ξ ⋅ l N −1 = l kT ⋅ (λ min ⋅ l N −1 ) = λ min ⋅ l kT ⋅ l N −1 = 0 (8.44)
pentru ∀k ≠ N − 1 , deoarece L este o matrice ortogonală (unitară,
reală). Cu alte cuvinte ηN-1 este necorelată cu toate celelalte componente
ale lui η. Adică Kη are forma:
η 0 ⋅ η 0 η 0 ⋅ η1 . . . η 0 ⋅ η N −2 0
η1 ⋅ η 0 η1 ⋅ η N −2 0
.
Kη = (8.45)
.
.
0 0 . . . 0 λ min
Dacă ηN-1 este necorelată cu toate celelalte componente ηk ale lui η,
ea este necorelată şi cu orice combinaţie liniară a acestor componente.
Aceste lucruri permit să se spună că se poate repeta raţionamentul
precedent pentru vectorul:
203
η0
.
η'= .
.
η
N −2
adică să se caute o transformare unitară care să minimizeze ultima
componentă (media ei pătratică) şi apoi tot aşa.
De fapt, deoarece ηN-1 este necorelată cu toate celelalte componente
ηk, transformarea căutată se poate considera şi ea N-dimensională, cu
ultima linie l TN −1 cunoscută.
Se ajunge la concluzia că matricea L care compactează cel mai bine
2
energia lui ξ adică pe ξ în câteva componente, este cea pentru care
coloanele lui LT sunt vectorii proprii ai matricii Kξ în ordinea
descrescătoare a valorilor proprii, adică dacă:
LT = [l 0 ,..., l N −1 ],
atunci lk satisface relaţia:
K ξ ⋅ l k = λk ⋅ l k (8.46)
unde: λ0 ≥ λ1 ≥ λ 2 ≥ ... ≥ λ N −1 .
204
• vectorii proprii corespunzători sunt ordonaţi în aceeaşi ordine:
( )
L = l (1) l ( 2) ...l ( N ) T (8.56)
În acest mod, energia lui η = L ⋅ ξ va fi concentrată în primele
componente.
Exemplu:
În cazul unei transformări separabile, aplicată unei imagini IN×N, se
determină matricea de autocovariaţie a liniilor Kl, matricea de
autocovariaţie a coloanelor Kc (figura 8.19):
(
Kc = c − c ⋅ c − c )( )T , K l = (l − l )⋅ (l − l )T , (8.57)
unde mediile statistice pot fi estimate ca medii aritmetice pe mai
multe imagini.
c1 c2 cN
l1
l2
...
...
lN
205
După determinarea matricelor Kl şi Kc, se determină vectorii proprii
şi valorile proprii:
K l → Ll → λl , K c → Lc → λc (8.60)
Cu aceste mărimi calculate, pentru o imagine dată U, imaginea V
obţinută prin transformarea KL bidimensională a imaginii iniţiale U, este:
V = Lc ⋅ U ⋅ LTl
. . T .......
. ..
U. . V
206
Bibliografie
207