Modelos e plataformas de IA
TinySAM: Empurrando os Limites para o Modelo de Segmentação de Qualquer Coisa
A segmentação de objetos é um campo fundamental e extremamente importante na visão computacional moderna. Ela desempenha um papel vital em aplicações que exigem componentes visuais extensos, como localização e identificação de objetos, e exige segmentação rápida, precisa e em tempo real. Essa importância tornou a segmentação de objetos um tópico de pesquisa quente e constante, com trabalhos significativos realizados em áreas como segmentação de instâncias, segmentação semântica e segmentação panóptica.
Com a evolução da segmentação de objetos, o Modelo de Segmentação de Qualquer Coisa (SAM) surgiu como uma ferramenta notável, demonstrando habilidades de segmentação excepcionais e sendo rapidamente adotado em diversas aplicações de visão computacional. Frameworks que utilizam a arquitetura SAM pré-treinada alcançaram desempenho impressionante em tarefas de visão downstream. No entanto, apesar de suas capacidades e alta precisão em tarefas de segmentação, a arquitetura complexa e pesada do SAM exige poder computacional substancial, dificultando sua implementação em dispositivos com recursos computacionais limitados.
Para abordar os desafios computacionais do SAM, os pesquisadores desenvolveram o Tiny Segment Anything Model (TinySAM), que mantém o desempenho de zero-shot da estrutura original, mas é mais leve. O TinySAM utiliza um método de destilação de conhecimento em estágio completo com prompts difíceis online para criar um modelo de estudante mais eficiente. A quantização pós-treinamento adaptada a tarefas de segmentação promptáveis reduz ainda mais as necessidades computacionais. Além disso, o design do TinySAM visa a segmentação hierárquica, quase dobrando a velocidade de inferência sem comprometer o desempenho.
Este artigo mergulha no framework TinySAM, explorando seus princípios fundamentais, arquitetura e desempenho em comparação com outros frameworks de segmentação de ponta. Vamos explorar esses aspectos em mais detalhes.
TinySAM: Modelo de Segmentação Eficiente de Qualquer Coisa
O Modelo de Segmentação de Qualquer Coisa ajudou no rápido progresso de várias aplicações de visão computacional devido às suas notáveis capacidades de segmentação, combinadas com um vasto conjunto de dados de segmentação que abriga mais de 11 milhões de imagens e mais de um bilhão de máscaras de imagem. Devido ao seu desempenho excepcional em tarefas de segmentação de objetos com categorias e formas arbitrárias, ele serve como base para frameworks que realizam tarefas downstream, como inpainting de imagens, rastreamento de objetos, visão 3D e mais. Além disso, o Modelo de Segmentação de Qualquer Coisa também oferece notável desempenho de segmentação de zero-shot, que beneficiou indústrias sensíveis que trabalham com uma quantidade limitada de dados, incluindo pesquisa e imagem médica.
Embora não se possa questionar as notáveis capacidades de segmentação oferecidas pelo Modelo de Segmentação de Qualquer Coisa em uma ampla gama de tarefas de visão downstream, ele tem sua desvantagem em termos de sobrecarga arquitetônica complexa, altos requisitos computacionais e significativos custos operacionais. Para um sistema executado em uma GPU moderna, o tempo de inferência de um modelo SAM pode ser tão alto quanto 2 segundos para uma imagem de 1024×1024. Como resultado, é uma tarefa extremamente difícil implementar aplicações SAM em dispositivos com recursos computacionais limitados. Para superar esse obstáculo, trabalhos recentes como MobileSAM e FastSAM tentaram desenvolver um modelo SAM com mais eficiência computacional. O framework MobileSAM tenta substituir o componente pesado no codificador de imagem com a arquitetura do framework TinyViT, enquanto o modelo FastSAM transfere a tarefa de segmentação para uma tarefa de segmentação de instâncias com apenas uma categoria com o modelo YoloV8. Embora esses métodos tenham conseguido alcançar algum nível de sucesso em termos de redução dos requisitos computacionais, eles não conseguiram manter o desempenho, especialmente em tarefas de zero-shot downstream.
TinySAM ou o Tiny Segment Anything Model é uma tentativa de reduzir os requisitos computacionais do modelo SAM atual sem comprometer o desempenho em tarefas de zero-shot downstream. Além disso, o framework TinySAM propõe implementar um método de destilação de conhecimento em estágio completo em sua arquitetura, com o objetivo de melhorar a capacidade da rede de estudante compacta. O framework TinySAM destila a rede de estudante de forma end-to-end sob a supervisão da rede de professor em diferentes estágios. Para aumentar o desempenho ainda mais, o framework permite que o processo de destilação preste mais atenção a exemplos difíceis, implementando uma estratégia adicional de amostragem de prompts difíceis online. Além disso, para reduzir ainda mais os custos computacionais, o framework TinySAM expõe as tarefas de segmentação promptáveis a componentes de quantização pós-treinamento.
A maior parte dos requisitos computacionais de um Modelo de Segmentação de Qualquer Coisa se deve ao fato de o modelo gerar máscaras maciças a partir de pontos de prompt da grade para segmentar tudo na imagem. Para superar os requisitos computacionais dessa estratégia de segmentação, o framework TinySAM emprega uma estratégia de segmentação hierárquica, que quase dobra a velocidade de inferência sem comprometer o desempenho. Com esses métodos empregados em sua arquitetura, o framework TinySAM oferece uma redução significativa nos requisitos computacionais e estabelece novos limites para tarefas de segmentação eficientes.
TinySAM: Arquitetura e Metodologia
Antes de discutirmos a arquitetura e a metodologia do framework TinySAM, é importante primeiro entender seu predecessor, o framework SAM. Desde sua introdução, o Modelo de Segmentação de Qualquer Coisa demonstrou desempenho notável, versatilidade e capacidades de generalização em uma ampla gama de tarefas de visão e segmentação de objetos downstream.
Em seu núcleo, o modelo SAM consiste em três sub-redes: o codificador de prompt, o codificador de imagem e o decodificador de máscara. O objetivo principal do codificador de prompt é codificar máscaras de forma arbitrária, pontos de entrada e caixas, e texto em forma livre com informações de posição. O codificador de imagem é uma rede pesada baseada em transformador de visão que extrai a imagem de entrada em embeddings. O modelo usa redes diferentes para processar prompts geométricos e textuais. Finalmente, o decodificador de máscara contém um transformador de duas vias que recebe a saída do codificador de prompt e do codificador de imagem para gerar a previsão final da máscara. Com o conjunto de dados, o framework SAM demonstra capacidades de segmentação de alta qualidade para objetos independentemente de sua forma e categoria. Além disso, o Modelo de Segmentação de Qualquer Coisa demonstra desempenho notável e eficiência em tarefas de visão downstream de zero-shot, incluindo proposta de objeto, detecção de bordos, previsão de máscara de texto e segmentação de instâncias. Devido às suas capacidades de segmentação de alta qualidade e ofertas de prompt flexíveis, os frameworks SAM formam a base para aplicações de visão. No entanto, não se pode ignorar os altos requisitos computacionais da arquitetura SAM tradicional, com um grande número de parâmetros, tornando quase impossível para os desenvolvedores implantar aplicações baseadas em SAM em dispositivos com recursos limitados.
Destilação de Conhecimento
A destilação de conhecimento é uma abordagem importante para aumentar o desempenho de redes compactas durante a fase de treinamento. O método de destilação de conhecimento que usa a saída da rede de professor para supervisionar o treinamento da rede de estudante leve. O método de destilação de conhecimento pode ser dividido em duas subcategorias: destilação para recursos intermediários e destilação para saídas de rede, com a maioria dos trabalhos de pesquisa sobre destilação de conhecimento se concentrando em tarefas de classificação de imagens.
Com isso dito, a figura a seguir demonstra a arquitetura genérica do framework TinySAM, juntamente com a visão geral do desempenho em tarefas de segmentação de instâncias de zero-shot.

Na primeira etapa, o framework TinySAM implementa a destilação de conhecimento projetada especificamente para o framework SAM, e para ativar o processo de destilação ainda mais, o modelo usa uma amostragem de prompts difíceis online para minerar o conhecimento difícil para a rede de estudante a partir da rede de professor. Na segunda etapa, o framework TinySAM adapta o método de quantização pós-treinamento a tarefas de segmentação promptáveis e o implementa na rede de estudante leve. Finalmente, o modelo implementa o modo de inferência de segmentação hierárquica projetado para tarefas de segmentação, resultando em uma duplicação da velocidade de inferência com perda de precisão negligenciável.
Destilação de Conhecimento em Estágio Completo
Como mencionado anteriormente, o Modelo de Segmentação de Qualquer Coisa consiste em três sub-redes em seu núcleo: o codificador de prompt, o codificador de imagem e o decodificador de máscara, com o componente do codificador de imagem construído em um transformador de visão e tendo altos requisitos computacionais. Para lidar com esse problema, o framework MobileSAM substituiu o transformador de visão por um TinyViT ou Tiny Vision Transformer, embora a substituição não tenha sido eficaz devido à decadência significativa do desempenho. Para garantir que não haja decadência do desempenho, o framework TinySAM implementa um método de destilação de conhecimento em estágio completo que orienta o codificador de imagem leve desde o nível de aprendizado até o nível de conhecimento múltiplo. Além da perda convencional entre as etiquetas de ground-truth e os resultados previstos, o framework TinySAM introduz várias perdas de destilação durante diferentes estágios, como mostrado na figura a seguir.

Quantização
A quantização de modelo é uma abordagem popular em frameworks de visão computacional e é usada para compactar o modelo quantizando pesos ou ativações de uma banda mais alta para uma banda mais baixa, tentando reduzir a complexidade computacional e os requisitos de armazenamento sem degradar significativamente a qualidade de saída.
O objetivo principal da quantização no TinySAM é projetar o tensor de ponto flutuante para o tensor de inteiro de bit usando um fator de escala, com a métrica para medir a distância entre a multiplicação de matrizes e a matriz quantizada desempenhando um papel vital para otimizar o fator de escala.
Segmentação Hierárquica
O Modelo de Segmentação de Qualquer Coisa propõe usar um gerador de máscara automático que amostra pontos como uma grade para segmentar tudo na imagem. No entanto, foi indicado que o uso de uma grade de pontos densa resulta em saídas de segmentação muito detalhadas e o processo exige requisitos computacionais maciços e incursões de alto custo operacional. Além disso, em um extremo, muitos pontos de amostragem para um objeto completo podem resultar em diferentes seções do objeto sendo segmentadas incorretamente como máscaras separadas, enquanto no outro extremo, o custo de tempo do modo de inferência de tudo é principalmente devido ao fato de o codificador de imagem ter sido reduzido significativamente. Para reduzir o custo operacional do modo de tudo, o framework TinySAM usa uma abordagem de geração de máscara hierárquica, com a diferença na estratégia com o framework SAM original demonstrada na imagem a seguir.

Diferentemente da abordagem implementada no framework SAM original, o modelo TinySAM usa apenas 25% dos pontos em cada lado, utilizando assim apenas 1/16 dos pontos disponíveis no conjunto original. O modelo então infere o decodificador de máscara e o codificador de prompt com esses prompts e obtém a saída. O modelo então filtra algumas máscaras com confiança excedendo um limiar determinado e mascara as localizações correspondentes como áreas para previsões finais potenciais. Como o modelo trata essas regiões como o resultado da segmentação de instâncias com alta confiança, não há necessidade de gerar prompts de pontos. A estratégia não apenas ajuda a prevenir a segmentação muito detalhada do objeto, mas também ajuda a reduzir significativamente os custos operacionais e os requisitos computacionais. O framework então mescla e processa os resultados dessas duas rodadas para obter as máscaras finais.
TinySAM: Experimentos e Resultados
Para acelerar o processo de destilação, o framework TinySAM calcula e armazena as embeddings de imagem do modelo de professor com antecedência, devido ao que não é mais necessário que o modelo compute o codificador de imagem pesado do modelo de professor repetidamente durante a fase de treinamento. Para a quantização pós-treinamento, o framework TinySAM quantiza todas as camadas de multiplicação de matrizes, as camadas de convolução, as camadas de desconvolução e as camadas lineares, com o modelo usando fatores de escala por canal para as camadas de convolução e desconvolução. Para as camadas de multiplicação de matrizes, o modelo implementa fatores de escala por cabeça, enquanto para as camadas lineares, o modelo implementa fatores de escala lineares. O modelo também realiza avaliação em tarefas downstream de zero-shot.
Para tarefas de segmentação de instâncias em um cenário de zero-shot, o framework TinySAM segue as configurações experimentais de seu predecessor, o Modelo de Segmentação de Qualquer Coisa, e usa os resultados de detecção de objetos do framework VitDet-H para segmentação de instâncias. Como demonstrado na imagem a seguir, o framework TinySAM supera os métodos existentes em termos de precisão de segmentação de instâncias e pontuação de FLOPs.

Além disso, o desempenho qualitativo do modelo TinySAM é demonstrado na imagem a seguir para segmentação de instâncias de zero-shot, com a caixa verde representando os prompts de caixa.

Em termos de avaliação de máscara válida de zero-shot, o modelo TinySAM supera significativamente o framework MobileSAM em diferentes conjuntos de dados e entrega resultados substancialmente melhores quando um número menor de pontos é utilizado como prompts pelo framework.

Além disso, a tabela a seguir resume os resultados da aceleração e redução nos requisitos computacionais alcançados como resultado da estratégia de modo de tudo hierárquico. O modelo aplica o mesmo escore de estabilidade e valor de limiar com diferentes estratégias para uma comparação justa, e os resultados são resumidos abaixo.

Pensamentos Finais
Neste artigo, discutimos o TinySAM, um framework proposto que empurra os limites para a segmentação de qualquer tarefa, e obtém uma arquitetura de modelo eficiente com menos requisitos computacionais e precisão igual à do framework SAM original. O TinySAM ou o Tiny Segment Anything Model mantém e entrega o desempenho de zero-shot do framework original. O framework TinySAM primeiro implementa um método de destilação de conhecimento em estágio completo que usa prompts difíceis online para destilar um modelo de estudante leve. O framework TinySAM então adapta a quantização pós-treinamento a tarefas de segmentação promptáveis, o que ajuda ainda mais a reduzir os requisitos computacionais. Além disso, o framework também visa a segmentação hierárquica, quase dobrando a velocidade de inferência sem afetar o desempenho.












