Guia Tecnica

Pipeline Completo: De la Ecografia al Modelo de IA

Paso a paso de como construimos un modelo de aprendizaje automatico para detectar cardiopatias congenitas en ecografias prenatales, desde la captura de imagenes hasta la validacion clinica.

← Volver a la presentacion
CapturaEtiquetado (CVAT)PreprocesamientoEntrenamiento CNNValidacionDeploy
1

Captura de Imagenes Ecograficas

El punto de partida es la obtencion de imagenes ecograficas del corazon fetal. Cada paciente es evaluada en CERPO entre las 18 y 32 semanas de gestacion, y se capturan entre 2 y 5 imagenes por cada uno de los 5 planos cardiacos de Yagel.

5
Planos de Yagel
2-5
Imagenes por plano
1136x852
Resolucion (px)
2

Etiquetado con CVAT

Para entrenar un modelo supervisado, cada imagen debe ser evaluada sistematicamente por medicos especialistas. Utilizamos CVAT (Computer Vision Annotation Tool) como plataforma de etiquetado, con un sistema jerarquico de 3 niveles (Primario, Secundario, Terciario) que evalua cada punto anatomico como Normal, Anormal o No Evaluable.

¿Que es CVAT?

CVAT es una herramienta open-source desarrollada por Intel para anotacion de imagenes y video. En nuestro proyecto, la utilizamos para evaluar cada imagen ecografica mediante un checklist anatomico de 39 puntos distribuidos en los 5 planos de Yagel. El esquema de etiquetado fue disenado por el equipo medico de CERPO y cada estructura se clasifica en 3 estados: Normal, Anormal, o No Evaluable.

Jerarquia de etiquetado — 3 niveles

PRIMARIOIdentificacion del plano de Yagel (1-5). Incluye opcion "no encontrado" si el corte no se obtuvo.
SECUNDARIOEvaluacion de cada estructura anatomica del plano como: Normal, Anormal, o No Evaluable.
TERCIARIODiagnostico final: Normal o Anormal con descripcion de la cardiopatia estructural especifica.

Codificacion en CVAT: XXYY_PLANO_Descripcion

XXYY_PLANO_Descripcion anatomica→ Normal / Anormal / No Evaluable
0209_C4C_Septum interauricular indemne→ Normal

Evalua la posicion de los organos abdominales para determinar el situs visceral.

  • 0101 Circunferencia Abdominal
  • 0102 Estomago 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. Evalua sistematicamente 15 puntos anatomicos del corazon fetal.

  • 0201 Area Cardiaca
  • 0202 Posicion cardiaca en hemitorax izquierdo
  • 0203 Angulo cardiaco 45° +/-20
  • 0204 4 camaras presentes
  • 0205 2 atrios de similar tamano
  • 0206 2 ventriculos de similar tamano
  • 0207 Concordancia Auriculo 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 cardiaca indemne
  • 0213 Offseting valvular normal
  • 0214 Aorta descendente posterior a AI
  • 0215 Derrame pericardico < 2 mm

El sistema CRP (Cardiopatia - Referencia Perinatal) es una clasificacion jerarquica de 3 niveles disenada especificamente para este proyecto, con 9 categorias principales y 73 codigos de diagnostico. Formato: CRP[N1].[N2].[N3] donde N1 = categoria, N2 = subcategoria, N3 = diagnostico especifico.

CRP1Anomalia de 4 camaras
1.1Miocardiopatia:
1.1.1 Hipertrofica (HCM)1.1.2 Dilatada (DCM)1.1.3 No Compactada (LVNC)1.1.4 Otro
1.2Fibroelastosis:
1.2.0 Fibroelastosis (EFE)
1.3Asimetrias de 4 camaras:
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.6Ventriculo unico:
1.6.0 Ventriculo unico
1.7Aneurisma/diverticulo:
1.7.0 Aneurisma o diverticulo cardiaco
1.8Tumores:
1.8.1 Rabdomioma1.8.2 Teratoma1.8.3 Fibroma1.8.4 Hemangioma1.8.5 Mixoma1.8.6 Otro
1.9Derrame pericardico:
1.9.0 Derrame pericardico
1.10Otro:
1.10.0 Otro
CRP2Malformaciones conotruncales
2.1Tetralogia 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. aortica:
3.1.1 Estenosis aortica (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. tricuspide:
3.3.1 Atresia tricuspidea (TA)3.3.2 Displasia / IT3.3.3 Anomalia 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 aneurismatico:
4.4.0 Foramen oval aneurismatico
4.5Otro:
4.5.0 Otro
CRP5Anomalias del Arco Aortico
5.1Coartacion:
5.1.0 Coartacion aortica (CoA)
5.2Interrupcion:
5.2.0 Interrupcion arco aortico (IAA)
5.3Hipoplasia:
5.3.0 Hipoplasia arco aortico
5.4Doble arco:
5.4.0 Doble arco aortico
5.5Arco derecho:
5.5.0 Arco aortico derecho
5.6Otro:
5.6.0 Otro
CRP6Anomalias de situs / posicion cardiaca
6.1Heterotaxias:
6.1.0 Heterotaxias
6.2Dextrocardia:
6.2.0 Dextrocardia
6.3Dextroposicion:
6.3.0 Dextroposicion
6.4Ectopia cordis:
6.4.0 Ectopia cordis
6.5Otro:
6.5.0 Otro
CRP7Anomalias del drenaje venoso
7.1Pulmonar:
7.1.1 DVPAT (total)7.1.2 DVPAP (parcial)7.1.3 Otro
7.2Sistemico:
7.2.1 Shunt portosistemico (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.3Extrasistoles:
8.3.0 Extrasistoles
8.4Otro:
8.4.0 Otro
CRP9Otro
9.0Otro:
9.0.0 No clasificable
3

Preprocesamiento de Imagenes

Antes de alimentar las imagenes 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 imagenes se escalan a un tamano uniforme (ej: 224x224 px para arquitecturas estandar, o 299x299 para Inception).
  3. Normalizacion: Los valores de pixeles se escalan al rango [0, 1] o se estandarizan con media y desviacion estandar 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 ecografia cardiaca fetal y determine si presenta anomalias 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 requeridoEcografia?Limitacion
ML clasico (SVM, Random Forest)Features manuales (textura, forma)PequenoLimitadoEl humano decide que features importan — pierde patrones sutiles
CNN (Redes Convolucionales)Aprende features automaticamente de la imagenMedio (~1-5K)ExcelenteNecesita datos etiquetados; caja negra
Vision Transformer (ViT)Atencion global sobre parches de la imagenGrande (>10K)BuenoNecesita muchos datos; computacionalmente costoso
U-Net / SegmentacionPixel a pixel: genera mascara de la anomaliaMedio + mascarasExcelenteRequiere anotaciones de segmentacion (poligonos)
YOLO / DeteccionLocaliza y clasifica objetos en bounding boxesMedio + boxesBuenoMejor para localizar que para clasificar globalmente

¿Por que CNN es la mejor opcion para este proyecto?

  1. Aprendizaje jerarquico automatico: Las CNN aprenden una jerarquia de caracteristicas visuales — las primeras capas detectan bordes y texturas del ultrasonido, las capas intermedias reconocen formas anatomicas (septum, valvulas, camaras), y las capas profundas integran todo para clasificar. Esto replica el proceso cognitivo del medico ecografista.
  2. Tamano del dataset compatible: Con ~5000 imagenes etiquetadas, las CNN funcionan bien (especialmente con transfer learning). Los Vision Transformers necesitarian 10x mas datos. El ML clasico perderia patrones sutiles.
  3. Evidencia clinica: La mayoria de los estudios publicados en deteccion ecografica de cardiopatias congenitas 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 region de la imagen fue determinante para la decision. Esto es critico en medicina — el medico 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 ecografia.

¿Como se logra el diagnostico con Deep Learning?

El flujo completo desde la ecografia hasta el diagnostico:

1
1. Captura

El ecografista obtiene una imagen del corazon 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 automaticamente patrones: bordes → texturas → formas → estructuras anatomicas

4
4. Clasificacion

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

5
5. Umbral de decision

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

6
6. Explicabilidad

GradCAM genera un heatmap mostrando QUE region de la imagen influyo en la decision

7
7. Diagnostico asistido

El medico ve: imagen + clasificacion + probabilidad + heatmap → toma la decision clinica final

Importante: El modelo NO reemplaza al medico

El modelo es una herramienta de apoyo diagnostico, no un sistema autonomo. El flujo clinico es: modelo sugiere → medico revisa → medico decide. El objetivo es reducir la tasa de cardiopatias que pasan inadvertidas (falsos negativos), no automatizar el diagnostico.

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 caracteristicas visuales propias de su corte cardiaco (el plano de 4 camaras 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 parametros internos para minimizar los errores de clasificacion.

Particion de datos

La Cohorte 1 se divide aleatoriamente manteniendo la proporcion de clases (estratificada):

Entrenamiento (70%)
Validacion (30%)
ParametroValorJustificacion
Funcion de perdidaBinary Cross-EntropyEstandar para clasificacion binaria
OptimizadorAdamConvergencia rapida, 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

Validacion y Metricas

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

Curva ROC

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

AUC(Area 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 practica, un AUC > 0.85 se considera excelente para diagnostico medico.

Sensibilidad (tasa de verdaderos positivos):

¿Cuantos enfermos detecta correctamente? Critica en screening prenatal — no queremos perder ninguna cardiopatia.

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}}
Indice de Youden — punto de corte optimo:

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 Clinico

Una vez validado, el modelo se exporta a formato ONNX para integrarse en un sistema web que permite a los medicos subir una ecografia y obtener una prediccion en tiempo real.

Respondiendo la Pregunta de Investigacion

Pregunta

¿Puede un modelo de aprendizaje automatico basado en CNN alcanzar un rendimiento diagnostico comparable al de un operador experto en la deteccion de cardiopatias congenitas estructurales?

La respuesta se determina comparando las metricas del modelo (sensibilidad, especificidad, AUC) contra el gold estandar ecocardiografico fetal y las tasas de deteccion 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 presentacion