WomanLife: Deep Learning para la detección y clasificación del cáncer de mama

WomanLife explora la clasificación de ecografías de mama con TensorFlow y Keras. Un proyecto educativo con tres clases de imagen y límites clínicos explícitos.

Proyecto de aprendizaje compartido por la comunidad. El artículo documenta el equipo, el método y los resultados; no acredita que el prototipo esté listo para su uso fuera del entorno de aprendizaje.

WomanLife: Deep Learning para la detección y clasificación del cáncer de mama

Nota editorial: este artículo documenta un proyecto educativo y sus resultados en los datos utilizados. No acredita validación clínica ni autorización para diagnosticar o tratar a pacientes. Las propuestas de aplicación sanitaria se conservan como objetivos del equipo, no como capacidades demostradas.

La Paz. Deep Learning. 2021

El aprendizaje profundo permite explorar la clasificación automatizada de imágenes médicas. En WomanLife investigamos esta posibilidad con ecografías de mama, como un prototipo educativo orientado a estudiar posibles herramientas de apoyo al personal sanitario.

El cáncer de mama es un problema de salud relevante, y la detección y el tratamiento oportunos pueden mejorar los resultados. El acceso desigual a pruebas y especialistas motivó nuestro interés por estudiar herramientas de apoyo, sin sustituir la evaluación clínica.

Descripción del problema

El proyecto clasifica imágenes ecográficas de un dataset obtenido de mujeres de entre 25 y 75 años. El modelo estima una de tres categorías de imagen; no segmenta lesiones ni determina por sí solo el diagnóstico de una persona.

Objetivo

Explorar un modelo de clasificación de ecografías que, tras una eventual validación clínica, pudiera estudiarse como apoyo al personal sanitario. El prototipo presentado no está destinado al autodiagnóstico ni demuestra reducción de costes o mortalidad.

Selección de modelo

Trabajamos con tres etiquetas de imágenes ecográficas: benigno, maligno y normal, utilizando una red convolucional construida con TensorFlow Keras.

Datasets

El dataset procede del Hospital Baheya de El Cairo, Egipto, y contiene 780 imágenes de ecografía mamaria, obtenidas de mujeres de entre 25 y 75 años: 133 normales, 437 benignas y 210 malignas. El tamaño medio es de 500 × 500 píxeles. A continuación mostramos algunos ejemplos.

Fig. 1. Muestras de imágenes.

El dataset incluye máscaras de segmentación. Como nuestro modelo realiza clasificación, excluimos esas máscaras del conjunto de entrada mediante comandos de shell; esto no significa que carezcan de utilidad para otras tareas.

Técnicas implementadas

Hay que destacar que hasta el momento existe escasez de conjuntos de datos públicos de imágenes ecográficas de cáncer de mama y esto impide el buen funcionamiento de los algoritmos. Debido a esto, los autores que hicieron público el conjunto de datos que utilizamos recomiendan aumentar los datos utilizando GAN.

Entrenamos una GAN por clase con el objetivo de generar nuevas imágenes. Utilizamos 150 épocas en cada entrenamiento.

Sin embargo, no logró crear imágenes utilizables, por esta razón rechazamos el uso de esta técnica. El desafío es desarrollar la GAN con mayor número de épocas y con una mejor configuración de red neuronal para obtener imágenes más realistas.

Figura 2. MALIGNO

Fuente: Compilado por autores usando Matplotlib

Figura 3. BENIGNO

Fuente: Compilado por autores usando Matplotlib

Fig.4. NORMALES

Fuente: Compilado por autores usando Matplotlib

Definición de red

Dentro de los posibles patrones de diseño en Keras, se han implementado subclases para utilizar las API de bajo nivel de Keras. Puedes consultar más información al respecto en el siguiente artículo:

https://towardsdatascience.com/3-keras-design-patterns-every-ml-engineer-should-know-cae87618c7e3

La estructura de la red consta de:

  • Capa de preprocesamiento: Cambio de tamaño, cambio de escala y normalización
  • Conv2D: 32 filtros, stride de 4, padding «same» y activación ReLU
  • MaxPooling2D: pool_size (3, 3), padding «same» y stride de 2
  • Flatten
  • Denso: 512 neuronas y activación ReLU
  • Dropout (0.4)
  • Denso: 3 neuronas y activación SoftMax

Partimos de la arquitectura AlexNet y ajustamos el número de neuronas, las capas densas y los valores de dropout.

Usamos el optimizador Adam con una tasa de aprendizaje de 0.0001, la función de pérdida Sparse Categorical Crossentropy y la métrica Sparse Categorical Accuracy .

Fig. 5. Resumen del modelo. Fuente: Compilado por los autores.

Entrenamiento

TensorBoard se utilizó para observar el comportamiento en tiempo real de los valores de precisión y pérdida, lo que proporciona gráficos útiles para analizar los resultados y muchos controles para su manipulación.

Fig. 6. Tablero TensorBoard - Fuente: Compilado por los autores

Parada temprana

Usamos EarlyStopping como forma de regularización para evitar el sobreajuste al entrenar el modelo. Por ejemplo, si el valor de pérdida deja de disminuir, el entrenamiento se detendrá aunque no se hayan completado todas las iteraciones.

Conclusiones y trabajos futuros.

WomanLife explora una posible herramienta de apoyo al análisis de ecografías.

La aspiración es facilitar el trabajo de especialistas, pero hacen falta pruebas adicionales para determinar si el modelo aporta utilidad clínica. La aplicación educativa no sustituye la consulta médica.

A partir de ahora pretendemos optimizar el modelo utilizando una red GAN para obtener mayor precisión y utilizar técnicas que encuentren los parámetros correctos para entrenar el modelo. (Ajuste de hiperparámetros).

También desarrollamos una aplicación que recibe una imagen de la cámara o la galería y devuelve las puntuaciones del modelo para las tres clases del dataset. Esas puntuaciones no son un diagnóstico ni una probabilidad clínica validada de padecer cáncer.

El modelo fue desarrollado en TensorFlow puro, convertido, guardado y exportado a TensorFlow Lite.

Fig. 7. Muestra del funcionamiento del prototipo de aplicación — Fuente: Elaboración propia

Fig. 8. Conversión de la arquitectura TensorFlow a TensorFlow Lite — Fuente: Elaboración propia

Fuentes

El notebook y la aplicación móvil están disponibles en estos repositorios de GitHub:

https://github.com/edcalderin/BreastCancerDetection\_CNN

https://github.com/edcalderin/BreastCancerDetection\_app

En mis repositorios encontrarás también otros proyectos de ciencia de datos y aprendizaje automático. Los comentarios y sugerencias son bienvenidos.

Sobre los autores

Erick Calderín Morales

Ingeniero de sistemas con experiencia en desarrollo de software, estudiante de maestría en ingeniería de sistemas y maestría en ciencia de datos con afinidad por la inteligencia artificial.

Linkedin: https://www.linkedin.com/in/erick-calderin-5bb6963b/

Sharon Maygua Mendiola

Estudiante de ingeniería mecatrónica con licenciatura en física.

Linkedin: https://www.linkedin.com/in/sharon-sarai-maygua-mendiola-22288019a/

Referencias

Saturdays.AI

Presentación del proyecto: DemoDay

Abrir vídeo o recurso

Repositorio

En el siguiente repositorio se encuentra el código usuado para desarrollar esta aplicación:

https://github.com/SaturdaysAI/Projects/tree/master/Lapaz/2021.DL/BreastCancerDetection_CNN-master/BreastCancerDetection_CNN-master

Autoría

Erick Calderín

Ingeniero de Sistemas apasionado por el Deep Learning y la Inteligencia Artificial

Saturdays.AI

¡Más inteligencia artificial!

Saturdays.AI impulsa el aprendizaje colaborativo de inteligencia artificial mediante cursos y proyectos con impacto social (#ai4good).

Explora los cursos disponibles

Conoce la comunidad de Saturdays.AI

CONVERTIR LA CURIOSIDAD EN PRÁCTICA

Haga de este su punto de partida.

Pruebe una idea usted mismo o busque personas con quienes seguir aprendiendo.

Sigue nuevas historias en tu lector de RSS ↗

Una historia de la comunidad Saturdays.AI. Publicado originalmente el 31 de diciembre de 2021.

← Más historias de la comunidad