Ich versuche, Features aus einem Bild zu extrahieren, habe jedoch nicht die Punkte erhalten, die ich extrahieren möchte, und daher stimmt mein Bild nicht mit der Vorlage überein.
Gibt es Kontrollpunkte, die ich durchlaufen muss, bevor ich SIFT auf mein Bild anwenden kann, damit ich gute Ergebnisse erhalte? Zum Beispiel ist das Vorlagenbild;
gezieltes Bild;
matlab
image-processing
sift
KT Harris
quelle
quelle
Antworten:
Wenn Sie eine Vorlage mit Sift an ein Bild anpassen, müssen Sie Sift mit Ihrer Vorlage ausführen und dann in Ihrer Szene nach diesen Sift-Funktionen in dieser Anordnung suchen.
Faustregel: Vergleichen Sie gerne, um zu mögen.
Sieben (Vorlage) enthalten in Sieben (Bild)
Sie können Sift nicht optimieren, um die "gewünschten Funktionen" zu extrahieren. Sift * verwendet unveränderliche Kennzahlen, um Funktionen zu finden, die seiner Meinung nach am wichtigsten sind. (* Chris A)
Wenn Sie möchten, dass bestimmte Features in Ihrer Vorlage gefunden werden, erstellen Sie kleinere Vorlagen für diese Features und suchen Sie nach ihnen.
Nur ein Vorschlag. Ich weiß nicht genau, welche Art von Vorlage Sie für welche Art von Szene oder Bild verwenden möchten.
quelle
Ich bin mir nicht sicher, ob Sie nur zwei Bilder zuordnen möchten (z. B. die gemeinsamen Punkte finden) oder ob Sie etwas wie CBIR (Content-based Image Retrieval) ausprobieren möchten Objekt).
Ich mache derzeit CBIR-Forschung, daher bin ich mit den aktuellen Methoden ziemlich auf dem neuesten Stand. Hier und hier sind die Links zu meinen Antworten auf ähnliche Probleme wie bei Ihnen von stackoverflow, die Sie sich ansehen sollten.
Nun, um ein wenig über SIFT zu sprechen. Wenn Wurde zuerst eingeführt von Lowe, angewendet der Begriff SIFT sowohl auf den Prozess der Merkmalserkennung und zu den Feature - Deskriptoren auf diesen detektierten interessierenden Punkte berechnet wird . Bis heute haben sich die SIFT- Deskriptoren als unglaublich großartig erwiesen. Die Deskriptoren haben einige coole Eigenschaften, die @Totero bereits erwähnt hat.
Das heutzutage immer häufiger als DoG (Difference of Gaussians) bezeichnete SIFT- Detektionsverfahren ist dagegen nicht mehr auf dem neuesten Stand der Technik. Es ist immer noch weit verbreitet, aber für den Prozess der Merkmalserkennung gibt es heutzutage mehr Methoden, von denen einige die Typen von DoG-Prozessextrakten mit invarianten Schlüsselpunkten besser oder besser ergänzen.
Die meisten aktuellen Arbeiten (siehe die Links in den Fragen zum verknüpften Stackoverflow) haben eine weitere nette Übung: Sie kombinieren mehrere Möglichkeiten zum Erkennen von Features und verwenden dann SIFT-Deskriptoren (die immer noch als Deskriptoren rocken), um die invarianten Vektordarstellungen zu berechnen. Ich arbeite derzeit mit einer Kombination aus DoG (sie konzentrieren sich auf eckenähnliche Teile von Bildern) und MSER-Regionen (sie konzentrieren sich auf blobartige unterscheidbare Punkte durch mehrere Skalen). Sie können versuchen, noch mehr Arten von Feature-Detektoren zu testen und darin zu werfen, wenn diese Kombination für Ihre spezielle Bilddatenbank nicht zufriedenstellend ist.
Wenn Sie interessiert sind, finden Sie hier auch einen Artikel, in dem die Leistung verschiedener Erkennungs- und Deskriptorkombinationen bewertet wird. Ich habe es nicht gelesen, da DoG & MSER + SIFT für mich gut funktioniert, aber ich habe es überflogen und das Papier ist ziemlich gut.
PS: Verwenden Sie Google Scholar, wenn Sie keinen Zugriff auf die IEEEXplore-Datenbank haben, mit der ich verknüpft bin.
quelle
Aufbauend auf früheren Antworten:
(1) Sie können SIFT (oder eine andere verbesserte Variante dieses lokalen Patch-Deskriptors) mit dichter Abtastung anstelle des eingebauten Detektors verwenden. Sie können die Größe des lokalen Patches und die Sampling-Dichte entsprechend Ihren Anforderungen an Leistung und Rechenaufwand auswählen.
(2) SIFT ist ein affiner invarianter Deskriptor für Wide Baseline Stereo Matching. Dies bedeutet, dass SIFT gut funktioniert, wenn Sie ein Bild aufnehmen und eine affine Transformation dazu einleiten, wobei die 'Vorlage' im Zielbild vorhanden sein muss, wenn auch mit Transformationen.
Vorschläge: (a) Erstellen Sie (wenn möglich) eine Datenbank mit Vorlagenbildern, um die Wahrscheinlichkeit zu erhöhen, dass das Bild erkannt wird.
(b) Sie können das BoW-Modell als Basis verwenden, wenn Sie sich für einen CBIR-Ansatz für Ihre Aufgabe entscheiden.
(c) Beschneiden Sie Ihr Vorlagenbild nur auf den relevanten Teil und verwenden Sie ein sehr dichtes SIFT. http://www.vlfeat.org/overview/dsift.html
(4) Möglicherweise möchten Sie später einen Deskriptor mit mehreren Maßstäben wie PHOG (Pyramidal Histogram of Gradients) usw. ausprobieren, der möglicherweise zu einer Verbesserung der Ergebnisse führt. http://www.vlfeat.org/overview/dsift.html#tut.dsift.phow
quelle