2010-01-30 10 views
5

Ich lese viel über Wortschatzbäume, wenn es um schnelle Abfragen für ähnliche Bilder oder Texte in großen Datenbanken geht. Aber ich konnte keine gute (leicht verständliche) Beschreibung darüber finden, was ein solcher Vokabelbaum ist und wie man eines der Features erstellt.Was ist ein Vokabelbaum und wie man einen erstellt?

Antwort

1

Vokabelbaum ist eine kompakte Möglichkeit, Bilder abrufen zu können. Es gibt grundsätzlich drei Schritte, um diesen Algorithmus zu implementieren, und er hängt stark von anderen Computer-Vision-Techniken ab, z. SIFT-Funktionen.

Der erste Schritt besteht darin, einen kmeans-Baum mit Hilfe von sift-Deskriptoren zu erstellen. Die Blattknoten dieses Baumes enthalten einen "Sack" von Siebdeskriptoren. Im zweiten Schritt erstellen Sie eine Bilddatenbank mit dem im ersten Schritt erstellten Vokabular. Sie können diesen Prozess als Quantisierung eines Bildes in einen Vektorraum betrachten. Dann ist der dritte Schritt, das Bild gegen die Bilddatenbank abzufragen. Natürlich gibt es einige detaillierte Techniken wie invertierte Liste, etc.

Hier ist eine gute Umsetzung von Vokabelbaum - libvot. Es folgt grundsätzlich den drei oben beschriebenen Schritten. Es verwendet die C++ 11 Standard-Multithread-Bibliothek, um den Build-Prozess zu beschleunigen, so dass es ziemlich schnell läuft.

Hier ist die ursprüngliche Forschung paper darüber. Es hat große Auswirkungen auf Computer Vision in diesen Jahren.

1

Showing BOF representation

Vocabulary Baum ist etwas, das durch Clustering visuelle Worte in Cluster gemacht wird. Dafür wird die Baumstruktur verwendet, die es zum Vokabular macht. Das folgende Diagramm wird die Dinge verdeutlichen.

Überprüfen Sie auch this:

Verwandte Themen