MobileSAMv2: Segmentação Rápida de Qualquer Coisa para Tudo
MobileSAMv2: Faster Segment Anything to Everything
December 15, 2023
Autores: Chaoning Zhang, Dongshen Han, Sheng Zheng, Jinwoo Choi, Tae-Ho Kim, Choong Seon Hong
cs.AI
Resumo
O modelo Segment Anything (SAM) aborda duas tarefas práticas, porém desafiadoras, de segmentação: segmentar qualquer coisa (SegAny), que utiliza um ponto específico para prever a máscara de um único objeto de interesse, e segmentar tudo (SegEvery), que prevê as máscaras para todos os objetos na imagem. O que torna o SegAny lento para o SAM é seu codificador de imagem pesado, que foi otimizado pelo MobileSAM por meio de destilação de conhecimento desacoplada. No entanto, o gargalo de eficiência do SegEvery com o SAM está em seu decodificador de máscaras, pois ele precisa primeiro gerar várias máscaras com prompts redundantes de busca em grade e, em seguida, realizar filtragem para obter as máscaras válidas finais. Propomos melhorar sua eficiência gerando diretamente as máscaras finais com apenas prompts válidos, que podem ser obtidos por meio de descoberta de objetos. Nossa abordagem proposta não apenas ajuda a reduzir o tempo total no decodificador de máscaras em pelo menos 16 vezes, mas também alcança um desempenho superior. Especificamente, nossa abordagem resulta em um aumento médio de desempenho de 3,6% (42,5% vs. 38,9%) para a proposta de objetos zero-shot no conjunto de dados LVIS com a métrica AR@K de máscaras. Resultados qualitativos mostram que nossa abordagem gera máscaras de granularidade fina, evitando a super-segmentação de objetos. Este projeto, que visa um SegEvery mais rápido que o SAM original, é denominado MobileSAMv2 para diferenciá-lo do MobileSAM, que visa um SegAny mais rápido. Além disso, demonstramos que nossa nova amostragem de prompts também é compatível com os codificadores de imagem destilados no MobileSAM, contribuindo para um framework unificado para SegAny e SegEvery eficientes. O código está disponível no mesmo link do Projeto MobileSAM: https://github.com/ChaoningZhang/MobileSAM.
English
Segment anything model (SAM) addresses two practical yet challenging
segmentation tasks: segment anything (SegAny), which utilizes a
certain point to predict the mask for a single object of interest, and
segment everything (SegEvery), which predicts the masks for all
objects on the image. What makes SegAny slow for SAM is its heavyweight image
encoder, which has been addressed by MobileSAM via decoupled knowledge
distillation. The efficiency bottleneck of SegEvery with SAM, however, lies in
its mask decoder because it needs to first generate numerous masks with
redundant grid-search prompts and then perform filtering to obtain the final
valid masks. We propose to improve its efficiency by directly generating the
final masks with only valid prompts, which can be obtained through object
discovery. Our proposed approach not only helps reduce the total time on the
mask decoder by at least 16 times but also achieves superior performance.
Specifically, our approach yields an average performance boost of 3.6\% (42.5\%
v.s. 38.9\%) for zero-shot object proposal on the LVIS dataset with
the mask AR@K metric. Qualitative results show that our approach generates
fine-grained masks while avoiding over-segmenting things. This project
targeting faster SegEvery than the original SAM is termed MobileSAMv2 to
differentiate from MobileSAM which targets faster SegAny. Moreover, we
demonstrate that our new prompt sampling is also compatible with the distilled
image encoders in MobileSAM, contributing to a unified framework for efficient
SegAny and SegEvery. The code is available at the same link as MobileSAM
Project
https://github.com/ChaoningZhang/MobileSAM{red{https://github.com/ChaoningZhang/MobileSAM}}.
abstract