MobileSAM
1、MobileSAM是如何训练的? MobileSAM在单个GPU上使用10万个数据集(原始图像的1%)进行不到一天的训练。培训代码将很快发布。
2、如何从SAM向MobileSAM转变? 由于MobileSAM与原始SAM保持完全相同的管道,因此我们继承了原始SAM的预处理、后处理和所有其他接口。因此,假设除了一个更小的图像编码器之外,所有东西都是完全相同的,那些在他们的项目中使用原始SAM的人可以几乎不费任何努力适应MobileSAM。
3、MobileSAM的性能与原始SAM相当(至少在视觉上) 并保持与原始SAM完全相同的管道,除了图像编码器上的变化。具体来说,我们用更小的Tiny-ViT (5M)取代了原来的重量级ViT-H编码器(632M)。在单个GPU上,MobileSAM每张图像运行大约12ms:在图像编码器上运行8ms,在掩码解码器上运行4ms。
基于vit的图像编码器的比较总结如下:
Image Encoder Original SAM MobileSAM Parameters 611M 5M Speed 452ms 8ms 原始的SAM和MobileSAM具有完全相同的提示引导掩码解码器:
Mask Decoder Original SAM MobileSAM Parameters 3.876M 3.876M Speed 4ms 4ms 整个pipeline的对比总结如下:
Whole Pipeline (Enc+Dec) Original SAM MobileSAM Parameters 615M 9.66M Speed 456ms 12ms
原始SAM和MobileSAM以一个点作为提示符
原始的SAM和MobileSAM用一个框作为提示符
MobileSAM比FastSAM更快更小吗? 是的! MobileSAM比并发FastSAM小7倍,快5倍。 整个pipeline的对比总结如下:
Whole Pipeline (Enc+Dec) | FastSAM | MobileSAM |
---|---|---|
Parameters | 68M | 9.66M |
Speed | 64ms | 12ms |
MobileSAM是否比FastSAM更适合原始SAM? 是的! FastSAM建议使用多个点,因此我们将mIoU与两个提示点(不同像素距离)进行比较,结果如下:mIoU越高,对齐程度越高。
mIoU | FastSAM | MobileSAM |
---|---|---|
100 | 0.27 | 0.73 |
200 | 0.33 | 0.71 |
300 | 0.37 | 0.74 |
400 | 0.41 | 0.73 |
500 | 0.41 | 0.73 |
引用
如果您在研究中使用MobileSAM,请使用以下BibTeX条目。
@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}
}
评论