5.‐ metodología. - universidad de sevillabibing.us.es/proyectos/abreproy/40067/fichero/5.pdf ·...
TRANSCRIPT
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
23
5.‐ Metodología. En este capítulo se desarrolla todo el proceso seguido, detallando cada paso y
resaltando las conclusiones obtenidas. Se divide el desarrollo del capítulo en dos apartados: preprocesado, y clasificación, aunque esta división no es del todo real. Tal como se ha desarrollado la metodología, en la primera fase, en la que se analizan las cuestiones relacionadas con el preprocesado se abordan otras propias de la clasificación, como la influencia del entorno de vecindad del que obtener las características. De igual modo, en la fase dedicada a la clasificación se vuelven a comprobar aspectos como la elección del modelo para normalizar, el espacio de representación e incluso se evaluará la conveniencia de realizar alguna operación propia del preprocesado no analizada anteriormente.
5.1. Preprocesado.
El preprocesado es el conjunto de operaciones a que se somete a una imagen antes de que pueda ser analizada en busca de píxeles potencialmente clasificables como exudados. Dada la diversidad de características encontradas en los conjuntos de imágenes de prueba respecto a histogramas de color, iluminación y contrastes, un preprocesado correcto en vías de normalizar todo el conjunto facilitará las tareas posteriores de clasificación. En otro orden de cosas, cabe preguntarse si el espacio de color en que se representen las imágenes tendrá influencia en la separabilidad de las clases exudados y no exudados en las que se pretenden clasificar los píxeles de la misma. Finalmente, la formación del vector de características de cada pixel, en el sentido de si se tiene en cuenta información de los píxeles contenidos en un entorno de vecindad o no y el tamaño del mismo, también podrá tener influencia en la separabilidad de las clases.
Con objeto de analizar la influencia de los diversos parámetros y operaciones de preprocesado se empleará un índice que evalúe la separabilidad de las clases exudados y no exudados, permitiéndonos tomar decisiones acerca de los valores más óptimos y de los procesos más oportunos a adoptar o, en su caso, realizar sobre las imágenes en la fase previa a la clasificación.
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
24
En este análisis vamos a probar sobre:
‐ Normalización mediante igualación de histograma ‐ Contrastado ‐ Espacios de representación ‐ Composición del vector de características
En apartados sucesivos se describe en detalle cómo se afronta cada uno de estos aspectos.
Normalización mediante igualación de histograma.
Sea cual sea el modelo de representación de la imagen, ésta consta de tres capas, conteniendo cada una de las capas alguna característica de todos los píxeles de la imagen. Se define el histograma de una capa como la representación de la ocurrencia de cada uno de los posibles valores que puede adoptar un píxel en esa capa para esa imagen.
Para el caso de una representación RGB el concepto es claro. Si las capas de la imagen representan los niveles de intensidad de la capa roja, verde y azul en un rango entero entre 0 y 255, el histograma de cualquiera de estas capas indica cuántos píxeles de la imagen tienen cada uno de los distintos niveles de intensidad del rango. Se intuye que dos imágenes cuyos tres componentes de color presenten histogramas similares tendrán un aspecto parecido visualmente, pero lo que es más importante, la información que define los píxeles de las distintas zonas (fondo, capilares, disco óptico, exudados, …) será similar. Este concepto es extensible a cualquier modelo de representación.
En cualquier representación, la homogeneización de los histogramas de las tres capas en un conjunto de imágenes dará lugar a la normalización de las características de los píxeles de las mismas.
Para un conjunto de imágenes variadas en cuanto a pigmentación, iluminación, contraste, como el que vamos a emplear, se intuye que la normalización es un proceso conveniente que facilitará un posterior proceso de clasificación. Lo que pretendemos con la normalización es llevar los histogramas de todas las imágenes a un histograma de referencia, de modo que todas las imágenes sigan un mismo patrón. Este hecho hará que los píxeles de los distintos elementos que componen las imágenes (fondo, disco óptico, vasos, exudados, …) estén representados por valores similares en todas las imágenes, pudiéndose caracterizar con más facilidad. En el anexo 1 se desarrolla el método empleado para la normalización de imágenes, y en la figura 5.1 se muestra el resultado de normalizar el conjunto de imágenes de prueba a un modelo.
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
25
Fig. 5.1 a. Imágenes originales.
Fig. 5.1 b. Imágenes normalizadas.
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
26
Contrastado.
La capa de una imagen, en cualquiera de sus representaciones, ofrece información sobre los valores de una cierta característica para cada uno de los píxeles. Esta característica vendrá expresada dentro de un rango. Si esa capa emplea todos los valores posibles del rango la información será bastante más rica que si no lo hace. En el primer caso se considera que la imagen está bien contrastada. El contrastado es la operación por la que se consigue que cierta característica de una imagen esté representada mediante todo el rango posible de valores.
Contrastar de forma independiente las tres capas de una imagen lleva a distorsionar la información de la misma, resultando en un proceso carente de sentido. De la misma forma, contrastar de manera arbitraria una sola característica de una imagen tampoco lleva a ningún resultado lógico. Por esto, el contrastado de una imagen debe hacerse en base a una característica con sentido que lleve a un resultado coherente, típicamente se realiza sobre la intensidad luminosa de los píxeles, que se obtiene mediante la media de las intensidades de las tres capas en el modelo RGB o directamente como la capa I en el modelo HSI.
El proceso de contrastado debe ser robusto ante la posibilidad de que muy pocos píxeles tomen valores en los extremos del rango. En caso de que esto ocurra, formalmente podríamos considerar la imagen bien contrastada, pues se ocupa todo el rango, sin embargo el contraste puede ser malo si la mayor parte de píxeles está concentrado en una zona estrecha del rango. El algoritmo de contrastado empleado tiene en cuenta este problema.
El contrastado de una capa de imagen puede plantearse desde un punto de vista global o local, así se considere la capa completa o cierta región. El contrastado global suele llevar a pequeñas modificaciones de la imagen, ya que en el caso general la representación de la intensidad de color en cualquier imagen abarca todo el rango posible de intensidades (salvo imágenes tomadas con poca iluminación que pueden considerarse defectuosas). El realce local, sin embargo, sí genera una transformación importante. Habrá que estudiar la influencia del tamaño de la zona a considerar. A priori, cuanto más pequeña sea la zona considerada mayor será el realce obtenido pero, previsiblemente, mayor será la distorsión generada en la imagen, en cuanto que pequeñas zonas que originalmente sean homogéneas serán convertidas a zonas con un alto contraste, haciendo que píxeles que inicialmente tenían valores similares adopten valores dispares. El proceso de contrastado [20] se desarrolla con detalle en el anexo 2.
En el caso que nos ocupa, los histogramas de las imágenes suelen ocupar casi todo el rango posible, por lo que un contrastado global produce un enriquecimiento vago de la imagen. Se plantea pues analizar la conveniencia de realizar un contrastado local. En este planteamiento, un parámetro importante es el tamaño de la ventana que se emplea para contrastar. Este debe ser suficientemente grande como para contener una muestra representativa estadísticamente hablando de las variaciones locales de intensidad pero suficientemente pequeño para no afectarse por las variaciones graduales que son, precisamente, las que se pretenden corregir. Mediante experimentación se determinará el tamaño apropiado para esta ventana así como la conveniencia o no de realizar el contrastado.
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
27
La figura 5.2 muestra el resultado de contrastar una imagen con tres tamaños de entorno local distintos.
a) Imagen original
b) Imagen contrastada, 31x31
c) Imagen contrastada, 69x69 d) Imagen contrastada, 101x101 Fig. 5.2. Contrastado de imagen
Espacios de representación.
Muchos son los espacios de representación empleados en imágenes. El más conocido es el RGB, el cual emplea sus tres capas para representar, para cada pixel, el nivel de intensidad en un rango de 0 a 255 de cada una de las componentes de los colores primarios rojo, verde y azul. Similar a este encontramos el RYB, basado en la teoría del color de Goethe, formulada en 1810 que considera erróneamente a los colores rojo, amarillo y azul como primarios, y dando lugar a un espacio de color con incapacidad para generar gran cantidad de tonos. El espacio de representación CMYK, de cuatro capas, cian, magenta, amarillo y negro, se basa y corrige el anterior, y es ampliamente utilizado en la impresión de color.
El modelo YIQ es una adaptación del RGB realizada por la televisión americana (sistema NTSC). En él, la componente Y representa la información de luminancia y es el único componente utilizado por los televisores de blanco y negro. I y Q representan la información de crominancia. Los valores RGB son sumados para obtener una señal conocida como luminancia (Y) que representa la iluminación o brillo general de un punto en particular. La
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
28
señal I es creada al restar Y de la señal azul de los valores RGB originales y Q se obtiene restando la señal Y del rojo. El modelo YUV es una variante del anterior. Si en YIQ las componentes I y Q son las coordenadas en un par de ejes en el espacio de color, en YUV las componentes U y V son las coordenadas de un segundo par de ejes en el mismo gráfico, rotados 33º, así IQ y UV representan diferentes sistemas de coordenadas en el mismo plano. YCbCr es un sistema muy similar al modelo YIQ en el que Y se obtiene como una suma ponderada de los canales RGB.
HSI (matiz8, saturación9 e intensidad), HSV (matiz, saturación y valor) o HSL (matiz, saturación y luminosidad) son espacios de color que surgen como transformación lineal del espacio RGB. Su ventaja yace en su forma intuitiva de especificar los colores, ya que es muy fácil seleccionar el matiz deseado y ajustarlo hasta obtener la saturación e intensidad deseada.
El principal defecto del espacio de representación RGB y los que derivan de él es que no resultan "perceptivamente lineales", es decir, que un cambio lineal en sus valores no produce una sensación visual de la misma importancia. Los espacios LAV tratan de resolver esto. LAV son las siglas que engloban dos modelos de representación, CIELAV y Hunter LAV, ambos derivados del CIE 1931 XYZ10. El primero emplea raíces cúbicas para su obtención y el segundo raíces cuadradas, siendo computacionalmente más rápido, aunque se recomienda el empleo del CIELAV. Los tres parámetros en el modelo representan la luminosidad de color (L=0 equivale a negro y L=100 indica blanco), su posición entre magenta y verde (A, valores negativos indican verde mientras valores positivos indican magenta) y su posición entre azul y amarillo (B, valores negativos indican azul y valores positivos indican amarillo). Con la misma filosofía se define el estándar CIELUV, que genera un espacio perceptivamente lineal basado en la luminosidad y en otros dos parámetros, U y V que definen su posición entre rojo y verde y su posición entre azul y amarillo respectivamente.
A la hora de afrontar el preprocesamiento de las imágenes de cara a una clasificación posterior es necesario dilucidar si la elección del espacio de color empleado para representarlas va a influir en la separabilidad de las clases. Dada la cantidad de representaciones posibles se opta por experimentar con tres de ellas: RGB, LUV y HSI. Se opta por estas por representar los distintos grupos de representaciones, RGB, como representación basada en colores pero no perceptiblemente lineal, LUV como sistema perceptiblemente lineal basado en parámetros distintos al color y HSI como no perceptiblemente lineal basado en parámetros distintos al color.
8 Matiz (Hue) es el estado puro del color, sin el blanco o negro agregados, y es un atributo asociado con la longitud de onda dominante en la mezcla de las ondas luminosas. El matiz se define como un atributo de color que nos permite distinguir el rojo del azul, y se refiere al recorrido que hace un tono hacia uno u otro lado del círculo cromático. 9 La saturación o croma es un concepto que representa la pureza o intensidad de un color particular, la viveza o palidez del mismo, y puede relacionarse con el ancho de banda de la luz que estamos visualizando. Los colores puros del espectro están completamente saturados. 10 CIE XYZ es una representación exacta de los colores primarios. En el espacio RGB no todos los colores pueden ser definidos mediante valores positivos. CIE XYZ hace una definición de los colores primarios que resuelve este defecto.
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
29
Composición del vector de características.
Intuitivamente, para caracterizar un píxel de una imagen representada mediante un modelo de tres capas se emplearán los valores que tiene el pixel en cada una de ellas. De este modo se pierde toda información acerca del entorno del pixel. Podemos suponer por tanto que de alguna manera afectará el considerar no sólo las tres características del pixel sino la de los píxeles en un entorno de vecindad. Se probará con distintos tamaños de entorno de vecindad.
A la hora de formar el vector de características parece claro que las tres características del píxel a estudio deben jugar un papel principal. Respecto a las características de los píxeles vecinos no deben ligarse a su posición geográfica sino que deben ordenarse bajo algún criterio. Se ha optado por ordenar en función de la intensidad de los píxeles. De este modo el vector de características contendrá en primer lugar las tres características del píxel bajo estudio y a continuación las tres características de los píxeles vecinos previamente ordenados de mayor a menor intensidad.
Evaluación de la separabilidad.
Como hemos planteado, el primer objetivo es ver si determinadas operaciones favorecerán una fase posterior de clasificación de los píxeles de la imagen en dos clases: exudados y no exudados, para ello vamos a emplear un índice que cuantifique la separabilidad de ambas clases [20]. El punto de partida es el conjunto de imágenes de entrenamiento en las que tenemos perfectamente identificados los píxeles que corresponden a la clase exudado y los que pertenecen a la clase no exudado. Esta métrica se basa en matrices de dispersión dentro de las clases y de dispersión entre clases. La matriz de dispersión dentro de las clases, Sw, es una medida de la distribución de los elementos de una clase en torno a su vector de medias:
∑=
=C
iiW SS
1
con:
∑∈
−−=iCn
Tinini MXMXS ))((
y:
∑∈
=iCn
ni
i XN
M 1
donde C es el número de clases, Ni es el número de muestras de la clase Ci, Xn hace referencia a la muestra n y Mi es el vector de medias de la clase Ci. La matriz de dispersión entre clases, Sb
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
30
representa la dispersión de las muestras alrededor del vector de valores medios de las clases mezcladas:
∑=
−−=C
i
Tiiib MMMMNS
1))((
con:
∑∑==
==C
iii
N
nn MN
NX
NM
11
11
donde N es el número total de muestras. Conocidas las matrices de dispersión dentro de las clases y entre clases, el índice que representa la separabilidad de las clases se obtiene como:
⎟⎟⎠
⎞⎜⎜⎝
⎛=
w
b
SStraceJ
El numerador es una medida de la diferencia de color entre las clases exudado y no exudado, mientras que el denominador representa la variación en la distribución de color de cada una de las clases. Cuanto mayor sea el valor de este índice, más separables serán ambas clases.
Prueba sobre imágenes. Evaluación de las opciones de preprocesado.
Dado el conjunto de las 9 imágenes de entrenamiento en las que los exudados que se quieren detectar son conocidos y de las que se ha obtenido un número similar de píxeles no exudados, vamos a efectuar pruebas sobre preprocesado, sistemas de representación y tamaños de entorno de vecindad para extracción de características y a evaluar el índice de separabilidad entre clases que obtenemos. En concreto, se va a experimentar en base a:
Espacio de representación. Como se indicó, trabajaremos sobre los espacios RGB, LUV y HSI. Sobre este aspecto y en la suposición de que se van a realizar también operaciones de normalizado y contrastado cabe preguntarse si obtenemos el mismo resultado preprocesando en RGB y convirtiendo posteriormente a LUV o HIS que si preprocesamos después de realizar el cambio de espacio. Así, evaluaremos considerando 5 opciones distintas:
‐ Imágenes en RGB ‐ Imágenes convertidas a LUV antes de preprocesar ‐ Imágenes convertidas a HSI antes de preprocesar ‐ Imágenes convertidas a LUV después de preprocesar ‐ Imágenes convertidas a HSI después de preprocesar
Preprocesamiento. Ensayaremos tanto normalización a un modelo de color como contrastado. Respecto al primer proceso, contamos con 5 modelos, de características variadas pero sin defectos de iluminación ni saturaciones. Uno de los modelos no cuenta con la
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
31
presencia de exudados, mientras que los 4 restantes sí lo hacen. Esto nos permitirá saber si éste es un hecho relevante a la hora de elegir el modelo de color. Respecto al contrastado, efectuaremos contraste local con tres tamaños de la máscara de vecindad. Las opciones a evaluar son:
‐ Normalizar empleando los 5 modelos distintos o no normalizar ‐ Contrastar, con tamaños de máscara de 31, 69 y 101 o no contrastar
Formación del vector de características. Se formarán vectores de características con tres composiciones:
‐ Sin considerar las características de los píxeles vecinos ‐ Considerando las características de los píxeles vecinos en un entorno de 3x3 ‐ Considerando las características de los píxeles vecinos en un entorno de 5x5
Los resultados obtenidos se representan en 15 gráficas, tres por cada espacio de color (considerando distintos espacios el convertir a LUV o HSI antes o después de la normalización y contrastado), correspondiendo cada una de ellas a una longitud distinta del vector de características. En cada gráfica se representa el índice conseguido para cada modelo de referencia y diversos tamaños de la máscara de contrastado, significando la unidad el hecho de no contrastar. Las gráficas se muestran en las figuras siguientes.
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
32
Fig. 5.3. Separabilidad para el espacio RGB
0 20 40 60 80 100 1200
0.5
1
1.5
2
2.5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
RGB. Vecindad 1
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1200.5
1
1.5
2
2.5
3
3.5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
RGB. Vecindad 3
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1200.5
1
1.5
2
2.5
3
3.5
4
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
RGB. Vecindad 5
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
33
Fig. 5.4. Separabilidad para el espacio HSI, convirtiendo previamente a la normalización y contrastado
0 20 40 60 80 100 120
0.8
1
1.2
1.4
1.6
1.8
2
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
HSI. Vecindad 1
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1201
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
HSI. Vecindad 3
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1201.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
HSI. Vecindad 5
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
34
Fig. 5.5. Separabilidad para el espacio LUV, convirtiendo previamente a la normalización y contrastado
0 20 40 60 80 100 1200.8
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
LUV. Vecindad 1
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1201
1.5
2
2.5
3
3.5
4
4.5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
LUV. Vecindad 3
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1201.5
2
2.5
3
3.5
4
4.5
5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
LUV. Vecindad 5
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
35
Fig. 5.6. Separabilidad para el espacio HSI, convirtiendo posteriormente a la normalización y contrastado
0 20 40 60 80 100 1200
0.5
1
1.5
2
2.5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
HSI POST. Vecindad 1
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1200.5
1
1.5
2
2.5
3
3.5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
HSI POST. Vecindad 3
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1200.5
1
1.5
2
2.5
3
3.5
4
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
HSI POST. Vecindad 5
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
36
Fig. 5.7. Separabilidad para el espacio LUV, convirtiendo posteriormente a la normalización y contrastado
0 20 40 60 80 100 1200
0.5
1
1.5
2
2.5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
LUV POST. Vecindad 1
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1200.5
1
1.5
2
2.5
3
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
LUV POST. Vecindad 3
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
0 20 40 60 80 100 1200.5
1
1.5
2
2.5
3
3.5
Tamaño de la ventana de contrastado
Indi
ce d
e se
para
bilid
ad
LUV POST. Vecindad 5
Sin normalizarModelo 1Modelo 2Modelo 3Modelo 4Modelo 5
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
37
Con estos resultados llegamos a las siguientes conclusiones:
‐ Trabajar con espacios de representación LUV durante la fase de preprocesado ofrece mejores índices de separabilidad que hacerlo en otros espacios de representación. En particular se logran los mejores resultados trabajando en LUV antes de preprocesar
‐ Normalizar a un modelo permite obtener mejores resultados ‐ El proceso de contrastado no es aconsejable en esta fase. Esto es algo que parece
lógico y que con estas pruebas queda de manifiesto. Al contrastar, zonas uniformes del fondo de imagen se convierten en zonas con mucho contraste en las que algunos píxeles se situarán en la zona alta del histograma donde se sitúan los exudados. En general, los procesos de contrastado empeoran los resultados que se obtienen en el caso de no hacerlo, siendo menos malo cuanto mayor es la máscara de contrastado empleada, es decir, menos local es el proceso. Sólo en caso de no normalizar se mejoran los índices de separabilidad con el contrastado, lo cual es lógico ya que este proceso de alguna manera normaliza el conjunto de imágenes testeada
‐ El mejor modelo depende del espacio de color empleado. Si preprocesamos directamente en LUV, los mejores modelos son los 1 y 2
‐ En los resultados correspondientes a LUV antes de procesar los mejores modelos han resultado los 1 y 2. En concreto, el modelo 1 no posee exudados, por lo que parece que el hecho de que el modelo de referencia de color contenga o no a la lesión que quiere detectarse no es determinante
‐ Los resultados mejoran al considerar como características no sólo las tres capas correspondientes al pixel sino las de los pixeles en un entorno de vecindad. Los índices de separabilidad aumentan al aumentar este entorno
La última de las concusiones nos lleva a pensar que este estudio está incompleto, en cuanto no llegamos a conclusión acerca del tamaño de la vecindad a considerar en la formación del vector de características que ofrece el mejor de los resultados.
Para intentar aclarar esto se han probado entornos de vecindad mayores. Dado el gran número de posibles combinaciones planteadas en el experimento anterior se ha restringido
este estudio a los casos que mejores resultado han ofrecido: se ensaya sobre los dos mejores modelos en la representación LUV antes de preprocesar. El resultado se muestra en la figura 5.8.
Se observa que el índice se incrementa hasta una vecindad de 9x9, decrementándose para vecindades mayores. En cualquier caso, emplear grandes valores de entorno de vecindad genera vectores de características considerablemente grandes que harán
Fig. 5.8. Relación del índice de separabilidad con eltamaño del entorno de vecindad
1 2 3 4 5 6 7 8 9 10 112.5
3
3.5
4
4.5
5
5.5
Vecindad del vector de características
Indi
ce d
e se
para
bilid
ad
LUV modelo 1LUV modelo 2
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
38
que los procesos de clasificación tengan un gran coste computacional, por lo que habrá que ver cuál es el valor por encima del cual el incremento de complejidad no queda justificado por el beneficio obtenido. De la observación de la figura 5.8 deducimos que usar valores por encima de 5 o 7 no aporta ya grandes mejoras en el índice de separabilidad.
5.2. Clasificación.
Basándonos en los datos obtenidos en el apartado anterior y apoyándonos en el uso de la herramienta Weka11 se van a realizar una serie de experimentos con conjuntos de datos variados. Para un conjunto de datos dado, Weka nos permite con facilidad probar algoritmos de clasificación y evaluar los resultados. Esto nos da la posibilidad de realizar distintas pruebas de las que obtendremos conclusiones que nos llevarán a fijar un procedimiento de clasificación lo más eficiente posible. La evaluación de estos métodos de clasificación se hará en base a dos conjuntos de muestras, uno de píxeles de la clase exudado y otro de la clase no exudado obtenidos de las imágenes de entrenamiento. El conjunto de muestras de la clase exudado estará compuesto por todos los píxeles de exudados que contienen las imágenes, mientras que el conjunto de muestras de la clase no exudado se formará con un número similar de muestras escogidos aleatoriamente de entre los píxeles que no son exudados. Se van a realizar las siguientes pruebas:
‐ 1º prueba. Empleo de varios algoritmos de clasificación sobre los datos en bruto y normalizados con los cinco modelos. El objetivo que se persigue es tener una primera idea de la complejidad del problema, de cuáles son los clasificadores que mejor resultado ofrecen y tener una primera medida de cuál es el conjunto de datos que más conviene para la clasificación, en función de las operaciones de preprocesado y de elección de uno u otro modelo para normalizar.
‐ 2ª prueba. Empleo de dos algoritmos de clasificación basados en costes sobre los datos en bruto y normalizados con los cinco modelos. Es un primer ensayo sobre clasificación basada en costes en vías de conseguir una detección lo más completa posible de los miembros de la clase exudado.
‐ 3ª prueba. Resultados de clasificación con imágenes independientes. Prueba que nos permite valorar la capacidad predictiva de una sola imagen. Asimismo, obtendremos información sobre la dependencia de los resultados de la elección del modelo de color.
‐ 4ª prueba. Clasificación con vector de características aumentado. Información de vecinos y datos estadísticos. En esta prueba se realizan ensayos de clasificación empleando como características no sólo las características de color del pixel y del
11 Weka (Waikato Enviroment for Knowledge Analysis – Entorno para el Análisis del Conocimiento de la Universidad de Waikato) es una plataforma de software libre para aprendizaje automático y minería de datos. El paquete Weka contiene una colección de herramientas de visualización y algoritmos para análisis de datos y modelado predictivo. Soporta varias tareas estándares de minería de datos, especialmente preprocesamiento, clustering, clasificación, regresión, visualización y selección que se fundamentan en la asunción de que los datos están disponibles en un fichero plano o en una relación, en la que cada registro de datos está descrito por un número fijo de atributos (normalmente numéricos o nominales, aunque también se soportan de otros tipos).
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
39
entorno sino datos estadísticos obtenidos de las mismas. Se persigue definir un conjunto de características lo más reducido posible y que ofrezca los mejores resultados de clasificación.
1ª Prueba. Empleo de varios algoritmos de clasificación sobre los datos en bruto y normalizados con los cinco modelos.
El objetivo de esta primera prueba es establecer un base line o punto de partida que nos permita valorar los resultados que obtenemos con diversos algoritmos de clasificación sobre los datos sin ningún tipo de preprocesado y los datos normalizados, sin considerar información acerca del entorno de vecindad, tanto en la representación RGB como en la representación LUV. No consideramos el espacio HSI ya que en el punto anterior se constató que no es un espacio de color que ofrezca ventajas de cara a una clasificación respecto al RGB. Tampoco contemplamos el contrastado pues el análisis de separabilidad del apartado anterior desaconsejo su aplicación. Para estas pruebas empleamos el mismo conjunto de imágenes de entrenamiento así como el mismo conjunto de imágenes de referencia que se emplearon en las pruebas anteriores.
En estas pruebas se van a valorar tres parámetros:
‐ Porcentaje de acierto total ‐ AUC 12(Área bajo la curva ROC) ‐ Porcentaje de acierto de exudados
Se van a probar los siguientes algoritmos de clasificación:
‐ Red neuronal. Perceptrón multicapa ‐ Máquina de soporte vectorial ‐ Clasificador bayesiano ‐ Red bayesiana ‐ Knn 1 ‐ Knn 3 ‐ Árbol
Estos algoritmos se van a aplicar sobre 13 conjuntos de datos:
12 La curva ROC (Receiver Operating Characteristic) representa la sensibilidad en función de los falsos positivos (complementario de la especifidad) para diversos puntos de corte o de decisión al clasificar conjuntos de datos en dos clases. Si las clases están totalmente separadas hay una región en la que cualquier punto de corte tiene sensibilidad y especifidad igual a 1, por lo que la curva sólo tiene el punto (0,1). Si las dos clases tienen la misma distribución, la proporción de verdaderos positivos y falsos positivos sería la misma, por lo que la curva es la diagonal del punto (0,0) al (1,1). En las pruebas normales se obtienen pruebas intermedias. Un parámetro para evaluar la bondad de la prueba o la separabilidad de las clases es el área encerrada bajo la curva ROC (AUC), que tomará valores comprendidos entre el 1 (prueba perfecta) y el 0.5 (prueba inútil). El valor del AUC puede interpretarse como la probabilidad de que dos muestras, una de cada clase, se clasifiquen correctamente.
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
40
‐ Datos RGB sin normalizar ‐ Datos LUV sin normalizar ‐ Combinación de características RGB y LUV sin normalizar ‐ Datos RGB normalizados con los 5 modelos ‐ Datos LUV normalizados con los 5 modelos
La evaluación de los métodos se realiza por validación cruzada a 5, en cuanto a la elección de datos de entrenamiento frente a datos de validación13. Los resultados obtenidos se presentan a continuación14, y seguidamente, se presentan las conclusiones desprendidas de los mismos.
==== RESULTADOS POR ALGORITMOS ======================================= Key: (1) Perceptrón multicapa (2) Máquina de soporte vectorial (3) Clasificador bayesiano (4) Red bayesiana (5) Knn 1 (6) Knn3 (7) Árbol ====================================================================== Analysing: Percent_correct Dataset (7) trees.J4 (1) funct (2) funct (3) bayes (4) bayes (5) lazy (6) lazy ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ LUV (5) 89.51 88.52 * 88.52 * 87.84 * 88.14 * 86.57 * 88.61 * RGB (5) 90.23 88.41 89.15 * 86.21 * 88.33 * 87.14 * 89.28 * RGBLUV (5) 90.26 89.77 88.77 * 87.87 * 88.43 * 87.37 * 89.10 * M1_LUV (5) 95.39 94.52 * 94.52 * 93.34 * 94.86 * 93.25 * 95.30 M1_RGB (5) 90.23 88.41 89.15 * 86.21 * 88.33 * 87.14 * 89.28 * M2_LUV (5) 95.47 94.55 * 94.67 * 93.82 * 94.76 * 93.38 * 95.07 * M2_RGB (5) 90.23 88.41 89.15 * 86.21 * 88.33 * 87.14 * 89.28 * M3_LUV (5) 95.28 94.46 * 94.51 * 92.09 * 94.91 * 93.50 * 95.17 M3_RGB (5) 90.23 88.41 89.15 * 86.21 * 88.33 * 87.14 * 89.28 * M4_LUV (5) 95.42 95.07 95.00 94.68 * 95.06 * 93.11 * 95.21 * M4_RGB (5) 90.23 88.41 89.15 * 86.21 * 88.33 * 87.14 * 89.28 * M5_LUV (5) 95.35 94.91 * 95.00 * 92.96 * 95.25 * 93.23 * 95.33 M5_RGB (5) 90.23 | 88.41 89.15 * 86.21 * 88.33 * 87.14 * 89.28 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) (0/10/8) (0/1/17) (0/0/18) (0/0/18) (0/0/18) (0/8/10)
13 La validación cruzada a n divide el conjunto de datos en n subconjuntos y efectúa n pruebas. En cada prueba elige uno de los n subconjuntos para testear y los n‐1 restantes para entrenar el clasificador, ofreciendo como resultado el promedio de las n pruebas. 14 En las tablas mostradas a continuación se toma una columna como referencia y en el resto de columnas los valores se acompañan con un “*”, si esa columna presenta un valor peor al de referencia, una “v” si esa columna mejora al valor de referencia o por un espacio en blanco si el valor es muy similar o igual al de referencia.
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
41
Analysing: Area_under_ROC Dataset (7) trees. (1) func (2) func (3) baye (4) baye (5) lazy (6) lazy ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ LUV (5) 0.93 0.95 v 0.89 * 0.92 * 0.93 0.87 * 0.93 RGB (5) 0.95 0.96 v 0.89 * 0.91 * 0.91 * 0.87 * 0.94 * RGBLUV (5) 0.95 0.96 v 0.89 * 0.91 * 0.92 * 0.87 * 0.94 * M1_LUV (5) 0.98 0.99 v 0.95 * 0.98 0.99 v 0.93 * 0.99 M1_RGB (5) 0.95 0.96 v 0.89 * 0.91 * 0.91 * 0.87 * 0.94 * M2_LUV (5) 0.98 0.99 v 0.95 * 0.98 0.99 v 0.93 * 0.99 M2_RGB (5) 0.95 0.96 v 0.89 * 0.91 * 0.91 * 0.87 * 0.94 * M3_LUV (5) 0.98 0.99 v 0.95 * 0.98 0.99 v 0.93 * 0.99 v M3_RGB (5) 0.95 0.96 v 0.89 * 0.91 * 0.91 * 0.87 * 0.94 * M4_LUV (5) 0.98 0.99 v 0.95 * 0.99 0.99 v 0.93 * 0.98 M4_RGB (5) 0.95 0.96 v 0.89 * 0.91 * 0.91 * 0.87 * 0.94 * M5_LUV (5) 0.98 0.99 v 0.95 * 0.98 0.99 v 0.93 * 0.99 M5_RGB (5) 0.95 0.96 v 0.89 * 0.91 * 0.91 * 0.87 * 0.94 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) (17/1/0) (0/0/18) (1/8/9) (8/3/7) (0/0/18) (2/9/7) Analysing: True_positive_rate Dataset (7) trees.J (1) func (2) func (3) baye (4) baye (5) lazy (6) lazy ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ LUV (5) 0.86 0.84 0.82 * 0.82 * 0.80 * 0.86 0.87 RGB (5) 0.87 0.86 0.85 0.83 * 0.82 * 0.87 0.88 RGBLUV (5) 0.87 0.86 0.82 * 0.83 * 0.81 * 0.87 0.88 v M1_LUV (5) 0.95 0.94 0.94 0.94 * 0.93 * 0.93 * 0.95 M1_RGB (5) 0.87 0.86 0.85 0.83 * 0.82 * 0.87 0.88 M2_LUV (5) 0.95 0.94 0.94 0.94 0.93 * 0.94 * 0.95 M2_RGB (5) 0.87 0.86 0.85 0.83 * 0.82 * 0.87 0.88 M3_LUV (5) 0.95 0.94 0.95 0.94 * 0.93 * 0.94 0.95 M3_RGB (5) 0.87 0.86 0.85 0.83 * 0.82 * 0.87 0.88 M4_LUV (5) 0.95 0.94 0.95 0.93 * 0.94 * 0.93 * 0.95 M4_RGB (5) 0.87 0.86 0.85 0.83 * 0.82 * 0.87 0.88 M5_LUV (5) 0.95 0.95 0.95 0.88 * 0.94 * 0.93 0.95 M5_RGB (5) 0.87 0.86 0.85 0.83 * 0.82 * 0.87 0.88 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) (0/18/0) (0/11/7) (0/3/15) (0/3/15) (0/12/6) (1/17/0) ==== RESULTADOS POR CONJUNTOS DE DATOS ======================================= Key: (1) LUV (2) RGB (3) RGBLUV (4) M1_LUV (5) M1_RGB (6) M2_LUV (7) M2_RGB (8) M3_LUV (9) M3_RGB (10) M4_LUV (11) M4_RGB (12) M5_LUV (13) M5_RGB ===================================================================================
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
42
Analysing: Percent_correct Dataset (12) M5L (1) L (2) R (3) RL (4)M1L (5)M1R (6)M2L (7)M2R (8)M3L (9)M3R (10)M4L (11)M4R (13)M5R ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ functions.MultilayerP (5) 94.91 88.52 * 88.41 * 89.77 * 94.52 * 88.41 * 94.55 * 88.41 * 94.46 * 88.41 * 95.07 88.41 * 88.41 * functions.SMO ' (5) 95.00 88.52 * 89.15 * 88.77 * 94.52 * 89.15 * 94.67 * 89.15 * 94.51 * 89.15 * 95.00 89.15 * 89.15 * bayes.NaiveBayes '' (5) 92.96 87.84 * 86.21 * 87.87 * 93.34 86.21 * 93.82 86.21 * 92.09 86.21 * 94.68 86.21 * 86.21 * bayes.BayesNet (5) 95.25 88.14 * 88.33 * 88.43 * 94.86 * 88.33 * 94.76 * 88.33 * 94.91 * 88.33 * 95.06 88.33 * 88.33 * lazy.IB1 '' (5) 93.23 86.57 * 87.14 * 87.37 * 93.25 87.14 * 93.38 87.14 * 93.50 87.14 * 93.11 87.14 * 87.14 * lazy.IBk '‐K 3 (5) 95.33 88.61 * 89.28 * 89.10 * 95.30 89.28 * 95.07 * 89.28 * 95.17 89.28 * 95.21 89.28 * 89.28 * trees.J48 ' (5) 95.35 89.51 * 90.23 * 90.26 * 95.39 90.23 * 95.47 90.23 * 95.28 90.23 * 95.42 90.23 * 90.23 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) (0/0/7) (0/0/7) (0/0/7) (0/4/3) (0/0/7) (0/3/4) (0/0/7) (0/4/3) (0/0/7) (0/7/0) (0/0/7) (0/0/7)
Analysing: Area_under_ROC Dataset (12)M5L (1)LUV (2)RGB (3)RL (4)M1L (5)M1R (6)M2L (7)M2R (8)M3L (9)M3R (10)M4L (11)M4R (13)M5R ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ functions.MultilayerP (5) 0.99 0.95 * 0.96 * 0.96 * 0.99 * 0.96 * 0.99 * 0.96 * 0.99 * 0.96 * 0.99 0.96 * 0.96 * functions.SMO (5) 0.95 0.89 * 0.89 * 0.89 * 0.95 * 0.89 * 0.95 * 0.89 * 0.95 * 0.89 * 0.95 0.89 * 0.89 * bayes.NaiveBayes (5) 0.98 0.92 * 0.91 * 0.91 * 0.98 0.91 * 0.98 0.91 * 0.98 * 0.91 * 0.99 0.91 * 0.91 * bayes.BayesNet (5) 0.99 0.93 * 0.91 * 0.92 * 0.99 * 0.91 * 0.99 * 0.91 * 0.99 * 0.91 * 0.99 0.91 * 0.91 * lazy.IB1 '' (5) 0.93 0.87 * 0.87 * 0.87 * 0.93 0.87 * 0.93 0.87 * 0.93 0.87 * 0.93 0.87 * 0.87 * lazy.IBk '‐K 3 (5) 0.99 0.93 * 0.94 * 0.94 * 0.99 0.94 * 0.99 0.94 * 0.99 0.94 * 0.98 * 0.94 * 0.94 * trees.J48 (5) 0.98 0.93 * 0.95 * 0.95 * 0.98 0.95 * 0.98 0.95 * 0.98 0.95 * 0.98 0.95 * 0.95 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) (0/0/7) (0/0/7) (0/0/7) (0/4/3) (0/0/7) (0/4/3) (0/0/7) (0/3/4) (0/0/7) (0/6/1) (0/0/7) (0/0/7)
Analysing: True_positive_rate Dataset (12)M5L (1)LUV (2)RGB (3)RL (4)M1L (5)M1R (6)M2L (7)M2R (8)M3L (9)M3R (10)M4L (11)M4R (13)M5R ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ functions.MultilayerP (5) 0.95 | 0.84 * 0.86 * 0.86 * 0.94 0.86 * 0.94 0.86 * 0.94 0.86 * 0.94 0.86 * 0.86 * functions.SMO (5) 0.95 | 0.82 * 0.85 * 0.82 * 0.94 0.85 * 0.94 0.85 * 0.95 0.85 * 0.95 0.85 * 0.85 * bayes.NaiveBayes (5) 0.88 | 0.82 * 0.83 * 0.83 * 0.94 v 0.83 * 0.94 v 0.83 * 0.94 v 0.83 * 0.93 v 0.83 * 0.83 * bayes.BayesNet (5) 0.94 | 0.80 * 0.82 * 0.81 * 0.93 * 0.82 * 0.93 * 0.82 * 0.93 * 0.82 * 0.94 0.82 * 0.82 * lazy.IB1 (5) 0.93 | 0.86 * 0.87 * 0.87 * 0.93 0.87 * 0.94 0.87 * 0.94 0.87 * 0.93 0.87 * 0.87 * lazy.IBk '‐K 3 (5) 0.95 | 0.87 * 0.88 * 0.88 * 0.95 0.88 * 0.95 0.88 * 0.95 0.88 * 0.95 0.88 * 0.88 * trees.J48 ' (5) 0.95 | 0.86 * 0.87 * 0.87 * 0.95 0.87 * 0.95 0.87 * 0.95 0.87 * 0.95 0.87 * 0.87 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (0/0/7) (0/0/7) (0/0/7) (1/5/1) (0/0/7) (1/5/1) (0/0/7) (1/5/1) (0/0/7) (1/6/0) (0/0/7) (0/0/7)
Las conclusiones a las que podemos llegar con estos datos son:
‐ Las clases exudado y no exudado parecen de por sí bastante separables. La aplicación de estos algoritmos sobre los datos sin normalizar ya arroja resultados del 85‐90 % en porcentaje total de aciertos, 80‐85% en porcentaje de aciertos de exudados y 0.87‐0.94 en área bajo la curva ROC. Como era de esperar, estos resultados se mejoran al normalizar las imágenes hasta llegar al 94‐95% en porcentaje total de acierto y porcentaje de acierto en exudados y 0.98‐0.99 en el área bajo la curva ROC
‐ Los mejores resultados se consiguen empleando el espacio de color LUV. Al emplear RGB no se mejora sensiblemente respecto de los datos conseguidos con las imágenes sin normalizar
‐ La mejora conseguida al normalizar es independiente del modelo empleado. Con los cinco modelos se consiguen los mismos resultados
‐ El mejor algoritmo depende del parámetro evaluado. En la evaluación del porcentaje total de aciertos el árbol es el que mejor se comporta, para el porcentaje de aciertos
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
43
de exudados, el KNN3 y el árbol son los mejores y también ofrece buen resultado la red neuronal, y para el área bajo la curva ROC, los mejores son la red neuronal, la red bayesiana y el árbol
2ª Prueba. Empleo de dos algoritmos de clasificación basados en costes sobre los datos en bruto y normalizados con los cinco modelos.
La clasificación basada en costes penaliza la clasificación errónea de una de las clases sobre la otra. Parece una opción a tener en cuenta buscar clasificadores que penalicen la mala clasificación de exudados, es decir, que mejore el índice de aciertos en esta clase aunque para ello se empeore la de no exudados. Este es un planteamiento adecuado si se implementa posteriormente un segundo proceso de clasificación basado en otros parámetros (típicamente morfológicos). Se van a testear dos métodos de clasificación:
‐ Árbol ‐ Knn 5
con una distribución de pesos de 10 a 1 de aciertos en exudados frente a los de no exudados. Los resultados obtenidos son los mostrados a continuación:
==== RESULTADOS POR ALGORITMOS ======================================= Key: (1) Árbol (2) Knn 5 ====================================================================== Percent_correct Dataset (1) | (2) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ LUV (5) 63.62 | 79.18 v RGB (5) 76.19 | 80.07 RGBLUV (5) 75.11 | 80.42 M1_LUV (5) 92.02 | 90.79 M1_RGB (5) 92.03 | 90.09 * M2_LUV (5) 91.59 | 91.28 M2_RGB (5) 91.86 | 90.14 * M3_LUV (5) 91.51 | 90.87 M3_RGB (5) 91.81 | 89.90 * M4_LUV (5) 93.11 | 90.15 * M4_RGB (5) 91.64 | 90.19 M5_LUV (5) 90.09 | 89.85 M5_RGB (5) 91.43 | 89.92 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (2/10/6)
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
44
Analysing: Area_under_ROC Dataset (1) meta.Co | (2) meta ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ LUV (5) 0.63 | 0.79 v RGB (5) 0.76 | 0.80 RGBLUV (5) 0.75 | 0.80 M1_LUV (5) 0.92 | 0.91 M1_RGB (5) 0.92 | 0.90 * M2_LUV (5) 0.92 | 0.91 M2_RGB (5) 0.92 | 0.90 * M3_LUV (5) 0.91 | 0.91 M3_RGB (5) 0.92 | 0.90 * M4_LUV (5) 0.93 | 0.90 * M4_RGB (5) 0.92 | 0.90 M5_LUV (5) 0.90 | 0.90 M5_RGB (5) 0.91 | 0.90 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (2/10/6) Analysing: True_positive_rate Dataset (1) meta.Co | (2) meta ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ LUV (5) 0.97 | 0.96 RGB (5) 0.97 | 0.96 RGBLUV (5) 0.97 | 0.96 M1_LUV (5) 0.98 | 0.99 M1_RGB (5) 0.98 | 0.98 M2_LUV (5) 0.98 | 0.99 v M2_RGB (5) 0.98 | 0.98 M3_LUV (5) 0.98 | 0.99 v M3_RGB (5) 0.98 | 0.98 v M4_LUV (5) 0.98 | 0.98 v M4_RGB (5) 0.98 | 0.98 M5_LUV (5) 0.98 | 0.99 M5_RGB (5) 0.98 | 0.98 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (5/13/0) Analysing: True_negative_rate Dataset (1) meta.Co | (2) meta ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ LUV (5) 0.29 | 0.62 v RGB (5) 0.55 | 0.63 RGBLUV (5) 0.53 | 0.64 M1_LUV (5) 0.86 | 0.83 M1_RGB (5) 0.86 | 0.82 * M2_LUV (5) 0.85 | 0.84 M2_RGB (5) 0.86 | 0.82 * M3_LUV (5) 0.85 | 0.83 M3_RGB (5) 0.86 | 0.81 * M4_LUV (5) 0.89 | 0.82 * M4_RGB (5) 0.85 | 0.82 M5_LUV (5) 0.82 | 0.81 M5_RGB (5) 0.85 | 0.81 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (2/10/6)
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
45
Las conclusiones que obtenemos del análisis de los datos son:
‐ Los resultados son peores si evaluamos porcentaje total de aciertos, área bajo la curva ROC y sobre todo el porcentaje de acierto de no exudados
‐ El porcentaje de acierto de exudados es muy bueno, en torno al 98‐99% con las imágenes normalizadas
‐ Tanto el árbol de búsqueda como el Knn 5 dan resultados igualmente buenos
Como se comentó anteriormente, si se plantea la implementación de un segundo paso de clasificación basado, por ejemplo, en características morfológicas, un buen punto de partida puede ser el resultado de una búsqueda de precandidatos basada en costes. Hay que tener en cuenta que el no tener un buen resultado en cuanto a la detección de los exudados puede significar la pérdida de lesiones completas, lo que podría impedir toda opción de reconstrucción posterior. No obstante, esta metodología se planteará sólo si no se mejoran los resultados con el empleo de la información del entorno de vecindad. El objetivo es mejorar la detección de la clase exudado sin penalizar la de la clase no exudado.
3ª Prueba. Resultados de clasificación con imágenes independientes.
Las pruebas realizadas hasta ahora parten de un conjunto de datos extraído de 9 imágenes. Se va a realizar una prueba consistente en evaluar los índices de acierto obtenidos al buscar exudados y no exudados en cada imagen, de forma independiente, habiendo usado para entrenar los datos de una sola imagen. Se hace normalizando los datos (según los cinco modelos), empleando el espacio LUV y el árbol de búsqueda como algoritmo de clasificación. Los resultados se muestran a continuación:
Notas
En estos cuadros de datos se han marcado en verde aquellos índices iguales o superiores al 98% y en rojo aquellos inferiores al 90%.
Las filas representan entrenamiento y las columnas test.
Modelo 1 ===Tasa Acierto exu ================= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,91 0,76 0,96 0,82 0,88 1,00 0,92 0,97 0,90 IMG2: 0,91 0,87 0,96 1,00 0,99 0,99 0,98 0,99 0,92 IMG3: 0,53 0,63 0,96 0,97 0,66 0,97 0,90 0,97 0,94 IMG4: 0,31 0,45 0,87 0,99 0,47 0,88 0,85 0,94 0,91 IMG5: 0,25 0,72 0,68 0,95 0,97 0,92 0,92 0,98 0,61 IMG6: 0,59 0,76 0,94 0,99 0,83 0,97 0,94 0,98 0,96 IMG7: 0,25 0,63 0,88 0,98 0,78 0,93 0,95 0,98 0,80 IMG8: 0,30 0,53 0,91 0,98 0,74 0,93 0,92 0,98 0,92 IMG9: 0,40 0,57 0,93 0,99 0,74 0,95 0,93 0,98 0,95
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
46
Modelo 1 ===Tasa Acierto noexu ============= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,85 0,69 0,87 0,64 0,81 0,59 0,83 0,82 0,76 IMG2: 0,80 0,92 0,82 0,77 0,77 0,85 0,79 0,80 0,73 IMG3: 0,94 0,90 0,97 0,94 0,94 0,96 0,91 0,92 0,93 IMG4: 0,97 0,98 0,99 0,98 0,99 0,99 0,98 0,98 0,99 IMG5: 0,92 0,94 0,96 0,92 0,96 0,96 0,93 0,94 0,94 IMG6: 0,92 0,92 0,97 0,96 0,95 0,98 0,93 0,94 0,95 IMG7: 0,96 0,97 0,97 0,96 0,99 0,98 0,97 0,95 0,99 IMG8: 0,96 0,97 0,98 0,95 0,98 0,98 0,95 0,97 0,98 IMG9: 0,95 0,96 0,98 0,94 0,97 0,96 0,94 0,95 0,97 Modelo 2 ===Tasa Acierto exu ================= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,91 0,72 0,96 0,82 0,88 1,00 0,92 0,97 0,99 IMG2: 0,92 0,90 0,96 1,00 0,99 1,00 0,98 0,99 0,97 IMG3: 0,49 0,57 0,96 0,99 0,58 0,97 0,90 0,98 0,95 IMG4: 0,42 0,56 0,87 0,99 0,54 0,88 0,84 0,93 0,91 IMG5: 0,41 0,79 0,68 0,96 0,97 0,95 0,93 0,99 0,61 IMG6: 0,60 0,83 0,94 0,99 0,87 0,97 0,95 0,98 0,96 IMG7: 0,35 0,66 0,84 0,98 0,77 0,98 0,96 0,99 0,77 IMG8: 0,29 0,53 0,90 0,98 0,71 0,92 0,91 0,97 0,92 IMG9: 0,40 0,62 0,93 0,99 0,77 0,95 0,94 0,98 0,95 Modelo 2 ===Tasa Acierto noexu ============= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,85 0,70 0,87 0,64 0,81 0,59 0,83 0,82 0,59 IMG2: 0,80 0,90 0,83 0,76 0,79 0,82 0,79 0,80 0,69 IMG3: 0,94 0,93 0,97 0,94 0,95 0,96 0,93 0,92 0,96 IMG4: 0,97 0,98 0,99 0,99 1,00 1,00 0,99 0,98 0,99 IMG5: 0,91 0,92 0,96 0,94 0,98 0,97 0,93 0,94 0,95 IMG6: 0,91 0,90 0,97 0,94 0,96 0,98 0,91 0,93 0,93 IMG7: 0,95 0,96 0,97 0,95 0,98 0,95 0,98 0,91 0,98 IMG8: 0,96 0,97 0,99 0,95 0,98 0,98 0,96 0,97 0,98 IMG9: 0,95 0,94 0,97 0,95 0,96 0,97 0,92 0,94 0,97 Modelo 3 ===Tasa Acierto exu ================= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,91 0,72 0,96 0,82 0,88 1,00 0,92 0,97 0,99 IMG2: 0,92 0,91 0,96 1,00 0,99 1,00 0,98 0,99 0,97 IMG3: 0,52 0,59 0,96 0,97 0,60 0,98 0,89 0,97 0,95 IMG4: 0,27 0,43 0,87 0,99 0,46 0,88 0,84 0,94 0,91 IMG5: 0,25 0,72 0,68 0,97 0,97 0,96 0,91 0,99 0,62 IMG6: 0,53 0,79 0,94 0,99 0,87 0,97 0,95 0,98 0,96 IMG7: 0,30 0,64 0,90 0,98 0,79 0,93 0,95 0,98 0,79 IMG8: 0,33 0,54 0,91 0,99 0,73 0,93 0,92 0,97 0,93 IMG9: 0,36 0,59 0,93 0,99 0,77 0,94 0,93 0,98 0,95 Modelo 3 ===Tasa Acierto noexu ============= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,85 0,70 0,87 0,64 0,81 0,59 0,83 0,82 0,59 IMG2: 0,80 0,87 0,83 0,75 0,79 0,82 0,79 0,80 0,68 IMG3: 0,94 0,91 0,97 0,93 0,94 0,95 0,90 0,91 0,93 IMG4: 0,97 0,99 0,99 0,99 1,00 1,00 0,99 0,98 0,99 IMG5: 0,92 0,94 0,96 0,91 0,98 0,96 0,94 0,94 0,94 IMG6: 0,93 0,92 0,98 0,94 0,96 0,98 0,92 0,93 0,94 IMG7: 0,95 0,97 0,97 0,96 0,99 0,98 0,97 0,95 0,99 IMG8: 0,96 0,97 0,98 0,95 0,98 0,98 0,95 0,97 0,98 IMG9: 0,96 0,95 0,98 0,96 0,96 0,98 0,94 0,96 0,97
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
47
Modelo 4 ===Tasa Acierto exu ================= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,92 0,73 0,96 0,54 0,46 1,00 0,38 0,53 0,87 IMG2: 0,64 0,92 0,96 1,00 0,98 0,99 0,97 0,99 0,90 IMG3: 0,41 0,52 0,96 0,99 0,51 0,97 0,88 0,97 0,94 IMG4: 0,24 0,42 0,93 0,99 0,47 0,94 0,83 0,93 0,90 IMG5: 0,25 0,72 0,68 0,95 0,98 0,93 0,92 0,98 0,53 IMG6: 0,38 0,53 0,94 0,98 0,46 0,97 0,81 0,83 0,89 IMG7: 0,32 0,68 0,84 0,98 0,82 0,97 0,96 0,99 0,77 IMG8: 0,33 0,54 0,92 0,99 0,73 0,94 0,92 0,98 0,94 IMG9: 0,33 0,57 0,93 0,99 0,76 0,94 0,93 0,98 0,95 Modelo 4 ===Tasa Acierto noexu ============= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,84 0,68 0,87 0,63 0,81 0,56 0,84 0,83 0,75 IMG2: 0,84 0,89 0,81 0,83 0,92 0,84 0,88 0,91 0,90 IMG3: 0,96 0,95 0,97 0,95 0,97 0,96 0,95 0,96 0,96 IMG4: 0,97 0,99 0,98 0,99 1,00 0,99 0,99 0,98 0,99 IMG5: 0,92 0,95 0,94 0,91 0,96 0,95 0,93 0,95 0,96 IMG6: 0,96 0,99 0,97 0,98 1,00 0,98 0,99 1,00 0,98 IMG7: 0,95 0,96 0,96 0,94 0,98 0,95 0,97 0,91 0,98 IMG8: 0,96 0,96 0,98 0,94 0,97 0,97 0,95 0,96 0,97 IMG9: 0,96 0,96 0,98 0,94 0,97 0,97 0,94 0,96 0,97 Modelo 5 ===Tasa Acierto exu ================= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,92 0,73 0,88 0,43 0,46 0,63 0,38 0,53 0,87 IMG2: 0,56 0,89 0,92 0,99 0,97 0,98 0,96 0,99 0,88 IMG3: 0,55 0,63 0,95 0,80 0,61 0,97 0,89 0,97 0,94 IMG4: 0,42 0,56 0,87 0,99 0,54 0,88 0,84 0,93 0,91 IMG5: 0,41 0,78 0,68 0,96 0,97 0,97 0,93 0,98 0,61 IMG6: 0,49 0,75 0,94 0,99 0,82 0,97 0,94 0,98 0,96 IMG7: 0,30 0,68 0,82 0,98 0,83 0,96 0,96 0,99 0,76 IMG8: 0,30 0,53 0,90 0,98 0,74 0,93 0,92 0,98 0,93 IMG9: 0,33 0,57 0,93 0,99 0,76 0,95 0,93 0,98 0,95 Modelo 5 ===Tasa Acierto noexu ============= IMG1 IMG2 IMG3 IMG4 IMG5 IMG6 IMG7 IMG8 IMG9 IMG1: 0,84 0,68 0,87 0,86 0,81 0,91 0,84 0,83 0,75 IMG2: 0,84 0,93 0,92 0,88 0,94 0,93 0,90 0,92 0,91 IMG3: 0,93 0,90 0,98 0,93 0,95 0,96 0,91 0,92 0,93 IMG4: 0,97 0,98 0,99 0,99 1,00 1,00 0,99 0,98 0,99 IMG5: 0,91 0,93 0,97 0,93 0,98 0,96 0,93 0,94 0,95 IMG6: 0,95 0,93 0,97 0,96 0,96 0,98 0,93 0,94 0,95 IMG7: 0,94 0,96 0,96 0,94 0,99 0,96 0,97 0,93 0,97 IMG8: 0,96 0,97 0,98 0,96 0,97 0,98 0,95 0,96 0,97 IMG9: 0,96 0,96 0,98 0,96 0,97 0,98 0,94 0,95 0,97
Aprovechando el marcado en color se aprecia a primera vista como los resultados siguen patrones similares sea cual sea el modelo empleado, conclusión a la que ya habíamos llegado en pruebas anteriores y que queda así refrendada.
Quizás la conclusión más importante a la que podemos llegar es que una única imagen tiene una gran capacidad predictiva, ya que, como se observa en esta última prueba, entrenando con una sola podemos obtener índices de acierto sobre cualquier otra en torno al 90%. Esto da validez a las pruebas realizadas anteriormente y las que realizaremos en adelante
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
48
en que se han usado 9 imágenes y se han analizado mediante validación cruzada a 5, disipando dudas acerca de si la cantidad de datos empleados era suficiente.
4ª Prueba. Clasificación con vector de características aumentado. Información de vecinos y datos estadísticos.
En esta prueba se testean varios algoritmos de clasificación con datos obtenidos de imágenes LUV normalizadas mediante el modelo 2, cuyas características no sólo son las propias del pixel sino las de un entorno de vecindad y algunos datos estadísticos obtenidos de esa ventana de vecindad. Se prueban entornos de vecindad de 3x3, 5x5 y 7x7 y se forman los vectores de características con la siguiente composición:
‐ Capas L, U y V del pixel ‐ Capas L, U y V de los píxeles vecinos, ordenados de mayor a menor intensidad (valor
de la capa I) ‐ I del pixel ‐ Imin de la ventana de vecindad para las capas L, U y V ‐ Imax de la ventana de vecindad ‐ I del pixel para las capas L, U y V ‐ I del pixel – Imean de la ventana de vecindad para las capas L, U y V ‐ STD de la ventana de vecindad para las capas L, U y V ‐ Moda de la ventana de vecindad para las capas L, U y V
Se crean 10 conjuntos de datos:
‐ Información sólo del píxel ‐ Información del píxel, del entorno de vecindad y estadísticas, para los tres entornos de
vecindad ‐ Información del píxel y estadísticas, para los tres entornos de vecindad ‐ Características más relevantes obtenidas del vector completo, para los tres entornos
de vecindad
Y se prueban 6 algoritmos de clasificación:
‐ Máquina de soporte vectorial ‐ Clasificador bayesiano ‐ Knn 1 ‐ Knn 3 ‐ Árbol ‐ Boosting sobre árbol15
15 Boosting es un método de combinación de clasificadores que persigue mejorar la precisión. Se basa en la aplicación del clasificador varias veces sobre el conjunto de entrenamiento, pero dirigiendo la atención del aprendizaje a diferentes muestras del mismo. Una vez que el proceso ha terminado, los clasificadores básicos obtenidos se combinan en un único clasificador final que por lo general es muy preciso en el conjunto de entrenamiento. Este clasificador final normalmente logra también una precisión elevada en el conjunto de test.
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
49
Los resultados obtenidos son los siguientes:
Key: (1) 1pixel (2) 3V‐Vecinos+estadísticas (3) 3V‐Características más relevantes (4) 3V‐Estadisticas sólo (5) 5V‐ Vecinos+estadísticas (6) 5V‐ Características más relevantes (7) 5V‐Estadisticas sólo (8) 7V‐ Vecinos+estadísticas (9) 7V‐ Características más relevantes (10) 7V‐Estadisticas sólo Analysing: Percent_correct Dataset (8) | (1) (2) (3) (4) (5) (6) (7) (9) (10) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ functions.SMO '‐C 1.0 ‐L (5) 98.43 | 95.66 * 97.85 * 97.04 * 97.78 * 98.28 97.72 * 98.12 97.88 * 98.12 bayes.NaiveBayes '' 59952 (5) 92.62 | 93.68 v 95.53 v 91.61 * 94.17 v 94.37 v 93.54 94.39 v 93.34 94.44 v lazy.IB1 '' ‐615218412730 (5) 97.35 | 95.08 * 97.06 * 97.17 97.52 97.43 97.94 98.19 v 97.98 v 98.37 v lazy.IBk '‐K 3 ‐W 0 ‐A \" (5) 97.64 | 96.01 * 97.50 * 97.63 97.96 v 97.80 v 98.18 v 98.38 v 98.18 v 98.53 v trees.J48 '‐C 0.25 ‐M 2' (5) 98.18 | 96.41 * 97.83 * 97.37 * 97.81 98.13 97.99 * 98.42 98.02 98.19 meta.AdaBoostM1 '‐P 100 ‐ (5) 98.65 | 95.92 * 98.22 * 97.56 * 98.07 * 98.56 98.18 * 98.56 98.15 * 98.47 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (1/0/5) (1/0/5) (0/2/4) (2/2/2) (2/4/0) (1/2/3) (3/3/0) (2/2/2) (3/3/0) Analysing: True_positive_rate Dataset (8) | (1) (2) (3) (4) (5) (6) (7) (9) (10) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ functions.SMO '‐C 1.0 ‐L (5) 0.99 | 0.95 * 0.98 * 0.98 * 0.98 * 0.99 0.98 * 0.98 * 0.98 * 0.98 * bayes.NaiveBayes '' 59952 (5) 0.97 | 0.97 0.98 v 0.99 v 0.97 0.98 v 0.99 v 0.97 1.00 v 0.98 lazy.IB1 '' ‐615218412730 (5) 0.98 | 0.95 * 0.97 * 0.97 0.97 * 0.98 0.98 0.98 0.98 0.99 v lazy.IBk '‐K 3 ‐W 0 ‐A \" (5) 0.98 | 0.96 * 0.97 * 0.98 0.98 0.98 0.99 v 0.99 v 0.99 v 0.99 v trees.J48 '‐C 0.25 ‐M 2' (5) 0.98 | 0.96 * 0.98 0.98 * 0.98 * 0.98 0.98 0.99 v 0.98 0.98 meta.AdaBoostM1 '‐P 100 ‐ (5) 0.99 | 0.95 * 0.98 * 0.98 * 0.98 * 0.99 * 0.98 * 0.99 0.98 0.99 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (1/0/5) (1/0/5) (0/2/4) (2/2/2) (2/4/0) (1/2/3) (3/3/0) (2/2/2) (3/3/0) Analysing: True_negative_rate Dataset (8) | (1) (2) (3) (4) (5) (6) (7) (9) (10) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ functions.SMO '‐C 1.0 ‐L (5) 0.98 | 0.96 * 0.98 * 0.96 * 0.98 * 0.98 0.97 * 0.98 0.97 * 0.98 bayes.NaiveBayes '' 59952 (5) 0.88 | 0.90 v 0.93 v 0.84 * 0.92 v 0.91 v 0.88 0.92 v 0.87 0.91 v lazy.IB1 '' ‐615218412730 (5) 0.97 | 0.95 * 0.97 v 0.97 v 0.98 v 0.97 0.98 v 0.98 v 0.98 0.98 v lazy.IBk '‐K 3 ‐W 0 ‐A \" (5) 0.97 | 0.96 * 0.98 v 0.97 0.98 v 0.98 v 0.98 0.98 v 0.98 v 0.98 v trees.J48 '‐C 0.25 ‐M 2' (5) 0.98 | 0.97 * 0.98 0.97 * 0.98 0.98 0.98 0.98 0.98 0.98 meta.AdaBoostM1 '‐P 100 ‐ (5) 0.98 | 0.96 * 0.98 0.97 * 0.98 * 0.98 0.98 0.98 0.98 0.98 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (1/0/5) (1/0/5) (0/2/4) (2/2/2) (2/4/0) (1/2/3) (3/3/0) (2/2/2) (3/3/0)
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
50
En cuanto a las características que el algoritmo de selección ha adoptado como más influyentes para cada entorno de vecindad son: @relation '3V‐ConsistencySubset' @attribute A1 numeric @attribute A4 numeric @attribute A25 numeric @attribute A27 numeric @attribute A30 numeric @attribute A35 numeric @attribute A37 numeric @attribute A39 numeric @relation '5V‐ConsistencySubset' @attribute A1 numeric @attribute A43 numeric @attribute A73 numeric @attribute A75 numeric @attribute A78 numeric @attribute A83 numeric @attribute A84 numeric @attribute A85 numeric @relation '7V‐ConsistencySubset' @attribute A13 numeric @attribute A100 numeric @attribute A145 numeric @attribute A147 numeric @attribute A150 numeric @attribute A151 numeric @attribute A155 numeric @attribute A156 numeric
Como prueba complementaria, se ha testeado con un vector de características compuesto por los datos del pixel y del entorno de vecindad, prescindiendo de los estadísticos. El resultado es:
Key: (1) 7V‐no_stats (2) 5V‐no_stats (3) 3V‐no_stats Analysing: Percent_correct Dataset (1) 7V‐no_st | (2) 5V‐no (3) 3V‐no ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ functions.SMO '‐C 1.0 ‐L (5) 98.25 | 98.16 97.78 * bayes.NaiveBayes '' 59952 (5) 91.93 | 93.55 v 94.77 v lazy.IB1 '' ‐615218412730 ( 5) 96.96 | 96.98 96.87 lazy.IBk '‐K 3 ‐W 0 ‐A \" (5) 97.15 | 97.40 97.43 trees.J48 '‐C 0.25 ‐M 2' (5) 97.83 | 97.82 97.60 meta.AdaBoostM1 '‐P 100 ‐ (5) 98.56 | 98.57 98.00 * ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ (v/ /*) | (1/5/0) (1/3/2)
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
51
De todos estos datos se pueden extraer algunas conclusiones:
‐ El empleo de información acerca del entorno de vecindad mejora los resultados respecto al empleo de la información del pixel sólo
‐ Aunque el entorno de vecindad de 7x7 es el que ofrece mejores resultados, la mejora sobre el de 5x5 no es significativa. Sí lo es la de éste sobre el de 3x3
‐ El árbol, la máquina de soporte vectorial y el Knn 3 resultan ser los algoritmos que mejor resultado ofrecen
‐ Los resultados que se obtienen con los datos del pixel y los estadísticos son similares a los obtenidos con los vectores completos. Las informaciones de intensidad de los vecinos no parecen ser especialmente relevantes, lo que queda de manifiesto en la última prueba. Los datos del píxel y las estadísticas dan en general mejor resultado que los datos de todos los píxeles del entorno de vecindad sin estadísticas
‐ De la selección de características más influyentes se detecta que cuatro características se repiten en los tres conjuntos de datos, son las capas U y V del píxel más oscuro, la capa V del estadístico I‐Imin y la capa U del estadístico I‐Imean, y tres características se repiten en, al menos, dos de los tres conjuntos, son la capa L del píxel, la capa V del estadístico I‐Imean y la capa L del estadístico STD, lo que refrenda la anterior conclusión, ya que, salvo la capa L del píxel y las capas U y V del más oscuro, las demás características que se repiten son estadísticos
‐ En general se obtienen resultados muy buenos, siempre superiores al 96% de acierto, en la clasificación usando el árbol
Primeras conclusiones y pruebas con el conjunto de imágenes de test.
De todas las pruebas realizadas, podemos fijar los siguientes pasos como los más convenientes para realizar la detección de exudados a nivel de pixel:
‐ Las imágenes se convierten a formato LUV ‐ Las imágenes se normalizan en función a un modelo. Aunque se ha demostrado que,
de entrada, cualquier modelo es válido, optamos el modelo 2 ya que en la evaluación del índice J de separabilidad demostró cierta ventaja
‐ Se forma el vector de características con los datos del píxel y los datos estadísticos obtenidos de un entorno de vecindad de 5x5
Para realizar las pruebas partimos del conjunto de 9 imágenes de entrenamiento, de donde obtenemos los conjuntos de muestras para entrenar los clasificadores y del conjunto de 8 imágenes de test sobre el que evaluaremos los resultados. Como ya se indicó, no contemplamos el problema del disco óptico, el cual se supone detectado previamente. Para evitar que los píxeles del disco se consideren como pertenecientes a la clase exudado se han eliminado las regiones del disco óptico de las imágenes.
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
52
Como métodos de clasificación vamos a ensayar cuatro clasificadores: árbol, máquina de soporte vectorial, boosting sobre árbol y boosting sobre máquina de soporte vectorial. A continuación se presentan los resultados obtenidos para cada algoritmo.
Resultados con el árbol:
Imagen Sensitivity Specifity Accuracy 1 0.986 0.905 0.905 2 1 0.769 0.77 3 0.981 0.744 0.747 4 0.986 0.896 0.896 5 0.791 0.935 0.934 6 0.93 0.962 0.962 7 0.993 0.876 0.877 8 0.983 0.873 0.874
Resultados con la máquina de soporte vectorial:
Imagen Sensitivity Specifity Accuracy 1 0.992 0.921 0.921 2 1 0.906 0.906 3 0.997 0.723 0.726 4 1 0.912 0.912 5 0.969 0.948 0.948 6 0.91 0.974 0.974 7 0.991 0.92 0.921 8 0.976 0.933 0.933
Resultados con el boosting sobre el árbol:
Imagen Sensitivity Specifity Accuracy 1 0.986 0.926 0.926 2 1 0.835 0.835 3 0.97 0.853 0.854 4 1 0.908 0.908 5 0.878 0.949 0.949 6 0.895 0.974 0.974 7 0.996 0.888 0.889 8 0.962 0.909 0.909
Resultados con el boosting sobre la máquina de soporte vectorial:
Imagen Sensitivity Specifity Accuracy 1 0.992 0.921 0.921 2 1 0.906 0.906 3 0.997 0.723 0.726 4 1 0.912 0.912 5 0.969 0.948 0.948 6 0.91 0.974 0.974 7 0.991 0.92 0.921 8 0.976 0.933 0.933
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
53
Los resultados de la máquina de soporte vectorial son algo mejores en cuanto que se obtienen los mejores índices tanto para los exudados como para los no exudados. Tanto la máquina de soporte vectorial como el boosting sobre la máquina ofrecen exactamente los mismos resultados. Con los datos obtenidos para este clasificador vamos a formar las imágenes resultado. Para cada una de las 8 imágenes procesadas se mostrará la imagen original, la imagen marcada (imagen en la que los píxeles de exudado, conocidos, aparecen en blanco), la imagen con los exudados marcados según el algoritmo de clasificación y una imagen donde se indicarán los píxeles exudados correctamente marcados (en blanco), los exudados incorrectamente marcados (en azul) y los no exudados incorrectamente marcados (en verde).
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.9. Resultados con la imagen 1
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
54
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.10. Resultados con la imagen 2
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.11. Resultados con la imagen 3
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
55
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.12. Resultados con la imagen 4
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.13. Resultados con la imagen 5
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
56
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.14. Resultados con la imagen 6
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.15. Resultados con la imagen 7
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
57
a) Imagen original b) Imagen con los exudados marcados
c) Imagen con los exudados encontrados por el clasificador
d) Imagen de análisis
Fig. 5.16. Resultados con la imagen 8
Se observa como la detección de exudados es prácticamente completa, aunque aun hay muchos píxeles de la clase no exudado que han sido considerados como pertenecientes a la clase exudado. Esto puede ser debido a que en la fase de entrenamiento la clase no exudado no ha quedado suficientemente bien caracterizada. Hay que tener en cuenta que el número de muestras de esa clase tomados aleatoriamente es muy inferior al número total de elementos de la clase.
Este conjunto de candidatos obtenido es, no obstante, mucho más reducido que el conjunto de datos de partida, y puede ser tomado como base para un segundo paso de clasificación. La clasificación en dos pasos se discute en el próximo punto.
Clasificación en dos pasos.
El definir un clasificador partiendo de los datos de una serie de imágenes marcadas presenta un problema: la cantidad de píxeles es demasiado elevada como para considerar toda esa información en el entrenamiento del clasificador. De todos estos datos, los exudados, que son los píxeles que queremos encontrar son un porcentaje muy pequeño. Tenemos por tanto un conjunto de datos altamente no balanceados. La solución adoptada en el apartado anterior fue balancear los datos, es decir, entrenar al clasificador con la totalidad de puntos de la clase exudado y un número similar de puntos de la clase no exudado, es decir, un pequeño porcentaje de los puntos de dicha clase. La pregunta es si esta muestra de no exudados es suficientemente representativa. Los resultados obtenidos parecen bastante lógicos: se han
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
58
detectado prácticamente el 100% de los exudados con un escaso nº de falsos negativos pero en cuanto a los no exudados, se producen un número elevado de falsos positivos. La idea es partir de este conjunto obtenido, mucho más reducido que la totalidad de los puntos de la imagen para entrenar a un segundo clasificador, que actuará sobre el conjunto resultante de la primera clasificación.
Cabe preguntarse si las pruebas de separabilidad y análisis que se han realizado sobre las imágenes completas son extrapolables a un conjunto reducido fruto de una primera clasificación. Aunque parece lógico pensar que sí, se harán algunas pruebas en este sentido. El conjunto de datos resultante de la primera clasificación se obtendrá no sólo en formato LUV sino también en RGB y en ambos con un proceso previo de igualación de fondo, ya que se observa en los resultados anteriores que algunos defectos de iluminación de las imágenes provocan que ciertas zonas sean propensas a contener falsos negativos (se desarrolla el proceso de igualación de fondo en el anexo 7.3). Sobre estos conjuntos se hará un análisis de separabilidad para determinar cuál es el formato apropiado que deben tener los datos para el segundo paso de clasificación.
El procedimiento que se ha seguido es:
‐ Emplear las imágenes LUV normalizadas de entrenamiento para obtener un conjunto balanceado de muestras
‐ Con el conjunto balanceado entrenar un primer clasificador ‐ Pasar el primer clasificador al conjunto de imágenes de entrenamiento para tener un
conjunto reducido de candidatos a exudado ‐ Obtener ese conjunto en representación LUV normalizada, RGB normalizada, RGB
normalizada con un tratamiento de corrección de fondo y LUV normalizada con el tratamiento de fondo y analizar cuál de los conjuntos ofrece mejores características de separabilidad
‐ Con el conjunto reducido completo elegido entrenar un segundo clasificador
Con estos dos clasificadores se probará sobre el conjunto de imágenes de test, distinto al conjunto de entrenamiento de la siguiente manera:
‐ Sobre la imagen LUV normalizada completa pasar el primer clasificador, obteniendo un primer grupo de candidatos a exudados
‐ Si es necesario, obtener este conjunto de candidatos en representación RGB, RGB con corrección de fondo o LUV con corrección de fondo, según el resultado obtenido del análisis del conjunto reducido de las imágenes de entrenamiento
‐ Al conjunto de candidatos pasar el segundo clasificador, obteniendo el conjunto definitivo de candidatos a exudados
El primer paso ha sido, según lo expuesto, obtener un conjunto de muestras balanceadas de las imágenes de entrenamiento en formato LUV y normalizadas según el modelo 2. Con ese conjunto de muestras se ha entrenado un primer clasificador, concretamente una máquina de soporte vectorial, ya que fue el que mejor resultado dio en la fase anterior. Este clasificador se ha empleado para clasificar las imágenes de entrenamiento y
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
59
obtener un conjunto de candidatos reducido, que contiene casi el 100% de los píxeles de la clase exudado y aun bastantes píxeles de la clase no exudado. El conjunto reducido se obtiene en cuatro formatos:
‐ LUV ‐ RGB ‐ LUV con corrección de fondo ‐ RGB con corrección de fondo
Una característica de estos conjuntos es que siguen siendo desbalanceados, en una proporción aproximada de 13 a 1 de no exudados frente a exudados. El trabajar con conjuntos desbalanceados conduce a un clasificador que favorecerá la buena clasificación de la clase mayoritaria en perjuicio de la minoritaria, para así obtener mejores porcentajes de acierto globales, por lo que es necesario compensar este efecto. Hay dos formas de resolver esto:
‐ Balancear los conjuntos. ‐ Emplear un clasificador basado en costes, que penalice más el error de clasificación de
la clase minoritaria. En este caso, el coste de clasificar mal los exudados deberá ser de 13 veces el de clasificar mal los no exudados.
Con los conjuntos de datos obtenidos de la primera clasificación vamos a ensayar tres clasificadores:
‐ Máquina de soporte vectorial ‐ Máquina de soporte vectorial basada en costes ‐ Clasificador por regresión logística
Los resultados obtenidos se muestran a continuación.
Key: (1) ResultTrainLuv_5V_solostats (2) ResultTrainLuvfi_5V_solostats (3) ResultTrainRgb_5V_solostsats (4) ResultTrainRgbfi_5V_solostats Analysing: Percent_correct Dataset (4) ResultTr | (1) Resul (2) Resul (3) Resul ---------------------------------------------------------------------- functions.SMO '-C 1.0 -L (5) 95.95 | 95.59 * 95.58 * 95.44 * meta.CostSensitiveClassif (5) 90.62 | 91.10 v 91.15 v 91.06 v functions.Logistic '-R 1. (5) 95.97 | 95.67 * 95.81 * 95.45 * ---------------------------------------------------------------------- (v/ /*) | (1/0/2) (1/0/2) (1/0/2) Analysing: True_positive_rate Dataset (4) ResultT | (1) Resu (2) Resu (3) Resu ------------------------------------------------------------------ functions.SMO '-C 1.0 -L (5) 0.56 | 0.49 * 0.50 * 0.47 * meta.CostSensitiveClassif (5) 0.93 | 0.90 * 0.95 v 0.88 * functions.Logistic '-R 1. (5) 0.58 | 0.52 * 0.54 * 0.50 * ------------------------------------------------------------------ (v/ /*) | (0/0/3) (1/0/2) (0/0/3)
Juan Ríos GutiérrezDetección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
60
Analysing: True_negative_rate Dataset (4) ResultT | (1) Resu (2) Resu (3) Resu ------------------------------------------------------------------ functions.SMO '-C 1.0 -L (5) 0.99 | 0.99 v 0.99 v 0.99 v meta.CostSensitiveClassif (5) 0.90 | 0.91 v 0.91 v 0.91 v functions.Logistic '-R 1. (5) 0.99 | 0.99 v 0.99 v 0.99 ------------------------------------------------------------------ (v/ /*) | (3/0/0) (3/0/0) (2/1/0)
De estos datos podemos extraer las siguientes conclusiones:
‐ Los clasificadores no basados en costes dan mejores resultados globales, pero lo hacen sacrificando la buena clasificación de los exudados (clase minoritaria). Es el clasificador basado en coste el que ofrece un porcentaje de acierto de exudados aceptable
‐ La corrección de fondo mejora el porcentaje de acierto de exudados en 5 puntos ‐ El formato LUV sigue siendo el que mejor resultado ofrece
Como conclusión, la máquina de soporte vectorial basada en costes es el clasificador que emplearemos en el 2º paso de clasificación, el cual se realizará sobre el conjunto de datos obtenidos de las imágenes LUV con el fondo corregido.
5.3. Resumen.
De todas las pruebas anteriores y tras analizar los resultados obtenidos, vamos a definir un proceso de detección de exudados a nivel de píxel basado en dos fases de clasificación, trabajando sobre imágenes en formato LUV y planteando dos operaciones de preprocesado: normalización de histograma e igualación de fondo. Detallamos los procedimientos de entrenamiento y clasificación en los siguientes apartados.
Entrenamiento.
Para la fase de entrenamiento se cuenta con un conjunto de 9 imágenes. Las operaciones a realizar son:
‐ Convertir las imágenes a formato LUV ‐ Someter a las imágenes a un proceso de igualación de histograma para normalizarlas.
Como referencia se emplea el modelo 2 ‐ De cada imagen sacar todos los píxeles de la clase exudado y un número similar de
píxeles de la clase no exudado, obtenidos aleatoriamente ‐ Con estos conjuntos de muestras entrenar un primer clasificador, en concreto, una
máquina de soporte vectorial ‐ Con este primer clasificador clasificar el conjunto de imágenes de entrenamiento,
obteniendo un conjunto de candidatos a pertenecer a la clase exudado
Juan Ríos Gutiérrez Detección automática de exudados duros en imágenes de retina. Un enfoque a nivel de píxel
61
‐ Obtener este grupo de candidatos en la versión LUV con el fondo igualado, y separar los que son realmente pertenecientes a la clase exudado de los que no lo son
‐ Con estos nuevos conjuntos de datos entrenar un segundo clasificador, que en este caso será una máquina de soporte vectorial basada en costes, con un coste 13 veces mayor por la mala clasificación de la clase exudado que por la no exudado
Clasificación.
Partiendo de los dos clasificadores obtenidos en la fase de entrenamiento, el proceso de clasificación de una imagen cualquiera consistirá en:
‐ Obtener la imagen en representación LUV ‐ Normalizar la imagen hacia el modelo 2 ‐ Pasar el primer clasificador, obteniendo un primer conjunto de candidatos ‐ Obtener ese conjunto de candidatos en la versión LUV con fondo corregido de la
imagen ‐ Pasar el segundo clasificador a ese conjunto de candidatos, obteniendo el conjunto
final de candidatos a pertenecer a la clase exudado
En el siguiente apartado se presentarán los resultados obtenidos mediante esta propuesta al probar sobre el conjunto de 8 imágenes de test.