PMPedro Masi Burgos
← Proyectos

Morfometría automatizada con IA y procesamiento de imágenes

Pipeline PER BlueRev para automatizar la extracción de características geométricas a partir de imágenes de microscopía de nematodes y copepods, y facilitar el análisis del impacto de actividades como dragado, pesca y calentamiento oceánico en los suelos marinos.

Prácticas en equipo multicultural (PER BlueRev). Mi foco: dataset etiquetado, imágenes sintéticas y máscaras UNet; la extracción de características geométricas la hizo el equipo.

  • Python
  • PyTorch
  • PyTorch Lightning
  • U-Net
  • TensorBoard
  • OpenCV/PIL
  • Synthetic data

Objetivo

Automatizar el análisis morfométrico de microorganismos marinos (nematodes y copepods) para extraer a escala características geométricas y estudiar cómo presiones humanas y climáticas—dragado, pesca, calentamiento oceánico—afectan los suelos marinos. Máscaras binarias del organismo (sin desechos) alimentan ese pipeline posterior.

Estado inicial

Las tomas de microscopía suelen mezclar el organismo objetivo con desechos adheridos. Los primeros pares imagen–máscara dejaban esa ambigüedad explícita: el modelo debe aprender una silueta limpia para no contaminar las características geométricas.

Imágenes iniciales de microscopía con ambigüedad organismo–desechos y primeras máscaras
Ejemplos iniciales: desechos cerca o sobre el organismo complican máscaras binarias limpias.

Dataset y datos sintéticos

Armé un conjunto etiquetado de imágenes de microscopía, máscaras binarias e imágenes de test (~100 pares reales). Verdad de campo: blanco = organismo, negro = fondo y desechos. Para ampliar el entrenamiento, generé ~300 escenas sintéticas extrayendo por separado microorganismos y basura de imágenes reales y recomponiéndolos al azar sobre fondos vacíos de microscopía.

Ejemplo de composición sintética: fondo, recorte de organismo, recorte de desechos, imagen sintética y máscara del organismo
Un ejemplo de composición: fondo + organismo + desechos → RGB sintético; el label conserva solo el organismo.

Pipeline de segmentación

UNet propio en PyTorch Lightning para segmentación binaria: pérdida BCEWithLogits, métricas Accuracy / F1 / Jaccard, EarlyStopping, mejores checkpoints, TensorBoard y scheduling del learning rate. Comparé varias configuraciones (RGB vs escala de grises, schedulers) y seleccioné máscaras que conservan el organismo y excluyen desechos—entrada a la extracción geométrica del equipo.

Diagrama de arquitectura encoder–decoder U-Net
U-Net usado para la segmentación binaria organismo / desechos.
Curvas de pérdida de entrenamiento y validación en TensorBoard
Seguimiento del entrenamiento en TensorBoard entre versiones de checkpoints.

Resultados

Máscaras de organismo robustas a desechos, aptas para morfometría automatizada. Comparaciones de checkpoints en test confirman que las mejores corridas aíslan el microorganismo y dejan la basura fuera de la máscara—habilitando el pipeline de IA y procesamiento de imágenes del equipo.

Comparación de máscaras UNet frente a originales con desechos
Comparación de checkpoints: organismo conservado, desechos fuera de la máscara.