Coincidencia de imagen a través de cadena de triángulos Grupo 12 Francisco Blanco Adame Alexis Martínez Chacón Jesús Manuel Vargas Sosa Universidad de Sevilla Escuela Técnica Superior de Ingeniería Informática Procesamiento imágenes digitales Enero 2014
Índice 1. Problema a resolver 2. Herramientas utilizadas 3. El algoritmo 4. Conclusiones
1. Problema a resolver Nuestro objetivo en un principio es a partir de dos imágenes con puntos en común obtener la unión/fusión de ellas a partir de esos puntos comunes.
1. Problema a resolver Resultado obtenido después de localizar los puntos comunes de ambas imágenes a través del algoritmo usado en el articulo y unir ambas imágenes. En un principio intentamos llegar hasta este paso, es decir hasta fusionar las dos imágenes, pero no hemos llegado hasta aquí y nos hemos quedado en el paso anterior, es decir hemos llegado hasta donde obtenemos los puntos que corresponden de una imagen a otra. Esto es debido a que el proceso de unión de ambas imágenes nos retrasaría mucho la ejecución al ser un proceso algo complejo.
1. Problema a resolver Posibles usos Fotos panorámicas/360º Posibles usos pueden ser las fotos panoramicas realizadas con los moviles actuales, en google maps lo usan para unir las imágenes aéreas..
1. Problema a resolver Posibles usos Unión de imágenes aéreas(Ej. Google Maps) Posibles usos pueden ser las fotos panoramicas realizadas con los moviles actuales, en google maps lo usan para unir las imágenes aéreas..
2. Herramientas utilizadas Para resolver el problema hemos utilizado las siguientes herramientas OpenCV [6]es una libreria open Source de visión por computador en tiempo real y una librería sofware de aprendizaje. La libreria tiene mas de 2500 algoritmos optimizados. Esta librería proporciona un alto nivel de funciones para el procesado de imágenes. - De visual studio hemos utilizado Window form para realizar la interfaz.
3. El algoritmo Nuestro algoritmo se basa en la comparación de triángulos formados a partir de puntos característicos obtenidos en ambas imágenes.
3. El algoritmo Los pasos que sigue nuestro algoritmo son los siguientes: Obtención de los puntos de Harris Formación de los triángulos Obtención de los puntos comunes Eliminación de falsos positivos Obtención de la Transformada Paso 1: Harris, Paso 2: Formación de los triangulos, Paso 3: Obtención de los puntos comunes, Paso 4: Obtención de aquellos puntos que tienen mejores resultados, es decir que se acercan más a los puntos de Q
3.1 Obtención de los puntos de Harris El detector de Harris se basa en la búsqueda de esquinas. Una esquina o corner se caracteriza por ser una región de la imagen con cambios de intensidad en diferentes direcciones.
3.1 Obtención de los puntos de Harris -Prueba realizada para 600 corners
3.2 Formación de los triángulos A partir de los puntos obtenidos anteriormente y sus k vecinos más cercanos formamos cadenas de triángulos. A partir de los corners obtenidos formamos cadenas de triángulos ordenadas en sentido horario. Lo hacemos utilizando el merge sort a partir de los KNN(vecinos de un corner)
3.2 Formación de los triángulos A partir de los corners obtenidos formamos cadenas de triángulos ordenadas en sentido horario. Número de vecinos 15 y 15
3.3 Obtención de los puntos comunes Los obtenemos comparando los grados de todas las cadenas de triángulos 1 a 1 de ambas imágenes. A partir de los corners obtenidos formamos cadenas de triángulos ordenadas en sentido horario
3.3 Obtención de los puntos comunes COMPLEJIDAD M= Corners P; N=Corners Q; k=Vecinos
3.3 Obtención de los puntos comunes Para aliviar la carga computacional usamos una heurística. Sólo comparamos aquellas cadenas cuyos primeros ángulos son parecidos. La heuristica consiste en hacerle el modulo k vecinos(Uno de los dos k de ambas imágenes) al angulo obtenido y lo comparamos con aquellos angulos que tengan el mismo modulo en la otra imagen.
3.3 Obtención de los puntos comunes
3.4 Eliminación de falsos positivos Las coincidencias anteriores contienen muchos puntos coincidentes que no corresponden a la realidad. Para eliminar las coincidencias falsas las sometemos a un proceso de clúster.
3.4 Eliminación de falsos positivos En el proceso de clúster buscamos la transformada que aproxima mejor el mayor número de puntos (y dichos puntos). Está delimitado la mayor o menor silmilitud a partir de un parametro umbral llamado thre que nos determina una distancia euclidea máxima entre dos puntos.
3.4 Eliminación de falsos positivos Aquí vemos aquellos puntos
3.5 Obtención de la Transformada A través de los puntos coincidentes resultantes (considerados los mejores) obtenemos la transformada que transforma cualquier coordenada de la imagen P en la imagen Q. Imagen P Imagen Q Transformada
3.5 Obtención de la Transformada
4. Conclusiones El resultado de la implementación es satisfactorio pero lento debido a la gran carga computacional. Una posible mejora con vistas al futuro sería paralelizar la aplicación y/o realizar algunos con la GPU (Tarjeta gráfica).