SAM 3: Segment Anything com conceitos#

SAM 3 (Modelo Segment Anything 3) é o modelo de base lançado pela Meta para Segmentação de Conceitos por Prompt (PCS). Com base no SAM 2, o SAM 3 introduz uma capacidade fundamentalmente nova: detetar, segmentar e rastrear todas as instâncias de um conceito visual especificado por prompts de texto, exemplos de imagens ou ambos. Ao contrário das versões anteriores do SAM, que segmentam objetos individuais por prompt, o SAM 3 consegue encontrar e segmentar cada ocorrência de um conceito em qualquer parte de imagens ou vídeos, alinhando-se com os objetivos de vocabulário aberto da moderna segmentação de instâncias.
Watch: How to Use Meta Segment Anything 3 with Ultralytics | Text-Prompt Segmentation on Images & Videos
O SAM 3 está totalmente integrado no pacote ultralytics, fornecendo suporte nativo para segmentação de conceitos com comandos de texto, comandos de exemplo de imagem e rastreamento de vídeo. O ponto de verificação mais recente SAM 3.1 é suportado para predição de imagens.
Visão geral#
O SAM 3 alcança um ganho de desempenho de 2× em relação aos sistemas existentes em Segmentação de Conceitos por Prompt, mantendo e melhorando as capacidades do SAM 2 para segmentação visual interativa. O modelo destaca-se na segmentação de vocabulário aberto, permitindo especificar conceitos através de simples expressões nominais (por exemplo, "autocarro escolar amarelo", "gato às riscas") ou fornecer imagens de exemplo do objeto-alvo. Estas capacidades complementam pipelines prontos para produção que dependem de fluxos de trabalho simplificados de predição e rastreamento.

O que é a Segmentação de Conceitos por Prompt (PCS)?#
A tarefa PCS recebe um prompt de conceito como entrada e devolve máscaras de segmentação com identidades únicas para todas as instâncias de objetos correspondentes. Os prompts de conceitos podem ser:
- Texto: Expressões nominais simples, como "maçã vermelha" ou "pessoa com um chapéu", semelhantes à aprendizagem zero-shot
- Exemplos de imagens: Caixas delimitadoras à volta de objetos de exemplo (positivos ou negativos) para uma generalização rápida
- Combinados: Texto e exemplos de imagens em conjunto para um controlo preciso
Isto difere dos prompts visuais tradicionais (pontos, caixas, máscaras), que segmentam apenas uma única instância de objeto específica, conforme popularizado pela família SAM original.
Principais métricas de desempenho#
| Métrica | Resultados do SAM 3 |
|---|---|
| AP de máscara zero-shot no LVIS | 47,0 (vs. melhor resultado anterior de 38,5, melhoria de +22%) |
| Benchmark SA-Co | 2× melhor do que os sistemas existentes |
| Velocidade de inferência (GPU H200) | 30 ms por imagem com mais de 100 objetos detetados |
| Desempenho em vídeo | Quase em tempo real para ~5 objetos simultâneos |
| Benchmark VOS MOSEv2 | 60,1 J&F (+25,5% em relação ao SAM 2.1, +17% em relação ao SOTA anterior) |
| Refinamento interativo | Melhoria de +18,6 CGF1 após 3 prompts com exemplos |
| Diferença em relação ao desempenho humano | Alcança 88% do limite inferior estimado em SA-Co/Gold |
Para obter contexto sobre as métricas dos modelos e os compromissos na produção, consulta informações sobre a avaliação de modelos e métricas de desempenho do YOLO.
SAM 3.1#
SAM 3.1, lançado pela Meta em 27 de março de 2026, é um novo ponto de verificação do SAM 3 que adiciona Object Multiplex, uma abordagem de memória compartilhada para rastreamento de vídeo de múltiplos objetos. Em vez de processar cada objeto rastreado de forma independente, o SAM 3.1 agrupa os objetos em baldes de capacidade fixa e os processa conjuntamente, o que a Meta relata como uma ~aceleração de 7× em 128 objetos em uma única GPU H100. O detector de imagens e o cabeçote interativo de comando por pontos mantêm a arquitetura do SAM 3.
| Benchmark | Métrica | SAM 3 | SAM 3.1 |
|---|---|---|---|
| SA-Co/VEval SA-V (teste) | cgF1 | 30.3 | 30.5 |
| SA-Co/VEval YT-Temporal-1B (teste) | cgF1 | 50.8 | 52.9 |
| SA-Co/VEval SmartGlasses (teste) | cgF1 | 36.4 | 36.3 |
| MOSEv1 (val) | J&F | 78.4 | 79.6 |
| DAVIS17 (val) | J&F | 92.2 | 92.7 |
| SA-V (teste) | J&F | 84.4 | 85.1 |
| YTVOS19 (val) | G | 89.7 | 89.3 |
| MOSEv2 (val) | J&Ḟ | 60.3 | 62.3 |
O Ultralytics carrega o ponto de verificação do SAM 3.1 (sam3.1_multiplex.pt) nos preditores de imagem do SAM 3: SAM("sam3.1_multiplex.pt") para comandos de ponto e caixa, e SAM3SemanticPredictor para comandos de texto e exemplo. O rastreamento de vídeo Object Multiplex ainda não é suportado, portanto, continue usando sam3.pt com SAM3VideoPredictor e SAM3VideoSemanticPredictor.
Arquitetura#
O SAM 3 é composto por um detetor e um rastreador que partilham um backbone visual Perception Encoder (PE). Este design desacoplado evita conflitos entre tarefas, permitindo simultaneamente a deteção ao nível da imagem e o rastreamento ao nível do vídeo, com uma interface compatível com a utilização de Python e a utilização da CLI da Ultralytics.
Componentes principais#
-
Detetor: Arquitetura baseada em DETR para deteção de conceitos ao nível da imagem
- Codificador de texto para prompts de expressões nominais
- Codificador de exemplos para prompts baseados em imagens
- Codificador de fusão para condicionar as características da imagem aos prompts
- Novo cabeçote de presença que separa o reconhecimento ("o quê") da localização ("onde")
- Cabeçote de máscaras para gerar máscaras de segmentação de instâncias
-
Rastreador: Segmentação de vídeo baseada em memória, herdada do SAM 2
- Codificador de prompts, descodificador de máscaras e codificador de memória
- Banco de memória para armazenar a aparência dos objetos entre frames
- Desambiguação temporal auxiliada por técnicas como um filtro de Kalman em cenários com vários objetos
-
Token de presença: Um token global aprendido que prevê se o conceito-alvo está presente na imagem/frame, melhorando a deteção ao separar o reconhecimento da localização.

Principais inovações#
- Reconhecimento e localização desacoplados: O cabeçote de presença prevê globalmente a presença do conceito, enquanto as queries de proposta se concentram apenas na localização, evitando objetivos conflitantes.
- Prompts de conceitos e visuais unificados: Suporta tarefas PCS (prompts de conceitos) e PVS (prompts visuais, como cliques/caixas do SAM 2) num único modelo.
- Refinamento interativo com exemplos: Os utilizadores podem adicionar exemplos de imagens positivos ou negativos para refinar iterativamente os resultados, com o modelo a generalizar para objetos semelhantes em vez de apenas corrigir instâncias individuais.
- Desambiguação temporal: Utiliza pontuações de deteção de masklets e novos prompts periódicos para lidar com oclusões, cenários congestionados e falhas de rastreamento em vídeo, em conformidade com as melhores práticas de segmentação e rastreamento de instâncias.
Conjunto de dados SA-Co#
O SAM 3 é treinado no Segment Anything with Concepts (SA-Co), o maior e mais diversificado conjunto de dados de segmentação da Meta até à data, expandindo-se para além de benchmarks comuns como o COCO e o LVIS.
Dados de treino#
| Componente do conjunto de dados | Descrição | Escala |
|---|---|---|
| SA-Co/HQ | Dados de imagens de alta qualidade anotados por humanos a partir de um motor de dados em 4 fases | 5,2 M de imagens, 4 M de expressões nominais únicas |
| SA-Co/SYN | Conjunto de dados sintético anotado por IA sem intervenção humana | 38 M de expressões nominais, 1,4 mil milhões de máscaras |
| SA-Co/EXT | 15 conjuntos de dados externos enriquecidos com negativos difíceis | Varia consoante a origem |
| SA-Co/VIDEO | Anotações de vídeo com rastreamento temporal | 52,5 mil vídeos, 24,8 mil expressões nominais únicas |
Dados de benchmark#
O benchmark de avaliação SA-Co contém 214 mil expressões únicas em 126 mil imagens e vídeos, disponibilizando mais de 50× mais conceitos do que os benchmarks existentes. Inclui:
- SA-Co/Gold: 7 domínios, com tripla anotação para medir os limites do desempenho humano
- SA-Co/Silver: 10 domínios, com uma única anotação humana
- SA-Co/Bronze e SA-Co/Bio: 9 conjuntos de dados existentes adaptados para a segmentação de conceitos
- SA-Co/VEval: Benchmark de vídeo com 3 domínios (SA-V, YT-Temporal-1B, SmartGlasses)
Inovações do motor de dados#
O motor de dados escalável da SAM 3, com humanos e modelos no circuito, alcança 2× mais produtividade de anotação através de:
- Anotadores de IA: Modelos baseados em Llama propõem expressões nominais diversificadas, incluindo negativos difíceis
- Verificadores de IA: LLMs multimodais ajustados verificam a qualidade e a exaustividade das máscaras com um desempenho próximo do humano
- Mineração ativa: Concentra o esforço humano em casos de falha difíceis, nos quais a IA tem dificuldades
- Orientado por ontologia: Utiliza uma grande ontologia fundamentada no Wikidata para garantir a cobertura de conceitos
Instalação#
Instala ou atualiza o pacote ultralytics:
pip install -U ultralyticsAo contrário de outros modelos da Ultralytics, os pesos do SAM 3 (sam3.pt) não são transferidos automaticamente. Primeiro, tens de solicitar acesso aos pesos do modelo na página do modelo SAM 3 no Hugging Face e, depois de aprovado, transferir sam3.pt a partir dessa página. Coloca o ficheiro sam3.pt transferido no teu diretório de trabalho ou especifica o caminho completo ao carregar o modelo.
Os pesos do SAM 3.1 (sam3.1_multiplex.pt) são protegidos da mesma forma na página do modelo SAM 3.1. Passe sam3.1_multiplex.pt em qualquer lugar onde os exemplos de imagem abaixo usam sam3.pt.
Se obtiveres o erro acima durante a predição, significa que tens instalado o pacote clip incorreto. Instala o pacote correto clip executando o seguinte:
pip uninstall clip -y
pip install git+https://github.com/ultralytics/CLIP.gitComo utilizar o SAM 3: versatilidade na segmentação de conceitos#
O SAM 3 suporta tarefas de Segmentação de Conceitos por Prompt (PCS) e Segmentação Visual por Prompt (PVS) através de diferentes interfaces de preditores:
Tarefas e modelos suportados#
| Tipo de tarefa | Tipos de prompt | Saída |
|---|---|---|
| Segmentação de conceitos (PCS) | Texto (expressões nominais), exemplos de imagens | Todas as instâncias correspondentes ao conceito |
| Segmentação visual (PVS) | Pontos, caixas, máscaras | Uma única instância de objeto (estilo SAM 2) |
| Refinamento interativo | Adicionar/remover exemplos ou cliques iterativamente | Segmentação refinada com maior precisão |
Exemplos de segmentação de conceitos#
Segmentação com prompts de texto#
Encontra e segmenta todas as instâncias de um conceito usando uma descrição de texto. Os prompts de texto requerem a interface SAM3SemanticPredictor.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor with configuration
overrides = {
"conf": 0.25,
"task": "segment",
"mode": "predict",
"model": "sam3.pt",
"quantize": 16, # 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"])Segmentação com exemplares de imagem#
Usa caixas delimitadoras como prompts visuais para encontrar todas as instâncias semelhantes. Isto também requer SAM3SemanticPredictor para a correspondência baseada em conceitos.
from ultralytics.models.sam import SAM3SemanticPredictor
# Initialize predictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "model": "sam3.pt", "quantize": 16, "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 as exemplars of the same visual concept
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]])Inferência baseada em características para maior eficiência#
Extrai as características da imagem uma vez e reutiliza-as para múltiplas consultas de segmentação, melhorando a eficiência.
import cv2
from ultralytics.models.sam import SAM3SemanticPredictor
from ultralytics.utils.plotting import Annotator, colors
# Initialize predictors
overrides = {"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)Segmentação de conceitos em vídeo#
Rastreia conceitos em vídeo com caixas delimitadoras#
Deteta e rastreia instâncias de objetos entre os fotogramas do vídeo usando prompts de caixas delimitadoras.
from ultralytics.models.sam import SAM3VideoPredictor
# Create video predictor
overrides = {"conf": 0.25, "task": "segment", "mode": "predict", "model": "sam3.pt", "quantize": 16}
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 masksRastreia conceitos com prompts de texto#
Rastreia todas as instâncias dos conceitos especificados por texto entre os fotogramas do vídeo.
from ultralytics.models.sam import SAM3VideoSemanticPredictor
# Initialize semantic video predictor
overrides = {
"conf": 0.25,
"task": "segment",
"mode": "predict",
"imgsz": 640,
"model": "sam3.pt",
"quantize": 16,
"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 visuais (compatibilidade com SAM 2)#
SAM 3 mantém compatibilidade retroativa total com os prompts visuais do SAM 2 para a segmentação de objetos individuais:
A interface básica SAM comporta-se exatamente como o SAM 2, segmentando apenas a área específica indicada pelos prompts visuais (pontos, caixas ou 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()Usar SAM("sam3.pt") com prompts visuais (pontos/caixas/máscaras) segmentará apenas o objeto específico nessa localização, tal como o SAM 2. Para segmentar todas as instâncias de um conceito, usa SAM3SemanticPredictor com prompts de texto ou de exemplares, conforme mostrado acima.
Benchmarks de desempenho#
Segmentação de imagens#
SAM 3 alcança resultados de última geração em vários benchmarks, incluindo conjuntos de dados do mundo real como LVIS e COCO para segmentação:
| Benchmark | Métrica | SAM 3 | Melhor resultado anterior | Melhoria |
|---|---|---|---|---|
| LVIS (zero-shot) | AP de máscara | 47.0 | 38.5 | +22.1% |
| SA-Co/Gold | CGF1 | 65.0 | 34.3 (OWLv2) | +89.5% |
| COCO (zero-shot) | AP de caixa | 53.5 | 52.2 (T-Rex2) | +2.5% |
| ADE-847 (segmentação semântica) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (segmentação semântica) | mIoU | 65.1 | 44.2 (APE-D) | +47.3% |
Explora opções de conjuntos de dados para experimentação rápida em conjuntos de dados da Ultralytics.
Desempenho da segmentação de vídeo#
SAM 3 apresenta melhorias significativas em relação ao SAM 2 e ao estado da arte anterior em benchmarks de vídeo como DAVIS 2017 e YouTube-VOS:
| Benchmark | Métrica | SAM 3 | SAM 2.1 L | Melhoria |
|---|---|---|---|---|
| MOSEv2 | J&F | 60.1 | 47.9 | +25.5% |
| DAVIS 2017 | J&F | 92.0 | 90.7 | +1.4% |
| LVOSv2 | J&F | 88.2 | 79.6 | +10.8% |
| SA-V | J&F | 84.6 | 78.4 | +7.9% |
| YTVOS19 | J&F | 89.6 | 89.3 | +0.3% |
Adaptação com poucos exemplos#
SAM 3 destaca-se na adaptação a novos domínios com poucos exemplos, sendo relevante para fluxos de trabalho de IA centrada em dados:
| Benchmark | AP com 0 exemplos | AP com 10 exemplos | Melhor resultado anterior (10 exemplos) |
|---|---|---|---|
| ODinW13 | 59.9 | 71.6 | 67.9 (gDino1.5-Pro) |
| RF100-VL | 14.3 | 35.7 | 33.7 (gDino-T) |
Eficácia do refinamento interativo#
Os prompts baseados em conceitos do SAM 3 com exemplares convergem muito mais rapidamente do que os prompts visuais:
| Prompts adicionados | Pontuação CGF1 | Ganho vs. apenas texto | Ganho vs. baseline PVS |
|---|---|---|---|
| Apenas texto | 46.4 | baseline | baseline |
| +1 exemplar | 57.6 | +11.2 | +6.7 |
| +2 exemplares | 62.2 | +15.8 | +9.7 |
| +3 exemplares | 65.0 | +18.6 | +11.2 |
| +4 exemplares | 65.7 | +19.3 | +11.5 (patamar) |
Precisão da contagem de objetos#
SAM 3 fornece uma contagem precisa ao segmentar todas as instâncias, um requisito comum na contagem de objetos:
| Benchmark | Precisão | MAE | vs. melhor MLLM |
|---|---|---|---|
| CountBench | 95.6% | 0.11 | 92.4% (Gemini 2.5) |
| PixMo-Count | 87.3% | 0.22 | 88,8% (Molmo-72B) |
Comparação entre SAM 3, SAM 2 e YOLO#
Aqui comparamos as capacidades do SAM 3 com os modelos SAM 2 e YOLO26. Para deteção e segmentação de vocabulário aberto em tempo real a partir dos mesmos tipos de prompts, consulta YOLOE:
| Capacidade | SAM 3 | SAM 2 | YOLO26n-seg |
|---|---|---|---|
| Segmentação de conceitos | ✅ Todas as instâncias a partir de texto/exemplares | ❌ Não suportado | ❌ Não suportado |
| Segmentação visual | ✅ Instância individual (compatível com SAM 2) | ✅ Instância individual | ✅ Todas as instâncias |
| Capacidade zero-shot | ✅ Vocabulário aberto | ✅ Prompts geométricos | ❌ Conjunto fechado |
| Refinamento interativo | ✅ Exemplos + cliques | ✅ Apenas cliques | ❌ Não suportado |
| Rastreamento de vídeo | ✅ Vários objetos com identidades | ✅ Vários objetos | ✅ Vários objetos |
| LVIS Mask AP (zero-shot) | 47.0 | N/A | N/A |
| MOSEv2 J&F | 60.1 | 47.9 | N/A |
| Velocidade (GPU, ms/im) | 2921 | 857 | 8.4 |
| Tamanho do modelo | 3.45 GB | 162 MB (base) | 6.4 MB |
Velocidade avaliada em NVIDIA RTX PRO 6000 com torch==2.9.1 e ultralytics==8.4.19.
Principais conclusões:
- SAM 3: Ideal para segmentação de conceitos com vocabulário aberto, encontrando todas as instâncias de um conceito com prompts de texto ou de exemplos
- SAM 2: Ideal para segmentação interativa de um único objeto em imagens e vídeos com prompts geométricos
- YOLO26: Ideal para segmentação em tempo real e de alta velocidade com inferência opcional de ponta a ponta sem NMS, exportável para vários formatos para implantação em GPUs, CPUs e dispositivos de borda
Comparação entre SAM e YOLO#
Comparação entre SAM 3, SAM 2, SAM, MobileSAM e FastSAM e os modelos de segmentação YOLO da Ultralytics (YOLOv8, YOLO11, YOLO26) em termos de tamanho, parâmetros e velocidade de inferência na GPU:
| Modelo | Tamanho (MB) | Parâmetros (M) | Velocidade (GPU) (ms/im) |
|---|---|---|---|
| Meta SAM-b | 375 | 93.7 | 1306 |
| Meta SAM2-b | 162 | 80.8 | 857 |
| Meta SAM2-t | 78.1 | 38.9 | 668 |
| Meta SAM3 | 3450 | 473.6 | 2921 |
| MobileSAM | 40.7 | 10.1 | 605 |
| FastSAM-s com backbone YOLOv8 | 23.7 | 11.8 | 55.9 |
| Ultralytics YOLOv8n-seg | 6,7 (515x menor) | 3,4 (139,1x menos) | 17,4 (167x mais rápido) |
| Ultralytics YOLO11n-seg | 5.9 (585x menor) | 2,9 (163,1x menos) | 12,6 (231x mais rápido) |
| Ultralytics YOLO26n-seg | 6,4 (539x menor) | 2.7 (175.2x menos) | 8.4 (347x mais rápido) |
Esta comparação demonstra as diferenças substanciais entre as variantes do SAM e os modelos de segmentação YOLO em termos de tamanho e velocidade. Embora o SAM ofereça capacidades únicas de segmentação automática, os modelos YOLO, particularmente YOLOv8n-seg, YOLO11n-seg e YOLO26n-seg, são significativamente menores, mais rápidos e mais eficientes em termos computacionais.
Os testes foram executados numa NVIDIA RTX PRO 6000 com 96 GB de VRAM usando torch==2.9.1 e ultralytics==8.4.19. Para reproduzir este teste:
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, nms=False) # YOLO26 NMS-free head; no-op for YOLOv8/YOLO11Métricas de avaliação#
SAM 3 introduz novas métricas concebidas para a tarefa PCS, complementando medidas conhecidas como a pontuação F1, a precisão e a revocação.
F1 condicionado pela classificação (CGF1)#
A métrica principal que combina localização e classificação:
CGF1 = 100 × pmF1 × IL_MCC
Onde:
- pmF1 (F1 macro positivo): Mede a qualidade da localização em exemplos positivos
- IL_MCC (Coeficiente de Correlação de Matthews ao nível da imagem): Mede a precisão da classificação binária ("o conceito está presente?")
Porquê estas métricas?#
As métricas AP tradicionais não têm em conta a calibração, o que dificulta a utilização dos modelos na prática. Ao avaliar apenas previsões com confiança superior a 0.5, as métricas do SAM 3 impõem uma boa calibração e reproduzem padrões de utilização do mundo real em ciclos interativos de predição e rastreamento.
Ablações e conclusões principais#
Impacto da cabeça de presença#
A cabeça de presença desacopla o reconhecimento da localização, proporcionando melhorias significativas:
| Configuração | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Sem presença | 57.6 | 0.77 | 74.7 |
| Com presença | 63.3 | 0.82 | 77.1 |
A cabeça de presença proporciona um aumento de 5.7 no CGF1 (+9.9%), melhorando principalmente a capacidade de reconhecimento (IL_MCC +6.5%).
Efeito dos negativos difíceis#
| Negativos difíceis/imagem | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| 0 | 31.8 | 0.44 | 70.2 |
| 5 | 44.8 | 0.62 | 71.9 |
| 30 | 49.2 | 0.68 | 72.3 |
Os negativos difíceis são cruciais para o reconhecimento com vocabulário aberto, melhorando o IL_MCC em 54.5% (0.44 → 0.68).
Escalonamento dos dados de treino#
| Fontes de dados | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Apenas externas | 30.9 | 0.46 | 66.3 |
| Externas + sintéticas | 39.7 | 0.57 | 70.6 |
| Externas + HQ | 51.8 | 0.71 | 73.2 |
| As três | 54.3 | 0.74 | 73.5 |
As anotações humanas de alta qualidade proporcionam grandes ganhos em relação a dados sintéticos ou externos utilizados isoladamente. Para obter informações de base sobre práticas de qualidade dos dados, consulta recolha e anotação de dados.
Aplicações#
A capacidade de segmentação de conceitos do SAM 3 permite novos casos de uso:
- Moderação de conteúdo: Encontrar todas as instâncias de tipos específicos de conteúdo em bibliotecas multimédia
- Comércio eletrónico: Segmentar todos os produtos de um determinado tipo em imagens de catálogo, permitindo a anotação automática
- Imagiologia médica: Identificar todas as ocorrências de tipos específicos de tecido ou anomalias
- Sistemas autónomos: Rastrear todas as instâncias de sinais de trânsito, peões ou veículos por categoria
- Análise de vídeo: Contar e rastrear todas as pessoas que usam determinado vestuário ou realizam determinadas ações
- Anotação de conjuntos de dados: Anotar rapidamente todas as instâncias de categorias raras de objetos
- Investigação científica: Quantificar e analisar todos os espécimes que correspondem a critérios específicos
Agente SAM 3: Raciocínio linguístico avançado#
SAM 3 pode ser combinado com Modelos de Linguagem Grandes Multimodais (MLLMs) para lidar com consultas complexas que exigem raciocínio, de forma semelhante a sistemas de vocabulário aberto como OWLv2 e T-Rex.
Desempenho em tarefas de raciocínio#
| Benchmark | Métrica | Agente SAM 3 (Gemini 2.5 Pro) | Melhor resultado anterior |
|---|---|---|---|
| ReasonSeg (validação) | gIoU | 76.0 | 65.0 (SoTA) |
| ReasonSeg (teste) | gIoU | 73.8 | 61.3 (SoTA) |
| OmniLabel (validação) | AP | 46.7 | 36.5 (REAL) |
| RefCOCO+ | Acc | 91.2 | 89.3 (LISA) |
Exemplos de consultas complexas#
O Agente SAM 3 consegue lidar com consultas que exigem raciocínio:
- "Pessoas sentadas, mas que não seguram uma caixa de presente nas mãos"
- "O cão mais próximo da câmara que não está a usar uma coleira"
- "Objetos vermelhos maiores do que a mão da pessoa"
O MLLM propõe consultas simples em forma de sintagmas nominais ao SAM 3, analisa as máscaras retornadas e itera até ficar satisfeito.
Limitações#
Embora o SAM 3 represente um avanço significativo, ele apresenta algumas limitações:
- Complexidade das frases: é mais adequado para sintagmas nominais simples; expressões referenciais longas ou raciocínios complexos podem exigir integração com um MLLM
- Tratamento de ambiguidades: alguns conceitos permanecem inerentemente ambíguos (por exemplo, "janela pequena", "quarto aconchegante")
- Requisitos computacionais: maior e mais lento do que modelos de detecção especializados, como o YOLO
- Abrangência do vocabulário: concentra-se em conceitos visuais atômicos; o raciocínio composicional é limitado sem a assistência de um MLLM
- Conceitos raros: o desempenho pode diminuir em conceitos extremamente raros ou refinados que não estejam bem representados nos dados de treinamento
Citação#
@misc{carion2025sam3,
title = {SAM 3: Segment Anything with Concepts},
author = {Nicolas Carion and Laura Gustafson and Yuan-Ting Hu and Shoubhik Debnath and Ronghang Hu and Didac Suris and Chaitanya Ryali and Kalyan Vasudev Alwala and Haitham Khedr and Andrew Huang and Jie Lei and Tengyu Ma and Baishan Guo and Arpit Kalla and Markus Marks and Joseph Greer and Meng Wang and Peize Sun and Roman R{\"a}dle and Triantafyllos Afouras and Effrosyni Mavroudi and Katherine Xu and Tsung-Han Wu and Yu Zhou and Liliane Momeni and Rishi Hazra and Shuangrui Ding and Sagar Vaze and Francois Porcher and Feng Li and Siyuan Li and Aishwarya Kamath and Ho Kei Cheng and Piotr Doll{\'a}r and Nikhila Ravi and Kate Saenko and Pengchuan Zhang and Christoph Feichtenhofer},
year = {2025},
eprint = {2511.16719},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2511.16719}
}Perguntas frequentes#
O SAM 3 foi lançado pela Meta a 19 de novembro de 2025 e está totalmente integrado no pacote
ultralytics, com suporte para modo de previsão e modo de rastreamento.Sim! O SAM 3 está totalmente integrado no pacote Python da Ultralytics, incluindo segmentação por conceitos, comandos visuais no estilo do SAM 2 e rastreamento de vídeo de múltiplos objetos. O SAM 3 e o SAM 3.1 também alimentam o recurso de anotação inteligente na Plataforma Ultralytics, onde o SAM 3.1 é o modelo padrão e tu podes anotar imagens com apenas alguns cliques.
Sim, para predição de imagens. Carrega
sam3.1_multiplex.ptonde os exemplos de imagem nesta página usamsam3.pt:SAM("sam3.1_multiplex.pt")para comandos de pontos e caixas, eSAM3SemanticPredictorpara comandos de texto e exemplares. O rastreamento de vídeo Object Multiplex ainda não é suportado, por isso continua a usarsam3.ptcom os preditores de vídeo. Vê o SAM 3.1 para os benchmarks da Meta.PCS é uma nova tarefa introduzida no SAM 3 que segmenta todas as instâncias de um conceito visual em uma imagem ou vídeo. Ao contrário da segmentação tradicional, que visa uma instância específica de um objeto, a PCS encontra todas as ocorrências de uma categoria. Por exemplo:
- Prompt de texto: "ônibus escolar amarelo" → segmenta todos os ônibus escolares amarelos na cena
- Exemplar de imagem: caixa ao redor de um cachorro → segmenta todos os cachorros na imagem
- Combinado: "gato listrado" + caixa de exemplar → segmenta todos os gatos listrados correspondentes ao exemplo
Consulte informações relacionadas sobre detecção de objetos e segmentação de instâncias.
Recurso SAM 2 SAM 3 Tarefa Um único objeto por prompt Todas as instâncias de um conceito Tipos de prompt Pontos, caixas, máscaras + Frases de texto, exemplares de imagem Capacidade de detecção Requer um detector externo Detector de vocabulário aberto integrado Reconhecimento Apenas baseado em geometria Reconhecimento textual e visual Arquitetura Apenas rastreador Detector + rastreador com cabeça de presença Desempenho zero-shot N/A (requer prompts visuais) 47,0 AP no LVIS, 2× melhor no SA-Co Refinamento interativo Apenas cliques Cliques + generalização do exemplar O SAM 3 mantém a compatibilidade retroativa com os prompts visuais do SAM 2, adicionando recursos baseados em conceitos.
O SAM 3 é treinado no conjunto de dados Segment Anything com Conceitos (SA-Co):
Dados de treinamento:
- 5,2 milhões de imagens com 4 milhões de sintagmas nominais únicos (SA-Co/HQ) - anotações humanas de alta qualidade
- 52,5 mil vídeos com 24,8 mil sintagmas nominais únicos (SA-Co/VIDEO)
- 1,4 bilhão de máscaras sintéticas em 38 milhões de sintagmas nominais (SA-Co/SYN)
- 15 conjuntos de dados externos enriquecidos com negativos difíceis (SA-Co/EXT)
Dados de benchmark:
- 214 mil conceitos únicos em 126 mil imagens/vídeos
- 50× mais conceitos do que os benchmarks existentes (por exemplo, o LVIS tem ~4 mil conceitos)
- Anotação tripla no SA-Co/Gold para medir os limites do desempenho humano
Essa escala e diversidade extraordinárias permitem a generalização zero-shot superior do SAM 3 em conceitos de vocabulário aberto.
O SAM 3 e o YOLO26 atendem a diferentes casos de uso:
Vantagens do SAM 3:
- Vocabulário aberto: segmenta qualquer conceito por meio de prompts de texto, sem treinamento
- Zero-shot: funciona imediatamente em novas categorias
- Interativo: o refinamento baseado em exemplares generaliza para objetos semelhantes
- Baseado em conceitos: encontra automaticamente todas as instâncias de uma categoria
- Precisão: 47,0 AP na segmentação de instâncias zero-shot do LVIS
Vantagens do YOLO26:
- Velocidade: Inferência ordens de grandeza mais rápida, com uma cabeça opcional de ponta a ponta sem NMS
- Eficiência: modelos 539× menores (6,4 MB vs. 3,45 GB)
- Compatível com recursos limitados: funciona em dispositivos de borda e móveis
- Tempo real: otimizado para implantações em produção
Recomendação:
- Use o SAM 3 para segmentação flexível de vocabulário aberto quando precisar encontrar todas as instâncias de conceitos descritos por texto ou exemplos
- Use o YOLO26 para implantações de alta velocidade em produção quando as categorias forem conhecidas antecipadamente
- Use o SAM 2 para segmentação interativa de um único objeto com prompts geométricos
O SAM 3 foi desenvolvido para sintagmas nominais simples (por exemplo, "maçã vermelha", "pessoa usando chapéu"). Para consultas complexas que exigem raciocínio, combine o SAM 3 com um MLLM como SAM 3 Agent:
Consultas simples (SAM 3 nativo):
- "ônibus escolar amarelo"
- "gato listrado"
- "pessoa usando chapéu vermelho"
Consultas complexas (SAM 3 Agent com MLLM):
- "Pessoas sentadas, mas que não estejam segurando uma caixa de presente"
- "O cachorro mais próximo da câmera sem coleira"
- "Objetos vermelhos maiores do que a mão da pessoa"
O SAM 3 Agent alcança 76,0 gIoU na validação do ReasonSeg (contra 65,0 do melhor resultado anterior, melhoria de +16,9%) ao combinar a segmentação do SAM 3 com os recursos de raciocínio do MLLM.
No benchmark SA-Co/Gold com anotação humana tripla:
- Limite inferior humano: 74,2 CGF1 (anotador mais conservador)
- Desempenho do SAM 3: 65,0 CGF1
- Conquista: 88% do limite inferior humano estimado
- Limite superior humano: 81,4 CGF1 (anotador mais liberal)
O SAM 3 alcança um desempenho sólido, aproximando-se da precisão de nível humano na segmentação de conceitos de vocabulário aberto, com a diferença concentrada principalmente em conceitos ambíguos ou subjetivos (por exemplo, "janela pequena", "quarto aconchegante").