PRML Kapitel 8 Grafisches Modell, 8.3.3 Beispiel: Implementieren Sie die Entfernung von Bildrauschen in Python
Jupyter-Notizbuch mit einer Zusammenfassung des Codes und der experimentellen Ergebnisse.
__ Probabilistisches graohisches Modell __ (probabilistisches graohisches Modell) ist eine grafische Darstellung der Wahrscheinlichkeitsverteilung. Durch Verwendung des grafischen Modells zur Analyse kann die Abhängigkeit zwischen stochastischen Variablen intuitiv abgelesen werden.
Die obige Abbildung zeigt die Wahrscheinlichkeitsverteilung
Die obige Abbildung zeigt die gleiche Wahrscheinlichkeitsverteilung wie __ ungerichteter Graph (Markov-Wahrscheinlichkeitsfeld) . Im ungerichteten grafischen Modell heißt die Menge der verknüpften Knoten clique. In der obigen Abbildung sind $ \ {x {1}, x {2} \}, \ {x {2}, x {3} \} $ die Bäche. Der ungerichtete Graph drückt die Wahrscheinlichkeitsverteilung in Form des Produkts der _Potentialfunktion __ $ \ psi {C} (\ mathbf {x} _ {C}) $ am Bach C aus.
Hier ist $ Z $ eine Standardisierungskonstante. Da die potentielle Funktion im engeren Sinne auf positiv beschränkt ist, ist es zweckmäßig, sie als Exponentialfunktion auszudrücken.
Hier heißt $ E (\ mathbf {x_ {\ rm {C}}}) $ __ Energiefunktion __ (Energiefunktion), und diese Exponentialfunktionsdarstellung ist __ Boltzman-Verteilung. Wird genannt.
Eines der wichtigen und schönen Merkmale des grafischen Modells ist, dass die bedingte Unabhängigkeit der gleichzeitigen Verteilung zwischen mehreren stochastischen Variablen ohne analytische Verfahren direkt aus dem Diagramm abgelesen werden kann. Der allgemeine Rahmen, um dies zu erreichen, heißt __ gerichtete Trennung __ (d-Trennung). Bekannt sind auch Algorithmen, die die Summe simultaner Verteilungen bei hoher Geschwindigkeit berechnen und periphere Wahrscheinlichkeiten ableiten, und Algorithmen, die Kombinationen von Werten stochastischer Variablen ableiten, die simultane Wahrscheinlichkeiten bei hoher Geschwindigkeit maximieren (Summe der Produkte durch Nachrichtenübermittlung, max. Summenalgorithmus). Siehe PRML für diese wichtigen Funktionen.
Wir erklären die Verwendung des ungerichteten Graphen anhand eines Beispiels für die Rauschentfernung in einem Binärbild. Es wird angenommen, dass das beobachtete Bild einschließlich Rauschen als zweidimensionales Array von binären Pixelwerten $ y_ {i} \ in \ {-1, +1 \} $ beschrieben wird. Hier sind $ i = 1, \ dots, D $ die Seriennummern der Pixel. Dieses beobachtete Bild hat eine geringe Wahrscheinlichkeit (hier 10%) von einem unbekannten (rauschfreien) Binärbild, das durch $ x_ {i} \ in \ {-1, +1 \} $ beschrieben wird. Es wird angenommen, dass es durch zufälliges Invertieren des Codes des Pixels erhalten wurde.
Da der Rauschpegel niedrig genug ist, wird erwartet, dass eine starke Korrelation zwischen $ x_ {i} $ und $ y_ {i} $ besteht. Wir wissen auch, dass es eine starke Korrelation zwischen benachbarten Pixeln $ x_ {i} $ und $ x_ {j} $ im Bild gibt. Dieses Vorwissen wird durch das stochastische Markov-Feldmodell dargestellt, das dem in der folgenden Abbildung gezeigten ungerichteten Diagramm entspricht.
Dieses Diagramm enthält zwei Arten von Bächen, die aus zwei Variablen bestehen. Bäche der Form $ \ {x_ {i}, y_ {i} \} $ sind Energiefunktionen zugeordnet, die die Korrelation zwischen diesen Variablen darstellen. Hier verwenden wir für diese Bäche eine sehr einfache Funktion der Form $ - \ eta x_ {i} y_ {i} $. $ \ Eta $ ist jedoch eine positive Konstante. Diese Energiefunktion hat den gewünschten Effekt, dass sie eine niedrige Energie (hohe Wahrscheinlichkeit) hat, wenn $ x_ {i} $ und $ y_ {i} $ das gleiche Vorzeichen haben, und eine hohe Energie (niedrige Wahrscheinlichkeit), wenn sie unterschiedliche Vorzeichen haben. Haben.
Eine andere Art von Bach besteht aus einem Paar benachbarter Variablen $ \ {x_ {i}, x_ {j} \} $. $ I $ und $ j $ sind jedoch die Anzahl benachbarter Pixel. In Bezug auf diese Bäche möchten wir auch, dass die Energie niedriger ist, wenn die beiden Pixelwerte das gleiche Vorzeichen haben als wenn sie das gleiche Vorzeichen haben. Daher verwenden wir die Energiefunktion von $ - \ beta x_ {i} x_ {j} $. $ \ Beta $ ist jedoch auch eine positive Konstante.
Da es nur eine nicht negative Funktion am maximalen Bach sein muss, um eine potenzielle Funktion zu sein, kann es mit jeder nicht negativen Funktion in der Teilmenge des Baches multipliziert werden. Hier kann der Term $ hx_ {i} $ als Funktion des $ i $ -ten Pixelwerts $ x_ {i} $ des rauschfreien Bildes hinzugefügt werden. Dieser Begriff hat den Effekt, dass die Pixelwerte so vorgespannt werden, dass sie dazu neigen, ein bestimmtes Vorzeichen zu haben.
Zusammenfassend ist die Gesamtenergiefunktion dieses Modells
Kann geschrieben werden. Auf diese Weise wird auch die gleichzeitige Verteilung von $ \ mathbf {x} $ und $ \ mathbf {y} $ verwendet
Gegeben von. Das Fixieren von $ \ mathbf {y} $ auf das beobachtete Bild bestimmt die bedingte Verteilung $ p (\ mathbf {x} | \ mathbf {y}) $. Dieses Problem ist ein Beispiel für das Ising-Modell, das in der statistischen Physik umfassend untersucht wurde. Verwenden Sie eine einfache Iterationsmethode namens __ iterated bedingte Modi (ICM), um das höchstwahrscheinliche Bild $ \ mathbf {x} $ aus dem beobachteten Bild $ \ mathbf {y} $ wiederherzustellen. Du kannst es benutzen. Bei dieser Methode wird die Gradientenaufstiegsmethode einfach für jede Achse angewendet. Initialisieren Sie zunächst die Variable $ \ {x {i} \} $. Zum Beispiel $ x {i} = y_ {i} $ für alle $ i $. Wählen Sie dann die Knoten $ x_ {j} $ nacheinander aus und halten Sie die Werte der anderen Knotenvariablen in zwei möglichen Zuständen von $ x_ {j} $ ($ x_ {j} = + 1 $ und $) fest Berechnen Sie die Gesamtenergie bei x_ {j} = -1 $). Setzen Sie abschließend den Wert von $ x_ {j} $ auf den Wert mit der kleineren Energie. Solche Aktualisierungen werden an verschiedenen Orten wiederholt und beendet, wenn bestimmte geeignete Stoppbedingungen erfüllt sind. Knoten können regelmäßig durch Raster-Scannen aktualisiert werden, oder Knoten können zufällig ausgewählt werden.
Die folgende Abbildung zeigt die Ergebnisse, wenn die Parameter $ h = 0, \ beta = 1, \ eta = 1 $ sind.