Índice
-
-
- introdução
- Introdução à estrutura geral
- Perguntas e Respostas da Dissertação
-
- No code warehouse, qual parte do modelo é convertida para o formato ONNX? E como?
- Mask decoder部分 Bloco decodificador do transformador?
- Como integrar image_embedding, image_pe, sparse_prompt_embedding e densa_prompt_embedding?
- Como os quatro tipos de prompts, pontos, caixas, texto e máscaras são incorporados na rede?
- Que tipo de tarefas têm capacidade de generalização zero-shot?
-
introdução
- Paper: Segment Anything é um algoritmo para segmentação semântica de imagens desenvolvido pela Meta. Esse algoritmo é incrível por causa de sua poderosa capacidade de generalização de tiro zero, então não dediquei tempo para aprendê-lo.
- O código do algoritmo é escrito de forma clara, concisa e formal, o que é agradável aos olhos. É muito interessante recomendar para ver o código-fonte.
- Neste artigo, vou interpretar as confusões encontradas no processo de leitura na forma de perguntas e respostas, acho que esse método é mais eficiente.
- PDF | Código
Introdução à estrutura geral
- O conjunto é dividido em três partes: codificador de imagem, codificador de prompt e decodificador de máscara. A foto abaixo é mais clara, e também é do papel.
Perguntas e Respostas da Dissertação
No code warehouse, qual parte do modelo é convertida para o formato ONNX? E como?
-
A parte mask_decoder foi convertida para o formato onnx
-
Use diretamente a interface de função do arch.onnx.export para transferir. Como a biblioteca de funções do transformador não é usada, a conversão é relativamente simples.
-
Primeiro, construa toda a parte do modelo com base na tocha e construa a entrada do modelo.
-
Chame a função arch.onnx.export para converter
-
Mask decoder部分 Bloco decodificador do transformador?
-
O cabeçalho de previsão de máscara dinâmica usado nesta parte.
-
A autoatenção imediata e a atenção cruzada são usadas em ambas as direções (incorporação de solicitação à imagem e vice-versa) para atualizar todas as incorporações.
Como integrar image_embedding, image_pe, sparse_prompt_embedding e densa_prompt_embedding?
- Isso é feito através da parte do decodificador de máscara. O bloco decodificador Transformer modificado é usado.
Como os quatro tipos de prompts, pontos, caixas, texto e máscaras são incorporados na rede?
-
pontos, caixas, texto são chamados de prompt esparso no papel. O tipo de máscaras é chamado de prompt denso
-
Pontos e caixas são representados por codificações posicionais e incorporações aprendidas para cada tipo de dica.
-
O texto é representado pelo codificador de texto do CLIP. Não vi o prompt de entrada de texto da demonstração, verifiquei isso na edição nº 93
-
A máscara é incorporada usando convolução e somada elemento a elemento com a incorporação da imagem
Que tipo de tarefas têm capacidade de generalização zero-shot?
- O modelo é treinado de maneira pronta , por isso tem capacidade de generalização zero-shot