Ich habe ein ähnliches Problem in der Formulierung wie dieser Beitrag, mit einigen bemerkenswerten Unterschieden:
Welche einfachen Methoden gibt es, um eine 2D-Funktion adaptiv abzutasten?
Wie in diesem Beitrag:
- Ich habe ein und die Auswertung dieser Funktion ist etwas teuer zu berechnen
Anders als in diesem Beitrag:
Ich bin nicht überall daran interessiert, den Wert der Funktion genau zu bestimmen, sondern nur daran, eine einzige Isokontur der Funktion zu finden.
Ich kann wichtige Aussagen über die Autokorrelation der Funktion und folglich über das Ausmaß der Glätte machen.
Gibt es eine intelligente Möglichkeit, diese Funktion zu durchlaufen / abzutasten und diese Kontur zu finden?
Mehr Informationen
Die Funktion ist die Berechnung von Haralick-Merkmalen über Pixel, die den Punkt umgeben, und die weiche Klassifizierung durch eine Art Klassifikator / Regressor. Die Ausgabe davon ist eine Gleitkommazahl, die angibt, zu welcher Textur / welchem Material der Punkt gehört. Die Skalierung dieser Zahl kann geschätzte Klassenwahrscheinlichkeiten (SoftSVM oder statistische Methoden usw.) oder etwas wirklich Einfaches wie die Ausgabe einer linearen / logistischen Regression sein. Die Klassifizierung / Regression ist genau und kostengünstig im Vergleich zu der Zeit, die für die Merkmalsextraktion aus dem Bild benötigt wird.
Statistiken um bedeuten, dass das Fenster typischerweise überlappende Bereiche abtastet und als solche eine signifikante Korrelation zwischen nahegelegenen Abtastwerten besteht. (Etwas, das ich sogar numerisch / symbolisch angehen kann) Folglich kann dies als eine komplexere Funktion von bei der ein größeres eine Schätzung ergibt, die mehr mit der Nachbarschaft zusammenhängt (stark korreliert), und a Ein kleineres ergibt eine variablere, aber lokalere Schätzung. f ( x , y , N ) N N.
Dinge, die ich versucht habe:
Brute Computation - Funktioniert gut. 95% korrekte Segmentierung mit konstanter . Die Ergebnisse sehen fantastisch aus, wenn sie danach mit einer Standardmethode konturiert werden. Das dauert ewig . Ich kann die pro Stichprobe berechneten Features vereinfachen, aber im Idealfall möchte ich dies vermeiden, um diesen Code für Bilder mit Texturen allgemein zu halten, deren Unterschiede in verschiedenen Teilen des Feature-Space angezeigt werden.
Dummes Steppen - Machen Sie einen einzelnen Pixel- "Schritt" in jede Richtung und wählen Sie die Bewegungsrichtung basierend auf der Nähe zum Isolinienwert. Immer noch ziemlich langsam, und die Gabelung eines Isolins wird ignoriert. In Bereichen mit flachem Gefälle "wandert" es oder verdoppelt sich auf sich selbst zurück.
Ich denke, ich möchte so etwas wie die im ersten Link vorgeschlagene Unterteilung tun, aber auf Kästchen beschnitten, die die Isoline von Interesse binden. Ich habe das Gefühl, ich sollte auch , aber ich bin mir nicht sicher, wie ich das angehen soll.