Wiener Filter zur Bildrauschreduzierung (Image Denoising)

16

Ich versuche, mich mit der Funktion des Wiener-Filters vertraut zu machen, um das Bildrauschen zu reduzieren. In meinem Fall habe ich zuerst ein anderes Rauschunterdrückungsfilter verwendet und das Ergebnis dann als Annäherung an das Rauschverhalten des Wiener-Filters verwendet.

In Bezug auf Informationen zum Wiener Filter fand ich den folgenden Matlab-Code und die folgende Beschreibung nützlich:

http://www.mathworks.co.uk/help/toolbox/images/f11-12251.html#f11-14272

und ein paar andere gute links wie

http://blogs.mathworks.com/steve/2007/11/02/image-deblurring-wiener-filter/

Aus Matlab-Sicht kann ich also sehen, wie die eingebaute Matlab-Funktion verwendet wird, aber ich möchte ein grundlegenderes Verständnis erlangen, anstatt nur den Funktionsaufruf zu verwenden, und gleichzeitig würde ich es vorziehen, etwas Verdaulicheres als zu finden der Wikipedia-Eintrag zur Wiener Filterung .

Möchte jemand eine kurze Erklärung zur Wiener Filterung abgeben?

trican
quelle
2
Bevor eine Antwort gegeben wird, müssen Sie Ihren Hintergrund angeben. Kennst du die Theorie der Zufallsprozesse? Ohne Kenntnis der Zufallsprozesstheorie ist eine konkrete Erklärung kaum möglich.
Trevor Boyd Smith
Es sei denn, Sie sind in Ordnung mit einer Erklärung, die mehr von Hand winkt.
Trevor Boyd Smith
Danke für die Antwort. Ja, ich bin mit der Zufallsprozesstheorie
vertraut
3
na ja ... wenn Sie zufällige Prozesse haben, sollte es möglich sein, eine gute Erklärung zu geben. (Jetzt muss ich Zeit finden, um eine gute Erklärung zu schreiben.)
Trevor Boyd Smith
Vielen Dank, Trevor! Sehr geschätzt - auch ein paar gute Hinweise, um mich in die richtige Richtung zu kicken, wären sehr geschätzt.
Trican

Antworten:

11

Es gibt einen weiteren Wikipedia-Eintrag zur Wiener Filterung, der für die Bildverarbeitung besser geeignet ist.

Zusammengefasst (und Umrechnen in 2D), ein System gegeben: wobei

y(n,m)=h(n,m)x(n,m)+v(n,m)
  • bedeutet Faltung,
  • ist das (unbekannte) wahre Bild,x
  • ist die Impulsantwort eines linearen, zeitinvarianten Filters,h
  • ist additives unbekanntes Rauschen unabhängig von x undvx
  • ist das beobachtete Bild.y

Wir wollen einen Dekonvolutionsfilters finden , damit wir abschätzen können x wie folgt: x ( n , m ) = g ( n , m ) * y ( n , m ) , wo x eine Schätzung von ist x dass minimiert die mittlere quadratischer Fehler.Gx

x^(n,m)=G(n,m)y(n,m)
x^x

Im Frequenzbereich ist die Übertragungsfunktion von , G : G ( ω 1 , ω 2 ) = H ( ω 1 , ω 2 ) S ( ω 1 , ω 2 )GG wobei

G(ω1,ω2)=H(ω1,ω2)S(ω1,ω2)|H(ω1,ω2)|2S(ω1,ω2)+N(ω1,ω2)
  • GG
  • Hh
  • Sx
  • Nv

G

G(ω1,ω2)=1H(ω1,ω2)[|H(ω1,ω2)|2H(ω1,ω2)|2+N(ω1,ω2)S(ω1,ω2)]
H
Peter K.
quelle
Vielen Dank für Ihre ausführliche Antwort. Mir ist nicht klar, wie ich die vorherige Stufe der Rauschunterdrückung in der obigen Erklärung verwenden kann? Insgesamt muss ich mich hinsetzen und herausfinden, wie ich die obige Erklärung aufgreifen und umsetzen kann.
Trican
Gyy
Entschuldigung, wenn ich nicht klar war, meinte ich das für führende Bildrauschreduzierungsalgorithmen wie SADCT oder BM3D ( cs.tut.fi/~foi/GCF-BM3D ). Eine erste Stufe der Rauschreduzierung wird durchgeführt (über SADCT- oder Block-Matching-3D-Filterung für diese beiden genannten Algorithmen) und das Ergebnis wird als Näherung für die Sekundärstufe verwendet, die eine Wiener Filterung verwendet. Ich versuche, meinen Kopf über die sekundäre Wiener Filterstufe zu bekommen, daher meine ursprüngliche Frage.
Trican