Segmentación con IA
Procesamiento → Segmentación con IA convierte imágenes en objetos vectoriales usando segment-geospatial (SamGeo) y el modelo SAM 3 de Meta. Describa lo que busca — “árboles”, “edificios”, “agua” — o ejecute la segmentación automática, y MappView añadirá los polígonos resultantes como una nueva capa vectorial.
!!! note “Requiere el sidecar de Python y un backend de modelos”
La segmentación ejecuta modelos de aprendizaje profundo, por lo que necesita la aplicación de
escritorio de MappView con el sidecar de Python más un servidor de modelos samgeo-api en marcha. Una
GPU CUDA es muy recomendable; la inferencia por CPU funciona pero es lenta. Véase
Configuración más abajo.
Cómo funciona
La pesada pila de modelos (PyTorch + SAM 3) no se ejecuta dentro del sidecar de
MappView. En su lugar, el sidecar expone un proxy inverso ligero /ml delante de un servidor
samgeo-api independiente (el servidor REST que se distribuye con
segment-geospatial). MappView sube la imagen al sidecar, que la reenvía a samgeo-api, ejecuta
SAM 3 y devuelve polígonos GeoJSON.
SegmentationDialog ──image+prompt──▶ sidecar /ml/segment/* ──▶ samgeo-api (SAM 3) ──▶ GeoJSON
Esto mantiene pequeño el sidecar de MappView y permite que el servidor de modelos se ejecute donde usted tenga una GPU.
Configuración
Instale segment-geospatial con los extras de API y SAM 3 en un entorno Python
que tenga una compilación de PyTorch funcional (idealmente con CUDA):
pip install "segment-geospatial[api,samgeo3]"
Después, o deja que MappView lance el servidor de modelos por usted, o lo ejecuta usted mismo:
-
Lanzamiento automático (predeterminado). Si
samgeo-apiestá en elPATHdel entorno en el que corre el sidecar, MappView lo inicia automáticamente en el primer uso. -
Ejecútelo usted mismo / en otra máquina. Inicie el servidor y apunte MappView hacia él:
samgeo-api --port 8000 # luego ejecute el sidecar con: MAPPVIEW_ML_SAMGEO_URL=http://127.0.0.1:8000
!!! note “Aplicación de escritorio: apúntela a un samgeo-api externo”
La aplicación de escritorio ejecuta su sidecar en un entorno gestionado (uv) que incluye
el extra `ml` pero **no** la pesada pila de modelos `segment-geospatial`, de modo que
`samgeo-api` no está en su `PATH` y el lanzamiento automático no se aplica. Instale
`segment-geospatial[api,samgeo3]` en un entorno con capacidad PyTorch, inicie
`samgeo-api` allí, y lance la aplicación de escritorio desde una shell que exporte
`MAPPVIEW_ML_SAMGEO_URL` para que el sidecar haga de proxy hacia él:
```bash
# en su entorno PyTorch
samgeo-api --port 8000
# lance la aplicación de escritorio con el destino del proxy configurado
MAPPVIEW_ML_SAMGEO_URL=http://127.0.0.1:8000 bun run tauri:dev
```
El proceso Tauri pasa su entorno al sidecar que genera. Sin
`MAPPVIEW_ML_SAMGEO_URL`, el sidecar no tiene backend de modelos y `/ml/status`
informa de que el backend de segmentación no está disponible.
Instale el extra opcional ml del sidecar (solo un cliente HTTP — los modelos viven
en samgeo-api):
pip install -e "backend/mappview_server[ml]"
Configuración
| Variable de entorno | Propósito |
|---|---|
MAPPVIEW_ML_SAMGEO_URL | URL base de un samgeo-api ya en ejecución. Cuando está definida, el sidecar hace de proxy aquí y no lanza un proceso hijo. |
MAPPVIEW_ML_SAMGEO_CMD | Comando usado para lanzar samgeo-api bajo demanda (por defecto samgeo-api). --host/--port se añaden automáticamente. |
MAPPVIEW_ML_DEFAULT_MODEL | Modelo predeterminado de la interfaz (por defecto sam3). |
Uso
- Abra Procesamiento → Segmentación con IA.
- Si no se puede alcanzar el backend, el diálogo muestra un mensaje y un botón Iniciar servidor (escritorio) — haga clic en él para lanzar el sidecar y el servidor de modelos.
- Elija un GeoTIFF. Seleccione un ráster georreferenciado (
.tif/.tiff; PNG/JPG también funcionan pero producen resultados en espacio de píxeles). Los polígonos vuelven en el sistema de coordenadas del ráster, por lo que quedan en el lugar correcto sobre el mapa. - Elija un modo:
- Indicación de texto — escriba qué segmentar (p. ej.
trees,buildings,cars) y fije un Umbral de confianza (0–1; más bajo encuentra más, más alto es más estricto). SAM 3 encuentra todos los objetos coincidentes de la imagen. - Automático (todo) — segmenta todos los objetos diferenciados sin indicación.
- Indicación de texto — escriba qué segmentar (p. ej.
- Haga clic en Segmentar. El resultado se añade como una nueva capa de polígonos GeoJSON llamada como la indicación, y el mapa hace zoom sobre ella.
Notas y limitaciones
- Solo SAM 3. MappView usa el backend SAM 3, que cubre bien las indicaciones de texto, de caja/punto y automáticas. (SAM 2 no está conectado deliberadamente.)
- Solo escritorio. Como las herramientas ráster, la segmentación necesita la aplicación de escritorio y el sidecar de Python; no está disponible en la compilación solo navegador.
- No se han encontrado objetos es un resultado normal — pruebe otra indicación o baje el umbral de confianza.
- Las indicaciones de caja / punto dibujadas sobre el mapa aún no están en la interfaz; el
punto de conexión
/ml/segment/predictya las soporta para uso programado.
API (avanzado)
El sidecar expone estos puntos de conexión (con proxy a samgeo-api):
| Método | Punto de conexión | Descripción |
|---|---|---|
| GET | /ml/status | Disponibilidad del backend, modelo predeterminado, versión y lista de modelos. |
| POST | /ml/segment/text | Segmentación con indicación de texto (prompt, confidence_threshold). |
| POST | /ml/segment/automatic | Generación automática de máscaras. |
| POST | /ml/segment/predict | Segmentación con indicación de caja/punto (boxes, point_coords, point_labels, point_crs). |
Cada punto de conexión segment/* toma un file multiparte (la imagen) más
model_version (por defecto sam3) y output_format (por defecto geojson) y
devuelve una FeatureCollection GeoJSON.
Véase también Herramientas de procesamiento y Referencia → Arquitectura.