Artigos · arXiv 2304.02643
Segment Anything
Publicado em cs.CVcs.AIcs.LG arXivPDF
Resumo em três linhas
- 🎯 Segmentar conceitos visuais não vistos e adaptar-se a diversas tarefas posteriores de segmentação sem ajuste fino específico da tarefa.
- 🔧 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.
- 📈 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:
- Tarefa: Qual objetivo permite a transferência zero-shot geral?
- Modelo: Qual arquitetura suporta prompts flexíveis em tempo real enquanto resolve a ambiguidade visual inerente?
- 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:
- 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).
- 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).
- 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:
- 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.
- 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.
- 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.