Sunteți pe pagina 1din 33

Prelucrarea imaginilor și

recunoașterea formelor
Procesarea multirezoluție. Detecția muchiilor
Conf. dr. ing. Ana-Maria Suduc
Cursul 8
Cuprins

A. Transformarea wavelet și procesarea multirezoluție – introducere


 Piramidele imaginii
 Codarea în subbenzi
 Transformarea Haar
B. Detecția muchiilor - Introducere
 Detecția muchiilor - Elemente de bază
 Detecția muchiilor
 Tehnici de bază
 Tehnici avansate
 Metoda Marr-Hildreth
 Metoda Canny
A. Transformarea wavelet și procesarea
multirezoluție - introducere
 Transformarea wavelet permite compresia, transmiterea și analiza imaginilor
 Transformarea Fourier are la bază sinusoide, transformarea wavelet are la
bază unde mici, numite wavelet, de frecvență variabilă și durată limitată.
 Teoria multirezoluție – o abordare mai nouă de procesare și analiză de semnal
(Mallat, 1987)
 Există mai multe transformări bazate pe wavelet
A. Transformata wavelet și procesarea
multirezoluție - introducere
 Obiecte mici -> rezoluție mare
 Obiecte mari -> rezoluție mică
 Obiecte mici și mari -> procesarea multirezoluție
Histograme locale diverse
1. Piramidele imaginii (image pyramids)

 Piramidele imaginii - o tehnică de reprezentare a imaginilor la mai mult de o


rezoluție (Burt, Adelson, 1983)
 O colecție de imagini cu rezoluții descrescătoare aranjate sub forma unei
piramide. Baza piramidei conține o reprezentare la rezoluție mare a imaginii
procesate.
 De la bază spre vârf atât dimensiunea cât și rezoluția imaginilor descresc.
1. Piramidele imaginii (image pyramids)

 Nivelul de la bază J e de dimensiune 2J x 2J


sau N x N, unde J=log2N
 Nivelul din vârf, nivelul 0 e de dimensiune 1
x1
 Nivelul j e de dimensiune 2j x 2j, unde 0 ≤ j
≤J
 Majoritatea piramidelor sunt trunchiate la
P+1 niveluri (în loc de J+1), unde 1 ≤ P ≤ J
 Numărul de pixeli de pe nivelul P+1, pentru
P>0, va fi:

1 1 1 1 4 2
𝑁𝑁 2 1+ + + + ⋯+ ≤ 𝑁𝑁
(4)1 (4)2 (4)3 (4)𝑃𝑃 3
Piramide gaussiene
Piramide Laplaciene
Piramide wavelet
Cele două piramide ale imaginii și
histogramele acestora
- Piramida de aproximare
- Piramida reziduală (cu imaginile
reziduale scalate)
2. Codarea în subbenzi

 Imaginea e descompusă într-un set de componente de


bandă de lărgime limitată, numite subbenzi
 Descompunerea se realizează astfel încât subbenzile să
poată fi reasamblate pentru a reconstrui imaginea
originală fără erori.
 Descompunerea se realizează prin filtrare și
subeșantionare
 Dacă se folosesc filtre corespunzătoare imaginea poate fi
reconstruită fără erori prin filtrare și supraeșantionare
2. Codarea în subbenzi
Exemplu:
 Să presupunem că un semnal are cea mai mare parte a energiei concentrate în domeniul
frecvenţelor joase.
 Se efectuează o eşantionare cu 10kHz, 8 biţi pe eşantion. Rata de transmisie necesară este
de 80kbiţi/s.
 O transmisie mai eficientă se poate realiza divizând domeniul de frecvenţă în două subbenzi:
 Prin decimare se păstrează numărul de eşantioane constant, repartizate pe subbenzi.
 Pentru primul semnal CODEC1 va aloca tot 8 biţi.
 Deoarece energia conţinută în al doilea semnal este mai mică CODEC2 poate aloca numai 4
biţi
 Rezultă în total 5 x 8 + 5 x 4 = 60kbiţi/s, deci o reducere la 3/4.
2. Codarea în subbenzi

 Împărțirea în 4 benzi a imaginii:


1. Aproximarea
2. Detaliile orizontale
3. Detaliile verticale
4. Detaliile diagonale
3. Transformarea Haar
 Transformarea Haar poate fi exprimată în formă matriceală:
T = HFHT
F - imagine N x N
H – matricea de transformare Haar
T – transformarea rezultată
 Pentru transformarea Haar, H conține funcțiile de bază Haar, hk(z):
1
ℎ0 𝑧𝑧 = ℎ00 𝑧𝑧 = 𝑁𝑁
, 𝑧𝑧 ∈ 0,1
Și
2𝑝𝑝/2 (𝑞𝑞 − 1)/2𝑝𝑝 ≤ 𝑧𝑧 < (𝑞𝑞 − 0.5)/2𝑝𝑝
1
ℎ𝑘𝑘 𝑧𝑧 = ℎ𝑝𝑝𝑝𝑝 𝑧𝑧 = 𝑁𝑁
−2𝑝𝑝/2 (𝑞𝑞 − 0.5)/2𝑝𝑝 ≤ 𝑧𝑧 < 𝑞𝑞/2𝑝𝑝
0 î𝑛𝑛 𝑐𝑐𝑐𝑐𝑐𝑐 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐, 𝑧𝑧 ∈ [0,1]
Rândul i din matricea Haar N x N conține elementele hi(z), pentru z=0/N, 1/N, 2/N, (N-1)/N
3. Tranformarea Haar

 Transformarea Haar se obtine din matricile Haar. Astfel, matricile Haar 4×4 si
8×8 sunt:
 1 1 1 1 1 1 1 1 
 1 1 1 1  
 1 1 1 1 −1 −1 −1 − 1 
 1 1 − 1 − 1   2 2 − 2 − 2 0 0 0 0 
1
H4 =  
2 2 − 2 0 0  0 0 0 0 2 2 − 2 − 2
  H8 = 
0 0 2 − 2
 2 −2 0 0 0 0 0 0 
  
 0 0 2 −2 0 0 0 0 
 0 0 0 0 2 −2 0 0 
 
 0 0 0 0 0 0 2 − 2 

Aceste matrice sunt folosite pentru crearea filtrelor de reconstrucție din tehnicile anterioare
(codarea pe subbenzi) și pentru cea mai simplă și mai veche transformare wavelet.
Exemplu de analiză wavelet
Descompunerea unei imagini 512 x 512 ce combină
caracteristicile cheie a codării în piramidă, a codării în
subbenzi și transformarea Haar – transformarea wavelet
discretă

1. Cu excepția subimaginii din coltul stânga sus, histogramele


locale sunt foarte asemănătoare. Majoritatea pixelilor sunt
aproape de zero. Deoarece subimaginile (exceptând cea din
st sus) au fost scalate pentru a face structura acestora mai
vizibilă, histogramele au vârful în valoarea 128 (zerourile
au fost scalate la mijlocul intervalului de intensități).
Numărul mare de zerouri fac imaginea un bun candidat
pentru compresie.
2. Într-o manieră similară cu cea în care nivelurile din
piramida reziduală erau folosite pentru a crea imagini
aproximative de rezoluții diferite, subimaginile din această
figură pot fi folosite la construcția de aproximări la
rezoluții diferite (de la rez. mari la rez. mici) ale imaginii
originale.
3.Fiecare imagine reprezintă o bandă specifică de
frecvențe spațiale din imaginea originală.
Analiza multirezoluţie (MRA –
multiresolution analysis)
 Esenţa acestei abordări constă în faptul că semnalul analizat este descris printr-o
succesiune de aproximări care conţin din ce în ce mai multă informaţie
 Exemplul clasic care ilustrează intuitiv acest principiu este următorul: privită de la
mare distanţă, o pădure nu poate fi caracterizată decât prin aspectul său de
ansamblu. Pe măsură ce ne apropiem vom începe să distingem copacii, apoi ramurile
acestora, apoi frunzele.
 Acesta este de fapt specificul analizei multirezoluţie: fiecare nivel de aproximare
conţine pe de o parte întreaga informaţie disponibilă la nivelul precedent, la care
se adaugă o componentă suplimentară de detaliu.
Analiza multirezoluţie

 Se folosește o funcție de scalare pentru a crea o serie de aproximări a unei


funcții sau a unei imagini, fiecare având rezoluția diferită cu un factor de 2
față de aproximările vecine.
 Se folosesc funcții suplimentare, numite wavelets pentru a coda diferența de
informație dintre aproximări adiacente.
 Analiza multirezoluție și wavelets se folosesc în numeroase aplicații:
potrivirea imaginilor, segmentare, eliminarea zgomotului, restaurarea
imaginilor, îmbunătățirea imaginilor, compresie, filtrare morfologică, etc.
B.1. Segmentarea imaginilor -
Introducere
 Segmentarea împarte o imagine în regiunile sau obiectele sale componente.
 Nivelul de detaliu la care se face diviziunea depinde de problema studiată
 Segmentarea ar trebui să se oprească atunci când obiectele sau regiunile de
interes sunt detectate.
 Precizia segmentării determină succesul sau eșecul procedurilor de analiză
computerizată.
 Majoritatea algoritmilor de segmentare se bazează pe:
 discontinuitățile din imagine (împărțirea imaginii pe baza schimbărilor abrupte în
intensitate)
 și similitudinile valorilor intensităților (împărțirea imaginii în regiuni similare
conform unui set predefinit de criterii – ex. binarizare, creșterea regiunilor,
împărțirea și unirea regiunilor).
2. Segmentarea imaginilor. Elemente de
bază
 Fie R întreaga suprafață a imaginii
 Segmentarea poate fi văzută ca o împărțire a lui R în n subregiuni, R1, R2,…, Rn
astfel încât:
1. ⋃𝑛𝑛𝑖𝑖=1 𝑅𝑅𝑖𝑖 = 𝑅𝑅 Segmentarea trebuie să fie completă
2. Ri e un set conectat, i=1, 2, 3, …, n Punctele dintr-o regiune trebuie să fie conectate într-
un sens predefinit
3. 𝑅𝑅𝑖𝑖 ⋂ 𝑅𝑅𝑗𝑗 = ∅ pentru toate i și j, i ≠ j Regiunile trebuie să fie separate
4. Q(Ri) = TRUE pentru i=1, 2, …, n Toți pixelii dintr-o regiune trebuie să aibă o anumită
proprietate
5. Q(Ri⋃ 𝑅𝑅𝑗𝑗) = FALSE pentru oricare regiuni adiacente Ri și Rj Oricare 2 regiuni adiacente trebuie să fie
diferite din punct de vedere al operației
unde Q(Rk) e o operație logică definită asupra punctelor din setul Rk.
logice Q
2. Elemente de bază

 Algoritmii de segmentare a imaginilor


 Discontinuități - Segmentarea bazată pe muchii (se presupune că granițele dintre
regiuni sunt suficient de diferite unele față de altele și față de fundal încât să
permită detecția granițelor pe baza discontinuităților în intensitate)
 Similitudini - Segmentarea bazată pe regiuni (se bazează pe împărțirea imaginii în
regiuni ce sunt similare conform unui set de criterii predefinite)
(b) Imagine ce arată granița
regiunii interioare obținută din
discontinuitățile în intensitate

(a) Imagine
conținând o (c) Rezultatul
regiune de segmentării imaginii
intensitate în 2 regiuni
constantă

(d) Imagine
ce conține (f) Rezultatul
o regine segmentării
texturată bazate pe
proprietățile
regiunii

(e) Rezultatul identificării


muchiilor
Detecția muchiilor

 Definiții
 O muchie reprezintă pixelii în care intensitatea funcției imagine se schimbă brusc.
 O linie este un segment de muchie pentru care intensitatea fundalului pe ambele
părți ale muchiei e fie foarte mare, fie foarte mică față de intensitatea pixelilor de
pe linie.
 Un punct izolat poate fi văzut ca o linie a cărei lungime și lățime sunt egale cu un
pixel.

Schimbările bruște în intensitate pot fi detectate cu operații de


derivare:
𝜕𝜕𝜕𝜕
- de ordinul 1: = 𝑓𝑓 ′ 𝑥𝑥 = 𝑓𝑓 𝑥𝑥 + 1 − 𝑓𝑓(𝑥𝑥)
𝜕𝜕𝜕𝜕
𝜕𝜕2 𝑓𝑓 ′′ 𝑥𝑥
- de ordinul 2: 2 = 𝑓𝑓 = 𝑓𝑓 𝑥𝑥 + 1 + 𝑓𝑓 𝑥𝑥 − 1 − 2𝑓𝑓(𝑥𝑥)
𝜕𝜕 𝑥𝑥
Profilul intensităților imaginii
Detecția muchiilor într-o secțiune orizontală ce
include un punct izolat

 Obs:
 Derivata de ordinul 1 detectează muchiile groase
 Derivata de ordinul 2 are un răspuns mai puternic la
detaliile fine (inclusiv la zgomot). La punctul izolat
derivata de ordinul 2 are un răspuns mai puternic decât
cea de ordinul 1.
 La tranzițiile în intensitate de tip rampă sau treaptă,
derivata de ordinul 2 trece de la pozitiv la negativ sau
invers
 Derivata de ordinul 2 poate fi folosită pentru a detecta
dacă muchia face trecerea de la deschis la închis (valoare
negativă a derivatei de ordinul 2) sau de la închis la deschis
(valoare pozitivă)
Detecția muchiilor
 Detecția punctelor izolate – utilizarea operatorului laplacian

Un punct de coordonate (x,y) poate fi


detectat folosind răspunsul său g(x,y)
R(x,y) e rezultatul aplicării unui filtru în punctul (x,y)
Detecția muchiilor

Orizontal +45o Vertical -45o


 Detecția liniilor
 Prin găsirea punctelor de pe linii
 Colectarea acestor puncte în linii

Imaginea originală Imaginea laplaciană

Valori absolute Doar valori pozitive


Detecția muchiilor

 Detecția liniilor/muchiilor
 De obicei nu se obțin linii ideale
 Liniile ar putea fi întrerupte
Detecția muchiilor

 Modele de muchii
 Trecerea de la zone luminoase la zone
întunecate poate avea diferite forme
Detecția muchiilor

 Modele de muchii
1. Prezența zgomotului complică detecția liniilor
2. Netezirea imaginii ajută adesea în reducerea zgomotului
3. Detecția punctelor de muchie
4. Localizarea muchiilor – selectarea punctelor care sunt pe linii
Tehnici de bază de detecție a muchiilor

 Gradientul imaginii

Folosirea gradientului pentru a determina muchia și


direcția muchiei într-un punct. Muchia e
perpendiculară pe direcția vectorului gradient în
punctul în care se calculează gradientul.
Exprimat adesea sub forma:
Tehnici avansate de detecție a muchiilor
 Metoda Marr-Hildreth
 Schimbările de intensitate nu sunt independente
de scala imaginii
 Schimbarea bruscă în intensitate arată un vârf în
derivata de ordinul 1 și trecere de la pozitiv la
negativ sau invers la cea de-a doua
Tehnici avansate de detecție a muchiilor

 Metoda Canny
 Rată de eroare scăzută
 Punctele de muchie sunt bine localizate
 Returnează un singur punct pentru fiecare punct de
muchie
Pași:
1. Netezirea imaginii cu un filtru gaussian
2. Calculul amplitudinii gradientului folosind aproximări
ale derivatelor parțiale
3. Subțierea muchiilor
4. Detecția muchiilor prin binarizare dublă și analiza
conectivității

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