Anwendung von Markov Zufallsfeldern

Neue Frage »

InSaNo Auf diesen Beitrag antworten »
Anwendung von Markov Zufallsfeldern
Hallo zusammen.
Ich beschäftige mich zur Zeit ein wenig mit Markov Random fields und als Anwendung möchte ich ein Bild mit Gaußschem Rauschen verzerren.
Damit das nicht ganz so einfach geht, hatte ich mir vorgenommen ein 2D Markov Zufallsfeld zu benutzen. Meine Idee dabei ist, dass die Pixel nicht unabhängig von einander verrauscht werden, sondern die Pixel oben unten links und rechts sollen eine Kovarrianz von einem beliebigen Wert haben.
soll ein Normalverteilter Vektor mit Erwartungswert 0 und Kovarianzmatrix sein. Der te Eintrag von ist die Kovarianz von und . Notwendigerweise ist dann symmetrisch.
Nun will ich das Zufallsfeld als Gaußsches Rauschen mit meinem gewünschten Bild gespeichert als quadratische Matrix in Matlab umsetzen. Als Kovarianz wähle ich für die jeweils umliegenden Pixel die 2.
Als Beispiel hat die Dimension . Mein Vektor hat dann natürlich die länge und repräsentiert zeilenweise das Rauschen aller Pixel von A. Somit ergibt sich wiefolgt:
Um nun aus den normalverteilten Zufallszahlen aus der Matlab- Funktion randn() die Zufallszahlen mit den gewünschten Kovarianzen zu basteln ermittle ich die Schurzerlegung von : wobei D eine Diagonalmatrix aus den Eigenwerten von ist. Habe ich nun einen Vektor mit unabhängig voneinander normalverteilten Einträgen kann mich mit der Transformation die gewünschten Kovarianzen herstellen die ich in meinem Markovfeld haben will. Aber da ist schon mein Problem:
Die Kovarianzmatrix muss positiv semidefinit sein, damit die Wurzeln im Reellen definiert sind. Im allgemeinen macht eine Kovarianzmatrix also keinen Sinn wenn sie nicht positiv semidefinit ist.
Das zerstört aber meine Idee, nach der ich einfach die Kovarianzen eintragen kann. Es ist sogar noch schlimmer: Es ist mir praktisch unmöglich die Kovarianzen so zu wählen dass positiv semidefinit ist.
Also glaube ich ich mach da irgendwas falsch. Wie kann ich das ganze schlauer angehen?
Ach und die Matlab Statistik toolbox habe ich leider nicht.
Franz
InSaNo Auf diesen Beitrag antworten »

UPDATE:
Wenn ich eine genügend Diagonaldominante Matrix benutze klappt es. So weit ich mich erinnern kann, gabs da einen Satz aus der linearen Algebra, nachdem man den minimalen bzw. maximalen Eigenwert mittels der Spalten einer Matrix abschätzen kann, das würde denke ich schon helfen.
Nach meinem Verständis muss halt die Varianz der einzelnen Variablen groß genug sein um damit die Zufallsvariable die Kovarianzen "bedienen kann".
Für den genauen Zusammenhang diesbezüglich wäre ich dankbar.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »