Hallo allerseits,
ich möchte ein digitales grauwertskaliertes Bild mit einem Kalman Filter
entrauschen. Aus Testzwecken simuliere ich mir das Rauschen, das im Bild
auftritt, selbst. Mit der Matlab Fkt.
1 | imnoise(I,'gaussian',m,var_gauss)
|
generiere ich ein mittelwertfreies (m=0) additives weißes Gaußsches
Rauschen. Das verrauschte Bild möchte ich mit einem Kalman Filter
entrauschen. Bei meiner bisherigen Methode arbeite ich mich hierbei
pixelweise Zeile für Zeile vorwärts. Sprich, um die Intensität des
aktuell interessierenden Pixels s(m,n) zu schätzen, dient die Intensität
des vorherigen Pixels s(m,n-1) als prädiktiver Wert. Die bisherige
Implementierung des genannten Ablaufs in Matlab ist mit angehähngt.
Nun meine Frage: Wie kann ich in die Schätzung der aktuellen
Pixelintensität s(m,n) nicht nur einen prädiktiven Wert s(m,n-1),
sondern mehrere, wie z.B. s(m,n-1), s(m-1,n+1),s(m-1,n), s(m-1,n-1),
einfließen lassen?
Ich möchte die Voraussetzungen meiner angehängten bisherige
Implementierung noch kurz beschreiben (falls hierbei schon Denkfehler,
bzw. Unstimmigkeiten auftreten, würde ich mich sehr über Anmerkungen
freuen):
Zur Anwendung des Kalman Filters muss das zu entrauschende Bild in eine
Zustandsdarstellung
überführt werden.
Hierbei ist s der Zustandsvektor, welcher das originale (unverrauschte)
Bild repräsentiert, r ist das verrauschte Bild, w das Prozessrauschen, v
das (von mir eigens simulierte) Messrauschen. u ist der Eingangsvektor,
wobei dieser im Folgenden gleich 0 gesetzt wird, da kein Eingangssignal
existiert (B und D werden somit im Folgenden ebenfalls nicht weiter
betrachtet). A und C sind System- und Ausgangsmatrix und G richtet sich
danach welcher Pixel mit welchem Prozessrauschen behaftet ist. Da ich
bisher nur jeweils einen Pixel betrachte, gilt im Folgenden A=C=G=1.
Im Weiteren wird vorausgesetzt, dass die Rauschvariablen w und v
voneinander unabhängig sind und jeweils weißes normalverteiltes, und
mittelwertfreies Rauschen reprästentieren (Voraussetzung für Anwendung
des Kalman Filters). Die Varianzen der beiden Rauschsignale Q (zu w
gehörig) und R (zu v gehörig) werden für die Gleichungen des Kalman
Filters benötigt.
Alle weiteren Informationen sind den angehängen Matlab-Codeteilen zu
entnehmen. Die Funktion kalmanFunc.m gibt die Gleichungen des Kalman
Filters wieder, welche bei Bedarf z.B. auf Wikipedia oder anderweitigen
Literaturquellen nachgesehen werden können.
Ich wäre äußerst erfreut, wenn mir jemand weiterhelfen kann, bzw. einen
Denkanstoß geben kann.