2010-01-30 10 views
5

Estoy leyendo mucho sobre árboles de vocabulario cuando se trata de consultas rápidas para imágenes similares o textos en grandes bases de datos. Pero no pude encontrar ninguna descripción buena (fácil de entender) sobre qué es ese árbol de vocabulario y cómo construir una de las características.¿Qué es un árbol de vocabulario y cómo construir uno?

Respuesta

1

El árbol de vocabulario es una forma compacta de realizar la recuperación de imágenes. Básicamente, hay tres pasos para implementar este algoritmo, y depende en gran medida de otras técnicas de visión por computadora, p. Ej. Funciones SIFT.

El primer paso es construir un árbol kmeans utilizando descriptores tamiz. Los nodos de hojas de este árbol contienen una "bolsa" de descriptores de tamizado. El segundo paso es construir una base de datos de imágenes usando el árbol de vocabulario que construyes en el primer paso. Puede ver este proceso como cuantizar una imagen en un espacio vectorial. Luego, el tercer paso es consultar la imagen en la base de datos de imágenes. Por supuesto, hay algunas técnicas detalladas, como la lista invertida, etc.

Aquí hay una buena implementación del árbol de vocabulario - libvot. Básicamente sigue los tres pasos que describí arriba. Utiliza la biblioteca de hilos múltiples estándar de C++ 11 para acelerar el proceso de compilación, por lo que se ejecuta bastante rápido.

Aquí está la investigación original paper al respecto. Tiene un gran impacto en la comunidad de visión por computadora estos años.

1

Showing BOF representation

árbol de vocabulario es algo que se hace por la agrupación de palabras visuales en grupos. La estructura del árbol se aplica para esto, lo que lo convierte en un árbol de vocabulario. El siguiente diagrama aclarará las cosas.

También verifique this:

Cuestiones relacionadas