Extracción de características de imágenes naturales en...
Transcript of Extracción de características de imágenes naturales en...
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
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
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
El Secretario del Tribunal
vii
A mi familia
A mis maestros
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
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.
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.
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
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
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
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
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
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
Skew Skewness
\ Backslash
⇔ Si y sólo si
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
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.
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
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
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:
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:
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
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
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
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.
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
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
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)
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ó
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.
Desarrollo Teórico
16
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
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:
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
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
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.
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.
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%
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%
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.
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
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
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.
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.
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%
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
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;
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'
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');
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.
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
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.
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.