---
title: MobileSAM
canonical_url: "https://www.modelscope.cn/models/PAI/MobileSAM"
md_url: "https://www.modelscope.cn/models/PAI/MobileSAM.md"
repository: PAI/MobileSAM
last_updated: 2023-09-21
license: "Apache License 2.0"
pipeline_tag: semantic-segmentation
tasks:
  - semantic-segmentation
library_name:
  - pytorch
frameworks:
  - Pytorch
downloads: 176
stars: 5
---

# MobileSAM

> MobileSAM - PAI 在 ModelScope 开源的模型。更快分割任何东西(MobileSAM)

PAI/MobileSAM 是 ModelScope 魔搭社区上的semantic-segmentation模型，采用 Apache License 2.0 许可。

- **Repository**: PAI/MobileSAM
- **License**: Apache License 2.0
- **Tasks**: semantic-segmentation
- **Downloads**: 176
- **Stars**: 5
- **Last updated**: 2023-09-21

Source: https://www.modelscope.cn/models/PAI/MobileSAM

---

<p float="center">
  <img src="assets/logo2.png" width="99.1%" />
</p>

# MobileSAM

![MobileSAM](assets/model_diagram.jpg)

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以一个点作为提示符**
<p float="left">
  <img src="assets/mask_point.jpg" width="99.1%" />
</p>

**原始的SAM和MobileSAM用一个框作为提示符** 
<p float="left">
  <img src="assets/mask_box.jpg" width="99.1%" />
</p>

**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条目。
```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}
}
```
