Ein grundlegendes Markov-Zufallsfeld zum Klassifizieren von Pixeln in einem Bild trainieren


16

Ich versuche zu lernen, wie man zufällige Markov-Felder verwendet, um Regionen in einem Bild zu segmentieren. Ich verstehe einige der Parameter in der MRF nicht oder weiß nicht, warum die von mir durchgeführte Erwartungsmaximierung manchmal nicht zu einer Lösung konvergiert.

Ausgehend von Bayes 'Theorem habe ich , wobei der Grauwert des Pixels und eine Klassenbezeichnung ist. Ich habe mich für eine Gauß-Verteilung für , während mit der MRF modelliert wird.y x p ( y | x ) p ( x )p(x|y)=p(y|x)p(x)/p(y)yxp(y|x)p(x)

Ich verwende eine Potentialfunktion für die MRF, die sowohl paarweise Clique-Potentiale als auch einen Potentialwert für die Klassenbezeichnung des zu klassifizierenden Pixels aufweist. Der Einzelpixelpotentialwert ist eine Konstante , die von der Klassenbezeichnung abhängt . Die paarweisen Potentialfunktionen werden für die 4 verbundenen Nachbarn ausgewertet und geben positives wenn der Nachbar die gleiche Klassenbezeichnung wie dieses Pixel hat, und wenn sich die Bezeichnungen unterscheiden.x β -αxββ

An dem Punkt in der Erwartungsmaximierung, an dem ich die Werte von und , die den erwarteten Wert der logarithmischen Wahrscheinlichkeit maximieren, habe ich jedoch eine numerische Optimierungsmethode (probierter konjugierter Gradient, BFGS, Powell-Methode) verwendet würde immer feststellen, dass der Wert von negativ wird, die s dramatisch ansteigen und ein oder zwei Iterationen später das gesamte Bild nur einem Etikett zugewiesen wird . Wenn ich die Alphas entfernen würde, dh nur paarweise Clique-Potenziale verwenden würde, würde die Erwartungsmaximierung einwandfrei funktionieren.β β αα(x)ββα

Bitte erläutern Sie den Zweck der Alphas für jede Klasse. Ich dachte, sie würden sich auf die Menge dieser Klasse beziehen, die im Bild vorhanden ist, aber es scheint nicht. Als ich die MRF mit nur paarweisen Potentialen zum Laufen brachte, verglich ich sie mit einem einfachen Gaußschen Mischungsmodell und stellte fest, dass sie fast identische Ergebnisse lieferten. Ich hatte erwartet, dass die paarweisen Potenziale die Klassen etwas glätten würden, aber das ist nicht geschehen. Bitte teilen Sie mir mit, wo ich falsch liege.


Nur neugierig, warum haben Sie sich für ein ungerichtetes Grafikmodell entschieden?

In meiner Anwendung haben die Graustufenwerte der Pixelanzahl und benachbarter Pixel mit größerer Wahrscheinlichkeit dieselbe Klassenbezeichnung, es gibt jedoch keinen Grund, für jede paarweise Clique eine andere Beta zu verwenden. Ich hoffe, ich habe Ihre Frage richtig verstanden.
Chippies

1
Konstante Alphas scheinen dem Zweck zu dienen, die vorherige Verteilung auf den Etiketten zu modellieren. Wie Sie vermutet haben, überlagern richtige Alphas wahrscheinlich die Bezeichnungen, die im Trainingssatz häufiger vorkommen. Wenn Ihr Modell ohne sie gut funktioniert, warum lassen Sie sie nicht einfach aus dem Modell fallen? Ihre Beschreibung ist nicht ausführlich genug, um zu beantworten, warum Alphas wachsen und alles verderben, aber Sie benötigen wahrscheinlich eine Regularisierung. Versuchen Sie, dem Modell den Gauß'schen Wert vor Alpha hinzuzufügen, dh zum log-posterior hinzuzufügen. Dies würde wahrscheinlich eine Überanpassung verhindern. λα2
Roman Shapovalov

Was ist aus Ihrer Frage unklar: 1) Zersetzt sich Ihre Wahrscheinlichkeit p (y | x) über Pixel, so dass Sie für jedes eine 1D-Gauß-Gleichung verwenden? 2) Was ist das genaue Ziel, das Sie in der EM optimieren (Sie haben die Log-Wahrscheinlichkeit erwähnt, aber Sie verwenden MRF für die vorherige Modellierung)? 3) Definieren Sie Potenziale im logarithmischen Bereich? Bedeutet das Erhöhen von Beta das Erhöhen von P (x) oder Energie, was -log P (x) oder negative Energie ist? 4) Gelingt es Ihnen, das EM-Ziel tatsächlich zu verringern, indem Sie solche entarteten Alphas festlegen, oder schlägt die Optimierung fehl?
Roman Shapovalov

Was ist mit der Verbreitung von Irrwegen?
Wolfsatthedoor

Antworten:


1

Diagnose

Das klingt nach einem Initialisierungsproblem.

Das von Ihnen verwendete MRF-Modell ist nicht konvex und weist als solches mehrere lokale Minima auf. Soweit mir bekannt ist, reagieren alle vorhandenen Optimierungstechniken empfindlich auf die Initialisierung. Dies bedeutet, dass die Qualität der endgültigen Lösung stark davon abhängt, von wo aus Sie den Optimierungsvorgang starten.

Vorgeschlagene Lösung

Ich schlage vor, verschiedene Strategien auszuprobieren, um das Modell zu initialisieren. Eine Strategie, die mir zum Beispiel einfällt, ist die folgende:

  1. Trainiere zuerst ein Modell für und ignoriere den vorherigen Term für den Moment; das heißt, fix ist einheitlich, indem beispielsweise und fixiert wird . Wenn Sie schicker sein wollen, können Sie beheben eine mutinomimal Verteilung zu sein , die die relativen Häufigkeiten von Etiketten in dem Trainingssatz darstellt. Sie können dies tun, indem Sie Werte entsprechend einstellen .p ( x ) α = β = 0 p ( x ) αp(y|x) p(x)α=β=0 p(x)α

  2. Lösen Sie die unären und paarweisen Terme im MRF-Modell. Lassen Sie also Ihren Optimierer den Wert von und ändern .βαβ

Die vorgeschlagene Initialisierung ist keinesfalls der beste Weg, um Ihre Optimierung zu initialisieren, sondern nur eine mögliche Option.

Schließlich können Sie, wie Roman Shapovalov vorschlug, Ihre vorherigen Parameter regulieren. Zum Beispiel: wobei und sind das kann als Varianz der Gaußschen Priors interpretiert werden.& lgr; & agr; & lgr; & bgr;λα||α||2+λβ||β||2λαλβ

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.