Coincidencia de plantillas

Técnica en el procesamiento de imágenes digitales

La comparación de plantillas [1] es una técnica de procesamiento de imágenes digitales que permite encontrar pequeñas partes de una imagen que coincidan con una imagen de plantilla. Se puede utilizar para el control de calidad en la fabricación, [2] la navegación de robots móviles [3] o la detección de bordes en imágenes. [4]

Los principales desafíos en una tarea de comparación de plantillas son la detección de oclusión, cuando un objeto buscado está parcialmente oculto en una imagen; la detección de transformaciones no rígidas, cuando un objeto está distorsionado o se visualiza desde diferentes ángulos; la sensibilidad a los cambios de iluminación y de fondo; el desorden del fondo; y los cambios de escala. [5]

Enfoque basado en características

La capa oculta genera un vector que contiene información de clasificación sobre la imagen y se utiliza en el algoritmo de coincidencia de plantillas como las características de la imagen.

El enfoque basado en características para la coincidencia de plantillas se basa en la extracción de características de la imagen , como formas, texturas y colores, que coinciden con la imagen o el marco de destino. Este enfoque generalmente se logra utilizando redes neuronales y clasificadores de aprendizaje profundo como VGG, AlexNet y ResNet . [ cita requerida ] Las redes neuronales convolucionales (CNN), en las que se basan muchos clasificadores modernos, procesan una imagen pasándola a través de diferentes capas ocultas, produciendo un vector en cada capa con información de clasificación sobre la imagen. Estos vectores se extraen de la red y se utilizan como características de la imagen. La extracción de características mediante redes neuronales profundas , como CNN, ha demostrado ser extremadamente efectiva y se ha convertido en el estándar en los algoritmos de coincidencia de plantillas de última generación. [6]

Este enfoque basado en características suele ser más sólido que el enfoque basado en plantillas que se describe a continuación. Como tal, se ha convertido en el método de última generación para la comparación de plantillas, ya que puede hacer coincidir plantillas con transformaciones no rígidas y fuera del plano , así como con grandes cambios de iluminación y desorden de fondo. [7] [8] [9]

Enfoque basado en plantillas

Coincidencia de plantillas con plantillas rotadas

En el caso de plantillas sin características sólidas , o cuando la mayor parte de una imagen de plantilla constituye la imagen coincidente en su totalidad, puede resultar eficaz un enfoque basado en plantillas. Dado que la coincidencia basada en plantillas puede requerir el muestreo de una gran cantidad de puntos de datos, a menudo es deseable reducir la cantidad de puntos de muestreo reduciendo la resolución de las imágenes de búsqueda y de plantilla por el mismo factor antes de realizar la operación en las imágenes resultantes reducidas. Este método de preprocesamiento crea una representación de imágenes en múltiples escalas, o piramidal , que proporciona una ventana de búsqueda reducida de puntos de datos dentro de una imagen de búsqueda para que la plantilla no tenga que compararse con cada punto de datos viable. Las representaciones piramidales son un método de reducción de la dimensionalidad , un objetivo común del aprendizaje automático en conjuntos de datos que sufren la maldición de la dimensionalidad .

Desafíos comunes

En los casos en los que la plantilla puede no proporcionar una coincidencia directa, puede ser útil implementar espacios propios para crear plantillas que detallen el objeto coincidente bajo una serie de condiciones diferentes, como diferentes perspectivas, iluminaciones, contrastes de color o poses de objetos . [10] Por ejemplo, si un algoritmo está buscando una cara, sus espacios propios de plantilla pueden consistir en imágenes (es decir, plantillas) de caras en diferentes posiciones respecto de la cámara, en diferentes condiciones de iluminación o con diferentes expresiones (es decir, poses).

También es posible que una imagen coincidente esté oscurecida u ocluida por un objeto. En estos casos, no es razonable proporcionar una multitud de plantillas para cubrir cada posible oclusión. Por ejemplo, el objeto de búsqueda puede ser una carta de juego y, en algunas de las imágenes de búsqueda, la carta está oscurecida por los dedos de alguien que la sostiene, o por otra carta sobre ella, o por algún otro objeto frente a la cámara. En los casos en que el objeto es maleable o posable, el movimiento se convierte en un problema adicional y los problemas que involucran tanto el movimiento como la oclusión se vuelven ambiguos. [11] En estos casos, una posible solución es dividir la imagen de plantilla en múltiples subimágenes y realizar la coincidencia en cada subdivisión.

Plantillas deformables en anatomía computacional

La comparación de plantillas es una herramienta central en la anatomía computacional (AC). En este campo, se utiliza un modelo de plantilla deformable para modelar el espacio de las anatomías humanas y sus órbitas bajo el grupo de difeomorfismos , funciones que deforman suavemente un objeto. [12] La comparación de plantillas surge como un enfoque para encontrar el difeomorfismo desconocido que actúa sobre una imagen de plantilla para que coincida con la imagen objetivo.

Los algoritmos de comparación de plantillas en CA se denominan mapeos métricos difeomórficos de deformación grande (LDDMM). Actualmente, existen algoritmos de comparación de plantillas LDDMM para la comparación de puntos de referencia anatómicos , curvas , superficies y volúmenes.

La correspondencia basada en plantillas se explica mediante la correlación cruzada o la suma de diferencias absolutas

Un método básico de comparación de plantillas, a veces llamado "filtrado espacial lineal", utiliza un parche de imagen (es decir, la "imagen de plantilla" o "máscara de filtro") adaptado a una característica específica de las imágenes de búsqueda para detectar. [ cita requerida ] Esta técnica se puede realizar fácilmente en imágenes grises o imágenes de borde , donde la variable adicional de color no está presente o no es relevante. Las técnicas de correlación cruzada comparan las similitudes de las imágenes de búsqueda y de plantilla. Sus resultados deberían ser más altos en los lugares donde la estructura de la imagen coincide con la estructura de la plantilla, es decir, donde los valores grandes de la imagen de búsqueda se multiplican por los valores grandes de la imagen de plantilla.

Este método normalmente se implementa seleccionando primero una parte de una imagen de búsqueda para usar como plantilla. Sea representa el valor de un píxel de la imagen de búsqueda, donde representa las coordenadas del píxel en la imagen de búsqueda. Para simplificar, suponga que los valores de los píxeles son escalares, como en una imagen en escala de grises . De manera similar, sea representa el valor de un píxel de plantilla, donde representa las coordenadas del píxel en la imagen de plantilla. Para aplicar el filtro, simplemente mueva el centro (u origen) de la imagen de plantilla sobre cada punto en la imagen de búsqueda y calcule la suma de productos, similar a un producto escalar , entre los valores de los píxeles en las imágenes de búsqueda y de plantilla sobre toda el área abarcada por la plantilla. Más formalmente, si es el centro (u origen) de la imagen de plantilla, entonces la correlación cruzada en cada punto en la imagen de búsqueda se puede calcular como: Para mayor comodidad, denota tanto los valores de los píxeles de la imagen de plantilla como su dominio , los límites de la plantilla. Tenga en cuenta que se consideran todas las posiciones posibles de la plantilla con respecto a la imagen de búsqueda. Dado que los valores de correlación cruzada son mayores cuando los valores de los píxeles de búsqueda y de plantilla se alinean, la mejor posición de coincidencia corresponde al valor máximo de más de . S ( incógnita , y ) {\displaystyle S(x,y)} ( incógnita , y ) {\estilo de visualización (x,y)} yo ( incógnita a , y a ) {\textstyle T(x_{t},y_{t})} ( incógnita a , y a ) {\textstyle (x_{t},y_{t})} ( 0 , 0 ) {\estilo de visualización (0,0)} yo S {\displaystyle T\estrella S} ( incógnita , y ) {\estilo de visualización (x,y)} ( yo S ) ( incógnita , y ) = ( incógnita a , y a ) yo yo ( incógnita a , y a ) S ( incógnita a + incógnita , y a + y ) {\displaystyle (T\star S)(x,y)=\sum _{(x_{t},y_{t})\in T}T(x_{t},y_{t})\cdot S(x_{t}+x,y_{t}+y)} yo {\estilo de visualización T} ( incógnita metro , y metro ) {\displaystyle (x_{m},y_{m})} yo S {\displaystyle T\estrella S} S {\estilo de visualización S}

Otra forma de manejar problemas de traducción en imágenes usando coincidencia de plantillas es comparar las intensidades de los píxeles, usando la medida de suma de diferencias absolutas (SAD). Para formular esto, sea y denote la intensidad de luz de los píxeles en las imágenes de búsqueda y plantilla con coordenadas y , respectivamente. Luego, al mover el centro (u origen) de la plantilla a un punto en la imagen de búsqueda, como antes, la suma de las diferencias absolutas entre las intensidades de la plantilla y los píxeles de búsqueda en ese punto es: Con esta medida, la SAD más baja da la mejor posición para la plantilla, en lugar de la más grande como con la correlación cruzada. SAD tiende a ser relativamente simple de implementar y entender, pero también tiende a ser relativamente lento de ejecutar. A continuación, se muestra una implementación simple en C++ de coincidencia de plantillas SAD. I S ( incógnita s , y s ) {\displaystyle I_{S}(x_{s},y_{s})} I yo ( incógnita a , y a ) {\displaystyle I_{T}(x_{t},y_{t})} ( incógnita s , y s ) {\displaystyle (x_{s},y_{s})} ( incógnita a , y a ) {\displaystyle (x_{t},y_{t})} ( incógnita , y ) {\estilo de visualización (x,y)} S A D ( incógnita , y ) = ( incógnita a , y a ) yo | I yo ( incógnita a , y a ) I S ( incógnita a + incógnita , y a + y ) | {\displaystyle SAD(x,y)=\sum _{(x_{t},y_{t})\in T}\left\vert I_{T}(x_{t},y_{t})-I_{S}(x_{t}+x,y_{t}+y)\right\vert }

Implementación

En esta implementación simple, se supone que el método descrito anteriormente se aplica a imágenes grises: por eso se utiliza el gris como intensidad de píxeles. La posición final en esta implementación proporciona la ubicación superior izquierda donde la imagen de plantilla coincide mejor con la imagen de búsqueda.

minSAD = VALOR_MÁXIMO ;  // recorrer la imagen de búsqueda for ( size_t x = 0 ; x <= S_cols - T_cols ; x ++ ) { for ( size_t y = 0 ; y <= S_rows - T_rows ; y ++ ) { SAD = 0.0 ;                               // recorrer la imagen de plantilla para ( size_t j = 0 ; j < T_cols ; j ++ ) para ( size_t i = 0 ; i < T_rows ; i ++ ) {                        píxel p_SearchIMG = S [ y + i ][ x + j ]; píxel p_TemplateIMG = T [ i ][ j ]; SAD += abs ( p_SearchIMG . Grey - p_TemplateIMG . Grey ); }                // guarda la mejor posición encontrada if ( minSAD > SAD ) { minSAD = SAD ; // dame la posición mínima de SAD position . bestRow = y ; position . bestCol = x ; position . bestSAD = SAD ; } } }                        

Una forma de realizar la coincidencia de plantillas en imágenes en color es descomponer los píxeles en sus componentes de color y medir la calidad de la coincidencia entre la plantilla de color y la imagen de búsqueda utilizando la suma del SAD calculado para cada color por separado.

Acelerando el proceso

En el pasado, este tipo de filtrado espacial normalmente solo se utilizaba en soluciones de hardware dedicadas debido a la complejidad computacional de la operación, [13] sin embargo, podemos reducir esta complejidad filtrándolo en el dominio de frecuencia de la imagen, lo que se conoce como "filtrado de dominio de frecuencia", esto se hace mediante el uso del teorema de convolución .

Otra forma de acelerar el proceso de comparación es mediante el uso de una pirámide de imágenes. Se trata de una serie de imágenes, a diferentes escalas, que se forman filtrando y submuestreando repetidamente la imagen original para generar una secuencia de imágenes de resolución reducida. [14] Estas imágenes de resolución más baja se pueden buscar luego en busca de la plantilla (con una resolución reducida similar), con el fin de obtener posibles posiciones de inicio para la búsqueda en las escalas más grandes. Las imágenes más grandes se pueden buscar luego en una pequeña ventana alrededor de la posición de inicio para encontrar la mejor ubicación de la plantilla.

Otros métodos pueden manejar problemas como traducción, escala, rotación de imágenes e incluso todas las transformaciones afines. [15] [16] [17]

Mejorar la precisión de la correspondencia

Se pueden realizar mejoras en el método de correspondencia utilizando más de una plantilla (espacios propios); estas otras plantillas pueden tener diferentes escalas y rotaciones.

También es posible mejorar la precisión del método de coincidencia hibridando los enfoques basados ​​en características y en plantillas. [18] Naturalmente, esto requiere que las imágenes de búsqueda y de plantilla tengan características que sean lo suficientemente evidentes para admitir la coincidencia de características.

Métodos similares

Otros métodos similares incluyen "Correspondencia estéreo", " Registro de imágenes " y " Transformación de características invariantes de escala ".

Ejemplos de uso

La comparación de plantillas tiene diversas aplicaciones y se utiliza en campos como el reconocimiento facial (véase sistema de reconocimiento facial ) y el procesamiento de imágenes médicas. En el pasado se han desarrollado y utilizado sistemas para contar la cantidad de rostros que cruzan una parte de un puente en un tiempo determinado. Otros sistemas incluyen la detección automática de nódulos calcificados en radiografías de tórax digitales. [19] Recientemente, este método se implementó en la simulación geoestadística, lo que podría proporcionar un algoritmo rápido. [20]

Véase también

Referencias

  1. ^ R. Brunelli, Técnicas de comparación de plantillas en visión artificial: teoría y práctica , Wiley, ISBN  978-0-470-51706-2 , 2009 ([1] libro de TM)
  2. ^ Aksoy, MS; Torkul, O.; Cedimoglu, IH (2004). "Un sistema de inspección visual industrial que utiliza aprendizaje inductivo". Journal of Intelligent Manufacturing . 15 (4): 569–574. doi :10.1023/B:JIMS.0000034120.86709.8c. S2CID  35493679.
  3. ^ Kyriacou, Theocharis, Guido Bugmann y Stanislao Lauria. "Procedimientos de navegación urbana basados ​​en la visión para robots con instrucciones verbales". Robotics and Autonomous Systems 51.1 (30 de abril de 2005): 69-80. ASAP académico ampliado. Thomson Gale.
  4. ^ WANG, CHING YANG, Ph.D. "DETECCIÓN DE BORDES MEDIANTE COINCIDENCIA DE PLANTILLAS (PROCESAMIENTO DE IMÁGENES, LÓGICA DE UMBRAL, ANÁLISIS, FILTROS)". Duke University, 1985, 288 páginas; AAT 8523046
  5. ^ Talmi, Itamar; Mechrez, Roey; Zelnik-Manor, Lihi (7 de diciembre de 2016). "Coincidencia de plantillas con similitud de diversidad deformable". arXiv : 1612.02190 [cs.CV].
  6. ^ Zhang, Richard; Isola, Phillip; Efros, Alexei A.; Shechtman, Eli; Wang, Oliver (11 de enero de 2018). "La efectividad irrazonable de las características profundas como métrica perceptual". arXiv : 1801.03924 [cs.CV].
  7. ^ Talmi, Mechrez, Zelnik-Manor (2016). "Coincidencia de plantillas con similitud de diversidad deformable". arXiv : 1612.02190 [cs.CV].{{cite arXiv}}: CS1 maint: varios nombres: lista de autores ( enlace )
  8. ^ Li, Yuhai, L. Jian, T. Jinwen, X. Honbo. “Un sistema de comparación de plantillas rotadas rápido basado en características puntuales”. Actas del SPIE 6043 (2005): 453-459. MIPPR 2005: SAR y procesamiento de imágenes multiespectrales.
  9. ^ B. Sirmacek, C. Unsalan. “Detección de áreas urbanas y edificios mediante puntos clave SIFT y teoría de grafos”, IEEE Transactions on Geoscience and Remote Sensing, vol. 47 (4), págs. 1156-1167, abril de 2009.
  10. ^ Luis A. Mateos, Dan Shao y Walter G. Kropatsch. Expansión de una pirámide de grafos irregulares para un objeto que se aproxima. CIARP 2009: 885-891.
  11. ^ F. Jurie y M. Dhome. Coincidencia robusta de plantillas en tiempo real. En British Machine Vision Conference, páginas 123–131, 2002.
  12. ^ Christensen, GE; Rabbitt, RD; Miller, MI (octubre de 1996). "Modelo de plantilla deformable utilizando cinemática de deformación grande". IEEE Transactions on Image Processing . 5 (10): 1435–1447. doi :10.1109/83.536892. PMID  18290061.
  13. ^ Gonzalez, R, Woods, R, Eddins, S "Procesamiento de imágenes digitales con Matlab" Prentice Hall, 2004
  14. ^ EH Adelson, CH Anderson, JR Bergen, PJ Burt y JM Ogden, Métodos piramidales en el procesamiento de imágenes http://web.mit.edu/persci/people/adelson/pub_pdfs/RCA84.pdf
  15. ^ Yuan, Po, MSEE "Sistema de reconocimiento de patrones invariante de traducción, escala, rotación y umbral". Universidad de Texas en Dallas, 1993, 62 páginas; AAT EP13780
  16. ^ HY Kim y SA Araújo, "Coincidencia de plantillas en escala de grises invariante a rotación, escala, traslación, brillo y contraste", Simposio IEEE Pacific-Rim sobre tecnología de imágenes y video, Notas de clase en Ciencias de la computación, vol. 4872, págs. 100-113, 2007.
  17. ^ Korman S., Reichman D., Tsur G. y Avidan S., "FAsT-Match: coincidencia rápida de plantillas afines", CVPR2013.
  18. ^ CT Yuen, M. Rizon, WS San y TC Seong. “Características faciales para el reconocimiento facial basado en coincidencia de plantillas”. American Journal of Engineering and Applied Sciences 3 (1): 899-903, 2010.
  19. ^ Ashley Aberneithy. "Detección automática de nódulos calcificados en pacientes con tuberculosis". University College London, 2007
  20. ^ Tahmasebi, P., Hezarkhani, A., Sahimi, M., 2012, Modelado geoestadístico de puntos múltiples basado en funciones de correlación cruzada, Computational Geosciences, 16(3):779-79742.
  • Coincidencia de plantillas en OpenCV
  • Reconocimiento visual de objetos mediante coincidencia de plantillas
  • Programa de demostración de coincidencia de plantillas invariantes de rotación, escala y traslación
  • Coincidencia de plantillas invariantes en cuanto a perspectiva
  • Una amplia plantilla que combina la bibliografía hasta el año 2009
Obtenido de "https://es.wikipedia.org/w/index.php?title=Coincidencia_de_plantillas&oldid=1231750355"