Activo

SAM 3 para imágenes aéreas

Tutorial en español: SAM 3 de Meta segmenta edificios, vías y árboles con una frase corta, sin reentrenar el modelo.

SAM3, Segmentación, Teledetección, PyTorch, Python, OpenEarthMap

SAM 3 para imágenes aéreas
Créditos

Imagen de demostración de Segment Anything, de Meta AI: no es una salida de este proyecto.

El detalle

Un notebook de Jupyter en español que corre SAM 3, el modelo de segmentación que Meta publicó en noviembre de 2025, sobre una sola tesela de OpenEarthMap: aachen_10, de Aachen (Alemania), de 1000 × 1000 píxeles.

Le escribes una frase corta en inglés, como "buildings" o "road", y devuelve máscaras sin reentrenar el modelo.

Son siete ejemplos sobre esa misma imagen: el prompt básico, siete prompts comparados, umbrales, otros elementos (vías, árboles, vegetación, agua, carros y cultivos), exportación de máscaras, distribución de scores e inferencia por tiles.

La palabra que eliges pesa: en la misma escena, "dwelling" marcó 18 objetos, "roof" 10 y "construction" ninguno. Las máscaras salen en PNG, sin georreferencia, y todavía no hay un caso latinoamericano. La tesela viene de GeoNRW, con licencia DL-DE-BY-2.0.

Características

Segmentación con frases cortas de texto:
con "buildings", SAM 3 marcó 11 objetos en la tesela de 1000 × 1000 px
Sin reentrenar:
carga los pesos de facebook/sam3 desde Hugging Face y solo hace inferencia
  • Siete prompts comparados sobre la misma escena, de "house" y "roof" a "informal settlement"
Otros elementos:
vías, árboles, vegetación, carros y campos de cultivo; con "water" no marcó nada en esta tesela
Umbrales y distribución de scores:
cuántas detecciones sobreviven a cada corte
  • Exporta las máscaras en PNG, binarias o por instancia, sin georreferencia
  • Inferencia por tiles de 256 px con 32 px de solape, probada sobre la misma tesela
  • Notebook de Jupyter con 7 ejemplos y sus salidas guardadas, corrido en Kaggle

Stack tecnológico

  • Python 3.11 en un notebook de Kaggle con GPU
  • PyTorch 2.7.0 con CUDA 12.6
  • SAM 3 de Meta: repo facebookresearch/sam3 y pesos facebook/sam3 en Hugging Face (el notebook es anterior a SAM 3.1, de marzo de 2026)
  • Pillow, NumPy, pandas y matplotlib
  • Jupyter Notebook
  • OpenEarthMap: tesela aachen_10, fuente GeoNRW (DL-DE-BY-2.0)

Lo difícil

  • Acceso al modelo: hay que pedir acceso a facebook/sam3 en Hugging Face y esperar a que lo aprueben
  • GPU: el notebook corrió en una GPU de Kaggle; el README recomienda 16 GB de VRAM, pero no está medido
  • El umbral que ya viene puesto: Sam3Processor descarta todo score de 0,5 o menos antes de devolver resultados, así que los umbrales de 0 a 0,5 dieron los mismos 11 objetos
  • Prompts que no encuentran nada: "construction" e "informal settlement" devolvieron 0 objetos en la misma escena
  • Reproducirlo fuera de Kaggle: la ruta de la imagen está fija en /kaggle/input
  • Sin probar todavía: imágenes multiespectrales y otras resoluciones espaciales; se usó una sola tesela RGB

Lo aprendido

  • SAM 3 corre sin reentrenar sobre una imagen vista desde arriba y devuelve máscaras con una frase corta; qué tan buenas son no se midió contra las etiquetas de OpenEarthMap
  • La elección del prompt es crítica: siete formas de nombrar una construcción dieron entre 0 y 18 objetos sobre la misma tesela
  • SAM 3 no entiende el contexto geoespacial y el flujo del notebook no conserva la georreferencia: para llevar las máscaras a un SIG falta otro paso, por ejemplo el módulo samgeo3 de segment-geospatial

¿Quieres colaborar en este proyecto?

Quiero colaborar

Comentarios

Deja tu comentario

Los leo todos. Se revisan antes de publicarse, así que el tuyo puede tardar un rato en aparecer.

0 / 1500

o escríbeme directo Correo LinkedIn GitHub

Chimborazo, 6263 m (IG-EPN) · sin escala vertical

Únete a la red.

Una carta, sin ruido

Experimentos, mapas, papers y proyectos que van aterrizando. Sin spam, sin algoritmos, sin tracking — solo el correo.

sin spam · sólo lo que publico · baja en un clic