TRABAJO FIN DE GRADO
GRADUADO EN INGENIERíA DE SISTEMAS DE TELECOMUNICACIóN
Evaluación de las prestaciones de las redes neuronales convolucionales aplicadas a
retinografías
Alejandro Maestre Barrionuevo
Director: Juan Morales Sánchez
Departamento de Tecnologías de la Información y las Comunicaciones
17 de julio de 2020
Agradecimientos
A mi director de proyecto, gracias a su implicación y asesoramiento este estudio ha llegado a buen término. Y por haberme ayudado a encontrar una motivación que creía perdida.
Gracias a mi familia, especialmente a mis padres, por su comprensión y su inculcación de valores como: la dedicación, la paciencia y el trabajo bien hecho. Todos ellos han sido tan importantes como los conocimientos técnicos para la superación de esta y muchas otras empresas.
Finalmente, a compañeros de carrera y amigos, porque nuestro pasado compartido me si- gue definiendo en el presente.
Resumen
El análisis de imágenes tiene un largo recorrido en los diferentes ámbitos de la ciencia. Con- cretamente la segmentación (subdivisión de una imagen en regiones delimitadas y exclu- yentes) es de particular utilidad ya que permite la identificación de elementos relevantes en la imagen bajo estudio. En este trabajo se pretende segmentar el disco óptico (zona de interconexión entre la retina y el nervio óptico) de una retinografía (imagen del fondo de la retina). Los frutos de este trabajo pueden ser empleados para que expertos, u otros algo- ritmos, obtengan varios parámetros geométricos del disco óptico como tamaño, forma o pigmentación. La cuantificación de estos parámetros permiten el diagnóstico enfermeda- des oculares como el glaucoma o la atrofia óptica.
Se pretende utilizar redes neuronales (algoritmos de aprendizaje y procesamiento automá- tico), concretamente la estructura convolucional U-net que ha demostrado su viabilidad en análisis de imágenes médicas («U-Net: Convolutional Networks for Biomedical. Image Seg- mentation.» [1]), lo que permitirá sistemas rápidos y con capacidad de aprender de ejem- plos ilustrativos. Una vez obtenido un sistema funcional se realizaran mejoras intentando mostrar la capacidad evolutiva del sistema tanto en su exactitud como en su capacidad de procesar retinografías de diferentes retinógrafos. Esto es debido a que no siempre todos los aparatos están calibrados de la misma forma ni todas las imágenes poseen la misma cali- dad, por lo que un sistema que solo funcionase en casos muy concretos carecería de utilidad práctica.
Se trabajará en diferentes vías de mejora, tales como: el uso de redes auxiliares, la comple- jidad de las redes, la relevancia de las características de las imágenes, efectos del procesa- miento, las variaciones en los entrenamientos y el aprendizaje con los resultados provistos por varios expertos. Para confirmar o descartar dichas variables se emplearan índices eva- luadores tales como el tiempo de entrenamiento, la exactitud de las distintas partes seg- mentadas, los parámetros geométricos, etcétera.
Una vez obtenido un sistema funcional se estudiará su potencial en diferentes entornos co- mo: entrenamiento con resoluciones de distintos técnicos, respuestas ante base de datos ajenas al entrenamiento, etcétera. Finalmente se hará una breve compilación de las conclu- siones obtenidas tanto de los resultados del trabajo como durante su desarrollo, además de una serie de propuestas que pueden emplearse para mejorar este trabajo.
Índice general
1. Introducción a la segmentación de imágenes médicas. 1
1.1. Análisis de imágenes médicas. . . 1
1.2. Segmentación de imágenes. . . 2
1.3. Objetivos del proyecto. . . 3
2. Conceptos previos sobre retinografías y redes neuronales artificiales. 5 2.1. Conceptos generales sobre las retinografías. . . 5
2.1.1. Disco óptico. . . 6
2.1.2. Análisis retinográficos. . . 7
2.2. Redes neuronales artificiales. . . 7
2.2.1. Parámetros de una red neuronal. . . 7
2.2.2. Entrenamiento de una red neuronal. . . 9
2.2.3. Red neuronal convolucional en U. . . 11
2.3. Implementación práctica de la red. . . 13
3. Implementación y evolución del sistema segmentador. 15 3.1. Detalles del sistema segmentador. . . 15
3.1.1. Bases de datos retinográficas. . . 16
3.1.2. Carácterísticas del entrenamiento de la red neuronal. . . 16
3.1.3. Parámetros de evaluación de los resultados. . . 17
3.2. Evolución del sistema segmentador. . . 20
3.2.1. Red de localización. . . 20
3.2.2. Propiedades de la imagen. . . 21
3.2.3. Red de segmentación. . . 26
4. Evaluación de los resultados. 30 4.1. Sistema segmentador final. . . 30
4.2. Análisis de la segmentaciones obtenidas por el sistema. . . 34
4.2.1. Validación de los sistemas segmentadores obtenidos. . . 35
4.2.2. Repercusión del experto evaluador en la fase de entrenamiento. . . . 38
4.2.3. Extrapolabilidad de los sistemas segmentadores. . . 40 4.2.4. Comparativas entre distintos sistemas segmentadores. . . 42
5. Conclusiones del trabajo y líneas de mejora. 45
5.1. Validez del sistema segmentador obtenido. . . 46 5.2. Líneas de mejora en el sistema segmentador. . . 46
1 Introducción a la segmentación de imá- genes médicas.
1.1. Análisis de imágenes médicas.
En el ejercicio de la medicina es frecuente el análisis de imágenes médicas de todo tipo.
Algunas de ellas son los cultivos microscópicos, las radiografías, las ecografías o las retino- grafías empleadas en este trabajo. Una imagen provee de grandes cantidades de informa- ción que, correctamente interpretada debido a la formación de los especialistas médicos, facilita el análisis de la situación del paciente. La información ofrecida puede ser de muchos tipos: tamaños, proporciones, cantidades, coloración, comparativas, ubicación, etcétera. Sin embargo la localización de determinados elementos puede volverse compleja en determi- nadas circunstancias, como en las que las condiciones de los distintos elementos de la ima- gen no sea favorable. Además, la reiteración de tareas en periodos largos de tiempo, puede producir errores ya sea por cansancio o por agravio comparativo.
Una posible solución es la automatización de la tarea de segmentación y clasificación, esto ofrece múltiples ventajas como: reducción del tiempo de diagnóstico, liberación del per- sonal, unificación de la solución, almacenamiento digital, etcétera. Este procedimiento no elimina la tarea del especialista, sino que delega la parte más tediosa y susceptible a error al sistema automatizado. Esto permite una mejor redirección de recursos y liberar al espe- cialista para otras tareas que requieren de un factor humano, tales como el diagnóstico o el seguimiento de pacientes.
En este proyecto se tratará el caso concreto de la detección de una sección del ojo en un retinografía. Se espera poder facilitar la tarea del oftalmólogo proporcionando una imagen retinográfica en la que la sección del disco óptico ya se encuentre marcada, de esta manera el médico sólo tendrá que verificar la corrección de la segmentación y proceder a su análisis usual.
1.2. Segmentación de imágenes.
Los procesos de segmentación son empleados extensamente en la mayoría de procesos de identificación de patrones o elementos en imágenes. Consisten en dividir un conjunto de datos en varios conjuntos o regiones diferenciables que abarquen su totalidad, siendo la frontera el límite entre regiones contiguas. Un ejemplo de esto son lo programas de iden- tificación facial, el primer paso es segmentar las distintas caras que aparecen en la imagen.
El resultado de una segmentación consiste en una matriz en la cual a cada píxel se le asigna la región a la cual pertenece.
En la imagen 1.1 se puede ver un ejemplo de máscara y frontera en la segmentación de una retinografía. Se pueden distinguir en la máscara ambas regiones, representadas con los colores blanco y negro; en la otra imagen se puede ver la frontera entre ambas regiones sobre la imagen original. De esta manera se puede representar sobre la imagen original el resultado obtenido por el sistema de segmentación sin ocultar la imagen original.
(a) Máscara. (b) Frontera sobre imagen.
Figura 1.1: Máscara y frontera de una segmentación.
Tradicionalmente la segmentación se realiza mediante el reconocimiento de patrones que identifiquen los píxeles pertenecientes a las regiones o que definan la frontera entre regio- nes adyacentes. Los métodos son muy diversos y especializados, por lo que cada uno rinde de manera muy diferente en función tanto de los criterios de segmentación como de la imagen a segmentar. A continuación se mencionan algunos de ellos.
Agrupamiento: Se establecen previamente las regiones y sus fronteras. Después son desplazados mediante un proceso iterativo hasta que se converge a un punto en el que los desplazamientos son nulos o prácticamente nulos.
teriormente asignar regiones en función de dichos valores o bien de las fronteras con el estudio de sus picos y valles.
Detección de bordes: Generalmente se detectan varios puntos de alto contraste en la característica bajo estudio para luego interconectarse delimitando las regiones inicia- les, las cuales se fusionaran con sus contiguas si poseen suficiente similitud.
Crecimiento de regiones: Se establecen previamente el centro de las regiones para posteriormente extender sus fronteras mediante la semejanza del píxel con las regio- nes existentes. Este proceso suele ser realizado de manera iterativa hasta llegar a un punto en el que ya no haya cambios en los segmentos.
Valor umbral: Inicialmente se designa un conjunto de valores en la características que se consideren representativas para después clasificar los píxeles en función de entre cuales umbrales se halla.
Basado en modelos: Es un método que corrige los resultados obtenidos por otros mé- todos. Se parte del conocimiento geométrico de las regiones resultantes, para aplicar un factor correctivo en la segmentación del otro método para incentivar que la regio- nes resultantes posean dicha geometría.
Estos procesos presentan varios inconvenientes. En muchos casos se requieren procesos iterativos para cada imagen, en otros es necesario tener un conocimiento profundo de las características representativas y los umbrales de las diferentes regiones. La principal ventaja que aportan las redes neuronales es su capacidad de generar el algoritmo final de manera autónoma, sólo requiere de un grupo representativo ya resuelto para que el propio sistema detecte el conjunto de características representativas y sus umbrales. Además, tras la fase de diseño, se convierte en un sistema que segmenta cada imagen sin procesos iterativos.
1.3. Objetivos del proyecto.
Los objetivos primordiales que se quieren alcanzar con la realización y redacción de este trabajo son los siguientes:
Elaborar un documento que sirva como introducción a la segmentación de imágenes mediante redes neuronales. Independientemente del posible éxito en los objetivos posteriores, se busca obtener un documento que permita la comprensión y utilización de las herramientas básicas necesarias para el diseño de redes neuronales.
Demostrar la viabilidad de las redes neuronales convolucionales para realizar la seg- mentación del disco óptico en retinografías médicas. Se busca una solución razonada y eficaz al problema, garantizando una precisión que permita su uso práctico. Todo
ello intentando con el compromiso de no realizar modificaciones importantes en las retinografías.
En caso del ser cumplido el punto anterior se analizará el potencial del sistema obte- nido. Esto incluirá la capacidad de extrapolar su funcionamiento a imágenes propor- cionadas por fuentes diferentes, la comparativa de resultado entre distintos sistemas y/o distintos expertos, las limitaciones del sistema, etcétera.
En el supuesto de demostrar la viabilidad del sistema, o tener indicios de ello, se pro- pondrán posibles métodos de mejora. Los mecanismos de mejoras expuestos serán aquellos que, por motivos de complejidad o tiempo, no hallan podido ser implemen- tados durante la fase de optimización.
2 Conceptos previos sobre retinografías y redes neuronales artificiales.
En este trabajo se entremezclan conceptos complejos de disciplinas tan diversas como pue- den ser el procesamiento de datos, la inteligencia artificial o las imágenes médicas. Dichos conceptos se alejan del uso cotidiano para el técnico mono-disciplinar, aunque se pretende que este trabajo sirva como una introducción para futuros estudios de la segmentación de imágenes médicas. Por ello, para aumentar la accesibilidad del mismo sin que se requiera de documentación externa, en este capítulo se exponen los conceptos básicos necesarios para entender este trabajo mediante un lenguaje preciso aunque no técnico.
2.1. Conceptos generales sobre las retinografías.
Una retinografía es una prueba diagnóstica médica que permite obtener una imagen de la retina, siendo la retina el tejido que recubre la parte interna del ojo. La retinografía, como la mostrada en la imagen 2.1, se obtiene con un retinógrafo. El cual realiza una captura de imagen a través de la pupila del paciente, la imagen resultante es almacenada en formato digital.
Figura 2.1: Retinografía clínica.
Esta prueba posee tanto ventajas para el médico como para el paciente. Las principales ventajas para el paciente son que es indolora, segura y no invasiva; además no requiere de una preparación previa. En ocasiones se dilata la pupila del paciente mediante el uso de un colirio, que es aplicado minutos antes de la prueba. Desde la perspectiva del médico, la obtención de la retinografía es un proceso barato y muy rápido; apenas sólo se requieren de unos minutos para calibrar y enfocar el aparato al ojo del paciente. Las retinografías además permiten el estudio y diagnóstico de varias dolencias que repercuten en distintas partes de la retina, concretamente las que afectan a estructuras macroscópicas: disco óptico, mácula, fóvea y ora serrata. Por todo esto es una práctica muy habitual en oftalmología.
2.1.1. Disco óptico.
Básicamente el proceso que emplea el cuerpo humano para captar e interpretar las imáge- nes es el siguiente. La luz que incide sobre un objeto es parcialmente reflejada de manera omnidireccional. Esta luz llega a través de la pupila hasta la retina, donde se hallan las cé- lulas foto-receptoras llamadas conos y bastones. Estas células convierten los haces de luz en impulsos eléctricos que llegan a través del nervio óptico hasta el cerebro, donde serán interpretadas y almacenadas.
(a) Ojo sano. (b) Ojo con glaucoma.
Figura 2.2: Retinografías de un ojo sano y otro con glaucoma.
El disco óptico, también es conocido como papila óptica, carece de células foto-receptoras y su función es de interconexión. Concretamente entre la retina que se halla en el interior del ojo con el nervio óptico que se encuentra en la parte posterior del mismo. Como se puede observar en la figura 2.2, el disco óptico de un ojo sano posee una serie de carac- terísticas que permiten diferenciarlo con facilidad: posee una forma circular, esta ubicado
con glaucoma presenta un deterioro tanto en la pigmentación del disco óptico como en su rededor.
2.1.2. Análisis retinográficos.
Una vez obtenida la retinografía puede ser analizada por el oftalmólogo tanto para descartar patologías como detectar posibles dolencias que requerirían de pruebas más complejas e invasivas. Para ello se analizan tamaños, formas y proporciones de los diferentes elementos macroscópicos como por ejemplo los vasos sanguíneos o el disco óptico.
Algunas patologías ópticas que pueden ser detectadas en las retinografías son: atrofia óptica (deformación y perdida de pigmentación del disco óptico), glaucoma (aumento de la pre- sión sanguínea ocular), neuritis (inflamación del nervio óptico), neurorretinitis (inflamación conjunta de nervio óptico y retina), retinopatía (daños en los vasos sanguíneos) o trombosis (coagulación en los vasos sanguíneos). También permite la detección y el seguimiento de otras anomalías como degeneraciones de tejidos, heridas e inflamaciones.
2.2. Redes neuronales artificiales.
Una red neuronal artificial es, básicamente, un modelo compuesto de algoritmos interco- nectados entre sí que proporcionan una serie de datos en función de unos parámetros de entrada. A priori podría parecer una función matemática convencional, sin embargo la apor- tación de cada uno de sus algoritmos internos, llamados pesos, es decidida por la propia red en lugar del programador. Esta asignación se realiza en una fase inicial de diseño, opaca al usuario, llamada fase de entrenamiento.
A nivel general, la principal ventaja que presentan las redes neuronales es su flexibilidad. Una misma red puede ser entrenada, sin necesidad de volver a ser programada, para que inter- prete datos o resuelva problemas distintos. Así como ser ampliada para afrontar situaciones más complejas o reducida para aumentar su rendimiento en problemas simples. Dada su capacidad de auto-aprendizaje, una red neuronal es capaz de predecir resultados en entor- nos que la programación convencional no puede. La capacidad de discernir que información es relevante y en que proporción permite que la fase de diseño, que normalmente requie- re de conocimientos más específicos y técnicos del problema por parte del programador, quede relegada en gran medida a la propia red neuronal.
2.2.1. Parámetros de una red neuronal.
Una red neuronal es nutrida con datos tanto en su fase de diseño como en su fase operativa.
Mientras que en su fase operativa no es necesario que contengan las respuestas si que lo
es para la fase de entrenamiento. Los conjuntos de datos empleados en el diseño de la red neuronal artificial se pueden dividir en tres subconjuntos.
Entrenamiento: su función es asignar los pesos de la red, debe de ser extenso y repre- sentativo de las muestras con las que se operará.
Validación: se emplea para comprobar que la fase de entrenamiento no está produ- ciendo un sobreentrenamiento. Quiere decir que el resultado esta siendo tan especí- fico para los datos del conjunto de entrenamiento, que no puede funcionar fuera de este conjunto. Lo datos que lo conforman han de ser de las mismas características que los del conjunto de entrenamiento.
Test: es un conjunto de datos completamente ajeno a la fase de entrenamiento, su función es valorar la eficacia de la red neuronal como última etapa de la fase de diseño.
Todas las redes neuronales comparten una arquitectura formada por módulos interconec- tados de igual modo. Sin embargo las características, cantidad y número, tanto de las cone- xiones como de los mismos módulos, permiten una variedad ilimitada de redes neuronales distintas. A continuación se hace un pequeño análisis descriptivo de la estructura con ayuda de la figura 2.3.
Neurona: es la unidad más básica de la red, propiamente hablando, es la que opera con datos de entrada para obtener datos de salida. Cada neurona analiza una característica obtenida por varias entradas. Por tanto, cuanto mayor es el número de neuronas, más características puede analizar la red.
Capa: es el conjunto de neuronas que operan con la misma fuente de datos, las capas se conectan de manera secuencial para poder analizar características más complejas.
La capa en la que se introducen los datos es la capa de entrada y de la que se extraen los resultados se llama capa de salida. Cuando en una red hay más de dos capas se las llama capas intermedias u ocultas.
Peso: es la constante que asigna la relevancia del dato obtenido por una neurona para la neurona a la que se lo transmite. Cada conexión entre neuronas tiene asignado un valor que puede diferir aun compartiendo origen o destino con otra conexión, este valor puede ser modificado repetidas veces durante la fase de entrenamiento.
Figura 2.3: Estructura de una red neuronal.
En la figura 2.3 se muestra una red con una variable de salida (Y1) y tres de entrada (X1,X2,X3).
Además se muestran las cuatro capas (A,B,C,S) con sus respectivas neuronas que aplica sus pesos (wA, wB, wC) antes de pasar a la siguiente capa. Como ejemplos: a1 = wA[1]·fA1(X1, X2, X3) sería el resultado de un nodo de la capa de entrada, c3 = wC[3] · fC3(b1, b2) el de un nodo de las capas ocultas y S1 = fs1(c1, c2, c3) el resultado final del nodo de salida.
Un último concepto a tener en consideración es la función de coste. Pese a no ser un pa- rámetro de la red propiamente dicho, tiene gran relevancia, ya que determina el valor final de los ya mencionados pesos. Sencillamente es una función que evalúa la magnitud de los errores que comete la red durante la fase de entrenamiento, de hecho, dos redes neu- ronales con la misma estructura y entrenadas con funciones de coste distintas obtendrán arquitecturas finales diferentes.
2.2.2. Entrenamiento de una red neuronal.
El entrenamiento de la red consiste en un proceso iterativo que se produce una única vez en la fase de diseño de la red neuronal. Con este proceso se busca obtener un valor de los pesos que satisfagan las especificaciones del sistema a resolver. En cada iteración los pesos se actualizan según unas reglas concretas que pueden variar. Los tipos de aprendizaje más empleados son el supervisado, el no supervisado y el reforzado.
Figura 2.4: Diagrama del entrenamiento de una red neuronal.
Tal y como se muestra en la figura 2.4 cada vez que los pesos son actualizados se reali- za una prueba de los mismos para comprobar el resultado que producen. Dicho resultado obtenido se evalúa mediante la función de coste, si mejora, se almacenan los pesos para posteriormente repetir e proceso de actualización. El número de iteraciones hasta alcanzar la convergencia puede ser muy elevado pese a que en dichas iteraciones no se produzcan mejoras sustanciales. Por ello, para buscar un compromiso entre el número de iteraciones y la precisión del sistema, es habitual emplear algunas de las siguientes mecánicas para re- ducir el tiempo de entrenamiento.
Limitación de iteraciones: se pueden fijar el número de iteraciones de manera manual.
Es la forma más sencilla aunque también la menos utilizada, para que sea efectiva requiere de experiencia previa en este entorno. Suele emplearse como una opción por defecto si fallan otros métodos.
Convergencia asintótica: si el problema es resoluble y la función de coste esta correc- tamente diseñada tiende a estabilizarse a un valor fijo, es decir, converge. Cuando la red detecta que no hay variación en varias iteraciones se detiene de manera automá- tica.
Algoritmo de parada: en caso de convergencias lentas, poca variación pese a realizar mucha iteraciones, la convergencia asintótica no funciona correctamente. Una solu- ción consiste en programar la detención del algoritmo si no se produce una mínima mejoría en la función de coste en un número dado de iteraciones. De esta manera se obtiene un compromiso entre precisión y tiempo de ejecución.
(a) Exactitud. (b) Coste.
Figura 2.5: Evolución del coste y la precisión durante el entrenamiento.
En la figura 2.5 se puede observar un ejemplo del algoritmo de parada empleado en este trabajo. Como función de coste se ha escogido la entropía cruzada, que será explicada en el próximo capítulo. A priori se puede ver que es un buena elección ya que conforme disminu- ye el coste aumenta la precisión del algoritmo. Se comprueba como, conforme aumentan las iteraciones, los resultados mejoran cada vez a un ritmo menor; además la evolución es prácticamente nula tras la iteración 60. Por ello, debido a que se suceden un número de ite- raciones sin alcanzar un umbral en su mejoría, el algoritmo se detiene conservando el peso de la última iteración anterior a ese periodo.
2.2.3. Red neuronal convolucional en U.
En este trabajo se emplea una red neuronal convolucional en U, este tipo de red se basa en el funcionamiento de la corteza cerebral visual primaria. Esta red presenta una serie de características que resultan ventajosas para las condiciones de trabajo de este estudio, como es la capacidad de análisis eficiente de imágenes.
Como se puede ver en el ejemplo del esquema 2.6, el sistema consiste en una serie de convolucionales consecutivas seguidas, el procesado del resultado y un igual número de convoluciones inversas. En la imagen se puede distinguir, a la izquierda, la rama descen- dente en la que se produce el proceso de agrupamiento mientras que, a la derecha, la rama ascendente en la que se recupera la resolución original. Son tres los conceptos básicos para comprender el funcionamiento de esta arquitectura.
Etapa de agrupamiento o pooling: su función es reducir el mapa de características para simplificar la red. De esta manera los píxeles que pasan por el filtro son condensados reduciendo el número de variables. Este muestreo descendente produce mediante convoluciones, con una matriz filtro, imágenes de menor resolución que conservan
gran parte de la información relevante.
Etapa de recuperación o sampling: consiste en, una vez analizada la información, re- cuperar la resolución original para que se reasignen los valores a los píxeles originales.
Todo ello se realiza mediante una convolución inversa con la matriz transpuesta del filtro empleado en la la etapa de agrupamiento.
La convolución se produce entre dos matrices, la retinografía y el filtro, la matriz del filtro recorre la de la imagen según un paso dado. Dado que no siempre el paso y el tamaño del filtro coinciden con el tamaño de la imagen, se distingue entre dos modos:
padding (se expande la matriz imagen para ajustarse al paso y tamaño del filtro) o same (si en lugar de expandirse se trunca).
Figura 2.6: Diagrama de funcionamiento de una red convolucional en U. Esta es la arquitectura empleada en este trabajo, tomando como base el artículo «U- Net: Convolutional Networks for Biomedical. Image Segmentation.» [1]
Para el caso concreto del esquema de la figura 2.6 se tiene una red de 4 capas con las si- guientes ramas:
Cada etapa de agrupación aplica dos convoluciones same de 3x3, un rectificador ReLU (cuya función es truncar a 0 los valores negativos) y una operación de agrupación de
Cada etapa de recuperación consiste en una recuperación de 2x2 que duplica la re- solución, una concatenación con el mapa de características recortado de la corres- pondiente ruta de contratación y dos convoluciones inversas same de 3x3, cada una seguida de un ReLU.
Una vez explicado el funcionamiento básico de la red convolucional en U, se enumeran las principales características de esta arquitectura de red neuronal que se emplea en este trabajo.
Matrices bidimensionales: aumenta la eficacia en tareas de clasificación y segmenta- ción de imágenes que, esencialmente, son tres matrices bidimensionales correspon- dientes al sistema de color RGB o HSV.
Características locales: reduce en gran medida el número de neuronas ya que cada una opera con un grupo local de celdas de la matriz, obteniendo las características de ese conjunto. Reduciendo los costes computacionales conforme aumenta el tamaño de los grupos locales, con la contrapartida que puede reducir su eficacia.
Neuronas convolucionales: extraen las características de una matriz bidimensionales en función de la semejanza al contenido de la neurona. Es decir, resaltan los patrones almacenados en la neurona.
Neuronas de reducción de muestreo: reduce la información redundante que pude pro- ducirse en matrices con pequeñas variaciones, combinando características locales sig- nificativamente similares y reduciendo el coste computacional.
Neuronas de clasificación: son las mas sencillas, aplican un peso a las características obtenidas de la imagen en función de su relevancia para el objetivo del diseño.
2.3. Implementación práctica de la red.
En este documento se justifica la elección entre varios parámetros según los resultados obtenidos mediante simulaciones. La implementación informática de la red neuronal se ha realizado en lenguaje de programación Python con la interfaz Spyder [10] provista por Anaconda [9].
El entrenamiento de una red neuronal compleja es computacionalmente costosa y requie- re de tiempo. Para agilizar este proceso se emplea un servidor externo provisto por Google, concretamente Colab [11], que permite realizar simulaciones de Python desde un navega- dor de Internet. Los servidores ofrecidos se pueden consultar la tabla 2.1, en este trabajo se ha utilizado siempre el servidor Tesla K80 para que puedan compararse los tiempos de ejecución de las distintas simulaciones.
Reloj Servidor
ciclos frecuencia CPU Tesla K80 3-7 0’82GHz 2’3GHz
Tesla T4 5-7 1’59GHz 2’2GHz Tesla P4 1-6 1’11GHz 2GHz Tabla 2.1: Características del servidor CoLab.
3 Implementación y evolución del sis- tema segmentador.
Este capítulo es de gran relevancia en el trabajo ya que describe en detalle y justificadamen- te cuáles son y cómo se deben ejecutar los pasos necesarios para generar un segmentador de imágenes con una red neuronal convolucional. Gracias a los capítulos Introducción a la segmentación de imágenes médicas y Conceptos previos sobre retinografías y redes neurona- les artificiales el lector debiera tener claros los conceptos básicos sobre redes neuronales convolucionales, imágenes retinográficas y segmentación necesarios para comprender el desarrollo que se explicará a continuación.
El desarrollo práctico de este trabajo comienza obteniendo un sistema que, aunque sim- ple, es capaz de segmentar el disco óptico de una retinografía mediante una red neuronal convolucional con arquitectura en U. Posteriormente se aplican diversas mejoras obtenidas mediante la experimentación tanto con los valores de de diseño de la red como de otros mecanismos simples que puedan aportar mejoras al sistema final.
Cabe destacar que en este trabajo simplemente se presenta un sistema funcional básico con una serie de mejoras, ya que no se pretende obtener el mejor sistema posible sino demostrar la viabilidad del uso de redes neuronales en este menester. Por lo que puede ser mejorado tanto con lo descrito en el mismo como con otros métodos ajenos a este trabajo.
3.1. Detalles del sistema segmentador.
En esta sección se detallan los elementos que, pese a ser comunes a cualquier sistema de segmentación de imágenes con redes neuronales, pueden diferir en función del elemento o tipo de imagen a segmentar del sistema. Estos elementos abarcan los datos empleados, las mecánicas empleadas y los criterios evaluadores que se han empleado desde la fase de entrenamiento hasta la fase final de evaluación de resultados.
3.1.1. Bases de datos retinográficas.
Para el desarrollo de este trabajo se requiere un extenso número de retinografías y sus co- rrespondientes segmentaciones del disco óptico. Las retinografías y segmentaciones em- pleadas tienen garantizada su representatividad y veracidad ya que han sido provistas por dos bases de datos de origen médico. Todas las imágenes están en formato RGB y tienen una tamaño de 600x400 píxeles con una resolución de 8bits/píxel.
DRIONS-DB [2]: Está compuesta por 110 retinografías de ojos con hipertensión y glaucoma provistas por el Hospital Universitario Miguel Servet. Están acompañadas por una máscara correspondiente a la segmentación del disco óptico.
RIM-ONE [3]: Está compuesta por 159 retinografías de ojos sanos y con glaucoma en diferentes fases provistas por el Hospital Universitario de Canarias, el Hospital Clíni- co San Carlos y el Hospital Universitario Miguel Servet. Están acompañadas por las máscaras asociadas a dos segmentaciones del disco óptico.
3.1.2. Carácterísticas del entrenamiento de la red neuronal.
Como ya se ha mencionado anteriormente, se requieren de un conjunto de datos con una segmentación para poder entrenar la red. Sin embargo, también se requieren otro conjunto resuelto para verificar el entrenamiento y otro más para poder valorar el funcionamiento del algoritmo ya terminado. Es deseable que estos tres conjuntos no sean dispares entre sí, de manera que se pueda valorar el algoritmo con las mismas condiciones con las que fue generado durante la fase de entrenamiento.
Se ha optado por dividir cada base de datos en tres subconjuntos, de esta manera tanto el entrenamiento de la red como la comprobación de la misma se realiza con datos que tienen garantizada su homogeneidad. La división se ha realizado con la siguiente proporción: 10 % conjunto de test, 18 % conjunto de validación y 72 % conjunto de entrenamiento.
Para su desarrollo se emplea una función de coste híbrida entre el algoritmo de dice (ex- plicado posteriormente) y la entropía cruzada. La entropía se emplea para evaluar el valor medio de la información provista por una fuente E = P(P(x)I(x)), siendo la información el valor de un dato asociado a su probabilidad de ser generado I(x) = log(1/P(x)).
En este caso en particular las fuentes empleadas son las máscaras asociadas a la segmen- tación generada por la red neuronal y a la provista por la base de datos. Por tanto los datos a evaluar son los ’1’s y los ’0’s que representan a los píxeles pertenecientes al disco óptico y los ajenos a él. De manera que para obtener la entropía cruzada se evalúa la proporción de un valor de píxel de la máscara médica con la información de ese mismo valor de píxel de
3.1.3. Parámetros de evaluación de los resultados.
En esta sección se explican en detalle las diferentes medidas que se emplean para evaluar el sistema. Se ha optado por mediciones que permitan evaluar tanto la proporción como la morfología de las dos regiones resultantes.
Exactitud.
Indica la similitud del valor medido con respecto al valor real. Esto es el cociente entre el valor medido y el valor real, es decir E = realidadmedida.
En este trabajo se indica el porcentaje de píxeles que coinciden en cada segmento de la ima- gen. Distinguiremos entre las regiones «Disco» (píxeles correspondientes al disco óptico) y
«No Disco» (píxeles ajenos al disco óptico). Se ha divido en dos debido a que la dispari- dad entre la cantidad de píxeles entre los dos segmentos produce una lectura demasiado optimista del resultado si se evaluase conjuntamente.
Índices de Dice y Jaccard.
Son dos coeficientes que miden el grado de similitud entre dos conjuntos X e Y. Siendo Dice D = 2(X∩Y)X+Y mientras que Jaccard J = X∩YX∪Y. En la imagen 3.1 se muestra un pequeño ejemplo gráfico de las diferencias entre la intersección A ∩ B, la unión A ∪ B y la suma A + B; en el hipotético caso de que A y B fuesen coincidentes los índices ya mencionados tendrían valor unidad.
Figura 3.1: Ejemplo de la unión y la intersección de dos conjuntos.
Ambos índices son muy utilizados para valorar procesos de segmentación, se buscan valo- res próximos a la unidad. Cada uno de ellos destaca en aspectos distintos, por ello en este trabajo se emplean ambos para facilitar la comparativas con otros documentos.
Distancia de Hausdorff.
Se define como la separación entre dos subconjuntos compactos de un espacio métrico.
Es decir, la mayor distancia que hay entre todos los puntos de una figura y el más próximo de la otra. Este dato se usará para calcular el máximo entre las mínimas distancias que hay
entre las fronteras de las dos máscaras a comparar. Con lo que se puede comprobar que los discos ópticos a comparar tengan formas, tamaños y posición similares similares; lo cual se ve reflejado con valores bajos.
Figura 3.2: Esquema de las distancias de Hausdorff.
En la figura 3.2 se puede ver un ejemplo de este concepto de la mayor mínima distan- cia. El punto B del conjunto X es el más próximo al punto A del conjunto Y, por lo que dYX = maxy∈Y[minx∈X[d(X, Y)]] es la mayor distancia del conjunto X con Y. De manera análo- ga, el punto D del conjunto Y es el más próximo al punto C del conjunto X, por lo que dXY = maxx∈X[miny∈Y[d(X, Y)]] es la mayor distancia del conjunto Y con X. Por último queda comprobar cual de ellos es mayor, esto es, dH = max[dXY, dYX] es la distancia de Hausdorff entre los conjuntos X e Y.
Solidez, perímetro y área.
El área es la extensión de una superficie, el perímetro es la longitud que circunscribe un área y la solidez indica cuan convexa es una figura. La solidez se define como el cociente entre la figura y la figura formada por su envolvente convexa de mínima área que la circunscribe.
En la figura 3.3 se ilustra un ejemplo que ayuda a comprender el concepto de solidez. La figura A posee zonas cóncavas entre cada punta de la estrella, por lo que el hexagono B sería su envolvente convexa. Según este ejemplo, la solidez sería el cociente entre la figura A y B.
Figura 3.3: Figura y su envolvente convexa.
Estos tres datos sirven para caracterizar una forma geométrica bidimensional. Con el área y el perímetro se pueden comparar si la forma y el tamaño de dos discos ópticos son seme- jantes. Mientras que con la solidez se puede determinar la suavidad del trazo que engloba el disco óptico. Por ello se emplearan como una forma de asignar valores numéricos a la similitud morfológica entre los resultados a comparar.
Diagrama Bland-Altman.
Es la representación gráfica de un diagrama de dispersión que se emplea para evaluar la concordancia entre dos conjuntos de datos.
Figura 3.4: Diagrama de Bland-Altman.
Originalmente se diseñó para comprobar si un método era sustitutivo de otro. Por ello es una análisis gráfico muy conveniente cuando se quieren analizar muchos datos proporcionados por dos sistemas. En el gráfico 3.4 se ve un ejemplo donde se evalúa la diferencia entre el perímetro del disco óptico de dos segmentaciones, siendo el valor medio el eje horizontal y la diferencia entre ellas el eje vertical. La línea horizontal central marca donde se halla el
valor medio de la diferencia entre mediciones mientras que las otras dos indican el margen en el que se halla el 95 % de los puntos. Si el intervalo y la media cumplen los criterios necesarios, se puede considerar que los datos son concordantes. La media del error en el ejemplo es casi nula, menos de tres píxeles, y la desviación máxima de los datos es pequeña, comente errores inferiores al 7 % para el 95 % de las muestras. Por tanto se puede decir que las segmentaciones a comparar, en lo que se refiere a su perímetro, son concordantes.
3.2. Evolución del sistema segmentador.
El sistema de segmentación obtenido inicialmente presenta una serie de importantes li- mitaciones como tiempos de entrenamiento muy elevados pese al reducido número de capas, resultados limitados y muy baja extrapolación entre diferentes bases de datos. Dado que el sistema demuestra ser funcional, se incluyen una serie de medidas que a la par de mejorar el rendimiento del algoritmo sirven como guía para futuros mecanismos de opti- mización.
3.2.1. Red de localización.
En la figura 3.5 se pueden ver varias segmentaciones azules del disco óptico, realizadas por médicos, donde se observa que el disco óptico solo ocupa una pequeña parte de la reti- nografía. Se ha estudiado en las bases de datos ya mencionadas que el disco óptico ocupa entorno a 8.000 píxeles de los 160.000 píxeles que conforman la totalidad de la retino- grafía, es decir, sólo un 5 % de la imagen. Por ello es lógico pensar que recortar la fotografía ayudará a mejorar los tiempos de entrenamiento y el coste computacional, dado que se reducen los píxeles a analizar.
Se ha diseñado un algoritmo que centra y recorta la imagen original para su posterior proce- samiento por la red. Para ello se emplea una sencilla red neuronal de dos capas, que llama- remos red de localización, para mantener el compromiso de que el sistema final dependa exclusivamente de redes neuronales convolucionales.
La red de localización se ve forzada a trabajar con las imágenes completas por lo que se ha diseñado lo más sencilla posible y con unas pocas decenas de épocas en su entrenamiento.
Al reducir tanto la complejidad y entrenamiento de la red, el resultado de la segmentación es francamente malo. Sin embargo, dado que el objetivo es simplemente localizar el disco óptico y relegar la segmentación a la siguiente red neuronal, el resultado es robusto puesto que presenta desviaciones de sólo 49 píxeles o el 12’34 % del tamaño de la imagen. En las imágenes 3.5 se muestra como los contornos distan de ajustarse correctamente, sin embar- go, tiene la precisión necesaria para localizar correctamente en que zona de la retinografía
Figura 3.5: Segmentaciones del disco óptico sobre retinografías. La red de loca- lización en blanco frente a la segmentación del experto en azul.
Hay que tener en cuenta dos posibles errores: que la red sea incapaz de detectar la retina y que el recorte sobrepase los límites de la retinografía. Para el primer caso se ha optado por considerar que el disco óptico se halla en el centro de la imagen, mientras que para el segundo caso se han rellenado los huecos con un valor promedio de la retinografía para evitar un cambio demasiado abrupto en los patrones de la imagen.
Exactitud
Tamaño Épocas Tiempo Desvío
Disco No disco
396 199 52min — 81’73 % 99’74 %
284 36 140 33min 7seg 12’34 % 88’91 % 99’60 % Tabla 3.1: Red básica frente a la misma red con el algoritmo de localizar.
En la tabla 3.1 se comprueba como se reduce significativamente el tiempo de entrenamiento de la red así como mejora su exactitud, consecuencia de eliminar píxeles con información irrelevante. Esta reducción de tiempo se debe a que la red de localización, que trabaja con las dimensiones originales, solo requiere de 36 iteraciones para su entrenamiento mientras que la de segmentación, que trabaja con imágenes más pequeñas, necesita 140. Esto corrobora la hipótesis de que reducir el tamaño implica menor duración de entrenamiento del sistema segmentador, tal y como se plantea al principio del apartado. Como ya se ha mencionado, el desvío del centro del disco óptico detectado por la red de localización es de 12’34 %. Este es un dato importante que es tomado en consideración cuando se estudia las dimensiones del recorte de la retinografía.
3.2.2. Propiedades de la imagen.
Uno de los objetivos deseados es conseguir una red que pueda procesar de manera eficaz retinografías procedentes de distintas fuentes. El principal problema consiste en que distin- tos retinógrafos, o diferentes calibrados del mismo, producen imágenes con características
distintas. Un ejemplo de esta problemática se puede observar en los ejemplos de la ima- gen 3.6, las tres retinografías de ojos aparentemente sanos han sido provistas por el mismo hospital, sin embargo se aprecian claras distinciones entre ellas..
Figura 3.6: Retinografías realizadas por un mismo hospital.
Para homogeneizar las imágenes se han probado diferentes mecanismos sencillos de pre- procesamiento así como evaluar si hay características que sean sustancialmente más rele- vantes que otras. En los siguientes aparatados se ha estudiado y demostrado ser uno de los factores más determinantes en las mejoras de la exactitud de la segmentación.
Modelo de color.
Se ha barajado la posibilidad de que la información más relevante del disco óptico se hallase sobrerepresentada en alguna característica concreta. Por ello se ha empleado el modelo HSV para estudiar los efectos de analizar el brillo y la saturación, así como los diferentes colores del modelo RGB.
HSV: Tanto el brillo como la saturación no son lo suficientemente representativos para discernir el disco óptico sobre la retina.
RGB: El color más representativo es el rojo, seguido por el verde y el azul. Siendo la combinación de los tres el que mejores resultados produce con diferencia.
Se ha concluido que lo más relevante es el matiz o color de la retinografía, en el cual destacan la gama de los rojos. Sin embargo se pierde mucha precisión al ignorar el resto de colores, por lo que se ha optado por analizar las tres capas del modelo RGB. En la tabla 3.2 se observa como el modelo HSV pierde casi cinco puntos de exactitud sin tener como contraparte una reducción relevante en los tiempos de entrenamiento.
Exactitud
Modelo Épocas Tiempo Desvío
Disco No disco RGB 36 140 33min 7seg 12’34 % 88’91 % 99’60 % HSV 36 134 32min 13seg 12’34 % 84’65 % 99’52 %
Tabla 3.2: Comparativa entre RGB y HSV.
Procesamiento de características.
En el procesamiento de características la variable a tratar no es la imagen en sí, sino el píxel que comparte ubicación en todas las imágenes del conjunto a procesar. Se han descartado ya que generalmente alteraban drásticamente la naturaleza de las imágenes.
Figura 3.7: Efectos del procesado de características.
En los ejemplos de la figura 3.7 se puede observar la gran alteración de las imágenes. Espe- cialmente en las partes añadidas al recortar la imagen, donde se generan patrones en lugar de mantener un relleno homogéneo. Estos patrones son confundibles con elementos na- turales de una retinografía, como en estos casos donde aparecen patrones similares vasos sanguíneos. Por lo que la variación tan drástica de la imagen produce grandes fallos en la segmentación.
Exactitud
Procesamiento Épocas Tiempo
Disco No disco ninguno ninguno 36 140 33min 7seg 81’73 % 99’74 % ninguno características 36 80 24min 7seg 73’21 % 99’19 %
Tabla 3.3: Efecto del procesamiento de datos.
En la tabla 3.3 se compara el caso de no procesar la imagen antes de las redes con el de procesar las características de la retinografía sólo para la red de segmentación. Tal y como se ejemplificó en la figura 3.7 la aparición de patrones produce una severa bajada en la exac- titud del resultado por lo que se descarta este método de pre-procesamiento.
Procesamiento de imágenes.
En el procesamiento de imágenes cada imagen es tratada de manera individual, aplicando siempre los mismo métodos en todas ellas. Se han aplicado varios procesamientos para poder compararlos, siendo el más fructífero el último de ellos.
Normalización global: se fija el valor máximo y mínimo de la imagen, a 0 y 1 respecti- vamente, manteniendo la proporción entre los valores de la imagen.
Normalización local: en lugar de obtener la proporción respecto a toda la imagen se obtiene entre un número preestablecido de los píxeles más cercanos al mismo.
Media y varianza fija: se fija la media y varianza del conjunto de píxeles que conforman la imagen.
Estandarización: en lugar de elegir una media y varianza arbitraria, se toman los valores de una retinografía en la cual el disco óptico se distinga con claridad.
(a) Original.
(b) Normalizado global. (c) Normalizado local. (d) Estandarizado.
Figura 3.8: Consecuencias de los distintos procesamientos de imagen.
En la figura 3.8 se muestra un ejemplo de los distintos procesamientos de imagen sobre una misma retinografía. Ninguna de las normalizaciones funciona correctamente ya que, para el caso global, se cambia la coloración al dotar de más relevancia de la que le corresponde a la gama de los verdes mientras que, para el caso local, se enturbia la imagen. Sin embargo el estandarizado, procesamiento que se usa en este trabajo, no produce variaciones significa- tivas en la coloración pero se obtiene una imagen más nítida que la original por lo que es la opción mas adecuada.
Exactitud Procesamiento Épocas Tiempo
Disco No disco ninguno ninguno 36 140 33min 7seg 88’91 % 99’60 % ninguno global 36 131 31min 46seg 93’19 % 99’54 % ninguno local 36 151 34min 46seg 89’73 % 99’61 % ninguno estándar 36 125 31min 52seg 94’79 % 99’64 % Tabla 3.4: Resultados de los distintos pre-procesamientos de imágenes.
Es evidente que la opción de estandarizado mejora en gran medida el contraste entre el dis- co óptico y la retina mientras que los anteriores no aportan ninguna mejora significativa. Los
datos mostrados en la tabla 3.4 ratifican cuantitativamente lo deducido cualitativamente en la figura 3.8. Pese a no realizar ningún procesamiento para la red de localización, el estanda- rizado antes de la red de segmentación produce un aumento en los tiempos de ejecución a la par que mejora la precisión. Es un costo relativamente pequeño considerando que permi- te que una red entrenada pueda ser usada con varias fuentes distintas y además aumenta su exactitud, por lo que finalmente se aplicará el procesado estandarizado de imagen tanto para la red de localización como para la de segmentación.
Figura 3.9: Retinografías de la figura 3.6 procesadas.
En la figura 3.9 se ejemplifica tres casos de pre-procesado con las retinografías de la figura 3.6. Se puede apreciar como ahora las retinografías son más similares entre sí, mientras conservan sus características individuales. Si este pre-procesado se realiza también en las imágenes que se emplean en el entrenamiento, la segmentación será mejor ya que todas las imágenes serán más homogéneas entre sí.
3.2.3. Red de segmentación.
Tras la reducción de la carga de trabajo con la red de localización, queda mejorar la red de segmentación intentando reducir el tiempo de entrenamiento y/o aumentar la exactitud de las segmentaciones resultantes.
Dimensión.
A priori, conociendo tanto la profundidad de la red como su tipo, es fácil obtener el tamaño mínimo que ha de tener la retinografía para que el disco no sea recortado. Sin embargo hay que tener en consideración que el sistema ha de ser robusto tanto frente a la variabilidad del tamaño del disco óptico en las distintas retinografías como a las imprecisiones del algoritmo de localización.
(a) Recorte correcto.
(b) Recorte excesivo.
Figura 3.10: Efectos del recorte en la segmentación de una misma retinografía.
Por ello pese a que el valor óptimo sería de entorno 120 píxeles, correspondientes a los apro- ximadamente 100 píxeles de diametro de un disco óptico junto al desvío de 12’34 % de la red de localización. Como ya se ha mencionado, se ha de compensar las aleatoriedades del tamaño de diferentes ojos y los posibles errores en el algoritmo de localización, evitando de esta manera fallos como los ilustrado en la figura 3.10. En la comparativa muestra como una reducción que exceda el tamaño de máscara provoca un error considerable. En el caso (b) se aprecia como la estimación del algoritmo en blanco falla abruptamente en el lateral frente a la estimación del médico en azul. Por todo ello, el tamaño del recorte de la retinografía a segmentar se ha establecido en 164 píxeles tanto de altura como anchura, ya que el disco óptico posee forma circular.
Exactitud
Tamaño Épocas Tiempo
Disco No disco 196 36 127 31min 10seg 95’47 % 99’67 % 164 36 124 24min 34seg 95’44 % 99’66 % 132 36 112 21min 31seg 93’35 % 99’82 % 100 36 105 17min 28seg 88’84 % 99’84 %
Tabla 3.5: Efectos del tamaño de la retina.
Lo ya comentado queda reflejado en la tabla 3.5. Se observa que un tamaño mayor a 164 píxeles aumenta los tiempos de entrenamiento sin repercutir en la exactitud de la segmen- tación final. De manera contraria, conforme se reduce el tamaño, el resultado empeora de- bido al fenómeno ilustrado en la figura 3.10.
Profundidad.
El número de capas tiene relación directa con la complejidad de la red, ya que afecta al nú- mero de etapas de agrupamiento y recuperación, tal y como es mencionado en el capítulo Conceptos previos sobre retinografías y redes neuronales artificiales. Además repercute en las cantidad y complejidad de las características que es es capaz de analizar la red neuronal. Sin embargo, cuanto más compleja es, mayores son los costes computacionales y tiempos de ejecución requeridos. Por ello es importante encontrar un compromiso entre la precisión de los resultados y los tiempos de entrenamiento y ejecución.
Exactitud
Capas Épocas Tiempo
Disco No disco 2 36 235 27min 40seg 94’74 % 99’65 % 3 36 124 24min 34seg 95’47 % 99’67 % 4 36 101 29min 1seg 93’96 % 99’75 %
Tabla 3.6: Efectos del número de capas de la red.
Se toma la decisión de usar una red neuronal con una profundidad de 3 capas, lo que implica tres etapas de agrupamiento y otras tres de recuperación. De la tabla 3.6 se observa que, con más capas, los tiempos de entrenamiento aumentan considerablemente sin que repercutan en mejoras significativas en la exactitud los resultados. Cabe destacar que el tamaño de cada caso se ha adaptado de manera que todas las máscaras resultantes tengan el mismo tamaño, por tanto los resultados de la tabla son comparables entre sí.
Función de coste.
En último lugar se intenta mejorar la fase de entrenamiento añadiendo el coeficiente de Dice en la función de coste para complementar la entropía cruzada. La función de coste tiene una gran repercusión ya que la velocidad de convergencia al resultado final depende de ella.
Sin embargo, la relevancia de Dice en la función de coste ha demostrado ser insignificante en este trabajo. Su incidencia en la exactitud o la duración de la fase de entrenamiento queda ensombrecida por los ajustes ya explicados referentes al algoritmo de localización y al procesamiento de imagen. Por ello se ha optado en mantener una función de coste que dependa únicamente de la entropía cruzada.
Exactitud Ratio Épocas Tiempo
Disco No disco 0 % 36 140 26min 10seg 95’47 % 99’67 % 10 % 36 132 25min 22seg 94’79 % 99’68 % 30 % 36 126 24min 46seg 94’39 % 99’69 % 50 % 36 146 26min 46seg 95’05 % 99’72 % 70 % 36 142 26min 22seg 94’47 % 99’72 % 90 % 36 183 30min 28seg 87’24 % 100’00 % 100 % 36 80 20min 10seg 100’00 % 0’00 %
Tabla 3.7: Efecto de Dice en la función de coste.
En la tabla 3.7 se muestra como afectan las proporciones de Dice y la entropía cruzada en la exactitud de los resultados del sistema segmentador. Para ello se introduce el parámetro
«Ratio» que índica el peso de Dice en la función de coste. Se observa que cuando la relación Dice/entropía supera el 90/10 %, el sistema directamente deja de segmentar. Para valores inferiores no se observan mejoras significativas ni en la exactitud resultante ni en la duración de la fase de entrenamiento. Por tanto se ha optado por una función de coste que dependa únicamente de la entropía cruzada.
4 Evaluación de los resultados.
En este capítulo se realiza un breve resumen de las características, tanto de las redes como de los conjuntos de datos, que se han empleado para obtener el sistema final. Así mismo se hace una evaluación de los resultados finales, para ello se ilustra con ejemplos y datos significativos.
4.1. Sistema segmentador final.
A lo largo del capítulo Implementación y evolución del sistema segmentador se ha demos- trado la capacidad del sistema para realizar la segmentación del disco óptico, así como la posibilidad de mejoras tanto en su precisión como en su velocidad de entrenamiento.
Figura 4.1: Diagrama del sistema final.
desde la base de datos con las retinografías hasta que se obtiene la base de datos con las máscaras correspondientes a la segmentación del disco óptico.
1. Se realiza un rápido y simple procesamiento de imágenes. Se fija su media y varianza de forma que estén en el mismo rango que las retinografías usadas para el entrena- miento de ambas redes.
2. La sencilla e imprecisa red de localización segmenta las retinografías para obtener las respectivas máscaras. De ellas se calculan tanto los centros de la región correspon- diente al disco óptico como su posición en las retinografías originales.
3. Se recortan las imágenes procesadas en torno a los centros obtenidos. De esta manera se tienen imágenes de menor tamaño con los discos ópticos centrados.
4. Las retinografías procesadas y recortadas son segmentadas por la red de segmen- tación, mucho más compleja y precisa que la red de localización. Esto da lugar a un conjunto de máscaras precisas pero que no tienen las mismas dimensiones que las retinografías originales.
5. Finalmente con las posiciones obtenidas de la red de localización y las máscaras de la red de segmentación se redimensionan dichas máscaras al tamaño de las retinografías originales.
Con respecto a las características concretas de los elementos anteriores y las decisiones tomadas para obtener el sistema final, se pueden resumir en:
Pre-procesamiento: Se han fijado la media y varianza de todas las imágenes para au- mentar la homogeneidad entre las mismas. Lo que mejora la precisión general y per- mite que el sistema funcione con distintas fuentes de datos.
Red de localización: Una simple red de 2 capas entrenada en 36 épocas se encarga de detectar la ubicación del disco óptico y recortar a una imagen cuadrada de 252 píxeles.
Esto reduce el tiempo de entrenamiento y mejora la precisión de la siguiente red. Su estructura detallada se ven en la imagen 4.2.
Red de segmentación: Una red de 3 capas se encarga de segmentar de manera pre- cisa el discó óptico sobre la retinografía ya recortada y extrapolar su resultado a la retinografía original. La segmentación se lleva a cabo sobre las 3 capas del modelo RGB según la imagen 4.2.
Algoritmo de parada: Empleando únicamente la entropía cruzada, se evalúa el desa- rrollo de la fase de entrenamiento y se detiene cuando no se obtienen una mejora significativa en un intervalo de etapas. De esta manera se evita el sobreentrenamien- to de la red y mejora los tiempos de entrenamiento conservando un compromiso con la precisión final.
(a) Red de localización. (b) Red de segmentación.
Figura 4.2: Modelos de las redes finales.
Los modelos de la figura 4.2 representan las aquitecturas de las redes finales de este trabajo.
Comparten la misma estructura que la red ya explicada en la sección Red neuronal convolu- cional en U del capítulo Conceptos previos sobre retinografías y redes neuronales artificiales y su única diferencia es la profundidad de la red: 4 capas la del ejemplo, 3 la de segmentación y 2 la de localización.
Cada etapa de agrupación aplica dos convoluciones same de 3x3, un ReLU y una ope- ración de agrupación de 2x2 con paso 2.
Cada etapa de recuperación consiste en una convolución inversa de 2x2, una conca- tenación con el mapa de características recortado correspondiente a la fase de agru- pamiento, y dos convoluciones inversas same de 3x3, cada una seguida de un ReLU.
Exactitud Procesamiento Capas Tamaño Ratio Desvío Tiempo
Disco No disco
ninguno 3 398 0 % - 52min 81’73 % 99’74 %
estándar 2 3 252 0 % 8’47 % 24min 34seg 95’47 % 99’67 % Tabla 4.1: Sistemas original y final.
Finalmente se puede cuantificar la evolución total que se ha conseguido mediante el análisis de los datos de la tabla 4.1. En la cual se puede observar una sustancial reducción del 52’75 % en el tiempo de entrenamiento así como una mejora en la precisión del 16’81 % con respecto al sistema inicial.
En la figura 4.3 se exponen varios casos del conjunto de test para mostrar de manera gráfica lo que se ha justificado numéricamente en la tabla anterior. La superposición de las fronte- ras obtenidas de las máscaras del sistema de segmentación y las obtenidas por la base de datos médica sobre la retinografía muestran gráficamente como ambas son prácticamente iguales.
Figura 4.3: Segmentaciones del disco óptico sobre retinografías. Se contrasta la segmentación del sistema en blanco con la segmentación del experto en azul.
4.2. Análisis de la segmentaciones obtenidas por el sistema.
En total tenemos dos bases de datos, tres peritos evaluadores y tres redes neuronales. Es- to produce una treintena de combinaciones de las cuales, eliminando incompatibilidades y agrupando, nos quedan trece comparativas que tengan valor analítico. El análisis e interpre- tación de resultados ha sido dividido en varias subsecciones.
Cabe destacar que se han eliminado en algunos casos del estudio comparativo algunas re- tinografías. Las retinografías eliminadas son aquellas que han sido empleadas en el entre- namiento de alguna de las redes bajo estudio, esto se ha hecho para procurar la mayor ri- gurosidad posible, puesto que una red siempre dará mejores resultados con su conjunto de entrenamiento.
Para evitar confusiones se aclara la terminología que se emplea en las tablas de este capí- tulo. Se nombra como «objetivo» a la segmentación provista por la base de datos DRIONS
se nombra como «entrenamiento» a la segmentación obtenida por la red entrenada con DRIONS y las de las redes entrenadas con RIM-ONE como «entrenamiento 1» y «entrena- miento 2».
Las medidas que aparecen en las siguientes tablas hacen referencia a la media de todas las imágenes de la base de datos. Los índices de Dice y Jaccard son ampliamente utilizados en segmentación, por lo que son útiles para comparar resultados con otros trabajos. La distan- cia de Hausdorff, el perímetro, la solidez y el área permiten comparar las formas de la región asociada al disco óptico de las máscaras. De esta manera se evalúa la morfología del disco óptico con el objetivo de comprobar que el algoritmo segmente correctamente.
4.2.1. Validación de los sistemas segmentadores obtenidos.
Con objeto de comprobar que el algoritmo pueda generar distintas redes con distintas bases de datos, se han entrenado las redes neuronales de tres sistemas con las dos bases de da- tos y las tres segmentaciones objetivo. Una vez obtenidos los sistemas segmentadores se comparan cada uno con las segmentaciones objetivo de la base de datos con la que fueron entrenados.
Segmentaciones Datos Jaccard Dice Hausdorff Área Solidez Perímetro entrenamiento objetivo DRIONS 0’83 0’93 4’05 % 1’36 % 4’26 % 2’41 % entrenamiento 1 objetivo 1 RIMONE 0’82 0’9 3’76 % 1’28 % 2’08 % 4’3 % entrenamiento 2 objetivo 2 RIMONE 0’78 0’88 4’97 % 4’53 % 3’42 % 0’70 %
Tabla 4.2: Validación de los entrenamientos mediante comparativa de fuentes.
Se puede comprobar en la tabla 4.2 que, en lineas generales, se comportan de manera co- rrecta. Tanto los índices de Dice y Jaccard presentan valores altos, así como diferencias geo- métricas de los resultados entre peritos y expertos son inferiores al 5 %. Este trabajo ha sido diseñado basándose únicamente en la base de datos DRIONS. Sin embargo, la similitud de valores en las diferentes filas, da indicios de que las decisiones tomadas durante la fase de diseño pueden ser aplicadas a otras bases de datos distintas y obtener resultados acepta- bles.
(a) Segmentaciones del sistema entrenado con DRIONS (objetivo).
(b) Segmentaciones del sistema entrenado con RIM-ONE (objetivo 1).
(c) Segmentaciones del sistema entrenado con RIM-ONE (objetivo 2).
Figura 4.4: Segmentaciones de sistemas entrenadas con distintas bases de da- tos. En blanco las segmentación objetivo y en azul las generadas por los sistemas segmentadores.
En la figura 4.4 se han ilustrado, para los tres sistemas segmentadores entrenados, los di- ferentes tipos de resultados que se han obtenido durante las pruebas. Cabe destacar que, los dos sistemas entrenados con la misma base de datos y segmentaciones objetivo simi- lares, cometen los mismos tipos de errores y con magnitudes similares. Los resultados tipo obtenidos, de izquierda a derecha, son los siguientes.
ajustan de manera bastante precisa a la segmentación deseada.
Fallo leve: sucede con relativa frecuencia. Se caracteriza por imprecisiones en el con- torno o bien en la dimension de la región resultante. En algunos casos no requiere de un arreglo, como en la retinografía a. Como contrapartida, en los casos b y c, se debe a un fallo por parte de los algoritmos de localización y recorte. Se puede solucionar aumentando la precisión del primero y el tamaño del segundo.
Fallo grave: el menos habitual y con difícil solución. Es el que más perjudica la esta- dística, ya que por norma, implica un resultado que difiere mucho al deseado. Suele producirse por que el sistema no ha sido capaz de delimitar el disco óptico, como se muestra en la retinografía a, o bien porque detecta alguna estructura de la retina como si fuese el disco, los casos b y c. La solución es compleja y puede requerir rediseñar el sistema o añadir módulos que tengan en cuenta la morfología del resultado, ya que la segmentación errónea no suele poseer una forma circular característica del disco óptico.
(a) entrenamiento y objetivo. (b) entrenamiento 1 y objetivo 1.
(c) entrenamiento 2 y objetivo 2.
Figura 4.5: Diagramas Bland-Altman respecto al área del disco óptico segmen- tado por los sistemas neuronales.
Como último análisis se van a comentar los diagramas Bland-Altman de la figura 4.5 que, como ya se explicó en el capítulo Implementación y evolución del sistema segmentador, sir- ven para comprobar si los sistemas segmentadores obtenidos son concordantes con los peritos de las bases de datos originales. Este tipo de diagrama funciona mejor para conjun- tos de datos grandes pero en este caso, debido a que se han excluido los datos empleado en el entrenamiento, la nube de puntos está poco poblada. Para el análisis, tanto presen- te como futuro, se emplea el área en píxeles de la región asociada al disco óptico ya que esta estrechamente ligada con la exactitud. En líneas generales los resultados son buenos:
la desviación de la media es pequeña y para el 95 % de los datos la desviación máxima es inferior a 2.000 píxeles para los 3 sistemas. Estos datos hay que ponerlos en el contexto de retinografías de 400x600 píxeles de resolución y discos ópticos con áreas entorno a 9000 píxeles.
4.2.2. Repercusión del experto evaluador en la fase de entrenamiento.
Tras comprobar la viabilidad de sistema, se procede a un análisis un poco más complejo que reforzará los análisis al proporcionar valores de referencia. La intención es comprobar si las diferencias de las segmentaciones obtenidas por diferentes entrenamientos pueden ser similares a la discrepancia médica entre los peritos que realizaron las segmentaciones para las bases de datos. Una forma más coloquial de expresar lo anterior sería que se quiere comprobar en que grado los peritos serían capaces de distinguir si se trata de la segmenta- ción del sistema o de otro perito. Esto se ha podido llevar a cabo gracias a que se tienen dos peritos que han analizado la misma base de datos, concretamente la RIM-ONE.
Segmentaciones Datos Jaccard Dice Hausdorff Área Solidez Perímetro entrenamiento 1 objetivo 2 RIMONE 0’82 0’9 3’97 % 0’92 % 2’09 % 3’21 % entrenamiento 2 objetivo 1 RIMONE 0’8 0’89 4’71 % 2’39 % 3’4 % 1’75 % objetivo 1 objetivo 2 RIMONE 0’91 0’95 1’55 % 0’73 % 0’02 % 0’49 %
Tabla 4.3: Análisis mediante comparativa de fuentes.
Como era predecible la mayor similitud entre segmentaciones la producen los peritos, lo cuál se aprecia especialmente en la comparativa de los parámetros morfológicos de la seg- mentación del disco óptico de la tabla 4.3. Concretamente tanto en el área como el perí- metro del disco óptico presentan valores muy bajos.
(a) Segmentaciones de los peritos de RIM-ONE.
(b) Segmentaciones de las redes entrenadas con RIM-ONE.
Figura 4.6: Segmentaciones sobre la retinografía.
En la figura 4.6 se ejemplifica una comparativa entre peritos y los sistemas entrenados por las segmentaciones de esos peritos. A la izquierda se puede comprobar como, ante seg- mentaciones objetivo casi iguales, los sistemas segmentadores proporcionan resultados casi iguales. En el lado derecho se observa una discrepancia entre peritos que no se ve reflejada en los sistemas generados, es debido a que esa discrepancia se ve diluida en el alto grado de concordancia que hay en ambos conjuntos de entrenamiento. En contra partida se obser- va el caso contrario en el ejemplo central donde los sistemas difieren mientras los peritos concuerdan.
También se puede ver como los diagramas sobre el área de la figura 4.7 no difieren mucho entre sí. La diferencia entre los peritos y las redes neuronales es de apenas de 200 píxeles en media y 1.000 píxeles en desviación máxima. Aún así se pueden considerar bastante aceptables los resultados obtenidos ya que, como ya se ha mencionado, se trabaja con re- tinografías de 240.000 píxeles.