¿Cómo utilizar las computadoras para unir el contenido de la imagen?
La coincidencia de imágenes se puede aplicar a muchas situaciones, como seguimiento de objetivos, detección, reconocimiento, empalme de imágenes, etc., entre las cuales la tecnología central es la coincidencia de puntos de esquina. La llamada coincidencia de puntos de esquina se refiere a encontrar la correspondencia entre los píxeles característicos entre dos imágenes, determinando así la relación posicional entre las dos imágenes.
La coincidencia de puntos de esquina se puede dividir en los siguientes cuatro pasos:
1. Extraer puntos de detección: busque los píxeles (puntos de esquina) más fácilmente identificables en las dos imágenes que se van a combinar. puntos), como los bordes de objetos ricamente texturizados.
2. Extraiga descriptores: para los puntos de esquina detectados, utilice algunas características matemáticas para describirlos, como histogramas de gradiente, características binarias aleatorias locales, etc. Los detectores y métodos de extracción de descriptores más utilizados incluyen: tamizar, harris, surf, rápido, agast, enérgico, freak, enérgico, breve/orbe, etc.
3. Coincidencia: determine su correspondencia en las dos imágenes a través de los descriptores de cada punto de esquina. Los métodos comúnmente utilizados incluyen flann, etc.
4. Eliminación de ruido: elimine los valores atípicos coincidentes incorrectos y conserve los puntos coincidentes correctos. Los métodos más utilizados incluyen KDTREE, BBF, Ransac, GTM, etc.
2. El método de coincidencia SIFT propuesto
Para eliminar puntos clave sin relación de coincidencia debido a la oclusión de la imagen y la confusión del fondo, Lowe, el autor de SIFT, propuso un método más reciente. método SIFT método de coincidencia de la distancia del vecino y la siguiente distancia del vecino más cercano: tome un punto clave SIFT en una imagen y encuentre la distancia euclidiana más cercana entre él y el vértice de la distancia euclidiana en otra imagen. Entre estos dos puntos clave, si el odds ratio obtenido al dividir la distancia más cercana por la siguiente distancia más cercana es menor que un cierto umbral T, entonces se acepta el par de coincidencias. Esto se debe a que para coincidencias falsas, debido a la mayor dimensionalidad del espacio de características, puede haber una gran cantidad de otras coincidencias falsas a distancias similares, por lo que su proporción es mayor. Obviamente, al reducir el umbral de relación T, el número de puntos de coincidencia SIFT se reducirá pero será más estable, y viceversa.
El umbral de relación recomendado por Lowe es 0,8, pero el autor comparó una gran cantidad de dos imágenes con cambios arbitrarios de escala, rotación y brillo. Los resultados muestran que la relación es mejor entre 0,4 y 0,6, y allí. son muy pocas si son menos de 0,4 de coincidencias, hay una gran cantidad de coincidencias falsas superiores a 0,6. 6 Habrá una gran cantidad de coincidencias falsas, por lo que el principio de proporción recomendado es el siguiente:
Ratio=0: Adecuado para coincidencias con requisitos de mayor precisión;
Ratio=. 0, 6: adecuado para partidos con más puntos coincidentes;
Relación = 0, 5: en circunstancias normales.
Tres códigos de coincidencia SIFT comunes
1. vl_ubcmatch.c en la caja de herramientas Sift en vlfeat utiliza una distancia euclidiana ordinaria para la comparación (este código SIFT lo proporciona Andrea
Cortesía de Vedaldi).
2. El código C de Lowe utiliza la distancia euclidiana, pero en el código Matlab, para acelerar el cálculo, utiliza ángulos vectoriales para aproximar la distancia euclidiana: primero, se normaliza el vector de características SIFT de 128 dimensiones. al vector unitario (la raíz cuadrada de la suma de los cuadrados de cada número dividida por la raíz cuadrada de la suma de los cuadrados), luego multiplicado por el coseno del ángulo del vector y luego usando la función coseno inverso (acos) para Encuentra el coseno del ángulo vectorial. función) para encontrar el ángulo entre vectores. El método de Lowe's demostró ser excelente tanto en términos de corrección como de consumo de tiempo.
Del mismo modo, la función knnsearch se puede utilizar para encontrar los puntos más cercanos y segundos más cercanos: cuando se utiliza la distancia euclidiana, knnsearch proporciona casi los mismos resultados que el método de aproximación utilizado por Lowe, lo que confirma que la eficacia euclidiana simulada de distancia.
3. OpenSIFT de Rob Hess utiliza KDTREE para optimizar la coincidencia.
4. KDTREE BBF implementado por CSDN master v_JULY_v optimiza la coincidencia SIFT y elimina las discrepancias: hablando del árbol KD y el algoritmo SIFT BBF desde la perspectiva del algoritmo del vecino más cercano K y la medición de distancia
- - El Algoritmo de Métodos Estructurados--Canal Blog--CSDN.NET.
5. OpenCV tiene una variedad de comparadores para implementar la coincidencia SIFT en características 2d: VectorDescriptorMatcher, BFMatcher (comparador de descriptores de fuerza bruta), FernDescriptorMatcher. Comparador de descriptores unidireccional (OneWayDescriptorMatcher), comparador basado en Flann (FlannBasedMatcher), etc. Actualmente, solo sabemos usar knnsearch, que proporciona múltiples medidas de distancia, pero no conozco las diferencias específicas.