filtrarea adaptiva imaginilor - erasmus pulseimag.pub.ro/ro/cursuri/archive/07.pdffiltrarea de...
TRANSCRIPT
2
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
De ce adaptiv ?
medierearitmetica
detalii, contururiafectate
Medierea nu ar trebui aplicata in zonele decontur sau cu multe detalii.
3
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptare
Adaptare = modificarea parametrilor de definitie a unei prelucrariin functie de conditiile locale (din jurul punctului curent prelucrat),pentru fiecare pozitie din imaginea de prelucrat.
Potential putem obtine ca urmare a adaptarii cate un filtru diferitpentru fiecare pixel din imagine, pornind de la o aceeasi structurade filtrare de baza.
Adaptarea impune existenta unui mod de masurare cantitativa,obiectiva, a efectelor de prelucrare (dorite sau nedorite) indusein imagine in functie de parametrii ce definesc filtrele.
Deducerea parametrilor filtrelor se fac prin minimizarea unormasuri de tip eroare.
4
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Ce se poate schimba la un filtru ?
Vecinatate (forma ferestrei de filtrare).
Coeficientii (ponderile) corespunzatoare functieide combinare a valorilor.
Orice s-ar modifica in filtru de la o pozitie la alta,prelucrarea globala rezultata nu mai este invariantaspatial, si deci va fi neliniara.
5
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea formei ferestrei de filtrare(vecinatatii)
6
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea formei ferestrei de filtrare
Filtrarea de netezire este evaluata prin diferentele introduse fatade imaginea care se filtreaza; daca diferentele dintre imagineafiltrata si cea dinainte de filtrare sunt prea mari este posibil cafiltrul de netezire sa fi incetosat contururi din imagine.
Presupunerea colaterala este ca zgomotul este mai slab decatcontururile imaginii si variatiile datorate zgomotului sunt maimici decat variatiile dintre valorile regiunilor alaturate.
Implementarea acestei categorii de filtre foloseste un “comutator”a mai multor valori posibile de dupa filtrare, corespunzand unorpraguri de acceptare a variatiilor.
7
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea formei ferestrei de filtrare
1. Comutare mediere/ trece-tot
Fie f imaginea zgomotoasa si g imaginea filtrata.
altfel),,(),(),(daca,),(),(
clfTclfclfclfclg
Valoarea noua a unui pixel este media aritmetica a valorilor dinvecinatatea sa numai daca aceasta valoare nu este prea diferita devaloarea initiala.
Echivalent, putem spune ca comutarea se face intre un filtru demediere cu vecinatate V si un filtru de mediere cu vecinatateformata doar din punctul curent prelucrat.
8
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Exemplu
imagine cu zgomotSNR = 17.3 dB
filtru mediereSNR = 21.5 dB
filtru adaptivSNR = 19 dB
T = 13se folosesc 50%din pixeliifiltrati
9
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea formei ferestrei de filtrare
2. Filtre liniare orientate
Se foloseste un set de vecinatati orientate dupa diferite directii.
Fie gi rezultatul filtrarii dupa vecinatatea Vi, orientata pe directia i.
Ex.V1 V2 V3 V4
),(),(minargunde),,(),( clgclfkclgclg iik
k este directia dupa care netzirea este ceamai “moale”, introducand diferente minimefata de imaginea de prelucrat
10
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
imagine cu zgomotSNR = 17.3 dB
filtru mediereSNR = 21.5 dB
Exemplu
filtru adaptiv
SNR = 19.9 dB
11
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
In mod ideal fereastra de filtrare de netezire trebuie sa fieparalela cu conturul local, astfel incat sa selecteze valorisituate din interiorul unei singure regiuni.
fereastra de filtrare izotropa,strica conturul
fereastra de filtrare liniaraperpendiculara pe contur,strica conturul
fereastra de filtrare liniaraparalela cu conturul,nu strica conturul
12
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea formei ferestrei de filtrare
3. Filtrul Nagao
V1 V2 V3 V4
V5 V6 V7 V8
V9
Se foloseste un set de vecinatati orientate dupa diferite directii.
13
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Fie gi rezultatul filtrarii dupa vecinatatea Vi.
2minargunde),,(),( iik kclgclg
Vk este vecinatatea pentru care netzirea este cea mai “moale”,introducand diferente minime fata de imaginea de prelucrat,pentru ca este vecinatatea cea mai uniforma (in care valorileselectate sunt cele mai similare intre ele).
Adaptarea formei ferestrei de filtrare
3. Filtrul Nagao
Fie 2i varianta valorilor din vecinatatea Vi.
14
Adaptarea formei ferestrei de filtrare
3. Filtrul Nagao
162 162 162 163 165162 162 162 163 165164 157 161 158 160158 155 158 156 158155 157 154 155 161
V2
162 162162 162 162
157 161
3.47622 i
5.95 3.47 4.23 5.14 0.47 10.47 5.61 9.80 8.61
5pt0.47}{min 2 iii
162162.1429mean(V5)
15
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea coeficientilor (parametrilor)functiilor de combinare a valorilor
16
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea filtrelor liniareModificarea coeficientilor filtrului in functie de valorile imaginii,in fiecare punct (deci in fiecare pixel operatia de prelucrare va firealizata de un filtru potential diferit).
Urmareste reducerea efectului de blur in zonele de contur.
Exemplu clasic : filtrul Lee(LLMMSE - Locally Linear Minimal Mean Squared Error)
Idee : imaginea filtrata se construieste ca o combinatie liniaraconvexa a imaginii originale (dar posibil degradate) si a imaginiiobtinute prin medierea aritmetica in fiecare pixel a valorilordin imaginea originala.
f)1(fg
17
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Filtrul LeeLLMMSE
f)1(fg
,0 zff 0,0 00 zfzfzzgomot alb, aditiv, necorelat cu imaginea, de medie zero
zffg
zffzfzfg
)1()1(
))(1())(1(
00
0000
Eroarea de aproximare a imaginii corecte f0 prin imaginea filtrata g :z)1()ff(gf 000
Eroarea patratica medie va fi : 2002 z)1()ff(
zffzff )()1(2)1()( 00222
0022
2z
22f
22 )1(0
18
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Minimizarea erorii patratice medii inseamna :Filtrul LeeLLMMSE
02
0)1(22 2z
2f
2
0
2z
2f
2z
0
Dar zff 0 2z
2f
2f 0
Atunci, echivalent, putem scrie :2f
2z
f)1(fg 2f
2z
2f
2z
2z
22f
22 )1(0
19
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Filtrul LeeLLMMSE
Cazuri limita :
02z 0
f)1(fg
fg I.
1 fg II.
2f
2z
In zonele fara zgomot sau in zonele de contur filtrul este trece-tot
22fz
2f
2z
2z
2f
2z
0
In zonele cu zgomot mare sau in zonele uniforme filtrul este trece-jos(mediere)
220fz
f)1(fg 2f
2z
2f
2z
20
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Filtrul LeeLLMMSE :
Exemplu
orig. | zg. gauss.
medie | LLMMSE
21
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Filtrul Lee cu fereastra dubla
La filtrul Lee simplu trebuie cunoscuta puterea zgomotuluiaditiv care afecteaza imaginea.
Idee: folosim pentru fiecare pixel din imagine doua ferestre deprelucrare
o fereastra de dimensiune mica, in care estimam zgomotulo fereastra de dimensiune mai mare, in care se realizeazaprelucrarea de tip Lee standard
presupunem ca pe zona selectata de fereastra imaginea estein mod ideal constanta (egala cu media valorilor din vecinatate)iar variatiile ce apar sunt induse numai de zgomotul aditiv.
22
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Filtrul Lee cu fereastra dubla
pixel curent de prelucrat
fereastra de determinare a puteriide zgomot
fereastra de filtrare Lee propriu-zisa
23
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Filtrarea adaptiva a zgomotului multiplicativ
24
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Zgomot multiplicativ (speckle)
),(),(),( 0 clzclfclf 1z
00 fzf
Filtrele uzuale sunt proiectate pentru eliminarea zgomotuluiaditiv. Vom incerca deci sa transformam zgomotul multiplicativintr-un zgomot aditiv.
original ZAGA zg. multiplicativ
25
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Solutia 1:Caz particular de filtrare homeomorfica: logaritmare
),(),(),( 0 clzclfclf
),(ln),(ln),(ln 0 clzclfclf ),(ˆ),(ˆ),(ˆ0 clzclfclf
26
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Solutia 2
Echivalarea cu un zgomot aditiv, pentru aceeasi imagine, inconditiile in care se doreste aplicarea filtrului Lee.
Lee clasic:
f)1(fg
2f
2z
2z
2f
2z
0
zff 0
zff 0
nff 0
2
2
f
n
ffg )1(
27
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
zff 0
nff 0nfzf 00 )1(0 zfn
1z
00 fzf 0n
22 nn
220
220
20
22 )1()1( zn fzfzfn
1220
2220
220
2 zz fzfzff 222 ff f 11 2
22
2
22
0
z
f
z
fff
222
22
1ff
z
zn
28
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
2
2
f
n
222
22
1ff
z
zn
2
2
2
2
11 fz
z f
ffg )1(
29
Filtru bilateral
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
M. ZAMFIR
• Modelul presupus al semnalului:
y=x+zunde x – semnalul original,
z – zgomot gaussian, de medie zeroy – semnalul observat, afectat de zg.
Semnal unidimensional
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
M. ZAMFIR
0 10 20 30 40 50 605
10
15
20
25
30
35
40
45
semnalul originalsemnalul cu zgomot
Filtru bilateral - ideea
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
M. ZAMFIR
• Fiecare valoare (esantion) este inlocuita demedia ponderata a valorilor din vecinatateaaleasa
• Ponderile arata 2 aspecte:– Alegerea formei vecinatatii si importanta acordata
vecinilor (ponderi mai mari pt vecinii maiapropiati),
– Ponderile tin cont de cat de apropiate sunt valorilevecine de valoarea curenta (ponderi mai mari ptvalori similare).
• Toate ponderile trebuie normalizate a. i. sa numodifice media locala.
Filtru bilateral- Exprimarea matematica
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
M. ZAMFIR
n
np
n
np
pkw
pkypkwkx
),(
)(),()(ˆ
Rezultatulpt pozitia k
Mediarea pt 2n+1valori din vecinatateaaleasa
Normalizareaponderilor
PondereaValoarea unui
esantion
Filtru bilateral - Ponderile
2rσ
2p)y(ky(k)exp2rσ
p)y(ky(k),2rdexpp)(k,rw
2sσ
2pexp2sσ
pkk,2sdexpp)(k,sw
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
M. ZAMFIR
p)(k,p)w(k,wp)w(k, rs
36
Filtru bilateral
0.4111 0.5738 0.6412 0.5738 0.41110.5738 0.8007 0.8948 0.8007 0.57380.6412 0.8948 1.0000 0.8948 0.64120.5738 0.8007 0.8948 0.8007 0.57380.4111 0.5738 0.6412 0.5738 0.4111
200 5 20 30 5045 70 80 25 3550 45 60 75 10065 46 65 60 9568 75 68 70 78
0.0000 0.0347 0.1690 0.3679 0.89480.7788 0.8948 0.6412 0.2564 0.49940.8948 0.7788 1.0000 0.7788 0.16900.9726 0.8043 0.9726 1.0000 0.25640.9314 0.7788 0.9314 0.8948 0.6977
0.0000 0.0199 0.1084 0.2111 0.36790.4468 0.7165 0.5738 0.2053 0.28650.5738 0.6969 1.0000 0.6969 0.10840.5580 0.6440 0.8703 0.8007 0.14710.3829 0.4468 0.5972 0.5134 0.2868
Sigma_val=30Sigma_s=3
37
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Adaptarea filtrelor intrinsec neliniare
38
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Filtru de ordine ponderatCoeficientul wi atasat unei pozitii din fereastra de filtrare semnificafaptul ca valoarea extrasa din acea pozitie este repetata de wi oriinainte de ordonare.
iij wxrankclg ),(
Principiul stivei asigura ca aceasta prelucrare poate fi relizata pefiecare nivel al stivei binare, cu rezultate echivalente.
Pentru date binare, medianul este un filtru de majoritate. Dar filtrulde ordine de rang j ?
Iesirea filtrului rankj este 0 numai daca sunt cel putin j valori nule.
39
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Conditii de functionare
Fie un filtru median ponderat cu ponderile wi. Functia binara estedescrisa de:
K
iiiK Kxwxxxf
121 2/)1(1),...,,(
Exista apoi o serie de secvente ce se doresc eliminate (configuratiide zgomot) si o serie de secvente ce se doresc pastrate(configuratii utile).
ljKxwfK
i
jii
j ,...,1cu2/)1(0)(1
)()(
x
hljKxwfK
i
jii
j ,...,1cu2/)1(1)(1
)()(
x
Aceste inegalitati actioneaza pe post de constrangeri pentru filtru.
40
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Accentuare : Reprezentarea raportului invers de contrast
),(),(),(
clfclclg
dispersia locala a valorilor din imagine
media locala a valorilor din imagine
(inverse contrast mapping)
Valorile g(l,c) sunt in final rescalate pentru a pastra valoareamedia globala a valorilor din imagine.
41
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Accentuare : Extreme locale
altfel,
2),(daca,),(
)1(
)1()()(
x
xxclfxclg
KK
42
• function out = nagao(in,nriter)
• if ~exist('in','var') error('You must specify an input image!'); end•• if ~exist('nriter','var') nriter = 1; end•• [lin col]=size(in);•• out = in;•• mask = [1,2,6,7,8,12,13; 6,7,11,12,13,16,17; 12,13,16,17,18,21,22; 13,17,18,19,22,23,24;
13,14,18,19,20,24,25; 9,10,13,14,15,19,20;...• 3,4,8,9,10,13,14; 2,3,4,7,8,9,13; ]';•• for k = 1:nriter• disp(['Now performing iteration # ' num2str(k) '...']);• for i = 3:lin-2,• for j = 3:col-2,• temp = in(i-2:i+2,j-2:j+2);• [dummy,poz]=min(var(temp(mask)));• out(i,j)=mean(temp(mask(:,poz)));• end• end• disp('Over!');• end
43
• function out = bilateral(in,N,sigma_v,sigma_d)•• % Performs bilateral filtering for grayscale images corrupted by additive noise• % IN is the input image• % N is the size of the processing window (default = 5)• % SIGMA_VALUE is the parameter that controlls the shape of the• % value-based Gaussian distance (default = 30)• % SIGMA_DISTANCE is the parameter that controlls the shape of the• % geometrical-distance-based Gaussian distance (default = 3)• % OUT is the filtered image•• out = in;• if ~exist('N','var'), N = 5; end
• if ~exist('sigma_v','var'), sigma_v = 30; end
• if ~exist('sigma_d','var'), sigma_d = 3; end•• [lin,col]=size(in);• N = floor(N/2);• DistMatr = exp(-(-N:N)'.^2/sigma_d^2)*exp(-(-N:N).^2/sigma_d^2);• hw = waitbar(0,'Applying neighborhood operator....');• for i = 1+N:lin-N,• for j = 1+N:col-N,• x = in(i-N:i+N,j-N:j+N);• w = exp(-(x-x(ceil(length(x(:))/2))).^2/sigma_v^2).*DistMatr;• out(i,j) = sum(w(:).*x(:)/sum(w(:)));• end• waitbar(i/(lin-2*N),hw);• end• close(hw);