Dense Correspondence using Local Regions with Affine Transformations A. Reyes and I. Lopez* Abstract— The development of a virtual environments is desirable in many engineering applications for several reasons. For example, it can reduce the number of dangerous operations during the virtual inspection of mines, pipes for gas, water and sewer to inspect its current condition and identify possible failures. The proposal in this paper is an alternative solution to this problem obtaining a virtual image through the reconstruction of the inner pipe for assessment and fault detection. The proposed method employs regions with affine transformations used as dense correspondence, which are calculated through local correspondences, such as the detector/descriptor SIFT (Scale-invariant feature transform). The SIFT is required to obtain the position and orientation of the camera in the captured positions to get the structure of the scene through correspondences and to create a 3D reconstruction. Keywords— Dense correspondence, Local correspondence, Affine transformation. L I. INTRODUCCION A INSPECCIÓN de tuberías en general empleando robots móviles de servicio ha recibido recientemente gran atención dado que simplifica enormemente la tarea del inspector al poder realizar una inspección a detalle fuera de línea en lugar de hacerlo necesariamente en campo. La inspección en línea es una tarea muy demandante, ya que son inspecciones que van desde 100m-200m hasta del orden de varios kilómetros de forma continua, lo que resulta en múltiples errores al pasar por alto alguna falla. Existen diversas complicaciones que son importantes de considerar, como son la pobre iluminación en el interior de la tubería, excesiva cantidad de información proveniente de la información de video, selección apropiada de cuadros, fusión de cuadros en la trama de video, clasificación y detección de las fallas, tiempo de procesamiento en imagen, etc. La inspección de tuberías y ductos en general es una actividad importante para asegurar la calidad de las instalaciones. Esta actividad se realiza en múltiples áreas como en la inspección de minas, ductos de gas, tubería eléctrica, agua o drenaje a efecto de poder identificar posibles defectos en las instalaciones, inspeccionar su estado actual y programar los trabajos de rehabilitación. Para la determinación de fallas en la tubería se introduce un robot móvil con cámara para inspeccionar el estado de la misma. Fallas comunes en tubería de drenaje, por ejemplo son debidas a la corrosión del tubo, raíces que penetran el tubo por grietas, oclusiones, uniones desplazadas, etc. Fallas comunes se muestran en la Fig. 1. A. Reyes, CINVESTAV, México, alfredoreyesacosta@hotmail.com *I. Lopez, CINVESTAV, México, ismael.lopez@cinvestav.mx Figura 1. Daños comunes en tuberías. a) Corrosión, b) Raíces, c) Infiltración, d) Fragmentos, e) Uniones desplazadas. Existen actualmente diferentes métodos para la inspección de tuberías reportados. Los diferentes métodos presentan el uso de diversos sensores, como ópticos, infrarrojos y ultrasonido entre otras variantes. En las siguientes secciones se muestran algunos trabajos relacionados al tema de estudio. El artículo esta organizado de la siguiente forma. En la sección II se describe en forma genérica la reconstrucción a partir de video, diferencias entre correspondencias locales y globales, regiones con transformaciones affine y la importancia de recobrar el movimiento de la cámara. En la sección III se describe el tipo de escenario a trabajar mientras que en la sección IV se presenta la propuesta original del modelo, resultados iniciales y finalmente las conclusiones en la sección V. II. SISTEMA DE VISIÓN La secuencia típica para realizar una reconstrucción 3D de un escenario a partir de un video, según Trung [1] es como se muestra en la Fig. 2. Figura 2. Secuencia para reconstrucción 3D. • Detectar y empatar puntos característicos. Obtener correspondencias entre las imágenes, dando la capacidad de un seguimiento de un mismo punto por varias imágenes. • Recobrar el movimiento y la estructura, como las posiciones 3D de los puntos de correspondencia, la posición, orientación y parámetros de la cámara. • Generar un mapeo denso, así como información de la forma del escenario. • Modelar el 3D, agregar texturizado al escenario virtual para visualización. Para la captura de información, se realiza movimiento del robot dentro del tubo a reconstruir, el video es pre-procesado (seleccionando imágenes, removiendo ruido, normalizando la iluminación), las imágenes son procesadas para generar el escenario virtual y al final se genera el modelo 3D agregando textura de las imágenes. Se considera una reconstrucción geométrica y no fotométrica, la cual genera nuevas vistas de la escena. Para la reconstrucción se tienen ciertas limitantes, como por ejemplo que la escena sea estática. Existen 2 principales estrategias para resolver el problema de correspondencia, ya sea utilizando características locales o métodos globales. Dependiendo del conocimiento previo de las imágenes a tratar es el método empleado; sí se tienen imágenes consecutivas con un movimiento pequeño entre imágenes es común utilizar el flujo óptico (global), tomando en cuenta que para obtener las disparidades y generar una buena geometría epipolar (y por lo tanto una buena matriz fundamental) es necesario tener desplazamientos grandes. Por otro lado, sí se tienen grandes cambios entre imágenes es común utilizar correspondencias debido a la invariancia en escala y/o rotación empleada. Sí las imágenes están borrosas, las correspondencias (locales) tienden a mejorar el desempeño a comparación del flujo óptico debido a que el brillo no cambia con respecto a las imágenes. número de posibles correspondencias. Mikolajczyk y Schmid [4] realizan la comparación de desempeño de una versión extendida del descriptor SIFT versus otros descriptores. La extensión desarrollada por ellos tuvo mejor desempeño muy cercano al obtenido con el SIFT. Lowe [5] menciona, sobre el desempeño del SIFT, que en general, las superficies planas texturizadas se pueden identificar de forma fiable con una rotación de hasta 50 grados en cualquier dirección y bajo casi cualquier condición de iluminación que proporcionen suficiente luz y no producen brillo excesivo por medio del descriptor SIFT. Para los objetos en 3D, la rotación para reconocer de manera segura es de sólo 30 grados en cualquier dirección. Por estas razones, el reconocimiento de objetos 3D se realiza mejor mediante la integración de funciones de múltiples puntos de vista. B. Correspondencias globales. Dentro de los métodos globales, el comúnmente usado es el flujo óptico, el cual genera correspondencias densas. Debido a la complejidad de poder visualizar el resultado con flechas o líneas, se utiliza un código de colores como el mostrado en la Fig. 3, de esta manera, el color indica la dirección de la correspondencia, si se tienen áreas en blanco, quiere decir que no se tiene movimiento. A. Correspondencias locales. Para detectar y obtener correspondencias de “puntos” característicos, es necesario detectores y descriptores. Estos “puntos” pueden ser intensidades de puntos, líneas, esquinas, contornos y/o regiones, pero también pueden estar basados en el espacio, frecuencia y/o gradientes. Las correspondencias por medio de características de manera local se utilizan para obtener la matriz fundamental y así reducir la búsqueda en una sola dimensión para encontrar más correspondencias. Un detector, es el que detecta los puntos característicos, se usa para conocer la localización pero también se puede saber si esta escalado. Un buen detector debe ser repetible (detectando en diferentes imágenes) y confiable (suficientemente diferente y con pocos candidatos para corresponder). Mikolajczyk et al. [2] mencionan que no existe un detector que funcione mejor que todos para todas las escenas, por lo cual se debe seleccionar diferentes detectores para diferentes casos. Tuytelaars y Mikolajczyk [3] realizan un apropiado análisis de las debilidades y fortalezas de los diferentes detectores. Un descriptor toma información del punto característico de tal modo que se puede diferenciar de los demás, usualmente es representado por un vector. Un buen descriptor debe ser invariante a la rotación, escala y transformación affine, este vector debe ser lo suficientemente diferente para reducir el Figura 3. Código de colores, típicamente usada en flujo óptico. Existen muchas variantes del flujo óptico, como ejemplo, el trabajo realizado por Meinhardt y Sanchez [6] toma como base el flujo óptico de Horn-Schunck agregando una estrategia de multi-escala, para realizar una búsqueda burda, y finalmente una búsqueda fina. Sánchez [7] realiza una variante al método de Horn-Schunck, aumentando la robustez en caso de valores atípicos, produciendo áreas conjuntas con flujo suave y mejorado al tener cambios de brillo. Dentro de los métodos densos existen algoritmos que intentan fusionar las dos principales estrategias, como el SIFT Flow [8, 9], el cual toma restricciones del flujo óptico pero con descriptores SIFT en vez del brillo aparente. Tua y Hassen [10] trabajan con correspondencia densa modificando el algoritmo SIFT Flow, tomando como primordial característica la escala de los descriptores con correspondencia asumiendo que los pixeles correspondientes tienen escalas similares. También existen métodos globales sin el uso del flujo óptico, como el propuesto por Obdrzalek, Perdoch y Matas [11] el cual usa correspondencia densa utilizando imágenes del video por medio de un descriptor de dimensiones reducida, tomando en cuanta varias simplificaciones como el que existe solamente translación sin escalamiento, rotación ni otro tipo de transformación. Kim et al. [12] propone una correspondencia densa por medio de pirámides espaciales de la imagen, pero en cada nivel se puede deformar la imagen para obtener una mejor correspondencia. Por otro lado existen métodos que realizan las correspondencias por medio de regiones con transformaciones tipo affine [13, 14, 15], Ferrari [16] realiza dichas correspondencias con regiones tomando en cuenta la localización geométrica de las regiones para realizar etapas de eliminación y ampliación de las mismas. C. Regiones Affine. Las regiones tipo affine, utilizadas en varios métodos de correspondencia, se pueden calcular por medio de 3 pares de puntos o más. Un ejemplo se muestra en la Fig. 4, los cuales generan una matriz de transformación de 3 x 3, la cual se puede simplificar a 2 x 3; dicha matriz tiene 6 grados de libertad, los cuales son los valores de la matriz. La transformación dada por esta matriz mantiene el paralelismo de las geometrías, o sea, que si hay líneas paralelas, seguirán paralelas después de la transformación [17]. Entre más correspondencias locales se tengan para el cálculo de la transformación, se reduce el ruido que puedan causar la baja resolución, cambios de iluminación, de escala entre otros, lo cual mejora la correspondencia densa. D. Recobrar movimiento y reconstrucción 3D. Para recobrar el movimiento y la estructura, se toman las correspondencias entre imágenes, de las cuales se pueden agregar restricciones geométricas y así generar las matrices de proyección las cuales representan información de movimiento de la cámara, ya que suponemos un escenario estático, o una cámara fija y que se mueva todo la escena sin deformaciones [18], se pueden tener otros sensores en vez de la cámara para la reconstrucción [19]. Una cámara tiene tanto parámetros intrínsecos como extrínsecos (internos y externos). Los parámetros intrínsecos son aquellos que describen el funcionamiento de una cámara, como la distancia focal. Los parámetros externos de la cámara son aquellos que definen la posición y la orientación del cuadro de referencia de la cámara con respecto al mundo real. La reconstrucción con solo el conocimiento de las correspondencias es solamente posible con una reconstrucción proyectiva. Existen varias maneras de obtener esas matrices proyectivas, como la matriz fundamental o el tensor focal, como lo menciona Trung [1], sin restricciones adicionales no es posible generar una reconstrucción métrica. III. ESCENARIO A TRABAJAR Figura 4. Ejemplo de una transformación tipo affine con 3 pares de puntos. Dicha matriz se puede escribir como: 1 1 0 0 1 1 (1) El escenario en el que se desea trabajar carece de líneas rectas y esquinas, utilizadas para obtener detectores rápidos en cómputo, el color y la textura tienden a ser muy similar en las imágenes y la iluminación es variante a lo largo del trayecto, un ejemplo de las características mencionadas se muestra en la Fig. 5. que se puede simplificar como:. (2) 1 1 Genéricamente hablando, se puede obtener dicha transformación con más de 3 puntos. Para calcular la matriz supongamos el conjunto de puntos (CP1) “n” en una de las imágenes como en la ecuación (3). → 1 1 ⋯ ⋯ ⋯ 1 (3) Por otro lado, se puede escribir las correspondencias de la otra imagen en el conjunto 2 de puntos de forma similar: ′ ⋯ ′ ′ (4) → ′ ′ ⋯ ′ Entonces se puede obtener A por medio de la división de estos conjuntos de correspondencias. / (5) Figura 5. Ejemplos de imágenes en el interior de un tubo de drenaje Debido a que las imágenes tienen poco desplazamiento entre ellas, la opción “obvia” es obtener las correspondencias por métodos que utilizan el flujo óptico. En la Fig. 6 se muestra el resultado del algoritmo de Sánchez, Monzón y Salgado [7] (izquierda), de Meinhardt y Sánchez [6](centro) y en el extremo derecho se muestra SIFT-flow [8, 9]. Figura 6. Comparación entre métodos de flujo óptico con mejores resultados. Tomando como mejoría estos últimos métodos, se observa que tienen diferentes discontinuidades, al observar cambios bruscos de color en ciertas regiones, por lo cual se propone en esta investigación un algoritmo para resolver esta problemática. IV. ORIGINALIDAD (PROPUESTA DEL MODELO) Los pasos convencionales para la reconstrucción según Trung [1] es: 1. Detectar y empatar puntos característicos, 2. Recobrar el movimiento y la estructura, 3. Generar un mapeo denso, 4. Modelar el 3D. Se propone realizar parte de los pasos 1 y 3 por medio del algoritmo propuesto. Teniendo buenas correspondencias con nuestro algoritmo, se pretende obtener la localización de la cámara para realizar la triangulación y por lo tanto una reconstrucción del escenario. Existen principalmente dos maneras de resolver la correspondencia entre 2 imágenes, una es local por medio de puntos característicos y la otra es global por medio de métodos basados energéticamente como el flujo óptico. Estos dos métodos pueden mezclarse de manera que utilicen características útiles de ambos. El algoritmo busca obtener correspondencias entre dos imágenes por medio de regiones circulares realizando transformaciones tipo affine para la correspondencia de dicha región, por medio de detectores/descriptores. El algoritmo se inicia al rellenar con regiones circulares una de las imágenes, sobreponiendo dichas regiones el radio del círculo. En la Fig. 7 se muestran 2 ejemplos con diferentes valores de radio. Esto va ligado a la velocidad y precisión del algoritmo, entre más pequeñas las regiones, tiende a obtener mejores correspondencias, pero se vuelve lento. Sí las regiones a realizar correspondencia es un plano, entonces es recomendable usar regiones grandes. Figura 8. Puntos de correspondencias entre las imágenes. Posteriormente, de las regiones circulares fijas, se verifica cuantas correspondencias se encuentran dentro de dicha región, si se encuentran 5 o más, se toma como una región candidata, de lo contrario se desecha, las correspondencias dentro de dicha región son utilizadas para obtener una transformación tipo affine, la cual sirve para obtener su región correspondiente en la segunda imagen como se muestra en el ejemplo de la Fig. 9. Figura 9. Correspondencias con regiones fijas tomando en cuenta las correspondencias SIFT. La eliminación de correspondencias se realiza localmente, específicamente, con las correspondencias dentro de las regiones candidatas. En la Fig. 10 se muestra una región candidata con 8 correspondencias dentro de ella. Figura 10. Región candidata con 8 correspondencias. Figura 7. Ejemplos de regiones con diferentes radios. Posteriormente se realiza la correspondencia por medio de detectores y descriptores comúnmente utilizados en el área, en este caso se usó el SIFT. En la Fig. 8, se muestran los puntos correspondientes. Normalmente para este tipo de aplicaciones se utilizan métodos para eliminar correspondencias “malas” por medio de RANSAC (RANdom SAmple Consensus), LMedS (Least Median of Squares), MSAC (M-estimator SAmple Consensus), LTS (Least Trimmed Squares) por mencionar los más usados, siendo el RANSAC el de mayor empleo. Para eliminar correspondencias se realizan los siguientes pasos: 1. Llamemos “n” al número de correspondencias dentro de la región candidata. 2. Verificar que “n” sea mayor a 5, para seguir considerando la región como candidata. 3. Tomar una correspondencia “i”. 4. Obtener el promedio de la comparación de las distancias euclidianas (ecuación (6)). Sí alguna distancia esta fuera del rango de la expresión (7), se agrega un “punto malo” tanto a la correspondencia “i” como “j”. 5. Realizar los pasos 4 y 5 aumentando “i” hasta “n”. 6. La correspondencia con mayor número de “puntos malos” y que sea al menos 4, se elimina. 7. Sí se eliminó alguna correspondencia, regresar a 2. Para el algoritmo, el promedio de la comparación de las distancias euclidianas se determina con: ∑ (6) donde: Figura 13. Regiones sobre toda la imagen. P P distancia de un punto “i” a “j” en la imagen 1. P P distancia del punto “i” a “j” en la imagen 2. n Número de correspondencias dentro de la región. De tal forma que: 0.9 1.1 (7) Para la eliminación, se toma un punto cualquiera y se toma la distancia hacia las demás correspondencias para ambas imágenes, como se muestra en la Fig. 11. Debido al movimiento de las imágenes, se puede saber que las regiones no pueden tener una excentricidad (parámetro que determina el grado de desviación de una sección cónica con respecto a una circunferencia) muy diferente a las demás, lo mismo aplica para el tamaño y el ángulo al que apunta la región, por lo cual se puede realizar un filtro tomando en cuenta estas características en las regiones, como lo muestra la Fig. 14. Figura 14. Regiones fijas después de filtrarlas excentricidad y el ángulo. Figura 11. Distancia de una correspondencia a las demás. En la Fig. 11, se muestran en diferentes colores las distancias de una correspondencia ejemplo hacia las demás. Se pueden apreciar 2 líneas visiblemente más grandes en comparación con las demás. Al realizar este proceso con el resto de las correspondencias, se tiene un efecto similar, por lo que se puede eliminar las correspondencias “malas”. En la Fig. 12 se muestra la transformación de la región candidata al eliminar las correspondencias. tomando en cuenta la Como se muestra en la figura anterior, las regiones visiblemente erróneas son eliminadas debido al filtro geométrico, teniendo como resultado regiones con una buena correspondencia, para visualizar dichas correspondencias se utiliza el código de colores normalmente utilizado para el flujo óptico, esto debido a su sencillez para mostrar los resultados y así comprar los diferentes métodos. Esto se muestra en la Fig. 15. Figura 15. Correspondencia entre imágenes tomando los colores de flujo óptico para visualización. Figura 12. Ejemplo de transformación tipo affine. Este proceso se realiza para la imagen completa, obteniendo regiones en casi toda la imagen. El resultado de dichas regiones se muestra en la Fig. 13, los puntos de color azul, son las correspondencias “buenas”, los puntos de color amarillo, son las correspondencias eliminadas por no cumplir con las dimensiones, y en rojo las correspondencias que no se tiene suficientes datos para tomarlas como “buenas” o “malas”. En la Fig. 16 se muestra el resultado del algoritmo con 2 imágenes de un escenario diferente, en este ejemplo solo se muestran las regiones finales. Figura 16. Ejemplo del resultado del algoritmo propuesto. Se utilizó el tableo de ajedrez para obtener las matrices de la cámara y por medio de triangulación [20] se realiza la reconstrucción del escenario como lo muestra la Fig. 17. [10] [11] [12] [13] [14] Figura 17. Reconstruccion de escenario. [15] V.CONCLUSIONES El algoritmo propuesto es capaz como se muestra en este artículo, de obtener correspondencias densas a partir de correspondencias locales, dichas correspondencias son suficientes para generar un mayor número de regiones alrededor de las ya existentes para rellenar los huecos que pueda llegar a generar. Estas regiones nuevas se pueden obtener a partir de las características geométricas de las regiones adyacentes. La reconstrucción del escenario se puede realizar, como se demuestra en los resultados iniciales dados en este artículo, por medio de las correspondencias generadas ya que dichas correspondencias son suficientemente buenas para describir el ambiente. AGRADECIMIENTOS Los autores agradecen el apoyo del Consejo Nacional de Ciencia y Tecnología (CONACyT) por la beca otorgada a A Reyes-Acosta para realizar sus estudios doctorales, así como del apoyo al proyecto INFR-2014-02 230761. [16] [17] [18] [19] [20] Pattern Analysis and Machine Intelligence (TPAMI), Vol 33, No.5, 2011. M. Tau, T. Hassner. Dense Correspondences Across Scenes and Scales. CoRR abs/1406.6323, 2014. S. Obdrzalek, M. Perd'och, J. Matas. Dense linear-time correspondences for tracking. in Workshop on Visual Localization for Mobile Platforms. CVPR 2008, Jun. 2008. J. Kim, C. Liu, F. Sha, K. Grauman. Deformable Spatial Pyramid Matching for Fast Dense Correspondences. CVPR 2013. T. Tuytelaars and L. Van Gool. Wide Baseline Stereo based on Local, Affinely invariant Regions. British Machine Vision Conference, pp. 412-422, 2000. F. Schaffalitzky and A. Zisserman, “Multi-view matching for unordered image sets, or ‘How do I organize my holiday snaps?’,” in Computer Vision—ECCV 2002. F. Rothganger, S. Lazebnik, C. Schmid, and J. Ponce. 3D Object Modeling and Recognition Using Local Affine-Invariant Image Descriptors and Multi-View Spatial Constraints. International Journal of Computer Vision, vol. 66, no. 3, March 2006, pp. 231-259. V. Ferrari, T. Tuytelaars, and L. Van Gool. Simultaneous Object Recognition and Segmentation from Single or Multiple Model Views. International Journal of Computer Vision (IJCV), April 2006. R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision, Second edition, 2004, publisher Cambridge University Press, ISBN: 0521540518. A Simple 3D Scanner Based On Passive Vision for Geometry Reconstruction. A. Narváez, E. Ramírez. IEEE Latin America Transactions, Vol. 10, No. 5, September 2012. M. Zambrano, C. Medina and E. Galagarza. Target Localization and Reconstruction Using Compressive Sampling. IEEE Latin America Transactions, Vol. 13, No. 2, Febrero 2012. R. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision, Second edition, 2004, publisher Cambridge University Press, ISBN: 0521540518. Alfredo Reyes-Acosta obtained a BEng in Mechatronics Engineering from Instituto Tecnológico de Saltillo in 2006. He received a Master degree in Robotics and Advanced Manufacturing from CINVESTAV-Saltillo in 2008. Currently, He is pursuing his PhD studies at Cinvestav. His research interests are in computer vision applications focused in the area of Robotics and Manufacturing. REFERENCIAS [1] [2] [3] [4] [5] [6] [7] [8] [9] D. Trung. Technical Report: A Review of 3D Reconstruction from Video Sequences. ISIS group, Universiteit van Amsterdam 2005. K. Mikolajczyk, T. Tuytelaars, C. Schmid, A. Zisserman, J. Matas, F. Schaffalitzky, T. Kadir, and L. Van Gool. A Comparison of Affine Region Detectors. International Journal on Computer Vision, 65(1/2), pp.43-72, november 2005. T. Tuytelaars, K. Mikolajczyk. Local Invariant Feature Detectors: A Survey. Foundations and Trends in Computer Graphics and Vision, Vol. 3, nb 3, pp 177-280, 2008 K. Mikolajczyk and C. Schmid. 2005. A Performance Evaluation of Local Descriptors. IEEE Trans. Pattern Anal. Mach. Intell. 27, 10 (October 2005), 1615-1630. D. G. Lowe. Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, November 2004. Meinhadt, Sanchez. Horn-Schunck Optical Flow with a Multi-Scale. IPOL. 2012. J. Sanchez, Meinhardt-Llopis, Facciolo. TV-L1 Optical Flow Estimation. Image Processing On Line. 2013. C. Liu, J. Yuen, A. Torralba, J. Sivic, and W. T. Freeman. SIFT flow: dense correspondence across different scenes. ECCV 2008. C. Liu, J. Yuen and A. Torralba. SIFT flow: dense correspondence across different scenes and its applications. IEEE Transactions on Ismael López-Juárez obtained a BEng in Mechanical and Electrical Engineering from National Autonomous University of Mexico in 1991. He received a Master degree in Instrument Design and Application from UMIST in 1996, and the PhD in Intelligent Robotics from Nottingham Trent University in 2000. He was founder and leader of Grupo de Investigación en Mecatrónica y Sistemas Inteligentes de Manufactura in CIATEQ, A.C (2000-2006). Currently, he is principal researcher in the Research Group on Robotics and Advanced Manufacturing in CINVESTAV-Saltillo and SNI member Level II.