Guia Técnica

Pipeline Completo: De la Ecografía al Modelo de IA

Paso a paso de como construimos un modelo de aprendizaje automático para detectar cardiopatías congénitas en ecografías prenatales, desde la captura de imágenes hasta la validación clínica.

← Volver a la presentación
CapturaEtiquetado (CVAT)PreprocesamientoEntrenamiento CNNValidaciónDeploy
1

Captura de Imágenes Ecográficas

El punto de partida es la obtención de imágenes ecográficas del corazón fetal. Cada paciente es evaluada en CERPO entre las 18 y 32 semanas de gestacion, y se capturan entre 2 y 5 imágenes por cada uno de los 5 planos cardíacos de Yagel.

5
Planos de Yagel
2-5
Imágenes por plano
1136x852
Resolución (px)
2

Etiquetado con CVAT

Para entrenar un modelo supervisado, cada imagen debe ser evaluada sistemáticamente por médicos especialistas. Utilizamos CVAT (Computer Vision Annotation Tool) como plataforma de etiquetado, con un sistema jerárquico de 3 niveles (Primario, Secundario, Terciario) que evalúa cada punto anatómico como Normal, Anormal o No Evaluable.

¿Que es CVAT?

CVAT es una herramienta open-source desarrollada por Intel para anotación de imágenes y video. En nuestro proyecto, la utilizamos para evaluar cada imagen ecográfica mediante un checklist anatómico de 39 puntos distribuidos en los 5 planos de Yagel. El esquema de etiquetado fue diseñado por el equipo médico de CERPO y cada estructura se clasifica en 3 estados: Normal, Anormal, o No Evaluable.

Jerarquia de etiquetado — 3 niveles

PRIMARIOIdentificación del plano de Yagel (1-5). Incluye opción "no encontrado" si el corte no se obtuvo.
SECUNDARIOEvaluación de cada estructura anatómica del plano como: Normal, Anormal, o No Evaluable.
TERCIARIODiagnóstico final: Normal o Anormal con descripcion de la cardiopatía estructural específica.

Codificacion en CVAT: XXYY_PLANO_Descripcion

XXYY_PLANO_Descripcion anatómica→ Normal / Anormal / No Evaluable
0209_C4C_Septum interauricular indemne→ Normal

Evalúa la posición de los organos abdominales para determinar el situs visceral.

  • 0101 Circunferencia Abdominal
  • 0102 Estómago a Izquierda
  • 0103 Aorta posterior y a la izquierda de la columna
  • 0104 VCI anterior y a la derecha de la columna
  • 0105 Segmento corto de la Vena Umbilical

El plano mas importante del screening. Evalúa sistemáticamente 15 puntos anatómicos del corazón fetal.

  • 0201 Área Cardíaca
  • 0202 Posición cardíaca en hemitorax izquierdo
  • 0203 Ángulo cardíaco 45° +/-20
  • 0204 4 cámaras presentes
  • 0205 2 atrios de similar tamaño
  • 0206 2 ventrículos de similar tamaño
  • 0207 Concordancia Aurículo Ventricular
  • 0208 FO de derecha a izquierda
  • 0209 Septum interauricular indemne
  • 0210 Al menos una vena pulmonar en AI
  • 0211 Banda moderadora en VD
  • 0212 Cruz cardíaca indemne
  • 0213 Offseting valvular normal
  • 0214 Aorta descendente posterior a AI
  • 0215 Derrame pericárdico < 2 mm

El sistema CRP (Cardiopatía - Referencia Perinatal) es una clasificación jerárquica de 3 niveles disenada especificamente para este proyecto, con 9 categorías principales y 73 códigos de diagnóstico. Formato: CRP[N1].[N2].[N3] donde N1 = categoría, N2 = subcategoria, N3 = diagnóstico específico.

CRP1Anomalía de 4 cámaras
1.1Miocardiopatía:
1.1.1 Hipertrófica (HCM)1.1.2 Dilatada (DCM)1.1.3 No Compactada (LVNC)1.1.4 Otro
1.2Fibroelastosis:
1.2.0 Fibroelastosis (EFE)
1.3Asimetrías de 4 cámaras:
1.3.1 Auricular1.3.2 Ventricular1.3.3 Otro
1.4Hipoplasia VI:
1.4.0 HLHS
1.5Hipoplasia VD:
1.5.0 HRHS
1.6Ventrículo unico:
1.6.0 Ventrículo unico
1.7Aneurisma/divertículo:
1.7.0 Aneurisma o divertículo cardíaco
1.8Tumores:
1.8.1 Rabdomioma1.8.2 Teratoma1.8.3 Fibroma1.8.4 Hemangioma1.8.5 Mixoma1.8.6 Otro
1.9Derrame pericárdico:
1.9.0 Derrame pericárdico
1.10Otro:
1.10.0 Otro
CRP2Malformaciones conotruncales
2.1Tetralogía de Fallot:
2.1.0 TOF
2.2Doble Salida VD:
2.2.0 DSVD / DORV
2.3TGA:
2.3.0 D-TGA
2.4TGA corregida:
2.4.0 L-TGA / C-TGA
2.5Tronco arterioso:
2.5.0 PTA
2.6Otro:
2.6.0 Otro
CRP3Valvulares
3.1V. aórtica:
3.1.1 Estenosis aórtica (AS)3.1.2 Otro
3.2V. pulmonar:
3.2.1 Atresia pulmonar (PA)3.2.2 Estenosis pulmonar (PS)3.2.3 Otro
3.3V. tricúspide:
3.3.1 Atresia tricuspídea (TA)3.3.2 Displasia / IT3.3.3 Anomalía de Ebstein3.3.4 Otro
3.4V. mitral:
3.4.1 Atresia mitral (MA)3.4.2 Estenosis mitral (MS)3.4.3 Otro
3.5Otro:
3.5.0 Otro
CRP4Defectos septales
4.1CIV:
4.1.1 Membranosa4.1.2 Muscular4.1.3 Otro
4.2CIA:
4.2.1 Tipo OP (primum)4.2.2 Tipo OS (secundum)4.2.3 Otro
4.3Canal AV:
4.3.1 Completo (CAVC)4.3.2 Parcial (CAVP)4.3.3 Otro
4.4FO aneurismático:
4.4.0 Foramen oval aneurismático
4.5Otro:
4.5.0 Otro
CRP5Anomalías del Arco Aórtico
5.1Coartación:
5.1.0 Coartación aórtica (CoA)
5.2Interrupción:
5.2.0 Interrupción arco aórtico (IAA)
5.3Hipoplasia:
5.3.0 Hipoplasia arco aórtico
5.4Doble arco:
5.4.0 Doble arco aórtico
5.5Arco derecho:
5.5.0 Arco aórtico derecho
5.6Otro:
5.6.0 Otro
CRP6Anomalías de situs / posición cardíaca
6.1Heterotaxias:
6.1.0 Heterotaxias
6.2Dextrocardia:
6.2.0 Dextrocardia
6.3Dextroposición:
6.3.0 Dextroposición
6.4Ectopia cordis:
6.4.0 Ectopia cordis
6.5Otro:
6.5.0 Otro
CRP7Anomalías del drenaje venoso
7.1Pulmonar:
7.1.1 DVPAT (total)7.1.2 DVPAP (parcial)7.1.3 Otro
7.2Sistémico:
7.2.1 Shunt portosistémico (CPSS)7.2.2 VCSI persistente (PLSVC)7.2.3 VCI interrumpida
7.3Otro:
7.3.0 Otro
CRP8Arritmias
8.1Taquiarritmias:
8.1.0 Taquiarritmias
8.2Bradiarritmias:
8.2.0 Bradiarritmias
8.3Extrasístoles:
8.3.0 Extrasístoles
8.4Otro:
8.4.0 Otro
CRP9Otro
9.0Otro:
9.0.0 No clasificable
3

Preprocesamiento de Imágenes

Antes de alimentar las imágenes al modelo, se aplican transformaciones para estandarizarlas y mejorar la capacidad de generalizacion del modelo.

  1. Recorte de regiones no informativas: Se remueven los bordes del ecografo (texto, logos, barras laterales) dejando solo la imagen ultrasonica.
  2. Redimensionamiento: Todas las imágenes se escalan a un tamaño uniforme (ej: 224x224 px para arquitecturas estándar, o 299x299 para Inception).
  3. Normalizacion: Los valores de píxeles se escalan al rango [0, 1] o se estandarizan con media y desviacion estándar del dataset.
  4. Data augmentation: Se aplican transformaciones aleatorias para aumentar la variabilidad del dataset de entrenamiento.
4

Arquitectura del Modelo: ¿Por que Deep Learning?

El objetivo es que un algoritmo mire una ecografía cardíaca fetal y determine si presenta anomalías estructurales. Para esto necesitamos un modelo que pueda "ver" — extraer patrones visuales de una imagen y tomar una decision. Existen varias familias de modelos capaces de hacer esto.

Comparacion de enfoques

EnfoquePrincipioDataset requeridoEcografía?Limitacion
ML clasico (SVM, Random Forest)Features manuales (textura, forma)PequeñoLimitadoEl humano decide que features importan — pierde patrones sutiles
CNN (Redes Convolucionales)Aprende features automáticamente de la imagenMedio (~1-5K)ExcelenteNecesita datos etiquetados; caja negra
Vision Transformer (ViT)Atención global sobre parches de la imagenGrande (>10K)BuenoNecesita muchos datos; computacionalmente costoso
U-Net / SegmentaciónPixel a pixel: genera máscara de la anomalíaMedio + máscarasExcelenteRequiere anotaciones de segmentación (polígonos)
YOLO / DetecciónLocaliza y clasifica objetos en bounding boxesMedio + boxesBuenoMejor para localizar que para clasificar globalmente

¿Por que CNN es la mejor opción para este proyecto?

  1. Aprendizaje jerárquico automático: Las CNN aprenden una jerarquia de características visuales — las primeras capas detectan bordes y texturas del ultrasonido, las capas intermedias reconocen formas anatómicas (septum, valvulas, cámaras), y las capas profundas integran todo para clasificar. Esto replica el proceso cognitivo del médico ecografista.
  2. Tamaño del dataset compatible: Con ~5000 imágenes etiquetadas, las CNN funcionan bien (especialmente con transfer learning). Los Vision Transformers necesitarian 10x mas datos. El ML clasico perderia patrones sutiles.
  3. Evidencia clínica: La mayoria de los estudios publicados en detección ecográfica de cardiopatías congénitas con IA usan CNN (ResNet, VGG, EfficientNet). Esto permite comparar resultados directamente con la literatura.
  4. Explicabilidad con GradCAM: Las CNN permiten generar mapas de calor (GradCAM) que muestran que región de la imagen fue determinante para la decision. Esto es crítico en medicina — el médico necesita entender por queel modelo dice "anormal".
  5. Eficiencia de inferencia: Una CNN entrenada clasifica una imagen en milisegundos, lo que permite uso en tiempo real durante la ecografía.

¿Como se logra el diagnóstico con Deep Learning?

El flujo completo desde la ecografía hasta el diagnóstico:

1
1. Captura

El ecografista obtiene una imagen del corazón fetal en uno de los 5 planos de Yagel

2
2. Preprocesamiento

La imagen se recorta, redimensiona a 224x224px, y normaliza

3
3. Extraccion de features (CNN)

Las capas convolucionales extraen automáticamente patrones: bordes → texturas → formas → estructuras anatómicas

4
4. Clasificación

La capa final produce P(anormal) — una probabilidad entre 0 y 1

5
5. Umbral de decision

Si P > umbral óptimo (Youden), se clasifica como 'Anormal'. El umbral se determina con la curva ROC

6
6. Explicabilidad

GradCAM genera un heatmap mostrando QUE región de la imagen influyo en la decision

7
7. Diagnóstico asistido

El médico ve: imagen + clasificación + probabilidad + heatmap → toma la decision clínica final

Importante: El modelo NO reemplaza al médico

El modelo es una herramienta de apoyo diagnóstico, no un sistema autonomo. El flujo clínico es: modelo sugiere → médico revisa → médico decide. El objetivo es reducir la tasa de cardiopatías que pasan inadvertidas (falsos negativos), no automatizar el diagnóstico.

Un modelo por cada plano

Se entrena un modelo CNN independiente para cada uno de los 5 planos de Yagel. Cada modelo se especializa en las características visuales propias de su corte cardíaco (el plano de 4 cámaras tiene patrones muy distintos al de 3 vasos), lo que mejora la precision respecto a un modelo unico generalista.

5

Entrenamiento del Modelo

El entrenamiento es el proceso donde el modelo "aprende" a distinguir corazones normales de anormales, ajustando progresivamente sus parámetros internos para minimizar los errores de clasificación.

Partición de datos

La Cohorte 1 se divide aleatoriamente manteniendo la proporción de clases (estratificada):

Entrenamiento (70%)
Validación (30%)
ParámetroValorJustificacion
Función de perdidaBinary Cross-EntropyEstándar para clasificación binaria
OptimizadorAdamConvergencia rápida, adaptativo
Learning rate1e-4 (con decay)Bajo para fine-tuning, previene olvido catastrofico
Batch size32Balance entre memoria GPU y estabilidad del gradiente
Epocas50 (early stopping)Se detiene si no mejora en 10 epocas
RegularizacionDropout 0.5 + L2Previene sobreajuste en datasets pequenos
6

Validación y Métricas

La validación mide objetivamente que tan bien funciona el modelo. Usamos dos fases: validación interna (30% de Cohorte 1) y validación externa (Cohorte 2 independiente).

Curva ROC

La curva ROC (Receiver Operating Characteristic) es el grafico central de la evaluación. Muestra la relación entre la tasa de verdaderos positivos (sensibilidad) y la tasa de falsos positivos (1 - especificidad) para diferentes umbrales de decision.

AUC(Área Under the Curve): Un valor entre 0 y 1. Un AUC de 0.5 = clasificador aleatorio (inutil). Un AUC de 1.0 = clasificador perfecto. En la práctica, un AUC > 0.85 se considera excelente para diagnóstico médico.

Sensibilidad (tasa de verdaderos positivos):

¿Cuantos enfermos detecta correctamente? Crítica en screening prenatal — no queremos perder ninguna cardiopatía.

Se=VPVP+FN=Enfermos detectadosTotal enfermos\text{Se} = \frac{VP}{VP + FN} = \frac{\text{Enfermos detectados}}{\text{Total enfermos}}
Especificidad (tasa de verdaderos negativos):

¿Cuantos sanos identifica correctamente? Evita alarmas innecesarias.

Sp=VNVN+FP=Sanos confirmadosTotal sanos\text{Sp} = \frac{VN}{VN + FP} = \frac{\text{Sanos confirmados}}{\text{Total sanos}}
Índice de Youden — punto de corte óptimo:

Maximiza simultaneamente sensibilidad y especificidad.

J=Se+Sp1J = \text{Se} + \text{Sp} - 1
VPP y VPN:

VPP: si el modelo dice "anormal", ¿que probabilidad hay de que realmente lo sea? VPN: si dice "normal", ¿que tan confiable es?

VPP=VPVP+FPVPN=VNVN+FN\text{VPP} = \frac{VP}{VP + FP} \qquad \text{VPN} = \frac{VN}{VN + FN}
7

Deploy y Uso Clínico

Una vez validado, el modelo se exporta a formato ONNX para integrarse en un sistema web que permite a los médicos subir una ecografía y obtener una predicción en tiempo real.

Respondiendo la Pregunta de Investigación

Pregunta

¿Puede un modelo de aprendizaje automático basado en CNN alcanzar un rendimiento diagnóstico comparable al de un operador experto en la detección de cardiopatías congénitas estructurales?

La respuesta se determina comparando las métricas del modelo (sensibilidad, especificidad, AUC) contra el gold estándar ecocardiográfico fetal y las tasas de detección reportadas en la literatura (4.5% - 50%). Un modelo con AUC > 0.85 y sensibilidad > 80% representaria una mejora significativa respecto al screening convencional.

← Ver resultados en la presentación