Kennt jemand Forschungsergebnisse / Unterlagen / Software zur Identifizierung eines Pfads (als Linie oder Punkt-zu-Punkt-Kurve) in einem Bild einer Waldszene (aus der Perspektive der Kamera, die irgendwo entlang des Pfads steht)?
Ich versuche einen Algorithmus zu finden, der ein Bild aufnehmen könnte wie:
und eine Maske erstellen, die eine wahrscheinliche "Spur" identifiziert, wie zum Beispiel:
Wie Sie sehen können, ist das Originalbild etwas verschwommen, was zweckmäßig ist. Die Bildquelle kann keinen perfekten Fokus garantieren, daher muss ich in der Lage sein, ein angemessenes Maß an Rauschen und Unschärfe zu verarbeiten.
Mein erster Gedanke war, eine Gaußsche Unschärfe anzuwenden und das Bild in Blöcke zu segmentieren, wobei benachbarte Blöcke auf scharfe Farbunterschiede hin verglichen wurden (was auf eine Spur "Kante" hindeutet). Mir wurde jedoch schnell klar, dass Schatten und andere Veränderungen in der Beleuchtung das leicht aus der Welt schaffen.
Ich habe überlegt, SURF-Features zu extrahieren, aber ich hatte mit SURF / SIFT nur dann Erfolg, wenn das Bild perfekt klar und mit gleichmäßiger Beleuchtung ist.
Ich habe auch versucht, die Bilder und Masken auf viel kleinere Größen (z. B. 100 x 75) zu verkleinern, sie in 1xN-Vektoren zu konvertieren und sie zum Trainieren eines FANN- basierten neuronalen Netzwerks zu verwenden (wobei das Bild die Eingabe und die Maske die gewünschte ist) Ausgabe). Selbst bei einer so geringen Größe mit einer verborgenen Schicht mit 75% der Größe des Eingabevektors dauerte das Training 6 Stunden und konnte noch keine Masken im Testset vorhersagen.
Kann jemand andere Methoden oder Papiere zu diesem Thema vorschlagen?
Antworten:
Es reicht möglicherweise nicht aus, aber da eines der Probleme mit Beleuchtungsschwankungen zusammenhängt, kann ein Vorverarbeitungsschritt zur Schattenentfernung hilfreich sein. Die Technik, an die ich denke, wird im folgenden Artikel beschrieben:
Der erste Teil des Prozesses erzeugt ein belichtungsinvariantes Graustufenbild, was in diesem Fall wahrscheinlich der Fall ist. Hier ist eine Aufnahme des Beispiels, das sie in der Zeitung geben:
(Quelle: datageist.com )
In der Tat ist es möglicherweise erforderlich, den Prozess einen Schritt weiter zu gehen, um ein "Farbart" -Bild zu erstellen, um die lebenden und toten Blätter sauber voneinander zu unterscheiden. Noch einmal ein Beispiel aus dem Papier:
(Quelle: datageist.com )
Der Haken ist jedoch, dass die Kamera zuerst kalibriert werden muss. Vorausgesetzt, dies ist möglich, wird eine Kombination der von ihnen beschriebenen Darstellungen wahrscheinlich die anderen Methoden, die Sie verwenden, effektiver machen.
quelle
Ich glaube nicht, dass Sie genug Informationen im Quellbild haben, um das Maskenbild zu erzeugen. Sie können mit der Segmentierung nach Farbe beginnen, dh Grün ist keine Spur, Grau / Braun ist. Es gibt jedoch grau / braune Bereiche an den "Trail-Rändern", die in Ihrer Maske nicht dargestellt sind. (Siehe den unteren linken Quadranten Ihres Quellbilds.)
Die von Ihnen bereitgestellte Maske impliziert strukturelle Einschränkungen, die im Quellbild nicht erkennbar sind. Beispielsweise haben Ihre Spuren möglicherweise eine feste Breite. Mit diesen Informationen können Sie die von Ihrem Mustererkenner zurückgegebene vorläufige Maske einschränken.
Fortsetzung des Themas Struktur: Verschmelzen Trails mit anderen? Sind Pfade mit bestimmten Boden- / Schottermerkmalen gekennzeichnet? Als Mensch (das ist einigermaßen gut in der Mustererkennung!) Bin ich herausgefordert durch die Merkmale, die im unteren linken Quadranten gezeigt werden: Ich sehe grau / braune Bereiche, die ich nicht als "Spur" ausschließen kann. Vielleicht könnte ich das schlüssig tun, wenn ich mehr Informationen hätte: eine Karte und einen unbekannten Ort, ein persönliches Erlebnis auf diesem Pfad oder vielleicht eine Folge von Bildern, die zu diesem Punkt führen - vielleicht ist diese Ansicht nicht so eindeutig, wenn der Erkenner "weiß "was zu dieser szene führte.
Eine Sammlung von Bildern ist meiner Meinung nach der interessanteste Ansatz. Fortsetzung dieses Gedankens: Ein Bild liefert möglicherweise nicht genügend Daten, aber ein Panoramablick kann die Szene unmissverständlich machen.
quelle
Es gibt keinen einzigen Algorithmus, der Spuren in einem zufälligen Bild auf magische Weise erkennt. Sie müssen eine Routine implementieren, die auf maschinellem Lernen basiert, und sie "trainieren", um Trails zu erkennen. Hier ist eine grobe Darstellung dessen, was Sie mit einem überwachten Lernansatz tun würden, ohne auf zu viele Details einzugehen.
Damit testen Sie Ihr Bild (erneut, indem Sie es in kleinere Teile zerlegen) und berechnen die hintere Wahrscheinlichkeit. Mit der Entscheidungstheorie von Bayes definieren Sie Ihre binären (in diesem Fall) Auswahlkriterien wie
Beachten Sie, dass dies eine sehr vereinfachte Übersicht über den Ansatz ist. Es gibt mehrere Punkte, die berücksichtigt werden müssen. Der wichtigste davon ist die Auswahl der richtigen Funktionen für Ihr Problem. Sie können auch kompliziertere Dinge tun, z. B. Mischungsmodelle und kernbasierte Dichteschätzungen, aber all dies ist zu detailliert und zu zeitaufwendig, um eine Antwort zu schreiben.
Als Motivation und Bestätigung, dass dieser Ansatz es wert ist, ausprobiert zu werden, hier ein Beispiel von etwas, das ich vor langer Zeit als Hausaufgabe für einen Kurs gemacht habe und das dem sehr ähnlich ist, was Sie erreichen möchten. Ziel war es, das Tier aus der Hintergrundvegetation zu erkennen (linkes Bild). Die Abbildung rechts zeigt die nach dem "Lernen" erhaltene Binärmaske zur Unterscheidung von Vordergrund und Hintergrund.
Um mehr über maschinelles Lernen zu erfahren, sollten Sie sich einige Lehrbücher ansehen. Eines der bekanntesten und oft empfohlenen Lehrbücher auf diesem Gebiet ist:
Dieses Dokument ist jetzt als kostenloses PDF unter dem angegebenen Link verfügbar. Ein weiteres anständiges Buch ist:
quelle
Ist das von Interesse?
Durchquerbare Oberflächenerkennung in Echtzeit durch Farbraumfusion und zeitliche Analyse
quelle
Es sieht aus wie ein Problem für die Textur-Segmentierung (keine Farbsegmentierung) Es gibt viele Methoden,
Sie verwenden häufig Gabor-Wavelets wie diese http://note.sonots.com/SciSoftware/GaborTextureSegmentation.html
Superpixel-basierte Segmentierung http://ttic.uchicago.edu/~xren/research/superpixel/
und ähnliche Graphschnitt-Segmentierung http://en.wikipedia.org/wiki/Graph_cuts_in_computer_vision
Hier ist die Wiki-Übersicht ( http://en.wikipedia.org/wiki/Segmentation_(image_processing)
quelle