Hay 2 imágenes A y B. Extracto los puntos clave (a [i] y b [i]) de ellos.
Me pregunto cómo puedo determinar la coincidencia entre a [i] y b [j], de manera eficiente?Manera eficiente para la coincidencia del descriptor SIFT
El método obvio es que comparo cada punto en A con cada punto en B. Pero consume mucho tiempo para bases de datos de imágenes grandes. ¿Cómo puedo simplemente comparar el punto a [i] con solo b [k] donde k es de rango pequeño?
Escuché que kd-tree puede ser una buena opción, ¿no? ¿Hay algún buenos ejemplos sobre kd-tree?
¿Alguna otra sugerencia?
KD- el árbol como tal no es eficiente para descriptores con una alta dimensionalidad como SIFT (esto se conoce como [maldición de dimensión] (http://en.wikipedia.org/wiki/Curse_of_dimensionality)). Sin embargo, existen otras estrategias de indexación para la búsqueda aproximada del vecino más cercano en espacios de alta dimensión. FLANN, incluido en OpenCV, es uno. Y hay una implementación de la coincidencia de puntos clave usando FLANN, vea el enlace en mi respuesta – remi