Full text
1 Equation Chapter 1 Section 1 Trabajo Fin de Máster Máster en Ingeniería de Telecomunicación Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Autora: María del Mar Velasco Montero Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016
2 2 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
3 3 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Trabajo Fin de Máster Máster en Ingeniería de Telecomunicación Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Autora: María del Mar Velasco Montero Tutor: Juan José Murillo Fuentes Catedrático de Universidad Dep. de Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016
4 4 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
5 5 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Trabajo Fin de Máster: Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Autora: María del Mar Velasco Montero Tutor: Juan José Murillo Fuentes El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2016 El Secretario del Tribunal
6 6 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
7 7 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X A mi hermana, por su inestimable ayuda a lo largo de la etapa académica y en todos los ámbitos de la vida
8 8 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
9 9 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Resumen Las técnicas de procesado de imagen pueden aplicarse a una multitud de ámbitos, entre los que se encuentra la caracterización de obras de arte y, más específicamente, las telas de cuadros. El escaso trato requerido con la pintura hace que esta técnica de análisis sea adecuada para un estudio que contribuya a la conservación de la misma. En este trabajo se ha establecido como objetivo encontrar y caracterizar el patrón complejo que presentan algunas telas de cuadros mediante tratamiento de imagen y reconocimiento de patrones. Se ha diseñado e implementado un algoritmo en MATLAB® y se ha experimentado con distintas imágenes de rayos X de cuadros. Las imágenes que se incluyen en este trabajo y los resultados obtenidos de las mismas pertenecen al Museo Nacional del Prado. Está prohibido su uso, reproducción o distribución.
16 16 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
17 17 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 1 PREFACIO l empleo de técnicas de procesado de imagen está muy extendido en una amplia variedad de campos, tales como el militar, la automatización, las comunicaciones o la medicina, entre otros. Las distintas técnicas tanto teóricas como experimentales que se vienen desarrollando y utilizando desde hace varias décadas permiten resolver problemas de muy diverso tipo. Descripción de formas, restauración, realce, codificación, extracción de características o patrones, clasificación, etcétera, son algunas de las áreas que comprende esta rama de la ciencia conocida como tratamiento de la imagen y reconocimiento de patrones. El presente trabajo es una aplicación de procesamiento de imagen orientada al área que comprende las obras de arte. Debido a las características de las mismas, que suelen ser delicadas, de elevado valor y deben ser bien conservadas, el análisis por imagen es adecuado para las mismas, ya que una ventaja de éste es que no perjudica el estado de la obra. El poco trato que se requiere con la obra de arte es el necesario para obtener una placa de rayos X de la misma. Una vez se consigue, se trabaja con ella en lugar de la original, contribuyendo a su adecuada conservación. Dentro de esta disciplina los objetivos pueden ser muy diversos: la restauración, la detección de defectos o la clasificación son algunos ejemplos. Con el foco puesto en la pintura, la caracterización de la tela de estas obras de arte puede ser útil para conocer más acerca del origen, material empleado y características del lienzo. Son datos históricos que amplían el conocimiento que se tiene de la misma y el contexto en que fue creada. En este trabajo el objetivo establecido es la extracción del patrón que subyace en la tela de cuadros, formada con el entrelazado de los hilos. Se pretende, por tanto, identificar las formas que muestra dicho entrelazado y caracterizarlo. Dentro de este alcance se considera, por tanto, la obtención de medidas que aporten mayor cantidad de información sobre el patrón extraído con el fin de describirlo de manera más precisa. Se debe aclarar que este propósito no se centra en determinar la estructura primitiva periódica que se repite en una tela, y que la caracteriza diferenciándola de otras y clasificándola en distintos tipos, tales como tafetán, telas asargadas o satinadas. Se trata más bien de la búsqueda de las formas complejas que se dibujan en los tejidos al modificar el entrelazado de los hilos a lo largo del mismo. Por ejemplo, se podría encontrar en una tela la unión de distintas primitivas estructurales o bien un cambio en las orientaciones principales de la misma primitiva, que crea un patrón a una escala mayor. Se trata, por tanto, de un ambicioso objetivo, puesto que comprende la identificación de patrones complejos y desconocidos a priori en los tejidos. Se buscará que el sistema sea automático, es decir, el método sea siempre el mismo y no dependa de la tela que se desea analizar. Este punto es importante para conseguir un sistema autónomo con la mínima interacción humanomáquina. El software de procesamiento que se ha elegido para tal fin es MATLAB®, muy utilizado en el ámbito de la ingeniería y científico para resolver todo tipo de problemas de aprendizaje máquina, visión artificial, procesamiento de señales e imágenes, comunicaciones, etc. El algoritmo que se ha desarrollado para resolver el problema descrito es, en su mayor parte, un diseño propio e implementación del mismo. Exceptuando una idea inicial, el resto no está basado en ningún método ya descrito o editado por terceros. Las ideas que se detallan en las siguientes secciones son, por tanto, parte del trabajo realizado. Como salvedad, se encuentra la sección 4.1 en la que se explica un algoritmo de realce de huella dactilar que se ha utilizado, ya implementado por un autor. Dicho código es utilizado para segmentar zonas de la imagen de rayos X mediante la información de la orientación de los hilos, basándose en una propuesta del tutor del presente trabajo. Partiendo de esta idea y código, se ha implementado el resto del algoritmo de manera totalmente autónoma, mediante un análisis del problema y experimentación con las imágenes. La extracción del patrón usando la mencionada segmentación y toda la caracterización del mismo son creaciones propias. En concreto, algunas de las contribuciones personales que han guiado el método diseñado, y que se explican E
18 18 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X posteriormente, son entre otras: Métodos morfológicos para tratar la imagen de huella dactilar, seleccionado las orientaciones deseadas. La Transformada Hough Estándar para detectar líneas en una imagen binaria. El dimensionado de píxeles conexos en una imagen binaria mediante el ajuste a una estructura patrón, rectangular en este caso. Transformaciones geométricas sobre imágenes para convertir estructuras rectangulares en romboides, y viceversa. Análisis clustering para distinguir dos tipos de estructuras según su tamaño. Por último, cabe mencionar que esta memoria documenta el trabajo de programación realizado, describiendo el método propuesto y los resultados obtenidos. Para mayor nivel de detalle, tales como parámetros e imágenes intermedias, se puede consultar el código.
19 19 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 2 INTRODUCCIÓN AL RECONOCIMIENTO DE PATRONES entro del campo de la ciencia que procesa la imagen, se encuentra la rama del reconocimiento de formas o patrones. Si el tratamiento de imagen toma una imagen de entrada, la transforma y obtiene otra imagen a la salida; por su parte, el reconocimiento de patrones permite ofrecer una correspondencia entre una imagen de entrada y un descriptor de salida. Por tanto, mientras que el tratamiento de imagen comprende tareas de realce, codificación, filtrado, restauración, etc.; el reconocimiento de patrones tiene como fin clasificar o describir la estructura de la imagen; comprendiendo tareas de detección de características, medidas de propiedades, extracción de estructura y segmentación. Como detallan Fu, King-Sun et al. en Pattern Recognition and Image Processing [1], para resolver esta última cuestión, existen dos enfoques fundamentales en los cuales se pueden englobar los problemas de reconocimiento de patrones. El primero de ellos es el enfoque de decisión o discriminante. Esta solución caracteriza a los patrones mediante medidas de alguna característica (feature), dando lugar a un vector que representa a cada patrón. Para el reconocimiento de un patrón concreto se suele particionar el espacio de características ofreciendo una clasificación del mismo, ya sea mediante clasificadores basados en la probabilidad (por ejemplo, clasificación Bayesiana) o bien mediante clasificación basada en agrupamiento o clustering no supervisado. El segundo enfoque encontrado en la literatura científica es el sintáctico, en el cual los patrones se expresan mediante la constitución de sus componentes básicos (subpatrones o primitivas), y el reconocimiento de cada patrón es realizado mediante un análisis de la estructura del mismo de acuerdo a alguna regla. Estas reglas, que dan lugar a una gramática, permiten la composición de primitivas en patrones. Por lo tanto, la clasificación de un patrón de entrada se hace mediante similitud con algún patrón prototipo. Si en el primer enfoque, un problema era lograr la efectividad y eficiencia en la selección y extracción de las características, en este segundo enfoque una cuestión fundamental por resolver es la selección de las primitivas, que dependerá de la aplicación. Un ejemplo de primitiva puede ser un segmento de línea; y su información característica, que permite reconocer la primitiva (inicio, fin, longitud), es su semántica asociada. A modo de resumen, algunas de las tareas que comprende el reconocimiento de patrones son: Detecciones de características: búsqueda de correspondencia o similitud con patrones “plantilla”. Segmentación: separación de las distintas regiones de una imagen que tienen distinta alguna propiedad. Descripción de propiedades: tras la segmentación, se pueden describir las propiedades de las distintas regiones atendiendo a su geometría o nivel de gris. Análisis de imagen: se emplean descriptores estructurales que describan partes de la imagen. En relación a este trabajo, el mismo se puede enmarcar dentro del reconocimiento de patrones basado en subpatrones, ya que el fin es describir, analizar o extraer información de la imagen de entrada, más que aplicarle algún tipo de tratamiento. Como se verá más adelante, se elegirá una primitiva adecuada a las características de los dibujos mostrados en los lienzos y se trata de encontrarla en la imagen y analizarla. Además, previamente se realizará algún tipo de segmentación o separación en regiones dependiendo de las zonas de la imagen que presenten homogeneidad en función de alguna característica. No queda dentro del alcance la clasificación de un patrón de entrada en algún tipo ya conocido, sino se trata simplemente de analizarlo. D
20 20 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
21 21 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 3 ESTUDIO PREVIO l objetivo perseguido en este proyecto es complejo y poco frecuente en la literatura por tratarse de un fin muy concreto y específico. Las publicaciones en revistas científicas suelen ofrecer soluciones a problemas más generales, tales como la clasificación de la tela en distintas texturas o el análisis de la orientación de los hilos. Artículos como el publicado por J. Escofet et al. [2], muestran un estudio a nivel de hilos basado en la Transformada de Fourier con el fin de determinar la estructura primitiva periódica que forma el entrelazado de los mismos. Dependiendo del número y la disposición de los cruces se puede clasificar el tipo del tejido. Ilustración 1. Tipos de tejido según su estructura primitiva periódica. Izquierda: tafetán. Centro: tela asargada. Derecha: tela satinada. Siguiendo en esta línea de investigación, se encuentran clasificadores como el propuesto por Su, Te-Li et al. [3], que extrae información de textura de la imagen mediante el cálculo de la energía de las imágenes vertical, horizontal y diagonal obtenidas con la Transformada Wavelet. Estas características de textura serán la entrada de una Red Neuronal Back-propagation que posibilita un análisis clustering, y así distinguir entre los diferentes tipos de tejido según su textura. También a nivel de hilos se pueden encontrar otros trabajos, tal como el propuesto por Zhang Xiaochao et al. [4]. En este caso, se trata de calcular la densidad del tejido, para lo cual previamente se realiza un filtrado y conversión a binario de la imagen, lo que permite obtener la textura de manera más clara. La extracción de características presentes en la textura de la tela se repite en distintas publicaciones. La búsqueda del patrón de repetición de tejido, el recuento de hilados, o la rugosidad de la superficie son algunos ejemplos. Los autores Xin Wang et al. [5] desarrollan un sistema capaz de obtener estas medidas y características mediante el análisis 2D de la imagen, y el empleo de la 2DFFT basada en fractales del escáner 3D de alta resolución de la superficie. Mientras estos trabajos se centran en caracterizar el tejido mediante sus hilos, otros autores [6] [7] proponen métodos de descomposición de la imagen en lo que denominan textura y cartoon. La textura es la estructura subyacente propia del tejido que define los detalles textiles. Por otro lado, la parte que definen como cartoon es aquella que presenta suavidad a trozos sobre la textura, de manera que se puede considerar como una capa natural añadida sobre la misma. Una técnica muy empleada en resolver esta cuestión es el método de optimización iterativo que recibe el nombre de Análisis de Componentes Morfológicos (MCA, Morphological Component Analysis). Para separar E
22 22 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X las componentes, se basa en la representación de una señal mediante diccionarios (conjunto de señales modelo) incoherentes entre sí, lo que permite que cada componente sea dispersa 1 en un diccionario distinto. Mediante un algoritmo que combina este dominio transformado y un umbralizado de los residuos marginales entre la señal original y sus componentes, se consigue finalmente la separación [8] [9]. Ilustración 2. Izquierda: Imagen original. Centro: Primera componente morfológica (cartoon). Derecha: Segunda componente morfológica (textura) [8]. 3.1 Idea inicial Si bien existen trabajos e investigaciones que pretenden dar soluciones a problemas de una naturaleza similar, el objetivo de este trabajo difiere de los mismos. Como se puede comprobar, una gran parte de los estudios ya realizados se centran en distinguir entre tipos de tejido según el entrelazado de los hilos, así como extraer características también a nivel de hilos. En contraste con dichas investigaciones, el presente trabajo no trabaja tanto a nivel de hilos, buscando cruces y estructuras básicas que identifiquen el tejido, sino más bien a un nivel superior, en el cual prima la búsqueda del patrón que conforma el conjunto de estructuras texturales presentes en la tela. Por lo tanto, no se trata de construir un clasificador que identifique la imagen de entrada con un tipo de tejido ya conocido. Por su parte, los métodos de descomposición de la imagen en sus distintas componentes podrían emplearse como un tratamiento de la imagen inicial pero no ofrecen extracción de características, segmentación de distintas zonas o descripción de propiedades, análisis propio del reconocimiento de patrones. Como indican Michael K. Ng et al. [7], esta técnica puede emplearse para limpiar la imagen, separando objetos no deseados o defectos presentes sobre la estructura textural. Sin embargo, tiene la desventaja de un coste computacional elevado, por tratarse de un algoritmo iterativo. Es importante destacar también que a diferencia del caso que tratamos, las publicaciones científicas suelen considerar una imagen inicial de tela que está limpia, no presenta una capa de pintura como puede verse en los lienzos de obras de arte, lo que facilita en gran medida la extracción de la textura. En nuestro caso, este hecho, que es inherente al problema, debe tenerse en cuenta. Aunque la investigación inicial de las técnicas empleadas por otros autores para tratar problemas similares no da una solución definitiva al problema ante el cual nos encontramos, sí que ofrece ideas importantes que deben considerarse como punto de partida. Muy recurrente en los artículos científicos, el empleo de descriptores de textura para analizar la imagen es la idea clave porque caracteriza al tejido. Estos descriptores pueden ser muy diversos, tales como direccionalidad, densidad, rugosidad, fineza, etc. El análisis de la imagen por bloques permitirá extraer esta información, ya que la textura en sí se define en una región, y no en un solo píxel. En concreto, el descriptor fundamental por el que se opta en este trabajo es la orientación local a una vecindad 1 El adjetivo “disperso” hace referencia a un vector (señal) que contiene la mayoría de entradas iguales a cero.
23 23 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X de píxeles de la imagen. Dependiendo de la orientación de los hilos en las distintas zonas de la imagen se tratará de extraer el patrón subyacente en el lienzo.
24 24 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
25 25 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 4 DESARROLLO DEL ALGORITMO ebido a la gran variedad de posibilidades de patrones distintos que pueden presentarse en el lienzo de una pintura, el algoritmo se ha desarrollado inicialmente para extraer y describir el patrón de una obra de arte concreta. Una vez que se confirme el buen funcionamiento del método se buscará su perfeccionamiento con otros tipos de patrones mostrados en distintos cuadros. La obra elegida inicialmente es un lienzo que presenta un patrón de repetición de romboides a lo largo del mismo. Algunas de las obras empleadas pertenecen al Museo Nacional del Prado y todas han sido obtenidas mediante rayos X con el propósito de que la imagen capture la tela bajo las capas de pintura. El primer paso es escoger un trozo adecuado, que facilite un buen resultado en las técnicas posteriormente aplicadas. Para ello, se busca un fragmento de la imagen en el que exista homogeneidad en la pintura sin un relieve formado por la misma muy marcado (que llevarán a una estimación de la orientación local errónea), en el que a simple vista se pueda observar lo mejor posible las formas presentes en el tejido. Ilustración 3. Trozo del lienzo de la obra inicialmente elegida, en el que se muestra un patrón repetitivo de romboides. Si la imagen está definida por tres capas RGB, dado que ambas contienen una información similar en cuanto a textura, se elige una de ellas para aplicarle el algoritmo. También se permite la inversión de la capa elegida, lo que no modifica los resultados que se obtendrán, pero en ocasiones puede permitir visualizar mejor la imagen. 4.1 Imagen binaria de huella dactilar Como se ha mencionado previamente, el empleo de algún descriptor de la orientación local a la vecindad será fundamental. Dentro de las posibilidades, se ha optado por el empleo de un software de realce de una imagen de huella dactilar, basado en la estimación de la orientación y frecuencia de los valles y crestas presentes, y el posterior filtrado paso de banda de la imagen [10]. El autor del mismo, Peter Kovesi, se ha fundamentado en el artículo de Lin Hong et al. [11], en el cual se detalla un algoritmo rápido de realce de la huella dactilar. Es posible aplicar este método a imágenes de tejido por la evidente similitud existente entre los surcos que define el entrelazado de hilos y los que aparecen en una huella dactilar. El algoritmo se divide en varias fases desde que se tiene una nueva imagen de entrada hasta que se realza, tras realizar un conjunto de pasos intermedios de procesado. Las principales fases del método son: normalización, identificación de las regiones de la imagen en la que aparecen surcos, estimación de la orientación local, estimación de la frecuencia y filtrado. D
32 32 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Ilustración 10. Líneas encontradas en la imagen (en verde) mediante la SHT. Dado que en los bordes de la imagen es posible que aparezcan líneas que los recorran pero que realmente no pertenecen al patrón del lienzo, estas líneas en los límites de la imagen no son tenidas en consideración. También se puede observar en la ilustración 10 cómo aparecen líneas cuya información no es de utilidad en las zonas ruidosas, en las cuales no ha sido posible determinar bien el patrón de la tela. Eligiendo las dos líneas de mayor longitud cuyos ángulos están separados un intervalo razonable, se tienen las direcciones principales de la textura. Estas dos líneas principales se muestran en la figura 10 (izquierda) en color rojo. Los ángulos de ambas están caracterizando la dirección de la textura. Estos ángulos son medidos en grados en sentido negativo de las agujas del reloj con respecto al eje x y pertenecen al intervalo [−90°,90°]. En concreto, en esta imagen valen 44.9568° y −52.0155°. El siguiente paso tiene como propósito definir una especie de red o cuadrícula incompleta centrada en las líneas que permita continuar con la caracterización del patrón en las siguientes fases del algoritmo. Para ello, se seleccionan las líneas encontradas en la imagen que tengan ángulos muy parecidos a los que presentan las dos líneas principales (líneas azules en la figura izquierda de la ilustración 11). Con estas líneas se crea una imagen binaria que las dibuje sobre fondo negro, dando lugar a la cuadrícula buscada. Ilustración 11. Izquierda: Líneas encontradas con información relevante. En rojo, las dos líneas que determinan las direcciones principales de la textura. Derecha: Imagen binaria que muestra una máscara de la red que forman las líneas anteriores.
33 33 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Finalmente, continuando con la caracterización del patrón, se calcula el ángulo lateral e inferior de los romboides del patrón. La suma de los valores absolutos de los dos ángulos principales dan el ángulo lateral del romboide. Si los ángulos que indican las direcciones principales se convierten al intervalo [0°,180°], se puede tomar la diferencia entre ambos como medida del ángulo inferior. Así, en este caso, se obtiene un ángulo lateral de 96.9723° y un ángulo inferior de 83.0277°. 4.4 Dimensiones de los paralelogramos En este punto del algoritmo se pretende determinar el tamaño de los paralelogramos (o romboides) presentes en el patrón debido a la intersección de líneas en distintas direcciones. La idea es transformar la imagen de líneas que dibuja el patrón de modo que las direcciones principales sean ortogonales entre sí. De esta manera, los romboides se convierten en rectángulos y facilita en gran medida su caracterización. Se deben definir previamente algunos conceptos [18] que son utilizados por este método. En primer lugar, el término BLOB (Binary Large OBject) hace referencia a un conjunto de píxeles conectados entre sí en una imagen binaria, en adelante referido simplemente como objeto. El adjetivo Large indica que sólo los objetos de un cierto tamaño tienen interés, siendo normalmente ruido los de menor tamaño. Existen distintos métodos para extraer los BLOBs de una imagen binaria, basándose en la conectividad de los píxeles. Una vez encontrados los objetos en una imagen binaria, estos puede ser representados según varias características, tales como la circularidad, el área, el perímetro, el centro de masa, etcétera. En el método que se va a detallar a continuación se hace uso del concepto de recuadro limitador (Bounding Box). Éste es el mínimo rectángulo que contiene al objeto, y se define buscando los cuatro píxeles que tengan menor y mayor valor en 𝑥 e 𝑦. También se empleará la relación entre el área del objeto y el área de dicho recuadro limitador, lo que se conoce como compacidad (Compactness o Extent). Por otro lado, también se van a utilizar las denominadas transformaciones geométricas. Este término hace referencia a un cambio en la geometría de la imagen que conserva los valores de intensidad de los píxeles. Después de una transformación geométrica de una imagen 𝑓(𝑥,𝑦), se tiene una nueva imagen 𝑔(𝑥’,𝑦’) en la que los valores de intensidad no han cambiado pero sí la posiciones de los píxeles, desde (𝑥,𝑦) hasta (𝑥’,𝑦’). Por lo tanto, en general para dos valores cualesquiera (𝑥0,𝑦0) del eje 𝑥 e 𝑦 se cumple que 𝑓(𝑥0,𝑦0)≠ 𝑔(𝑥0,𝑦0). Por lo tanto, una transformación geométrica realiza un mapeado de los píxeles de la imagen original en la nueva imagen. Dentro de las transformaciones geométricas se encuentran las transformaciones affine. Estas son el resultado de una combinación de cuatro transformaciones básicas: traslación (desplazamiento de la imagen), escalado (cambio en el tamaño en dirección 𝑥 y/o 𝑦), rotación (con un ángulo dado) y shearing (desplazamiento de los píxeles en distinta medida según su posición en la imagen). Una vez definidos los conceptos básicos en los que se basa esta parte del algoritmo, se puede proceder a detallarlo. Inicialmente, se invierte la imagen que muestra el patrón de líneas. Con esto se consigue que los romboides sean los objetos de la imagen, y las líneas pertenezcan al fondo. Dado que en los bordes de la imagen pueden aparecer efectos indeseados, se convierten a fondo (valor cero en la imagen binaria) varias capas de píxeles que pertenecen a los bordes. De esta manera, se evita una posible imagen completamente blanca en un posterior rellenado de huecos en los objetos. A continuación, empleando la transformación de rotación, se gira la imagen en sentido contrario de las agujas del reloj. El valor absoluto del ángulo de giro viene dado por la dirección principal de la textura con ángulo negativo en el intervalo [−90°,90°] según el eje 𝑥. De este modo, las líneas que antes de la rotación descendían en la imagen, después de la rotación están orientadas horizontalmente.
34 34 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Ilustración 12. Izquierda: imagen rotada para que presente líneas horizontales. Derecha: resultado de aplicar un shearing horizontal a la imagen anterior para que las líneas sean ortogonales entre sí. En este momento, las líneas que cortan a las horizontales presentan un ángulo de inclinación con respecto a la horizontal de la imagen en el sentido positivo de las agujas del reloj igual al ángulo lateral del romboide. Seguidamente, se aplica a esta imagen rotada un shearing horizontal, de manera que las líneas en las dos direcciones principales sean ortogonales entre sí y paralelas a los ejes de la imagen. Para tal fin, se considera la transformación de shearing como: 𝑥′=𝑥+𝑦·𝐵𝑥 (4 − 3) 𝑦′=𝑥·𝐵𝑦+ 𝑦 (4 − 4) O de manera matricial: [𝑥′ 𝑦′]=[1 𝐵𝑥 𝐵𝑦1]·[𝑥 𝑦] (4 − 5) La coordenada 𝑦 se mantendrá constante tras la transformación, cumpliéndose 𝑦=𝑦’. Por lo tanto, 𝐵𝑦=0. Sin embargo, en la coordenada 𝑥 sí existe un mapeo que hace desplazar los puntos de la imagen hacia la derecha, lo que supone un valor no nulo de 𝐵𝑥. Sabiendo que el desplazamiento en 𝑥 (según 𝑦·𝐵𝑥) es un valor que depende de la coordenada 𝑦 en la imagen, se trata de determinar la constante 𝐵𝑥 que permita el shearing horizontal deseado. Conforme la coordenada 𝑦 va creciendo, el desplazamiento en horizontal de los píxeles debe crecer. Esta constante de crecimiento queda determinada por el ángulo de inclinación presente en las líneas no horizontales, esto es, el ángulo lateral del romboide. Dicho ángulo está estrechamente relacionado con el cociente entre el desplazamiento en horizontal que debe hacerse a los píxeles y la situación en el eje 𝑦 de la imagen.
35 35 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Ilustración 13. Cálculo de la constante de shearing. De la ilustración 13 se concluye que: 𝐵𝑥=tan(90°− á𝑛𝑔𝑢𝑙𝑜 𝑙𝑎𝑡𝑒𝑟𝑎𝑙)= ∆𝑥 ∆𝑦 (4 − 6) De este modo, para posiciones de la imagen con el eje 𝑦 cercano al origen, el desplazamiento horizontal de los píxeles es menor que para posiciones donde la variable 𝑦 se ha incrementado, tal como indica la ecuación (4− 3). Una vez se tienen las líneas del patrón paralelas a los ejes de la imagen y ortogonales entre sí, los romboides presentes en el patrón original se han transformado en rectángulos. De esta manera, el recuadro limitador (Bounding Box) de los objetos de la imagen se ajustará lo más posible a los bordes de los mismos, ofreciendo un valor de compacidad relativamente alto. La idea es emplear las dimensiones de este recuadro que se ajusta al objeto para medirlo. Es evidente que los objetos más ajustados a dicho recuadro permitirán determinar sus dimensiones de manera más precisa, por lo que la medición de la compacidad será importante en este procedimiento. Con el fin de que la compacidad muestre realmente cómo de ajustados están los bordes de un objeto a su recuadro, se procede al relleno de los posibles huecos presentes en los objetos. Además, se eliminan los conjuntos de píxeles conectados entre sí que tengan un área pequeña, por la posibilidad de tratarse de ruido. Una vez realizados estos pasos previos, se buscan los objetos presentes en la imagen, y se calculan características de los mismos, tales como las dimensiones del recuadro limitador o el grado de compacidad. Dado que en los bordes de la imagen pueden existir objetos incompletos cuyas dimensiones falsearían los resultados, no son considerados los que tengan un recuadro limitador en los bordes de la imagen.
36 36 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Ilustración 14. Objetos encontrados en la imagen, que no pertenecen al borde, con su recuadro limitador. Como se ha explicado anteriormente, proporcionan una información más fiable aquellos rectángulos cuya compacidad sea mayor. Es por ello que se ordenan los objetos según su compacidad en orden descendente, y se eligen los cinco mejores. Para tales objetos elegidos, se calcula el cociente entre la base y la altura de su recuadro limitador, como una medida descriptora de los mismos. Si este ratio en algún paralelogramo dista una cierta cantidad del valor mediana, será descartado. Así mismo, si por alguna razón la compacidad del objeto más ajustado y la de algún otro objeto elegido están relativamente alejadas, este último es también descartado. La ilustración 15 muestra los cinco objetos con forma de paralelogramo elegidos por tener los mayores valores de compacidad. Al tratarse de rectángulos muy parecidos entre ellos en cuanto a relación base/altura y compacidad, ninguno ha sido descartado. El promedio de la base, por un lado, y la altura, por otro, de dichos rectángulos será una medida del recuadro limitador medio de los rectángulos presentes en el patrón (tras la rotación y shearing). Ilustración 15. Paralelogramos elegidos para promediar sus dimensiones.
37 37 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Con el propósito de determinar las medidas de los lados de los romboides que definen el patrón, se toma el rectángulo medio anteriormente determinado. Denominando lado “positivo” y “negativo” a los lados de los romboides que aparecen en el patrón con una inclinación ascendiente y descendiente, respectivamente, respecto a la horizontal; éstos pueden hallarse de la siguiente manera. La longitud del lado negativo coincide con la base del rectángulo medio. Por otra parte, si se crea una imagen cuyo único objeto sea un rectángulo con las dimensiones medias calculadas, y se le aplica un shearing horizontal con un valor 𝐵𝑥 igual al inicial pero de signo opuesto, se tiene un romboide cuyas dimensiones promedian las de los romboides del patrón del lienzo. La longitud del lado positivo queda determinada por la diferencia entre la mitad del perímetro de este objeto y la longitud del lado negativo, previamente calculado. En este caso concreto, se obtiene un lado negativo medio de 104.2 píxeles y un lado positivo medio de 109.1848 píxeles. El paso de píxeles a centímetros es trivial, pues conociendo la resolución de 𝑝í𝑥𝑒𝑙𝑒𝑠/𝑐𝑚 de la imagen este cálculo es inmediato. Ilustración 16. Romboide medio rotado y su recuadro limitador. Por lo tanto, unas transformaciones affine opuestas en el orden inverso a las realizadas al principio a la imagen del patrón de líneas, permiten convertir el rectángulo medio en un romboide con los ángulos adecuados. Rotando el romboide de la ilustración 16 con un ángulo igual pero de signo opuesto al inicialmente usado, se tiene el romboide medio en la misma orientación que en la imagen original. Ilustración 17. Romboide medio calculado superpuesto al patrón del lienzo.
38 38 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 4.5 Ancho de las líneas En esta parte del algoritmo se busca determinar la separación entre romboides, es decir, el ancho de las líneas que los separan. Para ello, se hace uso de la cuadrícula obtenida en un paso previo (ilustración 11, derecha), donde se seleccionaron las líneas más relevantes encontradas que pertenecen al patrón mediante la Transformada Hough. Como esta red se encuentra centrada en las líneas entre romboides, ofrece información acerca de la distancia entre los mismos. El procedimiento seguido está inspirado en el anterior paso del algoritmo. Se comienza rotando la cuadrícula y aplicándole un shearing horizontal de la misma manera que se hizo en el cálculo de las dimensiones de los paralelogramos. A continuación, se invierte la imagen, para que las líneas pertenezcan al fondo y los objetos sean los paralelogramos entre ellas. Como el objeto que contacta con los bordes realmente no es un paralelogramo, sino que es parte del fondo, éste es convertido a negro. De nuevo, siguiendo el método anterior, se encuentran los objetos presentes en esta imagen binaria y su cuadro limitador, que estará bien ajustado a los bordes por el hecho de haber transformado la imagen. Se ordenan de mayor a menor compacidad, descartando los últimos en esta ordenación. Dado que la cuadrícula que se obtuvo no estaba completa, es probable que existan rectángulos que no ofrezcan información acerca de la dimensión real ente romboides, por exceso. Se eligen, por tanto, aquellos objetos cuyo recuadro limitador tengan parecido tamaño dentro de un margen al rectángulo medio determinado en el paso anterior, pero no sean menores. El promedio de la base del recuadro limitador de todos estos rectángulos así como de la altura, da información acerca de la distancia media entre romboides. Ilustración 18. Cuadrícula de líneas transformada. Selección de los rectángulos para promediar. Igualmente, un shearing opuesto al inicial sobre el rectángulo medio de la cuadrícula ofrece un romboide medio. A partir del cual, haciendo uso de las dimensiones de este rectángulo y romboide medios, y siguiendo los cálculos anteriormente detallados, se extraen las longitudes de los lados positivo y negativo del romboide. En adelante, se emplea el adjetivo externo para referir este romboide, el cual está limitado por la intersección de las líneas encontradas mediante la Transformada Hough. Véase la ilustración 19, en la que se muestra en negro una representación de los romboides del patrón caracterizados en el paso anterior del algoritmo, denotados como romboides internos. Las líneas azules centradas en la separación entre ellos dan lugar a romboides externos cuyas dimensiones son las que se determinan en este paso.
39 39 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Ilustración 19. Esquema de romboides pertenecientes al patrón del lienzo. En azul están representadas las líneas centradas en la separación entre ellos. Con esta información ya es posible el cómputo del ancho de las líneas entre los romboides presentes en el patrón de la tela de la obra de arte (romboides internos). Las líneas con pendiente negativa tienen un ancho igual a la diferencia entre los lados positivos del romboide externo e interno, mientras que el ancho de las líneas con pendiente positiva se determina restando los lados negativos del romboide externo e interno. En el caso de la obra inicial, a simple vista puede observarse que ambas líneas tienen dimensiones muy similares. De este método, resulta un ancho medio de las líneas con pendiente positiva de 17.1333 píxeles, y de 17.6951 píxeles para las líneas de pendiente negativa. Estos datos corroboran un correcto funcionamiento del procedimiento empleado. 4.6 Red inherente al patrón Finalmente, tras la caracterización del patrón extraído del lienzo de la obra de arte, se puede superponer a la imagen original una cuadrícula de líneas o red que separe los romboides. Para ello, se dibujan las dos líneas principales encontradas mediante la Transformada Hough extendiendo sus extremos para que cubran la totalidad de la imagen. También se dibujan líneas paralelas a estas, resultado de desplazar el romboide externo medio calculado hasta formar una red. Ilustración 20. Superposición de una cuadrícula que describe el patrón sobre la imagen original (izquierda) y sobre el patrón encontrado (derecha).
40 40 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X En la ilustración 20 se muestra esta red de líneas superpuesta tanto sobre la imagen original como sobre el patrón obtenido. Dado que el patrón subyacente en la tela no es perfecto, y como se ha determinado un romboide externo medio, a medida se extiende esta red de líneas se puede comprobar cómo existen zonas donde no encaja perfectamente con la imagen de fondo. Si una hilera de romboides tiene un tamaño ligeramente distinto al medio, o una línea entre ellos es más ancha o más estrecha que la media, afectaría a la inadecuada superposición del resto de la cuadrícula, lo que ocurre en este caso. Concretamente, con esta imagen se tienen uniones de distintas placas que provocan dicho desencaje. No obstante, es importante destacar que en la parte de la imagen donde aún no hay unión de placas sí que se aprecia una superposición muy precisa, validando el romboide externo medio determinado.
41 41 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 5 MEJORAS omo se ha indicado previamente, el algoritmo se ha diseñado inicialmente para que consiga un buen resultado con la imagen inicial, cuyo patrón presenta una marcada red de romboides. A continuación se explican las mejoras realizadas al algoritmo original para que trabaje también adecuadamente con otras imágenes cuyo patrón no coincide con el anterior. 5.1 Información de fiabilidad en la huella dactilar Una de las salidas de la función que determina la orientación de la vecindad local a cada píxel es precisamente la imagen “orientación”, en la que cada píxel queda descrito por un ángulo. Sin embargo, como se indicó en la sección que explica este paso, también se ofrece una imagen “fiabilidad”. Tal como indica su nombre, esta imagen ofrece un valor para cada píxel de la riqueza o pobreza en el cálculo de la orientación. Haciendo uso de esta última imagen, se puede extraer una segunda imagen resultado de multiplicar la imagen binaria salida del algoritmo de huella dactilar por la imagen fiabilidad umbralizada. De esta forma, en los píxeles cuya fiabilidad es reducida, no se muestran los surcos orientados, por su baja calidad en el cálculo de los mismos. La ilustración 21 es un ejemplo de las dos imágenes extraídas del algoritmo de huella dactilar, para el caso de otra obra distinta a la pintura inicial. Con esta obra se obtiene una segunda imagen binaria (que hace uso de la fiabilidad) en la cual ya se observa el patrón de la tela. Sin embargo, no ocurre lo mismo con todas las telas analizadas. Para esta obra en concreto, es necesario este procesamiento de la huella dactilar, ya que el método propuesto sin esta parte no ofrecía grandes resultados. Ilustración 21. Izquierda: Imagen binaria de la huella dactilar. Derecha: Zonas de la imagen anterior donde el cálculo de la orientación es fiable. C
48 48 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X sido modificada (explicada en la sección 4.4). En concreto, tras la detección de los objetos presentes en la imagen a la cual se ha aplicado una rotación y un shearing horizontal, se emplea un algoritmo de clustering que permita agrupar los rectángulos en dos clases según su área. Para ello, es necesario extraer esta característica previamente. El análisis por clustering agrupa los objetos en clases o clusters, de modo que los objetos de un cluster se parecen más entre ellos que en relación a objetos de otro cluster. Se trata de un algoritmo no supervisado, por no utilizar información externa para dicho agrupamiento. Uno de los algoritmos más utilizados es el conocido como K-means, el cual pretende encontrar 𝐾 grupos no solapados en los datos. Este número de clusters lo fija previamente el usuario. El algoritmo representa cada cluster por su centroide, esto es, la media de los datos que pertenecen a dicho cluster. Inicialmente se eligen unos centroides de partida y se asigna cada punto de los datos al centroide más cercano, formando un cluster este conjunto de puntos asociados a un determinado centroide. El algoritmo continúa recalculando los centroides de cada cluster y nuevamente asignando datos a cada centroide nuevo. De forma iterativa se repite el proceso hasta que no haya cambios en las clases asignadas a cada punto. El motivo de la elección de este algoritmo es su simpleza, eficiencia y robustez [19]. Mediante un análisis de clustering como el anterior, se agrupan los objetos en dos clases según su área (se establece 𝐾 =2). Con la clase de objetos más pequeños existe la posibilidad de que éstos sean consecuencia del ruido en la obtención del patrón, dando lugar a objetos de área pequeña y diferentes formas. Para detectar este hecho, se determina la varianza de la relación base/altura de todos ellos. Si este valor es superior a un umbral o bien si existen muy pocos objetos pertenecientes a esta clase, se asume que los mismos no son realmente una clase de objetos con información relevante, sino que pueden ser consecuencia del ruido. En dicho caso, a los objetos identificados inicialmente como la clase de mayor área se le vuelve a aplicar un algoritmo K-means dividiéndolos en dos nuevas clases. Para ambos grupos de objetos (rectángulos), se procesan como se hizo en la sección 4.4 del algoritmo desarrollado, en la cual se escogían los cinco objetos más compactos. Entre estos se elegían nuevamente aquellos cuyas relaciones base/altura y compacidad no se alejasen mucho del resto. Es posible aquí que la dispersión entre los objetos sea tal que quede vacía una clase tras descartar todos. Puede ocurrir en la clase de mayor área si agrupa muy pocos objetos y muy distintos entre sí, lo que daría un resultado pobre en el promediado de las dimensiones. En tal caso, se afirma que sólo existe una clase de objetos, indicándose con una variable binaria. También es posible que realmente el patrón sólo presente un tipo de romboides, por lo cual ambas clases se fusionarían en una sola. La detección de este hecho se realiza mediante una comparación de la base y altura medias del recuadro limitador de los objetos elegidos como más representativos de cada cluster. Si las dimensiones son muy parecidas también se indica que sólo existe un tipo de romboides, el promedio de los dos encontrados. De esta manera, el algoritmo de K-means ejecutado con 𝐾 =2 permite una detección automática de los romboides de diferentes tamaños de la imagen (hasta 2 tamaños por diseño), pudiéndose finalmente concluir si la tela presenta objetos de 1 ó 2 tamaños considerablemente distintos. Queda la opción de añadir un número mayor de clusters en posibles mejoras futuras del algoritmo. El resto de esta parte del algoritmo es similar a la explicada en la sección correspondiente: se calcula la media de las dimensiones de cada clase y transformando cada rectángulo en un romboide según se indicó, se calculan las longitudes de los lados positivos y negativos de los mencionados romboides.
49 49 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X Ilustración 27. Izquierda: En amarillo, los objetos que pertenecen a la clase de menor área y en azul los objetos de la clase de mayor área. Derecha: En rojo, los objetos de la clase menor seleccionados para promediar sus dimensiones. En verde, el objeto de la clase mayor elegido. 5.6 Consecuencias de paralelogramos de gran tamaño En la parte del algoritmo que tiene como fin determinar la separación entre romboides o el ancho de las líneas que los separan (sección 4.5), debe considerarse la posibilidad de que existan dos tamaños de romboides, como se ha indicado antes. Se emplea la variable binaria que indica si sólo existe un tamaño de romboides o puede haber dos tipos. Se parte de la red de líneas obtenida mediante la Transformada Hough, la cual ha sido formada a partir de las líneas encontradas de mayor longitud. Por tanto, los romboides externos que se pudiesen calcular a partir de la misma darían información de la separación entre los romboides de mayor tamaño que muestra el patrón. No obstante, para el dimensionado de los romboides externos, de la red de líneas ya transformada para que presente ortogonalidad entre ellas, se escogen aquellos objetos con parecido tamaño al rectángulo medio asociado a ambas clases. Se comprueba que efectivamente los objetos de la cuadrícula de líneas tienen un tamaño más cercano a la clase de mayor área. En esta situación, se estaría calculando la separación entre los romboides mayores de la imagen. Es posible que los romboides mayores cubran zonas muy extensas de la imagen, de manera que sólo aparezcan dos o tres de ellos a lo largo de la misma. Esta circunstancia, unida a que las dimensiones de los mencionados romboides no son exactamente iguales entre sí, da lugar a un romboide interno medio (obtenido en el paso anterior del algoritmo – secciones 4.4 y 5.5) que puede tener dimensiones parecidas pero incluso algo mayores a las del romboide externo medio extraído en esta parte del algoritmo (de la red de líneas que aportaba la Transformada Hough – sección 4.5). Es por ello, que la aparición de paralelogramos de gran tamaño respecto a las dimensiones de la imagen puede dar lugar a la imposibilidad del cálculo del ancho de las líneas entre ellos. Si esto ocurre, se permite al algoritmo elegir, dentro de la cuadrícula de líneas ortogonales, objetos con menor tamaño pero parecido a los rectángulos medios asociados a las clases encontradas. En este caso, los romboides denotados previamente como externo e interno, tienen dimensiones similares. Aunque no se pueda especificar la separación entre paralelogramos, se puede precisar mejor el tamaño del romboide externo medio, promediando las dimensiones de dichos romboides externos e internos. La ilustración 27 es un ejemplo de este caso, en el cual sólo se ha escogido un romboide de gran tamaño como romboide interno representativo. Si el romboide externo medio tuviese en consideración los distintos romboides mayores que aparecen en la imagen, con sus diferencias de dimensiones, el ancho de la línea podría no identificarse.
50 50 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
51 51 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 6 RESULTADOS n este capítulo se muestran los resultados obtenidos con distintas telas, tanto las imágenes del patrón encontrado como las medidas y descripciones realizadas. Aunque el algoritmo permite mostrar imágenes de los pasos intermedios, como algunas de las incluidas en las secciones anteriores de este trabajo, aquí en concreto se van a presentar las siguientes imágenes: Imagen del patrón encontrado. Imagen de la huella dactilar asociada a dicho patrón (procesada adecuadamente). Superposición de la red de líneas inherente al patrón sobre la imagen original y sobre el mismo patrón. También se ofrece información sobre los siguientes descriptores: Orientación de los hilos que pertenecen a zonas de mayor extensión del patrón. Ángulos, medidos en grados, de las dos direcciones principales que presenta la textura de la tela. Ángulos inferior y lateral, medidos en grados, del romboide medio del patrón, denotado como romboide interno. Si hubiese distintas clases de tamaños de romboides, estos datos corresponden a los romboides de mayor área. Suele ocurrir con las imágenes estudiadas que los romboides de menor tamaño tienen ángulos similares. Número de tipos de romboides identificados según su tamaño, uno o dos. Longitud, en centímetros o milímetros, de los lados del romboide medio (o romboides, si hay de dos tamaños) del patrón: o Lado cuya pendiente es positiva, denotado como lado positivo. o Lado cuya pendiente es negativa, denotado como lado negativo. Si es posible determinarlo, ancho de las líneas del patrón (que separan romboides), tanto las líneas de pendiente positiva como negativa. 6.1 Imagen 1 La primera imagen analizada corresponde a la obra para la cual se ha diseñado el algoritmo. A continuación se muestra un trozo de la imagen original y los resultados obtenidos. E
52 52 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 6.1.1 Resultados en imágenes 6.1.1.1 Trozo de la imagen original Ilustración 28. Imagen 1: Fragmento de la imagen original del cuadro. 6.1.1.2 Patrón y su huella dactilar asociada Ilustración 29. Imagen 1: Patrón y huella dactilar asociada. 6.1.1.3 Red de líneas Ilustración 30. Imagen 1: Red de líneas superpuesta a la imagen original y al patrón.
53 53 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 6.1.2 Resultados en descriptores Hilos pertenecientes a las zonas de romboides en horizontal. Ángulos de las direcciones principales del patrón: 44.9568° y −52.0155°. Ángulo inferior del romboide medio: 83.0277°. Ángulo lateral del romboide medio: 96.9723°. Sólo existe un tipo de romboides según su tamaño. Longitud del lado positivo del romboide: 9.244 𝑚𝑚. Longitud del lado negativo del romboide: 8.822 𝑚𝑚. Ancho de las líneas entre romboides con pendiente positiva: 1.451 𝑚𝑚. Ancho de las líneas entre romboides con pendiente negativa: 1.498 𝑚𝑚. 6.2 Imagen 2 En la segunda imagen puede observarse un patrón de líneas cuyas intersecciones dan origen a romboides de dos tamaños distintos. 6.2.1 Resultados en imágenes 6.2.1.1 Trozo de la imagen original [Imagen no mostrada por motivos de confidencialidad de datos] Ilustración 31. Imagen 2: Fragmento de la imagen original del cuadro.
54 54 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 6.2.1.2 Patrón y su huella dactilar asociada Ilustración 31. Imagen 2: Patrón y huella dactilar asociada.
55 55 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 6.2.1.3 Red de líneas Ilustración 32. Imagen 2: Red de líneas superpuesta a la imagen original y al patrón. 6.2.2 Resultados en descriptores Hilos pertenecientes a las zonas de romboides en vertical. Ángulos de las direcciones principales del patrón: 33.0346° y −37.0068°. Ángulo inferior del romboide mayor medio: 109.9586°. Ángulo lateral del romboide mayor medio: 70.0414°. Existen dos tamaños de romboides. Longitud del lado positivo del romboide mayor: 2.6168 𝑐𝑚. Longitud del lado negativo del romboide mayor: 2.7900 𝑐𝑚. Longitud del lado positivo del romboide menor: 4.646 𝑚𝑚. Longitud del lado negativo del romboide menor: 4.560 𝑚𝑚. No es posible determinar con exactitud el ancho de la línea por razones ya comentadas previamente (promediado de distintos romboides a lo largo de la imagen cuyas dimensiones difieren).
56 56 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 6.3 Imagen 3 En la imagen siguiente, se ha escogido un trozo en el que se observa un patrón más complejo que los anteriormente analizados. Aunque una zona de la imagen (la esquina superior derecha) contiene demasiados restos de pintura que cubren la tela, el resto de la imagen es adecuado para su caracterización. 6.3.1 Resultados en imágenes 6.3.1.1 Trozo de la imagen original [Imagen no mostrada por motivos de confidencialidad de datos] Ilustración 33. Imagen 3: Fragmento de la imagen original del cuadro. 6.3.1.2 Patrón y su huella dactilar asociada Ilustración 34. Imagen 3: Patrón y huella dactilar asociada. En el caso de esta obra, se ha sumado la erosión de la imagen binaria huella dactilar en varias direcciones. En concreto, partiendo de que el área cubierta por la erosión en dirección vertical es menor que la erosión en horizontal, se considera que los surcos horizontales contienen información de las zonas mayores, quedando los detalles (las líneas del patrón) definidas por surcos verticales. Para este lienzo se ha conseguido un patrón mejor definido sumando las imágenes resultados de la erosión en todas las direcciones excepto la de los detalles (direcciones horizontal y diagonales 45° y −45°). Puede observarse que la huella dactilar de la ilustracion 34 (derecha) muestra surcos en distintas direcciones.
57 57 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 6.3.1.3 Red de líneas Ilustración 35. Imagen 3: Red de líneas superpuesta a la imagen original y al patrón. 6.3.2 Resultados en descriptores Hilos pertenecientes a las líneas del patrón en dirección vertical. Hilos de las zonas entre líneas del patrón principalmente en horizontal. Ángulos de las direcciones principales del patrón: 54.0114° y −52.9935°. Ángulo inferior del romboide mayor medio: 72.9951°. Ángulo lateral del romboide mayor medio: 107.0049°. Existen dos tamaños de romboides. Longitud del lado positivo del romboide mayor: 11.2762 𝑐𝑚. Longitud del lado negativo del romboide mayor: 10.3539 𝑐𝑚. Longitud del lado positivo del romboide menor: 1.2135 𝑐𝑚. Longitud del lado negativo del romboide menor: 1.0532 𝑐𝑚. El algoritmo no establece el ancho de las líneas. Aquí el algoritmo, el cual ha sido diseñado para reconocer hasta dos tamaños de romboides, encuentra como clase de romboides mayores aquellos delimitados por la red de líneas dibujadas sobre la imagen (ilustración 36). En cuanto a la clase menor, reconoce los más pequeños romboides que aparecen en las intersecciones de las líneas y en la parte inferior de la imagen. Nótese que, como se ha explicado en la sección 4.4, una vez invertida la imagen del patrón, se han rellenado los huecos presentes en los objetos para que la compacidad indique el
64 64 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X
65 65 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 7 CONCLUSIONES l trabajo que se ha realizado partía de un objetivo nada trivial, como es la extracción y caracterización del patrón o dibujo mostrado en el lienzo de obras de arte, formado por el entrelazado de los hilos. Aquí se identifican diversas dificultades, como la falta de limpieza del tejido que se pretende analizar, dado que está cubierto por pintura y aparece en la imagen de rayos X. De ahí la importancia de la selección inicial del fragmento que se va a analizar, tratando de escoger zonas lo más homogéneas posibles y con pocas marcas visibles de pintura que pudiesen afectar al correcto funcionamiento del algoritmo. Además, la imagen de partida debe tener una buena resolución para que el análisis alcance un considerable nivel de detalle, ofreciendo el mejor resultado posible. Por otra parte, aunque a simple vista pueda parecer evidente, la extracción del patrón mediante técnicas automáticas de análisis de imagen es una difícil tarea. Hasta encontrar un método que permitiese alcanzar dicho objetivo, se dedicó tiempo a la realización de experimentos de diverso tipo sin llegar a un buen resultado, tales como la segmentación mediante descriptores de textura o el análisis MCA. Sin embargo, en relación al primer caso, el lienzo muestra una textura muy homogénea a lo largo de la imagen, lo que realmente cambia es la orientación de dicha textura. Y un Análisis de Componentes Morfológicas, además de ser muy costoso computacionalmente, ofrecía como resultado una separación pobre entre la baja y alta frecuencia de la imagen. Pero no permitía una clara segmentación de las distintas zonas de la imagen. Es por ello que fueron descartados. Adicionalmente, otra dificultad añadida es el desconocimiento a priori de los patrones que pueden aparecer en las telas de las obras de arte. Esta incertidumbre dificulta una caracterización completa de los mismos. En este trabajo, se ha escogido una primitiva presente en los dibujos mostrados en los lienzos, como es el paralelogramo, y se ha establecido como fin encontrarlo en la imagen y describirlo. Sin embargo, no todos los lienzos muestran esta primitiva, reduciéndose en este caso su caracterización a la detección de las direcciones principales de la orientación de la textura. El algoritmo ha sufrido una evolución desde su primera versión, en la que se observa este hecho de desconocimiento del posible patrón encontrado. Los refinamientos y mejoras que se han realizado son fruto del análisis y estudio de distintas imágenes. Queda abierta la posibilidad de seguir completando el algoritmo con nuevas primitivas o características de distintas obras de arte no analizadas aquí. Siguiendo con los inconvenientes identificados, en las obras analizadas que presentan patrones lineales puede apreciarse que lo que en principio pueden parecer líneas rectas y paralelas, realmente no lo son. Existen pequeñas desviaciones en la dirección de una misma línea que impiden que pueda considerarse como recta. Así mismo aparece este hecho entre líneas con ángulos muy parecidos pero que no llegan a ser paralelas. Esta circunstancia se debe a que las telas no son perfectas, y complica en gran medida la parte de caracterización del patrón encontrado. Un punto a favor del algoritmo desarrollado es el siguiente. La imagen binaria que muestra el patrón encontrado no es perfecta, presentado zonas en las que no está bien delimitado el patrón por distintas razones, tales como la ocultación del entramado de hilos por la pintura o la dificultad de conseguir una imagen compacta a partir de líneas o surcos de huella dactilar. Sin embargo, la caracterización y descripción realizada es suficientemente amplia como para completar esta imagen resultado y permitir, si se quisiese, crear una estructura primitiva patrón que se ajustase muy bien a la descripción del algoritmo. Cabe destacar que el diseño del algoritmo es una parte importante del trabajo realizado. A diferencia de la posibilidad de seguir las pautas indicadas en algún artículo científico y simplemente implementarlas, aquí se ha elaborado un método propio. La parte inicial, que consiste en el algoritmo de huella dactilar, sí hace uso de código elaborado por distintos autores. Sin embargo, el tratamiento posterior de la imagen salida de dicho método para obtener el patrón, y el resto del algoritmo que lo caracteriza y describe, no está inspirado en ninguna propuesta ajena. E
66 66 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X También se debe mencionar que este método no es adecuado para todo tipo de lienzos de obras de arte. De hecho, sólo en algunos es posible encontrar patrones complejos como los que aquí se analizan. En la mayoría de las telas se pueden detectar estructuras primitivas periódicas que las clasifican en un tipo (tafetán, telas asargadas o satinadas, etc.) pero, como se indicó en los objetivos iniciales, aquí se analizan telas que presentan la composición de distintos patrones básicos. Así mismo, es destacable la pretensión inicial de que el algoritmo no esté ajustado a una sola imagen, sino que sea válido para distintas telas. La variación entre las imágenes se contrapone con la búsqueda de parámetros fijados. Si bien se podría adaptar el método para que el resultado con una sola imagen sea óptimo, esto impediría que funcionase de igual manera con otras imágenes de entrada. Por lo tanto, se ha buscado un equilibrio que permitiese buenos resultados con distintas obras de arte. La única excepción para que el algoritmo sea completamente automático, como entraba en los objetivos iniciales, es la opción que se le ofrece al usuario de elegir entre distintos patrones, obtenidos del empleo de métodos diferentes. Pero la selección de los parámetros y la caracterización posterior son completamente automáticos. Finalmente, se puede afirmar que se han alcanzado los objetivos propuestos inicialmente, en los cuales se parte de una imagen de rayos X del lienzo de una pintura y, mediante técnicas de tratamiento de imagen y reconocimiento de patrones, se extrae el dibujo complejo formado por el entrelazado de los hilos y se describe el mismo. En los resultados mostrados, la red de líneas encontrada se superpone muy fielmente al patrón que presenta el lienzo. Así mismo, los ángulos y las medidas realizadas toman un valor razonable que son coherentes con la observación de la tela y huella dactilar. Esto confirma el adecuado funcionamiento del método diseñado.
67 67 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X REFERENCIAS 1. Pattern Recognition and Image Processing. Fu, King-Sun y Rosenfeld, Azriel. 12, s.l. : IEEE Transactions on Computers, 1976, Vols. C-25. 2. Modeling of woven fabric structures based on Fourier image analysis. Escofet, Jaume, Millán, María S. y Rallo, Miquel. 34, 2001, Applied Optics, Vol. 40. 3. Intelligent computerized fabric texture recognition system by using Grey-based neural fuzzy clustering. Su, Te-Li, Chang, Le-Shin y Kung, Fu-Chen. 2009. 2009 International Conference on Wavelet Analysis and Pattern Recognition. 4. Density detection for knitted fabric based on image space domain method. Xiaochao, Zhang, Ping, Li y Fujiang, Jin. 2015. The 27th Chinese Control and Decision Conference (2015 CCDC). 5. Fabric Texture Analysis Using Computer Vision Techniques. Wang, Xin, Georganas, Nicolas D. y Petriu, Emil M. 1, 2011, IEEE Transactions on Instrumentation and Measurement, Vol. 60. 6. Cartoon and Texture Decomposition based Color Transfer for Fabric Images. Han, Yu, y otros. 99, 2016, IEEE Transactions on Multimedia, Vol. PP. 7. Patterned Fabric Inspection and Visualization by the Method of Image Decomposition. Ng, Michael K., y otros. 3, 2014, IEEE Transactions on Automation Science and Engineering, Vol. 11. 8. Morphological Component Analysis: An Adaptive Thresholding Strategy. Bobin, JÉrÔme, y otros. 11, 2007, IEEE Transactions on Image Processing, Vol. 16. 9. Starck, Jean-Luc, Murtagh, Fionn y Fadili, Jalal M. Sparse Image and Signal Processing: Wavelets, Curvelets, Morphological Diversity. s.l. : Cambridge University Press, 2010. 978-0-521- 11913-9. 10. Kovesi, Peter. MATLAB and Octave Functions for Computer Vision and Image Processing. [En línea] [Citado el: 5 de Julio de 2016.] http://www.peterkovesi.com/matlabfns/#fingerprints. 11. Fingerprint image enhancement: algorithm and performance evaluation. Hong, Lin, Wan, Yifei y Jain, A. 8, 1998, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 20. 12. Radon Transform Orientation Estimation for Rotation Invariant Texture Analysis. Jafari- Khouzani, Kourosh y Soltanian-Zadeh, Hamid. 6, 2005, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 27. 13. Orientation estimation: Conventional techniques and a new non-differential approach. Mester, Rudolf. 2000. Signal Processing Conference, 2000 10th European. 14. Target orientation estimation using Fourier energy spectrum. Chandra, D. V. S. 3, 1998, IEEE Transactions on Aerospace and Electronic Systems, Vol. 34. 15. Palm Print Recognition Using Hough Transforms. Ray, Kasturika B. y Misra, Rachita. 2015. 2015 International Conference on Computational Intelligence and Communication Networks (CICN). 16. Klette, Reinhard. Concise Computer Vision. An Introduction into Theory and Algorithms. s.l. : Springer, 2014. 17. The MathWorks, Inc. MathWorks . Documentation. hough. [En línea] [Citado el: 3 de Noviembre de 2016.] https://es.mathworks.com/help/images/ref/hough.html.
68 68 Extracción de patrones en telas de cuadros del siglo XVII a partir de placas de rayos X 18. Moeslund, Thomas B. Introduction to Video and Image Processing. Building Real Systems and Applications. s.l. : Springer, 2012. 19. Wu, Junjie. Advances in K-means Clustering: A Data Mining Thinking. Berlin : Springer, 2012.