2016-06-13 4 views
0

Ich las über Bildsegmentierung, und ich verstand, dass es der erste Schritt in der Bildanalyse ist. Aber ich lese auch, dass, wenn ich SURF oder SIFT verwende, um Merkmale zu erkennen und zu extrahieren, keine Segmentierung notwendig ist. Ist das wahr? Muss ich segmentieren, wenn ich SURF benutze?Ist eine Bildsegmentierung mit dem SURF-Algorithmus erforderlich?

+0

Es ist nicht immer so einfach wie Sie beschreiben. Haben Sie eine bestimmte Anwendung im Hinterkopf? –

+0

content based image retrieval .. Ich benutze ein Surf-Tool, um Deskriptoren zu extrahieren, ich fand, dass keine Segmentierung in es, da es auf Surf-Interessen basiert .. Deshalb war ich verwirrt .. Ich dachte, dass jedes Bild segmentiert werden sollte bevor Sie irgendwelche Operationen daran ausführen – user5507512

Antwort

1

Die Abhängigkeit zwischen Segmentierung und Erkennung ist etwas komplexer. Wenn Sie wissen, welche Pixel des Bildes zu Ihrem Objekt gehören, erleichtert dies die Erkennung. Diese Beziehung funktioniert jedoch auch in die andere Richtung: Wenn Sie wissen, was im Bild enthalten ist, wird die Segmentierung einfacher. Der Einfachheit halber spreche ich jedoch nur von einer einfachen Pipeline, in der zuerst die Segmentierung durchgeführt wird (z. B. basierend auf einem einfachen Farbmodell), und dann wird jedes Segment verarbeitet.

Ihre Frage bezieht sich speziell auf die SURF-Funktionen. In diesem Zusammenhang ist jedoch wichtig, dass SURF ein lokaler Deskriptor ist, d. H. Es beschreibt kleine Bildflecken um erfasste Schlüsselpunkte herum. Schlüsselpunkte sollten Punkte im Bild sein, in denen für Ihr Erkennungsproblem relevante Informationen gefunden werden können (interessante Teile des Bildes), aber auch Punkte, die auf allen Bildern von Objekten der interessierenden Klasse zuverlässig wiederholbar erkannt werden können. Als ein Ergebnis interessiert sich ein lokaler Deskriptor nur für die Pixel um Punkte herum, die durch den Schlüsselpunktdetektor ausgewählt werden, und extrahiert für jeden solchen Schlüsselpunkt einen kleinen Merkmalsvektor. Auf der anderen Seite berücksichtigt ein globaler Deskriptor alle Pixel innerhalb eines Bereichs, typischerweise eines Segments, oder das gesamte Bild.

Um die Erkennung in einem Bild mithilfe eines globalen Deskriptors durchzuführen, müssen Sie daher zuerst den Bereich (das Segment) auswählen, aus dem die Features extrahiert werden sollen. Diese Merkmale würden dann verwendet werden, um zu erkennen, was der Inhalt des Segments ist. Bei einem lokalen Deskriptor ist die Situation etwas anders, da hier lokale Patches beschrieben werden, die der Schlüsselpunktdetektor als relevant bestimmt. Daher erhalten Sie mehrere Feature-Vektoren für mehrere Punkte im Bild, auch wenn Sie keine Segmentierung durchführen. Jeder dieser Merkmalsvektoren sagt Ihnen etwas über den Inhalt des Bildes und Sie können versuchen, jeden solchen lokalen Merkmalsvektor einer "Klasse" zuzuordnen und ihre Statistiken zu sammeln, um den Inhalt des Bildes zu verstehen. Ein solches einfaches Modell heißt Bag-of-words model.

+0

Perfekte Erklärung! Vielen Dank – user5507512