Explicação Detalhada da Tese de Qualquer Coisa do Segmento (SAM)

Título do artigo: Segmentar qualquer coisa

Endereço do artigo: https://arxiv.org/abs/2304.02643

Endereço de código aberto: https://github.com/facebookresearch/segment-anything

endereço de demonstração: Segment Anything | Meta AI

Contribuição principal: Desenvolver um modelo básico para segmentação de imagem, pré-treinado em um extenso conjunto de dados, para resolver uma série de problemas de segmentação downstream em novas distribuições de dados

1. Introdução

1.1 Tarefas

Inspirado no uso da técnica 'prompt' para realizar aprendizado zero e poucos tiros em novos conjuntos de dados e tarefas, um modelo interativo de segmentação de imagem é proposto, com o objetivo de retornar uma máscara de segmentação eficaz dada qualquer solicitação de segmentação (ver Fig. 1a). Uma dica apenas especifica o que segmentar na imagem e pode ser exibida com eficiência, mesmo que a dica seja ambígua e possa se referir a vários objetos, a saída deve ser uma máscara razoável de pelo menos um objeto. Use a tarefa de segmentação de dicas como objetivo de pré-treinamento e resolva a tarefa geral de segmentação de downstream por meio da engenharia de dicas.

1.2 Modelo

Codificador de dica incorpora dicas + codificador de imagem calcula incorporações de imagem + decodificador de máscara leve para prever máscaras de segmentação = Segment Anything, SAM (consulte a Figura 1b). Ao separar o SAM em um codificador de imagem e um codificador de dica rápida/decodificador de máscara, a mesma incorporação de imagem pode ser reutilizada com dicas diferentes. Dada uma incorporação de imagem, o codificador de dica e o decodificador de máscara prevêem máscaras com dicas de 50 ms em um navegador da web. Concentre-se em dicas de ponto, caixa e máscara e use dicas de texto de forma livre para exibir os resultados iniciais.

1.3 Dados

Os dados são usados ​​para treinamento do modelo e o modelo detecta dados desconhecidos para construir um "mecanismo de dados". No primeiro estágio, o SAM auxilia o anotador a anotar a máscara, semelhante à configuração de segmentação interativa clássica. No segundo estágio, o SAM pode gerar máscaras automaticamente para um subconjunto de objetos, sugerindo possíveis localizações de objetos, e o anotador se concentra nas anotações dos objetos restantes, ajudando a aumentar a diversidade de máscaras. No estágio final, solicitamos ao SAM uma grade regular de pontos de primeiro plano, resultando em uma média de 100 máscaras de alta qualidade por imagem. As 11 milhões de imagens licenciadas resultantes tinham mais de 1 bilhão de dados de máscara que respeitam a privacidade.

2. Segmente qualquer tarefa

2.1 Tarefa
Primeiro traduzimos a ideia de dicas do NLP para segmentação, onde uma dica pode ser um conjunto de pontos de primeiro plano/fundo, uma caixa ou máscara bruta, texto de forma livre ou qualquer informação que indique o que segmentar em um imagem. Retorna uma máscara de segmentação válida conforme solicitado. "Válido" significa que, mesmo que o prompt seja ambíguo e possa se referir a vários objetos (como o exemplo de camisa versus pessoa), a saída é pelo menos uma das máscaras razoáveis. Semelhante a esperar que um modelo de linguagem produza uma resposta consistente a uma sugestão ambígua. Essa tarefa leva a um algoritmo de pré-treinamento natural e a um método geral para transferir tiros zero para tarefas de segmentação downstream por meio de dicas.

2.2 Pré-treinamento

A tarefa de segmentação por sugestão propõe um algoritmo de pré-treinamento natural que simula uma sequência de dicas (por exemplo, pontos, caixas, máscaras) para cada amostra de treinamento e compara as previsões da máscara do modelo com a verdade. Nossa abordagem para segmentação interativa difere da segmentação interativa, que visa eventualmente prever uma máscara válida após entrada suficiente do usuário, nosso objetivo é sempre prever uma máscara válida para qualquer dica, mesmo que a dica seja ambígua. Isso garante que os modelos pré-treinados sejam eficazes em casos de uso envolvendo ambiguidade, incluindo a anotação automática exigida pelo processador de dados.

2.3 transferência de tiro zero

Tarefas de pré-treinamento conferem ao modelo a capacidade de responder apropriadamente a qualquer sugestão no momento da inferência, de modo que as tarefas posteriores possam ser resolvidas por sugestões apropriadas de engenharia. Por exemplo, se um detector de objetos tiver gatos, podemos resolver a segmentação da instância de gato fornecendo saídas de caixa de detecção como dicas para nosso modelo. Em geral, uma ampla gama de tarefas práticas de segmentação pode ser considerada como prompts.

2.4 Tarefas relacionadas

A segmentação é um campo amplo: segmentação interativa, detecção de borda, superpixelação, geração de região de objeto, segmentação de primeiro plano, segmentação semântica, segmentação de instância, segmentação panóptica, etc. O objetivo de nossa tarefa de segmentação pronta é construir um modelo com recursos amplos que possam ser adaptados a muitas (embora não todas) tarefas de segmentação novas e existentes por meio da engenharia de dica. Esse recurso é uma forma de generalização de tarefas. Ao contrário dos sistemas multitarefa (onde um único modelo executa um conjunto fixo de tarefas, como semântica conjunta, instância e segmentação plenóptica, com as mesmas tarefas de treinamento e teste), nossos modelos de segmentação imediata podem atuar como um de um sistema maior Componentes que executam uma tarefa nova e diferente no tempo de inferência, por exemplo, realizam segmentação de instância, um modelo de segmentação sugerido é combinado com um detector de objetos existente.

2.5 Discussão
Dicas e combinações são ferramentas poderosas que permitem que um único modelo seja usado de maneira escalável com o potencial de realizar tarefas desconhecidas no momento do projeto do modelo. Semelhante a como outros modelos básicos são usados, por exemplo, como o CLIP habilita o componente de alinhamento de imagem de texto do sistema de geração de imagens DALL E.

3. Segmente qualquer modelo

O SAM possui três componentes, conforme mostrado na Figura 4: codificador de imagem, codificador de sugestão flexível e decodificador de máscara rápida. Desenvolvemos o Vision Transformer com compensações específicas para desempenho em tempo real. como mostrado na foto

3.1 Codificador de Imagem

Com base em um método de pré-treinamento escalável e poderoso, usamos ViT pré-treinado MAE, que é minimamente adaptado para lidar com entradas de alta resolução. O codificador de imagem é executado uma vez por imagem e é aplicado antes de sugerir o modelo.

3.2 Codificador de dicas

Considere dois conjuntos de sugestões: esparso (pontos, caixas, texto) e denso (máscaras). Pontos e caixas são representados por codificações posicionais, e as incorporações aprendidas e o texto de forma livre para cada tipo de sugestão são adicionados às codificações de texto disponíveis no CLIP. Dicas densas (ou seja, máscaras) são incorporadas usando convoluções e somas elementares por meio de incorporações de imagens.

3.3 Decodificador de máscara

O decodificador de máscara mapeia com eficiência incorporações de imagens, incorporações de dicas e tokens de saída para máscaras. O design é inspirado no DETR, usando uma modificação do módulo decodificador Transformer (com uma cabeça de previsão de máscara dinâmica).

3.4 Resolvendo ambiguidade

Para uma saída, dada uma sugestão ambígua, o modelo calcula a média de várias máscaras efetivas. Para resolver isso, modificamos o modelo para prever múltiplas máscaras de saída para uma única sugestão (veja a figura abaixo, os pontos verdes são pontos de sinalização para a entrada). Descobrimos que 3 saídas de máscara são suficientes para os casos mais comuns (máscaras aninhadas geralmente têm até três profundidades: inteiro, parte e subparte). Durante o treinamento, suportamos apenas uma perda mínima [perda húngara] na máscara. Para classificar as máscaras, o modelo prevê uma pontuação de confiança (ou seja, estimativa de IoU) para cada máscara

4.  Mecanismo de dados SAM

4.1 Etapa de anotação manual assistida por modelo

4.2 Estágio semiautomático com máscaras de predição automática e anotações assistidas por modelo

4.3 Estágio totalmente automático

5. Conjuntos de dados

11 milhões de novas imagens geradas 1,1 bilhão de máscaras

7.  Experimentos de transferência de tiro zero (aí vem o nome familiar)

7.1 avaliação de máscara efetiva de ponto único de disparo zero

Tarefa: Avalie a segmentação de um objeto a partir de um único ponto de primeiro plano, pois um ponto pode se referir a vários objetos. As máscaras de rótulo na maioria dos conjuntos de dados não enumeram todas as máscaras possíveis, o que pode tornar as métricas automáticas não confiáveis. Portanto, complementamos a métrica mIoU padrão (ou seja, a média de todos os IoUs entre as máscaras de previsão e rótulo), na qual os anotadores classificam a qualidade da máscara de 1 (sem sentido) a 10 (pixel perfeito).

Conjunto de dados: Use um conjunto recém-compilado de 23 conjuntos de dados com diferentes distribuições de imagens para avaliação mIoU

7.2 Proposta de alvo tiro zero

Em seguida, avaliamos o SAM na tarefa de nível intermediário de geração de propostas de objetos. Esta tarefa tem desempenhado um papel importante na pesquisa de detecção de objetos como uma etapa intermediária em sistemas inovadores. Para gerar propostas de objetos, executamos uma versão ligeiramente modificada do pipeline de geração automática de máscaras e geramos as máscaras como propostas.
Calculamos a métrica padrão Average Recall (AR) no LVIS v1. Nós nos concentramos no LVIS porque seu grande número de categorias é um teste desafiador. Comparamos com uma linha de base forte implementada como um detector ViTDet (ViT-H com máscara em cascata R-CNN).

O SAM supera o ViTDet-H em objetos médios e grandes, bem como objetos raros e comuns, e tem desempenho inferior ao ViTDet-H em objetos pequenos e frequentes, onde o ViTDet-H pode aprender facilmente o viés de anotação específico do LVIS porque é treinado no LVIS. Também comparamos a versão borrada com ablação do SAM, que tem desempenho significativamente inferior ao SAM em todas as métricas de AR.

7.3 texto zero shot para mascarar

Por fim, consideramos uma tarefa de nível superior: segmentação de objetos a partir de texto de formato livre. Este experimento demonstra a capacidade do SAM de lidar com dicas de texto. O processo de treinamento do SAM é modificado para permitir que ele perceba o texto, mas de uma forma que não exija novas anotações de texto. Especificamente, para cada máscara coletada manualmente com uma área maior que 1002, extraímos incorporações de imagem CLIP. Então, durante o treinamento, incorporamos a imagem CLIP extraída como a primeira interação, solicitando o SAM. A principal observação aqui é que, uma vez que as incorporações de imagem do CLIP são treinadas para alinhar com incorporações de texto, podemos usar incorporações de imagem para treinamento, mas incorporações de texto para Ou seja, no momento da inferência, executamos o texto por meio do codificador de texto do CLIP e, em seguida, alimentamos as incorporações de texto resultantes no SAM como prompts. Uma dica de ponto extra pode ajudar quando o SAM não pode selecionar o objeto correto apenas com as dicas de texto.

 8. Resumo

A detecção e segmentação de alvos atingiram o pico, vamos estudar outra coisa hahaha



 

Supongo que te gusta

Origin blog.csdn.net/Zosse/article/details/130026210
Recomendado
Clasificación