Cómo calcular un puntaje usando la prueba de relación de distancia al vecino más cercano en MATLAB

El código que adjuntó no realiza la prueba de relación de vecino más cercano. Hasta donde yo sé, se hace de la siguiente manera: Usted encuentra los 2 vecinos más cercanos de una función de consulta del conjunto de funciones de capacitación. Sea d1 la distancia al vecino más cercano y d2 la distancia al siguiente. Para aceptar al vecino más cercano como una “coincidencia”, la relación d1 / d2 debe ser menor que un umbral dado (algo así como 0.8). La motivación detrás de esta prueba es que esperamos que una buena coincidencia esté mucho más cerca de la función de consulta que la segunda mejor coincidencia. Porque si ambas características son similares a la consulta, no podemos decidir cuál es realmente la mejor.

Si desea convertir el resultado de las pruebas de proporción en una puntuación de coincidencia general, puede hacer lo siguiente:

  1. Para cada característica en la imagen I, encuentre el vecino más cercano 2 en J cuyas distancias son d1 y d2.
  2. Calcule la relación como d1 / d2. Si la relación 0.8, establezca el puntaje en 0.
  3. Repita esto para todas las características en I y tome el promedio de todas las puntuaciones. Y este será su puntaje general de coincidencia. En este caso, los valores más altos indicarán mejores coincidencias de imagen.

Para obtener más información sobre la prueba de relación, puede leer el documento SIFT de David Lowe http://www.cs.ubc.ca/~lowe/paper… (página 19)