XYZNOT

Artigos · arXiv 2304.02643

Segment Anything

Publicado em cs.CVcs.AIcs.LG arXivPDF

Ler com tradução e IA

Resumo em três linhas

  1. 🎯 Segmentar conceitos visuais não vistos e adaptar-se a diversas tarefas posteriores de segmentação sem ajuste fino específico da tarefa.
  2. 🔧 Introduz uma tarefa de segmentação orientada por prompts, o Segment Anything Model (SAM) com um decodificador de máscaras amortizado em tempo real e um data engine em três etapas.
  3. 📈 Treinado no SA-1B (1,1 bilhão de máscaras em 11 milhões de imagens), o SAM transfere em zero-shot para detecção de bordas, geração de propostas de objetos e segmentação de instâncias, superando linhas de base interativas em 16 de 23 conjuntos de dados.

Resumo

Apresentamos o projeto Segment Anything (SA): uma nova tarefa, modelo e conjunto de dados para segmentação de imagens. Utilizando nosso modelo eficiente em um loop de coleta de dados, construímos o maior conjunto de dados de segmentação até o momento (de longe), com mais de 1 bilhão de máscaras em 11 milhões de imagens licenciadas e que respeitam a privacidade. O modelo foi projetado e treinado para aceitar prompts, permitindo que ele se transfira em regime zero-shot para novas distribuições de imagens e tarefas. Avaliamos suas capacidades em inúmeras tarefas e descobrimos que seu desempenho zero-shot é impressionante — muitas vezes competitivo ou até superior a resultados totalmente supervisionados anteriores. Estamos disponibilizando o Segment Anything Model (SAM) e o conjunto de dados correspondente (SA-1B), com 1 bilhão de máscaras e 11 milhões de imagens, em https://segment-anything.com para fomentar a pesquisa em modelos de base para visão computacional.

Resumo original (inglês)

We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we built the largest segmentation dataset to date (by far), with over 1 billion masks on 11M licensed and privacy respecting images. The model is designed and trained to be promptable, so it can transfer zero-shot to new image distributions and tasks. We evaluate its capabilities on numerous tasks and find that its zero-shot performance is impressive -- often competitive with or even superior to prior fully supervised results. We are releasing the Segment Anything Model (SAM) and corresponding dataset (SA-1B) of 1B masks and 11M images at https://segment-anything.com to foster research into foundation models for computer vision.

Guia de leitura

Problema e motivação

Modelos de base pré-treinados em dados em escala da web revolucionaram o PLN e o alinhamento visão-linguagem (por exemplo, CLIP), mas a visão computacional geral carece de um sistema fundamental capaz de uma ampla generalização zero-shot em diversas tarefas de segmentação. Os conjuntos de dados existentes para segmentação de imagens são pequenos quando comparados a corpora de imagem-texto em escala da web, e as arquiteturas convencionais de segmentação são tipicamente atreladas a classes semânticas fixas ou configurações interativas especializadas.

Para construir um modelo de base de visão para segmentação, os autores abordam simultaneamente três elementos centrais:

  1. Tarefa: Qual objetivo permite a transferência zero-shot geral?
  2. Modelo: Qual arquitetura suporta prompts flexíveis em tempo real enquanto resolve a ambiguidade visual inerente?
  3. Dados: Como máscaras de segmentação em escala da web podem ser adquiridas quando os dados da internet carecem de anotações densas de máscaras?

Ideias principais

  • Tarefa de Segmentação com Prompts (Promptable Segmentation Task): O modelo deve retornar uma máscara de segmentação válida dado qualquer prompt — como pontos de primeiro plano/fundo, caixas delimitadoras (bounding boxes), máscaras densas ou texto livre. Quando um prompt é ambíguo (por exemplo, um único ponto em uma camisa), o modelo deve produzir múltiplas máscaras hierárquicas plausíveis (subparte, parte, todo).
  • Arquitetura Amortizada Assimétrica (SAM): Um codificador de imagens computacionalmente pesado é executado uma vez por imagem para produzir um embedding, enquanto um codificador de prompts leve e um decodificador Transformer de duas camadas avaliam os prompts em em uma CPU dentro de um navegador web.
  • Data Engine em Efeito Flywheel: Um pipeline de anotação em três etapas:
    1. Manual assistido: O SAM auxilia os anotadores em um navegador, reduzindo o tempo de anotação de 34s para 14s por máscara (coletando 4,3M de máscaras).
    2. Semiautomático: O SAM detecta máscaras confiáveis para guiar os anotadores em direção a objetos não anotados e menos proeminentes (coletando 5,9M de máscaras adicionais).
    3. Totalmente automático: O SAM recebe prompts em uma grade uniforme de pontos de , além de recortes de imagem com zoom, gerando as 1,1 bilhão de máscaras no SA-1B.

Método

Arquitetura do Modelo

O SAM consiste em três componentes:

  1. Codificador de Imagem (Image Encoder): Um Vision Transformer pré-treinado com MAE (ViT-H/16 por padrão) adaptado com atenção em janela (windowed attention) e quatro blocos de atenção global, processando entradas de para produzir um embedding de com 256 canais.
  2. Codificador de Prompts (Prompt Encoder):
    • Prompts esparsos: Pontos e caixas delimitadoras são mapeados para vetores de 256 dimensões usando codificações posicionais somadas a embeddings de tipo aprendidos. O texto livre é codificado usando o codificador de texto do CLIP.
    • Prompts densos: Máscaras de entrada (em resolução menor) são reduzidas por meio de convoluções de com stride 2 e somadas elemento a elemento ao embedding da imagem.
  3. Decodificador de Máscaras (Mask Decoder): Um decodificador Transformer modificado de duas camadas. Ele atualiza os tokens de prompt e os embeddings de imagem por meio de autoatenção de prompt alternada e atenção cruzada bidirecional (tokens para imagem e imagem para tokens). Os recursos da imagem são ampliados em via convoluções transpostas, e um MLP projeta o token de saída para produzir um classificador linear dinâmico aplicado pontualmente aos recursos ampliados.

Saída e Perda Cientes de Ambiguidade

Um único prompt frequentemente descreve múltiplas estruturas aninhadas. O SAM resolve a ambiguidade prevendo 3 máscaras simultaneamente com os escores de IoU estimados correspondentes. Durante o treinamento, a retropropagação se aplica apenas à perda mínima entre as candidatas: Uma cabeça auxiliar minimiza o erro quadrático médio entre o IoU previsto e o IoU de ground truth: Quando múltiplos prompts são fornecidos, o SAM gera uma única máscara inequívoca usando um quarto token de saída dedicado.


Resultados

  • Transferência Ponto-para-Máscara Zero-Shot: Em 23 conjuntos de dados de segmentação diversos (incluindo imagens egocêntricas, subaquáticas, aéreas e de microscopia), o SAM supera o RITM em 16 de 23 conjuntos de dados usando um único prompt de ponto central (com ganhos atingindo de IoU). Quando a ambiguidade é resolvida via um seletor oracle sobre as 3 previsões do SAM, o SAM supera o RITM em todos os 23 conjuntos de dados. Avaliações humanas de qualidade classificam consistentemente o SAM de forma significativamente superior (entre 7 e 9 de 10).
  • Detecção de Bordas Zero-Shot (BSDS500): Avaliado em zero-shot usando uma grade de com filtragem Sobel e NMS de borda, o SAM atinge um ODS de 0,768 e um R50 de 0,928, apresentando desempenho competitivo com modelos supervisionados como o HED (ODS 0,788, R50 0,923).
  • Propostas de Objetos Zero-Shot (LVIS v1): O SAM atinge 59,3 de AR@1000 sem supervisão de classe, superando uma linha de base ViTDet-H totalmente supervisionada em objetos médios (81,6 vs. 80,8), objetos grandes (86,9 vs. 87,0) e categorias raras (65,8 vs. 58,3).
  • Segmentação de Instâncias Zero-Shot: Quando guiado por caixas delimitadoras do ViTDet, o SAM alcança 46,5 de AP no COCO e 44,7 de AP no LVIS. Em avaliações humanas, os anotadores classificam consistentemente as máscaras do SAM como mais limpas e de maior qualidade do que as saídas totalmente supervisionadas do ViTDet.

Limitações e questões em aberto

  • Detalhes finos e zoom extremo: O SAM pode perder estruturas ultrafinas ou produzir pequenos componentes desconectados em comparação com métodos interativos computacionalmente pesados que aplicam zoom explicitamente em recortes.
  • Latência de ponta a ponta: Embora a decodificação de prompts seja em tempo real (), a execução do pesado codificador de imagem ViT-H não é em tempo real.
  • Compreensão semântica: O SAM produz máscaras agnósticas de classe; ele não fornece nativamente rótulos de categorias semânticas ou panópticas sem classificadores externos combináveis.
  • Prompts de texto para máscara: O pipeline preliminar de prompts de texto alinhado ao CLIP em zero-shot permanece experimental e sensível em comparação com prompts geométricos.

Termos-chave

promptable segmentation task
Uma tarefa que define o objetivo de gerar uma máscara de segmentação válida a partir de prompts de entrada arbitrários, como pontos, caixas delimitadoras, máscaras ou texto.
SAM
Segment Anything Model; um modelo de visão composto por um codificador de imagens ViT pesado, um codificador de prompts e um decodificador de máscaras leve e amortizado em tempo real.
SA-1B
O conjunto de dados Segment Anything 1-Billion, contendo mais de 1,1 bilhão de máscaras geradas automaticamente em 11 milhões de imagens de alta resolução que preservam a privacidade.
data engine
A estrutura de três etapas com o modelo no loop (manual assistido, semiautomático e totalmente automático) usada para escalar a anotação de máscaras para o nível da web.
ambiguity-aware modeling
Uma escolha de design na qual o decodificador produz 3 máscaras hierárquicas e seus IoUs previstos para um único prompt, calculando os gradientes de treinamento apenas a partir da previsão de menor perda.
amortized real-time inference
Computar um embedding de imagem pesado uma vez por imagem para que as decodificações subsequentes de máscara condicionadas por prompts sejam executadas em aproximadamente 50 ms na CPU.
zero-shot transfer
Avaliar o modelo pré-treinado baseado em prompts em tarefas posteriores e distribuições de imagens não vistas usando engenharia de prompts, sem ajuste fino dos pesos.
stable mask filtering
Um filtro de qualidade que seleciona máscaras cujas formas binárias variam de maneira insignificante ao aplicar limiares nos mapas de probabilidade de logit em versus .

Perguntas

Como o SAM lida com a ambiguidade quando um único ponto pode se referir a múltiplos objetos?

O SAM gera três máscaras simultaneamente (tipicamente representando subparte, parte e todo), juntamente com escores de confiança de IoU previstos. Durante o treinamento, ele retropropaga a perda apenas da previsão com o menor erro.

As 1,1 bilhão de máscaras no SA-1B são rotuladas manualmente?

Não, 99,1% das máscaras disponibilizadas no SA-1B foram geradas de forma totalmente automática por meio de prompts aplicados ao SAM em grades de pontos uniformes em 11M de imagens, com ampla filtragem de confiança e estabilidade.

O SAM pode segmentar uma imagem com base em descrições de texto?

Sim, como uma prova de conceito exploratória. O SAM foi treinado recebendo embeddings de imagem do CLIP para máscaras como tokens de prompt durante o treinamento, o que permite que embeddings de texto do codificador de texto do CLIP forneçam prompts ao SAM no momento da inferência.

Por que o AP de máscara do SAM é menor que o do ViTDet no COCO se os humanos avaliam as máscaras do SAM como superiores?

Modelos supervisionados aprendem vieses de polígonos específicos de conjuntos de dados, artefatos de suavização de bordas e convenções amodais presentes no ground truth do COCO, enquanto o SAM em regime zero-shot produz limites visuais modais e nítidos que correspondem à percepção humana, mas sofrem penalidades de IoU contra anotações enviesadas.

A explicação desta página foi escrita por IA a partir do artigo e pode conter erros. Consulte o artigo para os detalhes.

Ler com tradução e IA