Deconvoluția Wiener
Wiener deconvoluțiune este o operație matematică aplicarea unui filtru Wiener pentru a elimina sau atenua o parte din zgomot într - un semnal. Funcționează în domeniul frecvenței, încercând să minimizeze impactul zgomotului în cazul în care raportul semnal-zgomot este slab.
Această metodă este potrivită nu numai pentru sunet, ci și pentru imagini , deoarece spectrul de frecvență al majorității imaginilor vizuale este adesea bine condiționat și poate fi estimat cu ușurință.
Își ia numele de la matematicianul Norbert Wiener .
Definiție
Având în vedere un sistem:
y(t)=h(t)∗X(t)+v(t){\ displaystyle \ y (t) = h (t) * x (t) + v (t)}![{\ displaystyle \ y (t) = h (t) * x (t) + v (t)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/01fd7294723b98b0397f3452cb9a0453982aa59b)
unde denotă convoluția și:
∗{\ displaystyle *}![*](https://wikimedia.org/api/rest_v1/media/math/render/svg/8e9972f426d9e07855984f73ee195a21dbc21755)
-
x ( t ) este un semnal de intrare (necunoscut) la ora t.
-
h ( t ) este răspunsul de impuls cunoscut al unui sistem liniar invariant în timp.
-
v ( t ) este un zgomot aditiv necunoscut, independent de x ( t ) .
-
y ( t ) este semnalul observat.
Scopul este de a găsi un g ( t ) astfel încât să putem estima x ( t ) după cum urmează:
X^(t)=g(t)∗y(t){\ displaystyle \ {\ hat {x}} (t) = g (t) * y (t)}![{\ displaystyle \ {\ hat {x}} (t) = g (t) * y (t)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f6f912acc499aef105dde00e03275b1fb4758eee)
unde este o estimare a x ( t ) care minimizează eroarea pătrată medie a rădăcinii .
X^(t){\ displaystyle \ {\ hat {x}} (t)}![{\ displaystyle \ {\ hat {x}} (t)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fd71e2908fc3778c5710cfecba695efac2476c28)
Filtrul Wiener furnizează un astfel de g ( t ) . Filtrul este mai ușor de descris în domeniul frecvenței :
G(f)=H∗(f)S(f)|H(f)|2S(f)+NU(f){\ displaystyle \ G (f) = {\ frac {H ^ {*} (f) S (f)} {| H (f) | ^ {2} S (f) + N (f)}}}![{\ displaystyle \ G (f) = {\ frac {H ^ {*} (f) S (f)} {| H (f) | ^ {2} S (f) + N (f)}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b241304bca47f54d1e109ab5212a0013e0ce2707)
sau:
-
G ( f ) și H ( f ) sunt transformatele Fourier ale g și h , respectiv la frecvența f .
-
S ( f ) este densitatea spectrală medie a puterii semnalului de intrare x ( t ) .
-
N ( f ) este densitatea spectrală medie a puterii zgomotului v ( t )
- exponentul denotă conjugarea complexă.∗{\ displaystyle {} ^ {*}}
Operația de filtrare poate fi efectuată fie în domeniul orar, ca mai sus, fie în domeniul frecvenței:
X^(f)=G(f)Da(f){\ displaystyle \ {\ hat {X}} (f) = G (f) Y (f)}![{\ displaystyle \ {\ hat {X}} (f) = G (f) Y (f)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/49cb798e574cef61485fbb2c9cbe1e25445fbc0a)
unde este transformata Fourier a . Apoi este suficient să luați transforma Fourier inversă pentru a obține .
X^(f){\ displaystyle \ {\ hat {X}} (f)}
X^(t){\ displaystyle {\ hat {x}} (t)}
X^(f){\ displaystyle \ {\ hat {X}} (f)}
X^(t){\ displaystyle \ {\ hat {x}} (t)}![{\ displaystyle \ {\ hat {x}} (t)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fd71e2908fc3778c5710cfecba695efac2476c28)
Acest lucru se aplică în cazul imaginilor, prin înlocuirea variabilelor t și f cu echivalentul lor bidimensional.
Interpretare
Cum funcționează filtrul Wiener devine evident atunci când ecuația filtrului de mai sus este rescrisă:
G(f)=1H(f)[|H(f)|2|H(f)|2+NU(f)S(f)]=1H(f)[|H(f)|2|H(f)|2+1SNUR(f)]{\ displaystyle {\ begin {align} G (f) & = {\ frac {1} {H (f)}} \ left [{\ frac {| H (f) | ^ {2}} {| H ( f) | ^ {2} + {\ frac {N (f)} {S (f)}}} \ right] \\ & = {\ frac {1} {H (f)}} \ left [{ \ frac {| H (f) | ^ {2}} {| H (f) | ^ {2} + {\ frac {1} {\ mathrm {SNR} (f)}}}} \ right] \ end {aliniat}}}![{\ displaystyle {\ begin {align} G (f) & = {\ frac {1} {H (f)}} \ left [{\ frac {| H (f) | ^ {2}} {| H ( f) | ^ {2} + {\ frac {N (f)} {S (f)}}} \ right] \\ & = {\ frac {1} {H (f)}} \ left [{ \ frac {| H (f) | ^ {2}} {| H (f) | ^ {2} + {\ frac {1} {\ mathrm {SNR} (f)}}}} \ right] \ end {aliniat}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/860ae1c471a0f31e946b550665d36f63c822f029)
Aici, 1 / H ( f ) este inversul sistemului original, iar SNR ( f ) = S ( f ) / N ( f ) este raportul semnal / zgomot . Când zgomotul este neglijabil, termenul dintre paranteze pătrate este egal cu 1, ceea ce înseamnă că filtrul Wiener este pur și simplu inversul sistemului, așa cum ne-am aștepta. Cu toate acestea, pe măsură ce zgomotul crește la anumite frecvențe, raportul semnal / zgomot scade, deci și termenul dintre paranteze pătrate scade. Aceasta înseamnă că filtrul Wiener atenuează frecvențele în funcție de raportul lor semnal-zgomot.
Ecuația filtrului Wiener de mai sus necesită cunoașterea conținutului spectral al unei imagini tipice și a zgomotului. De multe ori nu avem acces la aceste cantități exacte, dar putem fi într-o situație în care se pot face estimări bune. De exemplu, în cazul imaginilor fotografice, semnalul (imaginea originală) are în general o frecvență joasă puternică și o frecvență înaltă joasă și, în multe cazuri, conținutul de zgomot va fi relativ plat cu frecvența.
Derivare
După cum s-a menționat mai sus, căutăm o estimare a semnalului original care minimizează eroarea pătrată medie a rădăcinii, care poate fi exprimată după cum urmează:
ϵ(f)=E|X(f)-X^(f)|2{\ displaystyle \ \ epsilon (f) = \ mathbb {E} \ left | X (f) - {\ hat {X}} (f) \ right | ^ {2}}![{\ displaystyle \ \ epsilon (f) = \ mathbb {E} \ left | X (f) - {\ hat {X}} (f) \ right | ^ {2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0d2fbf51d8ab93ab44c735d902b3688045af7ccc)
unde denotă speranță. E{\ displaystyle \ \ mathbb {E}}
Dacă înlocuim cu expresia obținută anterior, obținem:
X^(f){\ displaystyle \ {\ hat {X}} (f)}![{\ displaystyle \ {\ hat {X}} (f)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/06bae77aa2b8898da99746209266f98aa9e257ad)
ϵ(f)=E|X(f)-G(f)Da(f)|2=E|X(f)-G(f)[H(f)X(f)+V(f)]|2=E|[1-G(f)H(f)]X(f)-G(f)V(f)|2{\ displaystyle {\ begin {align} \ epsilon (f) & = \ mathbb {E} \ left | X (f) -G (f) Y (f) \ right | ^ {2} \\ & = \ mathbb {E} \ left | X (f) -G (f) \ left [H (f) X (f) + V (f) \ right] \ right | ^ {2} \\ & = \ mathbb {E} \ left | \ left [1-G (f) H (f) \ right] X (f) -G (f) V (f) \ right | ^ {2} \ end {align}}}![{\ displaystyle {\ begin {align} \ epsilon (f) & = \ mathbb {E} \ left | X (f) -G (f) Y (f) \ right | ^ {2} \\ & = \ mathbb {E} \ left | X (f) -G (f) \ left [H (f) X (f) + V (f) \ right] \ right | ^ {2} \\ & = \ mathbb {E} \ left | \ left [1-G (f) H (f) \ right] X (f) -G (f) V (f) \ right | ^ {2} \ end {align}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b0e1b525664a6776d182e6d709180c4ce180b913)
de unde :
ϵ(f)=[1-G(f)H(f)][1-G(f)H(f)]∗E|X(f)|2-[1-G(f)H(f)]G∗(f)E{X(f)V∗(f)}-G(f)[1-G(f)H(f)]∗E{V(f)X∗(f)}+G(f)G∗(f)E|V(f)|2{\ displaystyle {\ begin {align} \ epsilon (f) & = \ left [1-G (f) H (f) \ right] \ left [1-G (f) H (f) \ right] ^ { *} \, \ mathbb {E} | X (f) | ^ {2} \\ & \ qquad - \ left [1-G (f) H (f) \ right] G ^ {*} (f) \ , \ mathbb {E} \ left \ {X (f) V ^ {*} (f) \ right \} \\ & \ qquad -G (f) \ left [1-G (f) H (f) \ dreapta] ^ {*} \, \ mathbb {E} \ left \ {V (f) X ^ {*} (f) \ right \} \\ & \ qquad + G (f) G ^ {*} (f ) \, \ mathbb {E} | V (f) | ^ {2} \ end {align}}}![{\ displaystyle {\ begin {align} \ epsilon (f) & = \ left [1-G (f) H (f) \ right] \ left [1-G (f) H (f) \ right] ^ { *} \, \ mathbb {E} | X (f) | ^ {2} \\ & \ qquad - \ left [1-G (f) H (f) \ right] G ^ {*} (f) \ , \ mathbb {E} \ left \ {X (f) V ^ {*} (f) \ right \} \\ & \ qquad -G (f) \ left [1-G (f) H (f) \ dreapta] ^ {*} \, \ mathbb {E} \ left \ {V (f) X ^ {*} (f) \ right \} \\ & \ qquad + G (f) G ^ {*} (f ) \, \ mathbb {E} | V (f) | ^ {2} \ end {align}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c16036e8b8fb8286a05ae8637695099dfcc0614e)
Cu toate acestea, se presupune că zgomotul este independent de semnal, deci:
E{X(f)V∗(f)}=E{V(f)X∗(f)}=0{\ displaystyle \ \ mathbb {E} {\ Big \ {} X (f) V ^ {*} (f) {\ Big \}} = \ mathbb {E} {\ Big \ {} V (f) X ^ {*} (f) {\ Big \}} = 0}![{\ displaystyle \ \ mathbb {E} {\ Big \ {} X (f) V ^ {*} (f) {\ Big \}} = \ mathbb {E} {\ Big \ {} V (f) X ^ {*} (f) {\ Big \}} = 0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/00af396eb36bf8954b1471da278b5a956ea9ed03)
De asemenea, definim densitatea spectrală de putere după cum urmează:
S(f)=E|X(f)|2NU(f)=E|V(f)|2{\ displaystyle {\ begin {align} S (f) & = \ mathbb {E} | X (f) | ^ {2} \\ N (f) & = \ mathbb {E} | V (f) | ^ {2} \ end {align}}}![{\ displaystyle {\ begin {align} S (f) & = \ mathbb {E} | X (f) | ^ {2} \\ N (f) & = \ mathbb {E} | V (f) | ^ {2} \ end {align}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c9f4c71251f17d222aabc0fb3915e7e7b800e53a)
În consecință, obținem:
ϵ(f)=[1-G(f)H(f)][1-G(f)H(f)]∗S(f)+G(f)G∗(f)NU(f){\ displaystyle \ epsilon (f) = \ left [1-G (f) H (f) \ right] \ left [1-G (f) H (f) \ right] ^ {*} S (f) + G (f) G ^ {*} (f) N (f)}![{\ displaystyle \ epsilon (f) = \ left [1-G (f) H (f) \ right] \ left [1-G (f) H (f) \ right] ^ {*} S (f) + G (f) G ^ {*} (f) N (f)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fef2bef016347616a0a39e384bb68f9734222373)
Pentru a cunoaște valoarea minimă a erorilor, încercăm să anulăm derivatul în raport cu G ( f ) . Deoarece aceasta este o valoare complexă, G * ( f ) acționează ca o constantă.
dϵ(f)dG(f)=G∗(f)NU(f)-H(f)[1-G(f)H(f)]∗S(f)=0{\ displaystyle \ {\ frac {\ mathrm {d} \ epsilon (f)} {\ mathrm {d} G (f)}} = G ^ {*} (f) N (f) -H (f) \ stânga [1-G (f) H (f) \ dreapta] ^ {*} S (f) = 0}![{\ displaystyle \ {\ frac {\ mathrm {d} \ epsilon (f)} {\ mathrm {d} G (f)}} = G ^ {*} (f) N (f) -H (f) \ stânga [1-G (f) H (f) \ dreapta] ^ {*} S (f) = 0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/825b79302e14ea4ed25ac98afea82a7b247912b9)
Această egalitate finală poate fi rearanjată pentru a da filtrul Wiener.
Referințe
-
(ro) Acest articol este preluat parțial sau în întregime din articolul din Wikipedia în engleză intitulat „ Wiener deconvolution ” ( vezi lista autorilor ) .
- Rafael Gonzalez, Richard Woods și Eddins Steven, Prelucrarea digitală a imaginii folosind MATLAB , Prentice Hall, 2003
Vezi și tu
Articole similare
linkuri externe
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">