SAM 3: Segmente Qualquer Coisa com Conceitos
Agora disponível na Ultralytics
SAM está totalmente integrado no Ultralytics a partir de versão 8.3.237 (PR #22897). Instale ou atualize com pip install -U ultralytics para aceder a todas as funcionalidades SAM , incluindo segmentação de conceitos baseada em texto, prompts de exemplos de imagens e rastreamento de vídeo.

SAM 3 (Segment Anything Model 3) é o modelo fundamental lançado pela Meta para Segmentação de Conceito Promptável (PCS). Construído sobre o 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 imagem ou ambos. Ao contrário das versões anteriores do SAM que segmentam objetos individuais por prompt, o SAM 3 pode encontrar e segmentar cada ocorrência de um conceito que aparece em qualquer lugar em imagens ou vídeos, alinhando-se com os objetivos de vocabulário aberto na moderna segmentação de instâncias.
SAM está agora totalmente integrado no ultralytics pacote, fornecendo suporte nativo para segmentação de conceitos com prompts de texto, prompts de exemplos de imagens e recursos de rastreamento de vídeo.
Visão geral
O SAM 3 alcança um ganho de desempenho de 2× em relação aos sistemas existentes em Segmentação de Conceito Promptable, mantendo e aprimorando os recursos do SAM 2 para segmentação visual interativa. O modelo se destaca na segmentação de vocabulário aberto, permitindo que os usuários especifiquem conceitos usando frases nominais simples (por exemplo, "ônibus escolar amarelo", "gato listrado") ou fornecendo imagens de exemplo do objeto alvo. Esses recursos complementam os pipelines prontos para produção que dependem de fluxos de trabalho simplificados de predict e track.

O que é Segmentação de Conceito Solicitável (PCS)?
A tarefa PCS recebe um prompt de conceito como entrada e retorna máscaras de segmentação com identidades exclusivas para todas as instâncias de objetos correspondentes. Os prompts de conceito podem ser:
- Texto: Frases nominais simples como "maçã vermelha" ou "pessoa usando um chapéu", semelhante ao aprendizado zero-shot.
- Exemplares de imagem: Caixas delimitadoras em torno de objetos de exemplo (positivos ou negativos) para generalização rápida
- Combinado: Exemplares de texto e imagem juntos para um controle preciso
Isso difere dos prompts visuais tradicionais (pontos, caixas, máscaras) que segmentam apenas uma única instância de objeto específica, como popularizado pela família SAM original.
Métricas Chave de Desempenho
| Métrica | Conquista do SAM 3 |
|---|---|
| LVIS Zero-Shot Mask AP | 47,0 (vs melhor anterior 38,5, +22% de melhoria) |
| Benchmark SA-Co | 2× melhor do que os sistemas existentes |
| Velocidade de Inference (GPU H200) | 30 ms por imagem com mais de 100 objetos detectados |
| Desempenho de Vídeo | Quase em tempo real para ~5 objetos simultâneos |
| MOSEv2 VOS Benchmark | 60,1 J&F (+25,5% em relação ao SAM 2.1, +17% em relação ao SOTA anterior) |
| Refinamento Interativo | Melhora de +18,6 CGF1 após 3 prompts exemplares |
| Lacuna de Desempenho Humano | Atinge 88% do limite inferior estimado em SA-Co/Gold |
Para obter contexto sobre as métricas do modelo e as compensações na produção, consulte insights de avaliação do modelo e métricas de desempenho do YOLO.
Arquitetura
O SAM 3 consiste em um detector e tracker que compartilham um backbone de visão Perception Encoder (PE). Este design desacoplado evita conflitos de tarefas, permitindo a detecção no nível da imagem e o tracking no nível do vídeo, com uma interface compatível com o uso em python e o uso na CLI da Ultralytics.
Componentes Essenciais
Detector: Arquitetura baseada em DETR para detecção de conceito em nível de imagem
- Codificador de texto para prompts de sintagmas nominais
- Codificador exemplar para prompts baseados em imagem
- Codificador de fusão para condicionar as características da imagem em prompts
- Nova presence head que dissocia o reconhecimento ("o quê") da localização ("onde")
- Cabeça de máscara para gerar máscaras de segmentação de instâncias
Tracker: Segmentação de vídeo baseada em memória herdada do SAM 2
- Codificador de prompt, decodificador de máscara, codificador de memória
- Banco de memória para armazenar a aparência de objetos entre frames
- Desambiguação temporal auxiliada por técnicas como um filtro de Kalman em configurações multi-objeto
Token de Presença: Um token global aprendido que prevê se o conceito alvo está presente na imagem/quadro, melhorando a detecção, separando o reconhecimento da localização.

Inovações Principais
- Decoupled Recognition and Localization: O head de presença prevê a presença do conceito globalmente, enquanto as consultas de proposta se concentram apenas na localização, evitando objetivos conflitantes.
- Conceito Unificado e Prompts Visuais: Suporta PCS (prompts de conceito) e PVS (prompts visuais como cliques/caixas do SAM 2) num único modelo.
- Refinamento Interativo de Exemplares: Os usuários podem adicionar exemplares de imagem positivos ou negativos para refinar iterativamente os resultados, com o modelo generalizando para objetos semelhantes em vez de apenas corrigir instâncias individuais.
- Desambiguação Temporal: Utiliza pontuações de detecção de masklet e repetição periódica de prompts para lidar com oclusões, cenas lotadas e falhas de rastreamento em vídeo, alinhando-se com as melhores práticas de segmentação e rastreamento de instâncias.
Dataset SA-Co
O SAM 3 é treinado em Segment Anything with Concepts (SA-Co), o maior e mais diverso conjunto de dados de segmentação da Meta até o momento, expandindo-se além de benchmarks comuns como COCO e LVIS.
Dados de Treinamento
| Componente do Dataset | Descrição | Escala |
|---|---|---|
| SA-Co/HQ | Dados de imagem de alta qualidade com anotações humanas provenientes de um mecanismo de dados de 4 fases | 5.2M imagens, 4M frases nominais únicas |
| SA-Co/SYN | Conjunto de dados sintético rotulado por IA sem envolvimento humano | 38M frases nominais, 1.4B máscaras |
| SA-Co/EXT | 15 conjuntos de dados externos enriquecidos com negativos difíceis | Varia de acordo com a fonte |
| SA-Co/VIDEO | Anotações de vídeo com track temporal | 52.5K vídeos, 24.8K frases nominais únicas |
Dados de Benchmark
O benchmark de avaliação SA-Co contém 214 mil frases exclusivas em 126 mil imagens e vídeos, fornecendo mais de 50 vezes mais conceitos do que os benchmarks existentes. Inclui:
- SA-Co/Gold: 7 domínios, com anotação tripla para medir os limites do desempenho humano
- SA-Co/Silver: 10 domínios, anotação humana única
- SA-Co/Bronze e SA-Co/Bio: 9 conjuntos de dados existentes adaptados para segmentação de conceito
- SA-Co/VEval: Benchmark de vídeo com 3 domínios (SA-V, YT-Temporal-1B, SmartGlasses)
Inovações do Motor de Dados
O mecanismo de dados escalável humano e modelo-no-loop do SAM 3 alcança throughput de anotação 2× através de:
- Anotadores de IA: Modelos baseados em Llama propõem diversas frases nominais, incluindo negativos difíceis
- Verificadores de IA: LLMs multimodais ajustados verificam a qualidade e a exaustividade da máscara com desempenho quase humano
- Mineração Ativa: Concentra o esforço humano em casos de falha desafiadores onde a IA enfrenta dificuldades
- Orientado por Ontologia: Aproveita uma grande ontologia baseada no Wikidata para cobertura de conceitos
Instalação
SAM está disponível naversão 8.3.237 e posteriores Ultralytics . Instale ou atualize com:
pip install -U ultralytics
Peso necessário para o modelo SAM
Ao contrário de outros Ultralytics , SAM pondera (sam3.pt) são não é descarregado automaticamente. Você deve baixar manualmente os pesos do modelo do repositório oficial SAM antes de utilizar SAM . Coloque o ficheiro descarregado sam3.pt no seu diretório de trabalho ou especifique o caminho completo ao carregar o modelo.
Vocabulário BPE para sugestões de texto
Se pretender utilizar a segmentação de conceitos baseada em texto com SAM3SemanticPredictor, também precisa de descarregar o ficheiro de vocabulário BPE bpe_simple_vocab_16e6.txt.gz do Ativos SAM.
Como usar o SAM 3: Versatilidade na Segmentação de Conceito
SAM suporta tarefas de Segmentação de Conceitos Promptable (PCS) e Segmentação Visual Promptable (PVS) através de diferentes interfaces de preditores.
Tarefas e Modelos Suportados
O SAM 3 suporta tarefas de Promptable Concept Segmentation (PCS) e Promptable Visual Segmentation (PVS):
| Tipo de Tarefa | Tipos de Prompt | Saída |
|---|---|---|
| Segmentação de Conceito (PCS) | Texto (sintagmas nominais), exemplos de imagens | Todas as instâncias que correspondem ao conceito |
| Segmentação Visual (PVS) | Pontos, caixas, máscaras | Instância de objeto único (estilo SAM 2) |
| Refinamento Interativo | Adicionar/remover exemplares ou cliques iterativamente | Segmentação refinada com precisão aprimorada |
Exemplos de Segmentação de Conceito
Segment com Text Prompts
Segmentação de Conceito Baseada em Texto
Encontre e segment as ocorrências de um conceito usando uma descrição de texto. As solicitações de texto requerem o SAM3SemanticPredictor interface.
from ultralytics.models.sam.predict 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
)
predictor = SAM3SemanticPredictor(
overrides=overrides,
bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz", # Required for text encoding
)
# Set image once for multiple queries
predictor.set_image("path/to/image.jpg")
# Query with multiple text prompts
results = predictor(text=["person", "bus", "glasses"], save=True)
# Works with descriptive phrases
results = predictor(text=["person with red cloth", "person with blue cloth"], save=True)
# Query with a single concept
results = predictor(text=["a person"], save=True)
Requisito de codificação de texto
O bpe_path O parâmetro é necessário para a codificação do prompt de texto. Descarregue o ficheiro de vocabulário BPE a partir do bpe_vocabulário_simples_16e6.txt.gz.
Segment com Exemplares de Imagem
Segmentação Baseada em Exemplos de Imagem
Use caixas delimitadoras como dicas visuais para encontrar todas as instâncias semelhantes. Isso também requer SAM3SemanticPredictor para correspondência baseada em conceitos.
from ultralytics.models.sam.predict import SAM3SemanticPredictor
# Initialize predictor
overrides = dict(conf=0.25, task="segment", mode="predict", model="sam3.pt", half=True)
predictor = SAM3SemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")
# 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]], save=True)
# Multiple bounding boxes for different concepts
results = predictor(bboxes=[[539, 599, 589, 639], [343, 267, 499, 662]], save=True)
Inferência baseada em características para eficiência
Reutilização de recursos de imagem para várias consultas
Extraia características da imagem uma vez e reutilize-as para várias consultas de segmentação, a fim de melhorar a eficiência.
import cv2
from ultralytics.models.sam.predict 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, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")
predictor2 = SAM3SemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")
# 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
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 Conceito de Vídeo
Acompanhe conceitos em vídeos com caixas delimitadoras
Rastreamento de vídeo com prompts visuais
Detete e track instâncias track em quadros de vídeo usando prompts de caixas delimitadoras.
from ultralytics.models.sam.predict 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
Acompanhe conceitos com prompts de texto
Rastreamento de vídeo com consultas semânticas
Rastreie todas as ocorrências de conceitos especificados por texto nos fotogramas do 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)
predictor = SAM3VideoSemanticPredictor(overrides=overrides, bpe_path="path/to/bpe_simple_vocab_16e6.txt.gz")
# Track concepts using text prompts
results = predictor(source="path/to/video.mp4", text=["person", "bicycle"], stream=True, save=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,
save=True,
)
Prompts Visuais (Compatibilidade com SAM 2)
SAM mantém total compatibilidade com o prompt visual SAM para segmentação de objeto único:
SAM 2 Estilo de Prompts Visuais
O básico SAM A interface funciona exatamente como SAM , segmentando apenas a área específica indicada por avisos 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()
Sugestões visuais vs. segmentação de conceitos
Usando SAM("sam3.pt") com prompts visuais (pontos/caixas/máscaras) segment apenas o objeto específico nesse local, tal como SAM . Para segment todas as instâncias de um conceito, use SAM3SemanticPredictor com texto ou exemplos, conforme mostrado acima.
Benchmarks de Desempenho
Segmentação de Imagem
O 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 Anterior | Melhoria |
|---|---|---|---|---|
| LVIS (zero-shot) | Mask AP | 47.0 | 38.5 | +22.1% |
| SA-Co/Gold | CGF1 | 65.0 | 34.3 (OWLv2) | +89.5% |
| COCO (zero-shot) | AP da caixa | 53.5 | 52.2 (T-Rex2) | +2.5% |
| ADE-847 (seg semântica) | mIoU | 14.7 | 9.2 (APE-D) | +59.8% |
| PascalConcept-59 | mIoU | 59.4 | 58.5 (APE-D) | +1.5% |
| Cityscapes (seg. semântica) | mIoU | 65.1 | 44.2 (APE-D) | +47.3% |
Explore as opções de dataset para experimentação rápida em datasets Ultralytics.
Desempenho da Segmentação de Vídeo
O 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 Few-Shot
O SAM 3 se destaca na adaptação a novos domínios com exemplos mínimos, relevante para fluxos de trabalho de IA centrada em dados:
| Benchmark | AP 0-shot | AP 10-shot | Melhor Anterior (10-shot) |
|---|---|---|---|
| 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
O prompting baseado em conceitos com exemplos do SAM 3 converge muito mais rápido do que o visual prompting:
| Prompts Adicionados | Pontuação CGF1 | Ganho vs Apenas Texto | Ganho vs Linha de Base 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 (platô) |
Precisão na Contagem de Objetos
O SAM 3 fornece 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 SAM 3 vs SAM 2 vs YOLO
Aqui comparamos os recursos do SAM 3 com os modelos SAM 2 e YOLO11:
| Capacidade | SAM 3 | SAM 2 | YOLO11n-seg |
|---|---|---|---|
| Segmentação de Conceito | ✅ Todas as instâncias de texto/exemplares | ❌ Não suportado | ❌ Não suportado |
| Segmentação Visual | ✅ Instância única (compatível com SAM 2) | ✅ Instância única | ✅ Todas as instâncias |
| Capacidade Zero-shot | ✅ Vocabulário aberto | ✅ Prompts geométricos | ❌ Conjunto fechado |
| Refinamento Interativo | ✅ Exemplares + cliques | ✅ Apenas cliques | ❌ Não suportado |
| Video Tracking | ✅ Múltiplos objetos com identidades | ✅ Multi-objeto | ✅ Multi-objeto |
| LVIS Mask AP (zero-shot) | 47.0 | N/A | N/A |
| MOSEv2 J&F | 60.1 | 47.9 | N/A |
| Velocidade de Inference (H200) | 30 ms (mais de 100 objetos) | ~23 ms (por objeto) | 2-3 ms (imagem) |
| Tamanho do Modelo | Grande (~400+ MB esperado) | 162 MB (base) | 5.9 MB |
Principais Conclusões:
- SAM 3: Ideal para segmentação de conceito de vocabulário aberto, encontrando todas as instâncias de um conceito com texto ou prompts exemplares
- SAM 2: Ideal para segmentação interativa de objetos individuais em imagens e vídeos com prompts geométricos
- YOLO11: Ideal para segmentação em tempo real e de alta velocidade em implementações com restrições de recursos, usando pipelines de exportação eficientes como ONNX e TensorRT.
Métricas de Avaliação
O SAM 3 introduz novas métricas projetadas para a tarefa PCS, complementando medidas familiares como pontuação F1, precisão e recall.
F1 com Gate de Classificação (CGF1)
A principal métrica que combina localização e classificação:
CGF1 = 100 × pmF1 × IL_MCC
Onde:
- pmF1 (Macro F1 Positivo): Mede a qualidade da localização em exemplos positivos
- IL_MCC (Coeficiente de Correlação de Matthews no Nível da Imagem): Mede a precisão da classificação binária ("o conceito está presente?")
Por que estas métricas?
As métricas AP tradicionais não levam em conta a calibração, tornando os modelos difíceis de usar na prática. Ao avaliar apenas as previsões acima de 0,5 de confiança, as métricas do SAM 3 impõem uma boa calibração e imitam os padrões de uso do mundo real em loops interativos de predict e track.
Principais Ablações e Insights
Impacto do Cabeçalho de Presença
O presence head dissocia 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 |
O presence head fornece um aumento de +5,7 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 |
Negativos difíceis são cruciais para o reconhecimento de vocabulário aberto, melhorando o IL_MCC em 54,5% (0,44 → 0,68).
Escalonamento de Dados de Treinamento
| Fontes de Dados | CGF1 | IL_MCC | pmF1 |
|---|---|---|---|
| Apenas Externo | 30.9 | 0.46 | 66.3 |
| Externo + Sintético | 39.7 | 0.57 | 70.6 |
| Externo + HQ | 51.8 | 0.71 | 73.2 |
| Todos os três | 54.3 | 0.74 | 73.5 |
Anotações humanas de alta qualidade proporcionam grandes ganhos em relação a dados sintéticos ou externos isolados. Para obter informações sobre as práticas de qualidade de dados, consulte coleta e anotação de dados.
Aplicações
A capacidade de segmentação conceitual do SAM 3 permite novos casos de uso:
- Moderação de Conteúdo: Encontre todas as instâncias de tipos de conteúdo específicos em bibliotecas de mídia
- E-commerce: Faça a segmentação de todos os produtos de um determinado tipo em imagens de catálogo, com suporte para auto-anotação.
- Imagem Médica: Identifique todas as ocorrências de tipos de tecido ou anormalidades específicos
- Sistemas Autônomos: Rastreie todas as instâncias de sinais de trânsito, pedestres ou veículos por categoria
- Análise de Vídeo: Contar e rastrear todas as pessoas que usam roupas específicas ou realizam ações
- Anotação de Conjunto de Dados: Anote rapidamente todas as instâncias de categorias de objetos raros
- Pesquisa Científica: Quantificar e analisar todos os espécimes que correspondam a critérios específicos
Agente SAM 3: Raciocínio de Linguagem Estendido
O SAM 3 pode ser combinado com Modelos de Linguagem Grande Multimodal (MLLMs) para lidar com consultas complexas que exigem raciocínio, semelhante em espírito 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 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) |
Exemplo de Consultas Complexas
O Agente SAM 3 pode lidar com consultas que exigem raciocínio:
- "Pessoas sentadas, mas sem segurar uma caixa de presente nas mãos"
- "O cão mais próximo da câmera que não está usando coleira"
- "Objetos vermelhos maiores que a mão da pessoa"
O MLLM propõe consultas simples de frases nominais para o SAM 3, analisa as máscaras retornadas e itera até ficar satisfeito.
Limitações
Embora o SAM 3 represente um grande avanço, tem certas limitações:
- Complexidade da Frase: Mais adequado para frases nominais simples; expressões referenciais longas ou raciocínio complexo podem exigir integração com MLLM
- Manipulação de Ambiguidade: Alguns conceitos permanecem inerentemente ambíguos (por exemplo, "janela pequena", "quarto aconchegante")
- Requisitos Computacionais: Maiores e mais lentos do que modelos de detecção especializados como YOLO.
- Âmbito do vocabulário: Focado em conceitos visuais atómicos; o raciocínio composicional é limitado sem a assistência de MLLM
- Conceitos Raros: O desempenho pode se degradar em conceitos extremamente raros ou de grão fino não bem representados nos dados de treinamento
Citação
@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}
}
FAQ
Quando foi lançado SAM ?
SAM foi lançado pela Meta em 20 de novembro de 2025 e está totalmente integrado ao Ultralytics da versão 8.3.237 (PR #22897). Suporte completo está disponível para track de previsão e track
SAM está integrado ao Ultralytics?
Sim! SAM está totalmente integrado aoPython Ultralytics Python , incluindo segmentação de conceitos, prompts visuais SAM e rastreamento de vídeo de múltiplos objetos. Você pode exportar para formatos como ONNX e TensorRT para implementação, com Python e CLI .
O que é Segmentação de Conceito Solicitável (PCS)?
PCS é uma nova tarefa introduzida no SAM 3 que segment todas as instâncias de um conceito visual em uma imagem ou vídeo. Ao contrário da segmentação tradicional que tem como alvo uma instância de objeto específica, o 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 cão → segmenta todos os cães na imagem
- Combinado: "gato listrado" + caixa exemplar → segmenta todos os gatos listrados que correspondem ao exemplo
Veja informações relacionadas sobre detecção de objetos e segmentação de instâncias.
Em que o SAM 3 difere do SAM 2?
| Funcionalidade | SAM 2 | SAM 3 |
|---|---|---|
| Tarefa | Objeto único por prompt | Todas as instâncias de um conceito |
| Tipos de Prompt | Pontos, caixas, máscaras | + Frases de texto, exemplos de imagens |
| Capacidade de Detecção | Requer detector externo | Detector de vocabulário aberto integrado |
| Reconhecimento | Apenas baseado em geometria | Texto e reconhecimento visual |
| Arquitetura | Apenas Tracker | Detector + Tracker com presence head |
| Desempenho Zero-Shot | N/A (requer prompts visuais) | 47.0 AP em LVIS, 2× melhor em SA-Co |
| Refinamento Interativo | Apenas cliques | Cliques + generalização exemplar |
O SAM 3 mantém a compatibilidade com versões anteriores com o prompting visual do SAM 2, adicionando recursos baseados em conceitos.
Quais conjuntos de dados são usados para treinar o SAM 3?
O SAM 3 é treinado no conjunto de dados Segment Anything with Concepts (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 datasets 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 em SA-Co/Gold para medir os limites do desempenho humano
Essa escala e diversidade massivas permitem a generalização superior de zero-shot do SAM 3 em conceitos de vocabulário aberto.
Como o SAM 3 se compara ao YOLO11 para segmentação?
SAM 3 e YOLO11 atendem a diferentes casos de uso:
SAM 3 Vantagens:
- Vocabulário Aberto: Segmenta qualquer conceito por meio de prompts de texto sem treinamento
- Zero-shot: Funciona em novas categorias imediatamente
- Interativo: O refinamento baseado em exemplos generaliza-se a objetos semelhantes
- Baseado em Conceito: 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 YOLO11:
- Velocidade: Inferência 10-15× mais rápida (2-3ms vs 30ms por imagem)
- Eficiência: Modelos 70× menores (5,9MB vs ~400MB esperado)
- Compatível com recursos limitados: Executa em dispositivos de borda e dispositivos móveis
- Tempo real: Otimizado para implementações de produção
Recomendação:
- Use SAM 3 para segmentação flexível de vocabulário aberto, onde você precisa encontrar todas as instâncias de conceitos descritos por texto ou exemplos
- Use YOLO11 para implementações de produção de alta velocidade onde as categorias são conhecidas antecipadamente
- Use SAM 2 para segmentação interativa de objeto único com prompts geométricos
O SAM 3 consegue lidar com consultas de linguagem complexas?
O SAM 3 foi projetado para frases 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 Agente SAM 3:
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 sem segurar uma caixa de presente"
- "O cão mais próximo da câmera sem coleira"
- "Objetos vermelhos maiores que a mão da pessoa"
O Agente SAM 3 alcança 76,0 gIoU na validação ReasonSeg (vs 65,0 melhor anterior, +16,9% de melhoria) combinando a segmentação do SAM 3 com os recursos de raciocínio MLLM.
Qual a precisão do SAM 3 em comparação com o desempenho humano?
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 forte desempenho, aproximando-se da precisão de nível humano na segmentação de conceitos de vocabulário aberto, com a lacuna principalmente em conceitos ambíguos ou subjetivos (por exemplo, "janela pequena", "sala aconchegante").