133
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

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 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

Page 2: 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.

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

Page 3: Prototipo de Sistema de Información para la Detección de

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

Page 4: Prototipo de Sistema de Información para la Detección de

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

Page 5: Prototipo de Sistema de Información para la Detección de

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

Page 6: Prototipo de Sistema de Información para la Detección de

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

Page 7: Prototipo de Sistema de Información para la Detección de

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

Page 8: Prototipo de Sistema de Información para la Detección de

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.

Page 9: Prototipo de Sistema de Información para la Detección de

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.

Page 10: Prototipo de Sistema de Información para la Detección de

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)

Page 11: Prototipo de Sistema de Información para la Detección de

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].

Page 12: Prototipo de Sistema de Información para la Detección de

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

Page 13: Prototipo de Sistema de Información para la Detección de

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.

Page 14: Prototipo de Sistema de Información para la Detección de

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

Page 15: Prototipo de Sistema de Información para la Detección de

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.

Page 16: Prototipo de Sistema de Información para la Detección de

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.

Page 17: Prototipo de Sistema de Información para la Detección de

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

Page 18: Prototipo de Sistema de Información para la Detección de

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

Page 19: Prototipo de Sistema de Información para la Detección de

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

Page 20: Prototipo de Sistema de Información para la Detección de

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

Page 21: Prototipo de Sistema de Información para la Detección 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.

Page 22: Prototipo de Sistema de Información para la Detección de

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

Page 23: Prototipo de Sistema de Información para la Detección de

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.

Page 24: Prototipo de Sistema de Información para la Detección de

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

Page 25: Prototipo de Sistema de Información para la Detección de

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.

Page 26: Prototipo de Sistema de Información para la Detección de

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.

Page 27: Prototipo de Sistema de Información para la Detección de

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

Page 28: Prototipo de Sistema de Información para la Detección de

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

Page 29: Prototipo de Sistema de Información para la Detección de

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

Page 30: Prototipo de Sistema de Información para la Detección de

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

Page 31: Prototipo de Sistema de Información para la Detección de

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.

Page 32: Prototipo de Sistema de Información para la Detección de

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

Page 33: Prototipo de Sistema de Información para la Detección de

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).

Page 34: Prototipo de Sistema de Información para la Detección de

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).

Page 35: Prototipo de Sistema de Información para la Detección de

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)

Page 36: Prototipo de Sistema de Información para la Detección de

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)

Page 37: Prototipo de Sistema de Información para la Detección de

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)

Page 38: Prototipo de Sistema de Información para la Detección de

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)

Page 39: Prototipo de Sistema de Información para la Detección de

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.

Page 40: Prototipo de Sistema de Información para la Detección de

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)

Page 41: Prototipo de Sistema de Información para la Detección de

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

Page 42: Prototipo de Sistema de Información para la Detección de

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.

Page 43: Prototipo de Sistema de Información para la Detección de

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)

Page 44: Prototipo de Sistema de Información para la Detección de

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

Page 45: Prototipo de Sistema de Información para la Detección de

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)

Page 46: Prototipo de Sistema de Información para la Detección de

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

Page 47: Prototipo de Sistema de Información para la Detección 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

Page 48: Prototipo de Sistema de Información para la Detección de

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)

Page 49: Prototipo de Sistema de Información para la Detección de

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)

Page 50: Prototipo de Sistema de Información para la Detección de

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)

Page 51: Prototipo de Sistema de Información para la Detección de

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

Page 52: Prototipo de Sistema de Información para la Detecció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

Page 53: Prototipo de Sistema de Información para la Detección de

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.

Page 54: Prototipo de Sistema de Información para la Detección de

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).

Page 55: Prototipo de Sistema de Información para la Detección de

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.

Page 56: Prototipo de Sistema de Información para la Detección de

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.

Page 57: Prototipo de Sistema de Información para la Detección de

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.

Page 58: Prototipo de Sistema de Información para la Detección de

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.

Page 59: Prototipo de Sistema de Información para la Detección de

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

Page 60: Prototipo de Sistema de Información para la Detección de

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

Page 61: Prototipo de Sistema de Información para la Detección de

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.

Page 62: Prototipo de Sistema de Información para la Detección de

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.

Page 63: Prototipo de Sistema de Información para la Detección de

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

Page 64: Prototipo de Sistema de Información para la Detección de

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,

Page 65: Prototipo de Sistema de Información para la Detección de

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.

Page 66: Prototipo de Sistema de Información para la Detección de

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.

Page 67: Prototipo de Sistema de Información para la Detección de

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.

Page 68: Prototipo de Sistema de Información para la Detección de

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.

Page 69: Prototipo de Sistema de Información para la Detección de

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.

Page 70: Prototipo de Sistema de Información para la Detección de

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.

Page 71: Prototipo de Sistema de Información para la Detección de

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

Page 72: Prototipo de Sistema de Información para la Detección de

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

Page 73: Prototipo de Sistema de Información para la Detección de

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

Page 74: Prototipo de Sistema de Información para la Detección de

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

Page 75: Prototipo de Sistema de Información para la Detección de

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:

Page 76: Prototipo de Sistema de Información para la Detección de

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

Page 77: Prototipo de Sistema de Información para la Detección de

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

Page 78: Prototipo de Sistema de Información para la Detección de

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

Page 79: Prototipo de Sistema de Información para la Detección de

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.

Page 80: Prototipo de Sistema de Información para la Detección de

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.

Page 81: Prototipo de Sistema de Información para la Detección de

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

Page 82: Prototipo de Sistema de Información para la Detección de

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.

Page 83: Prototipo de Sistema de Información para la Detección de

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.

Page 84: Prototipo de Sistema de Información para la Detección de

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.

Page 85: Prototipo de Sistema de Información para la Detección de

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:

Page 86: Prototipo de Sistema de Información para la Detección de

86

Page 87: Prototipo de Sistema de Información para la Detección de

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.

Page 88: Prototipo de Sistema de Información para la Detección de

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

Page 89: Prototipo de Sistema de Información para la Detección de

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.

Page 90: Prototipo de Sistema de Información para la Detección de

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

Page 91: Prototipo de Sistema de Información para la Detección 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.

Page 92: Prototipo de Sistema de Información para la Detección de

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/

Page 93: Prototipo de Sistema de Información para la Detección de

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.

Page 94: Prototipo de Sistema de Información para la Detección de

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

Page 95: Prototipo de Sistema de Información para la Detección de

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.

Page 96: Prototipo de Sistema de Información para la Detección de

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

Page 97: Prototipo de Sistema de Información para la Detección de

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

Page 98: Prototipo de Sistema de Información para la Detección 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/

Page 99: Prototipo de Sistema de Información para la Detección de

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

Page 100: Prototipo de Sistema de Información para la Detección de

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

Page 101: Prototipo de Sistema de Información para la Detección de

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

Page 102: Prototipo de Sistema de Información para la Detección de

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

Page 103: Prototipo de Sistema de Información para la Detección de

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

Page 104: Prototipo de Sistema de Información para la Detección de

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

Page 105: Prototipo de Sistema de Información para la Detección de

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.

Page 106: Prototipo de Sistema de Información para la Detección de

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:

Page 107: Prototipo de Sistema de Información para la Detección de

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

Page 108: Prototipo de Sistema de Información para la Detección de

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.

Page 109: Prototipo de Sistema de Información para la Detección de

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.

Page 110: Prototipo de Sistema de Información para la Detección de

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).

Page 111: Prototipo de Sistema de Información para la Detección de

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.

Page 112: Prototipo de Sistema de Información para la Detección de

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:

Page 113: Prototipo de Sistema de Información para la Detección de

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

Page 114: Prototipo de Sistema de Información para la Detección de

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

Page 115: Prototipo de Sistema de Información para la Detección de

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

Page 116: Prototipo de Sistema de Información para la Detección de

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

Page 117: Prototipo de Sistema de Información para la Detección de

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

Page 118: Prototipo de Sistema de Información para la Detección de

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

Page 119: Prototipo de Sistema de Información para la Detección de

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

Page 120: Prototipo de Sistema de Información para la Detección de

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".

Page 121: Prototipo de Sistema de Información para la Detección de

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

Page 122: Prototipo de Sistema de Información para la Detección de

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

Page 123: Prototipo de Sistema de Información para la Detección de

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

Page 124: Prototipo de Sistema de Información para la Detección de

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

Page 125: Prototipo de Sistema de Información para la Detección de

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

Page 126: Prototipo de Sistema de Información para la Detección de

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

Page 127: Prototipo de Sistema de Información para la Detección de

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

Page 128: Prototipo de Sistema de Información para la Detección de

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

Page 129: Prototipo de Sistema de Información para la Detección de

129

4.2. VGG16

Validation Training

1. Accuracy

2. F1 score

3. Precision

4. AUC

5. Loss

6. Recall

Page 130: Prototipo de Sistema de Información para la Detección de

130

4.3. ResNet50

Validation Training

1. Accuracy

2. F1 score

3. Precision

4. AUC

5. Loss

6. Recall

Page 131: Prototipo de Sistema de Información para la Detección de

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

Page 132: Prototipo de Sistema de Información para la Detección de

132

3. InceptionV3

Page 133: Prototipo de Sistema de Información para la Detección de

133

Anexo 6. Acuerdo de transferencia dataset InBreast