extracción de características de imágenes naturales en...

60
Equation Chapter 1 Section 1 Trabajo Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Extracción de características de imágenes naturales en color mediante análisis en componentes independientes Autora: Rocío Cortés Dobrito Tutora: Susana Hornillo Mellado Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2017

Upload: doancong

Post on 02-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Equation Chapter 1 Section 1

Trabajo Fin de Grado

Grado en Ingeniería de las Tecnologías de

Telecomunicación

Extracción de características de imágenes naturales

en color mediante análisis en componentes

independientes

Autora: Rocío Cortés Dobrito

Tutora: Susana Hornillo Mellado

Dep. Teoría de la Señal y Comunicaciones

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2017

Page 2: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de
Page 3: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

iii

Proyecto Fin de Carrera

Ingeniería de Telecomunicación

Extracción de características de imágenes naturales

en color mediante análisis en componentes

independientes

Autora:

Rocío Cortés Dobrito

Tutora:

Susana Hornillo Melado

Profesora Contratada Doctora

Dep. de Teoría de la Señal y Comunicaciones

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2017

Page 4: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de
Page 5: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

v

Proyecto Fin de Carrera: Extracción de características de imágenes naturales en color mediante

análisis en componentes independientes

Autora: Rocío Cortés Dobrito

Tutora: Susana Hornillo Mellado

El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:

Presidente:

Vocales:

Secretario:

Acuerdan otorgarle la calificación de:

Sevilla, 2017

Page 6: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

El Secretario del Tribunal

Page 7: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

vii

A mi familia

A mis maestros

Page 8: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de
Page 9: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

ix

Agradecimientos

En estas páginas expongo el último paso de una importante etapa en mi vida. En ella me he formado,

no solo como profesional, sino también como persona, gracias a todos los que me han acompañado en

este difícil camino.

En primer lugar, agradezco a mi familia el que me haya apoyado en todo momento en este difícil

recorrido. En especial a mi madre, que ha hecho posible el que yo tuviera la oportunidad de formarme

dónde, cuándo y según yo he decidido, aconsejándome y apoyándome en mis decisiones.

También dar las gracias a mis profesores, en espacial a Susana, mi tutora, por ayudarme a aprender y

darme los medios para ello.

No olvido, por supuesto, a mis compañeros de estudio, con los que tantas horas he pasado, y que han

estado ahí en los suspensos y en los aprobados.

No podía faltar, agradecerle a mis amigas, por escucharme y por ayudarme a seguir, siempre.

Rocío Cortés Dobrito

Sevilla, 2017

Page 10: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de
Page 11: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

xi

Resumen

El presente trabajo estudia la separación en componentes independientes de imágenes a color,

basándose en el proceso que se lleva acabo en los campos receptivos neuronales.

Como aplicación de este método, se presenta un clasificador de texturas de imágenes naturales a color,

basado en las características de la respuesta a los filtros obtenidos en la separación de componentes

independientes.

Para optimizar la eficiencia y robustez del clasificador, se estudia para distintos espacios a color,

obteniendo los parámetros adecuados para cada uno de ellos. Por último, se propone un método para

reducir la carga computacional.

Page 12: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de
Page 13: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

xiii

Abstract

In this paper, we study the independet component analysis applied to feature extraction from color

images, base on the neurons performance.

As an application of this work, a color texture clasificator is presented, based on the response to the

filters obtained in the feature extraction.

Although, to optimize the clasificator efficiency and robustness, it is studied for different color spaces,

obtaining the perfect parameters for each one. At last, a method to reduce the /carga computacional/ is

proposed.

Page 14: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de
Page 15: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

xv

Índice

Agradecimientos ix

Resumen xi

Abstract xiii

Índice xv

Índice de Tablas xvii

Índice de Figuras xix

Notación xxi

1 Introducción 1

2 Desarrollo Teórico 3

2.1 Algoritmo ICA 3

2.1.1 Motivación de ICA 3

2.1.2 Definición 4

2.1.3 Métodos implementados en MATLAB para ICA 4

2.1.4 FastICA 5

2.1.5 Propiedades del algoritmo fastICA 8

2.1.6 Otras aplicaciones de ICA 8

2.2 Espacios de color 9

2.2.1 Espacios de color basados en el HVS 9

2.2.2 Espacios de color para aplicaciones específicas 11

2.2.3 Espacios de color de la CIE 12

2.3 Clasificadores de texturas 14

2.3.1 Textones: origen y definición 14

3 Expermientos y resultados 17

3.1 Algoritmo básico 17

3.2 Obtención de los parámetros óptimos de distintos espacios de color 21

3.2.1 RGB 22

3.2.2 HSV 23

3.2.3 YUV 23

3.2.4 YIQ 24

3.2.5 CIE Lab 25

3.3 Resultados y comparativa de los espacios de color 26

3.4 Reducción del número de bases 26

3.4.1 YIQ 26

3.4.2 RGB 27

Page 16: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

3.4.3 HSV 27

3.4.4 YUV 27

3.4.5 CIE Lab 27

3.5 Resultados finales 28

3.6 Selector múltiple 28

3.7 Método descartado 28

4 Conclusiones y Discusión 29

Anexo A: Código Fuente 31

Parte1.m 31

Parte2.m 32

A.2.1 filtraycalculamomentos.m 32

Parte3.m 33

Selector.m 33

Referencias 35

Page 17: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

xvii

ÍNDICE DE TABLAS

Tabla 1. Variación del porcentaje de acierto respecto a los coeficientes de la función de momentos

20

Tabla 2. Tamaño de patch, RGB 22

Tabla 3. Porcentaje de Y, RGB 22

Tabla 4. Número de textones/clase, RGB 22

Tabla 5. Tamaño de patch, HSV 23

Tabla 6. Porcentaje de Y, HSV 23

Tabla 7. Número de textones/clase, HSV 23

Tabla 8. Tamaño de patch, YUV 23

Tabla 9. Porcentaje de Y, YUV 24

Tabla 10. Número de textones/clase, YUV 24

Tabla 11. Tamaño de patch, YIQ 24

Tabla 12. Porcentaje de Y, YIQ 24

Tabla 13. Número de textones/clase, YIQ 25

Tabla 14. Tamaño de patch, CIE Lab 25

Tabla 15. Porcentaje de Y, CIE Lab 25

Tabla 16. Número de textones/clase, CIE Lab 25

Tabla 17. Reducción de las bases para YIQ 26

Tabla 18. Reducción de bases para RGB 27

Tabla 19. Reducción de bases para HSV 27

Tabla 20. Reducción de bases para YUV 27

Tabla 21. Reducción de bases para CIE Lab 27

Tabla 22. Resultados finales 28

Tabla 23. Comparativa del método actual con otros para imágenes en blanco y negro 30

Page 18: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Tabla 24. Comparativa con el método de Chindaro et al. [31] 30

Tabla 25. Comparativa con otros resultados a color para la base CUReT [34] 30

Page 19: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

xix

ÍNDICE DE FIGURAS

Figura 1. Espectro visible, http://www.vix.com/es/btg/curiosidades/2011/10/02/el-espectro-visible-

de-luz 9

Figura 2. Comportamiento de los conos respecto a la longitud de onda.. Fuente: The Retina (1987),

Dowling, J. E. 10

Figura 3. Espacio de color HSV https://es.mathworks.com/help/images/convert-from-hsv-to-rgb-

color-space.html 11

Figura 4. Espacio de color YUV. Fuente: http://wolfcrow.com/blog/whats-the-difference-between-

yuv-yiq-ypbpr-and-ycbcr/ 12

Figura 5. Espacio de color YIQ. Fuente: fractal imagen compression using YIQ Color Space. Kumar,

A and Shani A. 12

Figura 6. Modelo de generación de imágenes de tres niveles. Fuente [26] 15

Figura 7. Base de datos CUReT. http://www.robots.ox.ac.uk/~vgg/research/texclass/setup.html 17

Figura 8. Imágenes 7, 13, 57 de la base CUReT y sus bases para R, G y B 18

Figura 9. Reconstrucción de la imagen variando el número de bases 19

Figura 10. Esquema de la fase de aprendizaje. 19

Figura 11. Esquema de la fase de clasificación 20

Figura 12. Comparativa aciertos de espacios de color 26

Figura 13. Imágenes similares en la base CUReT 29

Page 20: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de
Page 21: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

xxi

Notación

A Matriz de bases

X Matriz de datos de la entrada

Y Matriz con los datos colocados por patches en vectores

S Matriz de pesos

W Pseudoinversa de A

log Logaritmo en base 10

xi Columna i de la matriz X

f(x) Función de densidad de probabilidad de x

sen Función seno

tg Función tangente

arctg Función arco tangente

sen Función seno

E{x} Esperanza de x

I Matriz unidad

�� Vector x blanqueado

D Matriz diagonal de autovalores

E Matriz ortogonal de autovectores

H Entropía Diferencial

J

I

Neguentropía

Información mutua

XT Matriz traspuesta de X

SNR Signal-to-noise ratio

MSE Minimum square error

Kurt Kurtosis

Ener Energía

Page 22: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Skew Skewness

\ Backslash

⇔ Si y sólo si

Page 23: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

1 INTRODUCCIÓN

n este proyecto se va a investigar la extracción de características de imágenes naturales a color

mediante el análisis en componetes independientes para su posterior clasificación, sin ningún

procesado previo y sin conocimiento de la perspectiva e iluminación de las mismas. Para ello, se

utilizará el algoritmo ICA.

Desde los experimentos de Hubel y Wiesel (1962,1968) [1] y [2], ha habido un gran número de

estudios en los que las propiedades de los campos receptivos de las neuronas en el cortex visual

primario han intentado medirse y clasificarse. Más tarde, los estudios [3] concluyeron que las neuronas

realizan una reducción de redundancia y una descomposición factorial de las imágenes. Apoyándose

en esto, se estudió la manera de representar las imágenes computacionalmente de la forma más

eficiente posible: dividir la imagen en patches y representar cada uno como una combinación lineal de

‘bases’.

𝑥 = 𝐴𝑠 = ∑𝑎𝑖𝑠𝑖

𝑛

𝑖=1

(1.1)

Sin embargo, con ICA no solo logramos obtener las bases ai, sino que también se obtienen las

componentes independientes si, lo que lo convierte en un algoritmo idóneo para resolver el problema

de la separación ciega de fuentes, para lo que fue concebido. La representación final es similar a la

anterior. En [4], los filtros obtenidos con ICA se compararon a los que utilizan los campos neuronales

y se obtuvieron parámetros muy similares.

Mas se debe hacer una aclaración: el que los procedimientos y los resultados obtenidos en ICA puedan

compararse con la metodología que utiliza el cerebro humano no quiere decir que sea la misma,

simplemente se intenta imitar de forma computacional y sirve para explicar el porqué de su utilización.

Gracias a ICA se creará un diccionario de textones, que permitirá crear un clasificador de texturas. Los

métodos de clasificación de texturas pueden realizarse por diversos métodos.

Algunos son muy simples, como los basados en patrones binarios locales (LBP) de histogramas, que

resultan eficientes para imágenes invariantes a la rotación. Más tarde, se propusieron algunas mejoras

E

Page 24: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Introducción

2

de este y así conseguir que fuera más robusto.

Otros, para obtener los mencionados textones, filtran las imágenes y obtienen un set de 48 vectores

respuesta, que también se agrupan según el algoritmo k-means y su histograma se utiliza como la

textura modelo para la clasificación.

En este trabajo, las bases resultantes del algoritmo ICA serán los textones.

Concretamente, se va a hacer un clasificador de texturas a color. Este es un tema complicado, ya que

no solo incrementa la carga computacional, sino que también abre un amplio abanico de posibilidades

sobre cómo representar el color. Por ello, primero se van a estudiar distintos espacios de color y

después se harán pequeños experimentos que nos permitan descubrir cuál aporta mejores resultados

para qué casos.

El color es un atributo intrínseco de las imágenes que proporciona mucha más información que un

simple valor de luminancia y que puede permitir diferenciar texturas que si se clasifican en estéreo

pueden resultar iguales y, por lo tanto, fallar en su clasificación. El color y la textura son dos

características básicas usadas en muchas aplicaciones de procesamiento visual incluidas la visión

artificial, el análisis de escenas y secuencias de vídeo.

Estudios experimentales [5] demuestran que la inclusión del color mejora notablemente los resultados

de la clasificación sin complicar demasiado los algoritmos.

El clasificador se va a implementar en MATLAB. Aquí existen múltiples herramientas que realizan el

algoritmo ICA. También se estudiarán varias de ellas y se profundizará en la elegida.

Para probar la bondad del clasificador se utilizará la base de datos Columbia-Utrecht (CUReT), que

ya ha sido utilizada en otros experimentos, por ejemplo [6], y, por tanto, se podrán comparar los

resultados.

La finalidad es, por tanto, encontrar un método (espacio de color, parámetros y algoritmo) que dé el

mayor porcentaje de acierto a la hora de clasificar.

Este trabajo se divide en varias secciones. En la segunda se va a desarrollar teóricamente las ideas de

las que hemos hablado: ICA, espacios de color y reconocedores de texturas; en la tercera se aborda el

tema experimentalmente, exponiendo el método que se lleva acabo para obtener los resultados,

obtención de los parámetros óptimos en cada espacio de color, comparativa de los mismos y, por

último, un pequeño apartado en el que se explica un método descartado a la hora de abordar el tema

del color; en la sección cuatro se llega a una serie de conclusiones y se habla de algunas mejoras que

podrían hacerse. Por último, se incluye un anexo con el código que ha servido para realizar los

experimentos.

Page 25: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

2 DESARROLLO TEÓRICO

n este capítulo se va a hacer una explicación teórica de los recursos que se utilizarán en el trabajo:

el algoritmo ICA, los espacios de color y antecedentes sobre los clasificadores de texturas.

2.1 Algoritmo ICA

Como ya se adelantó en la introducción, ICA es un algoritmo que surgió por primera vez en 1961, y

una de sus características principales es la similitud de su trabajo con los campos receptores de las

neuronas.

ICA es una herramienta de análisis cuyo objetivo es descomponer una señal observada (imagen a color

de una textura en nuestro caso) en una combinación lineal de fuentes independientes. Surge de la

técnica conocida por su sigla BSS, o Blind Source Separation, que intenta obtener las fuentes

independientes a partir de combinaciones de las mismas.

2.1.1 Motivación de ICA

La separación ciega de fuentes es un problema más entendible si se expone un ejemplo de audio. Se

imagina que en una sala hay n personas hablando a la vez y se tienen una serie de micrófonos. En estos

micrófonos, se obtendrán distintas grabaciones x1(t), x2(t)… xn(t), las cuales serán la suma ponderada

de las señales de voz, ya que vienen de distintas personas situadas en distintos lugares. Es importante

aclarar que el número de fuentes debe ser igual al número de observaciones, por ello se han numerado

ambos de 1 a n en lugar de con dos subíndices diferentes. Dicho de otra manera:

𝑥1(𝑡) = 𝑏11𝑠1 + 𝑏12𝑠2 +⋯+ 𝑏1𝑛𝑠𝑛

𝑥2(𝑡) = 𝑏21𝑠1 + 𝑏22𝑠2 +⋯+ 𝑏2𝑛𝑠𝑛 (2.1)

⁝ ⁝ ⁝ 𝑥𝑛(𝑡) = 𝑏𝑛1𝑠1 + 𝑏𝑛2𝑠2 +⋯+ 𝑏𝑛𝑛𝑠𝑛

E

Page 26: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Desarrollo Teórico

4

Donde los parámetros b depende de la distancia a los micrófonos de las personas. Lo que se busca es

estimar las señales de voz originales (s1,s2,…sn) a partir de las grabaciones x1(t),x2(t)…xn(t). Este

problema es conocido como cocktail-party problem.

Para resolver este tipo de problemas, se ha desarrollado ICA, la cual ha gozado de un creciente interés

y una gran cantidad de aplicaciones, entre ellas, la extracción de características.

2.1.1.1 Las bases de ICA: Propiedades y su relación con los campos receptivos neuronales

Varios estudios, como [3] o [7] han concluido que los campos receptivos neuronales llevan a cabo un

análisis de componentes independientes. Esto no quiere decir que el algoritmo ICA actúe de igual

forma que las neuronas, sin embargo, explica el propósito de este tipo de análisis.

Es importante destacar que para poder comparar ambos procesos hemos de elegir imágenes similares

a las que llegan a las neuronas. Por suerte, ICA no es muy sensible a los sets de imágenes utilizados,

ya que varios experimentos que han utilizado este algoritmo con distintas bases de datos han obtenido

resultados similares, por ello es sencillo escoger el adecuado.

2.1.2 Definición

Como ya se adelantó en la introducción, ICA busca solucionar la siguiente ecuación:

𝑥 = 𝐴𝑠 = ∑𝑎𝑖𝑠𝑖

𝑛

𝑖=1

(2.2)

Donde A es la matriz de ‘bases’, desconocida para nosotros, y que luego servirá como diccionario de

textones.

2.1.3 Métodos implementados en MATLAB para ICA

En [8], se explica que existen dos ramas del algoritmo ica: estadísticos y geométricos. Los primeros,

como su nombre indica, usan propiedades estadísticas de las salidas observadas en la búsqueda de la

independencia entre ellas. Los segundos, usan la distribución geométrica de las señales de entrada para

la estimación de los parámetros de la matriz de bases.

2.1.3.1 Métodos ICA Geométricos

• LatticeICA. Se estudia el espacio de representación de las señales dividiéndolo en un conjunto

de rectángulos, formando un entramado, y se usan en el estudio de estas divisiones y sus

relaciones para obtener la matriz de bases.

• Método Geométrico por sectores. Se divide el espacio de la señal en sectores y se escogen

aquellos donde se hayan agrupado más puntos, pues son los que tendrán la recta que contiene

la pendiente que nos dará la matriz de separación.

• Método de separación de neuronas. Es un método genérico para N dimensiones. Consiste en

el emplazamiento de una neurona en cada uno de los extremos de los ejes de las señales que

se moverá adaptativamente para obtener la pendiente que se necesita para obtener la matriz de

Page 27: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

5 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

bases.

• Método de las Medias Ponderadas Cuadráticas. Evolución del anterior como un intento de

acelarar la ejecuticón para el cálculo de la pendiente de los ejes principales.

2.1.3.2 Métodos ICA Estadísticos

• Jade. Acrónimo en inglés de unión de diagonalizaciones aproximadas de automatrices. Es uno

de los mejores métodos de separación de señales, junto a FastICA.

• FastICA. Fue creado por Aapo Hyväirinen y Erkki Oja. Es uno de los mejores algoritmos de

separaciones de señales, aunque trabaja con mayor rapidez que el resto, lo que da pie a que sea

el que se utilice más tarde para obtener los resultados y estudiarlos. Es una adapatación de un

algoritmo de punto fijo de una regla de aprendizaje de una red neuronal, encontrando las

señales una a una.

• Basado en cumulantes. Algoritmos que generalizan el FastICA con técnicas estadísticas de

hasta sexto orden.

• SeekGenetic. Son algortimos híbridos de búsqueda estadístico-genética. Se suelen utilizar para

aplicaciones en tiempo real y búsquedas en grandes espacios.

• Infomax. Aunque este sea el único método que no se explica en [8], es importante nombrarlo.

Según [9], este método está muy relacionado con la estimación de la máxima probabilidad, y

se basa en maximizar la entropía de salida o el flujo de información de una red neuronal con

salidas no lineales.

2.1.4 FastICA

Como ya se ha adelantado, este algoritmo es uno de los mejores para la separación de señales y es el

más rápido, pero, antes de empezar el algoritmo, se realiza un preprocesado. El propio creador del

algoritmo lo explica en [10].

2.1.4.1 Preprocesado

Lo primero es centrar los datos en el origen. Para ello se elimina la media de dichos datos. Esto no

modifica el modelo, salvo que ahora disponemos de fuentes de media cero. Este paso simplifica los

algoritmos de ICA.

El segundo paso es blanquear los datos. Ahora los componentes de los datos serán incorrelados y

tendrán varianza unidad. Blaquear los datos no es más que hacer una transformación lineal por la que

los datos pasan a tener covarianza unidad. Denominaremos x a los datos (ya centrados) y �� a los datos

ya blanqueados. En términos matemáticos:

𝐸{����𝑇} = 𝐼 (2.3)

Realizar un blaqueado de los datos siempre es posible. Para llevarlo acabo, se suele utilizar la

descomposición en autovalores y autovectores de la matriz de covarianza de x, 𝐸{𝑥𝑥𝑇} = EDE𝑇,

donde E es la matriz ortogonal de autovectores y D es la matriz diagonal de autovalores. Una vez

obtenido esto, el blanqueo es sencillo:

Page 28: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Desarrollo Teórico

6

�� = ED− 1/2E𝑇𝑥 (2.4)

Aplicado a la ecuación general, obtenemos una nueva base ��.

�� = ED−1/2E𝑇As = As (2.5)

La utilidad de este paso es que la matriz A será ahora ortogonal.

A partir de ahora, asumiremos que los datos se les hace este preprocesado en el propio algoritmo.

2.1.4.2 Algoritmo

Para la obtención de A y S, en [10] el problema se plantea como un problema de optimización. En él,

se busca W, que surge de s=Wx, donde x son los datos de entrada y s es la transformada ICA de los

mismos.

Si volvemos al planteamiento general de ICA, x=As, observamos que W no es más que una

pseudoinversa de A.

En primer lugar, para poder llegar al problema es necesario definir una serie de términos:

Entropía diferencial (H):

𝑯(𝒚) = −∫𝒇(𝒚) 𝐥𝐨𝐠 𝒇(𝒚)𝒅𝒚

(2.6)

Neguentropía (J): información que puede ser guardada cuando se representa f(.) de forma eficiente. En

términos matemáticos:

𝐽(𝑦) = 𝐻(𝑦𝑔𝑎𝑢𝑠𝑠) − 𝐻(𝑦) (2.7)

donde ygauss tiene la misma media y varianza que y.

Información mutua (I): medida natural de la dependencia entre variables aleatorias. En forma de

ecuación:

𝐼(𝑦1,𝑦2, … , 𝑦𝑛) = 𝐽(𝑦) −∑𝐽(𝑦𝑖)

𝑖

(2.8)

Esta medida es interesante para restringir que las variables sean incorreladas. Esta es la medida teórica

de la independencia de variables aleatorias, por lo tanto, se usa para encontrar la transformada ICA.

Ahora ya sí se puede enunciar que W es aquella que minimiza I(x1,x2,…xn), donde x1,x2,…xn son las

transformadas ICA de la entrada s1,s2,…sn. Y, como I es invariable linealmente, también se puede decir

que W es aquella que maximiza J(x1,x2,…xn).

Buscando una ecuación más general de J, se llegó a la siguiente aproximación:

Page 29: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

7 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

𝐽(𝑦𝑖) ≈ 𝑐[(𝐸{𝐺(𝑦𝑖)} − 𝐸{𝐺(𝜈)}]2 (2.9)

donde c es una constante irrelevante, G(.) es cualquier función no cuadrática, ν es una variable

gaussiana de media cero y varianza unidad y yi es una variable aletaroria de media cero y varianza

unidad.

Aplicando dicha ecuación a nuestro modelo para encontrar una componente independiente tal que

yi=wTx, hay que maximizar JG:

𝐽𝐺(𝑤) ≈ [(𝐸{𝐺(𝑤𝑇𝑥)} − 𝐸{𝐺(𝜈)}]2 (2.10)

Donde w es un vector de pesos escogido para que 𝐸{(𝑤𝑇𝑥)2} = 1. A partir de esta ecuación, las

componentes independientes pueden ser estimadas una a una.

Sin embargo, se va a buscar un método más rápido para resolver este problema. Si extedemos este

resultado, obtenemos la matriz W (recordando, la pseudoinversa de A), usando la aproximación de la

minimización de I. Para llegar a esto, volvemos a que I ha de ser minimizada cuando la suma de las

neguentropías de los componentes se maximiza. Maximizando la suma de n funciones de contraste de

una unidad y, teniendo en cuenta la restricción de decorrelación, podemos reducir el problema al

siguiente problema de optimización:

maximizar∑𝐽𝐺(𝑤𝑖) con respecto a 𝑤𝑖, 𝑖 = 1,… , 𝑛

𝑛

𝑖=1

bajo la restricción 𝐸{(𝑤𝑘𝑇𝑥)(𝑤𝑗

𝑇𝑥)} = 𝛿𝑗𝑘

(2.11)

Donde wi en la solución optima del problema son las filas de W de la ecuación s=Wx.

En [10] se propusieron las siguientes funciones G(.) y sus derivadas:

1 1 1 1

1

1( ) log cosh( ) ( ) tanh( )G u a u g u a u

a

(2.12)

2 2

2 2 2 2

2

1( ) exp( / 2) ( ) exp( / 2)G u a u g u u a u

a

(2.13)

Donde 1≤a1≤2 y a2≈1. Los beneficios de estas ecuaciones son:

• G1 es una buena función en general.

• Cuando se busca que el método sea muy robusto es mejor utilizar G2.

• Si se necesita reducir carga computacional, se pueden usar aproximaciones lineales de G1 y

G2.

Una vez obtenida G y sus derivadas, se puede empezar con el algoritmo. Primero, se explican los pasos

a seguir para un solo vector w, es decir, estimar solo una componente independiente:

1. Escoger un vector (aleatorio) de pesos w.

2. Obtener w+ siguiendo la ecuación:

[ ( ) ] / [ ( ) ]T Tw w E xg w x w E g w x (2.14)

3. Se recalcula /w w w

Page 30: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Desarrollo Teórico

8

4. Si w no converge, volver a 2.

Llegados a este punto, es conveniente aclarar lo que es converger. En este caso siginifica que los puntos

w anteriores y los nuevos apuntan en la misma dirección.

Entendido esto, se puede explicar cómo estimar varias componentes independientes: se ha de ejecutar

el algoritmo de una unidad varias veces con múltiples vectores w1,…, wn.

Para prevenir que diferentes vectores converjan en el mismo máximo, se deben decorrelar las salidas

w1T x, ..., wn

T x tras cada iteración. Para logarlo, se presenta el método de [10]:

1. Obtener

/ TW W WCW

(2.15)

2. Repetir 1 y 2 hasta convergencia:

3 1

2 2

TW W WCW W (2.16)

Donde C es la matriz 1 TC W W .

2.1.5 Propiedades del algoritmo fastICA

• La convergencia es cúbica (o al menos cuadrática).

• No es necesario escoger el tamaño de paso, lo que facilita el uso del algoritmo.

• El algoritmo encuentra directamente componentes independientes de (prácticamente) alguna

distribución no gaussiana usando cualquier g no lineal.

• Los resultados del método pueden optimizarse escogiendo una g adecuada para cada caso.

• Los componentes pueden ser estimados uno a uno, lo que es equivalente a hacer una búsqueda

de proyección. Esto consigue reducir la carga computacional del método cuando solo se

necesitan estimar algunos de los componentes independientes.

• El algoritmo FastICA tiene la mayoría de las ventajas de los algoritmos neuronales.

2.1.6 Otras aplicaciones de ICA

De acuerdo con [11], existen diversas aplicaciones típicas del algoritmo ICA además de la separación

ciega de fuentes, que es lo que se estudia en este trabajo:

• Separación de artifacts en datos MEG

• Encontrar factores escondidos en datos financieros

• Reducir ruido en imágenes naturales

• Telecomunicaciones

Page 31: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

9 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

2.2 Espacios de color

El sistema visual humano (HVS) puede ver una parte del espectro electromagnético, aproximadamente

entre los 400 y los 750 nm. En esta franja, denominada espectro visible, es donde se ubican las distintas

longitudes de onda que comúnmente se denominan colores.

Figura 1. Espectro visible, http://www.vix.com/es/btg/curiosidades/2011/10/02/el-espectro-visible-de-luz

Un espacio de color es una notación por la que se pueden especificar los colores. Existen múltiples

espacios de color, ya que, en el fondo, como no son más que representaciones matemáticas de

fenómenos físicos, se puede abordar el tema desde muchas perspectivas. La elección de un espacio de

color es una tarea muy importante para la que se deben conocer y entender las distintas posibilidades

y así poder escoger la más adecuada para cada tarea.

También, otro de los motivos por los que existen múltiples modelos es la necesidad para la que se creó

cada uno de ellos: algunos están diseñados para que el usuario interactúe con ellos, siendo mejores a

la hora de su representación, otros para el procesamiento de datos por ordenador, los cuales buscan ser

lo más eficientes posibles u otros parten de unas necesidades específicas que han de cumplirse. Pero,

aunque tengan sus diferencias, todos ellos parten de tener el mismo número de variables y/o

dimensiones: tres. Es por ello, que se dice que el color es una función de tres variables.

Sin embargo, hay casos en los que este número se ve aumentado o reducido, dependiendo de las

necesidades del diseñador, para reducir costes o dar una información más detallada.

En [12] se propuso en 2003 la siguiente categorización de los espacios de color:

• Espacios de color basados en el sistema visual humano (HVS), que incluye el espacio de

color RGB, la teoría basada en colores oponentes y el “phenomenal color spaces”, donde

podemos incluir el HSV. Estos espacios parten de las propiedades del HVS.

• Espacios de color para determinadas aplicaciones, que incluyen los creados para el sistema

de televisión (YUV,YIQ), sistemas de fotografía (Kodak Photo YCC) y sistemas de

impresión (CMYK).

• Los espacios de color de la CIE, es decir, aquellos definidos por la CIE y que tienen

propiedades de gran importancia, como la linearidad perceptual y la independencia del

aparato utilizado.

En este trabajo se realiza una clasificación de acuerdo a los siguientes espacios de color: RGB (más

común), HSV (orientado a usuario), YIQ y YUV (no uniformes) y CIE Lab (uniforme).

2.2.1 Espacios de color basados en el HVS

La idea de estos espacios de color es describir el espectro visible de forma similar a como los humanos

detectan la luz, la almacenan y la procesan. Obviamente, esto implica conocer el HVS. La teoría

tricomática explica que existen tres tipos de fotoreceptores, aproximadamente sensibles al rojo, al

verde y al azul. En el HVS hay dos tipos de células: los conos (que detectan el color) y los bastones

Page 32: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Desarrollo Teórico

10

(que detectan el brillo). Centrándonos en los conos, vemos que existen tres tipos: L, M y S, que son

sensibles a las longitudes de onda largas, medianas y cortas.

2.2.1.1 Espacio de color RGB

El color se describe por tres componentes: R, G y B. El valor de estas componentes viene dado por las

siguientes ecuaciones:

𝑅 = ∫ 𝑆(𝜆)𝑅(𝜆)𝑑𝜆400

750

𝐺 = ∫ 𝑆(𝜆)𝐺(𝜆)𝑑𝜆400

750

𝐵 = ∫ 𝑆(𝜆)𝐵(𝜆)𝑑𝜆400

750

(2.17)

Donde 𝑆(𝜆) es el espectro luminosos y 𝑅(𝜆), 𝐺(𝜆), 𝐵(𝜆) son las funciones de sensibilidad para los

sensores R,G y B respectivamente.

Como podemos ver por las ecuaciones, los valores RGB dependen claramente de la sensibilidad del

sistema que captura la luz. Por eso, se dice que RGB es un espacio de color dependiente del aparato

donde se represente. A la hora de representar o imprimir también existen problemas de desigualdades

entre los sistemas que utilizan RGB. Por ello, aunque el espacio de color sea similar, se han creado

distintos espacios derivados de RGB, como sRGB o AdobeRGB.

Sin embargo, existen métodos para calibrar los sistemas que convierten el sistema RGB en un espacio

lineal, perceptualmente uniforme en cualquier momento que se necesite. Teniendo esto en cuenta, se

puede afirmar que el espacio de color RGB es un espacio uniforme que puede convertirse de un tipo a

otro siempre que se proporcionen los datos de calibración.

Figura 2. Comportamiento de los conos respecto a la longitud de onda.. Fuente: The Retina (1987), Dowling, J. E.

Las desventajas de este sistema en aplicaciones para imágenes naturales es la alta correlación entre sus

componentes: 0.78 Rbr, 0.98 Rgb y 0.94 rgb. Además, otro problema es la no uniformidad perceptual,

que ocasiona, por ejemplo, que la distancia euclídea entre dos colores sea muy baja.

Page 33: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

11 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

2.2.1.2 Espacio de color HSV: matiz-saturación-brillo

Es un espacio de color que entra dentro de los llamados “phenomenal color spaces”, compuesto por

tres atributos el matiz (hue, H), saturación (saturation, S) y el brillo (value, V).

• El matiz indica los diferentes colores, como el rosa, azul o verde, medidos de 0 ~360 grados.

• La saturación indica la pureza del color, siendo 0 si está muy mezclado con blanco y 1 no lo

está, si el color es muy vivo y puro.

• El brillo indica la intensidad de la luz, es decir el grado de claridad u oscuridad del color,

medido de 0(oscuro) a 1 (claro).

Figura 3. Espacio de color HSV https://es.mathworks.com/help/images/convert-from-hsv-to-rgb-color-space.html

Este tipo de representaciones son deformaciones del espacio de color RGB, normalmente, son simples

transformaciones lineales.

El paso del espacio RGB al HSV viene dado por las siguientes ecuaciones:

𝐻 =

{

𝑎𝑟𝑐𝑜𝑠

(𝑅 − 𝐺) + (𝑅 − 𝐵)

2√(𝑅 − 𝐺)2 + (𝑅 − 𝐵)(𝐺 − 𝐵), 𝐵 ≤ 𝐺

2𝜋 − 𝑟𝑐𝑜𝑠(𝑅 − 𝐺) + (𝑅 − 𝐵)

2√(𝑅 − 𝐺)2 + (𝑅 − 𝐵)(𝐺 − 𝐵), 𝐵 > 𝐺

𝑆 = max(𝑅, 𝐺, 𝐵) − min(𝑅, 𝐺, 𝐵)

max (𝑅, 𝐺, 𝐵)

𝑉 =max (𝑅, 𝐺, 𝐵)

255

(2.18)

2.2.2 Espacios de color para aplicaciones específicas

Esta categoría engloba aquellos espacios de color que se crearon para cubrir cierta necesidad. Este es

el caso, por ejemplo, del espacio de color CMYK, diseñado para la impresión, el cual no se va a

explicar ya que en este trabajo no se abordan temas de este tipo. Sin embargo, sí se va a experimentar

con el YIQ y el YUV, creados para la transmisión de televisión NTSC y PAL, respectivamente.

Estos espacios de color surgieron cuando se comenzaron a realizar las primeras transmisiones de

televisión a color. Debido a que se quería conseguir retrocompatibilidad con los sistemas que solo

recibían la señal de luminancia, se necesitó un espacio de color que transmitiese el color junto a esa

señal. Por ello, se decidió transmitir, junto a la luminancia Y dos señales de crominancia R-Y y B-Y.

Este sistema, además, se diseñó para minimizar el ancho de banda de las señales. Debido a que el HVS

es mucho menos sensible a la crominancia que a la luminancia, estas dos señales requerían mucho

Page 34: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Desarrollo Teórico

12

menos ancho de banda.

Figura 4. Espacio de color YUV. Fuente:

http://wolfcrow.com/blog/whats-the-difference-between-yuv-

yiq-ypbpr-and-ycbcr/

Figura 5. Espacio de color YIQ. Fuente: fractal imagen

compression using YIQ Color Space. Kumar, A and Shani A.

2.2.2.1 YUV

En el estándar europeo PAL, se empleó el espacio de color YUV dado por las siguientes ecuaciones:

𝑌 = 0.299𝑅 + 0.587𝐺 + 0.114𝐵

𝑈 = −0.147𝑅 − 0.289𝐺 + 0.437𝐵 = 0.493(𝐵 − 𝑌)

𝑌 = 0.615𝑅 − 0.515𝐺 − 0.1𝐵 = 0.877(𝑅 − 𝑌)

(2.19)

2.2.2.2 YIQ

Este es el espacio de color definido por el estándar americano NTSC, que es muy similar al europeo,

en realidad lo único que varía es la posición de los ejes I, Q respecto a los U y V. Por esto, la

componente Y tiene la misma ecuación.

𝐼 = 0.596𝑅 − 0.274𝐺 − 0.322𝐵 = 0.74(𝑅 − 𝑌) − 0.27(𝐵 − 𝑌)

𝑈 = 0.211𝑇 − 0.53𝐺 + 0.312𝐵 = 0.48(𝑅 − 𝑌) + 0.41(𝐵 − 𝑌)

(2.20)

2.2.3 Espacios de color de la CIE

La CIE (siglas en francés de la comisión internacional de la iluminación) es una organización dedicada

a la cooperación internacional y el intercambio de información relacionada con elarte y la ciencia de

la luz y la iluminación, el color y la visión, la fotobiología y la tecnología de la imagen.

Con unos fundamentos técnicos, científicos y culturales, la CIE es una organización independiente y

non-profit que sirve a los países miembros on a voluntary basis. Desde que se fundó en 1913, la CIE

se ha convertido en una organización profesional y ha sido aceptada como la mayor autoridad en los

temas nombrados anteriormente y ha sido reconocida por la ISO como un cuerpo de estandarización.

El primer espacio de color creado por la CIE fue el XYZ, que es un espacio de color artificial, cuya

característica más importante es la independencia de sus componentes. Este espacio de color suele ser

el espacio de color referente ya que todos los colores pueden transformarse a este y viceversa.

2.2.3.1 CIE Luv y CIE Lab

En 1976, la CIE propuso dos espacios de color: CIELuv y CIELab, cuya mejor característica es que

Page 35: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

13 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

proporcionan un espacio de color en el que las distancias euclídeas en él son muy similares a las

distancias percibidas por el ojo humano. Para conseguirlo, se han tenido en cuenta la adaptación

cromática y la no linealidad del HVS.

La principal diferencia entre ambos espacios de color es la adaptación cromática del modelo

implementado. CIELab normaliza los valores mediante la división del White point mientras que

CIELuv lo hace restándolo. Las ecuaciones de trasformación del CIE XYZ a CIELuv son las

siguientes:

𝐿∗ = 116 (𝑌

𝑌𝑛)

13⁄

− 16

𝑢∗ = 13𝐿∗(𝑢′ − 𝑢′𝑛)

𝑣∗ = 13𝐿∗(𝑣′ − 𝑣𝑛)

(2.21)

Si Y/Yn es menor de 0.01, para hallar L* se utilizará la siguiente ecuación:

𝐿∗ = 903.3𝑌

𝑌𝑛

(2.22)

Y las ecuaciones para obtener los elementos restantes son:

𝑢′ =4𝑋

𝑋 + 15𝑌 + 3𝑍

𝑢′𝑛 =4𝑋𝑛

𝑋𝑛 + 15𝑌𝑛 + 3𝑍𝑛

𝑣′ =9𝑋

𝑋 + 15𝑌 + 3𝑍

𝑣′𝑛 =9𝑋𝑛

𝑋𝑛 + 15𝑌𝑛 + 3𝑍𝑛

(2.23)

Los valores de los tristimulus 𝑋𝑛, 𝑌𝑛, 𝑍𝑛 son los estimulus de los objetos de color blanco.

Las ecuaciones para obtener el espacio CIELab:

𝐿∗ = 116 (𝑌

𝑌𝑛)

13− 16

𝑎∗ = 500 [(𝑋

𝑋𝑛)

13− (

𝑌

𝑌𝑛)

13]

𝑏∗ = 200 [(𝑌

𝑌𝑛)

13− (

𝑍

𝑍𝑛)

13]

(2.24)

Page 36: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Desarrollo Teórico

14

2.3 Clasificadores de texturas

Para cerrar esta sección, se va a hacer un breve resumen sobre los clasificaores de texturas, los métodos

más utilizados y cómo encaja el que se va implementar con ellos.

Una imagen de textura es según [1] una función de las siguientes variables: la textura de la superficie,

su albedo, la iluminación, la cámara y la posición de esta. Aunque estos dos últimos se mantengan

fijos, la variación de los restantes ocasiona grandes cambios en la apariencia de la imagen. Esto

provoca una gran disparidad de imágenes para una misma clase de textura, dificultando su

clasificación. Otro problema a tratar es que puede darse que dos texturas de clases diferentes puedan,

en ciertas condiciones, resultar muy similares.

La clasificación de texturas es un problema ya tratado por múltiples autores: Leung and Malik [13];

Cula and Dana [6]; Varma and Zisserman [14] y [15]; Hayman et al. [16]; Lazebnik et al. [17]; Zhang

et al. [18]; Varma and Garg [19]; Ojala et al. [20]; y para el que se han investigado diversos métodos.

De acuerdo con Xie, Zhang, You y Shiu [21] estos métodos pueden clasificarse según cinco criterios:

muestreo de las imágenes (puede ser denso o disperso), características de las imágenes (incluyendo las

respuestas de las imágenes filtradas o a los patches de las imágenes), características de particiones

(estas pueden ser a priori o a posteriori), etiquetado de características (se puede asignar una sola

etiqueta a cada partición del espacio de características o varias) y representación de las imágenes

(histograma o característica).

Existen clasificadores tan simples como los basados en patrones binarios locales (LBP) de

histogramas, que resultan eficientes para imágenes invariantes a la rotación. Más tarde, se propusieron

algunas mejoras de este y así conseguir que fuera más robusto.

Otras investigaciones populares apuestan por la clasificación de acuerdo con métodos de aprendizaje

de textones. Los estudios que se apoyan en este método pueden obtener el diccionario de múltiples

formas.

Algunos métodos detectan las regiones invariantes de las imágenes y construyen descriptores a partir

de la imagen spin y las características invariantes de la imagen. Estos descriptores se agrupan por el

algoritmo k-means y se obtiene el histograma de textones. Otros métodos añaden a esos descriptores

las características de SIFT o emplean un clasificador SVM.

También hay autores [13] que apuestan por la creación de textones a partir de vectores de

características agrupados según el k-means o de la extracción de las dimensiones fractales locales de

las respuestas a filtros MR8 [19]. Varma and Ziesserman [22], [14], modelaron las texturas como

distribuciones a lo largo de un set de textones, aprendidos de las respuestas de la entrada a un banco

de filtros MR8.

El aprendizaje de textones es el método seguido por el presente trabajo, donde se parte de la extracción

de características independientes con la ayuda del algoritmo ICA y se demuestra que se obtienen

resultados eficientes.

Volviendo al algoritmo ICA, y para aclarar términos, en este caso, el diccionario de textones estará

conformado por las bases ai, aunque podría haber otras interpretaciones del método que consideran

que los textones son las respuestas al banco de filtros A [23].

2.3.1 Textones: origen y definición

Llegados a este punto y, aunque en este entorno se haya definido texton, es conveniente aclarar el

origen y significado de este término.

Surgió por primera vez en 1981, en los estudios psicofísicos de Julesz [24], cuando descubrió que la

visión humana es más sensible a unas formas en unos entornos determinados que a otras. Esto le llevó

Page 37: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

15 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

a definir el concepto de texton como las estructuras atómicas a las que somos más sensibles. Sin

embargo, esto es un concepto muy vago y, pese a sus esfuerzos posteriores, no fue capaz de dar una

definición matemática.

Años más tarde, estudios de imágenes naturales, buscaron descomponer estas imágenes en bases

independientes. En el estudio de Olshausen y Field [25], las bases resultantes eran altamente correladas

y la imagen se codificaba de manera dispersa. Además, se contaba ya también con el algoritmo ICA,

que como ya sabemos, descompne la imagen como una superposición lineal de bases.

Partiendo de esto, en [26], la imagen se considera como un modelo generado en tres niveles. La imagen

I es una superposición de bases elegidas de un diccionario completo de bases Ψ. Estas bases, para

poder representarlas, se colocan en un mapa de características C. Este mapa es generado por un número

de textones que están en otro mapa T. Los textones que encontramos en el mapa T provienen de un

diccionario de textones completo Π. Los dos diccionarios son parámetros fijos, mientras que los dos

mapas serán modificados para que se adapten a cada imagen. Intuitivamente, se puede ver que los

textones serán objetos importantes de la imagen vistos desde la distancia. Este concepto es mucho más

concreto que el dado anteriormente.

Figura 6. Modelo de generación de imágenes de tres niveles. Fuente [26]

Pero, concretando aún más, se puede concluir que, para imágenes de texturas estáticas, si las colocamos

de manera que formen una estructura geométrica, los textones son imágenes de bases que se pueden

deformar espacialmente.

Page 38: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Desarrollo Teórico

16

Page 39: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

3 EXPERMIENTOS Y RESULTADOS

n primer lugar, se va a explicar el algoritmo de forma básica, sin prestar demasiada atención a

los datos, ya que en el siguiente apartado se variarán los parámetros para llegar a un resultado

óptimo.

3.1 Algoritmo básico

El procedimiento llevado acabo consta de dos fases: aprendizaje y clasificación. El aprendizaje

consiste en definir el diccionario de textones, filtrar las imágenes que se llamarán de entrenamiento y

hallar las características de las mismas, para luego poder compararlas con las características de las

imágenes filtradas a clasificar (llamadas imágenes de prueba) en la segunda fase.

Figura 7. Base de datos CUReT. http://www.robots.ox.ac.uk/~vgg/research/texclass/setup.html

Se parte de la base de imágenes CUReT, la cual consta de 61 clases en formato RGB. Esta base surgió

porque se necesitaba una base con muchas texturas distintas y que cada una de ellas tuviera ejemplos

en diferentes condiciciones de iluminación y puntos de vista. Cada clase tiene 92 imágenes, de las

cuales 46 servirán de entrenamiento y 46 de prueba. En un principio, el tamaño de patch será de 12 y

el número de textones por clase será 40.

Para definir los textones, se aplica el algoritmo fastICA ya explicado anteriormente. Para ello, se ha de

conseguir una matriz de vectores columna, cada uno de los cuales es un patch de tamaño 12x12

E

Page 40: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Expermientos y resultados

18

reorganizado de las imágenes de prueba (es decir, habrá 256 vectores de 144 componentes por cada

clase). Esta matriz, no tendrá las columnas ordenadas por número de imagen, sino que tendrán un

orden aleatorio. Este orden permite poder tomar un porcentaje pequeño de columnas para llevar a cabo

el algoritmo, (ya que el número total de columnas sería 256x46=11776 para cada clase) eliminando

redundancia y reduciendo el tiempo y los costes de ejecución. En este primer caso se ha tomado un

20% de columnas. Del algoritmo fastICA se obtiene la matriz de bases A y la matriz S, que indica el

peso de cada columna de A. Esto es útil si después se quiere reducir las dimensiones del diccionario.

Se ilustran las bases de cada plano de color para algunas imágenes:

Figura 8. Imágenes 7, 13, 57 de la base CUReT y sus bases para R, G y B

Al algoritmo se le piden solamente 40 bases, en lugar de 144, que sería lo máximo que se podría en

este caso, debido al tamaño de patch (12x12=144). Esto se debe a que no son necesarias todas las bases

para tener la información relevante de una imagen, de hecho, la mayoría son innecesarias, y reduce en

gran medida el coste computacional. Se ilustra a continuación una imagen original y sus reconstruidas

reduciendo el número de bases, en nuestro caso, cogeremos la del 27.78%, que son 40 bases en un

principio:

Page 41: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

19 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

Figura 9. Reconstrucción de la imagen variando el número de bases

En aras de tener el diccionario de textones completo, una vez obtenidas las bases de los tres planos de

color de cada clase, se organizan, poniéndolos todos seguidos en una sola matriz, que tendrá

61x40=2440 columnas, en principio en forma de vectores y, después, se reestructuran, para tener filtros

de dos dimensiones. El tamaño de estos filtros coincide con el de los patches definidos en un paso

anterior (12x12).

Figura 10. Esquema de la fase de aprendizaje.

Posteriormente, se filtran cada uno de los planos de todas las imágenes de entrenamiento, se agrupan

dichos planos para formar una imagen completa RGB ya filtrada y se obtienen los momentos de las

Page 42: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Expermientos y resultados

20

mismas. Se repiten estás dos últimas acciones para las imágenes de prueba.

Figura 11. Esquema de la fase de clasificación

Los momentos hallados se combinan creando una función de momentos, obtenidos

experimentalmente, esta función tendrá momentos de primer orden, segundo, tercero y cuarto:

varianza, skewness, kurtosis, energía y media. Estas medidas representan diferentes características de

una distribución. La varianza representa el grado de dispersión de una distribución; la kurtosis mide la

desviación de una distribución de la distribución gaussiana; la skewness indica la asimetría de una

distribución.

2 2

3

3

3

4

4

4

2( , )m n

Media E X

Varianza E X

E XSkewness

E XKurtosis

Energía E x n m

(3.1)

Combinándolas, se obtiene una definición compacta de la función de distribución. Los coeficientes de

cada uno de los elementos se han calculado de forma experimental, resultando estos los más adecuados

en este caso. En forma de ecuación:

𝐹𝑚𝑜𝑚(𝑚, 𝑡) = 0.5 ∗ 𝑣𝑎𝑟𝑖𝑎𝑛𝑧𝑎(𝑚, 𝑡) + 6|𝑠𝑘𝑒𝑤(𝑚, 𝑡)| + 4𝑘𝑢𝑟𝑡(𝑚, 𝑡)+ 7𝑥10−6 ∗ 𝑒𝑛𝑒𝑟𝑔í𝑎(𝑚, 𝑡) + 0.8𝑚𝑒𝑑𝑖𝑎(𝑚, 𝑡)

(3.2)

donde las variables m y t indican a qué imagen se está calculando los momentos y por qué filtro ha

sido filtrada, respectivamente. Por ilustrar que estos han resultado los más eficientes, se muestra en la

tabla lo que ocurre al variarlos, partiendo de un porcentaje de acierto en un caso determinado, con la

ecuación 3.2 del 95.21%:

Tabla 1. Variación del porcentaje de acierto respecto a los coeficientes de la función de momentos

Page 43: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

21 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

Varianza Acierto

Duplicar 93.04%

Dividir a la mitad 93.91%

Eliminar 94.34%

Skewness Acierto

Duplicar 93.41%

Dividir a la mitad 94.34%

Eliminar 90.86%

Kurtosis Acierto

Duplicar 94.34%

Dividir a la mitad 94.04%

Eliminar 92.60%

Energía Acierto

Duplicar 93.91%

Dividir a la mitad 94.34%

Eliminar 95%

Media Acierto

Duplicar 93.47%

Dividir a la mitad 94.78%

Eliminar 93.91%

Por último, se calcula la distancia de correlación entre los momentos de prueba y entrenamiento

mediante el algoritmo knnsearch [27]. Se determina que la clase a la que pertenece la imagen de prueba

es a la que pertenezca la imagen de entrenamiento cuyo momento ha resultado más cercano.

Para calcular el procentaje de acierto, se utiliza la matriz que devuelve knnsearch y se divide,

redondeando hacia arriba, entre el número de clases. Clase a clase, se toman los cuarenta y seis

elementos de prueba y se comprueba que pertenecen a su clase real. Después, los errores se van

sumando hasta haber comprobado todas las clases y se calcula el porcentaje de error. Se hace el

porcentaje inverso y se obtiene el porcentaje de acierto.

3.2 Obtención de los parámetros óptimos de distintos espacios de color

Apoyándonos en [28],se ha decidido realizar pruebas con cinco de los espacios de color explicados

con anterioridad. Para una mayor velocidad de descarte de parámetros, las pruebas se han realizado

para diez de las sesenta y una clases. Se ha de aclarar que cada uno de los espacios de color tendrán

unos parámetros óptimos, por lo que se tiene que experimentar con cada uno de ellos. Cuando se varíe

un parámetro, los otros quedarán fijos, y, cuando este resulte óptimo, se fijará para continuar con los

restantes.

Los únicos parámetros que serán comunes a todos los espacios de color son el número de clases y el

número de imagen para cada una, puesto que es evidente que cuantas menos clases menos probabilidad

de error y ahora solo se está haciendo una optimización de parámetros. Respecto al número de

imágenes, Varma y Ziesserman [29] determinaron que 46 era el número óptimo de entrenamiento.

Los parámetros a variar son tamaño de patch, porcentaje de Y que se le pasa al algoritmo y número de

textones por clase.

Page 44: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Expermientos y resultados

22

3.2.1 RGB

Tabla 2. Tamaño de patch, RGB

Tamaño de patch Porcentaje de acierto

12 93.04 %

14 92.82%

10 93.49%

81 94.34%

Tabla 3. Porcentaje de Y, RGB

Porcentaje Y Porcentaje de acierto

20 94.34%

10 93.91%

30 94.34%

Tabla 4. Número de textones/clase, RGB

Número de textones/clase Porcentaje de acierto

40 94.34%

30 94.35%

50 95%

60 93.91%

Parámetros escogidos para RGB: tamaño de patch 18, porcentaje de Y 20. Como con 20% y 30%

da lo mismo, se escoge 20 para reducir la carga computacional y textones/clase: 50.

1 El tamaño de patch no puede seguir reduciéndose debido a que el algoritmo no encuentra la convergencia para tam patch = 6 satisfactoria y solicita que se aumente el tamaño de los datos.

Page 45: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

23 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

3.2.2 HSV

Tabla 5. Tamaño de patch, HSV

Tamaño de patch Porcentaje de acierto

12 94.96%

14 92.83%

10 93.26%

Tabla 6. Porcentaje de Y, HSV

Porcentaje Y Porcentaje de acierto

20 94.96%

10 92.83 %

30 93.47 %

Tabla 7. Número de textones/clase, HSV

Número de textones/clase Porcentaje de acierto

40 94.96%

30 93.26%

50 93.04%

Parámetros escogidos para HSV: tamaño de patch=12; porcentaje de Y= y textones/clase=40.

3.2.3 YUV

Tabla 8. Tamaño de patch, YUV

Tamaño de patch Porcentaje de acierto

12 71.95 %

14 71.09%

10 71.73%

Page 46: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Expermientos y resultados

24

Tabla 9. Porcentaje de Y, YUV

Porcentaje Y Porcentaje de acierto

10 75.87 %

20 71.95%

5 74.78%

Tabla 10. Número de textones/clase, YUV

Número de textones/clase Porcentaje de acierto

40 75.87%

30 70.89%

50 76.96%

60 75.62%

Parámetros escogidos para YUV: tamaño de patch=12; porcentaje de Y=10% y

textones/clase=50.

3.2.4 YIQ

Tabla 11. Tamaño de patch, YIQ

Tamaño de patch Porcentaje de acierto

12 94.13 %

14 94.78 %

16 95.65 %

18 96.74%

20 95.43%

Tabla 12. Porcentaje de Y, YIQ

Porcentaje Y Porcentaje de acierto

20 96.74%

10 95 %

30 95.87%

Page 47: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

25 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

Tabla 13. Número de textones/clase, YIQ

Número de textones/clase Porcentaje de acierto

40 96.74%

30 95%

50 95.43%

Parámetros escogidos para YIQ: tamaño de patch=18; porcentaje de Y=20;

textones/clase=40.

3.2.5 CIE Lab

Tabla 14. Tamaño de patch, CIE Lab

Tamaño de patch Porcentaje de acierto

12 96.30%

14 95.65%

10 96.74%

8 96.30 %

Tabla 15. Porcentaje de Y, CIE Lab

Porcentaje Y Porcentaje de acierto

20 96.74 %

10 96.30 %

30 96.52 %

Tabla 16. Número de textones/clase, CIE Lab

Número de textones/clase Porcentaje de acierto

40 96.74%

30 96.30%

50 96.52%

Parámetros escogidos para CIE Lab: tamaño de patch=10; porcentaje de Y=20;

textones/clase=40.

Page 48: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Expermientos y resultados

26

3.3 Resultados y comparativa de los espacios de color

Una vez obtenidos los parámetros óptimos para cada espacio de color se muestra una gráfica, para las

10 clases, que compara los resultados obtenidos de cada experimento:

Figura 12. Comparativa aciertos de espacios de color

3.4 Reducción del número de bases

Antes de presentar los resultados para las 61 clases, se va a intentar reducir la carga computacional del

método. Para ello se va a hacer uso de una nueva función que escogerá las bases con más peso a través

de la matriz S. Esto permite que, aunque a fastICA se le pidan 30 o 40 componentes independientes,

podamos seleccionar los 10 o 15 mejores. Evidentemente, se pierde algo de eficiencia, pero la

diferencia de carga computancional es notable.

De nuevo, se hacen varias pruebas para escoger el número de bases en cada espacio de color.

3.4.1 YIQ

Tabla 17. Reducción de las bases para YIQ

Número de bases seleccionadas Porcentaje de acierto Tiempo de ejecución (min)

Sin reducción 96.74% 1502

10 94.34% 24.83

15 96.08% 23.83

2 El tiempo dado para el métido sin reducción es una aproximación.

95 94,96

76,79

96,74 96,74

05

101520253035404550556065707580859095

100

RGB HSV YUV YIQ CIE Lab

Porcentaje de acierto

% de acierto

Page 49: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

27 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

3.4.2 RGB

Tabla 18. Reducción de bases para RGB

Número de bases seleccionadas Porcentaje de acierto Tiempo de ejecución (min)

Sin reducción 95 180

10 94.78% 29.09

15 93.91 40

3.4.3 HSV

Tabla 19. Reducción de bases para HSV

Número de bases seleccionadas Porcentaje de acierto Tiempo de ejecución (min)

Sin reducción 94.96 180

10 93.69% 34.7

15 92.60% 41

3.4.4 YUV

Tabla 20. Reducción de bases para YUV

Número de bases seleccionadas Porcentaje de acierto Tiempo de ejecución (s)

Sin reducción 76.79% 180

10 76.08% 28

15 76.76% 45

3.4.5 CIE Lab

Tabla 21. Reducción de bases para CIE Lab

Número de bases seleccionadas Porcentaje de acierto Tiempo de ejecución (min)

Sin reducción 96.74 150

10 95.93 46

15 95.43 42

Page 50: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Expermientos y resultados

28

3.5 Resultados finales

En esta tabla se presentan los resultados finales de los cinco espacios de color con sus parámetros

óptimos y aplicando la función de bases dominantes para poder reducir la carga computacional para

todas las clases de la base CUReT. El espacio de color YUV se ha descartado debido a su bajo

porcentaje de acierto para 10 clases en comparación con los demás.

Tabla 22. Resultados finales

Espacio de color Porcentaje de acierto

YIQ 84.60 %

RGB 78.45%

HSV 80.01%

CIE Lab 82.71%

3.6 Selector múltiple

Una vez obtenidos los resultados para los cuatro espacios de color, se han unido todos los datos para

poder realizar un selector que permita mejorarlos. Para ello, se han tomado las dos primeras opciones

de cada uno de los espacios y se ha formado una matriz de clase con los ocho resultados posibles. Para

cada imagen, se toma la decisión de coger el que más se repite entre los resultados. Los resultados

finales dan un porcentaje de acierto del 85.81%.

3.7 Método descartado

Además del método propuesto, en el que se obtiene un diccionario de textones 3D, pero los momentos

calculados son los de las imagenes con los tres planos ya agrupados, se pensó otro procedimiento.

En él, primero se obtenían tres diccionarios de textones, uno para cada plano: diccionarioR,

diccionarioG y diccionarioB. Después, por separado, filtraba cada componente de las imágenes de

entrenamiento y hallaba su función de momentos: FmomR, FmomG y FmomB. Se hacía lo mismo para

la imagen de prueba.

Se obtenía la clase de cada plano por separado: claseR, claseG y claseB. Por último, se elegía la clase

más repetida entre las dos primeras opciones de los tres planos.

El método fue descartado por su reducido porcentaje de aciertos en comparación con el presente:

49.70% para diez clases, en RGB.

Page 51: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

29

4 CONCLUSIONES Y DISCUSIÓN

En este trabajo, se propone un método de aprendizaje de textones sencillo de implementar que muestra

resultados prometedores y, además, permite usar los distintos espacios de color existentes,

concluyendo que, por separado, el más efectivo ha resultado el espacio de color YIQ con un 84.60%

de acierto. Y, si se aprovechan los resultados obtenidos por los cuatro espacios con un selector, se

obtiene una eficiencia del 1.2% más.

Observando los resultados obtenidos, se puede resaltar que este método permite diferenciar dos

texturas que sin información de color serían iguales y por lo tanto darían lugar a fallos mientras que

ahora resultan distintas al clasificador (basándonos en los resultados de la base CUReT en las imágenes

que se muestran a continuación):

Figura 13. Imágenes similares en la base CUReT

Sin embargo, para probar los resultados en este punto, se necesitaría una base que permitiese utilizar

el clasificador para texturas similares, pero de distinto contenido cromático.

Las ventajas de este clasificador son, por tanto, que es capaz de aprovechar la información del color,

que es muy importante y utilizada, ya que las imágenes tomadas al natural pueden resultar distintas

debido a esto; su invarianza y efectividad ante cambios de iluminación y perspectiva y que no requiere

información previa de las imágenes a tratar.

Como inconveniete el coste computaciónal de realizar el clasificador. La efectividad del clasificador

se podría aumentar mejorando el selector final, ya que únicamente se ha escogido la clase que más

repite entre las dos primeras opciones de los espacios de color.

Comparando los resultados con los de otros métodos, es complicado encontrar aquellos que puedan

resultar más similares, ya que la mayoría son para imágenes en escala de grises.

Page 52: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Conclusiones y Discusión

30

30

Tabla 23. Comparativa del método actual con otros para imágenes en blanco y negro

Método Porcentaje de acierto para base CUReT

Actual 85.81%

Zung et al. [18] 95.30%

Lazebnik et al. [30] 72.50%

Tabla 24. Comparativa con el método de Chindaro et al. [31]

Método Espacio de color Porcentaje de acierto

Actual RGB 78.45%

HSV 80.81%

Lab 82.71%

YIQ 84.60%

Selector 85.81%

Chindaro et al. [31] RGB 43.8%

HSV 73.1%

Lab 63.9%

YIQ 69.7%

Selector 93.3%

En esta última comparativa, se debe aclarar que la base de datos utilizada por los otros autores no es

la CUReT completa como para los presentes resultados, sino para 20 imágenes de la VisTex [32]

más otras 40 de la Texture Library database [33].

Tabla 25. Comparativa con otros resultados a color para la base CUReT [34]

Método Porcentaje de acierto para base CUReT

Actual 85.81%

Arizazhagan and Benitta [34] 98.79%

Page 53: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

31 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

ANEXO A: CÓDIGO FUENTE

En este anexo se ilustrará el código de MATLAB utilizado. Solamente se va a añadir el de un espacio

de color, concretamente para RGB, y después se indicarán las modificaciones que habría que hacer

para los demás.

Parte1.m

close all

clear all

% load 'texturas.mat'

load '../imagenesCOMPLETO.mat'

px=8; % Tamaño de patch

sol=0; % Solape

lastEig=60; % Número de columnas de cada base. Empezamos con 40;

Nsub=46; % Número de imagenes de prueba y entrenamiento de cada clase

NClases=10; % Número de clases

tamy=size(generarYsol(im(1,1).ent(:,:,1),px,sol),2);

for i=1:NClases

for p=1:3

for j=1:Nsub

aux(:,(j-1)*tamy+1:(j*tamy))=generarYsol(im(i,p).ent(:,:,j),px,sol);

end

aux=reordenar(aux);

%im(i,p).y=aux; %Cojo todas las Y

im(i,p).y=aux(:,1:floor(0.2*(size(aux,2)))); % Cojo el 20% de las columnas

[im(i,p).A,im(i,p).S]=fastica(im(i,p).y,'lastEig',lastEig);

clear aux;

end

fprintf('Finalizada la clase %d\n\n',i);

end

k=1;

for indic=1:NClases

rojo=size(im(indic,1).A,2);

verde=size(im(indic,2).A,2);

azul=size(im(indic,3).A,2);

for j=1:(min([rojo,verde,azul]))

for p=1:3

columna=im(indic,p).A(:,j);

diccionario(k,p).filtro=defrac(columna,px,px);

diccionario(k,p).clase=indic;

clear columna;

end

k=k+1;

end

end

Page 54: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Anexo A: Código Fuente

32

32

Parte2.m

tic

[momentos_e,momentos_p] = filtrayCalculaMomentos_v03(im,diccionario,NClases,

Nsub);

clear im;

toc

A.2.1 filtraycalculamomentos.m

function [momentos_e,momentos_p] =

filtrayCalculaMomentos_v03_HSV(im,diccionario,NImagenes, Nsub)

m=1;

for j=1:NImagenes % j-ésima imagen de prueba

for s=1:Nsub % Subimagen s-ésima de la imagen j-ésima

t=1; %Índice de las columnas de las matrices de Fmom y Fmom2

for k=1:size(diccionario,1) % idi-ésimo filtro que corresponde a la

columna idi-ésima del diccionario

for p=1:3

ref(:,:,p)=filter2(diccionario(k,p).filtro,double(im(j,p).ent(:,:,s)),'valid'

);

end

maxi= max(abs(ref(:))); vari= var(ref(:));

skew= skewness(ref(:)); kurt= kurtosis(ref(:));

ener= sum(sum(sum(ref.^2))); media= mean(ref(:));

momentos_e.Fmom2(m,t)=0.5*vari+6*abs(skew) + 4*kurt+7e-

6*ener+0.8*media;

momentos_e.Fmom(m,t) =ener*1e-5+vari*1e-1+skew+kurt;

clear ref;

% Imagen de prueba

for p=1:3

ref(:,:,p)=filter2(diccionario(k,p).filtro,double(im(j,p).prueba(:,:,s)),'val

id');

end

maxi= max(abs(ref(:))); vari= var(ref(:));

skew= skewness(ref(:)); kurt= kurtosis(ref(:));

ener= sum(sum(sum(ref.^2))); media= mean(ref(:));

momentos_p.Fmom2(m,t)=0.5*vari+6*abs(skew) + 4*kurt+7e-

6*ener+0.8*media;

momentos_p.Fmom(m,t) =ener*1e-5+vari*1e-1+skew+kurt;

Page 55: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

33 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

clear ref;

t=t+1;

end

m=m+1;

fprintf('Hallados los momentos de la clase %d de la imagen

%d\n',j,s);

end

fprintf('Finalizada la clase %d\n\n',j);

end

end

Parte3.m

[claseRGB, dr]=knnsearch(momentos_e.Fmom2, momentos_p.Fmom2, 'dist',

'spearman', 'k', 7);

claseRGB=ceil(claseRGB/Nsub);

fallosFmom2=0;

maximo=0;

max=0;

for ii=1:NClases

a=0;

disp(['Fmom2 ','Imagen ',num2str(ii), ' :',num2str(claseRGB(((ii-

1)*Nsub)+1:ii*Nsub,1)')]);

a=length(find(ii ~= claseRGB(((ii-1)*Nsub)+1:ii*Nsub,1)'));

disp(['Errores en la clase ',num2str(ii),': ', num2str(a)]);

if a>max

maximo=ii;

max=a;

end

fallosFmom2=fallosFmom2+a;

end

disp(['Aciertos Fmom2:', num2str(100-(fallosFmom2*100/(NClases*Nsub)))]);

disp(['Clase con más fallos; ',num2str(maximo)]);

fprintf('\n');

Selector.m

clear all

close all

load 'RGB/claseRGBCOMPLETO'

Page 56: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Anexo A: Código Fuente

34

34

load 'HSV/claseHSV_COMPLETA'

load 'YIQ/claseYIQCOMPLETO'

load 'lab/claseLABCOMPLETO'

total=[claseRGB(:,1:2),claseHSV(:,1:2),claseYIQ(:,1:2),claseLAB(:,1:2)];

clase=mode(total')';

NClases=61;

Nsub=46;

fallosFmom2=0;

maximo=0;

max=0;

for ii=1:NClases

a=0;

disp(['Fmom2 ','Imagen ',num2str(ii), ' :',num2str(clase(((ii-

1)*Nsub)+1:ii*Nsub,1)')]);

a=length(find(ii ~= clase(((ii-1)*Nsub)+1:ii*Nsub)'));

disp(['Errores en la clase ',num2str(ii),': ', num2str(a)]);

if a>max

maximo=ii;

max=a;

end

fallosFmom2=fallosFmom2+a;

end

disp(['Aciertos: ', num2str(100-(fallosFmom2*100/(NClases*Nsub)))]);

disp(['Clase con más fallos; ',num2str(maximo)]);

fprintf('\n');

Page 57: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

35 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

REFERENCIAS

[1] D. Hubel y T. Wiesel, «Receptive fields, binocular interacition and functional architectura in the

cat's visual cortex,» Journal of Physiology, pp. 160: 106-154, 1962.

[2] D. Hubel y T. Wiesel, «Receptive fields and functional architecture of monkey striate cortex,»

Journal of Physiology, pp. 195:2-243, 1968.

[3] H. B. Barlow, «Unsupervised learning,» Neural Computation, pp. 1:295-311, 1989.

[4] J. H. van Hearten y A. van der Schaaf, «Independent component filters of natural images

compared with simple cells in primary visual cortex,» Royal Society serie B, pp. 256:359-366,

1998.

[5] S. Gai, «Efficient Color Texture Classification Using Color Monogenic Wavelet Transform,»

Neural Process Letters, pp. 1-18, 2017.

[6] O. G. Cula y K. J. Dana, «Recognition methods for 3D textured surfaces,» de Human Vision and

Electronic Imaging VI, 2001.

[7] D. J. Field, «What's the goal of sensory coding?,» Neural computation, nº 6, pp. 559-601, 1994.

[8] J. Górriz, C. Puntonet, J. Méndez, M. Salmerón y M. Cazalla, «Implementación en MATLAB

de los algoritmos de separación de señales (ICA) basados en el análisis de componentes

independientes: ICATOOLBOX2.0.,» Universidad de Cádiz; Universidad de Granada, 2004.

[9] A. Hyvärinen, J. Karhunen y E. Oja, Independent Component Analysis, New York / Chichester

/ Weinheim /Brisbane / SIngapore / Toronto: John Wiley & Sons, Inc., 2001.

[10] A. Hyvärinen, “Fast and Robust Fixed-Point Algorithms for Independent Component Analysis,”

Helsinki, 1999.

[11] A. Hyvärinen and E. Oja, “Independent Component Analysis: Algorithms and Applications,”

Helsinki, 2000.

[12] M. Tkalcic y J. F. Tasic, «Colour spaces - perceptual, historical and applicational background,»

de Eurocon, Ljubljana, 2003.

[13] T. Leung y J. Malik, «Representing and recognizinf the visual appearance of materials using

three-dimensional textons,» Int. J. Comput. Vis., vol. 43, nº 1, pp. 29-44, 2001.

Page 58: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Referencias

36

36

[14] M. Varma y A. Ziesserman, «A statistical approach to material classification from single

images,» Int. J. Comput. Vis., vol. 59, nº 1, pp. 33-60, 2009.

[15] M. Varma y A. Ziesserman, «A statistical approach to texture classification from single images,»

International Journal of Computer Vision, vol. 1, nº 62, pp. 61-81, 2005.

[16] E. Hayman, B. Caputo, M. Fritz y J. Eklundh, « On the significance of real-world conditions for

material classification,» de Eight European Conference on Computer Vision, 2004.

[17] S. Lazebnik, C. Schimid y J. Ponce, «A sparse texture representacion using affine-invariant

regions,» de Proceedings of 2003 IEEE computer society conference on computer vision and

pattern recognition, 2003.

[18] J. Zhang, M. Marszalek, S. Lazebnik y C. Schmid, «Local features and kernels for classification

of texture and object categories: a comprehensive study,» de Conference on computer vision and

pattern recognition workshop, 2006.

[19] M. Varma y R. Garg, «Locally inariant fractal features for statistical texture classification,» de

Proceedings of International Conference computer Vision, 2007.

[20] T. Ojala, T. Maenpaa y M. Pietikainen, « Multiresolution grayscale and rotation invariant texture

classification with local binary patterns.,» Transactions on Pattern Analysis and Machine

Intelligence, vol. 7, nº 24, pp. 971-987, 2002.

[21] J. Xie, Z. L. and S. Shiu, “Effective texture classification by texton encoding induced statistical

features,” Pattern Recognition, vol. 48, no. 2, pp. 447-457, 2015.

[22] M. Varma y A. Ziesserman, «Classifying images of materials: achieving viewpoint and

illuminarion independence,» de Proceedings of European conference Computer Vision, 2002.

[23] L. van der Maaten y E. Postma, «Texton-based Texture Classification,» Maastricht.

[24] B. Julesz, «Textons, the elements of texture perception and their interaction,» Nature, nº 290, pp.

91-97, 1981.

[25] B. Olshausen y D. J. Field, « Sparse coding with an overcomplete basis set: A strategy employed

by V1?,» Vision Research, nº 37, pp. 3311-3325, 1997.

[26] S. Zhu, C. Guo, Y. Wang y Z. Xu, «What are Textons?,» International Journal of Computer

Vision, nº 62, pp. 121-143, 2005.

[27] T. Cover y P. Hart, «Nearest neighbour pattern classification,» IEEE Trans. Inf. Theory, vol.

1098, nº 14, pp. 515-516, 1982.

[28] K. Sirlantzis, F. Deravi y S. Chindaro, «Texture classification system using colour space fusion,»

Electronics Letters, vol. 41, nº 10, 2005.

[29] M. Varma y A. Zisserman, «A Statistical Approach to Texture Classification from Single

Page 59: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

37 Extracción de características de imágenes naturales en color mediante análisis en componentes independientes

Images,» Oxford.

[30] S. Lazebnik, C. Schmid y J. Ponce, «A sparse texture representation using local affine regions,»

IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 27, nº 8, pp. 1265-1278,

2005.

[31] S. Chindaro, K. Sirlantzis y F. Deravi, «Texture classification system using colour space fusion,»

Electronics Letters, vol. 41, nº 10, 2005.

[32] «VisTex 2000, Colour Image Database».

[33] «The Texture Library Database».

[34] S. Arivazhagan y R. Benitta, «Texture classification using color local texture features,» de

International Conference on Signal Processing, Image Processing and Pattern Recognition ,

2013.

[35] T. Leung y J. Malik, «Recognizing surfaces using three-dimensional textons,» de Proceedings

of the Seventh IEEE International Conference on Computer Vision, Kerkyra, Greece, 1999.

[36] M. Delbracio y M. Mateu, «Trabajo Final de Reconocimiento de Patrones: Identifiación

utilizando PCA, ICA y LDA.,» 2006.

[37] S. Chindaro, K. Sirlantzis y M. C. Fairhurst, «ICA-based multi-colour space texture classification

system,» Electronics Letters, vol. 42, nº 21, 2006.

[38] J. Chen y L. Jing, «Research on Color Image Classification Based on HSV Color Space,» de

Second International Conference on Instrumentation & Measurement, Computer,

Communication and Control, Harbin City, Heilongjiang, China, 2012.

[39] M. Crosier y L. Griffin, «Using Basic Image Features for Texture Classification,» International

Journal of Computer Vision, vol. 88, nº 3, p. 447–460, 2010.

[40] L. Chengjun and J. Yang, “ICA Color Space for Pattern Recognition,” IEEE TRANSACTIONS

ON NEURAL NETWORKS, vol. 20, no. 2, pp. 248-257, 2009.

[41] D. Álvarez and E. Giraldo, “ICA applied to image feature extraction,” Scientia et Technica, no.

40, 2008.

[42] D. Pascale, A review of RGB color spaces, Montreal: The BabelColor Company, 2003.

[43] J. Malik y T. Leung, «Recognizing surfaces using three-dimensional textons,» Berkeley, CA.

[44] J. J. Atick, «Understandig retinal color coding from first principles,» de Neural Computation,

1992, pp. 4:559-572.

[45] S. Lazebnik, J. Zhang, M. Marszalek y C. Shmid, «Local features and kernels for classification

texture of objetc categories: a comprehensive study,» Int. J. Comput. Vis., vol. 73, nº 2, pp. 213-

238, 2007.

Page 60: Extracción de características de imágenes naturales en …bibing.us.es/proyectos/abreproy/91210/fichero/TFG+Rocío+Cortés... · Porcentaje de Y, CIE Lab 25 Tabla 16. Número de

Referencias

38

38

[46] D. Lowe, «Distinctive image features from scale-invariant features,» Int. J. Comput. Vis., vol.

60, nº 2, pp. 91-110, 2004.

[47] M. Varma y A. Ziesserman, «A statistical approach to material classification using image patch

exemplars,» IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 11, nº 31,

pp. 2032-2047, 2009.

[48] M. Varma y R. Garg, «Locally invariant fractal features for statistical texture classification.,» de

11th international conference of computer vision, 2007.