Saltearse al contenido

Overlay SAM

El overlay SAM (Segment Anything) es una herramienta de segmentación completamente en el lado del cliente. El modelo SAM se ejecuta en un Web Worker dentro del navegador — sin round-trip de red por máscara, sin coste de GPU por tu parte. Es una herramienta de segmentación interactiva del tipo “haz clic en un punto y obtén una máscara”, con un modo “Everything” que mosaica el frame.

Activarlo

Activa SAM en la pila de overlays del tile de stream del drone. El tile de vídeo entra en modo SAM y el cursor cambia.

Dos modos de prompt

Modo clic (por defecto)

Dos tipos de clic producen una máscara:

  • Clic izquierdo — punto de primer plano. Etiqueta = 1, renderizado como un anillo azul. Le dice a SAM “esto es parte del objeto que quiero”.
  • Clic derecho — punto de fondo. Etiqueta = 0, anillo rojo. “Esto NO es parte del objeto”.

Puedes apilar múltiples puntos para refinar una máscara — el modelo se re-ejecuta con cada clic y refina su estimación. Útil cuando un único clic recoge más de lo que quieres (p. ej., dos personas juntas) — añade un punto de fondo sobre la que no quieres.

Modo Everything

Haz clic en Everything en la barra de herramientas del overlay. SAM desliza una cuadrícula 16×16 sobre el frame, genera una máscara para cada celda y pinta cada segmento. Luego puedes:

  • Hacer clic en segmentos individuales para clasificarlos o rastrearlos.
  • Activar/desactivar un segmento.
  • Dejar la segmentación completa para analítica.

Clasificación DETR

Tras la segmentación, un DETR en el navegador (clasificador de imágenes) se ejecuta sobre la región recortada de cada segmento y asigna una etiqueta de clase. Útil para el etiquetado automático de lo que SAM encuentra sin intervención del operador.

El canvas de máscara

Las máscaras se renderizan como un overlay semi-transparente sobre el vídeo. Cada segmento tiene:

  • Un ID único usado para activar / rastrear.
  • Un cuadro delimitador calculado desde la extensión de la máscara.
  • Una etiqueta de DETR.

El overlay es canvas puro — sin coste de interacción a nivel DOM.

Qué puedes hacer con las máscaras

Clic derecho en cualquier máscara → menú:

  • Copiar como polígonoaspiracional. La arquitectura soporta extraer un contorno de máscara como polígono GeoJSON o KML y escribirlo al almacén de polígonos de la misión, pero el botón de UI no está cableado en la build actual. La máscara permanece solo en el overlay por ahora.
  • Soltar flag en el centroide — suelta una flag de tipo poi en la coordenada terrestre proyectada del centroide de la máscara (requiere pose válida del gimbal + drone).
  • Etiquetar como víctima — atajo para SAR: suelta una flag casualty en el centroide.
  • Exportar PNG — descarga la máscara como un PNG con fondo transparente.

Rendimiento

SAM es más pesado que otros overlays — la primera máscara puede tardar ~500 ms en generarse mientras el worker carga el modelo. Las máscaras posteriores son ~100-200 ms. El modo Everything tarda unos segundos en la primera ejecución. El navegador permanece responsivo en todo momento (threaded en worker), pero el uso de CPU se dispara.

Para uso continuo en una misión larga, prefiere el modo Clic; el modo Everything es una pasada analítica puntual.

Privacidad

Todo el pipeline SAM se ejecuta localmente — ningún frame sale de tu navegador para la segmentación. Esta es una elección de diseño deliberada dado lo fácil que es usar SAM en escenas sensibles (identificación de personas, investigaciones).

Limitaciones

  • Sin exportación de polígono al almacén de polígonos de la misión (planificado).
  • Sin tracking multi-frame — volver a hacer clic sobre el mismo objeto en un frame posterior produce una máscara nueva sin continuidad.
  • Sin entrenamiento de clases personalizadas — las etiquetas de DETR vienen de su vocabulario pre-entrenado; no puedes enseñarle “el tipo de activo X de mi organización”.

Relacionado