Está en la página 1de 95

UNIVERSIDAD DE CHILE

FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS


DEPARTAMENTO DE INGENIERÍA ELÉCTRICA

SEGMENTACIÓN DE VASOS SANGUÍNEOS DE RETINA USANDO SELECCIÓN DE


CARACTERÍSTICAS MEDIANTE DISTANCIA DE BHATTACHARYYA Y ALGORITMOS
GENÉTICOS, PARA UN CLASIFICADOR POR MAXIMIZACIÓN DE LA ENTROPÍA

TESIS PARA OPTAR AL GRADO DE MAGÍSTER EN CIENCIAS DE LA INGENIERÍA,


MENCIÓN INGENIERÍA ELÉCTRICA
MEMORIA PARA OPTAR AL TÍTULO DE INGENIERO CIVIL ELÉCTRICO

SEBASTIÁN CEPEDA FUENTEALBA

PROFESOR GUÍA:
CLAUDIO PÉREZ FLORES

MIEMBROS DE LA COMISIÓN:
PABLO ESTÉVEZ VALENCIA
PABLO ZEGERS FERNÁNDEZ

SANTIAGO DE CHILE
2016
RESUMEN DE LA TESIS PARA OPTAR AL GRADO DE MAGÍSTER
EN CIENCIAS DE LA INGENIERÍA, MENCIÓN INGENIERÍA ELÉCTRICA
Y AL TÍTULO DE INGENIERO CIVIL ELECTRICISTA
POR: SEBASTIÁN CEPEDA FUENTEALBA
FECHA: 2016
PROF. GUÍA: CLAUDIO PÉREZ FLORES

Resumen
La segmentación de vasos sanguíneos en imágenes digitales permite tener un método no
invasivo de diagnosticar enfermedades como diabetes, hipertensión y algunas enfermedades
cardiovasculares. Puede servir en la implementación de programas para la detección temprana de
varias enfermedades de la retina y también para la identificación biométrica basada en la forma
de los vasos sanguíneos. La segmentación manual de vasos sanguíneos de retina es una tarea
que consume mucho tiempo y requiere entrenamiento y habilidad. Los vasos sanguíneos en la
retina están compuestos de arterias y venas que se presentan como líneas oscuras en un fondo
relativamente uniforme. La dificultad de su segmentación se debe a su forma, tamaño y luminosidad
altamente variables, ruido en la imagen, además de su cruce y bifurcación.
En los métodos para la segmentación automática de vasos previamente publicados en revistas
internacionales están aquellos que obtienen un vector de características por pixel utilizando el
canal verde de la imagen y la respuesta a un filtro gaussiano en 5 escalas que ocupa k-vecinos más
cercanos (KNN) como clasificador. Otro método crea un vector de 27 características y usa k-vecinos
más cercanos como clasificador. Otro método extrae un vector de 5 características, incluyendo el
canal verde y la respuesta a filtros Gabor en 4 escalas y usa un clasificador bayesiano.
En esta tesis se propone un método de segmentación automática de vasos sanguíneos de cuatro
etapas. Primero, se extrae el canal verde de la imagen, ya que es donde más destacan los vasos
sanguíneos. A continuación se efectúa una ecualización de histograma adaptiva para mejorar el
contraste entre los pixeles del fondo y de los vasos sanguíneos. Luego se aplica un banco de
filtros correspondientes a una suma de filtros Gabor, obteniendo como resultado el máximo de
las respuestas al banco de filtros. Finalmente, se segmenta la respuesta al banco de filtros usando
un umbral calculado con la maximización de la entropía de la matriz de co-ocurrencia. Para la
optimización de los parámetros y evaluación de resultados se utilizó la base de datos DRIVE ya que
es una base de datos marcada y disponible internacionalmente, que permite comparar los resultados
obtenidos con otros publicados previamente. La optimización de los parámetros de la ecualización
de histograma adaptiva y la elección del canal verde se realizó maximizando la distancia de
Bhattacharyya entre las clases de vasos sanguíneos y fondo de las imágenes. Los parámetros
de los filtros fueron optimizados mediante algoritmos genéticos, maximizando el accuracy de la
segmentación. De las 40 imágenes de la base de datos DRIVE se eligieron 10 para el conjunto de
entrenamiento y 10 para el de validación. El conjunto de prueba usa las 20 imágenes estándares.
Los resultados muestran que la precisión obtenida para el conjunto de prueba fue de 0,9462, lo
que es similar a los resultados obtenidos por las mejores publicaciones en la misma base de datos
y a la obtenida por el segundo experto humano (0,9473). Al comparar con uno de los métodos
con mejores resultados (precisión de 0,9466), el tiempo de segmentación disminuyó de 120[s]
en el trabajo previo, a 5[s] en el método propuesto. En comparación con los resultados de una
implementación de redes neuronales convolucionales, ésta tardó más (170[s]) y su precisión fue
menor que con el método propuesto. Por lo tanto el método propuesto muestra una precisión
cercana a la máxima previamente publicada pero con un tiempo de procesamiento mucho menor.
A futuro el método podría paralelizarse para mejorar aún más su tiempo de cómputo.
ii
Abstract
The segmentation of blood vessels in digital images allows to have a noninvasive method
to diagnose diseases such as diabetes, hypertension and cardiovascular diseases. It can be used
in the implementation of programs for early detection of various diseases of the retina and also
for biometric identification based on the shape of the blood vessels. Manual segmentation of
retinal blood vessels is a time consuming task and requires training and skill. The blood vessels
in the retina are composed of arteries and veins that appear as dark lines on a relatively uniform
background. The difficulty of their segmentation is due to its shape, size and brightness highly
variable, noise in the image, in addition to its junction and branching.
Among the methods for automatic segmentation of blood vessels previously published in
international journals, are those who obtain a feature vector by pixel using the green channel of
the image and the response to a Gaussian filter on 5 scales using k-nearest neighbors (KNN) as
the classifier. Another method creates a vector of 27 features and uses k-nearest neighbor classifier.
Another method extracts a vector of 5 features, including the green channel and the response to
Gabor filters in 4 scales and uses a Bayesian classifier.
In this thesis a method of automatic segmentation of blood vessels in four steps is proposed.
First, the green channel of the image is extracted, because it is where the blood vessels more
highlights. Then adaptive histogram equalization is performed to improve the contrast between
the pixels of the background and blood vessels. A filter bank is then applied corresponding to a
sum of Gabor filters, obtaining as a result the maximum responses to the filter bank. Finally, the
response to the filter bank is segmented using a threshold calculated with the maximization of the
entropy of the co-occurrence matrix. For the optimization of parameters and evaluation of results,
the DRIVE database was used because it is a labeled and internationally available database, that
allows to comparing the results with those of previous studies. The optimization of the parameters
of adaptive histogram equalization and the choice of the green channel was made maximizing the
Bhattacharyya distance between classes of blood vessels and background of the images. The filter
parameters were optimized using genetic algorithms, maximizing the accuracy of the segmentation.
Among the 40 images of the DRIVE database, 10 images were chosen for the training set and 10
for the validation set. For the test set, the 20 standard images were used.
The results show that the accuracy obtained for the whole test set was 0.9462, which is similar to the
results obtained by the best publications in the same database and the obtained by the second human
expert (0.9473). When comparing with one of the best performing methods (accuracy 0.9466),
time segmentation decreased from 120[s] in the previous work, to 5[s] in the proposed method.
Compared with the results of an implementation of convolutional neural networks, it took longer
(170[s]) and its accuracy was lower than with the proposed method. Therefore the proposed method
shows a precision close to the maximum previously published but with a much lower processing
time. In the future the method could be parallelized to further improve its computing time.

iii
A mis padres y a toda la gente con que compartí en mis años de Universidad.

iv
Agradecimientos
Quiero agradecer a mi profesor guía, Claudio Pérez, por sus consejos, su guía durante éste
proceso, críticas constructivas, su disposición y su preocupación por el progreso de éste trabajo.
A todos los amigos y compañeros de la Universidad y toda la gente que conocí durante este tiempo
y que me acompañó en diversos momentos.
A mis compañeros del laboratorio, por su amabilidad, momentos alegres y las interesantes
conversaciones que tuvimos.
A mis padres María Elena y Bernabé por todo su apoyo incondicional, esfuerzo, comprensión y
amor durante toda mi vida y sobretodo en mis años de estudio.

v
Tabla de contenido

1. Introducción 9
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3. Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4. Estructura de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2. Antecedentes sobre detección de vasos sanguíneos 15


2.1. Trabajo realizado previamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1. Técnicas de reconocimiento de patrones . . . . . . . . . . . . . . . . . . . 16
2.1.2. Filtros adaptados (Matched filters) . . . . . . . . . . . . . . . . . . . . . . 17
2.1.3. Seguimiento (Tracking) de vasos sanguíneos . . . . . . . . . . . . . . . . 17
2.1.4. Morfología matemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.5. Enfoques multiescala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.6. Enfoques basados en modelos . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.7. Resumen de resultados previamente publicados . . . . . . . . . . . . . . . 19

3. Metodología 21
3.1. Base de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2. Medidas estadísticas de clasificación . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1. Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.1. Selección del canal de color . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.2. Inversión de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1
3.3.3. Extensión del borde del área de interés . . . . . . . . . . . . . . . . . . . . 25
3.3.4. Ecualización de histograma adaptativa . . . . . . . . . . . . . . . . . . . . 29
3.4. Extracción de características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1. Filtros Gabor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.2. Filtros utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.3. Aplicación de filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4.4. Optimización de parámetros de los filtros utilizados . . . . . . . . . . . . . 35
3.4.5. Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5. Segmentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.1. Entropía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.2. Segmentación por umbralización usando entropía . . . . . . . . . . . . . . 46

4. Resultados 49
4.1. Resultados del preprocesamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.1.1. Distancia de Bhattacharyya entre clases por canal de color . . . . . . . . . 49
4.1.2. Resultados de generación de máscara de segmentación . . . . . . . . . . . 53
4.1.3. Resultados de extensión del borde del área de interés . . . . . . . . . . . . 54
4.1.4. Resultados de ecualización de histograma adaptiva . . . . . . . . . . . . . 55
4.1.5. Distancia de Bhattacharyya por etapa del preprocesamiento . . . . . . . . 58
4.2. Resultados algoritmos genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.1. Influencia de la elección de conjuntos de entrenamiento y validación. . . . 58
4.2.2. Optimización de parámetros del banco de filtros . . . . . . . . . . . . . . . 61
4.3. Resultados de la aplicación de filtros . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4. Obtención de la matriz de co-ocurrencia . . . . . . . . . . . . . . . . . . . . . . . 67
4.5. Resultados de la segmentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.6. Tipificación de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.7. Curva ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.8. Resultados de tiempos de ejecución del sistema . . . . . . . . . . . . . . . . . . . 74
4.9. Comparación con el método de Soares et al. [45] . . . . . . . . . . . . . . . . . . 74

5. Conclusión 77

2
5.0.1. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.0.2. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Bibliografía 81

A. Parámetros de los filtros obtenidos II

3
Índice de tablas

2.1. Medidas de desempeño calculadas en el conjunto de prueba de la base de datos


DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1. Tabla de factores asociados a la conversión de parámetros. . . . . . . . . . . . . . 43

4.1. Distancia de Bhattacharyya promedio y desviación estándar de las clases por canal
de color del conjunto de entrenamiento de la base de datos DRIVE. . . . . . . . . . 50
4.2. Parámetros óptimos del algoritmo CLAHE, obtenidos con la maximización del
promedio de la distancia de Bhattacharyya de las clases de cada imagen. . . . . . . 56
4.3. Máxima distancia de Bhattacharyya promedio en el conjunto de entrenamiento de
la base de datos DRIVE, posterior a la aplicación del algoritmo CLAHE. . . . . . . 56
4.4. Distancia de Bhattacharyya promedio y desviación estándar del conjunto de
entrenamiento, en las etapas del preprocesamiento. . . . . . . . . . . . . . . . . . 58
4.5. Conjuntos de entrenamiento y validación. . . . . . . . . . . . . . . . . . . . . . . 59
4.6. Accuracy de cada prueba en el conjunto de prueba, evaluado en el punto donde se
obtiene el máximo accuracy en el conjunto de validación. . . . . . . . . . . . . . . 61
4.7. Promedio y desviación estándar del accuracy de las pruebas de la tabla 4.6. . . . . 61
4.8. Promedio y desviación estándar del accuracy de la segmentación en el conjunto de
prueba, con los parámetros óptimos de los filtros obtenidos con el algoritmo genético. 62
4.9. Promedio y desviación estándar del accuracy de la segmentación en el conjunto de
prueba, con los parámetros óptimos de los filtros obtenidos con el algoritmo genético. 63
4.10. Distancia de Bhattacharyya promedio en el conjunto de entrenamiento de la base
de datos DRIVE, posterior a la aplicación de los filtros. . . . . . . . . . . . . . . . 65
4.11. Área bajo la curva ROC en el conjunto de prueba. . . . . . . . . . . . . . . . . . . 73
4.12. Tiempo de ejecución promedio en segundos por imagen del proceso de
segmentación, en el conjunto de prueba de la base de datos DRIVE. . . . . . . . . 74
4.13. Fracción de pixeles correcta e incorrectamente clasificados por cada método, en el
conjunto de entrenamiento y validación de la base de datos DRIVE. . . . . . . . . 75

4
4.14. Fracción de pixeles correcta e incorrectamente clasificados por cada método, en el
conjunto de prueba de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . 75

5
Índice de ilustraciones

1.1. Estructuras relevantes del ojo humano. Imagen obtenida de [85]. . . . . . . . . . . 10


1.2. Ventana alrededor de un pixel marcado como vaso sanguíneo (en celeste), en la
imagen 40 de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1. Diagrama de bloques de la ejecución del método propuesto. . . . . . . . . . . . . . 22


3.2. Imagen de fondo, máscara de segmentación de la zona de interés y ground truth de
la imagen 40 de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Imagen original del fondo de la retina y canales rojo, verde y azul de la imagen 40
de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4. Histograma normalizado del canal verde y su distribución acumulada. . . . . . . . 26
3.5. Máscara de segmentación del área de interés de la imagen 40 de la base de datos
DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6. Borde extendido incompleto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7. Resultado de la extension de borde. . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.8. Histogramas de vasos sanguíneos y fondo del canal verde de la imagen. . . . . . . 30
3.9. Etapas del algoritmo CLAHE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.10. Ejemplos de Filtros Gabor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.11. Ejemplos de filtros generados como suma de 3 filtros Gabor. . . . . . . . . . . . . 34
3.12. Diagrama del funcionamiento de los algoritmos genéticos. Obtenido de [43]. . . . . 37
3.13. Selección estocástica universal. Basada en [44]. . . . . . . . . . . . . . . . . . . . 40
3.14. Operador de crossover de un punto con codificación binaria. Las líneas verticales
azules representan los puntos de corte. . . . . . . . . . . . . . . . . . . . . . . . . 41
3.15. Operador de crossover de dos puntos. Las líneas verticales azules representan los
puntos de corte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.16. Ilustración de la estructura de la codificación del individuo. . . . . . . . . . . . . . 44

6
3.17. Efecto de la segmentación del área de interés. . . . . . . . . . . . . . . . . . . . . 46
3.18. Cuadrantes de la matriz de co-ocurrencia. . . . . . . . . . . . . . . . . . . . . . . 48

4.1. Distancia de Bhattacharyya de las clases por cada canal RGB en cada imagen del
conjunto de entrenamiento de la base de datos DRIVE. Las curvas corresponden al
canal rojo, verde y azul respectivamente. . . . . . . . . . . . . . . . . . . . . . . . 50
4.2. Imágenes de fondo de retina {1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . 51
4.3. Canal verde de las imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . 52
4.4. Histogramas del canal verde de las imágenes {1, 8, 16, 24, 32, 40} de la base de datos
DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.5. Máscaras de segmentación de la zona de interés generadas para las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . 54
4.6. Resultado de la extensión del borde de la zona de interés de las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . 55
4.7. Gráfica de la distancia de Bhattacharyya de las clases en función de los parámetros
del algoritmo clahe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.8. Resultados
de la aplicación del algoritmo CLAHE en las imágenes {1, 8, 16, 24, 32, 40} de la
base de datos DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.9. Histogramas de la imagen posterior a la aplicación del algoritmo CLAHE para las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . . . 58
4.10. Curvas de accuracy por generación del algoritmo genético. . . . . . . . . . . . . . 60
4.11. Izquierda: Curva de accuracy por generación del algoritmo genético que obtiene el
máximo accuracy en el conjunto de validación en la tabla 4.8. Derecha: Valor-p de
por generación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.12. Filtros obtenidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.13. Filtros Gabor que al sumarse dan lugar a los filtros utilizados. . . . . . . . . . . . . 64
4.14. Obtención del máximo de las respuestas al banco de filtros en las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . 65
4.15. Histogramas de la imagen posterior a la aplicación de los filtros, para las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . 66
4.16. Respuesta de los filtros rotados en θ = {0, 20, 40, 60, 80, 100, 120, 140, 160, 180} . . 66
4.17. Matriz de co-ocurrencia de la imagen posterior a la aplicación de filtros para las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . . . 67
4.18. Matriz de co-ocurrencia de la imagen posterior a la aplicación de filtros, para las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE, con código de colores. . . 68

7
4.19. Segmentación de los vasos sanguíneos mediante umbral óptimo. Pixeles en blanco
corresponden a vasos sanguíneos y en negro a pixeles de fondo. Segmentación de
las imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . 69
4.20. Visualización de los errores y aciertos de la clasificación. Segmentación de las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE. . . . . . . . . . . . . . . 70
4.21. Histogramas de accuracy para cada elección de conjunto de entrenamiento y
validación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.22. Las dos muestras con menor accuracy en los histogramas de accuracy junto a su
segmentación realizada con el método propuesto. De arriba a abajo imágenes 25 y
34 de la base de datos DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.23. Imagen con mayor accuracy en los histogramas de accuracy junto a su
segmentación realizada con el método propuesto. Imagen 19 de la base de datos
DRIVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.24. Curva ROC en el conjunto de prueba. . . . . . . . . . . . . . . . . . . . . . . . . 73
4.25. Visualización de los errores y aciertos de la clasificación por ambos métodos.
Segmentación de las imágenes {1, 8, 16, 24, 34, 40} de la base de datos DRIVE. . . . 76

8
Capítulo 1

Introducción

En este capítulo se presentan la motivación de este trabajo de tesis, sus objetivos generales y
específicos, y los capítulos que forman su estructura.

1.1. Motivación

En general, la segmentación de vasos sanguíneos en imágenes digitales permite tener un


método no invasivo de diagnosticar diferentes enfermedades como diabetes, hipertensión y algunas
enfermedades cardiovasculares. Puede servir en la implementación de programas para la detección
temprana de varias enfermedades de la retina y también para la identificación biométrica basada en
la forma de los vasos sanguíneos. La segmentación manual de vasos sanguíneos de retina es una
tarea que consume mucho tiempo y requiere entrenamiento y habilidad. Los vasos sanguíneos en
la retina están compuestos de arterias y venas que se presentan como líneas oscuras en un fondo
relativamente uniforme. La dificultad de su segmentación se debe a su forma, tamaño y luminosidad
altamente variables, ruido en la imagen, además de su cruce y bifurcación.

La segmentación de vasos sanguíneos de retina y la caracterización de sus atributos morfológicos,


como largo, ancho, tortuosidad y/o patrones de ramificación y ángulos son utilizados para
el diagnóstico, detección temprana, y evaluación de varias enfermedades cardiovasculares y
oftalmológicas como diabetes, hipertensión, arterioesclerosis y neovascularización coroidea [13,
49, 55]. La detección automática y el análisis de los vasos sanguíneos pueden asistir en la
implementación de programas de detección temprana para retinopatía diabética [2], evaluación
de retinopatía en infantes prematuros [1, 12], detección de la zona de la fóvea [6], estrechamiento
arteriolar [3,18,19], retinopatía hipertensiva en relación a la tortuosidad de los vasos sanguíneos [4],
medición del diámetro de los vasos sanguíneos en relación con el diagnóstico de hipertensión
[5], y cirugía láser asistida por computador [22]. La detección automática de lesiones como
microaneurismas, que son los primeros síntomas en aparecer en la retinopatía diabética pueden
depender de la segmentación de vasos sanguíneos de retina [80]. Por otro lado, la segmentación
manual de vasos sanguíneos de retina es una tarea larga y tediosa que además requiere
entrenamiento y habilidad [49].

9
También es útil la segmentación de vasos para el registro de un número de imágenes de retina,
mostrando los cambios de la retina a través del tiempo, siguiendo los cambios de alguna enfermedad
[9, 10].
La segmentación de vasos sanguíneos puede ser utilizada para identificación de fóvea y el disco
óptico [79]. Además, el árbol vascular de la retina es único para cada individuo y puede ser usado
para identificación biométrica [7, 8].

El sistema de segmentación de vasos sanguíneos diseñado e implementado en este trabajo, es


utilizable en la segmentación de vasos sanguíneos de otras zonas del cuerpo humano, tal como
vasos sanguíneos del corazón, cerebro o pulmones, en imágenes 2D.
La fotografía de la retina se realiza con una cámara digital especial para fondo de ojo, capaz de
simultáneamente iluminar y fotografiar la retina. Es diseñada para observar la superficie interior
del ojo, mostrando la retina, disco óptico, y mácula. Existen tres modos de fotografía: imagen
de los tres canales de color (rojo-verde-azul), imagen sin el canal rojo (red-free) y angiografía,
una técnica más invasiva, que corresponde a la fotografía de la retina luego de aplicar una tinta
fluorescente inyectada al flujo sanguíneo [49].

En la figura 1.1 se muestran las estructuras relevantes del ojo humano para este trabajo,
especialmente la mácula, retina y los vasos sanguíneos de la retina.

Figura 1.1: Estructuras relevantes del ojo humano. Imagen obtenida de [85].

A modo de ejemplo, la segmentación de vasos sanguíneos de la retina puede utilizarse para


detectar signos tempranos de una enfermedad denominada retinopatía diabética y que es una
enfermedad que es la principal causa de ceguera entre la población en edad laboral en países
desarrollados. Todas las personas con diabetes pueden eventualmente desarrollar esta enfermedad
[20]. Se estima una prevalencia de diabetes del 4.4 % en 2030, correspondiendo a un total de 366
millones de personas en el mundo [21]. La detección temprana y tratamiento de esta enfermedad
es considerada un ahorro de costos significativo [11, 17] [14, 20]. La detección y localización de
los vasos sanguíneos puede ser usado como un primer paso para discriminar entre estructuras
normales de vasos y defectos que aparecen como producto de la enfermedad como por ejemplo
microaneurismas y hemorragias [3, 23–25].

10
El problema de segmentación de vasos sanguíneos en imágenes de retina ha sido abordado en
múltiples publicaciones. Las categorías en las que se agrupan las publicaciones de segmentación
de vasos sanguíneos, en publicaciones de revisión de métodos [49, 50], son: técnicas de
reconocimiento de patrones [45,51,53–55,57,58], filtros adaptados (Matched filters) [49,52,61,62],
seguimiento (Tracking) de vasos sanguíneos [74], morfología matemática [63–66], enfoques
multiescala [67–69] y enfoques basados en modelos [70, 71, 73].
En la categoría de reconocimiento de patrones supervisado, se extrae un vector de características
(filtros lineales, curvatura, intensidad de la imagen, entre otros) por cada pixel y posteriormente se
aplica un clasificador (K-Nearest Neighbors [53, 54], GMM [45], SVM [55, 56], AdaBoost [57] y
redes neuronales [58]).

En reconocimiento de patrones no supervisado, Villalobos-Castaldi et al. [59] usa un filtro adaptado


(matched filter) para el realce de los vasos sanguíneos en la imagen, y posteriormente se maximiza
la entropía de la matriz de co-ocurrencia, obteniendo un umbral para segmentar la imagen.
Kande et al. [60] usa la información de los canales rojo y verde para corregir la iluminación no-
uniforme de la imagen, luego se utilizan filtros adaptados para mejora del contraste, después utiliza
fuzzy C-means para agrupamiento (clustering), finalizando con etiquetamiento de componentes
conectadas(connected-component labeling).
En la categoría de filtros adaptados (Matched filters), se utilizan filtros gaussianos 2D y a
continuación un umbral para la segmentación [52, 61, 62].

En seguimiento (Tracking) de vasos, Delibasis et al. [74] usa un algoritmo de seguimiento (tracking)
para la segmentación de vasos sanguíneos, usando un modelo paramétrico de un vaso sanguíneo y
una medida de similitud entre una porción de la imagen y el modelo del vaso sanguíneo.
Con respecto a los métodos que usan morfología matemática, se aplican filtros lineales, luego se
emplean operaciones morfológicas y finalmente un algoritmo de crecimiento de regiones [64–66].

En enfoques multiescala, Martinez-Perez et al. [67] usa un filtro gaussiano en diferentes escalas,
luego obtiene el gradiente y la curvatura, y calcula el máximo sobre las escalas, finalmente se
usa un algoritmo de crecimiento de regiones (region growing). Anzalone et al. [68] utiliza el
algoritmo CLAHE de ecualización adaptiva de histograma, luego se mide la curvatura mediante
el Hessiano de la convolución de la imagen con un filtro gaussiano y la segmentación se realiza
mediante un umbral a la imagen de curvatura. Vlachos et al. [69] usa normalización local como
preprocesamiento, luego aplica seguimiento (tracking) de vasos sanguíneos usando múltiples
escalas, combinándolos en un mapa de confidencia, y la segmentación es realizada mediante
un umbral obtenido con cuantización y se realiza postprocesamiento mediante operaciones
morfológicas.

En enfoques basados en modelos, Lam et al. [70] efectúa diversas medidas de concavidad que
modelan las secciones transversales de los vasos sanguíneos. Espona et al. [71,72] utilizan modelos
de contorno activo (active contour models “snakes”) en combinación con propiedades topológicas
de los vasos sanguíneos para su segmentación. Zhang et al. [73] utiliza proyecciones no lineales
(nonlinear projections) para capturar las características de los vasos sanguíneos y la segmentación
se realiza utilizando un umbral adaptivo.

La dificultad de la segmentación de vasos sanguíneos en imágenes se debe a que la forma, tamaño,


e intensidad de luminosidad de los vasos sanguíneos puede variar enormemente. Además, las

11
características del fondo de la imagen pueden parecer similares a vasos sanguíneos. El cruce y
bifurcación de los vasos sanguíneos puede complicar más su modelación. El ruido en la imagen,
iluminación variable espacialmente y falta de contraste entre vasos sanguíneos y fondo pueden ser
desafíos significativos para la extracción de vasos sanguíneos. Los vasos sanguíneos de retina están
compuestos de arterias y venas, cuyo ancho en una imagen es variable, dependiendo del ancho real
del vaso sanguíneo y de la resolución de la imagen. Visualmente, se presentan en la imagen de
retina como líneas oscuras sobre un fondo relativamente uniforme.

La mayoría de los métodos utilizados para la segmentación de vasos sanguíneos de retina


consideran implícita o explícitamente una ventana alrededor del pixel que se desea clasificar
como vaso sanguíneo o fondo (ver capítulo 2). Ésto implica una clasificación en un espacio de
alta dimensión para dos clases. La dimensión del espacio de características original está dado
por las dimensiones de la ventana utilizada (por ejemplo, una ventana de 21 × 21 pixeles que
corresponde a un espacio de 21 · 21 = 441 características). Ésto dificulta la utilización de un
clasificador en el espacio de características original por varios problemas llamados “la maldición de
la dimensionalidad” [97], por lo que en la práctica muchos de los trabajos publicados corresponden
a un método de extracción de características para la reducción de la dimensionalidad y el posterior
uso de un clasificador.

En éste trabajo se busca encontrar una extracción de características adecuada, que reduzca la
dimensionalidad del espacio de características manteniendo la separabilidad entre las clases en
las nuevas caraterísticas, con la finalidad de tener un sistema de segmentación rápido y con buen
desempeño.

En la figura 1.2 se presenta una ventana de aproximadamente 21 × 21 pixeles alrededor de un


pixel marcado manualmente como vaso sanguíneo.

(a) Imagen original (b) Ventana

Figura 1.2: Ventana alrededor de un pixel marcado como vaso sanguíneo (en celeste), en la imagen
40 de la base de datos DRIVE.

12
En este trabajo se desarrolla un nuevo método de segmentación de vasos sanguíneos de
retina, usando la base de datos disponible internacionalmente, DRIVE, que permite comparar los
resultados obtenidos con otros publicados previamente en la literatura científica.

Se investiga el uso de la distancia de Bhattacharyya [33–35] entre histogramas de clases de


pixeles de vasos sanguíneos y fondo de la retina, para la elección del canal de la imagen con más
información discriminadora entre vasos sanguíneos y fondo. Además, se estudia la optimización
de los parámetros de la etapa de preprocesamiento del sistema, consistente en una ecualización
adaptiva de histograma [32], para mejorar el contraste entre vasos sanguíneos y fondo, usando la
maximización de ésta medida de estadística en el conjunto de entrenamiento.

En la etapa de extracción de características del sistema, se investiga el efecto de una modificación a


los filtros Gabor, ampliamente utilizados [37,89–91], proponiendo filtros lineales correspondientes
a la suma de tres filtros Gabor. Para la optimización de los parámetros de los filtros, se estudia la
utilización de un algoritmo genético [39, 92–95], cuya función objetivo depende del accuracy de
los resultados de la etapa de segmentación, en el conjunto de entrenamiento de la base de datos
DRIVE.

Para la etapa de segmentación, se estudia el uso de un umbral obtenido mediante la maximización


de la entropía de la matriz de co-ocurrencia [98–100], posterior a la aplicación de filtros.

1.2. Objetivo General

El objetivo general de este trabajo es el desarrollo de un método que permita la segmentación


automática de vasos sanguíneos en imágenes digitales de retina, mediante el procesamiento digital
de imágenes.

1.3. Objetivos Específicos

Los objetivos específicos son:

Desarrollo de una etapa de preprocesamiento, que permita enfatizar la presencia de los vasos
en la imagen reduciendo el ruido presente. Para esto se propone la extracción de un canal de
color de la imagen y la aplicación de ecualización adaptiva de histograma, cuyos parámetros
se optimizarán con la distancia de Bhattacharyya entre los histogramas de pixeles de vasos
sanguíneos y pixeles de fondo.

Se propone desarrollar un nuevo método de segmentación de vasos sanguíneos basado en


filtros Gabor cuyos parámetros serán ajustados por un algoritmo genético.

Aplicar el método de segmentación de vasos a la base de datos de imágenes DRIVE.

Optimizar los parámetros del banco de filtros mediante algoritmos genéticos y el umbral de
segmentación mediante la maximización de la entropía de la matriz de co-ocurrencia.

13
Obtención de los resultados de la segmentación medidos a través del accuracy como medida
de desempeño y la comparación con resultados publicados en revistas internacionales para la
base de datos DRIVE.

1.4. Estructura de la tesis

La estructura utilizada en este documento para presentar el trabajo realizado es la siguiente:

Capítulo 1. Introducción: Se describe el tema abordado, su importancia, lo que se ha


realizado hasta ahora para resolverlo en publicaciones y se describen los objetivos de la tesis.

Capítulo 2. Antecedentes sobre detección de vasos sanguíneos: Corresponde a la revisión


bibliográfica o antecedentes. Se comentan las técnicas empleadas por otros trabajos y
publicaciones en el tema.

Capítulo 3. Metodología: Se detalla la metodología seguida en el desarrollo de esta


investigación.

Capítulo 4. Resultados: Se detallan las pruebas realizadas junto a los resultados obtenidos.

Capítulo 5. Conclusión: Se comentan las conclusiones del trabajo realizado y se proponen


líneas de trabajo a seguir en el futuro.

14
Capítulo 2

Antecedentes sobre detección de vasos


sanguíneos

En este capítulo se presentan los métodos y resultados de publicaciones que realizan


segmentación de vasos sanguíneos en imágenes de retina.

2.1. Trabajo realizado previamente

La definición de categorías de las publicaciones relacionadas con el tema de ésta tesis se realizó
de forma similar a publicaciones de revisión de métodos de segmentación de vasos sanguíneos [50]
y de segmentación de vasos sanguíneos en imágenes de retina [49]. A continuación se presentan
las categorías principales.

Técnicas de reconocimiento de patrones.

Filtros adaptados (Matched filters)

Seguimiento (Tracking) de vasos sanguíneos.

Morfología matemática.

Enfoques multiescala.

Enfoques basados en modelos.

A continuación se describen las metodologías ocupadas en las publicaciones relacionadas,


según las categorías descritas. Sólo se toman en cuenta publicaciones con resultados en la base de
datos DRIVE, para que sea posible hacer una comparación de sus resultados con los de esta tesis.

15
2.1.1. Técnicas de reconocimiento de patrones

Dentro de las técnicas de reconocimiento automático de patrones existen dos categorías;


aprendizaje supervisado y no supervizado. El aprendizaje supervisado cuenta con información de
las etiquetas de cada clase para cada pixel de la imagen, mientras que el aprendizaje no supervisado
no cuenta con información a priori.

Métodos supervisados

En los métodos supervisados es necesario tener un ground truth que identifique la clase
correspondiente para cada pixel. Suelen tener mejores resultados que los métodos no supervisados,
sin embargo el ground truth no está siempre disponible en aplicaciones reales [49], además de
existir desacuerdo entre el ground truth realizado por distintos observadores expertos [51]. Éste
último argumento se observa en la base de datos DRIVE, ya que el segundo observador experto
obtiene un accuracy de 0.9473 en el conjunto de prueba al compararlo con el primer observador
experto.

Niemeijer et al. [53] extrae un vector de características para cada pixel que consiste
en el canal verde de la imagen, y las respuestas a un filtro gaussiano con escalas de
{1, 2, 4, 8, 16} pixeles. Posteriormente se ocupa un clasificador k-Vecinos más cercanos (k-
Nearest Neighbors).

Staal et al. [54] detecta crestas en la imagen, para las cuales se genera un vector de 27
características. Posteriormente se utiliza un clasificador k-Vecinos más cercanos (k-Nearest
Neighbors).

Soares et al. [45] extrae un vector de 5 características para cada pixel de la imagen,
incluyendo el canal verde y la respuesta a 4 filtros Gabor, con una escala diferente por cada
uno. Posteriormente se utiliza un clasificador bayesiano, con un modelo de combinación
lineal de distribuciones gaussianas.

Ricci y Perfetti [55] extraen un vector de 3 características para cada pixel, incluyendo el
canal verde y la respuesta máxima a dos filtros: una linea y una cruz de pixeles con diferentes
rotaciones. La clasificación se realiza utilizando un clasificador SVM.

Xu y Luo [56] realizan un preprocesamiento extrayendo los vasos sanguíneos más gruesos
en la imagen. Se crea un vector de 12 características en los pixeles restantes que se clasifican
con SVM. Como postprocesamiento, se hace seguimiento (tracking) de los vasos sanguíneos
utilizando la matriz Hessiana.

Lupascu et al. [57] utiliza un vector de 41 características por cada pixel, incluyendo filtros
gaussianos, filtros Gabor, curvatura y diferentes escalas. El clasificador utilizado corresponde
a AdaBoost, usando umbrales para cada característica.

Marin et al. [58] usa un vector de 7 características por cada pixel basadas en escala de grises
y momentos y una red neuronal como clasificador.

16
Métodos no supervisados

Los métodos no supervisados tratan de encontrar patrones inherentes a los vasos sanguíneos
en imágenes de retina sin contar con un ground truth [49].

Kande et al. [60] usa la información de los canales rojo y verde de la imagen para corregir la
iluminación no-uniforme de la imagen. Se utilizan filtros adaptados para mejora del contraste.
Posteriormente se utiliza fuzzy C-means para agrupamiento (clustering), finalizando con
etiquetamiento de componentes conectadas(connected-component labeling).

Villalobos-Castaldi et al. [59] usa un filtro adaptado (matched filter) para el realce de los
vasos sanguíneos en la imagen. Posteriormente se maximiza la entropía de la matriz de co-
ocurrencia, obteniendo un umbral para segmentar la imagen.

2.1.2. Filtros adaptados (Matched filters)

La aplicación de filtros adaptados corresponde a la convolución con filtros 2D con la imagen


de retina. El filtro es diseñado para modelar una característica presente en alguna posición y
orientación en la imagen, de forma que la respuesta al filtro corresponde al grado de presencia
de esa característica [49].

Chaudhuri et al. [62] propuso un filtro 2D gaussiano diseñado para ajustarse al perfil de un
vaso sanguíneo. El filtro es rotado en múltiples rotaciones separadas en 15◦ . Para cada pixel
se obtiene la respuesta máxima a las rotaciones de los filtros, a la cual se le aplica un umbral
para segmentar la imagen.

Al-Rawi et al. [61] mejoró el método de Chaudhuri [62] optimizando los parámetros de
tamaño del filtro, desviación estándar y valor del umbral de segmentación, utilizando el
conjunto de entrenamiento de la base de datos DRIVE.

Zhang et al. [52] utiliza un filtro gaussiano 2D, cuya respuesta es segmentada utilizando un
umbral adaptivo en función de la respuesta a la primera derivada del filtro gaussiano 2D
promediada en un vecindario de cada pixel.

2.1.3. Seguimiento (Tracking) de vasos sanguíneos

Los algoritmos de seguimiento de vasos sanguíneos usan la información local (como similitud
con modelos paramétricos) en conjunto con métodos de seguimiento como el filtro de Kalman.
Éstos algoritmos han sido utilizados para la segmentación de vasos sanguíneos de retina en [75–77].

Delibasis et al. [74] usa un algoritmo de seguimiento (tracking) para la segmentación de vasos
sanguíneos, usando un modelo paramétrico de un vaso sanguíneo y una medida de similitud
entre una porción de la imagen y el modelo del vaso sanguíneo.

17
2.1.4. Morfología matemática

La morfología matemática provee un enfoque al procesamiento digital de imágenes basado


en las formas geométricas [78]. En el procesamiento de imágenes, los operadores morfológicos
aplican elementos estructurales a imágenes, típicamente binarias, pero también se han extendido a
imágenes en escala de gris. Las operaciones morfológicas principales son la erosión y dilatación
[49].

Zana et al. [63] emplea operaciones morfológicas y evaluación de la curvatura.

Mendonca et al. [64] aplica un filtro de derivada de gaussianas a la imagen de retina,


posteriormente se aplican cuatro operaciones morfológicas en diferentes escalas. La
segmentación se obtiene con un algoritmo de crecimiento de regiones (region growing).

Fraz et al. [65] aplica la derivada de un filtro gaussiano en cuatro orientaciones.


Posteriormente se usan operaciones morfológicas para el realce de los vasos sanguíneos.
Luego se obtiene la información de los 2 bits más significativos de cada pixel (bit plane
slicing). La segmentación se obtiene con un algoritmo de crecimiento de regiones (region
growing).

Miri et al. [66] utiliza la transformada curvelet y múltiples operaciones morfológicas.


La segmentación se obtiene con etiquetamiento de componentes conectadas(connected-
component labeling).

2.1.5. Enfoques multiescala

La idea detrás de la representación en múltiples escalas para la extracción de vasos sanguíneos


es separar la información relacionada con vasos sanguíneos que tengan diferentes anchos [49].

Martinez-Perez et al. [67] obtiene la convolución de la imagen con un filtro gaussiano


en diferentes escalas. Posteriormente se obtiene el gradiente y la curvatura (mediante la
matriz Hessiana), y se calcula el máximo sobre las escalas. Para la segmentación se usa
la información de gradiente y curvatura en un algoritmo de crecimiento de regiones (region
growing).

Anzalone et al. [68] utiliza el algoritmo CLAHE de ecualización adaptiva de histograma


como preprocesamiento. Luego se mide la curvatura mediante el Hessiano de la convolución
de la imagen con un filtro gaussiano. La segmentación se realiza mediante un umbral a la
imagen de curvatura. El ajuste de los parámetros de la escala del filtro gaussiano y el umbral
de segmentación se realiza mediante la optimización de algunas medidas de desempeño entre
las que se encuentran el máximo accuracy en el conjunto de entrenamiento.

Vlachos et al. [69] usa normalización local como preprocesamiento. Luego aplica
seguimiento (tracking) de vasos sanguíneos usando múltiples escalas, combinándolos en
un mapa de confidencia. La segmentación es realizada mediante un umbral obtenido con
cuantización. Se realiza postprocesamiento mediante operaciones morfológicas.

18
2.1.6. Enfoques basados en modelos

Los enfoques basados en modelos aplican modelos explícitos de los vasos sanguíneos para
realizar la segmentación [49].

Lam et al. [70] efectúa diversas medidas de concavidad que modelan las secciones
transversales de los vasos sanguíneos.

Espona et al. [71, 72] utilizan modelos de contorno activo (active contour models “snakes”)
en combinación con propiedades topológicas de los vasos sanguíneos para su segmentación.

Zhang et al. [73] utiliza proyecciones no lineales (nonlinear projections) para capturar las
características de los vasos sanguíneos. La segmentación se realiza utilizando un umbral
adaptivo.

2.1.7. Resumen de resultados previamente publicados

La tabla 2.1 muestra los resultados alcanzados por las publicaciones descritas anterioremente
en la base de datos DRIVE. Adicionalmente, se muestran los resultados obtenidos por el segundo
experto humano, que corresponde a una segunda segmentación manual realizada en el conjunto
de prueba de la base de datos DRIVE, efectuada por otro experto distinto del que realizó
la segmentación contra la que se miden los resultados. Esta segunda segmentación sirve de
comparación con la del primer experto.

19
Tabla 2.1: Medidas de desempeño calculadas en el conjunto de prueba de la base de datos DRIVE.

Autor(es) Sensitivity Specifity Accuracy AUC


Segundo experto 0.7760 0.9725 0.9473 -
Niemeijer et al. [53] 0.7145 - 0.9416 0.9294
Staal et al. [54] - - 0.9442 0.9520
Soares et al. [45] - - 0.9466 0.9614
Ricci y Perfetti [55] - - 0.9563 0.9558
Lupascu et al. [57] 0.7200 - 0.9597 0.9561
Xu y Luo [56] 0.7760 - 0.9328 -
Marin et al. [58] 0.7067 0.9801 0.9452 0.9588
Kande et al. [60] - - 0.8911 0.9518
Villalobos-Castaldi et al. [59] 0.9648 0.9480 0.9759 -
Chaudhuri et al. [62] - - 0.8773 0.7878
Al-Rawi et al. [61] - - 0.9535 0.9435
Zhang et al. [52] 0.7120 0.9724 0.9382 -
Delibasis et al. [74] 0.7288 0.9505 0.9311 -
Zana et al. [63] 0.6971 - 0.9377 0.8984
Mendonca et al. [64] 0.7344 0.9764 0.9452 -
Fraz et al. [65] 0.7152 0.9769 0.9430 -
Miri et al. [66] 0.7352 0.9795 0.9458 -
Martinez-Perez et al. [67] 0.7246 0.9655 0.9344 -
Anzalone et al. [68] - - 0.9419 -
Vlachos et al. [69] 0.7470 0.9550 0.9290 -
Lam et al. [70] - - 0.9472 0.9614
Espona et al. [72] 0.7436 0.9615 0.9352 -
Zhang et al. [73] - 0.9772 0.9610 -

Es posible que algunos de los resultados mostrados tengan errores en el cálculo de las medidas
de desempeño. Ésto es reportado en algunas publicaciones, específicamente para los resultados de
Ricci y Perfetti [26, 70] y Lupascu et al. [27].

20
Capítulo 3

Metodología

En esta sección se describe detalladamente la metodología propuesta.

La etapa de preprocesamiento aplicada comprende la obtención del canal verde de la imagen


original y luego el uso de una ecualización de histograma adaptiva con la finalidad de realzar el
contraste entre los pixeles de vasos sanguíneos y fondo. La optimización de los parámetros de la
ecualización de histograma se hace mediante la maximización de la distancia de Bhattacharyya
de los histogramas de las clases de vasos sanguíneos y fondo, posterior a la aplicación de la
ecualización.

En la etapa de extracción de características se utiliza un banco de filtros lineales, con la finalidad


de obtener una reducción de la dimensionalidad del problema, tal que las características sean
separables para cada clase, en pixeles de vasos sanguíneos y fondo. La formulación de los filtros
lineales utilizados corresponde a la suma de tres filtros Gabor 2D. La reducción de dimensionalidad
entrega una sola característica, correspondiente al máximo de las respuestas al banco de filtros en
cada pixel de la imagen.

Finalmente, la etapa de segmentación corresponde a la obtención de un umbral óptimo para la


clasificación en pixeles de vasos sanguíneos y fondo, aplicado a la característica del máximo de las
respuestas al banco de filtros. El valor del umbral óptimo es obtenido mediante la maximización
de la entropía de la matriz de co-ocurrencia. El sistema completo es entrenado ajustando los
parámetros de los filtros lineales utilizados, con algoritmos genéticos, usando como función
objetivo el accuracy promedio de las segmentaciones obtenidas en el conjunto de entrenamiento de
la base de datos DRIVE.

En la figura 3.1 se muestra un diagrama del sistema implementado, mostrando las etapas que son
efectuadas por el sistema durante la segmentación.

21
Figura 3.1: Diagrama de bloques de la ejecución del método propuesto.

3.1. Base de datos

Para el entrenamiento y prueba del método utilizado se usó la base de datos DRIVE [36].

DRIVE es una base de datos internacional, ampliamente utilizada en publicaciones de


segmentación de vasos sanguíneos de retina. Cuenta con el ground truth de expertos, lo que
posibilita la comparación con los resultados de otras publicaciones.

La base de datos DRIVE consiste en 40 imágenes del fondo de la retina, junto con segmentaciones
manuales de los vasos sanguíneos de la retina. Las imágenes fueron capturadas en forma digital,
con tamaño 768 × 584 pixeles, 8 bits por cada canal de color y muestran un área de la retina de
aproximadamente 540 pixeles de diámetro.

Las 40 imágenes están divididas en conjunto de entrenamiento y prueba, conteniendo 20


imágenes cada uno. Han sido segmentadas manualmente por tres observadores entrenados por un
oftalmólogo. Las imágenes en el conjunto de entrenamiento fueron segmentadas una vez, mientras
que las imágenes del conjunto de prueba fueron segmentados dos veces, resultando en los conjuntos
A y B. En el conjunto A 12.7 % de los pixeles fueron marcados como vasos sanguíneos, en
comparación a 12.3 % en el conjunto B. El desempeño de las pruebas es medido en el conjunto
A del conjunto de prueba como ground truth.

Las segmentaciones del conjunto B del conjunto de prueba son usados como un observador de
referencia para comparaciones de desempeño con el conjunto A. La base de datos cuenta con una

22
máscara de segmentación que delimita el área de interés con la finalidad de obtener un conteo de
los pixeles correctamente clasificados de forma confiable y reproducible.

En la figura 3.2 se muestra un ejemplo de imagen de fondo, junto con la máscara de segmentación
de la zona de interés y segmentación de vasos sanguíneos como ground truth correspondientes.

Figura 3.2: Imagen de fondo, máscara de segmentación de la zona de interés y ground truth de la
imagen 40 de la base de datos DRIVE.

3.2. Medidas estadísticas de clasificación

A continuación se describe la medida estadística utilizada en esta tesis como indicador de


desempeño del método de segmentación de vasos sanguíneos.

3.2.1. Accuracy

El accuracy es la medida de desempeño más utilizada por las publicaciones de segmentación


de vasos sanguíneos de retina [45, 52–70, 72–74]. El uso del accuracy permite una comparación
con los resultados de publicaciones del tema.
El accuracy está definido como la proporción de casos correctamente clasificados del total de
casos examinados [48].

N◦ de casos correctamente clasificados VP + VN


Accuracy = = . (3.1)

N de casos totales V P + V N + FP + FN

Donde {V P,V N, F P, F N } corresponden a verdaderos positivos, verdaderos negativos, falsos


positivos y falsos negativos respectivamente. En esta tesis los casos positivos son los pixeles que
corresponden a vasos sanguíneos en una imagen de retina y los casos negativos son los que no
corresponden a vasos sanguíneos.

23
3.3. Preprocesamiento

3.3.1. Selección del canal de color

En publicaciones de segmentación de vasos sanguíneos [45] se menciona que la mayor parte


de la información está contenida en el canal verde de la imagen de retina, mostrando un mayor
contraste entre pixeles de vasos sanguíneos y pixeles de fondo, como se muestra en la figura 3.3.

En este trabajo se utilizó la distancia de Bhattacharyya 3.3.1 entre los histogramas de pixeles de
vasos sanguíneos y fondo de cada canal de color (rojo, verde y azul) para la elección del canal de
color a utilizar en las siguientes etapas del método. Los resultados se muestran en la sección 4.1.

Figura 3.3: Imagen original del fondo de la retina y canales rojo, verde y azul de la imagen 40 de
la base de datos DRIVE.

Distancia Estadística

Distancia de Bhattacharyya La distancia de Bhattacharyya es una medida de tipo divergencia,


utilizada para medir el grado de disimilaridad entre dos distribuciones de probabilidad. La distancia
de Bhattacharyya ha sido usada como una medida de separabilidad entre dos clases para extracción
de características [34].

Definición Primero se define el coeficiente de Bhattacharyya, para dos distribuciones de


probabilidad p1 (x), p2 (x) [33].
Z p
ρ = Coeficiente de Bhattacharyya = p1 (x)p2 (x)dx (3.2)

ρ pertenece a [0, 1]. La medida de distancia de Bhattacharyya, se define como:

B = Distancia de Bhattacharyya = −ln ρ (3.3)

Por lo tanto B ∈ [0, ∞]. La distancia de Bhattacharyya no es rigurosamente una distancia, debido a
que se puede demostrar que no cumple la desigualdad triangular. Es interesante observar que para el
caso de distribuciones gaussianas con la misma matriz de covarianza, la distancia de Bhattacharyya

24
toma una forma similar a la distancia de Mahalanobis, tal como se muestra en 3.5. En el caso de
distribuciones gaussianas multivariantes, con pi (x) = N (mi , Σi ), se tiene:
1 1 detΣ Σ1 + Σ2
B(p1 , p2 ) = (m1 − m2 )T Σ−1 (m1 − m2 ) + ln( √ ) Con Σ = . (3.4)
8 2 detΣ1 · detΣ2 2

Considerando Σ1 = Σ2 = Σ:
1
B(p1 , p2 ) = (m1 − m2 )T Σ−1 (m1 − m2 ) (3.5)
8

3.3.2. Inversión de la imagen

Al igual que en otros trabajos de segmentación de vasos sanguíneos de retina [45, 55], se
invierte la imagen del canal elegido con la finalidad de que los vasos sanguíneos se muestren
con un nivel de intensidad mayor que el fondo, sin embargo esta operación es sólo para una
mejor apreciación sin ningún efecto en el rendimiento del sistema. La inversión consiste en una
transformación lineal, idéntica para la intensidad de cada pixel, como se muestra en la ecuación
3.6.

Iinvertida (x, y) = 255 − Ioriginal (x, y) (3.6)

3.3.3. Extensión del borde del área de interés

La extensión de los bordes de una imagen, previa a la convolución con un filtro 2D, es
ampliamente utilizada para evitar los efectos no deseados, como falsos bordes en una imagen.
La dificultad adicional de la aplicación de una extensión del borde en imágenes de retina se debe
a que el área de interés es circular, y que por lo tanto las técnicas usuales de extensión de borde
en imágenes rectangulares no son útiles. Debido a ésto se desarrolló una técnica que toma en
cuenta la geometría del problema. Éste paso previo también es realizado por otras publicaciones de
segmentación de vasos sanguíneos de retina [45].

El área de interés dentro de la imagen corresponde aproximadamente a un círculo. Existe el peligro


de generar comportamientos erróneos en los bordes del área de interés al aplicar la ecualización de
histograma adaptativo y la convolución con los filtros Gabor, ya que ambos métodos consideran
una ventana deslizante, que al encontrarse con el borde de la zona de interés, pueden tener
comportamiento no deseados. En el caso de la convolución con los filtros Gabor es posible que
se generen falsos positivos (falsa detección de vasos) en dicho borde. Para evitar estos problemas,
se extiende el borde de forma artificial, de forma de generar un fondo uniforme.

Generación de la máscara de segmentación del área de interés

Como paso previo a la extensión del borde del área de interés, es necesario obtener una máscara
que delimite la zona de interés. La máscara original incluida en la base de datos no es utilizada

25
debido a errores en los bordes marcados que se muestran en 3.5a,y que generan defectos en la
etapa siguiente, como se muestra en la figura 3.7a.

Para esto se obtiene el histograma normalizado de la imagen, aplicando un umbral obtenido donde
la distribución acumulada del histograma alcanza el 70 %. La elección del valor de umbral del
histograma se obtuvo experimentalmente en el conjunto de entrenamiento. Esto se ilustra en la
figura 3.4, con ambas curvas normalizadas para una mejor visualización.

Luego de aplicar el umbral, se aplican operaciones morfológicas de apertura y cierre con un


elemento estructural cuadrado de 3 × 3 pixeles.

El resultado obtenido se muestra en la figura 3.5b.

Figura 3.4: Histograma normalizado del canal verde y su distribución acumulada.

26
(a) Errores en máscara original. (b) Máscara generada.

Figura 3.5: Máscara de segmentación del área de interés de la imagen 40 de la base de datos DRIVE.

27
Descripción del método de extensión de borde

Primero se genera la máscara de segmentación de la zona de interés.

Se obtiene el centro de masa de los pixeles de la zona de interés obtenida con la máscara
generada, como una aproximación del centro del círculo que corresponde a la zona de interés.

Se transforma el problema a coordenadas polares de forma que ρ es la distancia del centro


del círculo al pixel actual y θ es el ángulo correspondiente al pixel actual.

Para cada valor de θ en [0, 2π], ρ se incrementa comenzando desde el radio del círculo hasta
un punto en el borde de la imagen, copiando el valor del pixel anterior al siguiente. De
esta forma se consigue la extensión del último pixel dentro del área de interés, copiándolo
repetidamente hacia fuera del círculo. El resultado de ésto se muestra en la figura 3.6.

En el caso de que queden orificios en la extensión de borde, se rellenan con el valor promedio
de los 8 pixeles vecinos más cercanos. Finalmente, el resultado del extensión de borde se
muestra en 3.7b.

Figura 3.6: Borde extendido incompleto.

28
(a) Usando máscara original. (b) Usando máscara generada.

Figura 3.7: Resultado de la extension de borde.

3.3.4. Ecualización de histograma adaptativa

La imagen del fondo de la retina original, al igual que el canal verde de ésta, presentan
iluminación no uniforme espacialmente como se observa en 3.7b. Ésto se refleja en una baja
separabilidad de las clases de vasos sanguíneos y fondo a nivel de pixel, tal como se aprecia en
el histograma del canal verde, en la imagen 3.8.

29
Figura 3.8: Histogramas de vasos sanguíneos y fondo del canal verde de la imagen.

Con el fin de mejorar el contraste entre los pixeles del fondo de la imagen y de los
vasos sanguíneos y de esa forma aumentar la separabilidad entre sus clases en el espacio de
características, se efectúa la ecualización de histograma adaptativa.

Algoritmo de ecualización de histograma adaptativa

Ecualización de histograma La idea de la ecualización de histograma original es asignar un


rango más amplio de niveles de gris a los valores de gris más frecuentes de una imagen, induciendo
a que el histograma de la imagen resultante sea más uniforme que el original. La ecualización de
histograma mapea los valores de gris de la imagen de entrada de forma que el histograma de la
imagen de salida se aproxime al de la distribución uniforme, resultando en una mejora subjetiva de
la calidad de la imagen. Sin embargo, la ecualización de histograma tiene resultados pobres cuando
la imagen tiene una iluminación no uniforme espacialmente.

AHE La ecualización de histograma adaptativa corresponde a una mejora de contraste local en


la imagen. Para lograr esto, la imagen es dividida en una grilla de regiones rectangulares donde se
realiza ecualización de histograma. La cantidad óptima de regiones usadas dependen de la imagen
utilizada y su determinación requiere experimentación.

Para cada región de la imagen, se calcula el histograma de los pixeles contenidos en ella, obteniendo
la transformación de los niveles de gris en esa región. Para evitar la discontinuidad de los bordes de
cada región se utiliza una interpolación bilineal, eliminando los bordes inducidos artificialmente.
Sin embargo, el algoritmo AHE tiene el problema de amplificar visiblemente el ruido local de las

30
regiones de la imagen cuando se aplica a regiones uniformes en cuanto a intensidad (y que por lo
tanto tienen un gran peak en el histograma).

CLAHE El algoritmo de ecualización de histograma adaptativa con contraste limitado (CLAHE


por sus siglas en inglés), es una técnica de mejora de contraste en imágenes que supera
las limitaciones de la ecualización de histograma estándar, con respecto a los problemas por
iluminación no uniforme y supera el problema de la amplificación de ruido en zonas uniformes
del algoritmo AHE. Al igual que el algoritmo AHE, la imagen es dividida en una grilla de regiones
rectangulares donde se aplica la ecualización de histograma. Fue originalmente desarrollada para
el procesamiento de imágenes médicas [32]. El problema del ruido asociado al algoritmo AHE es
reducido limitando el realce de contraste en áreas homogéneas.

Éstas áreas son caracterizadas por tener un gran peak en el histograma asociado, ya que muchos
pixeles de esa región caen en un mismo rango de niveles de gris. En el algoritmo CLAHE, el
histograma es limitado con un umbral fijo, definido como un factor del promedio del histograma.
Luego de recortar el histograma, los pixeles que fueron recortados son redistribuidos sobre el
resto del histograma, para mantener la suma del histograma igual al original. Por lo tanto, el
algoritmo CLAHE posee dos parámetros que corresponden al tamaño de la grilla en que se realiza
la ecualización de histograma y el límite de recorte del histograma.

En la figura 3.9 se ilustran las etapas del algoritmo CLAHE. En la figura 3.9a se ilustra el histograma
de la imagen original, en la figura 3.9b se muestra el límite de recorte del histograma como una
línea negra horizontal, en la figura 3.9c se muestra el recorte del histograma efectuado y en la figura
3.9d se muestra la redistribución de la porción del histograma recortado en el resto del histograma.

(a) Histograma imagen(b) Límite de recorte del (c) Histograma recortado. (d) Redistribución del
original. histograma. histograma.

Figura 3.9: Etapas del algoritmo CLAHE.

Elección de parámetros de la ecualización de histograma adaptiva

La elección de los parámetros del algoritmo CLAHE se realizó maximizando el promedio


de la separabilidad mediante la distancia de Bhattacharyya (descrita en 3.3.1). En la práctica,
se maximiza la distancia de Bhattacharyya promedio en el conjunto de entrenamiento entre los
histogramas normalizados de los pixeles de vasos sanguíneos y los pixeles de fondo, obtenidos del
conjunto de entrenamiento de la base de datos DRIVE.

31
En la ecuación 3.7 se expresa el ajuste de parámetros donde hVi |θ es el histograma normalizado de
los pixeles correspondientes a vasos sanguíneos de la imagen i del conjunto de entrenamiento, hiF |θ
es el histograma normalizado de los pixeles de fondo de la imagen i del conjunto de entrenamiento,
y θ = [Grilla, Límite] corresponde a los parámetros de tamaño de grilla y el límite de recorte de los
histogramas.

N
 1 X 
θ = arg max  d B (hVi |θ , hiF |θ ) 
 
 (3.7)
θ N 
 i=1 

Para generar los valores de los parámetros evaluados, se utilizó una matriz de valores con el
límite de recorte del histograma con valores desde 0.01 hasta 1 en intervalos de 0.01 y las divisiones
de la grilla desde 2 hasta 50 en intervalos de 1.

3.4. Extracción de características

Para la extracción de características de la imagen de fondo de retina, en la cual se desean


segmentar los vasos sanguíneos, se utilizan filtros lineales basados en los filtros Gabor, descritos en
3.4.1.
En este trabajo se utiliza una ventana de 21 × 21 pixeles en la etapa de extracción de características.

3.4.1. Filtros Gabor

Los filtros Gabor han sido usados exitosamente en muchas aplicaciones de procesamiento
de imágenes, como segmentación de texturas, análisis de documentos, detección de bordes,
identificacion en base a retina, procesamiento de huellas dactilares, codificación de imágenes y
representación de imágenes [37, 89–91]. Los filtros Gabor corresponden a filtros pasabanda. Una
ventaja de estos filtros es que proveen resolucion óptima en el dominio espacial y en el frecuencial
de la imagen, ya que alzanzan el límite inferior del producto del ancho de banda y de ancho temporal
de una señal finita, llamado principio de incerteza informacional 3.8.
π
∆t · ∆ f ≥ (3.8)
4

Filtros Gabor 2D La extensión a dos dimensiones de los filtros Gabor tiene similitudes a los
campos receptivos de la corteza visual (Áreas V1 y V2) en el cerebro de mamíferos [38]. En el
dominio espacial corresponden a una función gaussiana modulada por una función exponencial
compleja. A continuación se muestra su definición en forma compleja y la parte real.

Definición
x 02 + γ 2 y02 2πx 0
! !!
g(x, y) = exp − · exp i +φ (3.9)
2σ 2 λ

32
x 02 + γ 2 y02 2πx 0
! !
g(x, y) = exp − · cos +φ (3.10)
2σ 2 λ
La rotación de las coordenadas está dada por las siguientes ecuaciones.

x 0 = x cos θ + y sin θ
y0 = −x sin θ + y cos θ

Para analizar la respuesta en frecuencia se utiliza la siguiente expresión, equivalente a la ecuación


3.9, para el filtro Gabor.

x2 + y2
!
1
g(x, y) = exp − · exp (−i2π(U x + V y)) (3.11)
2πσg2 2σg

La transformada de Fourier 2D de g(x, y) es:


 
H (u, v) = exp[−2π 2 σg2 (u − U) 2 + (v − V ) 2 ] (3.12)

De las ecuaciones 3.11 y 3.12 se puede ver que el filtro Gabor es un filtro pasabanda, centrado en
la frecuencia (U,V ) con un ancho de banda determinado por σg .
La respuesta al filtro Gabor I2 (x, y), consiste en la convolución en 2 dimensiones de una imagen de
entrada I (x, y) con el filtro gabor g(x, y). x, y representan las coordenadas espaciales de la imagen.

X ∞
X
I2 (x, y) = g(x, y) ∗ I (x, y) = g(τ1 , τ2 ) · I (x − τ1 , y − τ2 ) (3.13)
τ1 =−∞ τ2 =−∞

3.4.2. Filtros utilizados

Con la intención de crear filtros lineales que se ajusten de mejor forma al problema en
particular de segmentación de vasos sanguíneos, se propone usar filtros correspondientes a la suma
de 3 filtros Gabor, obteniendo más grados de libertad para ajustar al problema.

En [88] se concluye que los filtros obtenidos mediante ICA (Análisis de Componentes
Independientes) en imágenes naturales centradas (cuya intensidad promedio está concentrada en
el centro de la imagen), se pueden expresar como la suma de 2 filtros Gabor. Ésto muestra
la posibilidad de que para algunos tipos de imágenes, sea más apropiada la extracción de
características mediantes filtros lineales distintos a los filtros Gabor.
La expresión de los filtros propuestos, se muestra en la ecuación 3.14, donde g1,2,3 (x, y) corresponde
a un filtro Gabor, definido por la ecuación 3.10. Para cada gi (x, y), además de los parámetros del
filtro Gabor, se agrega un parámetro adicional θ 0 , tal que el nuevo valor de θ se obtiene como
muestra la ecuación 3.15. Esto se hace con el objetivo de obtener sumas de combinaciones de
filtros en diferentes rotaciones entre sí.

g(x, y) = g1 (x, y) + g2 (x, y) + g3 (x, y) (3.14)

θ0 = θ + θ0 (3.15)

33
En la imagen 3.11 se muestran ejemplo de la suma de filtros Gabor donde los parámetros
fueron elegidos de forma arbitraria, donde se aprecia que la suma de filtros Gabor posee una mayor
variedad de formas con respecto a los filtros Gabor originales 3.10.

Figura 3.10: Ejemplos de Filtros Gabor.

Figura 3.11: Ejemplos de filtros generados como suma de 3 filtros Gabor.

3.4.3. Aplicación de filtros

La convolución con un filtro 2D es equivalente a la correlación del mismo filtro rotado en 180◦
[47], y como los filtros utilizados son simétricos ante una rotación de 180 grados, la convolución
con dichos filtros es equivalente a la correlación.

La correlación entre dos vectores es a una medida de similitud entre ellos [46], por lo que
convolucionar la imagen original con el banco de filtros generado corresponde a una medida de
similitud entre una ventana alrededor de un pixel y cada uno de los filtros del banco.

34
En base a esta idea, se justifica agregar al banco de filtros las rotaciones en θ de los filtros generados,
para evaluar la similitud con el banco de filtros de forma invariante a la rotación. Siguiendo la
misma idea, se obtiene el máximo de las respuestas al banco de filtros, para evaluar la mayor
similitud en cada pixel con el vaso sanguíneo representado por algún filtro del banco de filtros.

La aplicación de filtros en rotaciones en distintos ángulos y la obtención de la máxima respuesta es


efectuada en otros trabajos [45, 86, 87].

Rotación angular

Para lograr invariancia a la rotación en el resultado de la aplicación de los filtros, al banco de


filtros se agregan las rotaciones en 10 ángulos equiespaciados entre 0 y 180 grados, o sea:
θ = {0, 20, 40, 60, 80, 100, 120, 140, 160, 180} grados. (3.16)

Obtención del máximo

El banco de filtros utilizado corresponde a 4 filtros con 10 rotaciones por cada uno. Por lo
tanto, el banco de filtros completo incluye 40 filtros. En la aplicación de los filtros, se obtiene la
respuesta a cada uno de los 40 filtros y luego se obtiene, para cada pixel de la imagen original, la
máxima respuesta correspondiente a ese mismo pixel en todas las respuestas a los filtros, tal como
se expresa en la ecuación 3.17.
gk (x, y) denota al k-ésimo filtro del banco de filtros, I (x, y) a la imagen resultante de la aplicación
del algoritmo CLAHE y G(x, y) es el resultado de la aplicación del banco de filtros.

G(x, y) = máx {I (x, y) ∗ gk (x, y)} (3.17)


k

Como se mencionó previamente, al considerar la convolución como una medida de similitud


entre porciones de la imagen y los filtros del banco de filtros, se justifica obtener el máximo entre
esas similitudes en cada posición espacial de la imagen.
De ésta forma, G(x, y) representa la similitud a algún vaso sanguíneo, para cada pixel de la imagen.

3.4.4. Optimización de parámetros de los filtros utilizados

Para la optimización de los parámetros de los filtros utilizados se usaron algoritmos


genéticos. La función objetivo del algoritmo genético corresponde al accuracy promedio de las
segmentaciones realizadas en el conjunto de entrenamiento de la base de datos. En la sección 3.4.5
se presenta su definición, características y funcionamiento.

3.4.5. Algoritmos Genéticos

Los algoritmos genéticos son métodos iterativos de optimización estocástica, basados en la


teoría de selección natural de Darwin. Combinan una función objetivo aplicada a una cadena de

35
símbolos con un intercambio de información aleatorio, ocupando información histórica. Han sido
ocupados exitosamente en muchas tareas de optimización [92–95].

Diferencias con otros métodos de optimización. Los algoritmos genéticos son diferentes de
otros métodos de optimización en 4 formas:

1. Los AG funcionan con una codificación del conjunto de parámetros, no los parámetros en sí.

2. Los AG usan una población de soluciones candidatas, no sólo una.

3. Los AG usan una función objetivo sin necesitar su gradiente.

4. Los AG usan reglas de transición probabilísticas, no determinísticas.

Definición

Se asume que existe un espacio de búsqueda discreto χ y una función f : χ 7→ R.


Y un problema asociado:
máx f (3.18)
x∈ χ

Donde x es un vector de variables de decisión y f es la función objetivo o fitness. Se asume


un problema de maximización, sin embargo si el problema es de minimización, el tratamiento
es análogo. Con el uso de AG, se separa la representación del problema de las variables en las
cuales está formulado el problema, separándose el genotipo (la codificación de las variables o
cromosomas), del fenotipo (las variables en sí). Así, el vector x es representado por una cadena de
símbolos s ∈ Al donde l es el largo de la codificación, usando el mapeo:

c : Al 7→ χ (3.19)

Por lo tanto, la búsqueda de soluciones realizada por el algoritmo genético se realiza en un


subespacio de soluciones factibles S ⊆ Al , de forma que el problema a resolver se transforma
en:

máxg(s)
s∈S
g(s) = f (c(s))

Las codificaciones del conjunto de parámetros son llamadas cromosomas.

Descripción del funcionamiento.

Un algoritmo genético simula el proceso de evolución biológica en una población de


individuos. Se utiliza una población inicial de soluciones candidatas para el problema de
optimización y se generan nuevos individuos a partir de operadores genéticos aplicados a los
individuos originales. En cada generación sobreviven con mayor probabilidad aquellos individuos
que presenten soluciones con mayor fitness (valor de la función objetivo), por lo que la población

36
tiende a evolucionar maximizando la función objetivo. Sin embargo, el método no garantiza la
convergencia a un máximo global.

Los algoritmos genéticos presentan una etapa de inicialización de la población que suele ser según
una distribución aleatoria y una etapa iterativa, donde se aplican los operadores genéticos (mutación
y crossover principalmente) a la población hasta el cumplimiento de un criterio de término del
algoritmo genético [41]. En la figura 3.12 se muestra un diagrama del funcionamiento de los
algoritmos genéticos, obtenido de [43].

Figura 3.12: Diagrama del funcionamiento de los algoritmos genéticos. Obtenido de [43].

La forma original de los algoritmos genéticos [40], usaba codificación binaria para una
mayor facilidad en su tratamiento teórico, sin embargo se han presentado algoritmos genéticos
en codificación entera y real.
En el caso de esta tesis, se utilizó la codificación real, donde cada elemento del cromosoma del
individuo pertenece al intervalo [0, 1] ⊂ R.
En el algoritmo 1 se describe el algoritmo genético estándar.

37
Algoritmo 1 Algoritmo genético estándar
Entrada: k = 0. Inicializar población P(0).
Evaluar población P(0).
Mientras no se cumpla condición de término hacer
k = k + 1.
Seleccionar población P0 (k) a partir de P(k − 1).
Crear población P(k) a partir de P0 (k), usando operadores genéticos.
Evaluar población P(k).
Fin Mientras
Devolver mejor solución en P(k).

Población inicial

Con respecto al tamaño de la población, en [39] se menciona que una población de O(log l)
debería ser suficiente para cubrir el espacio de búsqueda, asumiendo una distribución uniforme de
la población, donde l corresponde al largo de la codificación de los individuos.

Con respecto a como se elige la población inicial, ésta suele ser de forma aleatoria con distribución
uniforme. Debido a la dificultad de cubrir el espacio de búsqueda de forma uniforme, en ocasiones
es útil con métodos más sofisticados, tal como considerar las permutaciones de los símbolos del
alfabeto para cada componente del cromosoma en la población.

Otra posibilidad es agregar a la población inicial soluciones buenas conocidas. Se ha mencionado


que incluir buenas soluciones, puede ayudar a un algoritmo genético a encontrar mejor soluciones
de forma más rápida que desde un comienzo aleatorio. Sin embargo, también existe la posibilidad
de inducir una convergencia prematura [39].

Operadores Genéticos

Los operadores más ocupados por los algoritmos genéticos corresponden a tres: selección,
crossover y mutación.

Selección

Operador que selecciona los cromosomas para la reproducción de la población. El objetivo de


este operador es elegir la porción de la población con mejor calidad. Los cromosomas con mayor
valor de la función objetivo, tienen más probabilidades de ser seleccionados para la reproducción.
El operador de selección puede actualizar toda la población de individuos o sólo una parte de ésta.
Debido a la naturaleza estocástica de los algoritmos genéticos, es útil asegurar la supervivencia del
mejor individuo. Esta estrategia es denominada elitismo. A continuación se describen los métodos
de selección más usados.

38
Selección por torneo Se crea la siguiente generación realizando un torneo para asignar cada
descendiente. En cada torneo, se seleccionan k individuos al azar, compara sus fitness y el ganador
pasa a la siguiente generación. El valor de k suele estar entre 2 y 5, para no imponer una presión
selectiva muy alta. Si los individuos seleccionados se retiran de la población original, se garantiza
que el individuo con mejor fitness va a ser elegido.

Selección proporcional o por ruleta Se asigna la probabilidad de supervivencia de un individuo


de acuerdo a su fitness normalizado por el de la población.
fitness(Ii )
Psupervivencia (Ii ) = P N (3.20)
j=1 fitness(I j )

A cada individuo se le asigna una porción del intervalo [0, 1] de acuerdo a su probabilidad de
supervivencia Psupervivencia , y un individuo es seleccionado si un número aleatorio cae en su porción
del intervalo. Esto es como lanzar N veces una ruleta, eligiendo al individuo en el que cae la ruleta,
para la siguiente generación.
Un problema es que si pocos individuos tienen el mayor fitness es posible que la población converja
tempranamente y si el fitness es uniforme en la población, la selección sería muy azarosa.

Selección por ranking Es una variante de la selección proporcional, donde la probabilidad de


supervivencia se asigna dependiendo de su ranking de fitness. El ranking es obtenido ordenando
los individuos de acuerdo a su fitness. La elección de la función que asigna la probabilidad de
supervivencia determina el comportamiento del operador.

Selección por ranking lineal Se asigna la probabilidad de supervivencia de forma lineal con
respecto al ranking del individuo. Se define el número esperado de copias de un individuo como:
x−1
α(x) = η + − (η + − η − ) (3.21)
N −1
Donde x = 1 identifica al mejor individuo de la población y x = N al peor, η + ∈ [1, 2], η − = 2 − η + ,
η + es el máximo número de copias asignado al mejor individuo y η − es el mínimo número de copias
asignado al peor.
La probabilidad de supervivencia está definida como:
α(x)
Psupervivencia (x) = (3.22)
N

Selección por ranking no lineal En este caso, se asigna la probabilidad de supervivencia


de forma no lineal con respecto al ranking del individuo. A continuación se describen las
distribuciones geométrica y exponencial.

Distribución geométrica. α corresponde a la probabilidad de supervivencia del mejor


individuo.
Psupervivencia = α(1 − α) x−1 (3.23)

39
Distribución exponencial.
1 − e−(N−x)
Psupervivencia = (3.24)
c
Donde c es una constante de normalización.

Selección estocástica universal Es una variación es la selección proporcional. Consiste en que


en lugar de lanzar una ruleta N veces, se lanza una sola ruleta de N indices equiespaciados con los
que se elige a los individuos.

Primero se asignan porciones del intervalo [0, 1] proporcionalmente al fitness de los individuos,
del mejor al peor. Luego se elige un número al azar en [0, N1 ] que corresponde al primer individuo
elegido y el resto de los individuos se eligen en posiciones equiespaciadas en N1 . N corresponde a
la cantidad de individuos a seleccionar del total de la población.

Éste método garantiza que todos los individuos con probilidad de supervivencia mayor a N1 son
seleccionados al menos una vez y a lo más dN · Psupervivencia e [44]. En la figura 3.13, basada
en [44], se muestra un esquema del método.

Figura 3.13: Selección estocástica universal. Basada en [44].

Elitismo

El operador de elitismo es usado para guardar las mejores soluciones de la generación [83], o
sea mantener las soluciones con mayores valores de la función objetivo en la generación siguiente.
Sin el elitismo, los mejores resultados pueden ser perdidos durante las operaciones de selección,
crossover y mutación [82]. El elitismo sacrifica diversidad genética por una mayor velocidad
de convergencia del algoritmo genético, lo que podría llevar a una convergencia prematura a un
mínimo local [84].

40
Crossover

Esta operación selecciona aleatoriamente uno o más puntos donde realizar un cruce entre
los dos cromosomas padre, para generar nuevos cromosomas hijos. Su finalidad es combinar
los cromosomas de los padres para cubrir una mayor extensión en el espacio de búsqueda de
soluciones.

En el caso del crossover de 1 punto, se eligen un punto de corte al azar en el cromosoma de


los padres. El primer hijo toma la porción de cromosoma del padre 1 desde el comienzo al punto
de corte y del padre 2 desde el punto de corte hasta el final. El segundo hijo toma las porciones
complementarias al del primer hijo. En la figura 3.14 se ilustra el proceso de crossover de un punto
y en la figura 3.15 se ilustra el crossover de 2 puntos.

En el caso del crossover de n hijos, se tienen n puntos de corte. El primer hijo toma porciones
no contiguas del cromosoma del padre 1, separadas por los puntos de corte y el resto del padre 2.
El hijo 2 se toma como las partes complementarias a las del hijo 1.

Figura 3.14: Operador de crossover de un punto con codificación binaria. Las líneas verticales
azules representan los puntos de corte.

Figura 3.15: Operador de crossover de dos puntos. Las líneas verticales azules representan los
puntos de corte.

Mutación

Éste operador cambia de forma aleatoria un valor en el cromosoma para explorar el espacio
de soluciones, con la esperanza de evitar la convergencia a un óptimo local. Para el caso de
codificación binaria, se realiza mediante el cambio en un bit del cromosoma con una probabilidad
p fijada previamente en un valor bajo con el objetivo de no alterar las soluciones en forma drástica.
En el caso de codificación en variable real, una forma de aplicar la mutación es sumar un vector
real generado al azar M = (m1 , ..., mn ) a la solución original:

x0 = x + M (3.25)

41
Criterios de término El algoritmo genético podría iterar indefinidamente, buscando mejores
soluciones al problema de optimización, sin embargo para obtener soluciones en un tiempo
razonable se utilizan criterios de término de las iteraciones. Los criterios de término pueden ser
un número máximo de iteraciones, una cantidad máxima de iteraciones sin mejora en la función
objetivo o el alcance de un valor umbral de la función objetivo (por ejemplo un valor cero en un
problema de minimización de una función objetivo de error).

Fundamentos del funcionamiento

Hay varias escuelas de pensamiento sobre cómo y por qué funcionan los algoritmos genéticos,
a continuación se presentan los principales conceptos.

La visión tradicional La explicación hecha por Holland [40], de por qué es más ventajoso usar
el espacio de las codificaciones Al en vez de χ, se basa en tres ideas. Como concepto central está la
idea de schema, que corresponde a un subespacio de Al , donde todas las codificaciones comparten
valores en común. Por ejemplo 1 ∗ ∗1 representa a todos los valores en {0, 1}4 en que el primer y
último elemento son 1, o sea {1001, 1011, 1101, 1111}.

La primera idea de Holland es paralelismo implícito. Se cree que dependiendo de las características
del problema, una población de tamaño M contiene información de O(M 3 ).

El segundo concepto muestra que si hay N (s,t) instancias de un schema S en la población en


el tiempo t, el número esperado de instancias en la población en el instante siguiente, se puede
acotar por:
F (S,t)
E[N (S,t + 1)] ≥ N (S,t)(1 −  (S,t)) (3.26)
F̄ (t)
Donde F (S,t) es el fitness del schema S, F̄ (t) es el fitness promedio de la población, y  (S,t)
es un término que refleja el potencial de los operadores genéticos de destruir las instancias de S.
Esto quiere decir que a corto plazo, los códigos con mayor fitness, tendrán mayor presencia en la
población y serán más resistentes a la destrucción por los operadores genéticos.

La tercera idea es el supuesto de que la recombinación de pequeñas porciones de código en


porciones más grandes es una estrategia útil para encontrar buenas soluciones, llamada la hipótesis
de bloques de construcción. El no cumplimiento de ésta hipótesis es usada como explicación del
por qué un algoritmo genético falla en un problema en particular.

Consideraciones Existen muchas variantes de operadores genéticos y parámetros, que al no tener


un fundamento teórico fuerte, no se puede saber cuál es mejor para cada problema en particular.

Aún más, el Teorema No-Free-Lunch [42] indica que considerando todos los problemas posibles,
ningún algoritmo de búsqueda es mejor que la búsqueda aleatoria. Esto significa que se debe tener
en cuenta el problema de búsqueda en particular, para adaptar un método de búsqueda.
El operador genético de crossover funciona como un método de búsqueda en el espacio
de soluciones, con la hipótesis implícita de que la codificación está formada por bloques de

42
construcción. Con respecto a esto, en este trabajo, la codificación de los filtros utilizados está
compuesta de 4 bloques donde cada uno corresponde a un filtro en la etapa de evaluación. A su vez
cada filtro está compuesto por 3 filtros Gabor, lo que se refleja en la estructura de los cromosomas
que representan a los filtros.

Función objetivo

La función objetivo que es optimizada por el algoritmo genético corresponde al promedio


del accuracy obtenido en el conjunto de entrenamiento. El accuracy es calculado comparando la
segmentación realizada por el sistema de construido y la segmentación manual (ground truth) de la
imagen correspondiente. Más detalles del accuracy se encuentran en 3.2.1. El accuracy es elegido
debido a que es utilizado en la mayoría de publicaciones sobre segmentación de vasos sanguíneos
de retina (ver tabla 2.1).

Codificación

La población tiene una codificación real, dentro del intervalo [0, 1]. El mapeo al intervalo de
los valores verdaderos de los parámetros utilizados se hace multiplicando el valor codificado por
un factor constante para cada parámetro. En la tabla 3.1 se muestran los factores de conversión
utilizados y los parámetros correspondientes.

Se codifican en total 60 parámetros. Para cada uno de los 4 filtros usados, se codifican 3 filtros
Gabor con 5 parámetros cada uno. En la figura 3.16 se ilustra la estructura de la codificación
resultante.

Tabla 3.1: Tabla de factores asociados a la conversión de parámetros.

Variable Factor
λ 100
φ 2π
σ 5
γ 5
θ0 2π

43
Figura 3.16: Ilustración de la estructura de la codificación del individuo.

Inicialización de la población

La generación de la población inicial se realiza mediante un proceso aleatorio de distribución


uniforme en el intervalo [0, 1], para cada uno de los 60 parámetros de cada individuo. El tamaño de
la población inicial fue elegido en 400.

Implementación de operadores

Previamente a la selección de los individuos para la actualización de la población, se evalúa


a cada uno mediante el promedio del accuracy de las segmentaciones realizadas en el conjunto de
entrenamiento. Posteriormente se efectúan los operadores genéticos de crossover y mutación que
generan la nueva población.

Selección

Previamente a la selección se efectúa elitismo (3.4.5), manteniendo una porción del 10 % mejor
de la población total sin modificaciones.
El operador de selección utilizado es selección estocástica universal (3.4.5). Se obtiene una
proporción del 90 % de la población inicial con éste operador, que corresponden a los padres de la
nueva población, completando así el tamaño de la población inicial. La generación de los individuos
de la nueva población se realiza mediante los operadores de crossover y mutación.

44
Crossover

Se utiliza un crossover de 2 puntos, descrito a continuación.

Se eligen dos individuos padres desde la población posterior al operador de selección,


obteniendo consecutivamente los dos individuos con mejor fitness dentro del conjunto
obtenido con el operador de selección.

Se eligen dos puntos de corte donde cada uno se elige como una distribución uniforme en el
intervalo [1, L] donde L es el tamaño de la codificación.

Las porciones de las codificaciones de los individuos padre delimitadas por los puntos de
corte, son repartidos entre los individuos hijos. Ésto se ilustra en la imagen 3.15.

Mutación

Para cada parámetro en la codificación del individuo, existe una probabilidad PM = 0.05 de
sufrir mutación. La mutación consiste en el reemplazo del valor del parámetro por un valor aleatorio
de una distribución uniforme en el intervalo [0, 1].

Criterios de término

La condición de término del algoritmo genético es elegida para que su ejecución termine luego
de una cantidad de generaciones en que no se presente un aumento de accuracy en el conjunto de
entrenamiento.

3.5. Segmentación

Previo a la segmentación, se utiliza la máscara generada en la etapa de preprocesamiento


(3.3.3) para descartar la zona de la imagen fuera del área de interés. El resultado de ésta operación
se muestra en la figura 3.17b.

45
(a) Antes de la extracción del área de interés. (b) Después de la extracción del área de interés.

Figura 3.17: Efecto de la segmentación del área de interés.

Para realizar la segmentación de la imagen obtenida luego de la aplicación del banco de filtros,
se aplica un umbral en la intensidad de cada pixel de la imagen. Éste umbral es obtenido mediante
la maximización de la entropía de la matriz de co-ocurrencia, método que es descrito en 3.5.2.

3.5.1. Entropía

En el contexto de la Teoría de la Información, la entropía es una medida de la incertidumbre


asociada a una variable aleatoria o a la información que ésta contiene.

Definición Sea X una variable aleatoria discreta con distribución discreta de probabilidad P(X ).
x i son los posibles valores del alfabeto de X y P(x i ) su probabilidad. Shannon [96] definió la
entropía de X como:
X
H (X ) = E[−logb (P(X ))] = P(x i )logb (P(x i )) (3.27)
i

Donde b corresponde a la base del logaritmo utilizado. Valores comunes para b son 2, e y 10, dando
lugar a las unidades de bit, nat y hartley para la entropía.

3.5.2. Segmentación por umbralización usando entropía

La idea principal del método de segmentación por umbralización usando entropía es obtener
el histograma de la imagen a segmentar, considerándolo como una distribución de probabilidad,
y luego obtener un umbral que maximice la entropía, manteniendo la mayor cantidad posible de

46
información de la imagen original. Sin embargo, esta idea no toma en cuenta la correlación espacial
de los pixeles de la imagen. Uno de los métodos para solucionar esto consiste en obtener la matriz de
co-ocurrencia, como una forma de capturar las transiciones entre pixeles vecinos en un histograma
2D. Teniendo la matriz de co-ocurrencia, se obtiene el umbral que maximice la entropía. Éste
método ha sido utilizado en publicaciones de segmentación de imágenes [29–31].

Matriz de co-ocurrencia de escala de grises

Se tiene una imagen de tamaño M × N con L niveles de gris denotados por G = 0, 1, ..., L − 1.
Sea f (x, y) el nivel de gris de la imagen en el pixel (x, y). La matriz de co-ocurrencia de una imagen
es una matriz de tamaño L × L, denotada por W , cuyos elementos están dados por la cantidad de
transiciones entre pares de niveles de gris en G, entre pixeles vecinos. Se ha mostrado que no hay
una gran diferencia entre la cantidad de pixeles vecinos considerados [29], por lo que se toma en
cuenta sólo un pixel vecino. De esta forma la matriz de co-ocurrencia está definida por:
M X
X N
Wi j = δ mn (3.28)
m=1 n=1

con:
 1 si f (m, n) = i y f (m, n + 1) = j

δ mn = 
 0 en caso contrario. (3.29)

La probabilidad de transiciones entre niveles de gris está dado por:
Wi j
pi j = P L−1 P L−1 (3.30)
k=0 l=0 W kl

Cuadrantes de la matriz de co-ocurrencia

Sea t el umbral de segmentación de la imagen. Éste particiona la matriz de co-ocurrencia en


las zonas A, B, C y D, que se muestran en 3.18. Asumiendo que los pixeles con niveles de gris igual
o sobre el umbral t se les asigna el frente (correspondiente a los vasos sanguíneos en esta tesis),
y los de valores de gris bajo el nivel de umbral son asignados al fondo. Entonces los cuadrantes
A y C corresponden a transiciones de pixeles dentro de cada clase, ya sea fondo o frente. Y los
cuadrantes B y D corresponden a transiciones entre valores de gris de clases distintas (bordes de la
segmentación).
Las probabilidades de transición de niveles de gris se obtienen normalizando los valores de la
matriz de co-ocurrencia en cada zona.

pi j t pi j pi j pi j
pit j A = t , pi j B = t , pit jC = t , pit j D = t (3.31)
PA PB PC PD
con:
t X
X t t X
X L−1 L−1 X
X t L−1 X
X L−1
PtA = pi j , PBt = pi j , PCt = pi j , PD
t
= pi j , (3.32)
i=0 j=0 i=0 j=t+1 i=t+1 j=0 i=t+1 j=t+1

47
Figura 3.18: Cuadrantes de la matriz de co-ocurrencia.

A B
t
D C

Entropía de transiciones locales Los cuadrantes A y C de la matriz de co-ocurrencia


corresponden a los histogramas de transiciones de pixeles de fondo-fondo y frente-frente
respectivamente, por lo que se denominan cuadrantes de transición local. La entropía de cada
cuadrante se define a continuación.
t X
X t
H At =− pit j A log(pit j A ) (3.33)
i=0 j=0

L−1 X
X L−1
HCt =− pit jC log(pit jC ) (3.34)
i=t+1 j=t+1

Sumando ambas entropías se obtiene la entropía de transiciones locales.


t
HLE = H At + HCt (3.35)

De forma análoga a la anterior, se puede obtener la entropía de transiciones cruzadas; transiciones


de pixeles fondo-frente y frente-fondo, sumando las entropías de los cuadrantes B y D. Sin
embargo, el método utilizado en esta tesis toma sólo en cuenta la entropía de transiciones locales.
Finalmente el método obtiene el umbral óptimo para la segmentación, maximizando la entropía de
transiciones locales. ( )
t = argmax t HLE t
(3.36)

48
Capítulo 4

Resultados

En este capítulo se presentan los resultados de las diferentes etapas del sistema de
segmentación.

En la etapa de preprocesamiento, se muestra la distancia de Bhattacharyya de los histogramas


de pixeles de vasos sanguíneos y fondo por cada canal de color, para la elección del canal de la
imagen a extraer. A continuación, se muestran los resultados de la optimización de parámetros del
algoritmo de ecualización de histograma adaptiva y la distancia de Bhattacharyya entre las clases
resultante de esta etapa.

Para la etapa de extracción de características, se muestran los resultados de los algoritmos en cuanto
a evolución del accuracy y los parámetros que obtienen para los filtros lineales utilizados. También
se muestra la distancia de Bhattacharyya posterior a la aplicación de los filtros. Y luego, se muestran
los resultados de accuracy para la segmentación realizada con los parámetros óptimos del sistema.

Luego, se muestra los resultados de la aplicación de la maximización de la entropía de la matriz de


co-ocurrencia como método de segmentación.

Finalmente, se muestran los resultados de tiempo de ejecución del sistema completo de


segmentación de vasos sanguíneos.

4.1. Resultados del preprocesamiento

4.1.1. Distancia de Bhattacharyya entre clases por canal de color

En la tabla 4.1 se muestran la distancia Bhattacharyya promedio y su desviación estándar


por cada canal de color. En la figura 4.1 se muestra la distancia de Bhattacharyya para cada
imagen del conjunto de entrenamiento por cada canal, donde se puede apreciar que la distancia
de Bhattacharyya de las clases en el canal verde es siempre mayor a la de los demás canales, con
la excepción de la imagen 34 de la base de datos. Esta información es utilizada para ejegir el canal
verde de la imagen original para la extracción de características.

49
Se realizó un test ANOVA [104] para determinar si las diferencias entre los canales de color
eran estadísticamente significativas. Del test ANOVA, se obtiene que las diferencias entre los tres
canales de color son estadísticamente significativas (p < 0.01).

Figura 4.1: Distancia de Bhattacharyya de las clases por cada canal RGB en cada imagen del
conjunto de entrenamiento de la base de datos DRIVE. Las curvas corresponden al canal rojo,
verde y azul respectivamente.

Tabla 4.1: Distancia de Bhattacharyya promedio y desviación estándar de las clases por canal de
color del conjunto de entrenamiento de la base de datos DRIVE.

Canal Promedio Desviación estándar


Rojo 0.0269 0.0097
Verde 0.1445 0.0504
Azul 0.0634 0.0262

En la figura 4.2 se muestran imágenes del fondo de la retina y en la figura 4.3 su respectivo
canal verde.

50
Figura 4.2: Imágenes de fondo de retina {1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

51
Figura 4.3: Canal verde de las imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

En la figura 4.4 se muestran los histogramas del canal verde de algunas de las imágenes. La
curva de color rojo corresponde al histograma normalizado de los pixeles de vasos sanguíneos
y la curva en azul al histograma normalizado de los pixeles de fondo. Para la obtención de los
histogramas de cada clase, se utilizó el ground truth que define la pertenencia a vasos sanguíneos o
fondo para cada pixel.

52
Figura 4.4: Histogramas del canal verde de las imágenes {1, 8, 16, 24, 32, 40} de la base de datos
DRIVE.

4.1.2. Resultados de generación de máscara de segmentación

En la figura 4.5 se muestra el resultado de la generación de las máscaras de segmentación para


la zona de interés de las imágenes de fondo de retina de la base de datos DRIVE.

53
Figura 4.5: Máscaras de segmentación de la zona de interés generadas para las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

4.1.3. Resultados de extensión del borde del área de interés

En la figura 4.6 se muestra el resultado de la extensión del borde de la zona de interés de las
imágenes de fondo de retina de la base de datos DRIVE. Se puede observar una transición suave
entre el círculo de la zona de interés y la zona fuera de ella.

54
Figura 4.6: Resultado de la extensión del borde de la zona de interés de las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

4.1.4. Resultados de ecualización de histograma adaptiva

Ajuste de parámetros

En la imagen 4.7 se muestran el valor de la distancia de Bhattacharyya de las clases para


cada elección de parámetros del algoritmo CLAHE (tamaño de la grilla y el límite de recorte del
histograma).
El valor de distancia de Bhattacharyya mostrado corresponde al promedio de distancia de
Bhattacharyya de las imágenes del conjunto de entrenamiento luego de la aplicación del algoritmo
CLAHE.

55
Figura 4.7: Gráfica de la distancia de Bhattacharyya de las clases en función de los parámetros del
algoritmo clahe.

Luego de tener el valor de distancia de Bhattacharyya de las clases en función de los


parámetros del algoritmo CLAHE, se obtienen los valores óptimos de los parámetros en el punto
máximo de distancia de Bhattacharyya promedio, que se muestran en la tabla 4.2. El valor máximo
de distancia de Bhattacharyya promedio en el conjunto de entrenamiento y desviación estándar se
muestran en la tabla 4.3, mejorando los resultados de en el canal verde de la imagen original, que
se muestra en la tabla 4.1.

Tabla 4.2: Parámetros óptimos del algoritmo CLAHE, obtenidos con la maximización del promedio
de la distancia de Bhattacharyya de las clases de cada imagen.

Parámetros óptimos
Divisiones grilla Límite de recorte
25 0.04

Tabla 4.3: Máxima distancia de Bhattacharyya promedio en el conjunto de entrenamiento de la base


de datos DRIVE, posterior a la aplicación del algoritmo CLAHE.

Distancia de Bhattacharyya
Promedio Desviación estándar
0.3261 0.0425

56
En la figura 4.8 se muestran los resultados del algoritmo CLAHE en algunas imágenes de
ejemplo. Se puede apreciar un mayor contraste entre los vasos sanguíneos y el fondo, de forma que
los vasos sanguíneos se presentan con mayor intensidad que el fondo en las imágenes.

Figura 4.8: Resultados de la aplicación del algoritmo CLAHE en las imágenes {1, 8, 16, 24, 32, 40}
de la base de datos DRIVE.

En la figura 4.9 se muestran los histogramas normalizados de pixeles de vasos sanguíneos y


fondo, posteriores a la aplicación del algoritmo CLAHE en algunas imágenes de ejemplo.

57
Figura 4.9: Histogramas de la imagen posterior a la aplicación del algoritmo CLAHE para las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

4.1.5. Distancia de Bhattacharyya por etapa del preprocesamiento

Los resultados del preprocesamiento realizado consistente en la obtención del canal verde de
la imagen original y la ecualización de histograma adaptiva(CLAHE) se pueden apreciar en el
aumento de la distancia de Bhattacharyya de los histogramas normalizados de los pixeles de vasos
sanguíneos y de fondo en el conjunto de entrenamiento que se muestran en la tabla 4.4.

Tabla 4.4: Distancia de Bhattacharyya promedio y desviación estándar del conjunto de


entrenamiento, en las etapas del preprocesamiento.

Distancia de Bhattacharyya
Etapa Promedio Desviación estándar
Canal verde 0.1445 0.0504
CLAHE 0.3261 0.0425

4.2. Resultados algoritmos genéticos

4.2.1. Influencia de la elección de conjuntos de entrenamiento y validación.

Para observar la influencia de la elección de los conjuntos de entrenamiento y validación en


los resultados de accuracy del algoritmo genético, se realizaron diversas instancias del algoritmo
genético con conjuntos de entrenamiento y validación generados al azar, que se muestran en la

58
tabla 4.5. El conjunto de prueba es el mismo en todos los casos y corresponde a las imágenes 1 a
20 de la base de datos DRIVE. Los resultados de estas pruebas, por cada generación del algoritmo
genético, se muestran en la figura 4.10.

Tabla 4.5: Conjuntos de entrenamiento y validación.

Elección de conjuntos
Conjunto de entrenamiento Conjunto de validación
{21,24,26,27,28,29,35,38,39,40} {22,23,25,30,31,32,33,34,36,37}
{21,22,29,30,32,33,34,36,37,39} {23,24,25,26,27,28,31,35,38,40}
{25,26,28,29,30,32,34,35,37,40} {21,22,23,24,27,31,33,36,38,39}
{23,24,25,26,31,34,36,37,39,40} {21,22,27,28,29,30,32,33,35,38}

59
Figura 4.10: Curvas de accuracy por generación del algoritmo genético.

En la figura 4.10, el color rojo corresponde al conjunto de validación, el color verde al conjunto
de prueba y el color azul al conjunto de entrenamiento. Se puede observar que no se presenta
sobreajuste en las curvas del algoritmo genético. También se muestran los valores-p de un test

60
ANOVA [104] realizado para determinar si las diferencias entre conjuntos son estadísticamente
significativas, mostrando que no hay una diferencia significativa entre los tres conjuntos (p > 0.05),
en todas las generaciones del algoritmo genético para las primeras tres elecciones de conjuntos de
entrenamiento y validación y a partir de la generación 100 aproximadamente en la última elección
de conjuntos de entrenamiento y validación.

En la tabla 4.6 se muestra el valor alcanzado en el conjunto de prueba en el valor máximo del
conjunto de validación en cada caso. En la tabla 4.7 se muestran los valores de accuracy promedio
y desviación estándar del accuracy en el conjunto de prueba en todas las pruebas.

Tabla 4.6: Accuracy de cada prueba en el conjunto de prueba, evaluado en el punto donde se obtiene
el máximo accuracy en el conjunto de validación.

Accuracy de cada prueba


Prueba Accuracy
Prueba 1 0.94489
Prueba 2 0.94617
Prueba 3 0.94450
Prueba 4 0.94566

Tabla 4.7: Promedio y desviación estándar del accuracy de las pruebas de la tabla 4.6.

Accuracy pruebas
Promedio Desviación estándar
0.9453 7.5155 · 10−4

4.2.2. Optimización de parámetros del banco de filtros

En la tabla 4.8 se muestran los resultados de accuracy en el conjunto de validación y conjunto


de prueba para combinación de diferentes parámetros para el banco de filtros generado. En este
caso, de forma arbitraria, se usaron las imágenes {31, 32, 33, 34, 35, 36, 37, 38, 39, 40} de la base de
datos como conjunto de entrenamiento y las imágenes {21, 22, 23, 24, 25, 26, 27, 28, 29, 30} como
conjunto de validación.

Cada conjunto de parámetros es utilizado más de una vez debido a la naturaleza estocástica de
los algoritmos genéticos. El parámetros “Cantidad de filtros” corresponde a la cantidad de filtros
lineales utilizados como banco de filtros. El parámetro “Filtros sumados” corresponde a la cantidad
de filtros Gabor que se suman para cada filtro lineal.

61
Tabla 4.8: Promedio y desviación estándar del accuracy de la segmentación en el conjunto de
prueba, con los parámetros óptimos de los filtros obtenidos con el algoritmo genético.

Accuracy conjunto de validación y prueba


Cantidad de filtros Filtros sumados Accuracy validación Accuracy prueba
8 1 0.93599 0.94285
8 1 0.93604 0.94346
8 3 0.93944 0.94513
8 3 0.92678 0.93443
4 1 0.94041 0.94601
4 1 0.93319 0.94104
4 1 0.93782 0.94365
4 1 0.93720 0.94358
4 3 0.94043 0.94620
4 3 0.93760 0.94404
4 3 0.93946 0.94496
4 3 0.93816 0.94403

En la tabla 4.9 se muestra el promedio y desviación estándar del accuracy de la segmentación


en el conjunto de prueba de la base de datos DRIVE, con los parámetros que obtienen el
máximo accuracy en el conjunto de validación en la tabla 4.8. Se observan resultados de accuracy
comparables con otros métodos de publicaciones sobre el tema, como se muestra en la tabla 2.1.

En la figura 4.11, se muestra la curva de evolución de accuracy por cada generación en el


entrenamiento del algoritmo genético que obtiene el máximo accuracy en el conjunto de validación
en la tabla 4.8. También se muestran los valores-p de un test ANOVA [104] realizado para
determinar si las diferencias entre conjuntos son estadísticamente significativas, mostrando que
no hay una diferencia significativa entre los tres conjuntos en todas las generaciones del algoritmo
genético (p > 0.05).

Figura 4.11: Izquierda: Curva de accuracy por generación del algoritmo genético que obtiene el
máximo accuracy en el conjunto de validación en la tabla 4.8. Derecha: Valor-p de por generación.

62
Tabla 4.9: Promedio y desviación estándar del accuracy de la segmentación en el conjunto de
prueba, con los parámetros óptimos de los filtros obtenidos con el algoritmo genético.

Accuracy conjunto de prueba


Promedio Desviación estándar
0.9462 0.0074

Parámetros del banco de filtros

Los parámetros de los filtros obtenidos con algoritmos genéticos se muestran en el apéndice A.
Éstos parámetros corresponden a los que obtienen el máximo accuracy en el conjunto de validación,
tal como se muestra en la tabla 4.8.

En la figura 4.12 se muestran los filtros obtenidos mediante algoritmos genéticos. Se puede observar
que los filtros resultantes son similares a un filtro Gabor simple, pero presentan un peak de
intensidad en el pixel central.

En la figura 4.13 se muestran los filtros Gabor que componen cada uno de los filtros utilizados.
Se puede observar que para cada filtro, se suman dos otros filtros con una intensidad mayor en el
pixel central.

(a) Primer filtro. (b) Segundo filtro. (c) Tercer filtro. (d) Cuarto filtro.

Figura 4.12: Filtros obtenidos.

63
(a) Primer filtro.

(b) Segundo filtro.

(c) Tercer filtro.

(d) Cuarto filtro.

Figura 4.13: Filtros Gabor que al sumarse dan lugar a los filtros utilizados.

4.3. Resultados de la aplicación de filtros

Posteriormente a la etapa de preprocesamiento, se aplican filtros lineales de 2 dimensiones


para extracción de características. Los resultados de distancia de Bhattacharyya de las clases de
pixeles de vasos sanguíneos y pixeles de fondo posterior a la aplicación de los filtros, calculados en
el conjunto de entrenamiento de la base de datos DRIVE, se pueden apreciar en la tabla 4.10. Los
parámetros de los filtros utilizados son los obtenidos con algoritmos genéticos.

En la figura 4.14 se muestran ejemplos de la obtención del máximo de las respuestas a los filtros,

64
utilizando los parámetros obtenidos con algoritmos genéticos.

Figura 4.14: Obtención del máximo de las respuestas al banco de filtros en las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

En la figura 4.15 se muestran los histogramas normalizados de pixeles de vasos sanguíneos y


fondo de la imagen resultante de la aplicación del banco de filtros. La distancia de Bhattacharyya
se muestra en la tabla 4.10, donde se observa un aumento con respecto a la etapa anterior,
correspondiente a la aplicación del algoritmo CLAHE (4.3).

Tabla 4.10: Distancia de Bhattacharyya promedio en el conjunto de entrenamiento de la base de


datos DRIVE, posterior a la aplicación de los filtros.

Distancia de Bhattacharyya
Promedio Desviación estándar
0.5025 0.0422

65
Figura 4.15: Histogramas de la imagen posterior a la aplicación de los filtros, para las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

Análisis angular A continuación se ilustra la respuesta angular al primero de los filtros, con los
parámetros que se obtuvieron con algoritmos genéticos.

Figura 4.16: Respuesta de los filtros rotados en θ = {0, 20, 40, 60, 80, 100, 120, 140, 160, 180}

En la figura 4.16 se observa que para cada rotación de los filtros, se obtiene una respuesta
mayor en diferentes partes de la imagen. Específicamente, para cada valor de θ, se obtiene una
respuesta mayor en todos las zonas de la imagen que corresponden a vasos sanguíneos con una
orientación angular similar a θ. El filtro que se ocupa para el análisis angular, se muestra en la
figura 4.12a.

66
4.4. Obtención de la matriz de co-ocurrencia

En la figura 4.17 se muestran las matrices de co-ocurrencia calculadas para las imágenes
obtenidas como el máximo de la respuesta al banco de filtros utilizado.

Figura 4.17: Matriz de co-ocurrencia de la imagen posterior a la aplicación de filtros para las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

En la figura 4.18 se muestran las matrices de co-ocurrencia con colores asociados a las clases
de las transiciones de los pixeles, de forma aditiva. Una transición entre pixeles de vasos sanguíneos
incrementa el canal verde, una transición entre pixeles de fondo incrementa el canal rojo y en
caso de transiciones de pixeles de clases diferentes, se incrementa el canal azul. Se observa una
distribución bastante separada entre las transiciones de la misma clase (colores rojo y verde), en la
mayoría de las imágenes.

67
Figura 4.18: Matriz de co-ocurrencia de la imagen posterior a la aplicación de filtros, para las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE, con código de colores.

4.5. Resultados de la segmentación

El resultado de la aplicación del umbral obtenido mediante la maximización de la entropía de


la matriz de co-ocurrencia, correspondiendo a la segmentación final, se muestra en la figura 4.19.

68
Figura 4.19: Segmentación de los vasos sanguíneos mediante umbral óptimo. Pixeles en blanco
corresponden a vasos sanguíneos y en negro a pixeles de fondo. Segmentación de las imágenes
{1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

En la figura 4.20, se muestra los pixeles correcta e incorrectamente clasificados con


un código de colores. En verde se muestran los pixeles correctamente clasificados como
vasos sanguíneos(verdaderos positivos), en negro los pixeles correctamente clasificados como
fondo(verdaderos negativos), en azul los pixeles erróneamente clasificados como vasos sanguíneos
cuando pertenecían al fondo (falsos positivos) y en rojo los pixeles erróneamente clasificados como
fondo cuando correspondían a vasos sanguíneos(falsos negativos). Se puede observar una gran
cantidad de pixeles correctamente clasificados. La mayor parte de los errores corresponde a la no
detección de los vasos sanguíneos más delgados.

69
Figura 4.20: Visualización de los errores y aciertos de la clasificación. Segmentación de las
imágenes {1, 8, 16, 24, 32, 40} de la base de datos DRIVE.

La evaluación del accuracy en el conjunto de prueba de la segmentación realizada con los


parámetros óptimos del sistema, se muestra en la tabla 4.9.

Histogramas de accuracy

A la figura 4.21 se muestran los histogramas de accuracy del método para cada elección de
conjuntos de entrenamiento y validación de la sección de resultados de influencia de elección de
conjuntos 4.2.1 además de los definidos en la sección anterior. En los histogramas de accuracy
se pueden observar dos muestras con accuracy notoriamente inferior al resto de las muestras en
todos los histogramas, que según la elección de conjuntos entran en el conjunto de entrenamiento o
validación, éstas muestras corresponden a las imágenes 25 y 34 de la base de datos, que se muestran
en la figura 4.22. También se muestra la imagen con mayor accuracy en todos los histogramas, que
corresponde a la imagen 19 del conjunto de prueba 4.23.

70
Figura 4.21: Histogramas de accuracy para cada elección de conjunto de entrenamiento y
validación.

71
Figura 4.22: Las dos muestras con menor accuracy en los histogramas de accuracy junto a su
segmentación realizada con el método propuesto. De arriba a abajo imágenes 25 y 34 de la base de
datos DRIVE.

Figura 4.23: Imagen con mayor accuracy en los histogramas de accuracy junto a su segmentación
realizada con el método propuesto. Imagen 19 de la base de datos DRIVE.

4.6. Tipificación de errores

Al observar los resultados de segmentación del método en la figura 4.20, se puede observar
que los errores de segmentación dentro de una imagen, están asociados principalmente a vasos
sanguíneos delgados, correspondiendo a falsos negativos.
En las muestras con menor accuracy en los histogramas de accuracy 4.22, se puede apreciar
que corresponden a imágenes con poca iluminación o con una deformación significativa en las
estructuras de la retina.

72
4.7. Curva ROC

La curva ROC corresponde a la gráfica de la tasa de verdaderos positivos, en función de la tasa


de falsos positivos en un clasificador de dos clases [102]. El área bajo la curva ROC corresponde
a la probabilidad de que una muestra positiva elegida aleatoriamente sea clasificada más alta que
una muestra negativa elegida aleatoriamente [103]. En la figura 4.24 se muestra la curva ROC en
el conjunto de prueba para la implementación realizada del método propuesto. La curva ROC del
sistema fue obtenida variando el umbral de segmentación de cada imagen posterior a la aplicación
del banco de filtros entre los valores [0, 255]. Para cada valor del umbral, se obtiene un punto de la
curva (F PR,T PR), que corresponden respectivamente a la tasa de falsos positivos (FPR) y tasa de
verdaderos positivos (TPR). En la tabla 4.11 se muestra el valor del área bajo la curva ROC(AUC).

Tabla 4.11: Área bajo la curva ROC en el conjunto de prueba.

AUC
0.9526

Figura 4.24: Curva ROC en el conjunto de prueba.

73
4.8. Resultados de tiempos de ejecución del sistema

En la tabla 4.12 se muestra el tiempo en segundos de ejecución promedio y desviación estándar


del algoritmo de segmentación desarrollado en esta tesis, por cada imagen. Éste tiempo es calculado
en el conjunto de prueba de la base de datos DRIVE. Él tiempo de ejecución toma en cuenta
las etapas de carga de la imagen desde el disco duro, preprocesamiento, aplicación de filtros,
segmentación y cálculo de accuracy.

Tabla 4.12: Tiempo de ejecución promedio en segundos por imagen del proceso de segmentación,
en el conjunto de prueba de la base de datos DRIVE.

Tiempo de ejecución[s]
Promedio Desviación estándar
5.0332 0.20195

4.9. Comparación con el método de Soares et al. [45]

En ésta sección se muestran resultados comparativos de la segmentación por el método


propio y por el método de Soares et al. La segmentación usando el método de Soares et al. se
basó en una implementación propia del método publicado. En la tablas 4.13,4.14 se muestra los
porcentajes de pixeles correcta e incorrectamente clasificados por cada método, en el conjunto de
entrenamiento/validación y prueba respectivamente.
En la figura 4.25 se muestran imágenes de ejemplo de la comparación realizada, asignándole
a cada pixel un color tal como se explica a continuación.

En color negro se muestran los pixeles clasificados correctamente en ambos métodos como
pixeles de fondo.

En blanco se muestran los pixeles clasificados correctamente en ambos métodos como pixeles
de vasos sanguíneos.

En verde se muestran los pixeles clasificados incorrectamente por ambos métodos.

En azul se muestran los pixeles clasificados erróneamente sólo por el método de Soares.

En rojo se muestran los pixeles clasificados erróneamente sólo por el método propio.

Se puede apreciar que la mayoría de los errores compartidos por ambos métodos corresponden
a vasos sanguíneos delgados.

74
Tabla 4.13: Fracción de pixeles correcta e incorrectamente clasificados por cada método, en el
conjunto de entrenamiento y validación de la base de datos DRIVE.

Fracción de errores y aciertos en conjunto de entrenamiento y validación


Tipo Promedio Desviación estándar
Pixeles correctos en ambos métodos 0.9266 0.0158
Pixeles incorrectos en ambos métodos 0.0427 0.0104
Pixeles incorrectos sólo con método de Soares 0.0153 0.0037
Pixeles incorrectos sólo con método propio 0.0153 0.0052

Tabla 4.14: Fracción de pixeles correcta e incorrectamente clasificados por cada método, en el
conjunto de prueba de la base de datos DRIVE.

Fracción de errores y aciertos en conjunto de prueba


Tipo Promedio Desviación estándar
Pixeles correctos en ambos métodos 0.9324 0.0081
Pixeles incorrectos en ambos métodos 0.0407 0.0067
Pixeles incorrectos sólo con método de Soares 0.0138 0.0018
Pixeles incorrectos sólo con método propio 0.0131 0.0026

75
Figura 4.25: Visualización de los errores y aciertos de la clasificación por ambos métodos.
Segmentación de las imágenes {1, 8, 16, 24, 34, 40} de la base de datos DRIVE.

76
Capítulo 5

Conclusión

En este trabajo de tesis se desarrolló y probó un método que permite la segmentación automá-
tica de vasos sanguíneos en imágenes digitales de retina en base a una etapa de preprocesamiento
para enfatizar vasos, y a un banco de filtros Gabor optimizados genéticamente.

Se midió usando la “distancia” de Bhattacharyya la disimilaridad de los histogramas normaliza-


dos de los pixeles de vasos sanguíneos y fondo de cada canal de color, confirmando la hipótesis
mencionada en publicaciones del tema sobre el mayor contraste en el canal verde.

Mediante la extensión del borde de la imagen para evitar escalones artificiales se evitó la apari-
ción de falsos positivos generados por detección de vasos sanguíneos debido a los bordes de la
zona de interés, en la etapa de ecualización de histograma y convolución con el banco de filtros.

La etapa de ecualización adaptiva de histograma logró aumentar el contraste entre vasos sanguíneos
y fondo, al optimizar los parámetros del método de ecualización, mediante la distancia de Bhatta-
charyya.

Con respecto a la extracción de características se utilizó un banco de filtros lineales, basado en


una suma de filtros Gabor, cuyos parámetros se optimizaron mediante algoritmos genéticos usando
el accuracy de la segmentación como función objetivo. El resultado de la extracción de caracte-
rísticas logra ser invariante a rotaciones y traslaciones, y es rápida y eficaz en separar las clases
de vasos sanguíneos y fondo, lo que es mostrado por el accuracy obtenido posterior a la etapa de
segmentación.

En la etapa de segmentación se utilizó un método no supervisado de clasificación, correspondiente


a la maximización de la entropía de la matriz de co-ocurrencia, que encuentra un umbral óptimo
para la segmentación de la imagen. Al ser un método que no requiere entrenamiento para ajustar
sus parámetros, fue posible ocuparlo en conjunto con algoritmos genéticos para la optimización de
los parámetros del banco de filtros lineales de forma eficiente. Además la velocidad del método de
segmentación permitió que el sistema completo sea rápido en la segmentación de vasos sanguíneos.

El uso del accuracy como medida de desempeño permitió la comparación de los resultados ob-
tenidos en este trabajo con aquellos previamente publicados en revistas internacionales. Con este

77
mismo objeto se utilizó una base de datos de imágenes de retina internacional (DRIVE) para medir
los resultados de este trabajo.

El uso del algoritmo genético, permitió optimizar los parámetros de los filtros utilizados, consi-
derando su efecto en la posterior segmentación realizada, a través de la utilización del accuracy de
la segmentación como función objetivo.

Con respecto al hecho de que no se presente sobreajuste en el conjunto de entrenamiento al usar


algoritmo genéticos, se estima que se debe a la gran cantidad de ejemplos que se presentan en el
conjunto de entrenamiento. Tomando en cuenta que cada imagen tiene aproximadamente 250.000
pixeles dentro del área de interés, que se deben clasificar como vaso sanguíneo o fondo, se tiene un
total aproximado de 2.500.000 ejemplos para el conjunto de entrenamiento. Ésto sumado a la gran
dimensionalidad del problema, indica que para obtener una mayor accuracy en el conjunto de en-
trenamiento, deberían ajustarse una cantidad enorme de parámetros, sin embargo ésto podría llevar
a un bajo accuracy en los conjuntos de validación y prueba al perder la capacidad de generalizar.

En los resultados de algoritmos genéticos, se obtienen curvas de accuracy en función de las ge-
neraciones, que muestran un rendimiento sin diferencias estadísticamente significativas en los con-
juntos de entrenamiento, validación y prueba.

Las dificultades que se presentaron en el desarrollo del sistema fueron la gran variabilidad de for-
mas, tamaños e intensidad que presentan los vasos sanguíneos en la imagen de retina. Además, las
imágenes presentan ruido e iluminación no-uniforme. También, se presentan en el fondo caracte-
rísticas similares a vasos sanguíneos. Al considerar estas dificultades, es difícil diseñar un método
que considere todos los posibles casos y que además tenga buenos resultados fuera del conjunto de
entrenamiento.

Las limitaciones observadas del método tienen relación a la no detección de vasos sanguíneos
que requieren tomar en cuenta el contexto de pixeles lejanos, como cruces de vasos sanguíneos y
vasos sanguíneos delgados lejanos a las ramas principales de vasos sanguíneos.

Con respecto a los resultados obtenidos, se logra un accuracy promedio en la segmentación del
conjunto de prueba de la base de datos DRIVE de 0.9462, lo que está dentro de los mejores resul-
tados de segmentación de vasos sanguíneos en publicaciones internacionales en la misma base de
datos DRIVE. En cuanto al tiempo de ejecución del método implementado, éste demora en pro-
medio 5.03 segundos, lo que es un tiempo corto en relación al accuracy obtenido. Sin embargo, en
la etapa de entrenamiento del método, se requieren varios días de cómputo, al aplicar algoritmos
genéticos en la optimización de los parámetros del banco de filtros.

Tal como se muestra en la tabla 2.1, el accuracy obtenido por la segmentación del segundo ex-
perto humano es de 0.9473. Al tomar en cuenta que un segundo experto humano no obtiene un
100 % de accuracy, es posible que no todos los pixeles marcados como vasos sanguíneos efecti-
vamente lo sean, y que correspondan a bordes marcados más allá de los vasos sanguíneos o a la
percepción errada de la continuación de un vaso sanguíneo, en el caso de vasos sanguíneos delga-
dos. De esta forma, difícilmente tiene sentido esperar un accuracy significativamente mayor al del
segundo experto humano.

78
5.0.1. Contribuciones

Las principales contribuciones del trabajo son las siguientes:

En este trabajo la elección de los parámetros de la etapa de preprocesamiento (extracción del


canal verde y parámetros de la ecualización adaptiva de histograma) se realiza utilizando un
método de selección de características que usa la distancia de Bhattacharyya. En contraste,
la mayor parte de las publicaciones de segmentación de vasos sanguíneos en imágenes de
retina, usan características elegidas de forma arbitraria e intuitiva, debido probablemente
a que la alta dimensionalidad del problema dificulta ciertos métodos de elección de
características. Por ejemplo, la elección del canal verde [36, 45, 51, 55], parámetros de etapas
de preprocesamiento, parámetros de banco de filtros [45].

El uso de un método de clasificación que no requiere entrenamiento, la maximización de


la entropía de la matriz de co-ocurrencia, permitió la selección de los parámetros del banco
de filtros usando un algoritmo genético, ya que el tiempo de evaluación de la población es
considerablemente inferior.

Un método de segmentación de imágenes de retina con alto desempeño de accuracy, pero


con bajo tiempo de ejecución.

5.0.2. Trabajos Futuros

De la comparación de los resultados de segmentación del método propio y el método de Soares


et al. [45] se puede suponer que es posible mejorar los resultados integrando ambos métodos. Sin
embargo ésta mejora estaría limitada por el porcentaje de errores que se dan en los dos métodos,
que es aproximadamente 4 % y que por lo tanto, el accuracy de la integración estaría acotado
superiormente por un valor cercano a 0.96.

El uso de los tres canales de color de la imagen original podría involucrar una mejora de desempeño
del método, debido a que no se eliminaría información que podría ser útil. Sin embargo, ésto podría
aumentar el tiempo necesario para la segmentación.

Considerar un mayor tamaño en la ventana de extracción de características, que en el método propio


es de 21 × 21 pixeles, podría aumentar el desempeño del método, debido a que se consideraría un
contexto mayor del pixel a clasificar, pero con una mayor dimensionalidad del problema y un mayor
tiempo necesario para la segmentación.

Considerar la técnica de redes neuronales convolucionales, tiene la ventaja de la reducir las


características seleccionadas por el diseñador del sistema para el problema en particular, ya que
las características utilizadas por el método son elegidas por el algoritmo de entrenamiento, lo que
reduciría las suposiciones (posiblemente incorrectas) realizadas por el diseñador del método.

Las redes neuronales convolucionales han obtenido buenos resultados en aplicaciones recientes
[81]. Sin embargo, aún requiere grandes recursos computacionales y tiempo en las etapas de
entrenamiento y en la etapa de clasificación, por lo que es necesario considerar si el desempeño

79
adicional justifica el uso de una técnica que involucra alto costo computacional al desarrollar la
solución.

Una aplicación de éste trabajo sería usar la segmentación de vasos sanguíneos obtenida en la
clasificación de imágenes de retina en estados de enfermedad de la retina o para la detección de
lesiones como microaneurismas y hemorragias. Sin embargo, para esto sería deseable tener una
base de datos numerosa de lesiones o de grado de enfermedad en cada imagen de entrenamiento.

80
Bibliografía

[1] Heneghan, C., Flynn, J., O’Keefe, M., & Cahill, M. (2002). Characterization of changes in
blood vessel width and tortuosity in retinopathy of prematurity using image analysis. Medical
image analysis, 6(4), 407-429.

[2] Teng, T., Lefley, M., & Claremont, D. (2002). Progress towards automated diabetic ocular
screening: a review of image analysis and intelligent systems for diabetic retinopathy. Medical
and Biological Engineering and Computing, 40(1), 2-13.

[3] Niemeijer, M., van Ginneken, B., & Abràmoff, M. D. (2009, February). Automatic
classification of retinal vessels into arteries and veins. In SPIE medical imaging (pp. 72601F-
72601F). International Society for Optics and Photonics.

[4] Foracchia, M., Grisan, E., & Ruggeri, A. (2001). Extraction and quantitative description of
vessel features in hypertensive retinopathy fundus images. In Book Abstracts 2nd International
Workshop on Computer Assisted Fundus Image Analysis (Vol. 6).

[5] Lowell, J., Hunter, A., Steel, D., Basu, A., Ryder, R., & Kennedy, R. L. (2004). Measurement
of retinal vessel widths from fundus images based on 2-D modeling. Medical Imaging, IEEE
Transactions on, 23(10), 1196-1204.

[6] Haddouche, A., Adel, M., Rasigni, M., Conrath, J., & Bourennane, S. (2010). Detection of
the foveal avascular zone on retinal angiograms using Markov random fields. Digital Signal
Processing, 20(1), 149-154.

[7] Mariño, C., Penedo, M. G., Penas, M., Carreira, M. J., & Gonzalez, F. (2006). Personal
authentication using digital retinal images. Pattern Analysis and Applications, 9(1), 21-33.

[8] Köse, C., & İki, C. (2011). A personal identification system using retinal vasculature in retinal
fundus images. Expert Systems with Applications, 38(11), 13670-13681.

[9] Zana, F., & Klein, J. C. (1999). A multimodal registration algorithm of eye fundus images
using vessels detection and Hough transform. Medical Imaging, IEEE Transactions on, 18(5),
419-428.

[10] Stewart, C. V., Tsai, C. L., & Roysam, B. (2003). The dual-bootstrap iterative closest point
algorithm with application to retinal image registration. Medical Imaging, IEEE Transactions
on, 22(11), 1379-1394.

[11] Klonoff, D. C., & Schwartz, D. M. (2000). An economic analysis of interventions for diabetes.
Diabetes care, 23(3), 390-404.

81
[12] Gelman, R., Martinez-Perez, M. E., Vanderveen, D. K., Moskowitz, A., & Fulton, A. B.
(2005). Diagnosis of plus disease in retinopathy of prematurity using Retinal Image multiScale
Analysis. Investigative ophthalmology & visual science, 46(12), 4734-4738.

[13] Owen, C. G., Rudnicka, A. R., Nightingale, C. M., Mullen, R., Barman, S. A., Sattar, N., ... &
Whincup, P. H. (2011). Retinal arteriolar tortuosity and cardiovascular risk factors in a multi-
ethnic population study of 10-year-old children; the Child Heart and Health Study in England
(CHASE). Arteriosclerosis, thrombosis, and vascular biology, 31(8), 1933-1938.

[14] Lee, S. J., McCarty, C. A., Taylor, H. R., & Keeffe, J. E. (2001). Costs of mobile screening for
diabetic retinopathy: a practical framework for rural populations. Australian Journal of Rural
Health, 9(4), 186-192.

[15] D. S. Fong, L. Aiello, T. W. Gardner, G. L. King, G. Blankenship, J. D. Cavallerano, F. L.


Ferris, & R. Klein (2003). Diabetic retinopathy. Diabetes Care, vol. 26, pp. 226–229.

[16] American Diabetes Association. (2008). Economic costs of diabetes in the US in 2007.
Diabetes care, 31(3), 596-615.

[17] American Academy of Ophthalmology Retina Panel, Preferred Practice Pattern Guidelines.
Diabetic Retinopathy. San Francisco, CA, Am. Acad. Ophthalmo., 2008 [Online]. Available:
http://www.aao.org/ppp

[18] Grisan, E., & Ruggeri, A. (2003, September). A divide et impera strategy for automatic
classification of retinal vessels into arteries and veins. In Engineering in Medicine and Biology
Society, 2003. Proceedings of the 25th Annual International Conference of the IEEE (Vol. 1,
pp. 890-893). IEEE.

[19] Hatanaka, Y., Hara, T., Fujita, H., Aoyama, M., Uchida, H., & Yamamoto, T. (2004, May).
Automated analysis of the distributions and geometries of blood vessels on retinal fundus
images. In Medical Imaging 2004 (pp. 1621-1628). International Society for Optics and
Photonics.

[20] Taylor, H. R., & Keeffe, J. E. (2001). World blindness: a 21st century perspective. British
Journal of Ophthalmology, 85(3), 261-266.

[21] Wild, S., Roglic, G., Green, A., Sicree, R., & King, H. (2004). Global prevalence of diabetes
estimates for the year 2000 and projections for 2030. Diabetes care, 27(5), 1047-1053.

[22] Becker, D. E., Can, A., Turner, J. N., Tanenbaum, H. L., & Roysam, B. (1998).
Image processing algorithms for retinal montage synthesis, mapping, and real-time location
determination. Biomedical Engineering, IEEE Transactions on, 45(1), 105-118.

[23] Frame, A. J., Undrill, P. E., Cree, M. J., Olson, J. A., McHardy, K. C., Sharp, P. F., & Forrester,
J. V. (1998). A comparison of computer based classification methods applied to the detection of
microaneurysms in ophthalmic fluorescein angiograms. Computers in biology and medicine,
28(3), 225-238.

[24] Larsen, M., Godt, J., Larsen, N., Lund-Andersen, H., Sjølie, A. K., Agardh, E., ... & Owens,
D. R. (2003). Automated detection of fundus photographic red lesions in diabetic retinopathy.
Investigative ophthalmology & visual science, 44(2), 761-766.

82
[25] Spencer, T., Olson, J. A., McHardy, K. C., Sharp, P. F., & Forrester, J. V. (1996). An image-
processing strategy for the segmentation and quantification of microaneurysms in fluorescein
angiograms of the ocular fundus. Computers and biomedical research, 29(4), 284-302.

[26] Ramamohanarao, K., Nguyen, U. T., & Bhuiyan, A. (2013, February). Retinal vascular feature
analysis using color fundus imaging. In Biosignals and Biorobotics Conference (BRC), 2013
ISSNIP (pp. 1-9). IEEE.

[27] Nguyen, U. T., Bhuiyan, A., Park, L. A., & Ramamohanarao, K. (2013). An effective retinal
blood vessel segmentation method using multi-scale line detection. Pattern recognition, 46(3),
703-715.

[28] Eye Diseases Prevalence Research Group. (2004). The prevalence of diabetic retinopathy
among adults in the United States. Archives of Ophthalmology, 122(4), 552.

[29] Chang, C. I., Du, Y., Wang, J., Guo, S. M., & Thouin, P. D. (2006, December). Survey and
comparative analysis of entropy and relative entropy thresholding techniques. In Vision, Image
and Signal Processing, IEE Proceedings- (Vol. 153, No. 6, pp. 837-850). IET.

[30] Schwartzkopf, W., Evans, B. L., & Bovik, A. C. (2002). Entropy estimation for
segmentation of multi-spectral chromosome images. In Image Analysis and Interpretation,
2002. Proceedings. Fifth IEEE Southwest Symposium on (pp. 234-237). IEEE.

[31] Tao, W., Jin, H., & Liu, L. (2007). Object segmentation using ant colony optimization
algorithm and fuzzy entropy. Pattern Recognition Letters, 28(7), 788-796.

[32] Karel Zuiderveld. 1994. Contrast limited adaptive histogram equalization. In Graphics gems
IV, Paul S. Heckbert (Ed.). Academic Press Professional, Inc., San Diego, CA, USA 474-485.

[33] Kailath, T. (1967). The divergence and Bhattacharyya distance measures in signal selection.
Communication Technology, IEEE Transactions on, 15(1), 52-60.

[34] Choi, E., & Lee, C. (2003). Feature extraction based on the Bhattacharyya distance. Pattern
Recognition, 36(8), 1703-1709.

[35] Bhattacharyya, A. (1946). On a measure of divergence between two multinomial populations.


Sankhya: The Indian Journal of Statistics, 401-406.

[36] Staal, J., Abràmoff, M. D., Niemeijer, M., Viergever, M. A., & van Ginneken, B. (2004).
Ridge-based vessel segmentation in color images of the retina. Medical Imaging, IEEE
Transactions on, 23(4), 501-509.

[37] Weldon, T. P., Higgins, W. E., & Dunn, D. F. (1996). Efficient Gabor filter design for texture
segmentation. Pattern Recognition, 29(12), 2005-2015.

[38] Daugman, J. G. (1980). Two-dimensional spectral analysis of cortical receptive field profiles.
Vision research, 20(10), 847-856.

[39] Reeves, C. R. (2010). Genetic algorithms. In Handbook of Metaheuristics (pp. 109-139).


Springer US.

83
[40] Holland, J. H. (1975). Adaptation in natural and artificial systems: An introductory analysis
with applications to biology, control, and artificial intelligence. U Michigan Press.

[41] Moreno Calderón, G. F. (2011). Identificación de Sistemas Basada en Inteligencia


Computacional y su Aplicación a la Modelación de un Aerogenerador.

[42] Wolpert, D. H., & Macready, W. G. (1997). No free lunch theorems for optimization.
Evolutionary Computation, IEEE Transactions on, 1(1), 67-82.

[43] Muñoz Carpintero, D. A. (2010). Diseño y Evaluación de Algoritmos Evolutivos para


Estrategias de Control Predictivo Híbrido No Lineal.

[44] Pencheva, T., Atanassov, K., & Shannon, A. (2009, December). Modelling of a stochastic
universal sampling selection operator in genetic algorithms using generalized nets. In
Proceedings of the Tenth International Workshop on Generalized Nets, Sofia (pp. 1-7).

[45] Soares, J. V., Leandro, J. J., Cesar, R. M., Jelinek, H. F., & Cree, M. J. (2006). Retinal vessel
segmentation using the 2-D Gabor wavelet and supervised classification. Medical Imaging,
IEEE Transactions on, 25(9), 1214-1222.

[46] Jacobs, D. Correlation and Convolution. Class Notes for CMSC, 426.

[47] Kienzle, W., Franz, M. O., Schölkopf, B., & Bakir, G. H. (2004). Face Detection—Efficient
and Rank Deficient. In Advances in Neural Information Processing Systems (pp. 673-680).

[48] Metz, C. E. (1978, October). Basic principles of ROC analysis. In Seminars in nuclear
medicine (Vol. 8, No. 4, pp. 283-298). WB Saunders.

[49] Fraz, M. M., Remagnino, P., Hoppe, A., Uyyanonvara, B., Rudnicka, A. R., Owen, C. G., &
Barman, S. A. (2012). Blood vessel segmentation methodologies in retinal images–a survey.
Computer methods and programs in biomedicine, 108(1), 407-433.

[50] Kirbas, C., & Quek, F. (2004). A review of vessel extraction techniques and algorithms. ACM
Computing Surveys (CSUR), 36(2), 81-121.

[51] Hoover, A., Kouznetsova, V., & Goldbaum, M. (2000). Locating blood vessels in retinal
images by piecewise threshold probing of a matched filter response. Medical Imaging, IEEE
Transactions on, 19(3), 203-210.

[52] Zhang, B., Zhang, L., Zhang, L., & Karray, F. (2010). Retinal vessel extraction by matched
filter with first-order derivative of Gaussian. Computers in biology and medicine, 40(4), 438-
445.

[53] Niemeijer, M., Staal, J., van Ginneken, B., Loog, M., & Abramoff, M. D. (2004, May).
Comparative study of retinal vessel segmentation methods on a new publicly available
database. In Medical Imaging 2004 (pp. 648-656). International Society for Optics and
Photonics.

[54] Staal, J., Abràmoff, M. D., Niemeijer, M., Viergever, M. A., & van Ginneken, B. (2004).
Ridge-based vessel segmentation in color images of the retina. Medical Imaging, IEEE
Transactions on, 23(4), 501-509.

84
[55] Ricci, E., & Perfetti, R. (2007). Retinal blood vessel segmentation using line operators and
support vector classification. Medical Imaging, IEEE Transactions on, 26(10), 1357-1365.

[56] Xu, L., & Luo, S. (2010). A novel method for blood vessel detection from retinal images.
Biomedical engineering online, 9(1), 14.

[57] Lupascu, C. A., Tegolo, D., & Trucco, E. (2010). FABC: retinal vessel segmentation using
AdaBoost. Information Technology in Biomedicine, IEEE Transactions on, 14(5), 1267-1274.

[58] Marín, D., Aquino, A., Gegúndez-Arias, M. E., & Bravo, J. M. (2011). A new supervised
method for blood vessel segmentation in retinal images by using gray-level and moment
invariants-based features. Medical Imaging, IEEE Transactions on, 30(1), 146-158.

[59] Villalobos-Castaldi, F. M., Felipe-Riverón, E. M., & Sánchez-Fernández, L. P. (2010). A fast,


efficient and automated method to extract vessels from fundus images. Journal of Visualization,
13(3), 263-270.

[60] Kande, G. B., Subbaiah, P. V., & Savithri, T. S. (2010). Unsupervised fuzzy based vessel
segmentation in pathological digital fundus images. Journal of medical systems, 34(5), 849-
858.

[61] Al-Rawi, M., Qutaishat, M., & Arrar, M. (2007). An improved matched filter for blood vessel
detection of digital retinal images. Computers in Biology and Medicine, 37(2), 262-267.

[62] Chaudhuri, S., Chatterjee, S., Katz, N., Nelson, M., & Goldbaum, M. (1989). Detection of
blood vessels in retinal images using two-dimensional matched filters. IEEE Transactions on
medical imaging, 8(3), 263-269.

[63] Zana, F., & Klein, J. C. (2001). Segmentation of vessel-like patterns using mathematical
morphology and curvature evaluation. Image Processing, IEEE Transactions on, 10(7), 1010-
1019.

[64] Mendonca, A. M., & Campilho, A. (2006). Segmentation of retinal blood vessels by
combining the detection of centerlines and morphological reconstruction. Medical Imaging,
IEEE Transactions on, 25(9), 1200-1213.

[65] Fraz, M. M., Barman, S. A., Remagnino, P., Hoppe, A., Basit, A., Uyyanonvara, B., ... &
Owen, C. G. (2012). An approach to localize the retinal blood vessels using bit planes and
centerline detection. Computer methods and programs in biomedicine, 108(2), 600-616.

[66] Miri, M. S., & Mahloojifar, A. (2011). Retinal image analysis using curvelet transform
and multistructure elements morphology by reconstruction. Biomedical Engineering, IEEE
Transactions on, 58(5), 1183-1192.

[67] Martinez-Perez, M. E., Hughes, A. D., Thom, S. A., Bharath, A. A., & Parker, K. H. (2007).
Segmentation of blood vessels from red-free and fluorescein retinal images. Medical image
analysis, 11(1), 47-61.

[68] Anzalone, A., Bizzarri, F., Parodi, M., & Storace, M. (2008). A modular supervised algorithm
for vessel segmentation in red-free retinal images. Computers in biology and medicine, 38(8),
913-922.

85
[69] Vlachos, M., & Dermatas, E. (2010). Multi-scale retinal vessel segmentation using line
tracking. Computerized Medical Imaging and Graphics, 34(3), 213-227.

[70] Lam, B. S., Gao, Y., & Liew, A. C. (2010). General retinal vessel segmentation using
regularization-based multiconcavity modeling. Medical Imaging, IEEE Transactions on, 29(7),
1369-1381.

[71] Espona, L., Carreira, M. J., Ortega, M., & Penedo, M. G. (2007). A snake for retinal vessel
segmentation. In Pattern Recognition and Image Analysis (pp. 178-185). Springer Berlin
Heidelberg.

[72] Espona, L., Carreira, M. J., Penedo, M. G., & Ortega, M. (2008, December). Retinal vessel
tree segmentation using a deformable contour model. In Pattern Recognition, 2008. ICPR 2008.
19th International Conference on (pp. 1-4). IEEE.

[73] Zhang, Y., Hsu, W., & Lee, M. L. (2009). Detection of retinal blood vessels based on nonlinear
projections. Journal of Signal Processing Systems, 55(1-3), 103-112.

[74] Delibasis, K. K., Kechriniotis, A. I., Tsonos, C., & Assimakis, N. (2010). Automatic model-
based tracing algorithm for vessel segmentation and diameter estimation. Computer methods
and programs in biomedicine, 100(2), 108-122.

[75] Zhou, L., Rzeszotarski, M. S., Singerman, L. J., & Chokreff, J. M. (1994). The detection and
quantification of retinopathy using digital angiograms. Medical Imaging, IEEE Transactions
on, 13(4), 619-626.

[76] Chutatape, O., Zheng, L., & Krishnan, S. M. (1998, October). Retinal blood vessel detection
and tracking by matched Gaussian and Kalman filters. In Engineering in Medicine and Biology
Society, 1998. Proceedings of the 20th Annual International Conference of the IEEE (Vol. 6,
pp. 3144-3149). IEEE.

[77] Can, A., Shen, H., Turner, J. N., Tanenbaum, H. L., & Roysam, B. (1999). Rapid automated
tracing and feature extraction from retinal fundus images using direct exploratory algorithms.
Information Technology in Biomedicine, IEEE Transactions on, 3(2), 125-138.

[78] Haralick, R. M., Sternberg, S. R., & Zhuang, X. (1987). Image analysis using mathematical
morphology. Pattern Analysis and Machine Intelligence, IEEE Transactions on, (4), 532-550.

[79] Li, H., & Chutatape, O. (2004). Automated feature extraction in color retinal images by a
model based approach. Biomedical Engineering, IEEE Transactions on, 51(2), 246-254.

[80] Huang, K., & Yan, M. (2005). A local adaptive algorithm for microaneurysms detection in
digital fundus images. In Computer Vision for Biomedical Image Applications (pp. 103-113).
Springer Berlin Heidelberg.

[81] Schmidhuber, J. (2015). Deep learning in neural networks: An overview. Neural Networks,
61, 85-117.

[82] Vasconcelos, J. A., Ramirez, J. A., Takahashi, R. H. C., & Saldanha, R. R. (2001).
Improvements in genetic algorithms. Magnetics, IEEE Transactions on, 37(5), 3414-3417.

86
[83] Shima, T., Rasmussen, S. J., Sparks, A. G., & Passino, K. M. (2006). Multiple task
assignments for cooperating uninhabited aerial vehicles using genetic algorithms. Computers
& Operations Research, 33(11), 3252-3269.
[84] Ahn, C. W., & Ramakrishna, R. S. (2003). Elitism-based compact genetic algorithms.
Evolutionary Computation, IEEE Transactions on, 7(4), 367-385.
[85] National Eye Institute, Facts About Macular Hole,
http://www.nei.nih.gov/health/macularhole/macularhole.asp
[86] Osareh, A., & Shadgar, B. (2009). Automatic blood vessel segmentation in color images of
retina. Iran. J. Sci. Technol. Trans. B: Engineering, 33(B2), 191-206.
[87] Rangayyan, R. M., Zhu, X., Ayres, F. J., & Ells, A. L. (2010). Detection of the optic nerve
head in fundus images of the retina with Gabor filters and phase portrait analysis. Journal of
digital imaging, 23(4), 438-453.
[88] Saremi, S., Sejnowski, T. J., & Sharpee, T. O. (2013). Double-Gabor filters are independent
components of small translation-invariant image patches. Neural computation, 25(4), 922-939.
[89] Perez, C. A., Cament, L. A., & Castillo, L. E. (2011, March). Local matching Gabor entropy
weighted face recognition. In Automatic Face & Gesture Recognition and Workshops (FG
2011), 2011 IEEE International Conference on (pp. 179-184). IEEE.
[90] Perez, C. A., Cament, L. A., & Castillo, L. E. (2011). Methodological improvement on
local Gabor face recognition based on feature selection and enhanced Borda count. Pattern
Recognition, 44(4), 951-963.
[91] Perez, C. A., Saravia, J., Navarro, C., Castillo, L., Schulz, D., & Aravena, C. (2012, October).
Lithological classification based on Gabor texture image analysis. In Optomechatronic
Technologies (ISOT), 2012 International Symposium on (pp. 1-3). IEEE.
[92] Perez, C. A., & Holzmann, C. A. (1997, October). Improvements on handwritten digit
recognition by genetic selection of neural network topology and by augmented training. In
Systems, Man, and Cybernetics, 1997. Computational Cybernetics and Simulation., 1997 IEEE
International Conference on (Vol. 2, pp. 1487-1491). IEEE.
[93] Perez, C., Casali, A., Gonzalez, G., Vallebuona, G., & Vargas, R. (1999). Lithological
composition sensor based on digital image feature extraction, genetic selection of features
and neural classification. In Information Intelligence and Systems, 1999. Proceedings. 1999
International Conference on (pp. 236-241). IEEE.
[94] Perez, C. A., & Castillo, L. E. (2009, September). Illumination compensation for face
recognition by genetic optimization of the self-quotient image method. In Optomechatronic
Technologies, 2009. ISOT 2009. International Symposium on (pp. 322-327). IEEE.
[95] Perez, C. A., & Salinas, C. (1999). Computational vision enhancement through genetic
selection of biologically inspired receptive field geometry. In Information Intelligence and
Systems, 1999. Proceedings. 1999 International Conference on (pp. 92-97). IEEE.
[96] Shannon, C. E. (1951). Prediction and entropy of printed English. Bell system technical
journal, 30(1), 50-64.

87
[97] Verleysen, M., & François, D. (2005). The curse of dimensionality in data mining and
time series prediction. In Computational Intelligence and Bioinspired Systems (pp. 758-770).
Springer Berlin Heidelberg.

[98] Galleguillos, C., Rabinovich, A., & Belongie, S. (2008, June). Object categorization using
co-occurrence, location and appearance. In Computer Vision and Pattern Recognition, 2008.
CVPR 2008. IEEE Conference on (pp. 1-8). IEEE.

[99] Carr, J. R., & De Miranda, F. P. (1998). The semivariogram in comparison to the co-occurrence
matrix for classification of image texture. Geoscience and Remote Sensing, IEEE Transactions
on, 36(6), 1945-1952.

[100] Felipe, J. C., Traina, A. J., & Traina Jr, C. (2003, June). Retrieval by content of medical
images using texture for tissue identification. In Computer-Based Medical Systems, 2003.
Proceedings. 16th IEEE Symposium (pp. 175-180). IEEE.

[101] Miao, W., & Chiou, P. (2008). Confidence intervals for the difference between two means.
Computational Statistics & Data Analysis, 52(4), 2238-2248.

[102] Swets, J. A. (2014). Signal detection theory and ROC analysis in psychology and
diagnostics: Collected papers. Psychology Press.

[103] Fawcett, T. (2006). An introduction to ROC analysis. Pattern recognition letters, 27(8), 861-
874.

[104] Cuevas, A., Febrero, M., & Fraiman, R. (2004). An anova test for functional data.
Computational statistics & data analysis, 47(1), 111-122.

I
Apéndice A

Parámetros de los filtros obtenidos

A continuación se muestran las tablas de parámetros para cada uno de los filtros obtenidos.
Los parámetros φ y θ 0 se muestran en grados.

Filtro 1
Variable Componente 1 Componente 2 Componente 3
λ 32.14 5.91 73.2
φ 214.128 195.192 239.004
σ 0.989 1.8515 0.453
γ 3.1205 0.3415 4.986
θ0 252.684 111.888 242.64

Filtro 2
Variable Componente 1 Componente 2 Componente 3
λ 25.16 6.84 90.22
φ 37.836 334.8 2.448
σ 0.112 1.9935 0.407
γ 4.3045 0.518 4.4655
θ0 7.02 81.9 142.704

Filtro 3
Variable Componente 1 Componente 2 Componente 3
λ 30.98 4.79 92.98
φ 177.912 190.836 154.8
σ 0.8515 2.737 2.4105
γ 2.0635 0.934 4.724
θ0 194.796 297.036 200.736

II
Filtro 4
Variable Componente 1 Componente 2 Componente 3
λ 6.17 97.46 35.45
φ 27.72 42.84 45.324
σ 2.026 0.7945 0.6045
γ 0.641 1.9555 3.8415
θ0 346.428 124.236 349.74

III

También podría gustarte