Segment Anything (Meta) logoSegment Anything (Meta)

Recorta cualquier objeto de cualquier imagen
Segment Anything (Meta)

Segment Anything de Meta presenta el Segment Anything Model (SAM), un modelo de IA de última generación desarrollado por Meta AI que te permite “recortar” cualquier objeto de cualquier imagen con solo un clic. SAM es un sistema de segmentación por indicaciones con generalización sin entrenamiento previo (zero-shot) a objetos e imágenes desconocidos.

Características de Segment Anything (Meta)

Entrenamiento del modelo: el motor de datos de SAM

Las capacidades avanzadas de SAM provienen de su entrenamiento con millones de imágenes y máscaras recopiladas mediante un motor de datos en bucle con el modelo. Los investigadores utilizaron SAM y sus datos para anotar imágenes de forma interactiva y actualizar el modelo. Este proceso se repitió iterativamente para mejorar tanto el modelo como el conjunto de datos.

11 millones de imágenes, más de 1.000 millones de máscaras

Después de anotar un número suficiente de máscaras con la ayuda de SAM, pudimos automatizar completamente la anotación de nuevas imágenes utilizando el avanzado diseño consciente de indicaciones de SAM. Para ello, proporcionamos a SAM una cuadrícula de puntos sobre la imagen y le pedimos que segmentara todo en cada punto. Nuestro conjunto de datos final contiene más de 1.100 millones de máscaras de segmentación, recopiladas de aproximadamente 11 millones de imágenes con licencia y protegidas por privacidad.

Diseño de modelo eficiente y flexible

SAM fue diseñado para permitir que su motor de datos eficiente funcione a plena capacidad. El modelo se divide en:

  1. un codificador de imágenes de una sola pasada, y
  2. un decodificador de máscaras ligero, que puede ejecutarse en un navegador web en solo unos milisegundos por indicación.

Segment Anything (Meta) FAQs

¿Qué tipo de indicaciones se admiten?

  • Puntos de primer plano/fondo
  • Caja delimitadora
  • Máscara
  • Indicaciones de texto se exploran en nuestro artículo, pero la funcionalidad no está disponible

¿Cuál es la estructura del modelo?

  • Un codificador de imágenes ViT-H que se ejecuta una vez por imagen y genera una incrustación de imagen
  • Un codificador de indicaciones que convierte entradas como clics o cajas en incrustaciones
  • Un decodificador de máscaras ligero basado en transformadores que predice máscaras de objetos a partir de la incrustación de imagen y las indicaciones

¿En qué plataformas se puede usar el modelo?

  • El codificador de imágenes está implementado en PyTorch y requiere una GPU para inferencia eficiente.
  • El codificador de indicaciones y el decodificador de máscaras pueden ejecutarse directamente con PyTorch o convertirse a ONNX y ejecutarse eficientemente en CPU o GPU en varias plataformas que admiten ONNX runtime.

¿Qué tamaño tiene el modelo?

  • El codificador de imágenes tiene 632 millones de parámetros.
  • El codificador de indicaciones y el decodificador de máscaras tienen 4 millones de parámetros.

¿Cuánto tarda la inferencia?

  • El codificador de imágenes tarda aproximadamente 0,15 segundos en una GPU NVIDIA A100.
  • El codificador de indicaciones y el decodificador de máscaras tardan unos 50 ms en CPU en el navegador usando ejecución SIMD multihilo.

¿Con qué datos se entrenó el modelo?

  • El modelo fue entrenado con nuestro conjunto de datos SA-1B. Ver visor de datos.

¿Cuánto tiempo lleva entrenar el modelo?

  • El modelo fue entrenado durante 3-5 días en 256 GPU A100.

¿El modelo genera etiquetas de máscara?

  • No, el modelo solo predice máscaras de objetos y no genera etiquetas.

¿El modelo funciona con vídeos?

  • Actualmente, el modelo solo admite imágenes o fotogramas individuales de vídeos.

¿Dónde puedo encontrar el código?

  • El código está disponible en GitHub