2016-05-17 10 views
1

Bis jetzt habe ich einige Graustufenbilder mit Otsu-Methode oder K-Mittel segmentieren. Mir ist jedoch aufgefallen, dass die Segmentierung nicht nur aufgrund der Intensität "perfekt" sein kann. Zumindest müsste man lokale Gradienten im Bild berücksichtigen.Ermutigen Objektgrenzen an Kanten in Graph Schnittsegmentierung

Ich habe dann etwas Forschung und stieß auf den Graph Schnitt Segmentierungsalgorithmus. Ich dachte, dieser Algorithmus von Vorteil wäre, da

  1. Die Beziehung zwischen benachbarten Pixeln betrachtet wird
  2. Ich konnte Vorwissen übernehmen, wenn ich von Pixeln kennen, die vorher zu einer bestimmten Klasse gehören.

Ich habe jetzt einige Tests mit Shai's MATLAB Graph Cut wrapper gemacht und festgestellt, dass Graph Cut scheint nicht so vorteilhaft, wie ich dachte. Basierend auf dem Gradienten kann ich die Strafe für eine Klassengrenze reduzieren, aber ich kann ermutigen den Algorithmus zum Zeichnen von Grenzen an Kanten - wenn eine Grenze nicht in der Initialisierung über K-Means/Otsus vorhanden ist (um Dc zu erstellen) Der Algorithmus zeichnet keinen, obwohl eine starke lokale Kante vorhanden sein könnte. Ich denke, das liegt daran, dass die Kosten positiv sein müssen. Daher scheint es, dass Graph-Cut hier nur hilft, Grenzen zu glätten, aber es wird mir nicht helfen, "neue" einzuführen.

Lange Rede, kurzer Sinn: Klingt meine obige Geschichte plausibel, d. H. Ergeben meine Schlussfolgerungen einen Sinn? Oder gibt es eine Möglichkeit, Kanten zu verwenden, um Grenzen zu erzeugen?

Danke!

PS. Entschuldigung, ich kann hier kein wirkliches Bild zeigen, über das ich hier spreche :(

Antwort

0

Um es kurz zu machen: Mit der "konventionellen" Graph-Cut-Formel wird der paarweise Begriff verwendet, um die Weichheit zu fördern basierend auf lokalen Gradienten abgestimmt werden, um über die Bildgrenze hinweg schwächer zu sein, aber wie Sie richtig angemerkt haben, ist es immer nicht negativ, daher ermutigt es niemals zum Ändern des Labels (es sei denn, es gibt starke Beweise in dem pro-Pixel-Begriff).

Die Anforderung für nicht negative paarweise Terme wird als "Submodularität" bezeichnet, und nur für submodulare Energien existiert eine polynomielle Zeitlösung (genau für den 2-Label-Fall, gute Näherung für mehrere Label).
Sie kann mehr über die "Sub-Modularität" in diesem Co lesen ntext unter Kolmogorov and Zabih, What Energy Functions can be Minimized via Graph Cuts?, PAMI 2004.

Sie können jedoch nicht submodulare Gewichte für die paarweisen Ausdrücke über Bildgrenzen hinweg definieren. Sie werden nicht mehr in der Lage sein, die "konventionelle" GCMex-Implementierung zu verwenden, es gibt jedoch einige nette Approximationsalgorithmen, die selbst im wackeligen Bereich nicht-submodularer Energien keine vernünftigen Ergebnisse liefern können.
Die erste Approximation für den Zwei-Label-Fall ist QPBO, beschrieben unter Kolmogorov and Rother, Minimizing non-submodular functions with graph cuts - a review, PAMI 2007.
Der nächste Schritt ist ein Multi-Label, multi-scale approximation, beschrieben unter Bagon and Galun, A Multiscale Framework for Challenging Discrete Optimization, NIPS 2012.

Last but not least, wenn Sie nur paarweise Wechselwirkungen (positive und negativ) und keine klaren pro-Pixel-Begriffe haben, möchten Sie vielleicht Segmentierung prüfen, mit Correlation Clustering funktional.

+0

Hallo, ich arbeite mit Graph Cut für Stereobilder.Ich habe den Okklusionsteil gelesen, aber ich habe es nicht verstanden Kannst du es mir erklären :) @shai – Raziel

+0

@Raziel Ich fürchte, das ist außerhalb des Umfangs dieser Piste – Shai