Salta para o conte√ļdo

MobileSAM Logótipo

Segmento móvel Qualquer coisa (MobileSAM)

O artigo MobileSAM está agora disponível no arXiv.

Uma demonstração de MobileSAM em execução numa CPU pode ser acedida nesta ligação de demonstração. O desempenho em uma CPU Mac i5 leva aproximadamente 3 segundos. Na demonstração Hugging Face , a interface e as CPUs de desempenho inferior contribuem para uma resposta mais lenta, mas continua a funcionar eficazmente.

MobileSAM é implementado em vários projectos, incluindo Grounding-SAM, AnyLabeling e Segment Anything in 3D.

MobileSAM √© treinado numa √ļnica GPU com um conjunto de dados de 100k (1% das imagens originais) em menos de um dia. O c√≥digo para este treino ser√° disponibilizado no futuro.

Modelos disponíveis, tarefas suportadas e modos de funcionamento

Esta tabela apresenta os modelos dispon√≠veis com os seus pesos pr√©-treinados espec√≠ficos, as tarefas que suportam e a sua compatibilidade com diferentes modos de funcionamento, como Infer√™ncia, Valida√ß√£o, Treino e Exporta√ß√£o, indicados por emojis ‚úÖ para modos suportados e emojis ‚ĚĆ para modos n√£o suportados.

Tipo de modelo Pesos pré-treinados Tarefas suportadas Inferência Validação Formação Exportação
MobileSAM mobile_sam.pt Segmenta√ß√£o de inst√Ęncias ‚úÖ ‚ĚĆ ‚ĚĆ ‚ĚĆ

Adaptação de SAM para MobileSAM

Uma vez que o MobileSAM mantém o mesmo pipeline que o SAM original, incorporámos o pré-processamento, o pós-processamento e todas as outras interfaces do original. Consequentemente, quem utiliza atualmente o SAM original pode fazer a transição para MobileSAM com um esforço mínimo.

MobileSAM tem um desempenho compar√°vel ao original SAM e mant√©m o mesmo pipeline, exceto por uma altera√ß√£o no codificador de imagem. Especificamente, substitu√≠mos o codificador ViT-H pesado original (632M) por um Tiny-ViT mais pequeno (5M). Numa √ļnica GPU, o MobileSAM funciona a cerca de 12ms por imagem: 8ms no codificador de imagem e 4ms no descodificador de m√°scara.

A tabela seguinte apresenta uma comparação dos codificadores de imagem baseados em ViT:

Codificador de imagem Original SAM MobileSAM
Par√Ęmetros 611M 5M
Velocidade 452ms 8ms

Tanto o SAM original como o MobileSAM utilizam o mesmo descodificador de m√°scaras guiado por pedidos:

Descodificador de m√°scaras Original SAM MobileSAM
Par√Ęmetros 3.876M 3.876M
Velocidade 4ms 4ms

Aqui tens a comparação de todo o gasoduto:

Todo o Pipeline (Enc+Dec) Original SAM MobileSAM
Par√Ęmetros 615M 9.66M
Velocidade 456ms 12ms

O desempenho do MobileSAM e do SAM original é demonstrado utilizando um ponto e uma caixa como prompts.

Imagem com um ponto como estímulo

Imagem com caixa como prompt

Com o seu desempenho superior, o MobileSAM é aproximadamente 5 vezes mais pequeno e 7 vezes mais rápido do que o atual FastSAM. Mais detalhes estão disponíveis na página do projetoMobileSAM .

Teste MobileSAM em Ultralytics

Tal como o original SAM, oferecemos um método de teste simples em Ultralytics, incluindo modos para os avisos Ponto e Caixa.

Descarregar o modelo

Podes descarregar o modelo aqui.

Ponto Prompt

Exemplo

from ultralytics import SAM

# Load the model
model = SAM("mobile_sam.pt")

# Predict a segment based on a point prompt
model.predict("ultralytics/assets/zidane.jpg", points=[900, 370], labels=[1])

Caixa Prompt

Exemplo

from ultralytics import SAM

# Load the model
model = SAM("mobile_sam.pt")

# Predict a segment based on a box prompt
model.predict("ultralytics/assets/zidane.jpg", bboxes=[439, 437, 524, 709])

Implement√°mos MobileSAM e SAM utilizando a mesma API. Para mais informa√ß√Ķes sobre a utiliza√ß√£o, consulta a SAM p√°gina.

Cita√ß√Ķes e agradecimentos

Se considerares o MobileSAM √ļtil no teu trabalho de investiga√ß√£o ou desenvolvimento, considera a possibilidade de citar o nosso documento:

@article{mobile_sam,
  title={Faster Segment Anything: Towards Lightweight SAM for Mobile Applications},
  author={Zhang, Chaoning and Han, Dongshen and Qiao, Yu and Kim, Jung Uk and Bae, Sung Ho and Lee, Seungkyu and Hong, Choong Seon},
  journal={arXiv preprint arXiv:2306.14289},
  year={2023}
}


Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (11), ChaoningZhang (1), Laughing-q (1)

Coment√°rios