SAM 3: Segmenta cualquier cosa con conceptos

Ya disponible en Ultralytics

SAM 3 está totalmente integrado en el paquete Ultralytics desde la versión 8.3.237 (PR #22897). Instala o actualiza con pip install -U ultralytics para acceder a todas las funciones de SAM 3, incluidas la segmentación de conceptos basada en texto, los prompts de ejemplares de imagen y el seguimiento de vídeo.

Descripción general de la segmentación de conceptos mediante prompts de SAM 3

SAM 3 (Segment Anything Model 3) es el modelo fundacional lanzado por Meta para la Segmentación de conceptos mediante prompts (PCS). Basándose en SAM 2, SAM 3 introduce una capacidad fundamentalmente nueva: detectar, segmentar y realizar el seguimiento de todas las instancias de un concepto visual especificado mediante prompts de texto, ejemplares de imagen o ambos. A diferencia de las versiones anteriores de SAM que segmentan objetos individuales por prompt, SAM 3 puede encontrar y segmentar cada aparición de un concepto que aparezca en cualquier lugar de imágenes o vídeos, alineándose con los objetivos de vocabulario abierto en la segmentación de instancias moderna.



Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos

SAM 3 ya está totalmente integrado en el paquete ultralytics, lo que proporciona soporte nativo para la segmentación de conceptos con prompts de texto, prompts de ejemplares de imagen y capacidades de seguimiento de vídeo.

Descripción general

SAM 3 logra una ganancia de rendimiento de 2× sobre los sistemas existentes en segmentación de conceptos mediante prompts, mientras mantiene y mejora las capacidades de SAM 2 para la segmentación visual interactiva. El modelo destaca en la segmentación de vocabulario abierto, permitiendo a los usuarios especificar conceptos utilizando frases nominales simples (por ejemplo, "autobús escolar amarillo", "gato a rayas") o proporcionando imágenes de ejemplo del objeto objetivo. Estas capacidades complementan los flujos de trabajo de predicción y seguimiento optimizados listos para producción.

Ejemplos de segmentación con prompts de texto de SAM 3

¿Qué es la segmentación de conceptos mediante prompts (PCS)?

La tarea PCS toma un prompt de concepto como entrada y devuelve máscaras de segmentación con identidades únicas para todas las instancias de objetos coincidentes. Los prompts de concepto pueden ser:

  • Texto: Frases nominales simples como "manzana roja" o "persona con sombrero", similar al zero-shot learning
  • Ejemplares de imagen: Cajas delimitadoras alrededor de objetos de ejemplo (positivos o negativos) para una generalización rápida
  • Combinado: Tanto texto como ejemplares de imagen juntos para un control preciso

Esto difiere de los prompts visuales tradicionales (puntos, cajas, máscaras) que segmentan solo una instancia de objeto específica, como popularizó la familia SAM original.

Métricas de rendimiento clave

MétricaLogro de SAM 3
mAP de máscara Zero-Shot LVIS47.0 (frente al mejor anterior de 38.5, +22% de mejora)
Benchmark SA-Co2× mejor que los sistemas existentes
Velocidad de inferencia (GPU H200)30 ms por imagen con más de 100 objetos detectados
Rendimiento de vídeoCasi en tiempo real para ~5 objetos simultáneos
Benchmark MOSEv2 VOS60.1 J&F (+25.5% sobre SAM 2.1, +17% sobre el SOTA anterior)
Refinamiento interactivo+18.6 CGF1 de mejora tras 3 prompts de ejemplares
Brecha de rendimiento humanoAlcanza el 88% del límite inferior estimado en SA-Co/Gold

Para obtener contexto sobre las métricas del modelo y las compensaciones en producción, consulta model evaluation insights y YOLO performance metrics.

Arquitectura

SAM 3 consta de un detector y un tracker que comparten una arquitectura de visión Perception Encoder (PE). Este diseño desacoplado evita conflictos de tareas al tiempo que permite tanto la detección a nivel de imagen como el seguimiento a nivel de vídeo, con una interfaz compatible con el uso de Python y el uso de CLI de Ultralytics.

Componentes principales

  • Detector: Arquitectura basada en DETR para la detección de conceptos a nivel de imagen

    • Codificador de texto para prompts de frases nominales
    • Codificador de ejemplares para prompts basados en imágenes
    • Codificador de fusión para condicionar las características de la imagen a los prompts
    • Novedoso presence head que desacopla el reconocimiento ("qué") de la localización ("dónde")
    • Cabezal de máscara para generar máscaras de segmentación de instancias
  • Tracker: Segmentación de vídeo basada en memoria heredada de SAM 2

    • Codificador de prompt, decodificador de máscara, codificador de memoria
    • Banco de memoria para almacenar la apariencia del objeto a través de los fotogramas
    • Desambiguación temporal ayudada por técnicas como un filtro de Kalman en entornos multi-objeto
  • Presence Token: Un token global aprendido que predice si el concepto objetivo está presente en la imagen/fotograma, mejorando la detección al separar el reconocimiento de la localización.

Diagrama de la arquitectura del modelo SAM 3

Innovaciones clave

  1. Reconocimiento y localización desacoplados: El presence head predice la presencia del concepto globalmente, mientras que las consultas de propuesta se centran solo en la localización, evitando objetivos contradictorios.
  2. Prompts unificados de concepto y visuales: Admite tanto PCS (prompts de concepto) como PVS (prompts visuales como los clics/cajas de SAM 2) en un solo modelo.
  3. Refinamiento interactivo de ejemplares: Los usuarios pueden añadir ejemplares de imagen positivos o negativos para refinar los resultados de forma iterativa, con el modelo generalizando a objetos similares en lugar de solo corregir instancias individuales.
  4. Desambiguación temporal: Utiliza puntuaciones de detección de masklet y re-prompting periódico para gestionar oclusiones, escenas concurridas y fallos de seguimiento en vídeo, alineándose con las mejores prácticas de segmentación y seguimiento de instancias.

Dataset SA-Co

SAM 3 está entrenado con Segment Anything with Concepts (SA-Co), el dataset de segmentación más grande y diverso de Meta hasta la fecha, expandiéndose más allá de los benchmarks comunes como COCO y LVIS.

Datos de entrenamiento

Componente del datasetDescripciónEscala
SA-Co/HQDatos de imagen de alta calidad anotados por humanos del motor de datos de 4 fases5.2 millones de imágenes, 4 millones de frases nominales únicas
SA-Co/SYNDataset sintético etiquetado por IA sin participación humana38 millones de frases nominales, 1.4 mil millones de máscaras
SA-Co/EXT15 datasets externos enriquecidos con negativos difícilesVaría según la fuente
SA-Co/VIDEOAnotaciones de vídeo con seguimiento temporal52.5K vídeos, 24.8K frases nominales únicas

Datos de benchmark

El benchmark de evaluación SA-Co contiene 214K frases únicas en 126K imágenes y vídeos, proporcionando más de 50× más conceptos que los benchmarks existentes. Incluye:

  • SA-Co/Gold: 7 dominios, triple anotación para medir los límites del rendimiento humano
  • SA-Co/Silver: 10 dominios, anotación humana única
  • SA-Co/Bronze y SA-Co/Bio: 9 datasets existentes adaptados para la segmentación de conceptos
  • SA-Co/VEval: Benchmark de vídeo con 3 dominios (SA-V, YT-Temporal-1B, SmartGlasses)

Innovaciones del motor de datos

El motor de datos escalable de SAM 3 con humanos e IA en el bucle logra 2× el rendimiento de anotación mediante:

  1. Anotadores de IA: Modelos basados en Llama que proponen frases nominales diversas, incluyendo negativos difíciles
  2. Verificadores de IA: LLMs multimodales ajustados que verifican la calidad y exhaustividad de la máscara con un rendimiento cercano al humano
  3. Minería activa: Centra el esfuerzo humano en casos de fallo desafiantes donde la IA tiene dificultades
  4. Impulsado por ontología: Aprovecha una gran ontología basada en Wikidata para la cobertura de conceptos

Instalación

SAM 3 está disponible en la versión 8.3.237 y posteriores de Ultralytics. Instala o actualiza con:

pip install -U ultralytics
Pesos del modelo SAM 3 requeridos

A diferencia de otros modelos de Ultralytics, los pesos de SAM 3 (sam3.pt) no se descargan automáticamente. Primero debes solicitar acceso a los pesos del modelo en la página del modelo SAM 3 en Hugging Face y luego, una vez aprobado, descargar sam3.pt desde esa página. Coloca el archivo sam3.pt descargado en tu directorio de trabajo o especifica la ruta completa al cargar el modelo.

`TypeError: 'SimpleTokenizer' object is not callable`

Si obtienes el error anterior durante la predicción, significa que tienes instalado el paquete clip incorrecto. Instala el paquete clip correcto ejecutando lo siguiente:

pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.git

Cómo usar SAM 3: Versatilidad en la segmentación de conceptos

SAM 3 admite tanto tareas de Segmentación de conceptos mediante prompts (PCS) como de Segmentación visual mediante prompts (PVS) a través de diferentes interfaces de predicción:

Tareas y modelos compatibles

Tipo de tareaTipos de promptSalida
Segmentación de conceptos (PCS)Texto (frases nominales), ejemplares de imagenTodas las instancias que coinciden con el concepto
Segmentación visual (PVS)Puntos, cajas, máscarasInstancia de objeto única (estilo SAM 2)
Refinamiento interactivoAñadir/eliminar ejemplares o clics de forma iterativaSegmentación refinada con precisión mejorada

Ejemplos de segmentación de conceptos

Segmentar con prompts de texto

Segmentación de conceptos basada en texto

Busca y segmenta todas las instancias de un concepto usando una descripción de texto. Los prompts de texto requieren la interfaz SAM3SemanticPredictor.

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor with configuration
overrides = dict(
    conf=0.25,
    task="segment",
    mode="predict",
    model="sam3.pt",
    half=True,  # Use FP16 for faster inference
    save=True,
)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image once for multiple queries
predictor.set_image("path/to/image.jpg")

# Query with multiple text prompts
results = predictor(text=["person", "bus", "glasses"])

# Works with descriptive phrases
results = predictor(text=["person with red cloth", "person with blue cloth"])

# Query with a single concept
results = predictor(text=["a person"])

Segmentación con ejemplares de imagen

Segmentación basada en ejemplares de imagen

Usa cuadros delimitadores como prompts visuales para encontrar todas las instancias similares. Esto también requiere SAM3SemanticPredictor para la coincidencia basada en conceptos.

from ultralytics.models.sam import SAM3SemanticPredictor

# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True, save=True)
predictor = SAM3SemanticPredictor(overrides=overrides)

# Set image
predictor.set_image("path/to/image.jpg")

# Provide bounding box examples to segment similar objects
results = predictor(bboxes=[[480.0, 290.0, 590.0, 650.0]])

# Multiple bounding boxes for different concepts
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]])

Inferencia basada en características para mayor eficiencia

Reutilización de características de imagen para consultas múltiples

Extrae las características de la imagen una vez y reutilízalas para múltiples consultas de segmentación para mejorar la eficiencia.

import cv2

from ultralytics.models.sam import SAM3SemanticPredictor
from ultralytics.utils.plotting import Annotator, colors

# Initialize predictors
overrides = dict(conf=0.50, task="segment", mode="predict", model="sam3.pt", verbose=False)
predictor = SAM3SemanticPredictor(overrides=overrides)
predictor2 = SAM3SemanticPredictor(overrides=overrides)

# Extract features from the first predictor
source = "path/to/image.jpg"
predictor.set_image(source)
src_shape = cv2.imread(source).shape[:2]

# Setup second predictor and reuse features
predictor2.setup_model()

# Perform inference using shared features with text prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, text=["person"])

# Perform inference using shared features with bounding box prompt
masks, boxes = predictor2.inference_features(predictor.features, src_shape=src_shape, bboxes=[[439, 437, 524, 709]])

# Visualize results
if masks is not None:
    masks, boxes = masks.cpu().numpy(), boxes.cpu().numpy()
    im = cv2.imread(source)
    annotator = Annotator(im, pil=False)
    annotator.masks(masks, [colors(x, True) for x in range(len(masks))])

    cv2.imshow("result", annotator.result())
    cv2.waitKey(0)

Segmentación de conceptos en vídeo

Rastreo de conceptos a través de vídeo con cuadros delimitadores

Rastreo de vídeo con prompts visuales

Detecta y rastrea instancias de objetos a través de fotogramas de vídeo usando prompts de cuadros delimitadores.

from ultralytics.models.sam import SAM3VideoPredictor

# Create video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3VideoPredictor(overrides=overrides)

# Track objects using bounding box prompts
results = predictor(source="path/to/video.mp4", bboxes=[[706.5, 442.5, 905.25, 555], [598, 635, 725, 750]], stream=True)

# Process and display results
for r in results:
    r.show()  # Display frame with segmentation masks

Rastreo de conceptos con prompts de texto

Rastreo de vídeo con consultas semánticas

Rastrea todas las instancias de conceptos especificados mediante texto a través de fotogramas de vídeo.

from ultralytics.models.sam import SAM3VideoSemanticPredictor

# Initialize semantic video predictor
overrides = dict(conf=0.25, task="segment", mode="predict", imgsz=640, model="sam3.pt", half=True, save=True)
predictor = SAM3VideoSemanticPredictor(overrides=overrides)

# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=True)

# Process results
for r in results:
    r.show()  # Display frame with tracked objects

# Alternative: Track with bounding box prompts
results = predictor(
    source="path/to/video.mp4",
    bboxes=[[864, 383, 975, 620], [705, 229, 782, 402]],
    labels=[1, 1],  # Positive labels
    stream=True,
)

Prompts visuales (compatibilidad con SAM 2)

SAM 3 mantiene compatibilidad total con el prompting visual de SAM 2 para la segmentación de un solo objeto:

Prompts visuales al estilo SAM 2

La interfaz básica SAM se comporta exactamente igual que SAM 2, segmentando solo el área específica indicada por los prompts visuales (puntos, cuadros o máscaras).

from ultralytics import SAM

model = SAM("sam3.pt")

# Single point prompt - segments object at specific location
results = model.predict(source="path/to/image.jpg", points=[900, 370], labels=[1])
results[0].show()

# Multiple points - segments single object with multiple point hints
results = model.predict(source="path/to/image.jpg", points=[[400, 370], [900, 370]], labels=[1, 1])

# Box prompt - segments object within bounding box
results = model.predict(source="path/to/image.jpg", bboxes=[100, 150, 300, 400])
results[0].show()
Prompts visuales frente a segmentación de conceptos

Usar SAM("sam3.pt") con prompts visuales (puntos/cuadros/máscaras) segmentará solo el objeto específico en esa ubicación, igual que SAM 2. Para segmentar todas las instancias de un concepto, usa SAM3SemanticPredictor con prompts de texto o ejemplares como se muestra arriba.

Benchmarks de rendimiento

Segmentación de imágenes

SAM 3 logra resultados de vanguardia en múltiples benchmarks, incluidos conjuntos de datos del mundo real como LVIS y COCO para segmentación:

Evaluación (Benchmark)MétricaSAM 3Mejor anteriorMejora
LVIS (zero-shot)Mask AP47.038.5+22.1%
SA-Co/GoldCGF165.034.3 (OWLv2)+89.5%
COCO (zero-shot)Box AP53.552.2 (T-Rex2)+2.5%
ADE-847 (seg. semántica)mIoU14.79.2 (APE-D)+59.8%
PascalConcept-59mIoU59.458.5 (APE-D)+1.5%
Cityscapes (seg. semántica)mIoU65.144.2 (APE-D)+47.3%

Explora opciones de conjuntos de datos para una experimentación rápida en Ultralytics datasets.

Rendimiento de segmentación de vídeo

SAM 3 muestra mejoras significativas sobre SAM 2 y el estado del arte anterior en benchmarks de vídeo como DAVIS 2017 y YouTube-VOS:

Evaluación (Benchmark)MétricaSAM 3SAM 2.1 LMejora
MOSEv2J&F60.147.9+25.5%
DAVIS 2017J&F92.090.7+1.4%
LVOSv2J&F88.279.6+10.8%
SA-VJ&F84.678.4+7.9%
YTVOS19J&F89.689.3+0.3%

Adaptación con pocos ejemplos (Few-Shot)

SAM 3 destaca en la adaptación a nuevos dominios con pocos ejemplos, algo relevante para flujos de trabajo de IA centrada en datos:

Evaluación (Benchmark)0-shot AP10-shot APMejor anterior (10-shot)
ODinW1359.971.667.9 (gDino1.5-Pro)
RF100-VL14.335.733.7 (gDino-T)

Efectividad del refinamiento interactivo

El prompting basado en conceptos de SAM 3 con ejemplares converge mucho más rápido que el prompting visual:

Prompts añadidosPuntuación CGF1Ganancia vs. solo textoGanancia vs. base PVS
Solo texto46.4línea baselínea base
+1 ejemplar57.6+11.2+6.7
+2 ejemplares62.2+15.8+9.7
+3 ejemplares65.0+18.6+11.2
+4 ejemplares65.7+19.3+11.5 (meseta)

Precisión de conteo de objetos

SAM 3 proporciona un conteo preciso mediante la segmentación de todas las instancias, un requisito común en el conteo de objetos:

Evaluación (Benchmark)PrecisiónMAEvs mejor MLLM
CountBench95.6%0.1192.4% (Gemini 2.5)
PixMo-Count87.3%0.2288.8% (Molmo-72B)

Comparativa de SAM 3, SAM 2 y YOLO

Aquí comparamos las capacidades de SAM 3 con los modelos SAM 2 y YOLO26:

CapacidadSAM 3SAM 2YOLO26n-seg
Segmentación por conceptos✅ Todas las instancias desde texto/ejemplares❌ No compatible❌ No compatible
Segmentación visual✅ Instancia única (compatible con SAM 2)✅ Instancia única✅ Todas las instancias
Capacidad Zero-shot✅ Vocabulario abierto✅ Prompts geométricos❌ Conjunto cerrado
Refinamiento interactivo✅ Ejemplares + clics✅ Solo clics❌ No compatible
Seguimiento de vídeo✅ Objetos múltiples con identidades✅ Objetos múltiples✅ Objetos múltiples
AP de máscara LVIS (zero-shot)47.0N/DN/D
MOSEv2 J&F60.147.9N/D
Velocidad (GPU, ms/im)29218578.4
Tamaño del modelo3.45 GB162 MB (base)6.4 MB

Velocidad evaluada en una NVIDIA RTX PRO 6000 con torch==2.9.1 y ultralytics==8.4.19.

Conclusiones clave:

  • SAM 3: Lo mejor para segmentación de conceptos con vocabulario abierto, encontrando todas las instancias de un concepto con texto o prompts de ejemplares
  • SAM 2: Lo mejor para segmentación interactiva de un solo objeto en imágenes y vídeos con prompts geométricos
  • YOLO26: Lo mejor para segmentación de alta velocidad en tiempo real con inferencia end-to-end sin NMS, exportable a muchos formatos para su despliegue en GPUs, CPUs y dispositivos de borde

Comparativa de SAM frente a YOLO

Comparación de SAM 3, SAM 2, SAM, MobileSAM y FastSAM frente a los modelos de segmentación Ultralytics YOLO (YOLOv8, YOLO11, YOLO26) en tamaño, parámetros y velocidad de inferencia en GPU:

ModeloTamaño
(MB)
Parámetros
(M)
Velocidad (GPU)
(ms/im)
Meta SAM-b37593.71306
Meta SAM2-b16280.8857
Meta SAM2-t78.138.9668
Meta SAM33450473.62921
MobileSAM40.710.1605
FastSAM-s con backbone de YOLOv823.711.855.9
YOLOv8n-seg de Ultralytics6.7 (515 veces menor)3.4 (139.1 veces menos)17.4 (167 veces más rápido)
YOLO11n-seg de Ultralytics5.9 (585 veces menor)2.9 (163.1 veces menos)12.6 (231 veces más rápido)
YOLO26n-seg de Ultralytics6.4 (539 veces menor)2.7 (175.2 veces menos)8.4 (347 veces más rápido)

Esta comparación demuestra las diferencias sustanciales en los tamaños y velocidades de los modelos entre las variantes de SAM y los modelos de segmentación YOLO. Mientras que SAM ofrece capacidades únicas de segmentación automática, los modelos YOLO, particularmente YOLOv8n-seg, YOLO11n-seg y YOLO26n-seg, son significativamente más pequeños, más rápidos y más eficientes desde el punto de vista computacional.

Pruebas realizadas en una NVIDIA RTX PRO 6000 con 96 GB de VRAM utilizando torch==2.9.1 y ultralytics==8.4.19. Para reproducir esta prueba:

Ejemplo
from ultralytics import ASSETS, SAM, YOLO, FastSAM

# Profile SAM3, SAM2-t, SAM2-b, SAM-b, MobileSAM
for file in ["sam_b.pt", "sam2_b.pt", "sam2_t.pt", "mobile_sam.pt", "sam3.pt"]:
    model = SAM(file)
    model.info()
    model(ASSETS)

# Profile FastSAM-s
model = FastSAM("FastSAM-s.pt")
model.info()
model(ASSETS)

# Profile YOLO models
for file_name in ["yolov8n-seg.pt", "yolo11n-seg.pt", "yolo26n-seg.pt"]:
    model = YOLO(file_name)
    model.info()
    model(ASSETS)

Métricas de evaluación

SAM 3 introduce nuevas métricas diseñadas para la tarea PCS, que complementan medidas conocidas como puntuación F1, precisión y exhaustividad.

F1 clasificado (CGF1)

La métrica principal que combina localización y clasificación:

CGF1 = 100 × pmF1 × IL_MCC

Donde:

  • pmF1 (F1 macro positivo): Mide la calidad de la localización en ejemplos positivos
  • IL_MCC (Coeficiente de correlación de Matthews a nivel de imagen): Mide la precisión de la clasificación binaria ("¿está presente el concepto?")

¿Por qué estas métricas?

Las métricas AP tradicionales no tienen en cuenta la calibración, lo que dificulta el uso de los modelos en la práctica. Al evaluar solo las predicciones por encima de 0.5 de confianza, las métricas de SAM 3 refuerzan una buena calibración y imitan los patrones de uso reales en bucles interactivos de predicción y seguimiento.

Ablaciones y perspectivas clave

Impacto de la cabecera de presencia

La cabecera de presencia desacopla el reconocimiento de la localización, proporcionando mejoras significativas:

ConfiguraciónCGF1IL_MCCpmF1
Sin presencia57.60.7774.7
Con presencia63.30.8277.1

El cabezal de presencia proporciona una mejora de +5.7 CGF1 (+9.9%), lo que mejora principalmente la capacidad de reconocimiento (IL_MCC +6.5%).

Efecto de los ejemplos negativos difíciles (Hard Negatives)

Ejemplos negativos difíciles/ImagenCGF1IL_MCCpmF1
031.80.4470.2
544.80.6271.9
3049.20.6872.3

Los ejemplos negativos difíciles son cruciales para el reconocimiento de vocabulario abierto, mejorando el IL_MCC en un 54.5% (0.44 → 0.68).

Escalado de datos de entrenamiento

Fuentes de datosCGF1IL_MCCpmF1
Solo externos30.90.4666.3
Externos + Sintéticos39.70.5770.6
Externos + HQ51.80.7173.2
Los tres54.30.7473.5

Las anotaciones humanas de alta calidad proporcionan grandes ganancias en comparación con el uso exclusivo de datos sintéticos o externos. Para obtener información sobre las prácticas de calidad de datos, consulta recopilación y anotación de datos.

Aplicaciones

La capacidad de segmentación de conceptos de SAM 3 permite nuevos casos de uso:

  • Moderación de contenido: Encuentra todas las instancias de tipos de contenido específicos en bibliotecas de medios
  • Comercio electrónico: Segmenta todos los productos de un tipo determinado en imágenes de catálogo, lo que ayuda a la autoanotación
  • Imágenes médicas: Identifica todas las apariciones de tipos de tejido o anomalías específicos
  • Sistemas autónomos: Rastrea todas las instancias de señales de tráfico, peatones o vehículos por categoría
  • Análisis de vídeo: Cuenta y rastrea a todas las personas que llevan ropa específica o realizan acciones
  • Anotación de conjuntos de datos: Anota rápidamente todas las instancias de categorías de objetos poco comunes
  • Investigación científica: Cuantifica y analiza todos los especímenes que coinciden con criterios específicos

Agente SAM 3: Razonamiento lingüístico extendido

SAM 3 puede combinarse con modelos multimodales de lenguaje (MLLM) para manejar consultas complejas que requieren razonamiento, similar en espíritu a los sistemas de vocabulario abierto como OWLv2 y T-Rex.

Rendimiento en tareas de razonamiento

Evaluación (Benchmark)MétricaAgente SAM 3 (Gemini 2.5 Pro)Mejor anterior
ReasonSeg (validación)gIoU76.065.0 (SoTA)
ReasonSeg (prueba)gIoU73.861.3 (SoTA)
OmniLabel (validación)AP46.736.5 (REAL)
RefCOCO+Acc91.289.3 (LISA)

Ejemplos de consultas complejas

El agente SAM 3 puede manejar consultas que requieren razonamiento:

  • "Personas sentadas pero que no sostienen una caja de regalo en sus manos"
  • "El perro más cercano a la cámara que no lleva collar"
  • "Objetos rojos más grandes que la mano de la persona"

El MLLM propone consultas simples de frases nominales a SAM 3, analiza las máscaras devueltas e itera hasta estar satisfecho.

Limitaciones

Aunque SAM 3 representa un avance importante, tiene ciertas limitaciones:

  • Complejidad de las frases: Es más adecuado para frases nominales sencillas; las expresiones de referencia largas o el razonamiento complejo pueden requerir la integración de un MLLM
  • Manejo de ambigüedades: Algunos conceptos siguen siendo intrínsecamente ambiguos (por ejemplo, "ventana pequeña", "habitación acogedora")
  • Requisitos computacionales: Es más grande y lento que los modelos de detección especializados como YOLO
  • Alcance del vocabulario: Enfocado en conceptos visuales atómicos; el razonamiento compositivo es limitado sin la asistencia de un MLLM
  • Conceptos poco comunes: El rendimiento puede degradarse en conceptos extremadamente raros o detallados que no están bien representados en los datos de entrenamiento

Citación

Cita
@inproceedings{sam3_2025,
  title     = {SAM 3: Segment Anything with Concepts},
  author    = {Anonymous authors},
  booktitle = {Submitted to ICLR 2026},
  year      = {2025},
  url       = {https://openreview.net/forum?id=r35clVtGzw},
  note      = {Paper ID: 4183, under double-blind review}
}

Preguntas frecuentes

¿Cuándo se lanzó SAM 3?

SAM 3 fue lanzado por Meta el 20 de noviembre de 2025 y está totalmente integrado en Ultralytics desde la versión 8.3.237 (PR #22897). Hay soporte completo disponible para el modo de predicción y el modo de seguimiento.

¿Está SAM 3 integrado en Ultralytics?

¡Sí! SAM 3 está totalmente integrado en el paquete de Python de Ultralytics, incluyendo segmentación de conceptos, prompts visuales al estilo SAM 2 y seguimiento de vídeo de múltiples objetos. SAM 3 también impulsa la función de anotación inteligente en Ultralytics Platform, donde puedes anotar imágenes con solo unos clics.

¿Qué es la segmentación de conceptos con prompts (PCS)?

PCS es una nueva tarea introducida en SAM 3 que segmenta todas las instancias de un concepto visual en una imagen o vídeo. A diferencia de la segmentación tradicional que apunta a una instancia de objeto específica, PCS encuentra cada aparición de una categoría. Por ejemplo:

  • Prompt de texto: "autobús escolar amarillo" → segmenta todos los autobuses escolares amarillos en la escena
  • Ejemplar de imagen: Caja alrededor de un perro → segmenta todos los perros en la imagen
  • Combinado: "gato a rayas" + caja ejemplar → segmenta todos los gatos a rayas que coinciden con el ejemplo

Consulta los antecedentes relacionados sobre detección de objetos y segmentación de instancias.

¿En qué se diferencia SAM 3 de SAM 2?

CaracterísticaSAM 2SAM 3
TareaUn solo objeto por promptTodas las instancias de un concepto
Tipos de promptsPuntos, cajas, máscarasFrases de texto, ejemplares de imagen
Capacidad de detecciónRequiere detector externoDetector de vocabulario abierto integrado
ReconocimientoSolo basado en geometríaReconocimiento de texto y visual
ArquitecturaSolo rastreadorDetector + rastreador con cabezal de presencia
Rendimiento Zero-ShotN/A (requiere prompts visuales)47.0 AP en LVIS, 2 veces mejor en SA-Co
Refinamiento interactivoSolo clicsClics + generalización de ejemplares

SAM 3 mantiene la compatibilidad con versiones anteriores con el prompting visual de SAM 2 al tiempo que añade capacidades basadas en conceptos.

¿Qué conjuntos de datos se utilizan para entrenar SAM 3?

SAM 3 se entrena con el conjunto de datos Segment Anything with Concepts (SA-Co):

Datos de entrenamiento:

  • 5.2M de imágenes con 4M de frases nominales únicas (SA-Co/HQ) - anotaciones humanas de alta calidad
  • 52.5K de vídeos con 24.8K de frases nominales únicas (SA-Co/VIDEO)
  • 1.4B de máscaras sintéticas a través de 38M de frases nominales (SA-Co/SYN)
  • 15 conjuntos de datos externos enriquecidos con negativos difíciles (SA-Co/EXT)

Datos de referencia:

  • 214K de conceptos únicos a través de 126K de imágenes/vídeos
  • 50 veces más conceptos que los benchmarks existentes (p. ej., LVIS tiene ~4K conceptos)
  • Triple anotación en SA-Co/Gold para medir los límites del rendimiento humano

Esta escala y diversidad masivas permiten la superior generalización zero-shot de SAM 3 en conceptos de vocabulario abierto.

¿Cómo se compara SAM 3 con YOLO26 para segmentación?

SAM 3 y YOLO26 sirven para diferentes casos de uso:

Ventajas de SAM 3:

  • Vocabulario abierto: Segmenta cualquier concepto mediante prompts de texto sin entrenamiento
  • Zero-shot: Funciona en categorías nuevas inmediatamente
  • Interactivo: El refinamiento basado en ejemplares se generaliza a objetos similares
  • Basado en conceptos: Encuentra automáticamente todas las instancias de una categoría
  • Precisión: 47.0 AP en segmentación de instancias zero-shot de LVIS

Ventajas de YOLO26:

  • Velocidad: Inferencia órdenes de magnitud más rápida con diseño integral sin NMS
  • Eficiencia: Modelos 539 veces más pequeños (6.4MB frente a 3.45GB)
  • Respetuoso con los recursos: Funciona en dispositivos edge y móviles
  • Tiempo real: Optimizado para despliegues en producción

Recomendación:

  • Utiliza SAM 3 para segmentación flexible y de vocabulario abierto cuando necesites encontrar todas las instancias de conceptos descritos por texto o ejemplos
  • Utiliza YOLO26 para despliegues en producción de alta velocidad donde las categorías se conocen de antemano
  • Utiliza SAM 2 para segmentación interactiva de un solo objeto con prompts geométricos

¿Puede SAM 3 manejar consultas lingüísticas complejas?

SAM 3 está diseñado para frases nominales simples (p. ej., "manzana roja", "persona con sombrero"). Para consultas complejas que requieran razonamiento, combina SAM 3 con un MLLM como SAM 3 Agent:

Consultas simples (SAM 3 nativo):

  • "autobús escolar amarillo"
  • "gato a rayas"
  • "persona con sombrero rojo"

Consultas complejas (SAM 3 Agent con MLLM):

  • "Personas sentadas pero que no sostienen una caja de regalo"
  • "El perro más cercano a la cámara sin collar"
  • "Objetos rojos más grandes que la mano de la persona"

SAM 3 Agent logra 76.0 gIoU en la validación de ReasonSeg (frente a 65.0 el mejor anterior, +16.9% de mejora) combinando la segmentación de SAM 3 con las capacidades de razonamiento de un MLLM.

¿Qué tan preciso es SAM 3 en comparación con el rendimiento humano?

En el benchmark SA-Co/Gold con triple anotación humana:

  • Límite inferior humano: 74.2 CGF1 (anotador más conservador)
  • Rendimiento de SAM 3: 65.0 CGF1
  • Logro: 88% del límite inferior humano estimado
  • Límite superior humano: 81.4 CGF1 (anotador más liberal)

SAM 3 logra un rendimiento sólido que se acerca a la precisión a nivel humano en segmentación de conceptos de vocabulario abierto, con la brecha principalmente en conceptos ambiguos o subjetivos (p. ej., "ventana pequeña", "habitación acogedora").

Comentarios