Resumen Ejecutivo
Este proyecto cubre los siguientes pasos:Paso 1
Problema definido: Clasificación de neumonía en rayos X
Paso 2
Modelo diseñado: CNN de 3 capas convolucionales
Paso 3
Dataset identificado: Kaggle Chest X-Ray
Paso 4
Código implementado: TensorFlow/Keras
Paso 1: Definición del Problema
Problema Biomédico
Detección automática de neumonía en radiografías de tórax usando Deep LearningJustificación
Impacto Clínico
Impacto Clínico
- La neumonía causa el 15% de muertes en niños menores de 5 años
- Es una de las principales causas de mortalidad infantil a nivel mundial
Desafío del Diagnóstico
Desafío del Diagnóstico
- El diagnóstico requiere radiólogos expertos no siempre disponibles
- Puede haber variabilidad entre observadores
- Tiempo de espera para interpretación en zonas rurales
Solución con IA
Solución con IA
- IA puede ofrecer screening rápido y consistente
- Disponible 24/7 sin fatiga
- Apoyo a decisión médica en áreas con recursos limitados
Archivos Relacionados
PLANTEAMIENTO.md- Descripción completa del problema
Paso 2: Diseño del Modelo
Arquitectura CNN Seleccionada
La arquitectura implementada consta de 3 bloques convolucionales seguidos de capas densas:Justificación de CNN
Información Espacial
Mantiene información espacial 2D de las imágenes
Extracción Automática
Extrae características automáticamente sin ingeniería manual
Probada en Medicina
Arquitectura probada exitosamente en imagenología médica
Eficiencia
Menos parámetros que MLP tradicionales
Hiperparámetros
| Componente | Valor | Descripción |
|---|---|---|
| Optimizador | Adam | Learning rate = 0.001 |
| Loss | Categorical Crossentropy | Para clasificación binaria |
| Regularización | Dropout 0.5 + Data Augmentation | Prevención de overfitting |
| Métricas | Accuracy, Precision, Recall, F1 | Evaluación completa |
Ver el Modelo
Puedes visualizar un resumen del modelo ejecutando:Archivos Relacionados
DISEÑO_MODELO.md- Justificación completa del diseñosrc/model.py- Implementación del modelo en src/model.py:1
Paso 3: Dataset
Dataset Seleccionado
Chest X-Ray Images (Pneumonia) - KaggleEste dataset contiene radiografías de tórax de pacientes pediátricos organizadas en categorías NORMAL y PNEUMONIA.
Estadísticas del Dataset
Cómo Obtener el Dataset
Ir a Kaggle
Extraer en el proyecto
Extrae el contenido en la carpeta
data/chest_xray/ del proyectoEstructura esperada:Archivos Relacionados
INSTRUCCIONES_DATASET.md- Guía completa de descargaverificar_dataset.py- Script de verificaciónsrc/data_loader.py- Cargador de datos con augmentation en src/data_loader.py:1
Paso 4: Implementación
Scripts Implementados
El proyecto incluye 4 scripts principales en la carpetasrc/:
- model.py
- data_loader.py
- train.py
- evaluate.py
Arquitectura CNNDefine la arquitectura de la red neuronal convolucional con 3 bloques convolucionales.Output: Muestra un resumen del modelo con el número de parámetros
Ejecución Completa del Proyecto
Instalar dependencias
Las librerías ya están configuradas en el Pipfile:Esto instalará:
- TensorFlow/Keras
- NumPy
- Matplotlib
- scikit-learn
- Pillow
Entrenar el modelo
- 20 épocas (puede detenerse antes con early stopping)
- Batch size: 32
- Validación: 20% del conjunto de entrenamiento
Resultados Esperados
Métricas Objetivo
Accuracy
> 85%Precisión general del modelo
Precision
> 80%De las predicciones de neumonía, cuántas son correctas
Recall
> 90%De todos los casos de neumonía, cuántos detecta el modelo
F1-Score
> 85%Media armónica entre precision y recall
AUC-ROC
Objetivo: > 0.90El área bajo la curva ROC mide la capacidad del modelo para discriminar entre clases.
Interpretación Clínica
- Alta Recall (>90%): Minimiza falsos negativos - es crucial no perder casos de neumonía
- Buena Precision (>80%): Evita alarmas falsas que generan procedimientos innecesarios
- Balance: El modelo funciona como herramienta útil de screening, no como diagnóstico definitivo
Solución de Problemas
Dataset no encontrado
Dataset no encontrado
Error:Solución:
- Verifica que descargaste el dataset de Kaggle
- Extrae el archivo en la carpeta
data/ - Ejecuta
pipenv run python verificar_dataset.py
Memoria insuficiente
Memoria insuficiente
Error:Solución:
- Reduce el
batch_sizeensrc/train.pyde 32 a 16 u 8 - Busca la línea:
batch_size=32y cámbiala abatch_size=16
TensorFlow muy lento
TensorFlow muy lento
Situación: El entrenamiento toma más de 1 horaSolución:
- Es normal en CPU
- Para acelerar:
- Usa una GPU si está disponible
- Reduce el número de épocas
- Reduce el tamaño del dataset de entrenamiento
Dependencias faltantes
Dependencias faltantes
Error: Módulos no encontradosSolución:
Próximos Pasos
Después de completar los pasos 1-4, puedes:Paso 5: Informe Técnico (6 páginas máx)
Estructura sugerida:- Abstract - Resumen del proyecto
- Introducción - Problema y motivación
- Metodología - Arquitectura CNN y dataset
- Resultados - Métricas y gráficas
- Discusión - Interpretación y limitaciones
- Conclusiones - Logros y trabajo futuro
Paso 6: Presentación (7 minutos)
Diapositivas sugeridas:- Título y equipo
- Problema biomédico
- Dataset y preprocesamiento
- Arquitectura CNN
- Resultados (métricas + gráficas)
- Demostración (predicciones)
- Conclusiones
Recursos Adicionales
Tutoriales
Papers Relacionados
- CheXNet (Rajpurkar et al., 2017)
- Dataset original (Kermany et al., 2018)
Mejoras Posibles
- Transfer Learning (VGG16, ResNet)
- Grad-CAM para visualización de activaciones
- Clasificación multiclase (viral vs bacteriana)
- Ensembles de modelos
Checklist Final
Antes de la entrega, verifica:- Dataset descargado y verificado
- Modelo entrenado exitosamente
- Accuracy >80% en test
- Todas las gráficas generadas en
results/ - Código documentado
- README.md actualizado
- Informe técnico completo (Paso 5)
- Presentación lista (Paso 6)