1

Ich muss sieben Features eines Datensatzes mit 1500 Bildern extrahieren, die später für Bag of Words verwendet werden. Das Ergebnis auf einem Bild hat beispielsweise 3168 Merkmale, die MB Speicher benötigen. Spart man alle Features nur so? Da jedes Bild zu unterschiedlichen Dimensionen von [frames, descriptors] führt, was ist eine gute Möglichkeit, das Ergebnis zu speichern?SIFT Feature Extraction für 1500 Bilder

+0

1500 Bilder ist eigentlich nichts. Wenn Sie genug Speicher haben, gehen Sie einfach mit der einfachsten Methode (jedes Paar getrennt speichern). – cagatayodabasi

Antwort

0

Sie erwähnen die Verwendung der Funktionen für später. Wie planen Sie derzeit, die Features zu speichern, um sie persistent zu machen? Es ist zwar möglich, jedes Mal Funktionen zu extrahieren, aber für 1500 Bilder ist dies ein langsamer Prozess.

Eine Option, die Sie verwenden könnten, ist k-means clustering, um ein Codebuch zu erstellen, das auf allen Merkmalen/Deskriptoren basiert. Ich habe dies für einen Korpus von 1100 Bildern getan und mein resultierendes Codebuch ist < 1 Mb mit 200 Clustern. Mein Codebuch wird als serialisiertes Objekt in Python gespeichert, damit es bei Bedarf einfach geöffnet werden kann.

Hier ein Crash-Kurs auf k-Mittel ist (vorausgesetzt, Sie Python verwenden): http://www.pyimagesearch.com/2014/05/26/opencv-python-k-means-color-clustering/

SieFormal für ein anderes Datum-Set der Tasche visueller Worte aus den 1500 Bildern werden? Oder wirst du BoVW verwenden, um innerhalb der 1500 Bilder zu passen?

+0

Ich würde gerne einen Satz von 1500 Bildern für das Trainingssatz (Beutel mit visuellen Wörtern) verwenden und es auf anderen Bildern testen. Bitte korrigiere mich, wenn meine Vorgehensweise falsch ist. – wannabegeek

0

Ich denke, es gibt ein Problem mit dem Speicher. soweit was ich erlebt habe. Es gibt einen Fehler "nicht genügend Speicher" in Python beim Stapeln von Deskriptoren von sift. ODER der Programmspeicher kann nicht den Speicher überschreiben .. nur eine Hypothese