Simple Science

Ciência de ponta explicada de forma simples

# Informática# Visão computacional e reconhecimento de padrões

Tornando o SAM Leve para Uso Móvel

MobileSAM mantém a funcionalidade enquanto otimiza para dispositivos móveis.

― 6 min ler


Revolução do MobileSAMRevolução do MobileSAMLevede IA poderosas.MobileSAM traz eficiência para soluções
Índice

O Modelo Segment Anything (SAM) tem chamado muita atenção porque consegue funcionar bem em várias tarefas sem precisar de treinamento específico para cada uma. Ele ajuda em coisas como editar imagens ou reconhecer objetos em fotos. Muita gente quer usar esses recursos nos celulares, mas a configuração original do SAM é pesada demais pra esses dispositivos. Este artigo vai discutir como podemos deixar o SAM mais leve e rápido para uso em celulares, mantendo seu desempenho forte.

A Necessidade de Modelos Leves

Muitos aplicativos inteligentes precisam rodar em dispositivos com recursos limitados, como os celulares. Esses aparelhos geralmente não conseguem lidar com o processamento pesado que modelos como o SAM podem exigir. Para resolver isso, é importante criar versões mais leves de modelos poderosos que ainda consigam performar bem.

O que é o SAM?

SAM significa Segment Anything Model. Ele foi criado para identificar e segmentar objetos em imagens com base em prompts dados pelos usuários, como pontos ou caixas delimitadoras. O modelo tem duas partes principais: um Codificador de Imagem, que processa a imagem pra criar uma representação digital, e um Decodificador de Máscara, que usa essa representação pra criar uma máscara em volta do objeto que tá sendo analisado. Assim, os usuários conseguem facilmente recortar e editar objetos nas imagens.

A Configuração Original

O modelo SAM original usa um codificador de imagem grande e pesado, especificamente uma versão chamada ViT-H. Esse codificador tem muitos parâmetros, o que significa que ele precisa de mais recursos computacionais e energia. Se você quiser usar o SAM em dispositivos móveis, trocar esse codificador pesado por um mais leve vai ajudar.

Desafios com o SAM

Quando tentamos criar uma versão mais leve do SAM apenas trocando o codificador de imagem, o desempenho pode sofrer. O processo original de treinamento precisa que o codificador de imagem e o decodificador de máscara sejam otimizados juntos. Isso pode trazer desafios, especialmente se não tiver muitos dados de treinamento disponíveis. O desempenho pode não atender às expectativas, o que gera a necessidade de uma abordagem diferente.

Uma Nova Abordagem: Destilação Desacoplada

Para resolver o problema de criar uma versão leve do SAM, introduzimos um novo método chamado distilação desacoplada. Essa abordagem divide o treinamento em duas etapas. Primeiro, focamos em melhorar o codificador de imagem transferindo o conhecimento do pesado ViT-H pra uma versão mais leve. Depois, podemos ajustar o decodificador de máscara pra alinhar com o novo codificador de imagem.

Dividindo o treinamento nessas duas tarefas, conseguimos simplificar o processo e alcançar um bom desempenho sem precisar de muitos recursos. O resultado é um novo modelo que chamamos de MobileSAM.

Criando o MobileSAM

O MobileSAM mantém os recursos do SAM original, mas usa um codificador de imagem mais leve, tornando-o adequado para aplicações móveis. Esse novo codificador é mais de 60 vezes menor que o original e processa imagens rapidamente, levando cerca de 10 milissegundos por imagem em uma única GPU.

O que é legal é que, apesar do tamanho menor, o MobileSAM performa tão bem quanto o SAM original, facilitando a vida dos desenvolvedores que podem integrá-lo nos projetos existentes com pouco esforço extra.

Desempenho e Velocidade

O MobileSAM não só é menor, mas também roda mais rápido que o SAM original e até mesmo que o recém-desenvolvido FastSAM. Em termos de eficiência, o MobileSAM processa imagens cerca de 5 vezes mais rápido que o FastSAM, tornando-se uma escolha fantástica para aplicações em tempo real em smartphones.

O modelo leve também pode rodar em CPUs padrão, o que significa que ele pode funcionar em dispositivos que talvez não tenham um grande poder computacional. Essa flexibilidade faz do MobileSAM uma opção viável para uma ampla gama de aplicações no espaço móvel.

Como Funciona?

A primeira parte do processo de treinamento foca em transferir conhecimento do codificador mais pesado para o mais leve. Isso é feito deixando o codificador mais leve aprender com a saída do codificador original. Uma vez que isso é concluído, então ajustamos o decodificador de máscara. Esse segundo passo é opcional, mas pode melhorar o desempenho.

O processo de destilação permite que o MobileSAM herde as fortes capacidades do SAM original enquanto reduz muito suas necessidades de recursos.

Avaliação do MobileSAM

Testes mostram que o MobileSAM consegue produzir máscaras de alta qualidade semelhantes às criadas pelo SAM original. Em cenários onde os usuários fornecem prompts, como pontos ou caixas, o MobileSAM identifica e segmenta com precisão os objetos apropriados nas imagens.

Avaliações comparativas destacam que o MobileSAM não só iguala o desempenho do SAM original, mas também consegue competir com outros modelos projetados para tarefas semelhantes, como o FastSAM.

Aplicações no Mundo Real

A capacidade de rodar o SAM em dispositivos móveis abre várias possibilidades. O MobileSAM pode ser utilizado em diversas áreas, como:

  • Imagem Médica: Permitindo que médicos identifiquem rapidamente áreas de interesse em exames.
  • Criação de Conteúdo: Ajudando artistas e designers a editar imagens em movimento.
  • Vigilância: Permitindo análise de vídeo em tempo real para segurança.
  • Realidade Aumentada: Potencializando aplicações que sobrepõem conteúdo digital ao mundo físico.

Esses são apenas alguns exemplos, mas as aplicações potenciais são amplas e variadas.

Perspectivas Futuras

À medida que a tecnologia continua a avançar, há uma grande probabilidade de que modelos como o MobileSAM se tornem ainda mais eficientes e eficazes. Pesquisas estão em andamento para criar versões ainda mais leves ou melhorar as existentes, o que pode levar a um desempenho ainda melhor no futuro.

As tendências em modelos de IA leves e amigáveis a dispositivos móveis indicam uma direção clara para fornecer ferramentas poderosas para usuários do dia a dia. O MobileSAM é um passo em direção a alcançar um equilíbrio entre capacidade e eficiência.

Resumo

Resumindo, o MobileSAM consegue um feito notável de manter a funcionalidade do modelo original Segment Anything enquanto é significativamente mais leve e rápido. A introdução da destilação desacoplada mostra que é possível otimizar modelos de IA para uso móvel sem sacrificar a qualidade.

O MobileSAM está na vanguarda das aplicações de IA móvel, mostrando a capacidade de segmentar e editar imagens rapidamente e de forma eficaz. Seu tamanho menor e tempo de processamento mais rápido fazem dele uma escolha atraente tanto para desenvolvedores quanto para usuários, prometendo aumentar a produtividade e a criatividade em várias áreas.

Com sua implementação bem-sucedida, o MobileSAM estabelece um precedente para futuros esforços na criação de sistemas de IA avançados que atendam às necessidades de dispositivos com recursos limitados, abrindo caminho para uma experiência digital mais acessível e eficiente.

Fonte original

Título: Faster Segment Anything: Towards Lightweight SAM for Mobile Applications

Resumo: Segment Anything Model (SAM) has attracted significant attention due to its impressive zero-shot transfer performance and high versatility for numerous vision applications (like image editing with fine-grained control). Many of such applications need to be run on resource-constraint edge devices, like mobile phones. In this work, we aim to make SAM mobile-friendly by replacing the heavyweight image encoder with a lightweight one. A naive way to train such a new SAM as in the original SAM paper leads to unsatisfactory performance, especially when limited training sources are available. We find that this is mainly caused by the coupled optimization of the image encoder and mask decoder, motivated by which we propose decoupled distillation. Concretely, we distill the knowledge from the heavy image encoder (ViT-H in the original SAM) to a lightweight image encoder, which can be automatically compatible with the mask decoder in the original SAM. The training can be completed on a single GPU within less than one day, and the resulting lightweight SAM is termed MobileSAM which is more than 60 times smaller yet performs on par with the original SAM. For inference speed, With a single GPU, MobileSAM runs around 10ms per image: 8ms on the image encoder and 4ms on the mask decoder. With superior performance, our MobileSAM is around 5 times faster than the concurrent FastSAM and 7 times smaller, making it more suitable for mobile applications. Moreover, we show that MobileSAM can run relatively smoothly on CPU. The code for our project is provided at \href{https://github.com/ChaoningZhang/MobileSAM}{\textcolor{red}{MobileSAM}}), with a demo showing that MobileSAM can run relatively smoothly on CPU.

Autores: Chaoning Zhang, Dongshen Han, Yu Qiao, Jung Uk Kim, Sung-Ho Bae, Seungkyu Lee, Choong Seon Hong

Última atualização: 2023-07-01 00:00:00

Idioma: English

Fonte URL: https://arxiv.org/abs/2306.14289

Fonte PDF: https://arxiv.org/pdf/2306.14289

Licença: https://creativecommons.org/licenses/by-nc-sa/4.0/

Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.

Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.

Mais de autores

Artigos semelhantes