´
Indice General
1 Caracter´ısticas empleadas en la similitud de im´agenes 1
1.1 Introducci´on . . . 1
1.2 Procesamiento de im´agenes en color . . . 1
1.2.1 Fundamentos del color . . . 2
1.2.2 Modelos de Color . . . 5
1.2.3 El color como caracter´ıstica para la recuperaci´on de informaci´on visual . . . 8
1.3 Texturas . . . 9
1.3.1 M´etodos Estad´ısticos . . . 10
1.4 Forma . . . 11
2 Wavelets 14 2.1 Introducci´on . . . 14
2.2 Funci´on base . . . 14
2.3 Series de funciones . . . 15
2.4 An´alisis de Fourier . . . 15
2.4.1 Transformada de Fourier . . . 16
2.4.2 Transformada discreta de Fourier . . . 16
2.5 Wavelets . . . 16
2.5.1 La transformada discreta wavelet . . . 17
2.5.2 Escalamiento . . . 18
2.5.3 Corrimiento . . . 19
2.5.4 Multi-resoluci´on . . . 20
2.5.5 Funci´on de Haar . . . 21
2.5.6 Funci´on Daubechies . . . 21
2.5.7 Similitudes entre la transformada de Fourier y la trans-formada Wavelet . . . 24
2.6 Aplicaci´on de la Transformada Wavelet . . . 25
2.6.1 Transformada wavelet en se˜nales de 2 dimensiones . . 27
2.6.2 Compresi´on de datos utilizando Transformada Wavelet 29 3 Recuperaci´on de im´agenes 36 3.1 Introducci´on . . . 36
3.2 Sistema de recuperaci´on de informaci´on visual . . . 36
3.3 Algoritmo de recuperaci´on de informaci´on visual . . . 42
4 Medidas de similitud 44 4.1 Introducci´on . . . 44
4.2 M´etricas . . . 44
4.2.1 NormaLp . . . 45
4.3 Uso de cuantizaci´on . . . 45
4.4 Uso de pesos por niveles de resoluci´on . . . 46
4.4.1 Usando la funci´on Haar . . . 46
4.4.2 Usando la funci´on Daub4 . . . 49
4.5 Redes Neuronales . . . 51
4.5.1 Usando la funci´on Haar . . . 57
4.5.2 Usando la funci´on Daub4 . . . 57
5 An´alisis de resultados y Conclusiones 59 5.1 Introducci´on . . . 59
5.2 An´alisis de resultados . . . 59
5.3 Conclusiones . . . 70
6 Trabajos futuros y detalles de la implementaci´on 71 6.1 Trabajos futuros . . . 71
6.2 Detalles de la implementaci´on . . . 71
Ap´endice A 72
Anexo I 76
´
Indice de Figuras
1 Elementos de an´alisis de las im´agenes . . . VI 1.1 Espectro de color que se obtiene cuando un haz de luz blanca
pasa a trav´es de un prisma ´optico. . . 2
1.2 Secci´on del espectro de energ´ıa electromagn´etica en la que se muestra el rango de longitud de onda que abarca el espectro visible. . . 2
1.3 Diagrama de cromaticidad. . . 4
1.4 Mezcla de luz(Adici´on de los colores primarios). . . 4
1.5 Modelo de color RGB . . . 5
1.6 Descomposici´on YIQ . . . 7
1.7 Modelo de color RBG . . . 8
1.8 Ejemplos de im´agenes de texturas . . . 9
1.9 Imagen . . . 10
1.10 Matriz de co-ocurrencia . . . 10
1.11 Diferentes patrones de la letra A . . . 12
2.1 Funci´on Daubechies . . . 17
2.2 Funci´on Haar . . . 21
2.3 Filtros usando la funci´on Haar . . . 22
2.4 Filtros usando la funci´on Daub4 . . . 23
2.5 Ejemplo de las funciones Daub4 y Daub20 . . . 23
2.6 An´alisis de Fourier . . . 24
2.7 An´alisis wavelet . . . 25
2.8 Descomposici´on de una imagen en 2 niveles de resoluci´on . . 28
2.9 Descomposici´on de una imagen en 4 niveles de resoluci´on . . 28
2.10 Descomposici´on de una imagen en 4 niveles de resoluci´on . . 29
2.12 Ejemplo de aplicar la transformada inversa usando la funci´on
Haar . . . 31
2.13 Imagen original . . . 33
2.14 Compresi´on usando la funci´on base Haar . . . 34
2.15 Compresi´on usando la funci´on base Daub4 . . . 35
3.1 Sistema de recuperaci´on de informaci´on . . . 38
3.2 Sistema de recuperaci´on de informaci´on . . . 41
3.3 Se muestra los diferentes niveles de resoluci´on en los que se analiza a una imagen despu´es de que se aplica la transformada wavelet . . . 41
4.1 Se muestran los niveles de resoluci´on en los que se est´a anal-izando a la imagen y como se est´a calculando la medida de similitud. . . 47
4.2 Se muestran los niveles de resoluci´on en los que se esta anal-izando a la imagen y como se esta calculando la medida de similitud . . . 50
4.3 Modelo de neurona artificial . . . 52
4.4 Ejemplos de clases linealmente separables y linealmente no separables . . . 53
4.5 Perceptr´on . . . 53
4.6 Red backpropagation . . . 54
4.7 Funci´on Sigmoide . . . 55
5.1 Comportamiento de las 4 distancias de similitud, usando la funci´on Haar . . . 62
5.2 Comportamiento de las 4 medidas de similitud, usando la funci´on Daub4 . . . 63
Introducci´
on
En los ´ultimos a˜nos se ha incrementado r´apidamente el tama˜no de las colec-ciones de im´agenes digitales, por lo que la actividad del ´area de recuperaci´on de informaci´on visual se ha incrementado tambi´en. Desde 1970, el mayor trabajo se investigaci´on se di´o en las comunidades de manejo de bases de datos y en visi´on por computadora, cada una de estas comunidades estudi-aba la recuperaci´on de informaci´on desde su propia perspectiva, la primera basada en texto y la segunda basada en im´agenes. En la representaci´on de im´agenes basada en textos se hac´ıa anotaciones a cada una de las im´agenes, estas anotaciones hacen referencia a la cantidad de objetos que conten´ıa una imagen, y algunos sistemas que trabajaron bajo este enfoque se encuentran en [13,14,36]. Sin embargo hacer anotaciones a las im´agenes presenta la desventaja de que en una imagen puede encontrarse muchos objetos, lo cual la hace dif´ıcil de describir con exactitud. Otro factor es que la percepci´on humana es subjetiva, es decir que una misma imagen puede ser vista de man-era diferente por dos personas, de esta forma las anotaciones que se hacen a una imagen pueden ser imprecisas y esto puede llevar a que al momento de hacer la recuperaci´on de informaci´on se recuperen im´agenes que no tienen similitud1 con la imagen de consulta Q. En los 90’s el tama˜no de las bases de datos crec´ıa a gran escala y hacer anotaciones a cada una de las im´agenes que forma parte de la base de im´agenes resultaba casi imposible, por lo que se propuso realizar la recuperaci´on de im´agenes basada en su contenido, es decir acuerdo a algunas especificaciones de contenido dentro de la imagen, tal como color, textura, forma [41]. Un sistema de recuperaci´on de informa-ci´on visual cuenta con cierta cantidad de im´agenes almacenadas en una base de datos y en alg´un momento se desea recuperar las im´agenes m´as parecidas a una imagen de consulta Q. El trabajo de recuperaci´on de im´agenes tiene aplicaci´on en diferentes campos como en medicina, biolog´ıa, etc.
1
Figura 1: Elementos de an´alisis de las im´agenes
En un sistema de recuperaci´on de informaci´on visual basada en el contenido, se deben analizar las im´agenes, este an´alisis de im´agenes se divide en tres niveles[2]:
• Procesado de bajo nivel: en este tipo de procesamiento no se re-quiere la inteligencia por parte del sistema de an´alisis de im´agenes, este nivel comprende los pasos de adquisici´on de las im´agenes y el preprocesado de las mismas.
• Procesado de nivel intermedio: se extraen y caracterizan los com-ponentes de una imagen.
• Procesado de alto nivel: en este nivel se comprende el reconocimien-to de una imagen, se asigna un significado a un conjunreconocimien-to de elemenreconocimien-tos reconocidos en dicha imagen.
Estos tres niveles permiten comprender los componentes que forman parte de un sistema aut´onomo de an´alisis de im´agenes, que se muestra en la figura 1.
Al dise˜nar un sistema de recuperaci´on de informaci´on se debe decidir el modelo de color2 en el que se procesar´an las im´agenes, determinar las venta-jas y desventaventa-jas que ofrece cada uno, obtener un conjunto de caracter´ısticas
2
para describir a cada una de las im´agenes que forman parte de la base de im´agenes. Estas caracter´ısticas se pueden obtener al procesar las im´agenes en
• El espacio de la imagen: Color, textura, forma.
• Espacio de la frecuencia: Utilizando alguna transformada que per-mita analizar la imagen a partir de sus componentes de frecuencia. En este trabajo se procesa las im´agenes en el espacio de la frecuencia, uti-lizando la transformada Wavelet, ya que presenta la ventaja de que si ten-emos una se˜nal de 2n componentes, al aplicarle la transformada wavelet se obtiene una se˜nal de 2ncomponentes, muchas de estas componentes dan val-ores cercanos a cero por lo que se pueden eliminar (compresi´on de datos) sin tener mucha p´erdida de informaci´on. Adem´as el enfoque de multi-resoluci´on es f´acil de implementar usando la descomposici´on wavelet, de esta forma se puede analizar las caracter´ısticas de una imagen en diferentes resoluciones.
En el momento que se desea hacer la recuperaci´on de una imagen T m´as similar (que pertenece a la base de im´agenes) con respecto a la imagen Q de consulta, se debe contar con un mecanismo para medir la similitud entre estas dos im´agenes Q y T.
Algunos sistemas de recuperaci´on de informaci´on existentes son los sigu-ientes:
QBIC[21,23] Query By Image Content, este fue el primer sistema comercial de recuperaci´on visual. Este sistema permite hacer una recuperaci´on visual a partir de un ejemplo, o partir de caracter´ısticas como color, textura y forma.
Virage[40,32] Realiza la recuperaci´on a partir del contenido de la imagen, es similar a QBIC, hace la recuperaci´on a partir de caracter´ısticas como col-or, composici´on, textura y estructura de la imagen. La diferencia con QBIC es que hace la recuperaci´on con la combinaci´on de las 4 caracter´ısticas antes mencionadas.
Photobook[28] Es un conjunto interactivo desarrollado en el MIT Media Lab. permite hacer la recuperaci´on de im´agenes basado en texto o en con-tenido. Este sistema consiste de tres subsistemas (sub-books); en el primero se extrae la caracter´ıstica de forma, en el segundo la de textura y en el ter-cero caracter´ısticas de rostros, para hacer la recuperaci´on de informaci´on. Esto es porque no existe una sola caracter´ıstica que sea capaz de caracterizar a todos los tipos de im´agenes. Para la recuperaci´on de texturas Picard y Liu [39,26] desarrollaron un modelo basado en la descomposici´on de Wold para im´agenes en 2 dimensiones. La descomposici´on de Wold es la suma de tres componentes mutuamente ortogonales, que representan la periodicidad, direccionalidad y aleatoriedad de las im´agenes. Con la descomposici´on de Wold se obtiene una representaci´on compacta de una imagen que preserva casi en su totalidad todos los atributos perceptuales de las texturas.
Estructura de la tesis
• Cap´ıtulo 1 Descripci´on de las caracter´ısticas de color, textura y for-ma, las cuales se obtienen en el dominio de la imagen y se pueden utilizar para medir la similitud entre dos im´agenes. En la primera sec-ci´on se explican los fundamentos del color, los modelos de color RGB y YIQ. En la segunda secci´on se explican los m´etodos que se utilizan para describir y representar a la textura de una imagen. En la tercera secci´on se describe la caracter´ıstica de forma y los m´etodos a partir de los cuales se pueden obtener la misma a partir de una imagen.
• Cap´ıtulo 2Introducci´on al an´alisis de Fourier y al an´alisis Wavelet. Se explica como se aplica la transformada wavelet con la funci´on base Haar a una se˜nal unidimensional, se muestran los resultados de aplicar la transformada wavelet con las funciones Haar y Daub4 a una imagen de 2 dimensiones y los resultados de aplicar la compresi´on de datos a una imagen ya que el inter´es de este trabajo es el de hacer la re-cuperaci´on de informaci´on visual almacenando pocos coeficientes que contengan caracter´ısticas suficientes de cada imagen, para realizar la recuperaci´on de informaci´on.
• Cap´ıtulo 3 Descripci´on de los elementos que forman parte de un sistema de recuperaci´on de informaci´on visual, las consultas que se hacen en este tipo de sistemas pueden ser de dos tipos, por contenido y por ejemplo visual. Se describe el tipo de caracter´ısticas que se extraen de una imagen para realizar la recuperaci´on por similitud. El sistema de recuperaci´on de informaci´on visual que se implement´o en este trabajo analiza la imagen en el dominio de la frecuencia haciendo uso de la transformada wavelet. Finalmente se describe el algoritmo del sistema de recuperaci´on de informaci´on.
debido a esto en este cap´ıtulo se explican 4 formas de medir la simili-tud entre un par de im´agenes. La primera medida de similitud que se explica es la distancia Euclidiana, en la segunda secci´on la medida de similitud que se usa cuantiza los coeficientes wavelet que se almacenan en cada imagen. En la tercera secci´on se explica la medida de similitud que propone Jacobs et. al. [5] y en la cuarta secci´on se utiliza una red neuronal para medir la similitud entre un par de im´agenes. En el sis-tema de recuperaci´on de informaci´on se utilizan estas 4 medidas para compararlas y ver con cual se obtienen mejores resultados al recuperar las im´agenes m´as similares con respecto a una imagen de consulta.
• Cap´ıtulo5An´alisis de los resultados que se obtiene con el sistema de recuperaci´on de informaci´on que se implement´o, se hacen varios exper-imentos en el cual se combinan las siguientes caracter´ısticas: espacio de color en el que se almacena a la imagen, porcentaje de datos que se almacenan en una imagen despu´es de que se aplica la transforma-da wavelet(compresi´on de datos). Se presentan las conclusiones que se obtienen en este trabajo en base a los experimentos que se presentaron.
• Cap´ıtulo 6 Sugerencias y trabajos posteriores que se desprenden del trabajo realizado, y se presentan los detalles de la implementaci´on del sistema de recuperaci´on de informaci´on visual.
• Ap´endice AExplica el m´etodo Logit utilizado para calcular los pesos en una de las m´etricas que se explican en el cap´ıtulo 4.
Cap´ıtulo 1
Caracter´ısticas empleadas en
la similitud de im´
agenes
1.1
Introducci´
on
Cuando se analiza una imagen en el dominio de la misma se puede obtener las caracter´ısticas de color, textura y forma para describir a las im´agenes, y m´as tarde poder utilizar algunas de estas caracter´ısticas en aplicaciones de recuperaci´on de im´agenes por similitud. En la primera secci´on se explica los fundamentos del color y como esta caracter´ıstica se puede utilizar en aplicaciones de recuperaci´on de informaci´on visual. En la segunda secci´on se explica como se puede caracterizar una imagen a partir de su textura, las ventajas que presenta esta caracter´ıstica con respecto a la de color. En la tercera secci´on se explica como se puede caracterizar los objetos de una imagen a partir de su forma y una de las principales aplicaciones esta en el reconocimiento de caracteres.
1.2
Procesamiento de im´
agenes en color
Figura 1.1: Espectro de color que se obtiene cuando un haz de luz blanca pasa a trav´es de un prisma ´optico.
Figura 1.2: Secci´on del espectro de energ´ıa electromagn´etica en la que se muestra el rango de longitud de onda que abarca el espectro visible.
El procesamiento de im´agenes en color se divide en dos ´areas:
• El procesamiento en color real: se adquieren las im´agenes con un sensor de color, por ejemplo, una c´amara digital, un esc´aner.
• El procesamiento en falso color: se hace un mapeo de una deter-minada intensidad o rango de intensidades de la imagen a un color.
1.2.1 Fundamentos del color
En 1666 Isaac Newton descubri´o que cuando un rayo de luz solar pasa a trav´es de un prisma de cristal, el rayo de luz emergente no es blanco, sino que est´a formado por un espectro continuo de colores que van desde el vio-leta al rojo(Figura 1.1) [2]
Como se observa en la figura 1.2[2] el espectro se puede dividir en 6 re-giones, violeta, azul, verde, amarillo, naranja y rojo.
por el mismo. En la ciencia del color es importante considerar las carac-ter´ısticas de la luz, por ejemplo si la luz es acrom´atica entonces el ´unico atributo que tiene es el de intensidad, este tipo de luz es la que emite un televisor en blanco y negro, donde el nivel de gris se refiere a la intensidad que tiene la luz en un rango de intensidades que van del blanco al negro, pasando por los grises.
El espectro electromagn´etico de luz con color visible est´a en el rango de 400 a 700 nm, en luz crom´atica (con color) se toman en cuenta tres atribu-tos:
• Radiancia: es la cantidad de energ´ıa que posee una fuente luminosa, esta se mide en Watts.
• Luminancia: es la medida de la cantidad de energ´ıa que emite una fuente luminosa y que es percibida por un observador, esta se mide en l´umenes.
• Brillo: este es una medida subjetiva que da una idea de la intensidad de la luz acrom´atica.
Los colores primarios son el rojo(R), el verde(G) y el azul(B). La C.I.E.1, figura 1.3 [2], ha determinado las siguientes longitudes de onda para los colores primarios:
Color Longitud de Onda Rojo(R) 700 nm
Verde(G) 546.1 nm Azul(B) 435.8 nm
No es cierto que combinando solo estas tres longitudes de onda se obtengan todos los colores, esto solo es cierto si la longitud de onda de los colores primarios varia y mezclando estos colores se obtienen otros colores. Ver la figura 1.4. Los colores Amarillo(Y), Cyan(C) y Magenta(M), se llaman colores secundarios y estos se obtienen cuando se suman las longitudes de onda de los colores primarios.
Las caracter´ısticas que se emplean para distinguir a los colores son las sigu-ientes:
• Brillo: esta relacionado con la intensidad de la luz crom´atica.
Figura 1.3: Diagrama de cromaticidad.
Figura 1.5: Modelo de color RGB
• Tono: este se refiere a la longitud de onda dominante cuando el color est´a formado por un conjunto de longitudes de onda.
• Saturaci´on: se refiere a la cantidad de luz blanca mezclada con el tono, el grado de saturaci´on de un color es inversamente proporcional a la cantidad de luz blanca que se a˜nade al color.
Los colores puros en el espectro del color est´an completamente saturados.
1.2.2 Modelos de Color
Un modelo de color es un sistema tridimensional en el que cada color esta representado como un punto.
1.1.2.1 Modelos de Color RGB (Red, Green, Blue)
est´a colocado opuesto al origen. Puede observarse que la diagonal que pasa por el punto (0,0,0) (color negro) al punto (1,1,1)(color blanco) representa todos los niveles de grises. Todos los colores quedan definidos como puntos que se encuentran en el cubo o en el interior del mismo. Las im´agenes en este modelo de color est´an formadas por tres planos de im´agenes independientes, un plano correspondiente para cada color. Figura 1.7.
1.1.2.2 Modelo de color YIQ
Este modelo de color se usa en la difusi´on comercial de la televisi´on de color en los E.E.U.U. y en otros pa´ıses como el nuestro. Es una recodificaci´on del modelo RGB para la eficacia de la transmisi´on y para la compatibilidad con los est´andares de la televisi´on en blanco y negro. Se transmite usando el sistema NTSC (National Television Standards Committee).
La motivaci´on de este modelo es que el sistema visual de los humanos es m´as sensible a los cambios de intensidad, entonces en este modelo se em-plea m´as ancho de banda para representar la componente Y(luminancia), y menos para representar la componente I y Q (informaci´on de color) la venta-ja de este modelo es que la componente Y esta desacoplada de las otras dos componentes por lo que una imagen en formato YIQ puede mejorarse solo manipulando la componente Y(el ojo es m´as sensible a esta componente) y los colores relativos de la imagen no se ver´an afectados, esta es una ventaja con respecto al modelo de color RGB.
Para pasar una imagen del modelo de color RGB al YIQ se hace lo siguiente:
Y=0.299R + 0.587G + 0.114B I=0.596R - 0.275G - 0.321B Q=0.212R - 0.523G + 0.311B
Para pasar una imagen del Modelo YIQ a RGB se realiza la operaci´on in-versa:
R=1.0Y + 0.956I + 0.620Q G=1.0Y - 0.272I - 0.647Q B=1.0Y - 1.108I - 1.705Q
Figura 1.7: Modelo de color RBG
1.2.3 El color como caracter´ıstica para la recuperaci´on de informaci´on visual
En un sistema de recuperaci´on de informaci´on visual, el color es una carac-ter´ıstica que se utiliza para discriminar entre im´agenes (que forman parte de la base de im´agenes) que son relevantes o no relevantes en el momento de hacer la recuperaci´on de las mismas. Una forma de extraer esta carac-ter´ıstica de color de las im´agenes es mediante el uso de los histogramas. Con el histograma de color de una imagen se conoce la distribuci´on de colores en la imagen. Desde el punto de vista de la recuperaci´on de informaci´on visual hacer uso del histograma de la imagen es un enfoque robusto ya que es invariante con respecto a la escala, orientaci´on y perspectiva. Swain y Ballard [17] propusieron una m´etrica de intersecci´on de histogramasS(I, J), para medir la similitud entre dos im´agenes, esta m´etrica da un valor m´as grande en proporci´on al n´umero de pixeles que son comunes entre la posible imagen que se recuper´a T y la imagen de consulta Q. [42]
S(I, J) =
N
X
n=1
min(In, Jn) N
X
n=1
In
Figura 1.8: Ejemplos de im´agenes de texturas
Hasta ahora se ha mostrado que el color es un atributo importante en las im´agenes, ya que para procesar la misma primero se debe decidir el espacio de color en el que se trabaja y esta misma caracter´ıstica de color se puede utilizar en aplicaciones de recuperaci´on de im´agenes por similitud con respecto a una imagen de consulta. En la siguiente secci´on se explica la caracter´ıstica de textura de una imagen.
1.3
Texturas
La textura es una caracter´ıstica de las im´agenes que nos permite medir la suavidad, rugosidad y regularidad de las im´agenes. La textura es definida por un conjunto de pixeles, es decir un solo pixel no define alg´un tipo de textura. Algunas im´agenes de texturas se muestran en la figura 1.8 Los m´etodos que se utilizan para describir y reconocer la textura en una regi´on de la imagen son:
• Estad´ısticos: Los cuales nos permiten medir caracter´ısticas de las texturas como suavidad, rugosidad, etc.
• Estructurales:[2,3] tratan la descripci´on de texturas como primitivas de im´agenes.
Figura 1.9: Imagen
Figura 1.10: Matriz de co-ocurrencia
1.3.1 M´etodos Estad´ısticos
Un histograma de una dimensi´on es ´util para caracterizar la textura, sin embargo tiene la limitante de no tener informaci´on acerca de la posici´on relativa de un pixel con respecto a otros. Para resolver el problema anterior se hace uso de una matriz de co-ocurrenciaP. De esta forma se considera la distribuci´on de las intensidades de los pixeles y las posiciones de los pixeles que tienen similares valores de intensidad. El tama˜no de esta matriz cor-responde al nivel de intensidades que contenga la imagen, es decir, si una imagen se representa con n niveles de intensidad entonces la matriz resul-tante es de tama˜no nxn. Para calcular la matriz de co-ocurrencia de una imagen se debe definir un vector de desplazamientod=(dx,dy) y el valor que se almacena en la matriz de co-ocurrencia en las posiciones (i,j) corresponde al n´umero de pares de pixeles que son separados por el vectordy que tiene niveles de intensidad i,j. Por ejemplo se tiene una imagen de 4x4 pixeles (Figura 1.9), con 3 niveles de intensidad 0,1,2, y se especifica un vector d=(0,1) lo cual quiere decir 0 pixeles a la derecha y un pixel hacia abajo.
Ahora nos situamos en una posici´on (m,n) de la imagen la cual tiene un valor de intensidad i, y nos desplazamos a la posici´on (m+0,n+1) (la cual tiene una intensidad j) ya que el vector de desplazamientod=(dx,dy)=(0,1). De acuerdo a la imagen definida en la figura 1.9 se observa que la matriz de co-ocurrencia P[i,j]=P[1,1]=2 (Figura 1.10)
Entrop´ıa (En): es una medida de la aleatoriedad, que alcanza su valor m´aximo cuando todos los elementos de la matriz Pson iguales.
En=−X
i
X
j
P[i, j]logP[i, j]
Energ´ıa (E): el comportamiento de esta caracter´ıstica es inversamente al que describe la entrop´ıa. La energ´ıa toma su valor m´ınimo cuando todos los valores dePson todos iguales.
E =X
i
X
j
P2[i, j]
Contraste (C): esta caracter´ıstica tiene un valor relativamente bajo cuan-do los valores m´as grandes dePest´an pr´oximos a la diagonal principal, esto es porque las diferencias (i-j) son menores aqu´ı.
C=X
i
X
j
(i−j)2P[i, j]
Homogeneidad (H): esta caracter´ıstica tiene un efecto opuesto a la car-acter´ıstica de contraste.
H=X
i
X
j
P[i, j] 1 +|i−j|
De esta forma se pueden caracterizar las texturas de las im´agenes y com-pararlas utilizando estas ´ultimas 4 caracter´ısticas, adem´as de realizar al-guna tarea de clasificaci´on de texturas. El enfoque de utilizar la matriz de co-ocurrencia esta orientado principalmente para el modelado de micro-texturas.
1.4
Forma
El objetivo aqu´ı es el de analizar los objetos de acuerdo a la forma que presentan para as´ı poder clasificarlos como el mismo objeto, aunque est´e en diferentes escalas, posiciones, direcciones de rotaci´on, o presente algunas deformaciones. En la figura 1.11 lo que se desea es tener un sistema de clasificaci´on que cuando se le presenten las im´agenes anteriores las clasifique como el patr´on de la letra A.
Figura 1.11: Diferentes patrones de la letra A
• Descriptores de forma de Fourier: bajo este esquema se aplica un umbral a cada caracter y se extraen los bordes del mismo. Los bordes de cada caracter pueden ser representados por su transforma-da de Fourier. Los coeficientes de Fourier con valores significativos reciben el nombre de descriptores de Fourier y pueden ser usados co-mo caracter´ısticas para realizar el reconocimiento de los caracteres. [18]
• Momentos invariantes: el inter´es de los momentos generales esta en que los contornos pueden modelarse como un tipo especial de funciones acotadas y calcular los momentos de las mismas. Es por esto que se aplican en el reconocimiento de formas. Estos son ampliamente usados en el reconocimiento de caracteres. Los momentos invariantes cl´asicos fueron presentados por Hu(1962) y son usados en numerosas aplicaciones. Los invariantes de Hu son invariantes bajo la rotaci´on, traslaci´on y escalamiento. Maitra (1979) hizo una extensi´on a los invariantes de Hu para hacerlos invariantes al contraste. Flusser y Suk (1992) derivaron un nuevo conjunto de momentos invariantes que son invariantes bajo transformaciones afines. [10,18]
Para el an´alisis de forma existe el uso de los 7 momentos de Hu los cuales son invariantes a la traslaci´on, rotaci´on y cambio de escala. Se calculan los 7 momentos en cada una de las im´agenes y luego se comparan los valores de los mismos para decidir si dos im´agenes son parecidas en cuanto a forma, si la variaci´on entre los momentos es muy grande las im´agenes no son similares en cuanto a forma, en caso contrario la similitud es mayor.
Los momentos de Hu [10,2] que son invariantes a la traslaci´on, rotaci´on y escalamiento de un objeto son los siguientes:
φ2 = (η20−η02)2+ 4η211
φ3 = (η30+ 3η12)2+ (2η21−η03)2 φ4 = (η30+η12)2+ (η21+η03)2
φ5 = (η30−3η12)(η30+η12)[(η30+η12)2−3(η21+η03)2] + (3η21−η03)(η21+
η03)[3(η30+η12)2−(η21+η03)2]
φ6 = (η20−η02)[(η30+η12)2−(η21+η03)] + 4η11(η30+η12)(η21+η03)
φ7 = (3η21−η30)(η30+η12)[(η30+η12)2−3(η21+η03)2] + (3η21−η03)(η21+
η03)[3(η30+η12)2−(η21+η03)2]
Donde npq es el momento central normalizado de orden (p+q)
npq=
µpq
µw
00
w= p+q 2 + 1
µpq es el momento central de orden (p+q), donde para un objeto binario
esta definido de la siguiente forma:
µpq = N
X
x=1
N
X
y=1
(x+xt)p(y−yt)q
donde (xt,yt) son las coordenadas del centro de gravedad de la imagen.
Cap´ıtulo 2
Wavelets
2.1
Introducci´
on
En este cap´ıtulo se describe brevemente el an´alisis de Fourier en se˜nales unidimensionales, se explica como se lleva a cabo el an´alisis wavelet a se˜nales de una y de dos dimensiones con las funciones base de Haar y Daubechies. Cuando se aplica la transformada wavelet a una se˜nal se tiene que algunos coeficientes wavelets tienen valor cercano a cero, estos coeficientes se pueden eliminar lo cual lleva a una aplicaci´on de compresi´on de datos, y esto es de inter´es en este trabajo ya que lo que se pretende es que a partir de im´agenes representadas por un peque˜no porcentaje de datos se haga una buena recuperaci´on de im´agenes por similitud con respecto a una imagen de consulta.
2.2
Funci´
on base
Un vector de la forma [x,y]en el plano, se puede escribir como una combi-naci´on lineal de los dos vectores [1,0] y [0,1] as´ı estos dos ´ultimos vectores forman la base de los vectores [x,y]∈R2, porque si se observa x[1,0]=[x,0] y
2.3
Series de funciones
Ahora se va a representar una se˜nal o funci´on por medio de una expansi´on lineal. Supongamos que se tiene la funci´on f con un dominio en un espacio S, donde S puede serR1 ´oC2. Lo que se desea es encontrar un conjunto de
funciones elementales{ϕi}iZen este espacio para as´ı poder escribir a f como
una combinaci´on lineal de estas funciones elementales, como se muestra en la siguiente relaci´on:
f =X
i
αiϕi αiR (2.3.1)
En este caso el conjunto de funciones {ϕi} es una base en el espacio S,
s´ı cualquier funci´on f puede expresarse como una combinaci´on lineal como se muestra en la ecuaci´on 2.3.1.
Para elegir el conjunto de funciones bases adecuado se debe tomar en cuen-ta que tipo de funciones son las que se quieren represencuen-tar mediante este conjunto de funciones base.
Un ejemplo de esto son las series de Fourier en el que las funciones bases son las funciones arm´onicas senos y cosenos las cuales son peri´odicas.
2.4
An´
alisis de Fourier
El aspecto fundamental del an´alisis de Fourier es aproximar mediante suma de arm´onicos, senos y cosenos a una funci´on dada. El an´alisis de Fourier surge por el intento de representar una funci´on discontinua a partir de la combinaci´on de funciones continuas. Con esta herramienta se puede analizar una se˜nal peri´odica en t´erminos de su contenido en el espectro de frecuencias lo que permite establecer una dualidad entre tiempo y frecuencia, de forma que operaciones que se realizan en el dominio del tiempo tienen su dual en el dominio de la frecuencia. Mediante las series de Fourier se pretende escribir una funci´on f(t) con periodo T (frecuencia fundamenta f0 = 1/T, w0 =
2πf0), en forma de una suma infinita de funciones arm´onicas de la siguiente
forma:
f(t) = a0 2 +
∞
X
i=1
(aicos(iwt) +bisen(iwt))
dondea0, a1, ..., ai...yb1, b2, ..., bi, ...son los llamados coeficientes de Fourier.
1
N´umeros reales
2.4.1 Transformada de Fourier
La utilidad de la transformada de Fourier consiste en que nos permite expre-sar y analizar una se˜nal en el dominio del tiempo a partir de sus componentes en frecuencia, esto es porque los coeficientes de Fourier(que se obtienen al aplicarle la transformada de Fourier a una se˜nal) de la funci´on transfor-mada representan la contribuci´on de cada t´ermino seno y coseno en cada frecuencia.
2.4.2 Transformada discreta de Fourier
La transformada discreta de Fourier calcula la transformada de Fourier de una funci´on representada por un n´umero finito de muestras (se˜nal discretiza-da).
La transformada de Fourier tiene la desventaja de que no puede tratar con funciones con discontinuidades y picos, y que no este definida en un intervalo de tiempo finito.
2.5
Wavelets
Los wavelets con respecto al an´alisis de Fourier presentan la ventaja de que es posible analizar se˜nales con discontinuidades y con picos de alta frecuen-cia.
La idea al utilizar los wavelets es analizar las se˜nales a diferentes escalas o resoluciones. La analog´ıa que se hace es que si se ve una imagen a trav´es de una ventana grande, se ve el detalle grueso y si se ve a trav´es de una ventana peque˜na se puede ver caracter´ısticas con m´as detalle. El an´alisis wavelet da la oportunidad de ver tanto el bosque como los ´arboles.
En el an´alisis wavelet se usa una se˜nal wavelet madre, esta se˜nal se contrae para hacer el an´alisis en alta frecuencia y se dilata para hacer el an´alisis en baja frecuencia. Una funci´on puede ser representada en t´erminos de una expansi´on wavelet. Despu´es de esto se puede eliminar algunos coeficientes wavelet de acuerdo a un umbral sin tener mucha p´erdida de informaci´on. Esto es lo que hace ´util a los wavelets dentro del campo de compresi´on de datos. Son una herramienta bastante sencilla de utilizar, y con una enorme variedad de aplicaciones posibles, entre las que se encuentra el procesamien-to de se˜nales, compresi´on de datos o realce de bordes, an´alisis de texturas.
Figura 2.1: Funci´on Daubechies
Se tiene diferentes conjuntos de funciones base para la transformada wavelet y estos forman una familia. En cada familia de wavelets existe un compro-miso por conservar las caracter´ısticas: que tan compactas son y su local-izaci´on en el espacio.
Un ejemplo de wavelets es el Daubechies que se muestra en la figura 2.1.
2.5.1 La transformada discreta wavelet
El traslado y escalamiento de una funci´on wavelet madre se define de la siguiente forma:
ψ(s,k)(x) = 2−
s
2ψ(2−sx−l)
s=escala l=posici´on
Las variables sy l, son enteros y corresponden a la escala y al corrimiento de la funci´on madreψpara generar los wavelets. La escala s indica el ancho de la funci´on wavelet y el valor de l indica su posici´on. Como se observa la funci´on wavelet madre es escalada en potencias de 2 y es trasladada por cualquier valor real.
Para extender nuestro conjunto de datos en diferentes resoluciones, el an´ ali-sis wavelet usa una ecuaci´on de escalamiento:
W(x) =
N−2 X
k=−1
Donde W(x) es la funci´on escalada a partir de la funci´on wavelet madre, y ck son los coeficientes wavelets.
Los coeficientes wavelet deben satisfacer las siguientes restricciones:
N−1 X
k=0
ck= 2
N−1 X
k=0
ckcl = 2δl,0
Dondeδ es la funci´on impulso y se define de la siguiente forma:
l es la localizaci´on
La transformada wavelet en el caso continuo esta definida de la siguiente forma:
C(s, p) =
Z ∞
−∞
f(t)ψ(s, p, t)dt s=escala
p=posici´on t=tiempo
Lo que se obtiene son los valores de los coeficientes C los cuales son fun-ci´on del escalamiento y posici´on de la funci´on baseψ.
2.5.2 Escalamiento
El escalamiento de una se˜nal se lleva a cabo mediante un factor de es-calamiento el cual se denotar´a con la letra a. Entre m´as peque˜no sea el valor de a el per´ıodo de la se˜nal ser´a menor. As´ı se tiene la funci´on:
f(t) =sen
t a
Como se observa el escalamiento esta relacionado con la frecuencia de la se˜nal.
En las funciones wavelets ψ(t) este factor de escalamiento trabaja de la misma forma.
2.5.3 Corrimiento
El corrimiento se refiere precisamente a obtener una se˜nal desfasada con respecto a la se˜nal original. Si f(t) representa la se˜nal original, entonces la se˜nal desfasada est´a representada como f(t-k).
2.5.4 Multi-resoluci´on
Multi-resoluci´on es un concepto que se refiere al an´alisis de una se˜nal en diferentes escalas o resoluciones. La descomposici´on en diferentes resolu-ciones es conocida como pir´amide de descomposici´on, es decir, una imagen se descompone en sub-im´agenes, cada una de las cuales nos proporciona in-formaci´on limitada acerca de la posici´on y frecuencia de la imagen.
Por otra parte la descomposici´on wavelet es una mejor alternativa con re-specto a las t´ecnicas de an´alisis de Fourier para este tipo de se˜nales. Las funciones bases del an´alisis de Fourier como se mencion´o antes son las fun-ciones senos y cosenos (arregladas en forma espacial o temporal) las cuales pueden analizar se˜nales en todas las frecuencias. La descomposici´on wavelet usa un conjunto de funciones bases las cuales son trasladadas y dilatadas, en el espacio y en el tiempo.
Figura 2.2: Funci´on Haar
resoluci´on.
2.5.5 Funci´on de Haar
La funci´on de Haar se define de la siguiente forma:
x=
1 0≤x≤ 1 2
−1 12 ≤x≤1
0 en cualquier otro caso
La funci´on Haar es la que se muestra en la figura 2.2. Los filtros que se utilizan cuando se usa el wavelet Haar se muestran en la figura 2.3.
2.5.6 Funci´on Daubechies
Figura 2.3: Filtros usando la funci´on Haar
se muestra en la figura 2.4): c0, c1,c2 y c3 que se calculan de la siguiente
forma [1]:
c20+c21+c22+c23 = 1 c2c0+c3c1 = 0
c3−c2+c1−c0 = 0
0c3−1c2+ 2c1−3c0 = 0
Resolviendo estas 4 ecuaciones se encuentran los valores de los coeficientes c0, c1, c2 yc3. Analogamente si se quiere trabajar con una se˜nal DAUB de
6 coeficientes se requiere definir 6 ecuaciones y as´ı sucesivamente para n coeficientes.
Figura 2.4: Filtros usando la funci´on Daub4
Figura 2.6: An´alisis de Fourier
2.5.7 Similitudes entre la transformada de Fourier y la trans-formada Wavelet
La transformada de Fourier y la transformada discreta wavelet son opera-ciones lineales. Para la transformada de Fourier el nuevo dominio cuenta con funciones base seno y coseno, en la transformada wavelet el nuevo dominio cuenta con las funciones llamadas wavelets, wavelet madre. No se tiene un conjunto de funciones base ´unico ya que se pueden definir distintas funciones wavelet. En ambas transformadas las funciones base est´an bien localizadas en el dominio de la frecuencia.
2.5.8 Diferencias entre la transformada de Fourier(FT) y la transformada Wavelet(WT)
Figura 2.7: An´alisis wavelet
2.6
Aplicaci´
on de la Transformada Wavelet
En este trabajo se hace uso de la transformada wavelet ya que presenta las siguientes ventajas:
• Aplicar la transformada wavelet a una funci´on se lleva a cabo en una cantidad lineal de tiempo.
• En la pr´actica al obtener la transformada wavelet de una funci´on, muchos de los coeficientes en la representaci´on wavelet tienen valores cercanos a cero, con esto se tiene la posibilidad de trabajar con un n´umero menor de datos y tener muy poca p´erdida cuando se hace la compresi´on de los mismos al eliminar estos coeficientes cuyo valor es poco significativo.
• En la representaci´on wavelet se puede representar una amplia variedad de funciones con discontinuidades, funciones definidas sobre dominios limitados o con una topolog´ıa arbitraria.
Se puede decir que al aplicar la transformada wavelet a una se˜nal se esta filtrando, por lo que cada funci´on base wavelet es definida por un conjunto de coeficientes. Estos coeficientes corresponden a los coeficientes del filtro que se le esta aplicando a un se˜nal.
A continuaci´on se explica como se aplica la transformada wavelet a una vector unidimensional.
Ejemplo:
[x1, x2]
La componentev1 es un vector que es el promedio de las componentesx1 y
x2, por lo que v1 representa un vector de menor resoluci´on con respecto al
vector original. La componente v2 corresponde a un coeficiente de detalle,
entonces si se desea recuperar el vector original con respecto al vector de m´as baja resoluci´on [v1], se necesita conocer el valor de v2.
Vector original [6,8,4,2,4,6,3,5]
Consideremos que este vector esta formado por 3 vectores [6,8],[4,2],[4,6],[3,5] Entonces los valores de los vectoresv1 yv2 son los siguientes:
Promedio(v1) Coeficientes de detalle(v2)
6,8 7 -1
4,2 3 1
4,6 5 -1
3,5 4 -1
Donde el vector [7,3,5,4] es un vector que tiene la mitad de resoluci´on con respecto al vector original. Se sigue el mismo proceso hasta tener un vector con resoluci´on 1. Pero ahora se aplica la transformada Haar al vector que tiene los componentes que resultaron de sacar el promedio.
Resoluci´on Promedio(v1) Coeficientes de detalle(v2)
8 [6,8,2,4,6,3,5]
4 [7,3,5,4] [-1,1 -1,-1]
2 [5,4.5] [2,0.5]
1 [4.75] [0.25]
Entonces aplicando la transformada wavelet usando la funci´on Haar se ob-tiene el vector [4.75,0.25,2,0.5,-1,1,-1,-1].
Los ejemplos anteriores se mostraron para se˜nales unidimensionales.
2.6.1 Transformada wavelet en se˜nales de 2 dimensiones
El inter´es de este trabajo es el de aplicar la transformada wavelet a se˜nales de 2 dimensiones. Esto se har´a como una generalizaci´on de la transformada que se aplica a se˜nales en una dimensi´on. La forma en que se va a aplicar la transformada es la siguiente:
• Paso 1: se aplica la transformada wavelet a una imagen de m*m pixeles de tama˜no a trav´es de las columnas de la matriz.
Figura 2.8: Descomposici´on de una imagen en 2 niveles de resoluci´on
Figura 2.9: Descomposici´on de una imagen en 4 niveles de resoluci´on
El resultado de aplicar el primer paso da como resultado una imagen de res-oluci´on (m/2)*m la cual corresponde a los coeficientes resultantes de aplicar el filtro de baja frecuencia(L) a la imagen y una imagen de (m/2)*m para los coeficientes de detalle ya que son los que se obtienen cuando se aplica un filtro de alta frecuencia(H) a la imagen. Esto se ve en la figura 2.8.
Se aplica ahora el segundo paso a la imagen que se muestra en la figura 2.8, y se obtiene como resultado la imagen 2.9.
HH= representa las altas frecuencias en las dos direcciones (las esquinas o las diagonales)
HL= representa las frecuencias horizontales altas.
LH= representa las frecuencias verticales altas(bordes verticales). LL= corresponde a las frecuencias m´as bajas.
Figura 2.10: Descomposici´on de una imagen en 4 niveles de resoluci´on
Si se aplica la transformada wavelet una vez en el sentido vertical y una vez en el sentido horizontal, se obtiene la imagen que se muestra en la figu-ra 2.10. En el siguiente ejemplo se obtiene la tfigu-ransformada wavelet de una imagen de 128x128 pixeles. Primero se hace la descomposici´on a trav´es de las columnas de la imagen, despu´es a trav´es de los renglones y as´ı sucesiva-mente. En la figura 2.11 se muestra el resultado de aplicar la transformada wavelet 4 veces a una imagen.
En la imagen que se muestra en la figura 2.11 se aplic´o 4 veces la transfor-mada wavelet. La imagen de 64x64 pixeles que se encuentra en la esquina superior izquierda se descompuso en 4 im´agenes de 32x32 pixeles. De este modo se continua descomponiendo la imagen colocada en la esquina superior izquierda, mediante la transformada wavelet.
Para aplicar la transformada inversa a la imagen (se˜nal de dos dimensiones) se aplic´o la transformada inversa a trav´es de los renglones de la imagen y despu´es a trav´es de las columnas de la misma. En la figura 2.12 se muestra el resultado de aplicar la transformada wavelet inversa.
2.6.2 Compresi´on de datos utilizando Transformada Wavelet
Como se mencion´o anteriormente, una de las ventajas de usar la transfor-mada wavelet es que algunos coeficientes toman valores muy poco significa-tivos(cercanos al valor de cero), que al eliminarse, y despu´es al aplicar la transformada inversa existe poca p´erdida de informaci´on.
Si se tiene un conjunto de datos de tama˜no m que se desea comprimir y que se expresa de la siguiente forma:
f(x) =
m
X
i=1
Dondec1, ..., cm representan un conjunto de coeficientes. Ahora bien
medi-ante el uso de una base de funciones fija, se desea encontrar una funci´on con menos coeficientes que se aproxime a la funci´on f(x) con una tolerancia de error. Esta funci´on esta dada de la siguiente forma [5,43]:
f0(x) =
m1 X
i=1
c0iu0i(x)
Donde, la condici´on para que exista compresi´on de datos es: m1 < m
Una forma de realizar esta compresi´on de datos es mediante el ordenamiento de los coeficientes c1, ...cm, de forma decreciente y almacenar los primeros
m1coeficientes (m1 < m) de tal forma que f’(x) sea una buena aproximaci´on
de f(x), solo s´ı la base de la funci´on es ortonormal. Para medir la buena aproximaci´on de la funci´on f’(x) con respecto a la funci´on f(x) se puede uti-lizar alguna normaLp (ver secci´on 4.2.1), (para p=1,2,...). Para lograr esto se asume queπ(i) es una permutaci´on de los m elementos de f(x) y se asume que f’(x) esta formada por m1 coeficientes los cuales son los primeros m1
coeficientes pertenecientes a la permutaci´on π(x).
As´ı se tiene que :
f0(x) =
m1 X
i=1
cπ(i)uπ(i)
La siguiente ecuaci´on se utiliza para medir el error que existe al comparar la funci´on f(x) con f’(x), y corresponde al cuadrado de la normaL2
(L2(f(x), f0(x)))2 =kf(x)−f0(x)k2=hf(x)−f0(x)|f(x)−f0(x)i
=h
m
X
i=m1+1
cπ(i)uπ(i)|
m
X
j=m1+1
cπ(j)uπ(j)i
=
m
X
i=m1+1
m
X
j=m1+1
cπ(i)cπ(j)huπ(i)|uπ(j)i
=
m
X
i=m1+1
(cπ(i))2
Figura 2.13: Imagen original
valor igual a cero).
Para minimizar este error, π(i) corresponde a la permutaci´on en la que se ordenan los modulos de los coeficientes en orden decreciente con respecto a su magnitud, de la siguiente forma:
|cπ(1) |≥...≥|cπ(m) |
Figura 2.15: Compresi´on usando la funci´on base Daub4
Cap´ıtulo 3
Recuperaci´
on de im´
agenes
3.1
Introducci´
on
En este cap´ıtulo se describen los elementos que forman parte de un sistema de recuperaci´on de informaci´on visual. Las consultas que se hacen en este tipo de sistemas pueden ser de dos tipos, por contenido y por ejemplo visual. As´ı mismo se describe el tipo de caracter´ısticas que se extraen de una imagen para realizar la recuperaci´on por similitud. El sistema de recuperaci´on de informaci´on visual que se implement´o en este trabajo analiza la imagen en el dominio de la frecuencia haciendo uso de la transformada wavelet. Finalmente se describe el algoritmo que se implement´o en el sistema de recuperaci´on de informaci´on.
3.2
Sistema de recuperaci´
on de informaci´
on visual
Un sistema de recuperaci´on de informaci´on, permite recuperar informaci´on previamente almacenada a trav´es de una consulta. Se debe contar con alg´un m´etodo para localizar la informaci´on que se va a recuperar, y as´ı presentarla al usuario. En un sistema de recuperaci´on de informaci´on visual el objetivo es recuperar a partir de una base de datos de im´agenes visuales las mismas que sean m´as similares con respecto a la imagen de consulta. La similitud de las im´agenes se mide a partir de aspectos perceptuales de las im´agenes.
Las consultas que se hacen en este tipo de sistemas son:
• Por ejemplo visual: Mediante iconos, pintando, realizando un bo-ceto, a trav´es de una imagen.
En este trabajo se hace una recuperaci´on a partir de ejemplos. Es impor-tante esta aplicaci´on cuando se tiene una base de datos grande, en la cual el usuario esta interesado por recuperar las 10 im´agenes m´as parecidas a una imagen de consulta y en la cual no se puede establecer con precisi´on cuales son las im´agenes m´as parecidas.
Existen diferentes m´etodos para poder recuperar informaci´on visual, en los cuales se toman en cuenta caracter´ısticas propias de las im´agenes como se muestra a continuaci´on:
• Color: Esta es una caracter´ıstica ampliamente usada como carac-ter´ıstica visual en la recuperaci´on de informaci´on. Es relativamente robusta ya que es independiente del tama˜no de la imagen y de su orientaci´on. El histograma de color [17] es com´unmente usado como caracter´ıstica que representa una imagen (ver secci´on 1.2). Diferentes espacios de color se encuentran en [12,15,33].
• Textura: Se refiere a un patr´on visual que tiene la propiedad de ho-mogeneidad y no es resultado de una intensidad de color. Esta es una propiedad que se observa en superficies como ladrillos, nubes, cabello, telas, etc. En los 70’s Haralick[11] representa la textura de una imagen a partir de una matriz de co-ocurrencia. Se construye una matriz de co-ocurrencia de una imagen y a partir de esta matriz se calculan me-didas estad´ısticas de la imagen (ver secci´on 1.3). En los 90’s despu´es de que se conoc´ıa la transformada Wavelet, se empez´o a trabajar con esta transformada para representar a las texturas. Thyagarajan et al. [23] y Kundu et al. [20] combinaron la transformada Wavelet con la matriz de co-ocurrencia en el an´alisis de texturas.
• Forma de los objetos: En algunas aplicaciones de recuperaci´on de informaci´on se utiliza como caracter´ıstica la forma y se desea que esta sea invariante a traslaci´on, rotaci´on, escalamiento. Para representar la forma se utilizan los descriptores de Fourier y los momentos invari-antes. En los descriptores de Fourier se utiliza la transformada de Fourier [29]. En los momentos invariantes se utilizan momentos basa-dos en regiones, los cuales son invariantes a transformaciones. Hu[10] identifico 7 momentos (ver secci´on 1.4).
Figura 3.1: Sistema de recuperaci´on de informaci´on
de tal forma que la b´usqueda de las posibles soluciones con respecto a una imagen de consulta se haga en forma eficiente.
Un sistema de recuperaci´on de im´agenes contiene los siguientes elementos o pasos (Figura 3.1):
1. Una base de im´agenes, a partir de las cual se har´a la recuperaci´on. 2. Se extraen caracter´ısticas de las im´agenes tales como color, textura,
etc.
3. Se establece una medida de similitud para realizar la recuperaci´on de im´agenes.
Para extraer las caracter´ısticas de las im´agenes que nos interesan recuperar se tienen dos alternativas:
• Procesar la imagen en el dominio de la misma, tomando en cuenta caracter´ısticas tales como color, textura, etc.
En este trabajo se hace un an´alisis a las im´agenes utilizando la transformada wavelet, en el cual los coeficientes que se obtienen al aplicar dicha transfor-mada pueden representar propiedades de frecuencia de las texturas que se est´an analizando.
Antes de empezar a ver como se hace la recuperaci´on de im´agenes se debe considerar los siguientes aspectos con los que se va a trabajar:
• Espacio de color: Se debe escoger el espacio de color con el que se representan a cada una de las im´agenes. En este trabajo se utilizan los espacios de color RGB y YIQ los cuales se explicaron en el cap´ıtulo 1.
• Nivel de compresi´on: Ya que se va a trabajar con espacios de color de 3 dimensiones, se aplica la transformada wavelet a cada imagen para cada uno de las 3 componentes de color. En este trabajo se uti-lizaron im´agenes de 128x128 pixeles de tama˜no, equivalente a 16386 coeficientes para cada canal de color. Puesto que Jacobs [5] mostr´o que trabajando con pocos coeficientes en cada componente de color se tiene una buena recuperaci´on de los datos y esto es debido a que despu´es de hacer la compresi´on de datos, solo se almacenan las caracter´ısticas m´as significativas de la imagen, ignorando las caracter´ısticas de de-talle(altas frecuencias).
Estos resultados se pueden ver en la secci´on 2.6.2 de compresi´on de datos. En base a lo anterior en este trabajo se almacenar´on 100 coe-ficientes para cada componente de color, lo cual corresponde al 0.61% de los coeficientes en cada canal del color. Utilizando el cuadrado de la normaL2 para medir el error que existe al hacer esta compresi´on de datos(almacenar el 0.61% del total de los coeficientes) con las im´agenes que forman parte de la base de im´agenes que se utiliza en este trabajo se obtienen los siguientes datos:
Mediana del error 10.66% M´aximo error 26.65% M´ınimo error 2.87% Media del error 11.35%
– Si el coeficiente tiene un valor mayor que 0 se considera como +1. – Si el coeficiente tiene un valor menor que 0 se considera como -1. – Si es cero conserva el valor de 0.
De esta forma el almacenamiento de los datos requiere menos espacio con respecto a la representaci´on de los mismos en n´umero reales.
En este trabajo se hiz´o lo siguiente:
1. Se aplic´o la transformada wavelet a cada una de las im´agenes de la base de im´agenes y a la imagen de consulta a partir de la cual se deseaba hacer la recuperaci´on, se trabaja en el espacio de color RGB y YIQ. Se utiliz´o la transformada wavelet porque permite hacer un an´alisis de las im´agenes a diferentes niveles de resoluci´on.
2. Las im´agenes utilizadas tienen un tama˜no de 128x128 pixeles.
3. Se obtuvo un vector de caracter´ısticas para cada imagen. El tama˜no del mismo es el del n´umero de coeficientes que se almacenan (con o sin compresi´on de los datos) al aplicar la transformada a cada imagen. 4. A partir de una imagen de consulta se buscaron las im´agenes, en la
base de im´agenes m´as similares de acuerdo a una medida de similitud. El sistema de recuperaci´on de im´agenes qued´o definido como se muestra en la figura 3.2.
Para calcular el vector de caracter´ısticas de cada imagen, se obtuv´o la transformada wavelet de la imagen haciendo uso de la funci´on Haar y la Daub4 (filtro Daubechies con 4 coeficientes). Se aplicar´on 7 veces los pasos 1 y 2 descritos en la secci´on 2.6.1. cuando se us´o la funci´on Haar y 6 veces cuando se us´o la funci´on Daub4, para hacer un an´alisis de la imagen a trav´es de los niveles de resoluci´on que se muestra en la figura 3.3.
En la primera descomposici´on se obtuvieron dos im´agenes de tama˜no 64*128 pixeles. Este proceso de descomposici´on de la imagen se repiti´o hasta obtener una imagen de resoluci´on de 1x1 pixel de tama˜no cuando se us´o la funci´on base de Haar y de 2x2 pixeles de tama˜no cuando se us´o la funci´on base Daub4.
Figura 3.2: Sistema de recuperaci´on de informaci´on
de cada imagen esta formado por 100 coeficientes por cada canal de color, ya sea que se trabaje en el espacio de color RGB o YIQ. Sin embargo el n´umero de coeficientes que se almacenan para cada canal de color no tiene que ser el mismo. Especialmente para el espacio de color YIQ en el cual se pueden almacenar m´as coeficientes para la componente Y y menos para la componente IQ.
Despu´es de que se form´o el vector de caracter´ısticas para cada imagen se cuantizan los coeficientes de este vector de la siguiente forma:
• Si el coeficiente tiene un valor mayor de 0 se considera como +1.
• Si el coeficiente tiene un valor menor que 0 se considera como -1.
• Si es cero conserva el valor de 0.
Para realizar la recuperaci´on de im´agenes se requiere definir una forma de medir la similitud entre las im´agenes. Esto se describir´a en el siguiente cap´ıtulo.
3.3
Algoritmo de recuperaci´
on de informaci´
on
vi-sual
El algoritmo de recuperaci´on de im´agenes se define a continuaci´on [5,43]
Pre-procesamiento de las im´agenes T almacenadas en la base de im´agenes
Para cada uno de los canales de color se realizan los siguientes pasos: 1. Aplicar la transformada wavelet para analizar la imagen a diferentes
niveles de resoluci´on.
2. Almacenar el coeficiente que est´a en la posici´on (0,0) el cual corre-sponde al valor promedio de toda la imagen.
3. Realizar la compresi´on de los datos para formar el vector de carac-ter´ısticas.
Etapa de recuperaci´on
Para la imagen de consulta Q, se aplican los 4 pasos descritos anteriormente y adem´as:
• Se aplica la medida de similitud
• Se selecciona las 6 im´agenes que resulten m´as similares a la imagen de referencia
Cap´ıtulo 4
Medidas de similitud
4.1
Introducci´
on
En este cap´ıtulo se muestran 4 formas de medir la distancia de similitud entre un par de im´agenes. La primera es la distancia euclidiana, la cual es la m´etrica com´unmente aplicada, la segunda consiste en aplicar cuantizaci´on a los coeficientes wavelets que pertenecen a las im´agenes entre las que se va a medir la similitud, en la tercera medida de similitud se toma en cuenta que cada nivel de resoluci´on en el que se analiza la imagen proporciona informaci´on para realizar la discriminaci´on entre las im´agenes que son o no relevantes al hacer la recuperaci´on por similitud con respecto a una imagen de consulta. Finalmente la cuarta forma de medir la similitud entre las im´agenes es a trav´es de una red neuronal backpropagation.
4.2
M´
etricas
Si se trabaja en un espacio de varias dimensiones, entonces D es una funci´on de distancia o m´etrica si cumple las siguientes condiciones∀p1, p2, p3: [2,5,7]
1. Constancia de auto-similitud D(p1, p1) =D(p2, p2) = 0
2. Minimalidad D(p1, p2)≥0 y D(p1, p2) = 0 si y s´olo si p1 =p2
3. Simetr´ıaD(p1, p2) =D(p2, p1)
4. Desigualdad triangular D(p1, p3)≤D(p1, p2) +D(p2, p3)
vectorual origen. Es decir la norma ser´a igual a la distancia de los vectores al origen k u k= D(u,0) y nos representa la longitud del vector u en el espacio m´etrico.
4.2.1 Norma Lp
Se define a la familia de normas p’s de una vectoru, como sigue:
kukp= X
i
|ui|p
!1p
p= 1,2,3, ...
En este trabajo se emple´o como primera m´etrica para realizar la recu-peraci´on de im´agenes la norma Lp con p=2,(norma euclidiana) ya que es
la norma m´as conocida.
Se tiene una imagen de consulta Q y una imagen perteneciente a la base de im´agenes y se quiere medir la similitud entre este par de im´agenes, ya antes se mencion´o que para cada imagen se obtiene la transformada wavelet de ca-da canal de color y como se trabaja en un espacio de color de 3 dimensiones, se tienen 3 matrices para cada imagen como resultado de aplicar la transfor-mada wavelet, a estas matrices Tc (matriz perteneciente a una imagen que
forma parte de la base de im´agenes) donde 1 ≤ c ≤ 3. A las matrices Tc
se les aplica compresi´on de datos, almacenando solo los n coeficientes que tienen los valores de magnitud m´as grandes, sin cuantizar los coeficientes.
Una versi´on discreta de la distancia euclidiana D mediante la cual se mide la distancia de similitud entre las im´agenes Q y T se define de la siguiente forma: D= 3 X c=1 X i X j
(Qc[i, j]−Tc[i, j])2
Las im´agenes que computen menor valor de D ser´an m´as similares.
4.3
Uso de cuantizaci´
on
los valores m´as grandes de magnitud (compresi´on de datos) y se aplica la cuantizaci´on a los datos almacenados en las matrices Qc yTc, donde c hace
referencia al canal de color.
La distancia de similitud que se presenta en esta secci´on consiste en com-parar los coeficientes de las matrices de la imagenQc y la imagenTc en las
posiciones [i,j] de las mismas. Si los coeficientes tienen valores diferentes a 0 y son iguales se incrementa en 1 la medida de distancia de similitud S, las im´agenes que computen menor S presentan mayor similitud.[5]
S =− X
i,j:Q[i,j]6=0
(Qc[i, j] =Tc[i, j])
El t´ermino Qc =Tc regresa un valor de 1 si Qc yTc tiene el mismo valor y
0 en caso contrario.
4.4
Uso de pesos por niveles de resoluci´
on
4.4.1 Usando la funci´on Haar
La medida de similitud que se utiliza en este trabajo es la que propone Ja-cobs et al. [5]. Para cada una de las im´agenes en la base de datos se tiene almacenada una matriz como se muestra en la figura 3.3, la cual es una matriz de los coeficientes resultantes de aplicar la transformada wavelet a las im´agenes. Para la imagen de consulta tambi´en se tiene una matriz como se mencion´o anteriormente. Se compar´o esta ´ultima matriz con cada una de las matrices de las im´agenes que pertenecen a la base de im´agenes para realizar la recuperaci´on de las im´agenes por similitud. A cada imagen en la base de im´agenes se le asign´o un valor S que indica su distancia de similitud con la imagen de consulta. Entre m´as peque˜no sea este valor, la imagen tendr´a m´as similitud con la imagen de consulta.
La matriz que se obtiene al aplicar la transformada wavelet a cada una de las im´agenes se divide en 22 regiones (figura 4.1). Para obtener el valor de similitud S se compararon los coeficientes de cada una de las regiones, las cuales corresponden a los niveles de resoluci´on. Se obtuv´o una medida de similitud para cada una de las 22 regionesS1, S2, ..., S22.
El valor de cada Sn donde 0 < n ≤ 22 se decrement´o en m si hubo m
Figura 4.1: Se muestran los niveles de resoluci´on en los que se est´a analizando a la imagen y como se est´a calculando la medida de similitud.
resultante de aplicar la transformada wavelet) en la regi´on n de la imagen de consulta con respecto a la imagen con la que se esta comparando. Una vez que se obtuvieron los valores deSndonde 0< n≤22, se calcul´o el valor
de similitud S, de la siguiente forma:
S =
22 X
i=1
wiSn
donde:
S=w1 22 X
i=19
Si+w2 18 X
i=16
Si+w3 15 X
i=13
Si+w4 12 X
i=10
Si+w5 9 X
i=7
Si+w6 6 X
i=1
Si
Finalmente la similitud entre dos im´agenes se mide de la siguiente for-ma:[5,43]
kQ−T k=w0|Q[0,0]−T[0,0]|+S 4.4.1
Aqu´ı Q y T son la imagen de consulta y la imagen con la que se esta midi-endo la similitud respectivamente.
Los dos siguientes valores se almacenan antes de realizar cuantizaci´on. Q[0,0] es el coeficiente wavelet correspondiente al color promedio de toda la imagen de consulta. (matriz mostrada en la figura 4.1).
T[0,0] es el coeficiente wavelet correspondiente al color promedio de toda la imagen con la que se esta midiendo la similitud S.(matriz mostrada en la figura 4.1)
La medida de similitud que se asigna a cada imagen es el valor que se mues-tra en la ecuaci´on 4.4.1.
Para poder llevar a cabo la recuperaci´on de informaci´on, se deben calcular los valores dewi donde 0≤i≤7. Al igual que Jacobs et al.[43] se utiliz´o el
m´etodo Logit(ver ap´endice A) para determinar el valor de las variables o pesos wi. Para esto se debe seleccionar un conjunto de im´agenes de
entre-namiento.
Se seleccionan n im´agenes que se van a comparar con m im´agenes, por lo tanto el conjunto de entrenamiento es de tama˜no m*n
La base de im´agenes es un conjunto de 120 im´agenes de 20 diferentes clases de texturas. Se escogieron 3 im´agenes de cada clase para realizar el entre-namiento, (40 im´agenes forman el conjunto de las m im´agenes que se com-pararon con n=20 im´agenes), de esta forma el 50% del total de im´agenes que pertenecen a la base de im´agenes se utilizaron para calcular los valores de las variables w’s. Algunas de las im´agenes de entrenamiento se muestran en el Anexo I. El conjunto de entrenamiento esta formado por 800 pares de im´agenes.
i wY[i] wI[i] wQ[i] 0 -3.3125 -8.2042 -6.4702 1 54.0255 3.1910 33.8485 2 -33.7295 0.7586 2.3116 3 -10.4459 10.0618 -1.1609 4 -11.8159 -1.0765 -5.6510 5 -4.1197 -23.6725 -14.8875 6 -102.8750 -150.7576 -114.3588
La tabla anterior muestra los valores de las w’s que se obtuvieron al aplicar un m´etodo estad´ıstico el cual se explica en el ap´endice A. El valor del peso wi es menor al peso wj con i 6= j, si el nivel de resoluci´on i da mayor
in-formaci´on para medir la similitud con respecto al nivel de resoluci´on j. Por ejemplo para el vector wY en el nivel de resoluci´on 6 da m´as informaci´on (con respecto a los otros niveles de resoluci´on) para medir la similitud entre las im´agenes.
De las misma forma entre m´as grande sea el valor de un peso w, significa que ese nivel de resoluci´on no da mucha informaci´on para medir la similitud entre las im´agenes.
4.4.2 Usando la funci´on Daub4
La diferencia de utilizar la funci´on Daub4 est´a en que el nivel de menor resoluci´on esta formado por una matriz de 2*2, de la misma forma que se explic´o en la secci´on 4.4.1. Para cada imagen se tiene almacenada una matriz como se muestra en la figura 3.3, pero esta matriz se divide en 19 regiones (figura 4.2). Para obtener la medida de similitud S entre un par de im´agenes se comparan los coeficientes de cada una de las matrices asociadas a cada una de las im´agenes, as´ı se tiene una medida de similitud para cada una de las 19 regiones las cuales se denominan de la siguiente formaS1, S2, ..., S19.
El valor de cada Sn donde 0 < n ≤ 19, se decremet´o en m si hubo m
coeficientes con el mismo valor en la posiciones [i,j] de la matriz, en la re-gi´on n de la imagen de consulta con respecto a la imagen con la que se esta comparando.
Una vez que se obtuvieron todos los valores de Sn para 0 < n ≤ 19, se
calcula el valor de similitud S, de la siguiente forma:
S =
19 X
i=1
Figura 4.2: Se muestran los niveles de resoluci´on en los que se esta analizando a la imagen y como se esta calculando la medida de similitud
donde:
• Los valores deSi donde 1≤i≤6 se multiplican por un valor w5 • Los valores deSi donde 7≤i≤9 se multiplican por un valor w4 • Los valores deSi donde 10≤i≤12 se multiplican por un valor w3 • Los valores deSi donde 13≤i≤15 se multiplican por un valor w2 • Los valores deSi donde 16≤i≤19 se multiplican por un valor w1
S=w1 19 X
i=16
Si+w2 15 X
i=13
Si+w3 12 X
i=10
Si+w4 9 X
i=7
Si+w5 6 X
i=1
Si
Se utiliz´o la medida de similitud que se muestra en la ecuaci´on 4.4.1 El c´alculo de los valores dewi donde 0≤i≤5 se hiz´o con el m´etodo Logit
(ver ap´endice A). El conjunto de entrenamiento se seleccion´o como se indica en la secci´on 4.4.1.
i wY[i] wI[i] wQ[i] 0 -3.2012 -7.0191 -7.8650 1 16.4592 8.9301 2.5079 2 -20.2845 6.9204 0.6512 3 -4.3352 -8.0573 -9.6623 4 -17.1918 4.6940 -12.1149 5 -105.9540 -72.0418 -174.96
La tabla anterior muestra los valores de las w’s que se obtuvieron tambi´en al aplicar el m´etodo estad´ıstico explicado en el ap´endice A. Entre m´as grande sea el valor de un peso w, significa que ese nivel de resoluci´on no da mucha informaci´on para medir la similitud entre las im´agenes. En la tabla anterior wY en el nivel de resoluci´on 5 proporciona m´as informaci´on para medir la similitud entre las im´agenes y el nivel de resoluci´on 2 es el que proporciona menos informaci´on para la selecci´on de las im´agenes de la base de im´agenes en la recuperaci´on de las mismas cuando se presenta una imagen de consulta al sistema.
4.5
Redes Neuronales
Los modelos de redes neuronales artificiales, se conocen como sistemas conex-ionistas o modelos de procesamiento distribuido paralelo. Estos se diferen-cian unos de otros principalmente por el patr´on de interconexi´on que hay entre las neuronas y por la regla de aprendizaje que se use en la red. En estos modelos la unidad de procesamiento b´asica son las neuronas.
El diagrama de una neurona artificial se muestra en la figura 4.3.
Este es el modelo de red neuronal m´as simple y es el que propuso McCul-loch y Pitts, el cual tiene un vector de entradas X, que se multiplica por un vector de pesosW. Con esto la se˜nal de entrada se ve atenuada o incre-mentada en un factor w. El producto escalar entre estos 2 vectores X·W en el cuerpo o n´ucleo de la neurona artificial, es el argumento de la funci´on f(X·W) de activaci´on de la neurona. De acuerdo a lo anterior, se puede considerar los siguientes casos:
• Sif(X·W)> θ entonces la neurona se activa.
• En caso contrario la neurona no se activa.
Figura 4.3: Modelo de neurona artificial
Si la neurona se dispara transmite el valor de f(X·W) a trav´es de su ax´on y cuando otra(s) neuronas reciben esta se˜nal se establece una sinapsis entre ellas.
Mas tarde Hebb introdujo una regla de aprendizaje mediante reforzamiento (aprendizaje no supervisado).
El primer modelo neuronal de una capa de entrada y una capa de salida que utiliza una regla de aprendizaje supervisado, es el Perceptr´on, el cual solo puede resolver problemas de clasificaci´on linealmente separables. Esto quiere decir, que los patrones de entrada solo se clasifican como pertenecientes a dos clases, por ejemplo la clase A y la clase B, si se trabaja en una repre-sentaci´on de dos dimensiones. Un problema linealmente separable es aquel en el que los patrones de la clase A y los patrones de la clase B son separa-dos por una l´ınea recta. En la figura 4.4 se muestra un ejemplo de clases linealmente separables y linealmente no separables.
Un tipo de red multicapa que puede clasificar en 2 o m´as clases los patrones de entrada, es la red backpropagation. Este tipo de red es la que se muestra en la figura 4.6.
ar-Figura 4.4: Ejemplos de clases linealmente separables y linealmente no sep-arables