Tech

TinySAM: ampliando os limites para o modelo de segmentar qualquer coisa

A segmentação de objetos é um campo fundamental e extremamente importante na visão computacional moderna. Ele desempenha um papel vital em aplicações que exigem componentes visuais extensos, porquê localização e identificação de objetos, e exige segmentação em tempo real, rápida e precisa. Essa valor tornou a segmentação de objetos um tópico de pesquisa consistentemente importante, com trabalhos significativos realizados em áreas porquê segmentação de instâncias, segmentação semiologia e segmentação panóptica.

Com a evolução da segmentação de objetos, o Segment Anything Model (SAM) emergiu porquê uma utensílio notável, apresentando excelentes habilidades de segmentação e sendo rapidamente adotado em diversas aplicações de visão computacional. Estruturas que usam uma arquitetura SAM pré-treinada alcançaram um desempenho impressionante em tarefas de visão posteriores. No entanto, apesar de suas capacidades e subida precisão em tarefas de segmentação, a arquitetura complexa e pesada do SAM necessita de um poder computacional suculento, dificultando sua implementação em dispositivos computacionalmente restritos.

Enfrentando os desafios computacionais do SAM, os pesquisadores desenvolveram o Tiny Segment Anything Model (TinySAM), que mantém o desempenho zero-shot da estrutura original, ao mesmo tempo que é mais ligeiro. O TinySAM usa um método de destilação de conhecimento em estágio completo com instruções on-line para fabricar um protótipo de aluno mais eficiente. A quantização pós-treinamento adaptada a tarefas de segmentação acionáveis ​​reduz ainda mais as necessidades computacionais. Outrossim, o design do TinySAM visa a segmentação hierárquica, quase dobrando a velocidade de inferência sem comprometer o desempenho.

Levante item investiga a estrutura TinySAM, explorando seus princípios fundamentais, arquitetura e desempenho em confrontação com outras estruturas de segmentação de última geração. Vamos explorar esses aspectos com mais detalhes.

O protótipo Segment Anything ajudou no rápido progresso de vários aplicativos de visão computacional devido às suas louváveis ​​​​capacidades de segmentação, juntamente com um enorme 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 extraordinário em tarefas de segmentação de objetos com categorias e formas arbitrárias, ele serve porquê base para estruturas que executam tarefas posteriores, porquê pintura de imagens, rastreamento de objetos, visão 3D e muito mais. Outrossim, o protótipo Segment Anything também oferece um notável desempenho de segmentação zero-shot que beneficiou indústrias sensíveis que trabalham com uma quantidade limitada de dados, incluindo as indústrias de pesquisa médica e de imagens médicas.

Embora não se possa questionar as notáveis ​​capacidades de segmentação oferecidas pelo Segment Anything Model 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 custos operacionais significativos. Para um sistema rodando em uma GPU moderna, o tempo de inferência de um protótipo SAM pode chegar a 2 segundos para uma imagem de 1024×1024. Uma vez que resultado, é uma tarefa altamente difícil implementar aplicações SAM em dispositivos com capacidades computacionais limitadas. Para superar esse travanca, trabalhos recentes porquê MobileSAM e FastSAM tentaram desenvolver um protótipo SAM com maior eficiência computacional. A estrutura MobileSAM tenta substituir o componente pesado no codificador de imagem pela arquitetura da estrutura TinyViT, enquanto o protótipo FastSAM transfere a tarefa de segmento para uma tarefa de segmentação de instância com exclusivamente uma categoria com o protótipo YoloV8. Embora esses métodos tenham conseguido atingir qualquer nível de sucesso em termos de redução dos requisitos computacionais, eles não conseguiram manter o desempenho, principalmente em tarefas posteriores de disparo zero.

TinySAM ou Tiny Segment Anything Model é uma tentativa de reduzir os requisitos computacionais do protótipo SAM atual sem prejudicar o desempenho em tarefas downstream de disparo zero. Outrossim, 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 compacta de estudantes. A estrutura TinySAM destila a rede de alunos de ponta a ponta, sob a supervisão da rede de professores em diferentes estágios. Para aumentar ainda mais o desempenho, a estrutura permite que o processo de destilação atenda mais a exemplos difíceis, implementando uma estratégia suplementar de amostragem on-line. Outrossim, para reduzir ainda mais os custos computacionais, a estrutura TinySAM expõe as tarefas de segmentação acionáveis ​​a componentes de quantização pós-treinamento.

A maior segmento do requisito de operação de um protótipo Segmentar qualquer coisa é porque o protótipo gera máscaras massivas a partir dos pontos de prompt da grade para segmentar tudo na imagem. Para superar o requisito computacional desta estratégia de segmentação, a estrutura TinySAM emprega uma estratégia hierárquica de segmento tudo que quase refolho a velocidade de inferência sem degradar o desempenho. Com esses métodos empregados em sua arquitetura, a estrutura TinySAM oferece uma redução significativa nos requisitos computacionais e estabelece novos limites para tarefas eficientes de segmentação.

TinySAM: Arquitetura e Metodologia

Antes de falarmos sobre a arquitetura e metodologia do framework TinySAM, é importante primeiro dar uma olhada em seu predecessor, o framework SAM. Desde a sua introdução, o protótipo Segment Anything demonstrou notável desempenho, versatilidade e capacidades de generalização em uma variedade de tarefas de visão downstream e segmentação de objetos.

Basicamente, o protótipo 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 formato facultativo, pontos e caixas de ingresso e texto de formato livre com informações posicionais. O codificador de imagem é uma rede pesada baseada em ViT ou transformador de visão que extrai a imagem de ingresso em embeddings. O protótipo usa diferentes redes para processar os prompts geométricos e de texto. Finalmente, o decodificador de máscara contém um transformador bidirecional que recebe a saída do prompt e o codificador de imagem para gerar a previsão final da máscara. Com o conjunto de dados, a estrutura SAM demonstra notáveis ​​capacidades de segmentação de subida qualidade para objetos, independentemente da sua forma e categoria. Outrossim, o protótipo Segment Anything demonstra desempenho e eficiência notáveis ​​em tarefas de visão downstream de disparo zero, incluindo proposta de objetos, detecção de bordas, previsão de texto para máscara e segmentação de instâncias. Devido às suas habilidades de segmentação de subida qualidade e ofertas flexíveis e imediatas, as estruturas SAM formam a base para aplicações de visão. Dito isto, não se pode ignorar a subida exigência computacional da arquitetura SAM tradicional, com um grande número de parâmetros tornando quase impossível para os desenvolvedores implantarem aplicações baseadas em SAM em dispositivos com recursos limitados.

Destilação de Conhecimento

A destilação do conhecimento é uma abordagem importante para aumentar o desempenho de redes compactas durante a período de treinamento. O método de destilação de conhecimento que utiliza a saída da rede de professores para supervisionar o treinamento da rede ligeiro de alunos. O método de destilação de conhecimento pode ser dividido em duas subcategorias: destilação para recursos intermediários e destilação para resultados de rede, com a maioria dos trabalhos de pesquisa em torno da destilação de conhecimento focando em tarefas de classificação de imagens.

Dito isso, a figura a seguir demonstra a arquitetura genérica da estrutura TinySAM junto com a visão universal do desempenho em tarefas de segmentação de instância zero-shot.

No primeiro estágio, a estrutura TinySAM implementa a destilação de conhecimento projetada especificamente para a estrutura SAM e, para ativar ainda mais o processo de destilação, o protótipo usa uma amostragem on-line de hard prompt para extrair o conhecimento concreto da rede de professores para a rede de alunos. Na segunda lanço, a estrutura TinySAM adapta o método de quantização pós-treinamento para tarefas de segmentação imediata e o implementa na rede ligeiro de alunos. Finalmente, o protótipo implementa o modo de inferência de segmento hierárquico projetado para tarefas de segmentação, resultando na geminação da velocidade de inferência com perda de precisão insignificante.

Destilação de conhecimento em estágio completo

Conforme mencionado anteriormente, o protótipo Segment Anything 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 codificador de imagem construído em um transformador de visão e com altos requisitos computacionais. Para resolver esse problema, a estrutura MobileSAM substituiu o transformador de visão por um TinyViT ou Tiny Vision Transformer, embora a substituição não tenha sido eficiente devido à queda significativa no desempenho. Para prometer que não haja queda no desempenho, a estrutura TinySAM implementa um método de destilação de conhecimento em estágio completo que orienta o codificador de imagem ligeiro do nível de aprendizagem ao nível de conhecimento múltiplo. Além da perda convencional entre os rótulos verdadeiros e os resultados previstos, a estrutura TinySAM introduz numerosas perdas de destilação durante diferentes estágios, conforme mostrado na figura a seguir.

2 1

Quantização

A quantização de protótipo é uma abordagem popular em estruturas de visão computacional e é usada para compactar o protótipo quantizando pesos ou ativações de largura de filarmónica maior para menor, na tentativa de reduzir a dificuldade computacional e os requisitos de armazenamento sem degradar significativamente a qualidade da saída.

O objetivo principal da quantização no TinySAM é projetar o tensor de ponto flutuante para o tensor de número inteiro de bits usando um fator de graduação com a métrica para medir a intervalo entre a multiplicação da matriz e a matriz quantizada desempenhando um papel vital para otimizar o fator de graduação.

Segmento Hierárquico Qualquer coisa

O protótipo Segment Anything propõe o uso de um gerador automático de máscaras que modelo pontos porquê uma grade para segmentar tudo na imagem. No entanto, foi indicado que o uso de grade de pontos densos resulta em resultados de segmentação excessivamente refinados e o processo requer enormes requisitos computacionais e incorre em altos custos operacionais. Outrossim, por um lado, muitos pontos de amostragem para um objeto completo podem resultar na segmentação incorreta de diferentes seções do objeto porquê máscaras separadas, enquanto, por outro lado, o dispêndio de tempo da inferência do modo tudo se deve principalmente ao motivo de que o codificador de imagem foi reduzido significativamente. Para reduzir o dispêndio operacional do modo tudo, o framework TinySAM utiliza uma abordagem hierárquica de geração de máscara, com a diferença na estratégia com o framework SAM original demonstrada na imagem a seguir.

3 1

Dissemelhante da abordagem implementada na estrutura SAM original, o protótipo TinySAM utiliza exclusivamente 25% de pontos de cada lado, utilizando assim exclusivamente 1/16 dos pontos disponíveis na forma original. O protótipo logo infere o decodificador de máscara e o codificador de prompt com esses prompts e obtém a saída. O protótipo logo filtra algumas máscaras com crédito excedendo um determinado limite e mascara os locais correspondentes porquê áreas para possíveis previsões finais. Uma vez que o protótipo trata essas regiões porquê o resultado da segmentação de instâncias com subida crédito, não há premência de gerar prompts pontuais. A estratégia não só ajuda a evitar a segmentação excessivamente refinada do objeto, mas também ajuda a reduzir significativamente os custos operacionais e os requisitos computacionais. A estrutura logo mistura e pós-processa os resultados dessas duas rodadas para obter as máscaras finais.

TinySAM: experimentos e resultados

Para aligeirar o processo de destilação, a estrutura TinySAM calcula e armazena previamente os embeddings de imagens da rede de professores, pelo que não é mais obrigatório que o protótipo calcule repetidamente o pesado codificador de imagens da rede de professores durante a período de treinamento. Para quantização pós-treinamento, a estrutura TinySAM quantiza todas as camadas de multiplicação da matriz, as camadas de convolução, as camadas de deconvolução e as camadas lineares, com o protótipo usando fatores de graduação por meio para as camadas de convolução e deconvolução. Para as camadas de multiplicação da matriz, o protótipo implementa fatores de graduação lineares, enquanto para as camadas lineares, o protótipo implementa fatores de graduação lineares. O protótipo também realiza avaliação em tarefas downstream de disparo zero.

Para tarefas de segmentação de instâncias em uma forma zero-shot, a estrutura TinySAM segue as configurações experimentais de seu predecessor, o Segment Anything Model, e usa resultados de detecção de objetos da estrutura Vision Transformer Det-H ou VitDet-H para segmentação de instâncias. Conforme demonstrado na imagem a seguir, a estrutura TinySAM supera os métodos existentes em termos de precisão de segmentação de instâncias e pontuação de FLOPs.

4

Outrossim, o desempenho qualitativo do protótipo TinySAM é demonstrado na imagem a seguir para segmentação de instância zero-shot, com a caixa virente representando os prompts da caixa.

5

Em termos de avaliação de máscara válida de pontos zero, o protótipo TinySAM supera significativamente a estrutura MobileSAM em diferentes conjuntos de dados e oferece resultados substancialmente melhores quando um número menor de pontos é utilizado porquê prompts pela estrutura.

6

Outrossim, a tábua a seguir resume os resultados da aceleração e subtracção dos requisitos computacionais alcançados porquê resultado da estratégia do modo tudo hierárquico. O protótipo aplica a mesma pontuação de segurança e valor limite com estratégias diferentes para uma confrontação justa, e os resultados estão resumidos aquém.

7

Pensamentos finais

Neste item, falamos sobre TinySAM, uma estrutura proposta que ultrapassa os limites para segmentar qualquer tarefa e obtém uma arquitetura de protótipo eficiente com menos requisitos computacionais e precisão equivalente à estrutura SAM original. TinySAM ou Tiny Segment Anything Model que mantém e oferece o desempenho zero-shot da estrutura original. A estrutura TinySAM implementa primeiro um método de destilação de conhecimento em estágio completo que usa prompts on-line para ressumbrar um protótipo de aluno ligeiro. A estrutura TinySAM logo adapta a quantização pós-treinamento para tarefas de segmentação que podem ser solicitadas, o que ajuda ainda mais a reduzir os requisitos computacionais. Outrossim, o framework também visa segmentar tudo hierarquicamente o que quase refolho a velocidade de inferência sem afetar o desempenho.

join the future newsletter Unite AI Mobile Newsletter 1

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button