Prototipo de Sistema de Información para la Detección de ...
Transcript of Prototipo de Sistema de Información para la Detección de ...
Prototipo de Sistema de Información para la Detección de Carcinomas Mamarios, Basado
en Técnicas de Inteligencia Artificial
Sergio Augusto Celis Esteban.
Jhoan Felipe Sarmiento Ortiz.
Universidad Autónoma de Bucaramanga.
Facultad de Ingeniería.
Bucaramanga, Santander, Colombia.
2020
Prototipo de Sistema de Información para la Detección de Carcinomas Mamarios, Basado
en Técnicas de Inteligencia Artificial
Sergio Augusto Celis Esteban.
Jhoan Felipe Sarmiento Ortiz.
Trabajo de grado presentado para optar el título de: Ingeniero de Sistemas.
PhD. Maritza Liliana Calderón Benavides.
Universidad Autónoma de Bucaramanga.
Facultad de Ingeniería.
Bucaramanga, Santander, Colombia.
2020
TABLA DE CONTENIDO
RESUMEN ............................................................................................................................. 8
Resumen ............................................................................................................................. 8
Palabras Claves .................................................................................................................. 8|
Línea de Investigación ........................................................................................................ 8
INTRODUCCIÓN .................................................................................................................. 9
Introducción ........................................................................................................................ 9
Planteamiento y Justificación del Problema ..................................................................... 10
Pregunta de Investigación ................................................................................................. 16
Objetivo General............................................................................................................... 16
Objetivos Específicos. .................................................................................................. 16
ESTADO DEL ARTE .......................................................................................................... 17
MARCO CONCEPTUAL .................................................................................................... 32
Marco Teórico .................................................................................................................. 32
1. Conceptos claves. ............................................................................................... 32
2. Conceptos técnicos ............................................................................................. 37
3. Métricas de evaluación. ...................................................................................... 44
4. Conceptos clínico-patológicos. .......................................................................... 46
Marco tecnológico. ........................................................................................................... 50
DESARROLLO METODOLÓGICO .................................................................................. 54
Infraestructura tecnológica del sistema. ........................................................................... 54
1. Tecnologías. ....................................................................................................... 54
2. Arquitecturas. ..................................................................................................... 56
3. Hardware ............................................................................................................ 57
Metodología de los datos .................................................................................................. 58
1. Dataset. ............................................................................................................... 59
2. Preprocesamiento de los datos. .......................................................................... 60
3. Adaptación de los datos para el entrenamiento. ................................................. 62
Metodología de prueba ..................................................................................................... 64
Diseño del prototipo ......................................................................................................... 64
1. Modelamiento UML. .......................................................................................... 64
2. Interfaz gráfica. .................................................................................................. 66
3. Bases de datos. ................................................................................................... 67
Implementación del prototipo ........................................................................................... 69
Evaluación del prototipo ................................................................................................... 70
ANÁLISIS DE RESULTADOS ........................................................................................... 71
Selección de la infraestructura tecnológica del sistema. .................................................. 71
1. Lenguaje de programación. ................................................................................ 71
2. Red neuronal. ..................................................................................................... 72
Diseño del prototipo de sistema de información. ............................................................. 78
1. Funcionalidades del sistema. .............................................................................. 78
2. Interfaz gráfica y test de experiencia de usuario. ............................................... 79
Implementación del prototipo. .......................................................................................... 81
CONCLUSIONES ................................................................................................................ 88
TRABAJOS FUTUROS ....................................................................................................... 90
REFERENCIAS ................................................................................................................... 92
ANEXOS .............................................................................................................................. 99
LISTA DE TABLAS
Tabla 1. Comparación Lenguajes de Programación para Machine Learning. ..................... 55
Tabla 2. Métricas promedio de distintos proyectos de clasificación de imágenes con
enfoque médico..................................................................................................................... 56
Tabla 3. Especificaciones técnicas máquina virtual. ........................................................... 57
Tabla 4. Diccionario de datos Usuarios. .............................................................................. 67
Tabla 5. Diccionario de datos Diagnósticos. ....................................................................... 68
Tabla 6. Matriz de comparación AJP. ................................................................................. 71
Tabla 7. Decisión final AJP. ................................................................................................ 72
Tabla 8. Resumen métricas de evaluación. .......................................................................... 73
LISTA DE FIGURAS
Figura 1. Mortalidad y prevalencia del cáncer de mama en Colombia.. ............................. 11
Figura 2. Incidencia y mortalidad en Bucaramanga, 2014. ............................................... 12
Figura 3. Densidad mamaria. .............................................................................................. 13
Figura 4. Mamografía con microcalcificaciones. ................................................................ 15
Figura 5. Relación IA, ML y DL. ........................................................................................ 34
Figura 6. Aprendizaje supervisado. ..................................................................................... 35
Figura 7. Estructura básica de una RNA. ............................................................................ 35
Figura 8. Ejemplo de una red neuronal convolucional. ...................................................... 36
Figura 9. Ejemplos de tensores con sus respectivos rangos (dimensiones). ....................... 37
Figura 10. Ejemplo de convolución aplicando filtro 3x3 a una imagen 5x5. ...................... 38
Figura 11. Ejemplo de aplicación de max pooling. ............................................................. 39
Figura 12. Ejemplo de no linealidad con la función ReLU. ................................................ 40
Figura 13. Ejemplo de full conected layer........................................................................... 41
Figura 14. Ejemplo de un TensorBoard. ............................................................................. 53
Figura 15. Metodología empleada para el tratamiento de los datos. ................................... 58
Figura 16. Recorte tomado de nuestro dataset, región de interés ROI. ............................... 62
Figura 17. Imagen diagnóstica antes y después de ser convertida a RGB. ......................... 63
Figura 18. Diagrama de contexto. ....................................................................................... 65
Figura 19. Ejemplo de interfaz diseñada en Figma. ............................................................ 66
Figura 20. Ejemplo de implementación de interfaces en Flutter - Zoom. ........................... 69
Figura 21. Matriz de confusión VGG16 → 70 – 30. .......................................................... 74
Figura 22. Matriz de confusión VGG16 → 90 – 10. .......................................................... 76
Figura 23. Matriz de confusión VGG16 - Malignos duplicados. ........................................ 76
Figura 24. Matriz de confusión VGG16 con DropOut → 90 – 10. ..................................... 77
Figura 25. Diagramas de casos de uso del sistema. ............................................................. 78
Figura 26. Resumen de resultados test de experiencia de usuario. ..................................... 79
Figura 27. Diseño TabBar - Resultados. ............................................................................. 80
Figura 28. Logo Minbizia .................................................................................................... 80
Figura 29. Firebase Firestore - Colecciones: usuarios y diagnósticos. ............................... 81
Figura 30. Firebase Authentication. .................................................................................... 81
Figura 31. Firebase Storage. ................................................................................................ 82
Figura 32. Interfaces finales – Login. .................................................................................. 83
Figura 33. Interfaces finales – Dashboard. .......................................................................... 84
Figura 34. Interfaces finales – Administrador. .................................................................... 84
LISTA DE ANEXOS
Anexo 1. Diagramas UML ................................................................................................... 99
Anexo 2. Diseño de interfaces. ........................................................................................... 105
Anexo 3. Resultados del test de experiencia de usuario. .................................................... 112
Anexo 4. Análisis Jerárquico Ponderado (AJP) ................................................................. 122
Anexo 5. Métricas de evaluación obtenidas. ...................................................................... 128
Anexo 6. Acuerdo de transferencia dataset InBreast ......................................................... 133
8
RESUMEN
Resumen
Según los datos del Observatorio Global de Cáncer, el cáncer de mama es la principal
causa de muerte por cáncer en las mujeres. (International for Research on Cancer, 2018). Este
trabajo basó su investigación en el afán por la búsqueda de una solución a este problema, y
se propuso el desarrollo de un prototipo de sistema de información, basado en técnicas de
inteligencia artificial, que permitiera optimizar la labor del cuerpo médico para detectar casos
de cáncer y mitigar el riesgo de muerte y otros problemas que presentaban los pacientes. El
desarrollo de la interfaz gráfica se realizó con Flutter Web y luego de ciertas pruebas, se
definió que la opción conveniente para el sistema era la implementación de la arquitectura
VGG16. La red neuronal, fue entrenada con un conjunto de imágenes diagnósticas
mamográficas disponibles en la web, con el fin de adoptar un modelo, capaz de clasificar
mamografías en cinco categorías: normal, microcalcificación benigna, nódulo benigno,
microcalcificación y nódulo maligno.
Palabras Claves
Sistema de información, inteligencia artificial, red neuronal, convolución,
clasificación, detección, mamografía, nódulo, microcalcificación, carcinoma mamario.
Línea de Investigación
Inteligencia artificial con enfoque en imágenes médicas.
9
INTRODUCCIÓN
Introducción
El presente documento, describe en detalle la problemática presente en el análisis de
mamografías y las consecuencias que en ocasiones puede derivar un mal diagnóstico para los
pacientes afectados por el cáncer de mama. Se propone así, el desarrollo de un prototipo de
sistema de información para la detección de carcinomas mamarios basado en técnicas de
inteligencia artificial que sirva de soporte a los radiólogos en su labor de lectura e
interpretación de estas imágenes diagnósticas.
El interés por desarrollar este proyecto trasciende lo académico, ya que es despertado
por motivos de aporte positivo desde la Ingeniería a una problemática de salud tan relevante
y que afecta en su gran mayoría a la población femenina mundialmente.
Se hace alusión, además, a la metodología que se llevó a cabo en el desarrollo del
proyecto investigativo, y los resultados obtenidos para cada uno de los objetivos que se
plantearon en torno a la solución de dicho problema.
Este proyecto está enfocado en las áreas de conocimiento de Ingeniería de Sistemas
y Ciencias de la Salud, promoviendo la cooperación interdisciplinaria en pro del bien común.
10
Planteamiento y Justificación del Problema
La problemática que se quiere atacar es clara. Se pretende con el proyecto, seguir
aportando a los avances tecnológicos que se dan día a día en la medicina. A continuación, se
describen los riesgos e inconvenientes que una enfermedad como el cáncer, deriva en los y
las pacientes, y razón por la cual, esta investigación toma un gran valor.
Morbilidad y Mortalidad del Cáncer de Mama.
Según el Observatorio Global de Cáncer (Global Cancer Observatory, 2018) en su
informe publicado el 12 de septiembre del 2018, el tipo de cáncer más frecuente en
las mujeres de todo el mundo es el cáncer de mama con un total de 2’088.849 casos
registrados. Aproximadamente uno de cada cuatro nuevos casos de cáncer
diagnosticados en las mujeres es cáncer de mama, además, es la principal causa de
muerte por cáncer en mujeres (626.679). (International for Research on Cancer, 2018)
Según la CAC en Colombia, hasta el 01 de enero de 2018, se registraron 59.837 casos
de cáncer de mama en el SGSSS. Específicamente, para el periodo comprendido entre
el 02 de enero de 2017 y el 01 de enero de 2018, se reportaron 6.348 nuevos casos de
cáncer de seno, de los cuales 303 (4.8%) corresponden a casos de carcinoma in situ,
y 6.045 (95.2%) fueron casos de cáncer de mama invasivo, lo que representa un
aumento del 37% en los registros, con relación al periodo anterior (2016 - 2017).
Además, para este mismo periodo, el total de pacientes fallecidos fue 2.522. (Fondo
Colombiano de Enfermedades de Alto Costo Cuenta de Alto Costo[CAC], 2018) Sin
embargo, en el GLOBOCAN 2018, los últimos datos mundiales sobre el cáncer, las
cifras para Colombia varían significativamente, donde los casos nuevos reportados
fueron 13.380 y el número de muertes 3.702. (Global Cancer Observatory, 2018)
11
En el caso particular de Santander, la prevalencia en el cáncer de mama invasivo fue
de 257,6 por 100.000 habitantes, con una mortalidad de 11.3 por 100.000 habitantes,
lo que ubica al departamento dentro de los más afectados por esta enfermedad como
se observa en la Figura 1.
Figura 1. Mortalidad y prevalencia del cáncer de mama en Colombia. Copyright 2018 Cuenta de Alto Costo
[CAC].
12
Además, en Bucaramanga los datos registrados en el año 2014 se reflejaron con una
incidencia de 278 casos de cáncer de mama y 100 pacientes muertos, ubicando de
esta forma, al cáncer de mama, como el más frecuente de esta ciudad, entre hombres
y mujeres como se muestra en la Figura 2.
Figura 2. Incidencia y mortalidad en Bucaramanga, 2014.
Fuente de Información: Datos del SICC y RPC de Bucaramanga
Examen Mamográfico.
Normalmente, la detección de carcinomas mamarios se ve obstaculizada por la
complejidad que conlleva el análisis de mamografías realizado por los radiólogos en
su labor. Estos análisis no cuentan con resultados muy precisos y la incertidumbre
aumenta en ocasiones por diversas causas: en primer lugar, los procesos analíticos de
las mamografías realizados por los expertos son hechos de manera meramente visual,
esto genera que se obtengan diferentes opiniones en torno a una observación subjetiva
(Radiological Society of North America, 2019) de parte de cada profesional.
Dicha opinión, puede verse influenciada por los diferentes factores fisiológicos de
cada paciente que reducen la efectividad del diagnóstico. Entre estos factores
13
encontramos la densidad mamaria (Vergara, Vergara, & Vergara Dagobeth, 2013),
que hace referencia a la cantidad de tejido glandular presente en el seno y que cuando
es abundante entorpece la identificación de anomalías en la mamografía (Figura 3).
Un seno denso cuenta con una sensibilidad mamográfica del 60% frente al rango de
85-95% de los senos grasos (Berg, 2019), esto quiere decir que, al ser el seno más
denso, el hallazgo de masas anormales dentro del mismo será más complicado.
Figura 3. Densidad mamaria. Copyright 2017 Breast. Density, CDI
En este punto, entra en juego la habilidad interpretativa del radiólogo (Ventura-
Alfaro, 2018), este factor se encuentra asociado muchas veces con la experiencia, lo
cual puede determinar un obstáculo al momento de interpretar la mamografía. Las
más altas tasas de falsos positivos y falsos negativos son presentadas por
interpretadores jóvenes con poca experiencia profesional. Para esto, se recomienda
que se lleve a cabo una doble lectura de la mamografía, es decir, que dos personas
realicen la lectura de manera independiente, sin embargo, esto puede terminar
aumentando la incertidumbre cuando los diagnósticos discuerdan.
14
Estas causas anteriormente mencionadas, ocasionan perjuicios de todo tipo en la
paciente; desde psicológicos (como estrés y preocupación generados por resultados
conocidos como falsos positivos donde a las mujeres se les diagnostica cáncer sin que
exista realmente), hasta físicos (con la realización de biopsias que los médicos se ven
obligados a hacer para tener una certeza en su examen, la creación de carcinomas
como causa de la excesiva exposición a rayos X, o incluso retrasos en el tratamiento
que pueden llegar, en el peor de los casos, a la muerte, a causa de los conocidos falsos
negativos), y económicos (ya que en ocasiones es necesario realizar más de una
mamografía que conlleva un costo adicional, o hacer uso de otras técnicas que en su
defecto son mucho más costosas que el examen tradicional (Breastcancer.org, 2013)).
En respuesta a este problema previamente expuesto, se considera pertinente el
desarrollo de un prototipo de sistema de información que implemente un modelo de
redes neuronales para la clasificación de imágenes mamográficas como apoyo para
todo aquel que se desempeña en el tratamiento y análisis de estas. Además, el uso
adicional de datos históricos del paciente; esto con el fin de obtener resultados más
precisos, mitigar errores y generar confianza en los pacientes al momento de recibir
un resultado frente a los peligrosos carcinomas mamarios. El proyecto, está enfocado
hacia la detección temprana del cáncer, ya que según datos de la ACS (American
Cancer Society, 2019)la tasa de supervivencia oscila en un rango del 95 al 100% para
los cánceres de mama detectados en estadío 0 o 1, es decir, en su fase temprana, para
ello, se debe tener en cuenta los casos de microcalcificaciones, donde el tumor aún
no se ha desarrollado por completo y es oportuno para el tratamiento del paciente. En
15
la Figura 4 se puede observar un caso de microcalcificación, para un mejor
entendimiento de la importancia que esto conlleva, ya que no todo nódulo es maligno.
Figura 4. Mamografía con microcalcificaciones. Copyright Marcela Cauwlaert.
16
Pregunta de Investigación
¿De qué manera es posible detectar carcinomas mamarios mediante el procesamiento
de imágenes diagnósticas?
Objetivo General
Desarrollar un prototipo de sistema de información para la detección de carcinomas
mamarios, basado en técnicas de inteligencia artificial.
Objetivos Específicos.
1. Seleccionar la infraestructura tecnológica del sistema.
2. Diseñar un prototipo de sistema de información, para la detección de cáncer
basado en un modelo de redes neuronales.
3. Implementar el prototipo de sistema de información para la detección de cáncer
de mama.
4. Evaluar el prototipo sistema de información para la detección de cáncer de mama
en imágenes diagnósticas.
17
ESTADO DEL ARTE
En este capítulo se presentan los proyectos con los aportes más relevantes para esta
investigación.
1. Aprendizaje profundo para mejorar la detección del cáncer de mama en la
mamografía de detección. (Shen, Margolies, & Rothstein, 2019)
Problema de investigación. El cáncer de mama es la segunda causa principal
de muerte por cáncer entre las mujeres estadounidenses y se ha descubierto
que la mamografía de detección reduce la mortalidad. A pesar de los
beneficios, la mamografía de detección está asociada con un alto riesgo de
falsos positivos y falsos negativos. La sensibilidad promedio de la mamografía
de detección digital en los EE. UU. Es del 86,9% y la especificidad promedio
es del 88,9%. Para ayudar a los radiólogos a mejorar la precisión predictiva
de la mamografía de detección, el software de detección y diagnóstico asistido
por computadora (CAD) 4han sido desarrollados y en uso clínico desde la
década de 1990. Desafortunadamente, los datos sugirieron que los primeros
sistemas CAD comerciales no habían llevado a una mejora significativa en el
rendimiento y el progreso se estancó durante más de una década desde su
introducción.
Procedimiento y resultados. Se desarrolló un algoritmo de aprendizaje
profundo que puede detectar con precisión el cáncer de seno en las
mamografías de detección utilizando un enfoque de entrenamiento “de
extremo a extremo” que aprovecha de manera eficiente los conjuntos de datos
18
de entrenamiento con anotaciones clínicas completas o solo el estado del
cáncer (etiqueta) de toda la imagen. El método de red convolucional para
clasificar las mamografías de detección alcanzó un rendimiento excelente en
comparación con los métodos anteriores. En un conjunto de prueba
independiente de mamografías de película digitalizada de la Base de datos
digital para mamografía de detección (CBIS-DDSM), el mejor modelo
individual logró un AUC por imagen de 0.88, y el promedio de cuatro modelos
mejoró el AUC a 0.91 (sensibilidad: 86.1%, especificidad: 80,1%). En un
conjunto de prueba independiente de imágenes de mamografía digital de
campo completo (FFDM) de la base de datos INbreast, el mejor modelo
individual logró un AUC por imagen de 0.95, y el promedio de cuatro modelos
mejoró el AUC a 0.98 (sensibilidad: 86.7%, especificidad: 96,1%).
Aportes. Sirvió de guía para el debido entrenamiento de la red neuronal,
usando transfer learning con otro tipo de técnicas como el fine tuning, que
consiste en agregar capas personalizadas y descongelar progresivamente las
capas de la red base.
2. Reducción de marcas falsas positivas en mamografías: un estudio de
comparación retrospectiva utilizando un CAD basado en inteligencia artificial.
Estados Unidos ( Mayo, y otros, 2019)
Problema de investigación. La alta tasa de marcas falsas positivas que se
presentan al usar actualmente los sistemas CAD convencionales. Estas marcas
pueden distraer al radiólogo intérprete generando ruido y conducen a biopsias
y exámenes innecesarios. Para evaluar la utilidad de dichos sistemas se
emplean los falsos positivos por imagen (FPPI). Por lo cual comúnmente
19
cuando hay una tasa alta de FPPI se presentan quejas por parte de los
radiólogos. Además, en los EE. UU en retiros y análisis de falsos positivos se
gastan aproximadamente $ 4 mil millones de dólares. Para el paciente, estas
mamografías de detección de resultados falsos positivos crean ansiedad
innecesaria y pueden llevar al paciente a una biopsia que no era necesaria.
Procedimiento. Se compararon dos sistemas un sistema CAD tradicional con
uno basado en Inteligencia Artificial (IA) para determinar si se podía utilizar
para reducir los FPPI. En donde se analizó una base de datos de 250
mamografías con ambos.
Resultados obtenidos y conclusiones. Se presentó una reducción del 69% en
el FPPI general con AI-CAD en comparación con CAD. La evaluación por
tipo de lesión muestra un rendimiento superior de AI-CAD tanto para masas
como para calcificaciones. Hubo una reducción general del 83% en FPPI para
calcificaciones con AI-CAD y una reducción del 56% para la masa. FPPI para
masas fue mayor que FPPI para calcificaciones para ambos sistemas.
3. Detección de cáncer de cabeza y cuello en histología digitalizada de diapositivas
completas utilizando redes neuronales convolucionales (Halicek, Shahedi, &
Little, 2019))
Problema de investigación. La detección temprana del cáncer de mama es
crucial por lo cual la mamografía es esencial como herramienta de
diagnóstico. El cáncer de mama generalmente ocurre en el área fibroglandular
del tejido mamario. El tejido fibroglandular distorsiona, hace que las
mamografías parezcan brillantes, esta apariencia se describe como Densidad
20
Mamográfica o también conocida como Densidad Mamaria. La porción de
densidad mamaria contiene conductos, elementos lobulares y tejido fibroso de
la mama, entre otras características. El radiólogo evalúa la proporción de grasa
y el tejido fibroglandular de la región mamaria en la interpretación de las
imágenes mamográficas. El resultado es subjetivo y varía de un radiólogo a
otro. El problema es que existen varias maneras de medir la densidad mamaria
por ejemplo algunos consideran importante eliminar el musculo pectoral en el
procesamiento de la imagen, otros consideran importante no eliminarlo.
Además, en el tejido cercano la piel cuando se presentan anomalías en esta
zona a simple vista suele ser muy difícil detectarlas debido a que es muy
delgado, en las mamografías suele no verse o presentar mucha distorsión en
la imagen.
Procedimiento. En este estudio, utilizaron 381 imágenes digitalizadas de
diapositivas completas (WSI) de 156 pacientes con cáncer de cabeza y cuello
para entrenar, validar y probar una red neuronal convolucional inception-v4.
Para la comparación, probamos el método de diagnóstico propuesto en un
conjunto de datos de código abierto de WSI de ganglios linfáticos centinela
con metástasis de cáncer de mama, CAMELYON 2016, para obtener la
localización del cáncer basada en parches y diagnósticos de cáncer a nivel de
diapositivas.
Resultados obtenidos y conclusiones. El método propuesto es capaz de
detectar y localizar SCC (Carcinoma de Células Escamosas) primario de
cabeza y cuello en WSI con un AUC de 0.916 para pacientes en el grupo de
21
prueba de SCC y 0.954 para pacientes en el grupo de prueba de carcinoma de
tiroides. Además, el método propuesto es capaz de diagnosticar WSI con
diapositivas de cáncer versus diapositivas normales con un AUC de 0.944 y
0.995 para los grupos de prueba de SCC y carcinoma de tiroides,
respectivamente. El diseño experimental produce un método robusto con
potencial para ayudar a crear una herramienta para aumentar la eficiencia y la
precisión de los patólogos que detectan cánceres de cabeza y cuello en
imágenes histológicas.
4. Speed Up Robust Features (SURF) con el componente principal análisis-apoyo
vector máquina (PCA-SVM) para clasificaciones benignas y malignas. Malasia
(Salleh, Mahmud, Rahman, & Yasiran, 2017)
Problema de investigación. Se estima que en una mamografía siempre habrá
un error del 10% al 30% durante el proceso de detección. Después de que se
complete el procedimiento de detección, se llevará a cabo la etapa de
mamografía de diagnóstico por parte del radiólogo. En esta etapa, el radiólogo
diagnosticará si el cáncer está clasificado como benigno o maligno. Del mismo
modo, el error humano también ocurre durante esta etapa. Se han realizado
numerosos estudios para superar este error. El diagnóstico asistido por
computadora (CAD) se ha demostrado que reduce la tasa de error y aumenta
el rendimiento del detección y clasificación del cáncer de mama para ayudar
el radiólogo en la evaluación del cáncer, de decidir si es benigno o maligno.
22
Si el cáncer es clasificado como benigno, el radiólogo decidirá si el
procedimiento de biopsia es esencial para el paciente correspondiente o no.
Además, el CAD es crucial para determinar el tipo de tratamiento que se le da
al paciente, así como para reducir la tasa de mortalidad.
Procedimiento. Se propone un nuevo componente de diagnóstico asistido por
computadora (CADx) para el cáncer de mama clasificaciones Se llevaron a
cabo cuatro fases principales en esta investigación. La primera fase es
preprocesamiento, esto es seguido por la fase de extracción de características
usando Speed Up Robust Características (SURF). La siguiente fase es la
selección de características usando el Componente Principal Análisis (PCA).
La fase final es la fase de clasificación para clasificar el cáncer. Tres diferentes
clasificadores; Máquina de vectores de soporte (SVM), análisis discriminante
lineal (LDA) y Decisión Tree (DT) se compararon en esta investigación. Se
propuso un nuevo componente CADx basado en SURF con PCA-SVM para
clasificar el cáncer de mama, ya sea benigno o maligno. El método SURF se
utiliza como extracción de características. Los núcleos finos gaussianos
muestran el núcleo óptimo que se utilizó en la investigación.
Resultados obtenidos y conclusiones. Los resultados obtenidos muestran que
el PCA-SVM realiza la más alta precisión con 92.9% de precisión en
comparación con otros clasificadores. También está comprobado que el
componente PCA en la fase de selección de funciones puede reducir el FNR,
así como aumentar la precisión de la CADx propuesto. Se espera que estos
hallazgos ayuden al radiólogo para tomar decisiones y reducir la tasa de error
23
en el diagnóstico de mamografías. También se recomienda que todo el CADx
se extienda a automatizar el proceso, esto es importante para reducir los costos
computacionales, así como para aumentar el rendimiento del CADx.
5. Inteligencia artificial en imagenología del cáncer: desafíos clínicos y
aplicaciones. Estados Unidos (Bi, y otros, 2019)
Problema de investigación. El cáncer sigue frustrando a pacientes,
investigadores y médicos a pesar de todo. Dada esta complejidad, surgen
dilemas en todas las etapas del tratamiento del cáncer, incluida la detección
temprana confiable; distinción precisa de lesiones preneoplásicas y
neoplásicas; determinación de márgenes tumorales infiltrativos durante el
tratamiento quirúrgico; seguimiento de la evolución tumoral y la resistencia
potencial adquirida a los tratamientos a lo largo del tiempo; y predicción de
agresividad tumoral, patrón de metástasis y recurrencia. Los avances
tecnológicos en imágenes médicas y biomarcadores mínimamente invasivos
son prometedores para abordar tales desafíos en todo el espectro de detección,
tratamiento y monitoreo del cáncer. Sin embargo, la interpretación del gran
volumen de datos que generan estos avances presenta un aluvión de nuevos
desafíos potenciales.
Procedimiento. Se realizó una investigación sobre las diferentes aplicaciones
de la IA para la detección de diferentes tipos de cáncer y su evolución a lo
largo del tiempo, en base a esto se plantearon una serie de desafíos o
inconvenientes que esta aun representa y como esta se proyecta.
24
Resultados obtenidos y conclusiones. A pesar de los éxitos reportados de la
IA en las imágenes de cáncer, se deben superar varias limitaciones y
obstáculos antes de la adopción clínica generalizada. Con la creciente
demanda de imágenes CT201 y MR202, los proveedores de atención generan
constantemente grandes cantidades de datos. Los estándares, incluido el
Sistema de archivo y comunicación de imágenes (PACS) y las Imágenes
digitales y las comunicaciones en medicina (DICOM), han asegurado que
estos datos estén organizados para facilitar el acceso y la recuperación. Sin
embargo, tales datos rara vez se seleccionan en términos de etiquetado,
anotaciones, segmentaciones, garantía de calidad o idoneidad para el
problema en cuestión. La conservación de datos médicos representa un
obstáculo importante en el desarrollo de soluciones clínicas automatizadas, ya
que requiere profesionales capacitados, lo que hace que el proceso sea costoso
tanto en tiempo como en costos. Estos problemas se ven exacerbados por los
métodos que requieren mucha información, incluidas las redes neuronales
profundas. Los métodos no supervisados y auto supervisados no requieren un
etiquetado explícito y, por lo tanto, prometen aliviar algunos de estos
problemas, mientras que los datos sintéticos pueden permitir una ruta más
rápida hacia la curación, abordar el desequilibrio de clase inevitable y mitigar
las preocupaciones de privacidad del paciente. La evaluación comparativa
estandarizada es de particular importancia en el dominio médico,
especialmente dada la multitud de modalidades de imágenes y sitios
anatómicos, así como estándares de adquisición y hardware. También, Se debe
mejorar el acceso a los conjuntos de datos disponibles para promover la
25
colaboración intelectual. Se debe alentar a los grupos institucionales,
profesionales y gubernamentales a compartir datos validados para apoyar el
desarrollo de algoritmos de IA, lo que requiere superar ciertas preocupaciones
técnicas, legales y quizás éticas fundamentales. Por ejemplo, los Institutos
Nacionales de Salud recientemente compartieron un cofre de repositorios de
rayos X y tomografías computarizadas para ayudar a los científicos de IA.
Tales esfuerzos llevan la expansión a una audiencia mucho más amplia en
todos los estados de la enfermedad.
6. Inteligencia artificial explicable para el cáncer de mama: un enfoque de
razonamiento visual basado en casos. Paris, Francia (Jean-Baptiste Lamy,
Boomadevi Sekar, Gilles Guezennec, Jacques Bouaud, & Brigitte Séroussi, 2019)
Problema de investigación. La falta de comprensibilidad en los enfoques de
clasificación basados en inteligencia artificial, esto es particularmente cierto
para los enfoques de "caja negra" como el aprendizaje profundo. Sin embargo,
los médicos generalmente prefieren entender cómo el sistema produce una
recomendación y los sistemas automáticos de apoyo a la decisión a menudo
se perciben como una amenaza y una pérdida de control. De hecho, hace años,
los médicos clasificaron la comprensibilidad como la característica más
deseable de un sistema de apoyo a la decisión clínica. Según el informe de
Villani sobre inteligencia artificial recomiendan "abrir la caja negra de la
inteligencia artificial", con un enfoque especial en la medicina.
26
Procedimiento. Se propone un método CBR (Razonamiento Basado en
Casos) que puede ejecutarse automáticamente como un algoritmo y
presentarse visualmente en una interfaz de usuario para proporcionar
explicaciones visuales o para razonamiento visual. Después de consultar casos
similares, se muestra en una interfaz visual similitudes cuantitativas y
cualitativas entre dicha consulta y los casos similares, por lo que se puede
clasificar de una manera fácil y totalmente explicable la consulta a través del
razonamiento visual. Combina un enfoque cuantitativo (visualizado por un
diagrama de dispersión basado en Escalamiento multidimensional en
coordenadas polares, preservando distancias que involucran la consulta) y un
enfoque cualitativo (ajuste de visualización usando cajas de arcoíris).
Aplicaron este método para la detección del cáncer de seno en un conjunto de
datos real en cáncer de mama. También se probó la interfaz propuesta durante
un pequeño estudio de usuarios (Médicos Expertos).
Resultados obtenidos y conclusiones. En comparación con los algoritmos de
"recuadro negro" como el aprendizaje profundo, las respuestas de los sistemas
CBR se pueden justificar fácilmente utilizando los casos similares como
ejemplos. Sin embargo, la mayoría de los sistemas CBR se limitan a la
visualización de casos similares. Este método cualitativo tiene una precisión
de clasificación comparable a los algoritmos de k-vecinos más cercanos, pero
es más entendible. Los expertos médicos encontraron interesante el enfoque
visual, ya que explica por qué los casos son similares a través de la
visualización de las características compartidas del paciente.
27
7. Detección invasiva precisa y reproducible del cáncer de mama en imágenes de
diapositivas completas: un enfoque de aprendizaje profundo para cuantificar la
extensión del tumor (Cruz-Roa, y otros, 2017)
Problema de investigación. La identificación manual de la presencia y
extensión del cáncer de seno por parte de un patólogo es crítica para el manejo
del paciente para la estatificación del tumor y para evaluar la respuesta al
tratamiento. Sin embargo, este proceso es tedioso y está sujeto a variabilidad
entre e lectores. Para que los métodos computarizados sean útiles como
herramientas de soporte de decisiones, deben ser resistentes a los datos
adquiridos de diferentes fuentes, diferentes protocolos de tinción(coloración),
corte y diferentes escáneres.
Procedimiento. El objetivo de este estudio fue evaluar la precisión y solidez
de un método basado en el aprendizaje profundo para identificar
automáticamente la extensión del tumor invasivo en imágenes digitalizadas.
Se presentó un nuevo método que emplea una red neuronal convolucional para
detectar la presencia de tumor invasivo en imágenes de diapositivas
completas. Este enfoque implicó entrenar al clasificador en casi 400
ejemplares de múltiples sitios diferentes y escáneres, y luego validaron de
forma independiente en casi 200 casos de The Cancer Genome Atlas.
Resultados obtenidos y conclusiones. El enfoque utilizado arrojó un
coeficiente Dice del 75.86%, un valor predictivo positivo del 71.62% y un
valor predictivo negativo del 96.77% en términos de evaluación píxel por
28
píxel en comparación con las regiones anotadas manualmente de carcinoma
ductal invasivo.
8. Método de Pronóstico en Cáncer de Mama (México Patente nº WO2017095213,
2017)
Problema de investigación. La incidencia de cáncer de mama ha aumentado
en los últimos 30-40 años, la mortalidad se ha mantenido estable, como
resultado, probablemente, del diagnóstico precoz y de la mejora en las
opciones de tratamiento que incluyen cirugía, radioterapia, quimioterapia,
terapia hormonal e inmunoterapia, sin embargo, la administración racional de
estos tratamientos, caros y con frecuencia desagradables, requiere de la
identificación tanto de los pacientes con enfermedad localizada con mayor
riesgo de recurrencia y aquellos que presentan metástasis distante o micro
metástasis, los cuales es improbable que respondan a las terapias locales. Por
lo tanto, es altamente deseable contar con métodos objetivos, prácticos y de
fácil acceso que permitan evaluar el pronóstico de un paciente con cáncer de
mama y con base en ello tomar decisiones sobre el manejo clínico que debe
brindar el médico, principalmente en cuanto a la definición de las opciones
terapéuticas que puede utilizar y el seguimiento de cada paciente. En este
sentido, los biomarcadores están desempeñando un papel cada vez más
importante en la detección y manejo clínico de los pacientes con cáncer. En el
caso particular del cáncer de mama, existen ya diversos métodos de pronóstico
basados en la determinación de biomarcadores, sin embargo, siguen
29
presentando desventajas en cuanto a la facilidad de aplicación del método y el
costo asociado. Los métodos basados en la determinación de ARN mensajero
(mRNA, por sus siglas en inglés) presentan dificultades técnicas debido a la
labilidad de esta molécula, además de que no ofrecen la posibilidad de realizar
la determinación en fluidos biológicos de más fácil acceso, como el suero, ya
que deben realizarse directamente sobre el tejido tumoral. Otros métodos
descritos en el estado de la técnica, basados en moléculas más estables como
los microARNs (microRNAs o miRNAs, por sus siglas en inglés), no son los
suficientemente específicos como para ofrecer una firma compacta y con
resultados claros y bien definidos para su uso clínico.
Procedimiento. La presente invención se refiere a métodos útiles para
determinar el pronóstico de un individuo diagnosticado con cáncer de mama,
mediante la determinación del nivel de expresión de una firma de miRNAs
asociados al fenotipo troncal en células de cáncer de mama que comprende
miRNAs hsa-miR-224, hsa-miR-372, hsa-miR-10b, hsa-miR-548a, hsa-miR-
589, hsa-miR-127, hsa-miR-133a, hsa-miR-135b y hsa-miR-189/hsa-miR-24-
1 o un subconjunto de la misma, su comparación con perfiles de expresión
tipo de dicha firma y el cálculo del pronóstico.
Resultados obtenidos y conclusiones. La presente invención supera las
deficiencias del estado de la técnica al proporcionar nuevos métodos
moleculares útiles para establecer un pronóstico en pacientes con cáncer de
mama con base en una firma compacta de marcadores biológicamente
estables, que permite un análisis e interpretación sencillos y eficaces, que es
30
reproducible a bajo costo y que ofrece la posibilidad de ser determinado en
muestras biológicas menos invasivas como el suero o la saliva. El hecho de
contar con una firma compacta de biomarcadores, lo suficientemente robusta
para su uso clínico, permite que los métodos descritos sean más sensibles y
específicos en la práctica clínica, al poder emplear metodologías como el PCR
cuantitativo de transcripción reversa (RT-qPCR) o el PCR digital de
transcripción reversa (RT-dPCR), lo cual impacta además en el empleo de una
menor cantidad de ácidos nucleicos permitiendo procesar muestras de biopsia
o fluidos biológicos más pequeñas. El tamaño pequeño de los microRNAs, así
como su estabilidad, permiten su paso desde el tumor hacia los fluidos
biológicos, lo que hace posible su medición en sangre periférica y sus
derivados, leche, saliva y orina, entre otros. La desregulación de este conjunto
específico de miRNAs (entendida ya sea como subexpresión o como
sobreexpresión) está directamente relacionada con el pronóstico de un
individuo con cáncer de mama.
9. Marcador para Predecir Metástasis del Cáncer de Mama (España Patente nº
WO2015036643, 2015)
Problema de investigación. El hecho de que la mayoría de las muertes en
pacientes con cáncer por tumores sólidos se produce posterior a la metástasis
lo hace que sea crucial comprender los mecanismos moleculares y celulares
que permiten a un tumor metastatizar.
Procedimiento. La invención se relaciona con un método para predecir
metástasis en un sujeto diagnosticado con cáncer de mama y tratado con un
31
taxano, con un método para la selección de pacientes de cáncer de mama que
presentan riesgo de desarrollar metástasis tras el tratamiento con taxano y con
un método in vitro para el diseño de una terapia personalizada de un sujeto
que sufre de cáncer de mama y que está siendo tratado con taxano basados en
determinar el nivel de GRP94 y/o FN14. Asimismo, la invención se relaciona
con una composición que comprende un taxano y un inhibidor de GRP94 y/o
un inhibidor de FN14 y con su uso en el tratamiento de metástasis cerebral.
Resultados obtenidos y conclusiones. Si el nivel de expresión de GRP94 y/o
el nivel de FN 14 está disminuido con respecto a dicho valor de referencia
entonces dicho sujeto no es susceptible de ser tratado con un agente adecuado
para el tratamiento de la metástasis cerebral o en donde si el nivel de expresión
de GRP94 y/o el nivel de FN14 está incrementado con respecto a dicho valor
de referencia entonces dicho sujeto es susceptible de recibir un tratamiento
con un agente adecuado para el tratamiento de la metástasis cerebral. Se
presenta una relación entre una composición que comprende un taxano y un
inhibidor de GRP94 y/o un inhibidor de FN14, en donde si el taxano es
docetaxel entonces el inhibidor de FN 14 no es el compuesto de fórmula.
32
MARCO CONCEPTUAL
Las bases teóricas, juegan un papel importante, en el desarrollo y sustentación de un
proyecto. En esta sección, se presenta el marco teórico utilizado, para el entendimiento
necesario y completo del trabajo, así como una descripción de las herramientas utilizadas en
su desarrollo.
Marco Teórico
Los fundamentos teóricos que sostienen la investigación son mostrados a
continuación. Estos, se encuentran organizados en cuatro grupos: conceptos claves,
conceptos técnicos, métricas de evaluación y conceptos clínico-patológicos.
1. Conceptos claves.
Se ubicaron como conceptos claves, los términos base o fundamentales que son
aplicados en este proyecto:
Sistema de información: Es un conjunto de elementos encargados de recibir
información y procesarla, para convertirla en respuestas de fácil
entendimiento al usuario.
Inteligencia artificial (IA). La inteligencia artificial (IA) es una rama de la
ciencia informática en la que las máquinas realizan tareas como una mente
humana, tales como aprender o razonar. El término inteligencia artificial
representa un conjunto de disciplinas de software, lógica, informática y
filosofía que están destinadas a hacer que las computadoras realicen funciones
que se pensaba que eran exclusivamente humanas, como percibir el
significado en el lenguaje escrito o hablado, aprender, reconocer expresiones
33
faciales, etc. El campo de la inteligencia artificial tiene una larga historia tras
de sí, con muchos avances anteriores, como el reconocimiento de caracteres
ópticos, que en la actualidad se consideran como algo cotidiano. (Hewlett
Packard Enterprise Development LP, 2019)
Machine learning (ML). Es una disciplina científica del ámbito de la
Inteligencia Artificial que crea sistemas que aprenden automáticamente.
Aprender, en este contexto, quiere decir identificar patrones complejos en
millones de datos. La máquina que realmente aprende es un algoritmo que
revisa los datos y es capaz de predecir comportamientos futuros. (Gonzaléz A.
, 2014)
Deep learning (DL). Es un subconjunto de machine learning que entrena a
una computadora para que realice tareas como las hacemos los seres humanos,
como el reconocimiento del habla, la identificación de imágenes o hacer
predicciones. En lugar de organizar datos para que se ejecuten a través de
ecuaciones predefinidas, el Deep learning configura parámetros básicos
acerca de los datos y entrena a la computadora para que aprenda por cuenta
propia reconociendo patrones mediante el uso de muchas capas de
procesamiento. (SAS Institute, 2019).
34
Figura 5. Relación IA, ML y DL. Copyright 2018 ExperiencIA Oracle. Extraída de
(ExperiencIA Oracle, 2018)
Aprendizaje supervisado. Es el más común utilizado, incluye algoritmos
tales como regresión lineal y logístico, clasificación de clases múltiples y
máquinas de vectores de soporte. Se llama así porque el desarrollador actúa
como una guía para enseñar al algoritmo las conclusiones a las que debe llegar,
es decir la salida del algoritmo ya es conocida. Es similar a la forma en que un
niño podría aprender de un maestro. Requiere que los posibles resultados del
algoritmo ya sean conocidos, y que los datos utilizados para entrenarlo estén
previamente etiquetados con las respuestas correctas. Por ejemplo, un
algoritmo de clasificación aprenderá a identificar animales después de haber
sido entrenados en un conjunto de datos de imágenes que están
apropiadamente etiquetadas con las especies del animal y algunas
características de identificación. (Gonzaléz L. , 2018).
35
Figura 6. Aprendizaje supervisado. Copyright 2018 Gonzaléz L.
Red neuronal artificial (RNA). Es un sistema que busca simular el
funcionamiento del cerebro humano. Está compuesta por un conjunto de
“neuronas” interconectadas entre sí mediante enlaces. Estos conjuntos son
llamados capas y cada capa toma como entradas las salidas de la capa anterior.
Dichas entradas se multiplican por un peso, se agregan los resultados parciales
y mediante una función de activación se calcula la salida. (Calvo, 2017).
Figura 7. Estructura básica de una RNA. (Espejel, 2019)
36
Red neuronal convolucional. Es muy similar a la red neuronal ordinaria. Son
comúnmente utilizadas para la clasificación de imágenes por su buen
rendimiento. Una de sus principales características, es la capacidad de
reconocer un objeto en particular, sin importar el lugar en que se encuentre.
Funciona en base a la extracción de características principales en cada una de
sus capas, (bordes, iluminación, formas, etc.). El objetivo es reducir
progresivamente la dimensión de la entrada, obteniendo de esta manera, los
parámetros relevantes que aporten a la respuesta final. (Lopez Briega, 2016).
Figura 8. Ejemplo de una red neuronal convolucional. Copyright 2019 Ronald Wihal Oei,
Guanqun Hou, Fuhai Liu, Jin Zhong, Jiewen Zhang, Zhaoyi An, Luping Xu, Yujiu Yang. Extraída de
(PLOS, 2019)
37
2. Conceptos técnicos
En este apartado, se ubican los conceptos que se usaron en la implementación de la
red neuronal convolucional.
Tensor. Hace referencia a una estructura de datos, o conjunto de valores
primitivos, por ejemplo, números flotantes o enteros, organizados en un array
de 1 o N dimensiones. El rango del “tensor” sería el número de dimensiones.
(Zaforas, 2017). Por ejemplo:
• Un único número (un escalar) sería un tensor de rango 0
• [1. ,2., 3.]: un array sencillo sería un tensor de rango 1
• [[1., 2., 3.], [4., 5., 6.]]: una matriz de 2×3 sería un tensor de rango 2, ya
que tiene dos dimensiones (alto y ancho).
• [[[1., 2., 3.]], [[7., 8., 9.]]]: este sería un ejemplo de un tensor de rango 3
con dimensiones 2x1x3.
Figura 9. Ejemplos de tensores con sus respectivos rangos (dimensiones). Copyright
Leonardo Araujo Santos. Extraída de (Araujo Santos, 2019)
38
Convolución. Es una operación matemática que extrae propiedades de una
imagen de entrada. Consta de dos elementos: una matriz de imágenes y un
filtro o núcleo que se encarga de preservar la relación entre píxeles. (Espejel,
2019)
Figura 10. Ejemplo de convolución aplicando filtro 3x3 a una imagen 5x5. Copyright 2019
Espejel.
Como se observa en la Figura 10, la imagen (matriz verde), es operada
mediante un filtro o kernel, que la recorre (matriz amarilla), el cual va
extrayendo una representación de las características relevantes de los pixeles
que toma en cada paso, obteniendo una nueva imagen (matriz rosada), con
dimensión reducida, que agrupa estas características. Las características
extraídas, dependen del filtro usado en cada convolución. (Prabhu, 2018)
Stride. Es el número de desplazamientos de píxeles sobre la matriz de entrada.
Cuando el stride es 1, movemos los filtros de a 1 píxel por vez. Cuando el
stride es 2, movemos los filtros de a 2 píxeles a la vez y así sucesivamente. Es
el paso que da el filtro mientras recorre la imagen. (Prabhu, 2018)
39
Pooling. La sección de agrupación de capas (pooling), reduce el número de
parámetros cuando las imágenes son demasiado grandes. Esta agrupación
espacial también es llamada submuestreo, y reduce la dimensionalidad de cada
imagen, pero retiene información importante. Puede ser de diferentes tipos:
• Max pooling: Selecciona los pixeles más brillantes.
• Average pooling: Suaviza la imagen, quita nitidez.
• Min pooling: Selecciona los pixeles más oscuros.
La agrupación máxima o max pooling, toma el elemento más grande del mapa
de características seleccionado. Average pooling, hace la agrupación de estas
características por medio de un promedio, y el min pooling, se encarga de
capturar el valor más pequeño de dicho mapa. (Prabhu, 2018)
Figura 11. Ejemplo de aplicación de max pooling. Copyright 2018 Prabhu.
40
Padding. A veces, el filtro por sus dimensiones no se ajusta perfectamente a
la imagen de entrada. Hay dos opciones:
1. Rellenar la imagen con ceros (zero-padding) para que se ajuste.
2. Dejar suelta la parte de la imagen donde el filtro no encaja. Esto se llama relleno
válido (valid padding) y mantiene solo una parte válida de la imagen. (Prabhu,
2018)
ReLU. Significa Unidad Lineal Rectificada, y es una operación no lineal. La
salida es ƒ (x) = max (0, x). Es decir, todo valor que sea positivo se mantendrá
igual, sin embargo, aquel valor que sea negativo se convertirá en cero.
(Prabhu, 2018)
Figura 12. Ejemplo de no linealidad con la función ReLU. Copyright 2018 Prabhu.
Batch normalization: La normalización por lotes es una técnica para entrenar
redes neuronales muy profundas que estandariza las entradas a una capa para
cada mini lote. Esto tiene el efecto de estabilizar el proceso de aprendizaje y
reducir drásticamente la cantidad de épocas de entrenamiento requeridas para
entrenar redes profundas. La normalización por lotes permite que cada capa
de una red aprenda por sí misma un poco más independientemente de otras
capas. (Brownlee, 2019)
41
Flatten: Es la capa encargada de agrupar cada pixel de la imagen en un arreglo
de una dimensión. En otras palabras, aplanar la matriz que representa la
imagen.
Full connected layer or dense layer. Son capas que están completamente
conectadas (densas) por las neuronas en una capa de red. Cada neurona en una
capa densa recibe una entrada de todas las neuronas presentes en la capa
anterior, por lo tanto, están densamente conectadas.
En otras palabras, la capa densa es una capa totalmente conectada, lo que
significa que todas las neuronas de una capa están conectadas con las de la
capa siguiente. (Rampurawala, 2019)
Figura 13. Ejemplo de full conected layer. Copyright 2018 Prabhu.
Dropout. Es una función de regularización de la red neuronal, y muy útil para
evitar problemas como el sobreajuste (overfitting). Cuenta con un parámetro
P que permite regular cuál es la probabilidad de mantener los valores de
entrada de dicha neurona en tiempo de entrenamiento. Si se asigna, por
ejemplo, un DropOut entre la capa 2 y 3 del modelo, y se define que el
42
parámetro P sea de 0.4, se está indicando que todos los valores que van a salir
de la capa 2 en tiempo de entrenamiento tienen un 40% de probabilidad de
llegar a la capa 3, y todos los demás serán forzados a ser 0. Es importante
destacar que en Keras, el parámetro que utiliza la capa DropOut funciona de
manera inversa, es decir, establece la probabilidad de eliminar el valor.
(Araque Volk, 2019)
Softmax. Es una función de activación que convierte un vector real en un
vector de probabilidades categóricas. Los elementos del vector de salida están
en el rango (0, 1) y suman 1. Cada vector se maneja de forma independiente.
Softmax a menudo se usa como activación para la última capa de una red de
clasificación porque el resultado podría interpretarse como una distribución
de probabilidad, es decir, asigna una probabilidad para cada categoría en una
clasificación. (Keras, 2020)
Batch. Es el parámetro que define el número de muestras en las que se divide
el dataset para ser entrenado. Por ejemplo, si se tiene un dataset con 1250
datos, y se define un tamaño de lote (batch_size) de 100, la red tomará grupos
de 100 datos y va aprendiendo de ellos. Comienza con los datos 1 a 100, 101
a 200, y así sucesivamente. En este caso, se tienen 13 pasos, donde el último,
tomará un lote que estará conformado por 50 datos únicamente. (itdxer, 2019)
Transfer learning. El aprendizaje por transferencia es un método de
aprendizaje automático en el que un modelo desarrollado para una tarea se
reutiliza como punto de partida para un modelo en una segunda tarea.
43
Es un enfoque popular en el deep learning donde los modelos pre-entrenados
se utilizan como punto de partida en las tareas de procesamiento de la visión
por computadora y el lenguaje natural, dados los vastos recursos informáticos
y de tiempo necesarios para desarrollar modelos de redes neuronales sobre
estos problemas y los enormes saltos de habilidad. que proporcionan sobre
problemas relacionados. (Brownlee, A Gentle Introduction to Transfer
Learning for Deep Learning, 2019)
Entrenamiento (training dataset). Es la muestra de datos utilizada para
ajustarse al modelo. Es decir, el conjunto de datos etiquetados que se utiliza
para entrenar el modelo. El modelo ve y aprende de estos datos. (Shah, 2017)
Validación (validation dataset). Es la muestra de datos utilizada para
proporcionar una evaluación de un modelo ajustado en el conjunto de datos
de entrenamiento, mientras se ajustan los hiperparámetros del modelo. En este
punto, la red neuronal tiene conocimiento de las etiquetas de los datos. (Shah,
2017)
Prueba (test dataset). Es la muestra de datos utilizada para proporcionar una
evaluación del ajuste final del modelo en el conjunto de datos de
entrenamiento. El conjunto de datos de prueba proporciona el estándar de oro
utilizado para evaluar el modelo. Solo se usa una vez que un modelo está
completamente entrenado (usando los conjuntos de entrenamiento y
validación). El conjunto de prueba es generalmente lo que se usa para evaluar
modelos competidores y son datos de los cuales el modelo no tiene
conocimiento de sus etiquetas. (Shah, 2017)
44
Mapa de calor. Un mapa de calor (heatmap) es una representación gráfica de
datos donde los valores se representan por color; el color rojo representa la
zona de mayor relevancia. Los mapas de calor facilitan la visualización de
datos complejos y su comprensión. (Hotjar, 2020)
3. Métricas de evaluación.
Las métricas usadas para la evaluación del modelo fueron: accuracy, precision, recall
y F1 score. El cálculo de estas métricas se hace en base a los valores de falsos y
verdaderos, positivos y negativos, las convenciones se muestran a continuación:
• TP → Verdaderos positivos, clasificar como positiva una clase positiva.
• TN→ Verdaderos negativos, clasificar como negativa una clase negativa.
• FP → Falsos positivos, clasificar como positiva una clase negativa.
• FN → Falsos negativos, clasificar como negativa una clase positiva.
Accuracy. Es la medida de rendimiento más intuitiva y es simplemente una
relación entre la observación predicha correctamente y el total de
observaciones. Se puede pensar que, si se tiene una alta precisión, entonces el
modelo es muy bueno. Sin embargo, esto es cierto solo cuando se tiene
conjuntos de datos simétricos donde los valores de falsos positivos y falsos
negativos son casi iguales. Por lo tanto, se debe buscar otros parámetros para
evaluar el rendimiento de su modelo. (Renuka Joshi, 2016)
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁
Precision. Es la relación entre las observaciones positivas predichas
correctamente y el total de observaciones positivas predichas, es decir, cuáles
45
de las predicciones positivas, en realidad lo son. Responde a la pregunta ¿Qué
proporción de las predicciones positivas eran positivas en realidad? (Google
developers, 2020)
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =𝑇𝑃
𝑇𝑃 + 𝐹𝑃
Recall. Es la proporción de observaciones positivas predichas correctamente
con respecto a todas las observaciones en la clase real, es decir, la capacidad
del modelo para clasificar correctamente las clases positivas. Responde a la
pregunta ¿Qué proporción de positivos reales se predijo correctamente?
(Google developers, 2020)
𝑅𝑒𝑐𝑎𝑙𝑙 =𝑇𝑃
𝑇𝑃 + 𝐹𝑁
F1-score. El F1 score se puede interpretar como un promedio ponderado de
precisión y recall, donde un F1 score alcanza su mejor valor en 1 y el peor
puntaje en 0. La contribución relativa de precision y recall al F1 score es igual.
(scikit-learn developers, 2020)
𝐹1 𝑠𝑐𝑜𝑟𝑒 =2×(𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛×𝑟𝑒𝑐𝑎𝑙𝑙)
(𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙)
AUC: Significa "área bajo la curva ROC". Esto quiere decir, que el AUC mide
toda el área bidimensional por debajo de la curva ROC completa. Oscila en
un rango de valor del 0 al 1. Un modelo cuyas predicciones son un 100%
incorrectas tiene un AUC de 0.0; otro cuyas predicciones son un 100%
correctas tiene un AUC de 1.0. (Google developers, 2020)
46
Loss: Es una penalidad por una predicción incorrecta. Esto quiere decir que
es un número que indica qué tan incorrecta fue la predicción del modelo en
un solo ejemplo. Si la predicción del modelo es perfecta, la pérdida es cero;
de lo contrario, la pérdida es mayor. (Google developers, 2020)
4. Conceptos clínico-patológicos.
Para la realización del trabajo, fue necesario hacer una investigación del área en que
se está aplicando este prototipo de sistema de información. A continuación, se
muestran los conceptos que fueron necesarios para el entendimiento real del problema
y el planteamiento de la solución que se presenta.
Cáncer. Células anormales que se multiplicar sin control y pueden invadir
tejidos cercanos. (Fondo Colombiano de Enfermedades de Alto Costo Cuenta
de Alto Costo[CAC], 2018)
Mamografía. La mamografía es un tipo de imagen médica especializada que
utiliza un sistema de dosis baja de rayos X para visualizar el interior de las
mamas. Un examen de mamografía ayuda en la detección temprana y el
diagnóstico de las enfermedades mamarias en las mujeres. (Radiological
Society of North America, 2019)
Carcinoma mamario. Un carcinoma es el cáncer que empieza en la piel o en
los tejidos que revisten o cubren los órganos internos. El carcinoma mamario
es el cáncer que se forma en los tejidos del seno (mama). El tipo de cáncer de
mama más común es el carcinoma ductal, que empieza en el revestimiento de
47
los conductos delgados que llevan leche desde los lobulillos de la mama hasta
el pezón. Otro tipo de cáncer de mama es el carcinoma lobulillar, que empieza
en los lobulillos (glándulas lácteas) de la mama. El cáncer de mama invasivo
es el que se diseminó desde el sitio donde empezó (conductos de la mama o
lobulillos) hasta el tejido normal que los rodea. El cáncer de mama se presenta
tanto en hombres como en mujeres, aunque el cáncer de mama masculino es
poco frecuente. (NIH ... Transformación de Descubrimientos en Salud, 2019)
Falso positivo. El falso positivo, hace referencia al resultado de una prueba
que indica que una persona tiene cierta enfermedad o afección cuando en
realidad no la tiene. Es decir, que el examen dice que la paciente tiene cáncer
de mama, cuando en realidad no es así. (NIH ... Transformación de
Descubrimientos en Salud, 2019)
Falso negativo. El falso negativo es todo lo contrario al falso positivo. Hace
referencia al resultado de una prueba que indica que una persona no tiene
cierta enfermedad o afección cuando en realidad la tiene. Es decir, que el
examen dice que la paciente no tiene cáncer, cuando en realidad si lo tiene.
(NIH ... Transformación de Descubrimientos en Salud, 2019)
Densidad mamaria. Los senos están conformados por lobulillos, conductos,
tejidos adiposos y tejido conectivo fibroso.
• Los lobulillos producen leche y a menudo se les llama tejido glandular
• Los conductos son tubos diminutos que llevan la leche desde los lobulillos
al pezón
48
• El tejido fibroso y la grasa son los que dan el tamaño y la forma a los
senos, y mantienen los otros tejidos en su lugar
• Los senos se observarán densos si se tiene mucho tejido fibroso o
glandular sin tanta grasa en los senos. Algunas mujeres tienen más tejido
mamario denso que otras. Para la mayoría de las mujeres, los senos se
vuelven menos densos con la edad, aunque para algunas mujeres, la
densidad cambia poco (American Cancer Society, 2019)
Hay diferentes grados de densidad de la mama, desde tejido poco denso o
inexistente hasta tejido muy denso. Cuanta más densidad haya, más difícil es
encontrar tumores y otros cambios en una mamografía. (NIH ...
Transformación de Descubrimientos en Salud, 2019)
Sensibilidad mamográfica. Es la probabilidad de clasificar correctamente a
un individuo enfermo, es decir, la probabilidad de que para un sujeto enfermo
se obtenga en la prueba un resultado positivo. La sensibilidad es, por lo tanto,
la capacidad de la mamografía para detectar el cáncer. (Pita Fernández &
Pértegas Díaz, 2010)
Especificidad mamográfica. Es la probabilidad de clasificar correctamente a
un individuo sano, es decir, la probabilidad de que para un sujeto sano se
obtenga un resultado negativo. En otras palabras, se puede definir la
especificidad como la capacidad para detectar a quienes no tienen cáncer de
mama. (Pita Fernández & Pértegas Díaz, 2010)
49
Biopsia. Remoción de células o tejido, para ser examinado por el patólogo.
(Fondo Colombiano de Enfermedades de Alto Costo Cuenta de Alto
Costo[CAC], 2018)
Nódulos mamarios. Consisten en una masa o aumento de volumen que puede
tener distintas causas. Una de ellas es la acumulación de líquido en una fina
membrana y en estos casos reciben el nombre de quistes (cambios
fibroquísticos), los que no tienen ninguna relación con el cáncer. En cambio,
si la protuberancia es producto de una formación de contenido sólido, sin
líquido en su interior, se le debe considerar como un tumor mamario, que
puede ser benigno o maligno (cáncer de mama). (Camacho Neira, 2017)
Microcalcificaciones. Son las lesiones no palpables más frecuentes de la
mama. Son diminutos depósitos de calcio en el tejido mamario que se
observan en una mamografía en forma de pequeños puntos blanquecinos.
(RBA, 2018)
Morbilidad. Proporción de enfermedad en una población determinada.
(Fondo Colombiano de Enfermedades de Alto Costo Cuenta de Alto
Costo[CAC], 2018).
Carcinoma in situ. Células anormales que se encuentran en el lugar donde se
formaron inicialmente y no se han diseminado. (Fondo Colombiano de
Enfermedades de Alto Costo Cuenta de Alto Costo[CAC], 2018)
50
Carcinoma invasivo. Cáncer que se ha diseminado más allá de la capa de
tejido de la cual se desarrolló, infiltrando el tejido sano. (Fondo Colombiano
de Enfermedades de Alto Costo Cuenta de Alto Costo[CAC], 2018).
Marco tecnológico.
Para el cumplimiento de cada objetivo planteado, se tuvo que acudir a una lista de
herramientas profesionales, que proveyeron los recursos suficientes y necesarios para
cumplir con cada actividad de la mejor manera.
Cygwin: Es un conjunto de herramientas de desarrollo, elaborada por Red Hat, para
proporcionar un comportamiento similar a los sistemas Unix en Windows. (Linux
Adictos, 2019)
WinSCP: Es una aplicación gratuita de transferencia de archivos de código abierto,
exclusiva de Windows, que utiliza el Protocolo de transferencia de archivos Secure
Shell y el Protocolo de copia segura para la transferencia de archivos simple o segura
entre la computadora local y un servidor remoto. ( Wayne, 2020)
Pydicom: Pydicom es un paquete de Python para trabajar con archivos DICOM. Fue
hecho para inspeccionar y modificar datos DICOM de una manera fácil. Las
modificaciones se pueden volver a escribir en un nuevo archivo. Puede ejecutarse en
cualquier lugar donde se ejecute Python sin ningún otro requisito, aunque se necesita
NumPy si se manipulan datos de píxeles. (Python Software Fundation, 2020)
51
OpenCV: OpenCV-Python es una librería de código abierto con enlaces de Python
diseñada especialmente para resolver problemas de visión por computadora.
(OpenCV, 2020)
NumPy: Es el paquete fundamental para la computación científica con Python.
Proporciona un objeto de matriz multidimensional y una variedad de rutinas para
operaciones rápidas en matrices, que incluyen matemática, lógica, manipulación de
formas, clasificación, álgebra lineal básica, operaciones estadísticas básicas,
simulación aleatoria y mucho más. (NumPy, 2020)
Scikit learn: Es una biblioteca en Python que proporciona muchos algoritmos de
aprendizaje supervisados y sin supervisión. Se basa en tecnologías como NumPy,
Pandas y Matplotlib. (Codecademy, 2020)
TensorFlow. TensorFlow es una biblioteca de código abierto dirigida al aprendizaje
automático a través de una serie de tareas. Ha sido desarrollado por Google para
satisfacer las necesidades de sistemas capaces de construir y entrenar redes
neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje
y razonamiento usados por los humanos. (Ortego Delgado, 2017)
Flutter. Flutter es el kit de herramientas de interfaz de usuario de Google para crear
aplicaciones compiladas de forma nativa en dispositivos móviles, web y de escritorio
desde una única base de código. (flutter-dev, 2020)
Flask. Es un marco web, esto significa que Flask proporciona herramientas,
bibliotecas y tecnologías que permiten crear una aplicación web. Esta aplicación web
puede ser una página web, un blog, un wiki o ser tan grande como una aplicación de
52
calendario basada en la web o un sitio web comercial. En este trabajo, se usó esta
herramienta para crear un api, como unión de nuestra red neuronal, con el frontend
elaborado en Flutter. (Kushai Das, 2020)
Firebase. Firebase es un Back-end-as-a-Service (Baas). Proporciona a los
desarrolladores una variedad de herramientas y servicios para ayudarlos a desarrollar
aplicaciones de calidad y aumentar su base de usuarios. Está construido sobre la
infraestructura de Google. Firebase se clasifica como un programa de base de datos
NoSQL, que almacena datos en documentos similares a JSON. En Firebase, un
documento es un conjunto de pares clave-valor definidos por un esquema. Un grupo
de documentos forma una colección. (Educative, 2020)
StarUML. Es una plataforma de modelado de software que admite Unifited Modeling
Language (UML). Se basa en la versión 1.4 de UML y proporciona once tipos
diferentes de diagramas. (documentation.help, 2020)
Figma. Figma es una herramienta de diseño y creación de prototipos basada en la
nube para proyectos digitales. Está hecho para que los usuarios puedan colaborar en
proyectos y trabajar prácticamente en cualquier lugar. Si bien, esta herramienta se
parece mucho a otras opciones de creación de prototipos, el diferenciador clave es la
capacidad de trabajar con equipos en proyectos. (Cousins, 2019)
Maze-Design. Maze es una herramienta de prueba de usabilidad en línea que puede
usar prototipos de alta fidelidad para preparar la configuración del entorno de test de
usabilidad / UT remoto. Permite que usuarios reales interactúen con el prototipo
definiendo misiones. Con esto, se recopila información práctica para un posterior
53
análisis del rendimiento del diseño. La idea es obtener una realimentación por parte
del usuario para aplicar mejoras de diseño, antes de llevar el prototipo a su respectivo
desarrollo. (Jain, 2019)
TensorBoard. Es una herramienta para proporcionar las mediciones y
visualizaciones necesarias durante el flujo de trabajo de aprendizaje automático.
Permite rastrear métricas de experimentos como loss y accuracy, visualizar el gráfico
del modelo, proyectar incrustaciones en un espacio dimensional inferior, entre otras
cosas. (TensorFlow, 2020)
Figura 14. Ejemplo de un TensorBoard. Copyright TensorFlow.
54
DESARROLLO METODOLÓGICO
En esta sección, se describe el desarrollo de las actividades que se definieron en la
metodología planteada durante la primera etapa de esta investigación, la manera en que se
llevó a cabo el cumplimiento de cada objetivo, y la aplicación de las tecnologías descritas en
el marco tecnológico.
Infraestructura tecnológica del sistema.
Los componentes que se usaron, en la construcción tanto del backend, como del
frontend del sistema, se describen a continuación, justificando, el porqué de su selección. Se
hace referencia, a la información que se obtuvo de la revisión de literatura en proyectos
aplicados al área de medicina. Se tomó como partida esta revisión y se procedió a hacer la
respectiva selección.
1. Tecnologías.
Fue importante tener claro en que entorno se desarrollaría el modelo. Para esto, se
dispuso de una caracterización de los lenguajes de programación para proyectos con
Machine Learning (Tabla 2), donde se revisaron las ventajas y desventajas de cada
uno de ellos y mediante el Análisis Jerárquico Ponderado (AJP) se definió que la
mejor opción era Python en base a los criterios establecidos.
La descripción del proceso de selección se muestra en el capítulo Análisis de
Resultados. La información de la Tabla 1 fue recopilada de (Gonzáles, 2018).
55
Python R Matlab Julia
Velocidad Alta Alta Moderada Moderada
Paradigma Orientado a
objetos Funcional Funcional Funcional
Costo Gratuito Gratuito Pago Gratuito
Comunidad Alta Moderada Moderada Moderada
Producción Tareas generales Análisis
estadístico
Visión
computacional
Biología y
bioinformática
Tabla 1. Comparación Lenguajes de Programación para Machine Learning, 2018 Elaboración
propia. Fuente de Información: Gonzáles.
Posteriormente, se establecieron las tecnologías a usar. Si bien, entre los frameworks
más populares de Python para IA como lo son Pytorch y TensorFlow, no existe una
diferencia notable en los beneficios que ofrecen, se eligió el último debido a las
ventajas que presenta en cuanto a producción, además, de las herramientas que
contiene y que facilitan el análisis de los datos (TensorBoard). Otro factor que se tuvo
en cuenta fue su compatibilidad con Flutter, que es el SDK que se seleccionó para la
construcción del frontend.
Se definió Flutter por diferentes razones: la primera de ellas, porque es un SDK
bastante actual, y que lanzó su versión web, justamente el año pasado (a finales del
2019) (Eduardo CQ, 2019). Otro factor importante es la posibilidad que nos brinda
de, en un futuro, adaptar el sistema para dispositivos móviles, con lo que podemos
crear nuevas ideas que solucionen cada vez de mejor manera, la problemática que esta
investigación aborda.
56
2. Arquitecturas.
Como primera instancia se llevó a cabo un reconocimiento teórico de los modelos de
redes neuronales aplicados en la clasificación de imágenes, donde se analizaron y
compararon, las principales métricas: accuracy, precision, recall y F1 score (Tabla
1), con sus valores promedio para proyectos realizados de clasificación de imágenes
con enfoque médico. (Nahata & Singh, 2020)
ResNet50 VGG16 Inception V3
Accuracy 0.85 0.87 0.90
Precision 0.86 0.87 0.90
Recall 0.85 0.87 0.90
F1 score 0.85 0.87 0.90
Tabla 2. Métricas promedio de distintos proyectos de clasificación de imágenes con enfoque médico.
Copyright 2020 Nahata & Singh.
Fue así, como se eligieron las arquitecturas ResNet50, VGG16 e Inceptionv3, para
implementarlas con nuestro conjunto de datos como se describe más adelante en la
Metodología de Prueba y de esta manera definir cuál generaba mejores resultados.
57
3. Hardware
El entrenamiento de la red neuronal requirió de ciertas características potentes en el
hardware debido al gran volumen de datos utilizados, y la necesidad de obtener los
resultados de manera rápida. Para esto, se usó la plataforma Paperspace, donde se
pagó por el alquiler de una máquina virtual con las siguientes características:
Parámetro Valor
Tipo de GPU Nvidia Quadro P4000
RAM 30 GB
CPUs 8
Almacenamiento 100 GB
GPU 8 GB
Tabla 3. Especificaciones técnicas máquina virtual. Elaboración Propia. Fuente de Información: Paperspace.
58
Metodología de los datos
Uno de los factores de más peso, para esta investigación, fueron los datos. Es
necesario, contar con datos que en realidad aporten significativamente en la respuesta que se
espera del sistema. Sin embargo, para contar con un dataset óptimo, se requiere de someter
la información a un tratamiento que le permita a la red neuronal, entenderla. En esta sección,
se describe el conjunto de datos que se utilizó para el proyecto, y su respectivo
preprocesamiento.
Figura 15. Metodología empleada para el tratamiento de los datos. Elaboración propia.
59
1. Dataset.
Para el desarrollo del proyecto se usó la base de datos digital para la mamografía de
detección DDSM, proporcionada por la Universidad del Sur de Florida (USF). Esta base
de datos contiene 2.620 estudios distribuidos en 43 volúmenes; sin embargo, solo se
tomaron 695 que hacen referencia a 2.780 imágenes sin ningún tipo de anomalía
(etiqueta: normal), ya que cada estudio incluye dos imágenes de cada seno. Para éstas,
fue necesario generar las Regiones de Interés (ROI por sus siglas en inglés), que
correspondieron a 14.234 imágenes, puesto que se obtuvieron distintos recortes con
variaciones de la zona. (Rose, 2006)
De igual manera, se usó la CBIS-DDSM (Subconjunto de imágenes mamarias curadas de
DDSM), que es una versión actualizada y estandarizada de la base de datos digital para
mamografía de detección (DDSM). La colección CBIS-DDSM incluye un subconjunto
de los datos DDSM, seleccionados por un mamógrafo capacitado. Las imágenes están
disponibles en formato DICOM. Este dataset si incluye la segmentación ROI, además,
del diagnóstico patológico de los datos (etiquetas: nódulo maligno, nódulo benigno,
microcalcificación maligna, microcalcificación benigna), que están disponibles en un
archivo CSV. El conjunto CIBIS-DDSM cuenta con 1.815 pacientes, es decir,1.815
mamografías y su respectiva máscara (ROI). De igual forma, para estas ROI, se generaron
nuevos recortes con algunas variaciones obteniendo 9.293 de ellas.
Si bien, existen otras bases de datos como la de la Sociedad de Análisis de Imágenes
Mamográficas (MIAS) y el Proyecto de Recuperación de Imágenes en Aplicaciones
Médicas (IRMA), y aunque estos conjuntos de datos públicos son útiles; están limitados
en términos de usabilidad y accesibilidad. Por el contrario, CIBIS-DDSM está disponible
gratuitamente para navegar, descargar y usar con fines comerciales, científicos y
60
educativos, tal como se describe en la Licencia Creative Commons Reconocimiento 3.0
Unported. Además, es proporcionada públicamente por The Cancer Imaging Archive
(TCIA). (Nolan, 2020)
Se realizó entonces, el entrenamiento de la red neuronal con el dataset conformado por
las ROI, teniendo un total de 23.527 imágenes.
2. Preprocesamiento de los datos.
El preprocesamiento de los datos constó de las fases descritas a continuación.
En primer lugar, se descargaron los archivos de cada una de las bases de datos
previamente mencionadas (Universidad del Sur de Florida → DDSM y The Cancer
Imaging Archive → CIBIS-DDSM). Para descargar las imágenes proporcionadas por la
USF, fue necesario el uso de WinSCP, que nos permitió acceder de manera segura, al
servidor donde se ubicaban los datos, ya que no era posible la descarga directa de los
mismos. La asesoría necesaria para realizar esta transferencia fue tomada del manual
DDSM Utility Versión 3.1, que se logró obtener después de una exhaustiva búsqueda.
(Jalandhar & Sharma, 2016). Por el contrario, las imágenes de la CIBIS-DDSM, no
presentaron problema alguno en el proceso de descarga; los datos inicialmente se
encontraban en formato tcia, y se usó el software oficial NBIA Data Retriever para abrir
el archivo y proceder con la respectiva descarga de una manera fácil y rápida.
En cuanto al preprocesamiento de los datos, inicialmente, las imágenes DDSM, se
encontraban en formato LJPEG y tuvieron que ser convertidas a formato PNG. Esto se
realizó mediante dos herramientas (ejecutables: jpeg.exe y ddsmraw2pnm.exe)
desarrolladas por el mismo creador del dataset, con el fin de facilitar esta conversión. Sin
61
embargo, fue necesaria la implementación de Cygwin, que mediante sus herramientas
optimizó el procesamiento de las imágenes, ya que los ejecutables mencionados, solo
permitían convertir un directorio a la vez. Por otra parte, las imágenes de la CBIS-DDSM
tuvieron que ser, en primer lugar, renombradas, para ser asociadas con cada paciente,
distinguiendo en cada caso, las mamografías de sus respectivas máscaras (ROI). Una vez
separadas en directorios diferentes, mamografías y ROI, se procedió a hacer la respectiva
conversión de formato con la librería Pydicom. Las imágenes estaban en formato
DICOM, un formato más actual y estandarizado, y fueron convertidas a PNG (el formato
PNG es recomendado para evitar la pérdida de calidad en las imágenes, (Nolan, 2020)).
Luego de convertir las imágenes, el siguiente paso fue generar las variaciones en las ROI
para el conjunto de datos CIBIS-DDSM, es decir, se generaron nuevos recortes, similares
a las máscaras originales, con unos leves cambios en cuanto a la posición. Esto se hizo
con el fin, de aumentar el volumen de datos, e incitar a que el modelo aprendiera a
reconocer un mismo objeto en distintas condiciones. En el caso del dataset DDSM, se
generaron estas ROI desde cero, donde fue necesario, tener en cuenta el tipo de escáner
con que las imágenes habían sido generadas (DBA, Howtek, Lumisys), ya que, para cada
uno, él método de recorte era distinto. De este modo, se obtuvo el set de datos total con
un tamaño estandarizado de 299 x 299. Esta estandarización fue necesaria, ya que la red
neuronal, solo acepta un valor homogenizado en las dimensiones de las entradas.
62
Figura 16. Recorte tomado de nuestro dataset, región de interés ROI. Fuente Propia.
Para el proceso de etiquetado de las imágenes, en el caso de las CIBIS-DDSM, se tomó,
como punto de partida, el previo renombramiento que se había hecho a las imágenes, y
utilizando el archivo CSV que contenía los Id de cada paciente, se asoció cada
mamografía con su respectivo diagnóstico patológico. Mientras tanto, a los datos
DDSM, se les asignó la etiqueta “normal” sin problema, ya que todas las imágenes,
correspondían a este tipo.
Con dicho etiquetado, se procedió a escribir cinco archivos tfrecords (archivos de
almacenamiento), que agruparon los datos tanto de la CIBIS-DDSM, como de la DDSM
para posteriormente formar un único directorio.
3. Adaptación de los datos para el entrenamiento.
Culminada la etapa de preprocesamiento, fue necesario adaptar los datos para que el
modelo los reconociera y pudiera usarlos. Para esto, lo primero que se hizo, fue tomar los
archivos tfrecords que se habían generado, y se decodificaron, obteniendo de esta forma,
las imágenes (data) y etiquetas (labels) por aparte.
63
Las imágenes, que anteriormente se habían estandarizado en un tamaño de 299 x 299,
tuvieron que redimensionarse, conforme al tamaño de entrada requerido por cada una de
las arquitecturas seleccionadas. Este proceso, se llevó a cabo mediante el uso de la librería
OpenCV, facilitada por Python. Para el caso de la ResNet50, el tamaño solicitado era de
224 x 224, y de igual forma para la VGG16. Por otro lado, la arquitectura InceptionV3,
aceptaba las dimensiones que ya estaban definidas (299 x 299), así que no tuvo que
hacerse ninguna modificación para este caso en particular.
Además de los cambios en la dimensión de las imágenes, fue necesario convertir la data,
a RGB (red, green and blue), ya que los modelos requerían que las entradas tuvieran
estos tres canales. De igual manera, fue la librería OpenCV, la que hizo posible esta
conversión.
Figura 17. Imagen diagnóstica antes y después de ser convertida a RGB. Fuente Propia.
Con respecto a las etiquetas, por medio de la librería Numpy, se les indicó que adquirieran
un valor categorical. De esta manera, cada etiqueta quedaba representada por medio de
un arreglo que contenía un 1 en la posición correspondiente a su etiqueta, y lo demás con
64
ceros. Por ejemplo, el arreglo [1, 0, 0, 0, 0], representaba la etiqueta “normal”, el arreglo
[0, 1, 0, 0, 0], representaba la etiqueta “microcalcificación benigna”, y así sucesivamente.
Metodología de prueba
Para definir qué arquitectura de las seleccionadas (ResNet50, VGG16, InceptionV3),
brindaba mejores resultados, se utilizaron seis métricas de evaluación: accuracy, precision,
recall, F1 score, auc y loss. Se realizaron inicialmente tres pruebas con el dataset de las ROI
en cada una de las arquitecturas, es decir, se implementó una red neuronal convolucional
basada en parches, donde se definió una segmentación de los datos de 70% para training y
30% para test, con su respectiva estratificación. Se tuvieron que hacer pruebas adicionales
con algunas variaciones en el dataset y una segmentación de 90% para training y 10% para
test, debido a los resultados obtenidos que se muestran en el capítulo Análisis de Resultados.
Diseño del prototipo
Se realizó el diseño respectivo tanto para el componente funcional como para el
componente gráfico, además de las bases de datos que se utilizaron para el almacenamiento
de la información.
1. Modelamiento UML.
Para tener una claridad en la implementación del prototipo, fue necesario elaborar
previamente el diseño. Para esto se realizó en primer lugar el diagrama de contexto
(Figura 18), que nos permitió visualizar la manera en que las distintas entidades
(usuarios, red neuronal, bases de datos, etc.) interactuaban con el sistema. Además,
65
se utilizó el lenguaje UML para modelar los requerimientos y funcionalidades
mediante los diagramas de casos de uso, de clases y de secuencia. UML es un lenguaje
de modelado visual que permite el diseño y la implementación de sistemas de
software complejos. (Lucid Software, 2020)
Figura 18. Diagrama de contexto. Elaboración propia.
El diagrama de casos de uso representa las funcionalidades del sistema y la manera
en que se relacionan con sus actores. Cada caso de uso es una funcionalidad, y se
describe a detalle mediante un diagrama de secuencia, el cual, muestra la serie de
pasos para que se efectué dicha funcionalidad. La comunicación entre los
componentes principales de cada requerimiento se precisa en el diagrama de clases.
Los diagramas anteriormente mencionados se encuentran en el Anexo 1.
66
2. Interfaz gráfica.
Una vez definidas las funcionalidades del sistema, se realizó el prototipado de la
interfaz gráfica en Figma. Las vistas diseñadas se pueden observar en el Anexo 2.
Figura 19. Ejemplo de interfaz diseñada en Figma.
Con este prototipo se llevó a cabo el test de experiencia de usuario (Anexo 3) contando
con el apoyo de treinta testers, quienes evaluaron el diseño propuesto mediante la
herramienta Maze-Design, de donde se sacaron conclusiones de las recomendaciones
dadas para mejoras de diseño. Cabe aclarar, que, por motivos de fuerza mayor,
derivados de la emergencia sanitaria a causa de la pandemia COVID-19, el test se
realizó virtualmente con usuarios sin formación profesional en nuestra área objetivo
(radiología), con la confianza de que, si un usuario particular no presentaba
dificultades, un profesional del área tampoco las tendría.
El análisis general de esta prueba se muestra en el capítulo Análisis de Resultados.
67
3. Bases de datos.
Se diseñaron dos bases de datos: una destinada para los usuarios (radiólogos y
administrador) cuyos campos son: Tipo de usuario, Nombres, Apellidos, Documento
de Identidad, Ubicación, Teléfono, Usuario y Contraseña (Tabla 3); y una segunda
base de datos con el fin de almacenar los diagnósticos generados por el sistema, cuyos
campos son: I.D Diagnóstico, I.D. Paciente, Mamografía y Diagnóstico (Tabla 4).
Nombre del campo Tipo de dato Descripción
Tipo de Usuario Boolean Toma el valor de false si es Radiólogo, y
true si es Administrador.
Nombres String Nombres del usuario.
Apellidos String Apellidos del usuario.
Documento de Identidad Integer Número de identificación del usuario.
Ubicación String
Oficina del usuario.
Ejemplo: Centro Médico CAL. Torre A -
Piso 5 – Mod. 15 - Consultorio 516
Teléfono String Número telefónico y extensión.
Ejemplo: (7) 605 9353 ext. 1533 / 8059
Usuario String Correo electrónico del usuario, que servirá
para ingresar al sistema.
Contraseña String Contraseña del usuario.
Tabla 4. Diccionario de datos Usuarios. Elaboración propia.
68
Nombre del campo Tipo de dato Descripción
I.D. Diagnóstico Integer Entero que identifica el diagnóstico. Es
numerado automáticamente.
I.D. Paciente Integer Entero que identifica al paciente
relacionado con el diagnóstico.
Mamografía Image Imagen resultante del diagnóstico.
Diagnóstico String
Resultado del diagnóstico:
0. Sin anomalía.
1. Microcalcificación benigna.
2. Microcalcificación maligna.
3. Nódulo benigno.
4. Nódulo maligno.
Tabla 5. Diccionario de datos Diagnósticos. Elaboración propia.
69
Implementación del prototipo
La construcción del sistema comenzó en primer lugar por la creación de las bases de
datos previamente diseñadas. Para esto, se utilizó Firebase que es un servicio de bases de
datos NoSQL y que cuenta con grandes ventajas como la alta capacidad de integración (API),
alto rendimiento y soporte para web, Android y iOS.
Paralelo a esta tarea, se construyó el backend y el frontend del sistema con Flutter
web. Se tomaron en cuenta las recomendaciones hechas en el test de experiencia de usuario
y se construyó el entorno visual, así como las demás funcionalidades que se habían plasmado
en los diagramas UML en la etapa de diseño.
Figura 20. Ejemplo de implementación de interfaces en Flutter - Zoom. Elaboración propia.
Con lo referente al modelo, se implementó la arquitectura seleccionada en base a las
pruebas, y se prosiguió a hacer el respectivo enlace de la red neuronal con el resto sistema
para la construcción total.
70
Evaluación del prototipo
Para la evaluación final del sistema, se tomaron al azar veinte imágenes de cada
categoría (cien en total), y se generaron los respectivos diagnósticos utilizando el prototipo
desarrollado. Para estimar la confianza de los diagnósticos, se promediaron las
probabilidades de cada uno y de esta manera se obtuvo una noción general del rendimiento
del sistema. Además, se registró el tiempo transcurrido para dar una respuesta en cada
clasificación. Dichos registros se encuentran en el siguiente capítulo.
Se hizo también una revisión general del sistema, para verificar el correcto
funcionamiento en la gestión de la información.
71
ANÁLISIS DE RESULTADOS
En este capítulo se muestra el análisis de los resultados obtenidos para cada uno de
los objetivos planteados.
Selección de la infraestructura tecnológica del sistema.
Para el primer objetivo, se llevaron a cabo una serie de actividades con el fin de definir
los componentes que se iban a usar para la construcción del sistema:
1. Lenguaje de programación.
Inicialmente, se seleccionó el lenguaje de programación para el desarrollo del
prototipo. Para esto, se tomaron como base cuatro de los lenguajes usados en
proyectos con inteligencia artificial, y se definieron los criterios de evaluación para
cada uno, con los cuales se hizo el análisis jerárquico ponderado (AJP) para tomar la
decisión óptima. Como punto de partida, se elaboró la matriz de comparación, donde
se asignaron subjetivamente los valores de cada criterio, de acuerdo con la escala de
importancia que este análisis establece.
Tabla 6. Matriz de comparación AJP. Elaboración propia.
En base a estos valores, se pudo determinar el peso que cada criterio tenía para tomar
la decisión, de la siguiente manera:
Velocidad Paradigma Costo Comunidad Producción
Velocidad 1 7 3 2 3
Paradigma 1/7 1 1/5 1/4 1/2
Costo 1/3 5 1 3 5
Comunidad 1/2 4 1/3 1 2
Producción 1/3 2 1/5 1/2 1
Suma 2,30952381 19 4,733333333 6,75 11,5
72
• Velocidad (40%) → Procesamiento y análisis de datos en el menor tiempo posible
• Paradigma (4.7%) → Que este enfocado a procesos matemáticos.
• Costo (30%) → Que pueda usarse de manera gratuita.
• Comunidad (16.3%) → Con mayores aportes científicos.
• Producción (9%) → Que sea un lenguaje ensamblador.
Para cada criterio, también se elaboró una matriz de comparación (Anexo 4),
estableciendo el aspecto en que cada lenguaje era mejor que el otro y una vez
definidos estos valores se obtuvo que el lenguaje óptimo era Python.
Tabla 7. Decisión final AJP. Elaboración propia.
2. Selección red neuronal.
En base a la metodología de prueba que se había planteado para la selección de la red
neuronal, se inició la construcción de cada arquitectura. Inicialmente se entrenó cada
modelo (ResNet50, VGG16, InceptionV3) con el dataset definido, y para las métricas
que se habían especificado se obtuvieron los siguientes resultados:
Lenguajes Total
Python 0,39396227
R 0,339187663
Matlab 0,087041778
Julia 0,179808288
Decisión
73
ResNet50 VGG16 InceptionV3
Training Validation Training Validation Training Validation
Accuracy 0.8863 0.8847 0.8668 0.8807 0.8919 0.8906
AUC 0.9832 0.979 0.9709 0.9748 0.9857 0.9856
F1 score 0.8889 0.8839 0.8687 0.8845 0.8937 0.8951
Loss 0.3509 0.3873 0.4692 0.4255 0.323 0.33
Precision 0.9318 0.9267 0.8896 0.907 0.9382 0.9204
Recall 0.8506 0.8465 0.8495 0.8638 0.8539 0.8721
Tabla 8. Resumen métricas de evaluación. Elaboración propia.
Observando la Tabla 4, se puede ver la clara superioridad que presentó la arquitectura
InceptionV3 sobre las demás, desde el accuracy más alto, hasta la pérdida (loss) más
baja. Sin embargo, se debe tener en cuenta, que los valores aquí registrados,
corresponden únicamente a los obtenidos por cada modelo en la última época (época
diez), así que se decidió revisar, el comportamiento de cada uno durante todo el
entrenamiento. Fue así, como se generaron las gráficas correspondientes a cada
métrica (Anexo 5), que dejaban en evidencia el verdadero rendimiento de cada
arquitectura. A continuación, se muestra un ejemplo de dichas gráficas con la métrica
accuracy obtenida en cada uno de los modelos.
ResNet50 - Accuracy VGG16 - Accuracy InceptionV3 - Accuracy
Validation Validation Validation
Training Training Training
74
Fue analizando el comportamiento de las arquitecturas en cada una de las métricas,
como se definió que en realidad, aunque InceptionV3 mostrara los valores más altos,
no era la mejor opción para el proyecto, pues así como presentó en su última época
de entrenamiento un pico alto, también a lo largo del mismo presentó picos muy bajos,
y esta inestabilidad hizo que la decisión se inclinara hacia la arquitectura VGG16, ya
que el rendimiento de esta, en validation, estuvo siempre por encima de training, con
un comportamiento aceptable. Además, al hacer un análisis profundo, se detallaron
algunas inconsistencias en las gráficas arrojadas, así que se decidió elaborar la matriz
de confusión de cada modelo (Anexo 5) para identificar lo que pasaba. Aquí un
ejemplo de una de ellas;
Figura 21. Matriz de confusión VGG16 → 70 – 30. Elaboración propia.
Para una rápida interpretación de la matriz de confusión, se debe tener en cuenta que
los valores más altos se encuentren en la diagonal principal, esto nos indicaría que se
está haciendo una buena predicción. Sin embargo, en la Figura 18 se puede observar
con claridad que el rendimiento de la red neuronal no estaba siendo tan bueno como
75
lo indicaban las métricas. El problema estaba en un considerable desbalance de los
datos, con aproximadamente un 80% de ellos únicamente en la categoría “normal”,
que produjo un error de overfitting en los modelos, y aunque las métricas obtenidas
indicaban un buen rendimiento, el sistema no estaba en capacidad de clasificar
correctamente nuevas imágenes.
Se tuvo que recurrir entonces, a una reducción en el volumen del dataset para volver
a entrenar la red neuronal en mejores condiciones, y se realizaron algunas pruebas,
únicamente con la arquitectura VGG16, ya que como se mencionó anteriormente, fue
el modelo más estable. Esta vez se utilizaron doce mil (12.000) imágenes, que estaban
distribuidas de una manera más equitativa:
• Normal → 2.707 imágenes.
• Microcalcificación benigna → 2661 imágenes.
• Nódulo benigno → 2.553 imágenes.
• Microcalcificación maligna → 1.832 imágenes.
• Nódulo maligno → 2.247 imágenes.
Se tuvo en cuenta una segmentación de 90% para training y 10% para test.
Para la primera prueba con este nuevo conjunto de datos, se obtuvo la siguiente matriz
en setenta épocas:
76
Figura 22. Matriz de confusión VGG16 → 90 – 10. Fuente propia
Se pudo observar, una mejora considerable en el rendimiento del sistema para la
predicción. Sin embargo, en estas condiciones, seguía sin ser un modelo óptimo, y
analizando la matriz obtenida, se encontró que la clasificación se estaba centrando en
las categorías “benignas”. Por tal razón, se decidió duplicar las muestras de imágenes
“malignas” para intentar reducir el sesgo obteniendo la siguiente matriz:
Figura 23. Matriz de confusión VGG16 - Malignos duplicados. Fuente propia
77
Desafortunadamente, el sesgo que antes estaba con las categorías “benignas”, pasó al
otro extremo centrándose en las imágenes “malignas”, así que se decidió dejar el
dataset como se tenía anteriormente, es decir, sin imágenes duplicadas, y buscar otro
tipo de soluciones. Fue así, como se optó por añadir una dropout layer a la
arquitectura que, con su función de regularización, redujo los problemas de sobre
ajuste y generó predicciones más precisas. Fue así, como se decidió, implementar esta
arquitectura en el sistema, pues como se observa en la Figura 24, fue la que mejor
resultados generó durante todas las pruebas. Se tomó como base, para la construcción
del modelo final, donde se corrigieron algunos aspectos pues, aunque era la mejor,
seguía teniendo imprecisiones.
Figura 24. Matriz de confusión VGG16 con DropOut → 90 – 10. Fuente propia
78
Diseño del prototipo de sistema de información.
Para el segundo objetivo planteado, se desarrollaron las actividades de diseño, tanto
de la parte funcional, como de la parte gráfica, es decir, diseño del backend y frontend del
sistema.
1. Funcionalidades del sistema.
Como se mencionó en el capítulo Desarrollo Metodológico, el diseño funcional del
sistema se realizó mediante el lenguaje UML (Anexo 1). A continuación, se muestra
el resumen de las funcionalidades específicas que cada actor tiene dentro del sistema,
mediante el diagrama de casos de uso:
Figura 25. Diagramas de casos de uso del sistema. Elaboración propia.
Se definieron tres actores. En primer lugar, el radiólogo, encargado de ejecutar la
actividad central del sistema, ingresar nuevas imágenes de los pacientes y dar la orden
79
de iniciar el análisis de las mamografías. Además, se le permite guardar los
diagnósticos y consultarlos mediante una tabla, ya sea para buscar información o para
modificarla en caso de que se compruebe un error del sistema. De este modo,
Minbizia, recibe la realimentación de un profesional del área.
En segundo lugar, el administrador, encargado de la gestión de los usuarios. Tiene
como tarea agregar y eliminar usuarios del sistema. Se le permite registrar tanto
radiólogos como administradores y de igual manera eliminarlos. Además, se le
permite únicamente la consulta de los diagnósticos que se han generado.
Por último, el tercer actor es la red neuronal, cuya única función es generar el
diagnóstico de los pacientes una vez el radiólogo lo solicite.
2. Diseño de interfaz gráfica y test de experiencia de usuario.
Con las interfaces diseñadas en Figma, se realizó el test de experiencia de usuario
obteniendo un porcentaje de usabilidad aproximadamente del 68%. El respectivo
reporte se encuentra en el Anexo 3. Se pudo sacar algunas conclusiones productivas
en cuanto a la usabilidad, y se realizaron mejoras atendiendo las observaciones de los
testers.
Figura 26. Resumen de resultados test de experiencia de usuario. Elaboración propia.
80
Dentro de los aportes más relevantes, derivados de esta evaluación, se tuvo en cuenta
la opinión dada por uno de los testers, médico de profesión, quien manifestó la
necesidad de visualizar en forma de tabla, los diagnósticos que el sistema generaba.
Es por eso, que, al diseño se le agregó esta funcionalidad, mediante un TabBar para
satisfacer dicha necesidad.
Figura 27. Diseño TabBar - Resultados. Elaboración propia.
Otro cambio importante que se hizo en base a las respuestas de los testers fue el
nombre del sistema. En una de las preguntas, se pedía identificar los aspectos de
diseño que le habían agradado a cada usuario. El nombre “Vision” tuvo una
aceptación de tan solo el 36%, por lo tanto, se decidió cambiarlo por “Minbizia”,
nombre actual del prototipo.
Figura 28. Logo Minbizia. Elaboración propia.
81
Implementación del prototipo.
1. Implementación de las bases de datos.
Se utilizó Firebase para la construcción de las bases de datos definidas (usuarios y
diagnósticos). La herramienta Cloud Firestore para el almacenamiento de la
información, la herramienta Authentication para la validación de los usuarios al
momento del ingreso al sistema y la herramienta Storage, para el almacenamiento de
las imágenes generadas por el sistema.
Figura 29. Firebase Firestore - Colecciones: usuarios y diagnósticos. Fuente propia
Figura 30. Firebase Authentication. Fuente propia
82
Figura 31. Firebase Storage. Fuente propia
2. Implementación de las interfaces gráficas.
En Flutter se comenzó por desarrollar el frontend del sistema. Se tomó como base el
diseño de las interfaces corregidas y se adicionaron algunas mejoras. A
continuación, se presentan las interfaces finales:
En primer lugar, se presenta la pantalla Login, a la cual, se le modificó únicamente el
nombre del sistema.
83
Figura 32. Interfaces finales – Login. Elaboración propia.
La segunda pantalla, hace referencia al Dashboard, que es la vista principal para el
radiólogo. Como modificaciones, se puede observar la implementación del TabBar
que se había añadido en el diseño final del prototipo. Además, para mejorar la
experiencia del usuario, se utilizó el patrón de diseño empy state para indicar la
función de cada container. Se utilizó también un color más claro para el espacio donde
se carga la información textual del diagnóstico, atendiendo las recomendaciones
dadas por uno de los testers quien manifestó en el test de experiencia de usuario que
el color oscuro del container no permitía visualizar claramente el texto. Y, por último,
se le añadió la opción de aplicar zoom a las imágenes cuando se estén visualizando
en pantalla completa.
84
Figura 33. Interfaces finales – Dashboard. Elaboración propia.
Finalmente, la tercera pantalla corresponde a la vista disponible para el administrador,
a la que, de igual forma, se le incluyó la opción de visualizar los diagnósticos
generados. La siguiente imagen, es una representación de esta interfaz, que muestra
la tabla con un solo usuario registrado, hasta el momento.
Figura 34. Interfaces finales – Administrador. Elaboración propia.
85
3. Construcción de la red neuronal.
Para la implementación de la red neuronal, se utilizó el mismo dataset de la
metodología de prueba y se construyó desde cero el modelo VGG16 con dropout
layer anteriormente seleccionado.
Para la construcción de la arquitectura se tomaron los siguientes parámetros:
Se definió como false el parámetro include_top para tomar únicamente los bloques
convolucionales, es decir, las full conected layers y la capa densa de predicción,
ubicadas en la parte superior de la arquitectura, fueron removidas. El parámetro
weights carga los pesos predeterminados que el modelo VGG16 trae consigo, esto
para que la red no tome pesos aleatorios, sino que inicie con pesos ya ajustados. Se
definió, además, las dimensiones de entrada en (224, 224, 3), puesto que esta es la
forma recomendada por la arquitectura para su input layer. Para minimizar el número
total de parámetros se agregó una global average pooling layer, que ayuda a reducir
el sobreajuste del modelo. Además, se estableció el parámetro classes como cinco,
debido a que este es el número de categorías del modelo y, por último, se utilizó la
función de activación softmax en la última capa, para obtener una salida en forma de
probabilidades.
A continuación, se muestra el resumen de la arquitectura configurada:
86
87
Como se puede observar, las últimas capas de la arquitectura fueron reemplazadas
por capas personalizadas y adaptadas al objeto de estudio del proyecto. Al momento
del entrenamiento, se definió una taza de aprendizaje de 0.001 (1 × 10−3) y una vez,
finalizado se obtuvo un accuracy aproximado de 0.35 para training y 0.43 para
validation en tres épocas.
Se realizaron entonces, dos entrenamientos posteriores en base al modelo obtenido,
con un método progresivo, que consistía en ir descongelando poco a poco capas de la
arquitectura y a la vez, reduciendo la taza de aprendizaje.
Para el segundo entrenamiento la taza de aprendizaje se definió en 0.0001 (1 × 10−4),
y se descongelaron los tres bloques convolucionales superiores de la arquitectura
(doce capas), es decir, se volvieron entrenables. Se manejaron los mismos parámetros
que en el caso anterior, y se obtuvo un accuracy aproximado de 0.38 para training y
0.44 para validation en diez épocas.
Para el tercer entrenamiento se realizó el mismo proceso, esta vez, descongelando
todas las capas, se hizo entrenable toda la red, y se utilizó una taza de aprendizaje de
0.00001 (1 × 10−5). Actualmente, el modelo se encuentra en ejecución con cincuenta
épocas. Tan solo en su la época siete mostró un avance en el accuracy de
aproximadamente 0.70 para training y 0.71 para validation.
Por cuestiones de tiempo, y debido a la complejidad de cómputo que llevan estos
procesos, no se pudo documentar la respuesta final del sistema, ya que actualmente
se encuentra en ejecución.
88
CONCLUSIONES
Se pudo haber construido un sistema de clasificación binaria, es decir clasificar los
casos únicamente como benignos o malignos, y esto habría generado resultados incluso más
altos en el rendimiento del sistema. Sin embargo, se quiso desarrollar un modelo capaz de
identificar el cáncer en su etapa temprana, por lo que fue necesario la implementación de
nuevas clases en la arquitectura. Se habla entonces, de las microcalcificaciones, las cuales al
igual que los nódulos se dividieron en malignas y benignas. El hallazgo del cáncer en esta
fase trae ventajas al paciente pues le permite iniciar el tratamiento de la enfermedad justo a
tiempo. Esto genera también una optimización mayor en la labor de los radiólogos ya que las
microcalcificaciones traen en ocasiones complicaciones para identificarse a simple vista.
Además, se decidió añadir la clase “normal” puesto que, el tejido mamario común por su
densidad puede llegar confundirse con la existencia de nódulos mamarios.
Otro punto importante de la investigación fue evidenciar la importancia que conlleva
tener un pleno conocimiento del dataset que se está manejando y tener un real balance en el
número de los datos de cada clase para evitar problemas comunes como overfitting y
underfitting. Una buena solución para este tipo de problemas es la aplicación de funciones
de regularización de los datos (Ej.: dropout), así como hacer uso del transfer learning que es
de gran ayuda en la construcción de los modelos, y aporta a obtener mejores resultados
evitando en parte problemas de sobre ajuste. En esta investigación se aplicó tres veces esta
técnica, con el objetivo que el modelo aprendiera cada vez mejor de sí mismo. Se recomienda,
mantener un número equitativo de los datos, así como realizar una estratificación de los
89
mismos al momento de entrenar la red, para que el modelo pueda aprender sin sesgo o
preferencia por alguna categoría.
Es importante contar con la ayuda de expertos del área en que se aplica la
investigación, y tener una noción del tema que se aborda, esto ayudará a un mayor
entendimiento del tema, y a que se generen mejores soluciones.
Por otra parte, se pudo concluir que la etapa de diseño en una investigación es la más
importante. De un buen diseño depende el éxito o fracaso de todo proyecto. Es importante,
además, realizar un test de experiencia de usuario o cualquier tipo de encuesta que sirva para
recolectar opiniones y recomendaciones, así como atender a cada observación dada, para
encontrar una solución que se acople a las necesidades del usuario. “Si tuviera una hora para
resolver un problema, gastaría cincuenta y cinco minutos pensando a cerca del problema, y
cinco minutos resolviéndolo” - Albert Einstein.
90
TRABAJOS FUTUROS
La principal meta, en este momento, es adaptar el sistema para la clasificación de
imágenes diagnósticas completas, dar a conocer esta herramienta a los profesionales, y
depositar un grano de arena, por medio de la interdisciplinariedad y el trabajo cooperativo,
en la mejora de la calidad de vida de quienes son directamente afectados por el cáncer.
Para trabajos futuros es bueno tener en cuenta, en primer lugar, el rápido avance que
presenta el deep learning y la evolución en los tipos de redes neuronales convolucionales.
Estar al tanto de estos cambios y poder dedicar tiempo suficiente, permite crear soluciones
de mayor calidad y atacar de una mejor forma cada problema. Con esta investigación, se deja
abierta una especial atención a Pytorch, como una tecnología ideal para trabajos futuros,
debido a los rápidos avances que ha tenido en los últimos meses.
En el caso específico de nuestro modelo, una importante recomendación para obtener
mejores resultados es tener un control del contraste de las imágenes al momento de su
procesamiento. Tanto los nódulos mamarios como las microcalcificaciones pueden
identificarse por las diferencias que tienen en sus contrastes, y controlar de mejorar manera
este aspecto puede contribuir al desarrollo de un sistema más preciso.
Queda abierta entonces, gracias a las posibilidades que nos ofrece Flutter, la opción
de adaptar este sistema a una versión móvil. Minbizia puede estar al alcance del paciente,
permitiéndole llevar un seguimiento más cercano en la evolución de su enfermedad. Cabe
aclarar, la importancia que conlleva esta adaptación en cuanto a los términos éticos, así que
se debe prestar atención al momento de su implementación. Además, se busca por medio de
91
este sistema, expandir el alcance y cubrir otros tipos de cáncer, para que cada vez, sean más
los beneficiados.
Una buena opción a considerar, en próximas investigaciones, es entrenar el modelo
con el dataset InBreast, ya que se podrían obtener mejores resultados por la calidad de estas
imágenes. En el Anexo 6, se presenta el contrato de transferencia con Inês Domingues,
propietaria de este dataset, y quien autorizó el uso de su material para fines investigativos.
92
REFERENCIAS
Mayo, R. C., Kent, D., Chang Sen, L., Kapoor, M., Leung, J. W., & Watanabe, A. T.
(2019). Reduction of False-Positive Markings on Mammograms: a Retrospective
Comparison Study Using an Artificial Intelligence-Based CAD. Journal of Digital
Imaging, 32(4), 618-624. doi:https://doi.org/10.1007/s10278-018-0168-6
Wayne, D. (2020). What Is WinSCP? Obtenido de Chron:
https://smallbusiness.chron.com/winscp-77185.html
Ahmad, A. M., Muhammad Khan, G., & Mahmud, S. A. (2014). Classification of
Mammograms Using Cartesian Genetic Programming Evolved Artificial Neural
Networks. Artificial Intelligence Applications and Innovations. AIAI. IFIP
Advances in Information and Communication Technology. 436, págs. 203-213.
Berlin: Springer. doi:https://doi.org/10.1007/978-3-662-44654-6_20
American Cancer Society. (2019). Cancer.org. Obtenido de La densidad de los senos y el
informe de su mamograma: https://www.cancer.org/es/cancer/cancer-de-
seno/pruebas-de-deteccion-y-deteccion-temprana-del-cancer-de-
seno/mamogramas/la-densidad-de-los-senos-y-el-informe-de-su-mamograma.html
Araque Volk, N. (20 de Marzo de 2019). Regularizando nuestra red: DropOut. Obtenido
de MC.AI: https://mc.ai/regularizando-nuestra-red-dropout/
Araujo Santos, L. (2019). Introduction. Obtenido de leonardoaraujosantos.gitbooks.io:
https://leonardoaraujosantos.gitbooks.io/artificial-
inteligence/content/linear_algebra.html
Berg, W. A. (2019). Breast Density. (ELSEVIER) Recuperado el 9 de Agosto de 2019, de
STATdx: https://app-statdx-com.aure.unab.edu.co/document/breast-
density/bf28db04-b697-459d-ae23-5a2d1b09f8fe?searchTerm=Breast%20Density#
Bi, W. L., Hosny, A., Schabath, M. B., Giger, M. L., Birbak, N. J., Mehrtash, A., . . . Aerts,
H. J. (2019). Artificial Intelligence in Cancer Imaging: Clinical Challenges and
Applications. CA A Cancer J Clin, 69, 127-157.
doi:https://onlinelibrary.wiley.com/doi/full/10.3322/caac.21552
Breastcancer.org. (19 de Abril de 2013). Los resultados falsos positivos de las mamografías
pueden causar estrés a largo plazo. Recuperado el 15 de Agosto de 2019, de
BREASTCANCER.ORG: https://www.breastcancer.org/es/noticias-
investigacion/20130419
Brownlee, J. (16 de Enero de 2019). A Gentle Introduction to Batch Normalization for
Deep Neural Networks. Obtenido de Machine Learning Mastery:
https://machinelearningmastery.com/batch-normalization-for-training-of-deep-
neural-networks/
93
Brownlee, J. (16 de Septiembre de 2019). A Gentle Introduction to Transfer Learning for
Deep Learning. Obtenido de Machine Learning Mastery:
https://machinelearningmastery.com/transfer-learning-for-deep-learning/
Calvo, D. (12 de Julio de 2017). DIEGO CALVO. Recuperado el 12 de Octubre de 2019, de
Definición de red neuronal artificial: http://www.diegocalvo.es/definicion-de-red-
neuronal/
Camacho Neira, J. S. (17 de Octubre de 2017). Clinica Alemana. Recuperado el 12 de
Octubre de 2019, de Nódulos mamarios: ¿Cuándo sospechar de cáncer?:
https://portal.alemana.cl/wps/wcm/connect/Internet/Home/blog-de-
noticias/2017/10/nodulos-mamarios-cuando-sospechar-de-cancer
Codecademy. (2020). What is Scikit-Learn? Obtenido de codecademy:
https://www.codecademy.com/articles/scikit-learn
Cousins, C. (20 de Noviembre de 2019). What Is Figma? a 101 Intro. Obtenido de design
shack: https://designshack.net/articles/software/what-is-figma-intro/
Cruz-Roa, A., Gilmore, H., Basavanhally, A., Feldman, M., Ganesan, S., Shih, N., . . .
Madabhushi, A. (18 de Abril de 2017). Accurate and reproducible invasive breast
cancer detection in whole-slide images: A Deep Learning approach for quantifying
tumor extent. Scientific Reports, 7(46450). Recuperado el 30 de Octubre de 2019,
de https://doi.org/10.1038/srep46450
documentation.help. (2020). What is StarUML. Obtenido de documentation.HELP!:
https://documentation.help/StarUML/what_is_staruml.htm
Eduardo CQ. (10 de Mayo de 2019). Flutter para web. Obtenido de Medium:
https://medium.com/comunidad-flutter/flutter-para-la-web-91d8b217ad35
Educative. (2020). What is Firebase? Obtenido de edpresso:
https://www.educative.io/edpresso/what-is-firebase
Espejel, O. (2019). OMAR U. ESPEJEL. Obtenido de github.io:
https://omarespejel.github.io/espejel_blog/Manipulaci%C3%B3n-de-tensores/
ExperiencIA Oracle. (14 de Septiembre de 2018). Diferencias entre la Inteligencia
Artificial y el Machine Learning. Obtenido de Medium:
https://medium.com/@experiencIA18/diferencias-entre-la-inteligencia-artificial-y-
el-machine-learning-f0448c503cd4
flutter-dev. (2020). Flutter. Obtenido de flutter.dev: https://flutter.dev/
Fondo Colombiano de Enfermedades de Alto Costo Cuenta de Alto Costo[CAC]. (2018).
Situación del cáncer en la población adulta atendida en el SGSSS de Colombia.
Bogotá, D.C, Colombia: Cuenta de Alto Costo.
94
Global Cancer Observatory. (2018). Colombia. World Health Organization, Switzerland.
Geneva: Internacional Agency for Research on Cancer. Obtenido de
https://gco.iarc.fr/today/data/factsheets/populations/170-colombia-fact-sheets.pdf
Gonzáles, L. (07 de Septiembre de 2018). Lenguajes de programación para Machine
Learning. Obtenido de Ligdi Gonzáles: https://ligdigonzalez.com/lenguajes-de-
programacion-para-machine-learning/
Gonzaléz, A. (1 de Julio de 2014). CleverData. Recuperado el 12 de Octubre de 2019, de
¿Qué es Machine Learning?: https://cleverdata.io/que-es-machine-learning-big-data/
Gonzaléz, L. (15 de Junio de 2018). LIGDI GONZALÉZ APRENDE SOBRE
INTELIGENCIA ARTIFICIAL. Recuperado el 12 de Octubre de 2019, de Diferencia
entre aprendizaje supervisado y no supervisado: http://ligdigonzalez.com/diferencia-
entre-aprendizaje-supervisado-y-no-supervisado/
Google developers. (2020). Clasificación: Precisión y exhaustividad. Obtenido de
Aprendizaje automático: https://developers.google.com/machine-learning/crash-
course/classification/precision-and-recall
Google developers. (2020). Clasificación: ROC y AUC. Obtenido de Aprendizaje
automático: https://developers.google.com/machine-learning/crash-
course/classification/roc-and-auc
Google developers. (2020). Estudio detallado del AA: Entrenamiento y pérdida. Obtenido
de Aprendizaje automático: https://developers.google.com/machine-learning/crash-
course/descending-into-ml/training-and-loss
Halicek, M., Shahedi, M., & Little, J. V. (2019). Head and Neck Cancer Detection in
Digitized Whole-Slide Histology Using Convolutional Neural Networks. Nature,
9(14043). doi:https://doi.org/10.1038/s41598-019-50313-x
Hewlett Packard Enterprise Development LP. (2019). Hewlett Packard Enterprise.
Obtenido de ¿Qué es la inteligencia artificial?:
https://www.hpe.com/lamerica/es/what-is/artificial-intelligence.html
Hotjar. (14 de Febrero de 2020). The complete guide to website heat maps. Obtenido de
hotjar: https://www.hotjar.com/heatmaps/
International for Research on Cancer. (2018). Latest global cancer data: Cancer burden
rises to 18.1 million new cases and 9.6 million cancer deaths in 2018. World Health
Organization, Switzerland. Geneva: IARC. Obtenido de https://www.iarc.fr/wp-
content/uploads/2018/09/pr263_E.pdf
itdxer. (05 de Abril de 2019). ¿Cuál es el tamaño del lote en la red neuronal? Obtenido de
StackExchange: https://stats.stackexchange.com/posts/153535/revisions
95
Jain, A. (03 de Enero de 2019). Getting started with Maze tool for Usability Testing.
Obtenido de Medium: https://medium.com/uxness/getting-started-with-maze-tool-
for-usability-testing-bfa5171cc076
Jalandhar, D., & Sharma, A. (2016). DDSM Utility v3.1. Obtenido de
https://github.com/trane293/DDSMUtility/blob/master/Tutorial.pdf
Jean-Baptiste Lamy, Boomadevi Sekar, Gilles Guezennec, Jacques Bouaud, & Brigitte
Séroussi. (2019). Explainable artificial intelligence for breast cancer: A visual case-
based reasoning approach. Artificial Intelligence in Medicine, 94, 42-53.
doi:https://doi.org/10.1016/j.artmed.2019.01.001
Keras. (2020). Layer activation functions. Obtenido de Keras:
https://keras.io/api/layers/activations/
Kontos , K., & Maragoudakis, M. (2013). Breast Cancer Detection in Mammogram
Medical Images with Data Mining Techniques. 9th Artificial Intelligence
Applications and Innovations (AIAI). 412, págs. 336-347. Paphos: Springer.
doi:https://dx.doi.org/10.1007/978-3-642-41142-7_35
Kushai Das. (2020). Introduction to Flask. Obtenido de pymbook:
https://pymbook.readthedocs.io/en/latest/flask.html
Linux Adictos. (2019). Llega la nueva versión de Cygwin 3.0, un entorno GNU para
Windows. Obtenido de Linux Adictos: https://www.linuxadictos.com/llega-la-
nueva-version-de-cygwin-3-0-un-entorno-gnu-para-windows.html
Lopez Briega, R. E. (02 de Agosto de 2016). Raul E. Lopez Briega Matemáticas, análisis
de datos y python. Recuperado el 12 de Octubre de 2019, de Redes neuronales
convolucionales con TensorFlow:
https://relopezbriega.github.io/blog/2016/08/02/redes-neuronales-convolucionales-
con-tensorflow/
Lucid Software. (2020). Qué es el el lenguaje unificado de modelado (UML). Obtenido de
Lucidchart: https://www.lucidchart.com/pages/es/que-es-el-lenguaje-unificado-de-
modelado-uml#section_0
MELÉNDEZ ZAJGLA, J., & BAHENA OCAMPO, I. (08 de Julio de 2017). México
Patente nº WO2017095213. Recuperado el 06 de Septiembre de 2019, de
https://patentscope.wipo.int/search/es/detail.jsf?docId=WO2017095213&tab=PCTB
IBLIO
Nahata, H., & Singh, S. P. (2020). Deep Learning Solutions for Skin Cancer Detection and
Diagnosis. En V. Jain, & J. M. Chatterjee, Machine Learning with Health Care
Perspective: Machine Learning and Healthcare (págs. 161 – 179). Springer.
96
NIH ... Transformación de Descubrimientos en Salud. (2019). INSTITUTO NACIONAL
DEL CÁNCER. Recuperado el 10 de Septiembre de 2019, de Diccionario de cáncer:
https://www.cancer.gov/espanol/publicaciones/diccionario/def/cancer-de-mama
NIH ... Transformación de Descubrimientos en Salud. (2019). INSTITUTO NACIONAL
DEL CÁNCER. Recuperado el 10 de Septiembre de 2019, de Diccionario de cáncer:
https://www.cancer.gov/espanol/publicaciones/diccionario/def/resultado-positivo-
falso-de-una-prueba
NIH ... Transformación de Descubrimientos en Salud. (2019). INSTITUTO NACIONAL
DEL CÁNCER. Recuperado el 10 de Septiembre de 2019, de Diccionario de cáncer:
https://www.cancer.gov/espanol/publicaciones/diccionario/def/resultado-negativo-
falso-de-una-prueba
NIH ... Transformación de Descubrimientos en Salud. (2019). INSTITUTO NACIONAL
DEL CÁNCER. Recuperado el 10 de Septiembre de 2019, de Diccionario de cáncer:
https://www.cancer.gov/espanol/publicaciones/diccionario/def/densidad-de-la-
mama
Nolan, T. (14 de Mayo de 2020). CBIS-DDSM. Obtenido de Cancer Imaging Archive:
https://wiki.cancerimagingarchive.net/display/Public/CBIS-DDSM
NumPy. (2020). NumPy. Obtenido de numpy.org: https://numpy.org/
OpenCV. (2020). Introduction to OpenCV-Python Tutorials. Obtenido de OpenCV:
https://docs.opencv.org/master/d0/de3/tutorial_py_intro.html
Ortego Delgado, D. (15 de Diciembre de 2017). ¿Qué es Tensorflow? Obtenido de
OpenWebinars: https://openwebinars.net/blog/que-es-tensorflow/
Pilar Manchón. (23 de Julio de 2015). Pilarmanchon. Recuperado el 07 de Septiembre de
2019, de ¿Qué significa BI-RADS?: https://pilarmanchon.es/2015/07/23/que-
significa-bi-rads/
Pita Fernández, S., & Pértegas Díaz, S. (07 de Diciembre de 2010). Fisterra. Recuperado el
03 de Septiembre de 2019, de Pruebas diagnósticas: Sensibilidad y especificidad.:
https://www.fisterra.com/mbe/investiga/pruebas_diagnosticas/pruebas_diagnosticas.
asp
PLOS. (13 de Marzo de 2019). Convolutional neural network for cell classification using
microscope images of intracellular actin networks. Obtenido de PLOS ONE:
https://journals.plos.org/plosone/article/figure?id=10.1371/journal.pone.0213626.g0
02
Prabhu. (04 de Marzo de 2018). Obtenido de
https://medium.com/@RaghavPrabhu/understanding-of-convolutional-neural-
network-cnn-deep-learning-99760835f148
97
Python Software Fundation. (22 de Febrero de 2020). pydicom 1.4.2. Obtenido de pypi.org:
https://pypi.org/project/pydicom/
Radiological Society of North America. (12 de Abril de 2019). Mamografía. Recuperado el
14 de Agosto de 2019, de RadiologyInfo.org Para pacientes:
https://www.radiologyinfo.org/sp/info.cfm?pg=mammo
Rampurawala, M. (08 de Febrero de 2019). Classification with TensorFlow and Dense
Neural Networks. Obtenido de Medium: https://heartbeat.fritz.ai/classification-with-
tensorflow-and-dense-neural-networks-8299327a818a
RBA. (29 de Noviembre de 2018). SaberVivirTve. Recuperado el 12 de Octubre de 2019,
de ¿Son peligrosas las calcificaciones mamarias?:
https://www.sabervivirtv.com/ginecologia/calcificaciones-mamarias_101
Renuka Joshi. (09 de Septiembre de 2016). EXSILIO SOLUTIONS. Obtenido de Accuracy,
Precision, Recall & F1 Score: Interpretation of Performance Measures:
https://blog.exsilio.com/all/accuracy-precision-recall-f1-score-interpretation-of-
performance-measures/
Rose, C. (2006). DDSM: Digital Database for Screening Mammography. Obtenido de
University of South Florida:
http://www.eng.usf.edu/cvprg/Mammography/Database.html
Salleh, S., Mahmud, R., Rahman, H., & Yasiran, S. (2017). SPEED UP ROBUST
FEATURES (SURF) WITH PRINCIPAL COMPONENT ANALYSIS-SUPPORT
VECTOR MACHINE (PCA-SVM) FOR BENIGN AND MALIGNANT
CLASSIFICATIONS. Journal of Fundamental and Applied Sciences, 9, 624-643.
doi:http://dx.doi.org/10.4314/jfas.v9i5s.44
SAS Institute. (2019). sas. Recuperado el 12 de Octubre de 2019, de Deep Learning Qué es
y por qué es importante: https://www.sas.com/es_co/insights/analytics/deep-
learning.html
scikit-learn developers. (2020). sklearn.metrics.f1_score. Obtenido de scikit learn:
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html
Shah, T. (06 de Diciembre de 2017). About Train, Validation and Test Sets in Machine
Learning. Obtenido de towards data science: https://towardsdatascience.com/train-
validation-and-test-sets-72cb40cba9e7
Shen, L., Margolies, L., & Rothstein, J. (2019). Deep Learning to Improve Breast Cancer
Detection on Screening Mammography. Nature, 9(12495).
doi:https://doi.org/10.1038/s41598-019-48995-4
SIERRA JIMÉNEZ, A. (19 de Marzo de 2015). España Patente nº WO2015036643.
Recuperado el 06 de Septiembre de 2019, de
98
https://patentscope.wipo.int/search/es/detail.jsf?docId=WO2015036643&_cid=P11-
K0BI4B-74345-2
TensorFlow. (2020). Get started with TensorBoard. Obtenido de TensorFlow:
https://www.tensorflow.org/tensorboard/get_started
Ventura-Alfaro, C. E. (2018). Errores de medición en la interpretación. Revista de Salud
Pública, 20(4), 518-522. doi:https://doi.org/10.15446/rsap.v20n4.52035
Vergara, D. A., Vergara, S. L., & Vergara Dagobeth, E. E. (31 de Julio de 2013).
DENSIDAD MAMARIA: PASADO, PRESENTE Y FUTURO. REVISALUD
Unisucre, 1(1), 58-69. doi:https://doi.org/10.24188/23394072.v1.n1.2013.78
Wang, J., Yang, X., Cai, H., Tan, W., Jin, C., & Li, L. (07 de Junio de 2016).
Discrimination of Breast Cancer with Microcalcifications on Mammography by
Deep Learning. Scientific Reports, 6(27327). doi:10.1038/srep27327
Wikimedia Foundation. (18 de Septiembre de 2019). Wikipedia La enciclopedia libre.
Recuperado el 12 de Octubre de 2019, de Mapa de Calor:
https://en.wikipedia.org/wiki/Heat_map
Zaforas, M. (31 de Mayo de 2017). {paradigma. Recuperado el 12 de Octubre de 2019, de
TensorFlow, o cómo será el futuro de la Inteligencia Artificial según Google:
https://www.paradigmadigital.com/dev/tensorflow-sera-futuro-la-inteligencia-
artificial-segun-google/
99
ANEXOS
Anexo 1. Diagramas UML
El diseño del sistema y sus funcionalidades se realizó por medio del lenguaje UML,
con diagramas realizados, utilizando la herramienta StarUML, descrita en el marco
tecnológico. El resultado se muestra a continuación.
1.1. Diagrama de contexto.
Diagrama 1. Diagrama de contexto. Fuente propia
100
1.2. Diagrama de casos de uso.
Diagrama 2. Diagrama de casos de uso. Fuente propia
1.3. Diagramas de secuencia.
Diagrama 3. Diagrama de secuencia. Caso de uso: Ingresar al sistema. Fuente propia
101
Diagrama 4. Diagrama de secuencia. Caso de uso: Agregar usuario. Fuente propia
Diagrama 5. Diagrama de secuencia. Caso de uso: Eliminar usuario. Fuente propia
102
Diagrama 6. Diagrama de secuencia. Caso de uso: Consultar diagnósticos. Fuente propia
Diagrama 7. Diagrama de secuencia. Caso de uso: Editar diagnósticos. Fuente propia
103
Diagrama 8. Diagrama de secuencia. Caso de uso: Ejecutar sistema. Fuente propia
Diagrama 9. Diagrama de secuencia. Caso de uso: Subir imagen. Fuente propia
104
Diagrama 10. Diagrama de secuencia. Caso de uso: Ver imágenes en pantalla completa.
Fuente propia
Diagrama 11. Diagrama de secuencia. Caso de uso: Guardar diagnósticos. Fuente propia
1.4. Diagrama de clases.
Diagrama 12. Diagrama de clases. Fuente propia
105
Anexo 2. Diseño de interfaces.
Para el diseño de las interfaces, se utilizó la herramienta Figma mencionada en el
marco tecnológico, aquí, se definió el diseño inicial del prototipo del sistema. A continuación,
se muestran las interfaces propuestas:
2.1. Login page.
En esta interfaz se solicita al usuario sus respectivos datos de ingreso (e-mail y
contraseña). Hay una opción (representada por el checkbox), que el usuario puede
elegir, si es Administrador; si se selecciona, se dará ingreso a la pantalla de
administrador, que más abajo, en este anexo, se describe. Si esta opción no es
seleccionada, se asume que el usuario es un Radiólogo y se le dará ingreso a su
respectiva interfaz. El ingreso para los dos tipos de usuario será posible después de la
respectiva autenticación, si algún usuario, no está registrado, no se le permitirá el
acceso. Ésta será, además, la pantalla inicial siempre que se quiera hacer uso del
sistema.
Interfaz 1. Login Page. Fuente propia.
106
2.2. Dashboard.
Es la interfaz correspondiente al radiólogo, y página principal del sistema. Es aquí,
donde se cumple la función central. Permite al radiólogo, subir las mamografías y
ejecutar el sistema para solicitar el diagnóstico de determinado paciente.
Interfaz 2. Dashboard. Fuente propia
El espacio lo ocupan tres containers. En el primero de izquierda a derecha, se carga
la mamografía una vez el radiólogo la haya seleccionado desde su computador. Cabe
aclarar que el botón de “Ver en pantalla completa”, solo se habilita si los dos
containers tienen su respectiva imagen, mientras tanto, cada container tiene la opción
de visualizar en pantalla completa de forma individual por medio de un IconButton.
La imagen puede cargarse, dando clic en el botón de “Subir archivo”, y una vez
seleccionada, luce de la siguiente manera:
107
Interfaz 3. Dashboard - Imagen diagnóstica subida. Fuente propia.
Para obtener un resultado, basta con dar clic en el botón “Ejecutar”, e inmediatamente
se pide al radiólogo que ingrese el ID del paciente al que le corresponde la imagen
seleccionada, esto con el fin de identificar cada diagnóstico generado.
Interfaz 4. Dashboard - Solicitar ID paciente. Fuente propia.
Una vez ingresado el Id del paciente, y al dar clic en “Continuar”, el sistema comienza
su labor y se comunica con la red neuronal, que es la encargada de retornar el
108
respectivo diagnóstico. De esta manera, se llenan los demás container: uno con la
respuesta de la imagen previamente cargada, pero esta vez, señalando gráficamente
la zona de riesgo que se ha detectado, y otro con el diagnóstico en forma de texto
donde se da a conocer si el paciente tiene o no cáncer.
Interfaz 5. Dashboard - Resultado del sistema, diagnóstico del paciente. Fuente propia.
Si lo que se quiere, es analizar las imágenes detalladamente, el radiólogo tiene la
opción de visualizarlas en pantalla completa, ya sea de manera individual, o en el
modo comparación, brindado con el botón “Ver en pantalla completa”. La pantalla
tomará un aspecto similar al que se muestra en la Interfaz 6.
Si no se requiere de dicho análisis, una vez arrojada la respuesta, el radiólogo solo
necesita dar clic, en el botón “Guardar”, y de esta manera se agrega el registro a la
base de datos destinada para diagnósticos. Los container vuelven a estar vacíos y
disponibles para el próximo paciente.
109
Interfaz 6. Visualización de imágenes en pantalla completa. Fuente propia
Para salir del sistema, el radiólogo en su Dashboard tiene la opción en todo momento,
de cerrar sesión mediante un IconButton ubicado en la parte superior derecha de la
pantalla.
2.3. Administrador.
Al igual que el radiólogo, el administrador tiene su propia interfaz. En su pantalla, se
le permite llevar una ordenada gestión de los usuarios del sistema, es decir, es el
administrador, quien tiene el permiso para consultar, agregar, editar, y eliminar
usuarios. La lista de quienes están registrados se muestra en forma de tabla con la
información suficiente. Datos como el e-mail y la contraseña del usuario,
permanecerán ocultos.
110
Interfaz 7. Administrador - Gestión de usuarios. Fuente propia.
Para añadir un usuario, el administrador debe dar clic en el botón “Agregar”. Es así,
como se activa el formulario de registro. En este punto, se hacen algunas validaciones:
el e-mail del usuario debe ser único, no puede haber dos iguales, la contraseña debe
superar los 6 dígitos y coincidir con la que se digite en el campo de confirmación,
además, no se deben dejar campos vacíos. El sistema se encarga de corregir, por
medio de una advertencia, al administrador en caso de incumplir algunos de estos
requerimientos, luego de que el mismo oprima el botón de “Registrar”. Si el
formulario está correctamente diligenciado, se agregará un nuevo usuario al sistema.
El administrador, puede elegir, el tipo de usuario que quiere registrar. Puede ser tanto
un radiólogo, como otro administrador, si es algún caso es necesario (Interfaz 8).
111
Interfaz 8. Administrador - Registro de usuarios. Fuente propia.
Como segunda tarea, al administrador se le ofrecía la opción de reentrenar el sistema.
En el costado derecho de la pantalla, se tenía un contador de diagnósticos hechos y
registrados por el sistema, este contador, tenía un límite de 500 nuevas imágenes. El
botón “Reentrenar”, permanecía deshabilitado y solo cuando la barra de carga
estuviese completamente llena, se habilitaba, permitiendo al administrador,
reentrenar la red neuronal que está conectada con el sistema, luego de aceptar el
mensaje de alerta que se activaba. Sin embargo, esta funcionalidad, fue suprimida al
momento de la implementación del sistema, debido a algunas observaciones que
demostraban la inviabilidad de esta, puesto que el hecho de reentrenar una red
neuronal requiere de un gran poder computacional, que muy posiblemente solo podría
adquirirse pagando por un servicio en la nube.
De igual forma que con el Radiólogo, el Administrador tiene la opción de cerrar
sesión con un IconButton ubicado en la parte superior derecha de su interfaz.
112
Anexo 3. Resultados del test de experiencia de usuario.
El test de experiencia de usuario fue realizado mediante Maze-Design, herramienta
descrita en el marco tecnológico, y que facilitó el reporte de los resultados y opiniones de
los usuarios que colaboraron con la prueba. Ver: https://maze.design/r/7c89c4bgk9bn6615
3.1. Resumen de los resultados.
Fueron en total, seis misiones, en las que se pedía al usuario cumplir con alguna
funcionalidad específica del sistema, además, tres preguntas en las que se solicitaba
una realimentación. Se contó con el apoyo de treinta testers que hicieron el papel de
jueces, y a la vez, aportaron a las mejoras necesarias que se aplicaron en la
construcción final del sistema.
Reporte 1. Resumen de los resultados. Fuente: Maze-Design
Los reportes individuales de cada misión se muestran a continuación:
113
3.2. Login.
La misión consistía en llenar los campos de texto con los datos del usuario, y
posteriormente ingresar al sistema. Para llenar los campos bastaba con dar clic encima
de ellos.
Total testers: 30
Clics inválidos: 23.3%
Tiempo promedio en resolver la misión: 6 sg.
Testers que completaron la misión
directamente: 90%
Testers que se rindieron: 0.0%
Reporte 2. Resumen de los resultados misión Login. Fuente: Maze-Design.
Reporte 3. Indicador de clics dados por los testers en la misión Login.
Fuente: Maze-Design
114
3.3. Predict
El usuario debía subir una imagen al sistema, para posteriormente hallar la forma de
generar el diagnóstico respectivo.
Total testers: 28
Clics inválidos: 49.7%
Tiempo promedio en resolver la misión: 9.4 sg.
Testers que completaron la misión
directamente: 75%
Testers que se rindieron: 3.6%
Reporte 4. Resumen de los resultados misión Predict. Fuente: Maze-Design
Reporte 5. Indicador de clics dados por los testers en la misión Predict - Subir imagen.
Fuente: Maze-Design
115
Reporte 6. Indicador de clics dados por los testers en la misión Predict - Ejecutar sistema.
Fuente: Maze-Design
3.4. Full screen.
Al ejecutar el sistema y generar un diagnóstico, se le pidió al tester que visualizara
las imágenes generadas por el sistema, en pantalla completa.
Total testers: 29
Clics inválidos: 12.6%
Tiempo promedio en resolver la misión: 3 sg.
Testers que completaron la misión
directamente: 93.1%
Testers que se rindieron: 3.4%
Reporte 7. Resumen de los resultados misión Full screen. Fuente: Maze – Design
116
Reporte 8. Indicador de clicks dados por los testers en la misión Full Screen.
Fuente: Maze – Design
3.5. Log out.
Para finalizar con la interfaz del Radiólogo, se planteó una la misión de cerrar sesión,
obteniendo los siguientes resultados.
Total testers: 29
Clicks inválidos: 13.5%
Tiempo promedio en resolver la misión: 3.6 sg.
Testers que completaron la misión
directamente: 51.7%
Testers que se rindieron: 6.9%
Reporte 9. Resumen de los resultados misión Log out. Fuente: Maze – Design
117
Reporte 10. Indicador de clicks dados por los testers en la misión Log out.
Fuente: Maze –Design
3.6. Administrador.
Se ubicó nuevamente al tester en la pantalla de inicio, esta vez solicitándole, que
ingresara al sistema como administrador
Total testers: 29.
Clicks inválidos: 27.8%
Tiempo promedio en resolver la misión: 4.2 sg.
Testers que completaron la misión
directamente: 34.5%
Testers que se rindieron: 6.9%
Reporte 11. Resumen de los resultados misión Administrador. Fuente: Maze – Design
118
Reporte 12. Indicador de clicks dados por los testers en la misión Administrador.
Fuente: Maze – Design
3.7. Radiologists
En su labor de gestión del sistema, se planteó una misión en la que el tester debía
agregar un nuevo radiólogo al sistema, y eliminarlo posteriormente.
Total testers: 28.
Clicks inválidos: 8.1%
Tiempo promedio en resolver la misión: 2.8 sg.
Testers que completaron la misión
directamente: 39.3%
Testers que se rindieron: 10.7%
Reporte 13. Resumen de los resultados misión Radiologists. Fuente: Maze –Design
119
Reporte 14. Indicador de clicks dados por los testers en la misión Radiologists.
Fuente: Maze – Design
Reporte 15. Indicador de clicks dados por los testers en la misión Radiologists - Formulario de
registro. Fuente: Maze –Design
120
3.8. Aspectos de agrado para el tester
Se presentó una pequeña lista de opciones, en cuanto al diseño del prototipo. El tester
debía seleccionar cuales habían sido de su agrado.
Reporte 16. Aspectos de agrado para los testers. Fuente: Maze – Design
3.9. Sugerencias
De igual forma, como pregunta al colaborador, se pidió un aporte en cuanto a mejoras
posibles que podrían hacerse al sistema con tal de facilitar más el entendimiento de
cada funcionalidad. Además, se pedía que digitaran la profesión o carrera en la que
se desempeñaban, donde se pudo observar una gran variedad, entre Ingenieros
Biomédicos, Ingenieros de Sistemas, Médicos, Psicólogos, entre otros. A
continuación, se muestra algunos de los aportes más relevantes de los testers:
• "Estudiante de Física. Es un sistema muy interactivo y por ende de fácil
manejo que efectivamente facilitara el análisis de datos".
• "Arquitecto. Salir con Esc de las imágenes o ventanas emergentes".
121
• "Estudiante de ingeniería de sistemas. Los iconos se reconocen, la cantidad
de texto es justa, en la sección donde se cargan las imágenes confunde el
objetivo (por el enorme cuadro y los botones muy pequeños), donde se carga
la probabilidad de imagen es muy opaca (el fondo gris)".
• "Ing. Biomédica. Bastante intuitivo, tiene una usabilidad bastante agradable
y los botones y funciones son coherentes y bien distribuidas".
• “Médico. Sería interesante contar con una sección que permita consultar los
diagnósticos generados”.
3.10. Puntuación
Por último, el usuario dio una calificación general del prototipo, donde cinco estrellas
era lo más alto y una lo más bajo. En este punto, solo se recibió la evaluación por
veinticinco testers, debido a que algunos, decidieron abandonar la prueba en las
misiones anteriores.
Reporte 17. Puntuación general del prototipo en escala de 1 a 5. Fuente: Maze – Design
122
Anexo 4. Análisis Jerárquico Ponderado (AJP)
Para la selección del lenguaje de programación ideal para el proyecto, se utilizó AJP.
A continuación, se describe el proceso realizado para tomar la decisión óptima.
Criterios
En primer lugar, se definieron cinco criterios a tener en cuenta para la decisión y se
le asignó a cada uno subjetivamente un peso de importancia en relación a los demás
criterios.
Matriz 1. Matriz de comparación – Criterios. Fuente propia
Una vez definidos los pesos, se normalizó la matriz de comparación para determinar
el porcentaje de importancia de cada criterio.
Matriz 2. Normalización y porcentaje de importancia de cada criterio. Fuente propia
Al comprobar la consistencia de la matriz, se prosiguió a realizar la matriz de
comparación de cada uno de los lenguajes en cada criterio. A continuación, se
muestran dichas matrices.
Velocidad Paradigma Costo Comunidad Producción
Velocidad 1 7 3 2 3
Paradigma 1/7 1 1/5 1/4 1/2
Costo 1/3 5 1 3 5
Comunidad 1/2 4 1/3 1 2
Producción 1/3 2 1/5 1/2 1
Suma 2,30952381 19 4,733333333 6,75 11,5
Velocidad Paradigma Costo Comunidad Producción
Velocidad 0,43298969 0,36842105 0,63380282 0,2962963 0,26086957 0,39847588
Paradigma 0,06185567 0,05263158 0,04225352 0,03703704 0,04347826 0,04745121
Costo 0,1443299 0,26315789 0,21126761 0,44444444 0,43478261 0,29959649
Comunidad 0,21649485 0,21052632 0,07042254 0,14814815 0,17391304 0,16390098
Producción 0,1443299 0,10526316 0,04225352 0,07407407 0,08695652 0,09057543
1
123
Velocidad
Fue el criterio con más peso en la decisión, con un valor aproximado del 40%. Hace
referencia al procesamiento y análisis de los datos en el menor tiempo posible.
Matriz 3. Matriz de comparación - Criterio Velocidad. Fuente propia
Python R Matlab Julia Promedio Peso
Python 0,39473684 0,426829268 0,33333333 0,31578947 0,36767223 0,14650852
R 0,39473684 0,426829268 0,46666667 0,52631579 0,45363714 0,18076346
Matlab 0,07894737 0,06097561 0,06666667 0,05263158 0,06480531 0,02582335
Julia 0,13157895 0,085365854 0,13333333 0,10526316 0,11388532 0,04538055
Matriz 4. Pesos del criterio Velocidad en cada lenguaje. Fuente propia
Matriz 5. Consistencia de la matriz de confusión – Velocidad. Fuente propia
Python R Matlab Julia
Python 1 1 5 3
R 1 1 7 5
Matlab 1/5 1/7 1 1/2
Julia 1/3 1/5 2 1
2,53333333 2,342857143 15 9,5
Velocidad
1,48699187 CI 0,01607783
1,84437313 RI 0,495
0,26008772 CR 0,03248046
0,45678077
4,04823349 Nmax
124
Paradigma
Con un peso del 4.7%, el criterio de paradigma se enfocó a valorar aquellos lenguajes
de programación con enfoque en procesos matemáticos.
Matriz 6. Matriz de comparación - Criterio Paradigma. Fuente propia
Matriz 8. Consistencia de la matriz de confusión – Paradigma. Fuente propia
Python R Matlab Julia
Python 1 1/3 1/2 1/2
R 3 1 2 2
Matlab 2 1/2 1 1
Julia 2 1/2 1 1
8 2,333333333 4,5 4,5
Paradigma
0,49074074 CI 0,00402337
1,69940476 RI 0,495
0,9109623 CR 0,00812802
0,9109623
4,01207011 Nmax
Python R Matlab Julia Promedio Peso
Python 0,125 0,142857143 0,11111111 0,11111111 0,12251984 0,00581372
R 0,375 0,428571429 0,44444444 0,44444444 0,42311508 0,02007732
Matlab 0,25 0,214285714 0,22222222 0,22222222 0,22718254 0,01078009
Julia 0,25 0,214285714 0,22222222 0,22222222 0,22718254 0,01078009
Matriz 7. Pesos del criterio Paradigma en cada lenguaje. Fuente propia
125
Costo.
Fue el segundo criterio con más peso para la decisión. Con aproximadamente un 30%,
se consideró importante poder contar con un lenguaje de programación cuyo uso fuera
gratuito, teniendo en cuenta la inversión que se debía hacer al momento de entrenar
la red en un servicio de nube, razón por la cual no se querían asumir más costos.
Matriz 9. Matriz de comparación - Criterio Costo. Fuente propia
Python R Matlab Julia Promedio Peso
Python 0,3125 0,3125 0,3125 0,3125 0,3125 0,0936239
R 0,3125 0,3125 0,3125 0,3125 0,3125 0,0936239
Matlab 0,0625 0,0625 0,0625 0,0625 0,0625 0,01872478
Julia 0,3125 0,3125 0,3125 0,3125 0,3125 0,0936239
Matriz 10. Pesos del criterio Costo en cada lenguaje. Fuente propia
Matriz 11. Consistencia de la matriz de confusión – Costo. Fuente propia
Python R Matlab Julia
Python 1 1 5 1
R 1 1 5 1
Matlab 1/5 1/5 1 1/5
Julia 1 1 5 1
3,2 3,2 16 3,2
Costo
1,25 CI 0
1,25 RI 0,495
0,25 CR 0
1,25
4 Nmax
126
Comunidad.
Fue el tercer criterio con mayor peso para la decisión con un 16.3%. Hace referencia
al lenguaje de programación con mayor apoyo y aportes por parte de la comunidad
científica.
Matriz 12. Matriz de comparación - Criterio Comunidad. Fuente propia
Python R Matlab Julia Promedio Peso
Python 0,62780269 0,685714286 0,5 0,6 0,60337924 0,09889445
R 0,15695067 0,171428571 0,21428571 0,24 0,19566624 0,03206989
Matlab 0,0896861 0,057142857 0,07142857 0,04 0,06456438 0,01058217
Julia 0,12556054 0,085714286 0,21428571 0,12 0,13639013 0,02235448
Matriz 13. Pesos del criterio Comunidad en cada lenguaje. Fuente propia
Matriz 14. Consistencia de la matriz de confusión – Comunidad. Fuente propia
Python R Matlab Julia
Python 1 4 7 5
R 1/4 1 3 2
Matlab 1/7 1/3 1 1/3
Julia 1/5 1/2 3 1
1,59285714 5,833333333 14 8,33333333
Comunidad
2,51994555 CI 0,04765638
0,81298447 RI 0,495
0,26144687 CR 0,09627551
0,54859225
4,14296914 Nmax
127
Producción.
Representó un peso del 9% en la decisión. Se hizo énfasis en la búsqueda de un
lenguaje de programación que fuera ensamblador.
Matriz 15. Matriz de comparación - Criterio Producción. Fuente propia
Python R Matlab Julia Promedio Peso
Python 0,56074766 0,533333333 0,62068966 0,45454545 0,54232903 0,04912169
R 0,14018692 0,133333333 0,10344828 0,18181818 0,13969668 0,01265309
Matlab 0,18691589 0,266666667 0,20689655 0,27272727 0,23330159 0,02113139
Julia 0,11214953 0,066666667 0,06896552 0,09090909 0,0846727 0,00766927
Matriz 16. Pesos del criterio Producción en cada lenguaje. Fuente propia
Matriz 17. Consistencia de la matriz de confusión – Producción. Fuente propia
Decisión final.
Después de todo el proceso, resultó como opción óptima usar Python con 0.3939. Pocos
puntos por encima de R que tuvo 0.3391. Seguido de Julia con 0.1789 y por último Matlab.
Python R Matlab Julia
Python 1 4 3 5
R 1/4 1 1/2 2
Matlab 1/3 2 1 3
Julia 1/5 1/2 1/3 1
1,78333333 7,5 4,83333333 11
Producción
2,22438403 CI 0,0246342
0,56127513 RI 0,495
0,9474894 CR 0,04976606
0,34075404
4,0739026 Nmax
128
Anexo 5. Métricas de evaluación obtenidas.
Para generar las gráficas de comportamiento de las arquitecturas en cada una de las
métricas, se utilizó la herramienta TensorBoard, descrita en el marco tecnológico. A
continuación, se presentan los resultados de las seis métricas utilizadas:
4.1. InceptionV3
Validation Training
1. Accuracy
2. F1 score
3. Precision
4. AUC
5. Loss
6. Recall
129
4.2. VGG16
Validation Training
1. Accuracy
2. F1 score
3. Precision
4. AUC
5. Loss
6. Recall
130
4.3. ResNet50
Validation Training
1. Accuracy
2. F1 score
3. Precision
4. AUC
5. Loss
6. Recall
131
Matrices de confusión.
Matrices de confusión obtenidas en las pruebas con una segmentación de los datos de
70% para training y 30% para test, en 10 épocas de entrenamiento para cada arquitectura.
1. ResNet50
2. VGG16
132
3. InceptionV3
133
Anexo 6. Acuerdo de transferencia dataset InBreast