3. tratamiento digital de imÁgenes para...

16
Eugenia Ramírez Solano Página 19 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓN 3.1. Estado del arte En las últimas décadas muchos han sido los autores que se han centrado en desarrollar algoritmos de detección de patrones en las lesiones pigmentadas de la piel por ser el método más usados por los dermatólogos. Los patrones pueden ser globales o locales en función de si cubren la mayor parte de la lesión o de si están repartidos por distintas regiones de la misma [14]. La red pigmentada, los puntos y glóbulos irregulares, el velo azul-blanquecino, las estructuras de regresión o las estructuras vasculares son algunos de los patrones locales que se detectan en los métodos desarrollados. El patrón local más estudiado es la red pigmentada ya que es muy típico de las lesiones melanocíticas por lo que su detección contribuye a la primera fase del procedimiento en dos etapas, la diferenciación entre lesión melanocítica y no melanocítica. Además, si la red no es regular el diagnóstico estará asociado al melanoma. Así pues gracias a toda la información que aporta este patrón, los especialistas se han centrado en su detección. Anantha et al. [6] trabajaron con dos algoritmos de identificación de texturas llamados NGLDM y LAWS para la detección de la red pigmentada. Los resultados que se obtuvieron en la correcta clasificación de las imágenes fueron de un 78% y un 65% respectivamente sobre 155 lesiones a estudiar. Sadegui et al. [9] desarrollaron un método basado en la detección de borde y la búsqueda de estructuras cíclicas y mallas. La imagen se pasa por un filtro LOG el cual detecta los cambios de intensidad dando como resultado una imagen binaria. En esta imagen binaria se buscan estructuras circulares y en función de la densidad de la imagen obtenida se decide si la imagen presenta una red pigmentada o no (Presento or Absent). Un ejemplo de este proceso se recoge en la siguiente figura.

Upload: others

Post on 09-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 19

3. TRATAMIENTO DIGITAL DE

IMÁGENES PARA CLASIFICACIÓN

3.1. Estado del arte En las últimas décadas muchos han sido los autores que se han centrado en

desarrollar algoritmos de detección de patrones en las lesiones pigmentadas de la piel

por ser el método más usados por los dermatólogos. Los patrones pueden ser globales o

locales en función de si cubren la mayor parte de la lesión o de si están repartidos por

distintas regiones de la misma [14].

La red pigmentada, los puntos y glóbulos irregulares, el velo azul-blanquecino,

las estructuras de regresión o las estructuras vasculares son algunos de los patrones

locales que se detectan en los métodos desarrollados. El patrón local más estudiado es la

red pigmentada ya que es muy típico de las lesiones melanocíticas por lo que su

detección contribuye a la primera fase del procedimiento en dos etapas, la

diferenciación entre lesión melanocítica y no melanocítica. Además, si la red no es

regular el diagnóstico estará asociado al melanoma. Así pues gracias a toda la

información que aporta este patrón, los especialistas se han centrado en su detección.

Anantha et al. [6] trabajaron con dos algoritmos de identificación de texturas

llamados NGLDM y LAWS para la detección de la red pigmentada. Los resultados que

se obtuvieron en la correcta clasificación de las imágenes fueron de un 78% y un 65%

respectivamente sobre 155 lesiones a estudiar.

Sadegui et al. [9] desarrollaron un método basado en la detección de borde y la

búsqueda de estructuras cíclicas y mallas. La imagen se pasa por un filtro LOG el cual

detecta los cambios de intensidad dando como resultado una imagen binaria. En esta

imagen binaria se buscan estructuras circulares y en función de la densidad de la imagen

obtenida se decide si la imagen presenta una red pigmentada o no (Presento or Absent).

Un ejemplo de este proceso se recoge en la siguiente figura.

Page 2: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 20

Ilustración 11 - Ejemplo del método de Sadeghi

Para probar el método se evaluaron 500 imágenes y se obtuvo un porcentaje de

acierto del 94.3%

Baratah et al[7] se centraron también en la detección de la red pigmentada. Su

método usó bancos de filtros direccionales obteniendo, al igual que en el caso anterior,

una imagen binaria con la que detectar la presencia de la red o no. Los filtros

direccionales usados estaban basados en los filtros 2-D Gabor. El diagrama de bloques

del sistema que propusieron se recoge en la siguiente figura:

Page 3: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 21

Ilustración 12 - Diagramas de bloques del algoritmos de Barata et al.

Muchos otros autores, como Celebi et al. [8], centraron su atención en otros

patrones locales. Celebi detectó el velo azul-blanco (blue-white veil).

Betta. Et al. [10] desarrollaron un método para detectar la red pigmentada atípica

o el patrón vascular atípico. Para la red pigmentada usaron técnicas espectrales y

estructurales de análisis mientras que para la segunda característica se basaron en las

componentes HLS del color. Tras realizar las pruebas pertinentes se observó que el

método para detectar la red pigmentada atípica daba buenos resultados, sin embargo el

segundo método tuvo algunas detecciones erróneas.

Gola et al. [11] por su parte intentaron detectar tres patrones globales. Para ello

desarrolló tres algoritmos distintos. Los dos primeros, basados en la detección de

bordes, detectaban el patrón globular y el reticulado. En el tercero analizaron el color en

RGB para detectar el “blue veil pattern”. Los tres algoritmos se probaron con un

conjunto de 20 imágenes por patrón global y tuvo un porcentaje de acierto del 85%.

Page 4: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 22

Existen también muchos trabajos que usan bancos de filtros para el estudio de la

textura, formando distribuciones de entrenamiento a partir de las representaciones

estadísticas de las respuestas de los filtros.

En este campo, a pesar de aunque hay varios autores que trabajaron en él, se ha

cogido el clasificador VZ de Varma y Zisserman [2] como referente.

El clasificador VZ, como es habitual, se divide en dos etapas. En la primera

etapa de aprendizaje se crean los modelos de las texturas a partir de las respuestas a los

bancos de filtros de las imágenes de entrenamiento. En la segunda etapa una imagen

nueva se clasificará comparando su distribución con las de los modelos del

entrenamiento.

En la fase de entrenamiento las imágenes de entrenamiento son convolucionadas

con los bancos de filtros. El número de filtros del banco era normalmente 50 por lo que

para cada píxel de cada imagen se obtendrían 50 respuestas distintas, es decir, un píxel

quedaría representado por Nfil respuestas, siendo Nfil el número de filtros del banco.

En este punto habría que preguntarse si realmente es útil toda la información

obtenida ya que si cada píxel está representado por Nfil respuestas tendremos una

cantidad elevada de datos que manejar. Repasando nuestro objetivo y el explicado hasta

ahora, nuestra intención es ser capaz de clasificar imágenes según su textura. La textura

es una propiedad de los materiales que no se puede medir, es algo intuitivo.

Observemos las siguientes imágenes de texturas:

Ilustración 13 – Ejemplos de texturas

Page 5: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 23

La mayoría de la gente coincidiría en que la primera sería una textura granulada,

y la segunda una textura rugosa, por lo que aunque no tenemos forma de cuantificar la

textura sí somos capaces de diferenciar entre ambas. Esto se debe a que los píxeles de

cada imagen guardan una relación entre sí que los caracteriza. En el primer ejemplo la

imagen está compuesta de mucho gránulos, en el caso de que tuviéramos una imagen

lisa todos los píxeles serían iguales y así con cada tipo de textura. Se deja ver pues, que

una textura tiene ciertas propiedades espaciales que se repiten, es decir, contiene mucha

información redundante en sí misma.

Retomando la pregunta que nos hacíamos anteriormente, ¿toda la información

que obtenemos de los bancos de filtros es necesaria? La respuesta obviamente es

negativa por la explicación que acabamos de dar. Así pues, tras procesar todos los

píxeles de todas las imágenes tendríamos Nfil componentes por cada píxel procesado

como comentamos anteriormente. Sin embargo, al tener información redundante surgió

la idea del “clustering”, que se basa en reducir la información obtenida a un conjunto

pequeño de prototipos de respuesta a los filtros. Estos prototipos son conocidos como

textons. El algoritmo de cuantización usado normalmente es el K-means.

Antes de explicar los fundamentos del k-means explicaremos un par de

conceptos que nos ayudarán a entender el método. Llamamos “cluster”, o grupo, a un

conjunto de objetos que son similares entre ellos y diferentes de los objetos que

pertenecen a otro “cluster”. De esta forma cuando hablamos de “clustering” estamos

hablando de subdividir el conjunto de datos que tenemos en grupos que guarden

similitudes entre sí.

El k-means, como hemos dicho, es el algoritmo de clustering más usado y

conocido. Su nombre se debe a que representa cada uno de los cluster por la media de

sus puntos, es decir, por el centroide del grupo. El método se inicia con K cluster

iniciales. A continuación se asignan los datos al cluster más cercano. Cuando todos los

datos tienen un centroide asociado se recalcula el centroide formado por el conjunto de

puntos y de nuevo se vuelven a reasignar los puntos. Este proceso se repetirá hasta que

el sistema converja y obtengamos los cluster definitivos o textons. Un ejemplo del K-

means se muestra en la siguiente figura:

Page 6: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 24

Ilustración 14 - Ejemplo de Clustering

En el ejemplo vemos cómo se han dibujado un elevado número de puntos. Sin

embargo como están localizados por zonas podemos quedarnos con los centroides de

esas nubes. En nuestro algoritmo haremos lo mismo para reducir puntos pero en un

espacio 8-dimensional.

Así pues, continuando con el clasificador VZ, para simplificar los resultados

obtenidos del banco de filtros se aplicó k-means. Los centroides de los clusters, o

textons, obtenidos formaron la base del diccionario de modelos de texturas. Una vez que

se obtuvo este diccionario de textons se pasó a formar los modelos de las imágenes de

entrenamiento. Para ello, se asignó cada píxel de una imagen al centroide más cercano.

Estos datos quedaron recogidos en un histograma que sería el modelo de la imagen. Este

histograma por tanto estaría compuesto por tantos bins como componentes tuviera el

banco de filtros.

Este proceso se repitió para todas las imágenes que formaron el entrenamiento

por lo que cada textura quedó representada por tantos modelos como imágenes de

entrenamiento hubiera de dicha textura en el conjunto.

Para catalogar una imagen nueva, en la etapa de clasificación se compararía el

modelo de dicha imagen con los modelos aprendidos anteriormente. Para ello la imagen

nueva se convolucionaría con el banco de filtros de nuevo obteniendo las respuestas

Page 7: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 25

correspondientes. Estas se compararían con los textons del diccionario quedando otra

vez cada píxel de la imagen de prueba asociado a un texton y dando lugar al histograma

propio de la imagen de test. El último paso sería comparar este histograma con los

modelos formados en la etapa de entrenamiento. La imagen de test pertenecerá a la

textura del modelo más cercano al histograma de test. Para medir la distancia entre los

histogramas y poder realizar la comparación Varma usó la medida de distancia χ².

3.2. Algoritmo implementado Tras investigar los algoritmos implementados para el análisis de patrones

centramos nuestro proyecto en Varma y Zisserman y su algoritmo basado en el conjunto

de vecinos [2]

Al desarrollar el clasificador VZ basado en bancos de filtros, Varma y Zisserman

se centraron en reducir la carga computacional que este requería. Es por ello que se

comenzó a investigar sobre cómo extraer la información que caracteriza la textura sin

tener redundancia. Finalmente demostraron que, en lugar de trabajar con un banco de

filtros, se podría trabajar con el conjunto de vecinos de cada píxel ya que en ellos se

encontraba el patrón que definiría la textura, ahorrando tener tanta información

redundante y tanto coste computacional [1]. Implementaron varios algoritmos basados

en esta idea que explicaremos a continuación.

Este algoritmo, es prácticamente igual al clasificador VZ con la salvedad de que

se sustituye el banco de filtros y en su lugar se trabaja con el vecindario de cada píxel de

la imagen. De esta forma, para cada píxel, se cogía su conjunto de vecinos (NxN, en

nuestro caso 3x3), se reordenaba y se almacenaba en un vector formando un espacio N²

dimensional. De esta forma, el algoritmo procesaba, por cada imagen de una textura, el

píxel central y sus vecinos y los iba guardando en una matriz. Aplicando k-means a esta

matriz se obtendrían los centroides, o más comúnmente, los textons que se usarían para

formar el modelo de cada imagen de entrenamiento. Estos textons estarían en un espacio

N-dimensional, es decir, cada texton tendría N componentes. Para el caso de un

vecindario de 3x3, los textons serían puntos de 9 coordenadas.

Varma y Zisserman demostraron en su estudio que había suficiente información

en la distribución de probabilidad conjunta de los 9 valores (el píxel central y sus 8

vecinos) para poder discriminar entre tipos de texturas. Este clasificador recibió el

nombre de Joint Classifier.

Page 8: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 26

A continuación estudiaron las relaciones entre el píxel central y el conjunto de

vecinos y cómo de significante era la distribución de probabilidad conjunta para la

clasificación. Se llegó a la conclusión de que aunque el píxel central es significativo la

probabilidad estaba condicionada realmente por el conjunto de vecinos por lo que

eliminaron el píxel central y trabajaron únicamente con el vecindario. De esta forma en

lugar de almacenar el píxel central con sus 8 vecinos se quedaron con estos últimos. En

este caso los textons pasaron a tener N-1 componentes. Los resultados obtenidos con

este método fueron muy similares a los del Joint Classifier. Este método recibió el

nombre de Neighbourhood classifier.

Finalmente, se pasó al otro extremo y se estudió la distribución del píxel central

condicionada por sus vecinos. Para ello, en primer lugar se obtuvieron los textons

teniendo en cuenta solamente los 8 vecinos, como se hizo en el Neighbourhood

classifier. A continuación se asignaron los píxeles de las imágenes a los textons más

próximos, como se hacía en los anteriores clasificadores. Sin embargo en este

algoritmo, para cada texton, para los píxeles asociados, se tuvo en cuenta el valor de

cada uno de ellos obteniendo así un histograma. El modelo por tanto ahora estaba

formado por tantos histogramas como textons hubiera, y cada histograma tendría tantos

bins como intervalos de intensidad del píxel central se consideraran.

Resumiendo, el modelo de una imagen de entrenamiento sería un conjunto de

histogramas unidimensionales, uno por cada textons, en el cual se indicaría el valor de

los píxeles centrales asociados al textons en cuestión. Este clasificador se denominó

MRF (Markov Random Field) Classifier. Los resultados obtenidos en la clasificación de

imágenes nuevas fueron mejores que con los dos algoritmos anteriores como

demostraron VZ en sus pruebas [2].

A continuación explicaremos con algo más de detalle los algoritmos

desarrollados en nuestro caso.

Page 9: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 27

3.2.1. Estudio en escala de grises

Como ya se ha comentado en este proyecto nos hemos centrado en detectar

cuatro texturas: homogéneo, paralelo, reticulado y empedrado. El primer paso es crear

el diccionario de textons para formar los modelos de las texturas. Estos modelos serán

comparados con los modelos de las imágenes a clasificar pudiendo clasificar así dichas

imágenes.

Tras estudiar los tres algoritmos de Varma y Zisserman se decidió implementar

el MRF Classifier por ser el más eficiente.

En primer lugar, se cargaron las imágenes en escala de grises de forma que cada

píxel podía tener un valor de intervalo [0,255]. A continuación se recorrió el conjunto

de imágenes de cada textura reordenando los píxeles de la imagen. Para ello por cada

píxel se tomó su vecindario 3x3 formando un vector en un espacio 8-dimensional.

Todos los vectores se almacenaron en una matriz de dimensiones [Nº píxel totales, 8].

Para reducir la gran cantidad de puntos obtenidos, y recordando que tenemos

redundancia en los datos, se aplicó k-means para quedarnos solo con 10 centroides.

Este proceso se realizó para las cuatro texturas por lo que finalmente se

obtuvieron 40 textons, 10 por cada textura, que formaron el diccionario de textons. Una

vez obtenidos los textons, se asignó cada punto 8-dimensional (el vecindario) al

centroide más cercano al mismo (este proceso lo hace internamente el k-means).

Finalmente solo quedaría calcular la distribución del píxel central condicionada

por sus vecinos para obtener el modelo de la imagen de entrenamiento. Para ello, se

formó un histograma unidimensional por cada centroide con tantos bins como

particiones se hubieran tomado en el intervalo [0,255]. Así pues la búsqueda que se

llevó a cabo fue, por cada imagen, por cada centroide, por cada píxel central asociado a

dicho centroide, a qué intervalo del rango [0,255] pertenecía. De esta forma, el modelo

de cada imagen de entrenamiento estaría formado por 40 histogramas (uno por cada

centroide), cada uno de los cuales representaría el valor del píxel central para los

conjuntos de vecinos asociados al centroide del histrograma.

Repitiendo este proceso de formación de histogramas para cada una de las

imágenes de entrenamiento obtuvimos el “Diccionario de texturas”. A continuación se

muestra el diagrama de bloques del algoritmo implementado:

Page 10: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 28

Ilustración 15 - Diagrama de bloques del algoritmo implementado

Page 11: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 29

Una vez obtenidos los modelos de las imágenes de aprendizaje se pasa a la etapa

de clasificación en la cual se compara el modelo de la imagen a clasificar con los

modelos del entrenamiento por lo que lo primero que había que hallar era el modelo de

la imagen de test. Para obtener este modelo se cargó la imagen en escala de grises y se

procesó de la misma forma que las imágenes de aprendizaje, guardando los vecindarios

de cada píxel en una matriz. A continuación se asignó el centroide más cercanos de los

40 del diccionario a cada uno de los puntos 8-dimensionales almacenados. Finalmente

se hallaron los histogramas para cada centroide según el valor del píxel central de cada

conjunto de vecinos. Este proceso se llevaba a cabo respondiendo a la siguiente

pregunta: por cada centroide, para cada píxel central asociado a ese centroide, ¿a qué

intervalo pertenecía? De esta forma ya tendríamos formado el modelo de la imagen y

estaríamos en disposición de comparar con los modelos del entrenamiento con el nuevo

modelo formado.

En un principio se usaron varios algoritmos de medición de distancias entre

histogramas para realizar estas comparaciones: batthacharyya distance, χ² y The Earth

Mover's Distance (EMD).

Los dos primeros son del tipo “bin-to-bin” porque se asume que los histogramas

ya están alineados de forma que el bin de un histograma es comparado con el

correspondiente bin del otro histograma. Estas distancias se definen a continuación

[12],[13]:

( )

( )

√ ∑√

En el caso del EMD la comparación es “cross-bin”, es decir, una comparación

global entre bins, sin suponer que los histogramas están alineados. El EMD se basa en la

solución de un problema de transporte calculando los costes que suponen los transportes

en el histograma para igualarlos. La distancia EMD se muestra a continuación y se

observa como en este caso sí que se tiene en cuenta las relaciones entre bins distintos.

Page 12: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 30

( ) ∑ ∑

∑ ∑ donde {

Tras hacer pruebas para comprobar cuál era el más eficiente y más apropiado

para nuestro caso, nos quedamos con el EMD, como era de esperar al ser “cross-bin”.

El algoritmo implementado nos devolvía la imagen de entrenamiento a la que

más se parecía la imagen a catalogar, por lo que comprobando a qué textura pertenecía

el modelo de entrenamiento señalado ya teníamos la imagen clasificada.

3.2.2. Estudio en color, Lab

En un intento de mejorar el algoritmo anterior, se contempló la idea de

introducir el color en lugar de trabajar en escala de grises. El fundamento del algoritmo

es exactamente igual que el explicado en el apartado anterior.

El primer paso sería leer la imagen en Lab, que es el espacio de color en el que

vamos a trabajar. Sin embargo en este caso tendríamos por cada píxel, tres componentes

(Lab) en lugar de un valor del rango [0,255] como teníamos antes.

Así pues, al trabajar en color, necesitamos un pre-procesado de la imagen antes

de poder estudiar la textura para conseguir tener un único valor por píxel en lugar de

tres componentes. La solución está en la línea de lo hecho hasta el momento.

Al leer las imágenes tendremos por cada píxel, un vector de tres componentes

correspondientes a las componentes “L”, ”a” y ”b” que forman el color del píxel. De

esta forma leeremos todos los píxeles de todas las imágenes y almacenaremos su color

en una matriz. De nuevo podemos intuir que en esta matriz de colores habrá muchos de

ellos repetidos, ya que algunos formarán parte de la misma imagen e incluso, los colores

de las distintas lesiones son similares. Además las lesiones de la piel suelen tener

colores marrones, negros, azules y rara vez aparecerán colores como el rosa, el naranja,

etc. Es por ello que cuantificaremos los colores aplicando de nuevo k-means. De esta

forma pasaremos de tener colores a tener el número de colores que le indiquemos al

kmeans.

Pondremos un ejemplo aclaratorio. Supongamos que los colores recogidos de los

píxeles de las imágenes son los que se muestran en la siguiente figura (sabemos que esto

no es así porque ya hemos comentado que hay algunos colores que no se darán en las

lesiones pigmentadas de la piel):

Page 13: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 31

Ilustración 16 - Ejemplo del k-means del color

En la imagen comprobamos que tenemos una cantidad muy elevada de colores

con la cual es difícil trabajar. Si aplicamos k-means podríamos reducir dichos colores a

tantos como nº de centroides le indiquemos al k-means. De esta forma, si

introdujéramos K=9, obtendríamos los centroides de 9 nubes de puntos, unificando los

colores de tonalidades similares y quedándonos finalmente con 9. La reducción de los

datos se puede apreciar en la siguiente figura:

Page 14: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 32

Una vez que tengamos los centroides de los colores, debemos indexar dichos

colores. De esta forma haremos corresponder cada píxel, definido por un color en Lab

de tres componentes, con el índice del color más cercano. De este modo ya tendremos

los píxeles de las imágenes definidos por un único valor, el índice del color asociado.

En esta situación nos encontramos ya en el punto de partida del algoritmo en

escala de grises. Los píxeles de la imagen serán un único valor, si bien en el caso

anterior este valor era un número en la escala de grises [0,255], ahora será el índice del

centroide, es decir, del color, al que está asignado el píxel.

Ilustración 17 – Ejemplo del k-means para k=9

Page 15: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 33

El procesamiento de las imágenes, junto con el desarrollo del algoritmo serán

iguales que en el estudio en escala de grises excepto al calcular los centroides asociados

a la textura.

En escala de grises almacenábamos el vecindario de cada píxel en una matriz y a

ese conjunto de puntos 8-dimensionales (el vecindario) le aplicábamos k-means para

obtener los centroides que definirían la textura. Los valores de los puntos eran números

de [0,255] correspondientes a la escala de grises. En el caso que nos ocupa los valores

de los puntos serían un valor del intervalo [1-nº de centroides], es decir, el índice del

color asociado. El k-means basa su funcionamiento en el cálculo de distancias entre

puntos, en el caso de grises calculaba la diferencia entre distintos grados de grises. En

este caso ha habido que modificar el k-means para que en lugar de realizar la distancia

entre índices de colores, que es el dato que recibe, calculara la distancia entre los

colores indexados por dichos índices. Explicaremos esto con un ejemplo sencillo.

Supongamos que los índices [34, 50, 35, 52, 40] corresponden con los colores [negro,

verdoso, amarillo, rosa, rojo] respectivamente. Supongamos también que el k-means

recibe, entre otros puntos, los dos siguientes: [34, 50, 35] y [35, 52, 40]. Al aplicar k-

means a estos vectores, este se basaría en las distancias entre dichos números, sin

embargo estos índices no se corresponden realmente con la posición que tienen los

colores a los que indexan en el espacio (índices cercanos no significa colores cercanos).

Para solucionar esta situación hubo que modificar el k-means para que no

subdividiera el conjunto de datos en función del índice del color al que estaban

asociados. Para definir los centroides a los que asociar los vecindarios compararía los

colores en sí de los puntos y no sus índices, es decir, calcularía la distancia euclídea

entre los colores representados por esos índices.

Una vez obtenidos los textons de la textura se hallaron los histogramas como se

hizo en el algoritmo en escala de grises, basándonos en el MRF classifier. Una vez que

se obtuvieron los modelos se implementó la etapa de clasificación.

En esta fase también se realizaron algunas modificaciones respecto al trabajo en

grises. La imagen a clasificar se cargó en Lab y a continuación se asoció el color de

cada píxel con el centroide de color más cercano de los obtenidos en la etapa de

entrenamiento. Una vez que los píxel de la imagen estaban definidos por el índice de un

color se aplicaba el k-means modificado y se formaban los histogramas del modelo.

Page 16: 3. TRATAMIENTO DIGITAL DE IMÁGENES PARA CLASIFICACIÓNbibing.us.es/proyectos/abreproy/12146/fichero/CAPITULO+3%2F3... · datos tienen un centroide asociado se recalcula el centroide

Eugenia Ramírez Solano Página 34

Finalmente, había que comparar el modelo de la imagen de test con los modelos

de entrenamiento para poder catalogar la imagen con la textura del modelo al que

guardara más parecido. En este caso también hubo que modificar el EMD para que

calculara la distancia euclídea entre los colores indexados y no entre los índices en sí.