本文来源  机器之心  编辑:陈萍、蛋酱

对于 2023 年的计算机视觉领域来说,「分割一切」(Segment Anything Model)是备受关注的一项研究进展。

8be2b620e82d2a5b0af734411cd83db6.gif

Meta四月份发布的「分割一切模型(SAM)」效果,它能很好地自动分割图像中的所有内容

Segment Anything 的关键特征是基于提示的视觉 Transformer(ViT)模型,该模型是在一个包含来自 1100 万张图像的超过 10 亿个掩码的视觉数据集 SA-1B 上训练的,可以分割给定图像上的任何目标。这种能力使得 SAM 成为视觉领域的基础模型,并在超出视觉之外的领域也能产生应用价值。

尽管有上述优点,但由于 SAM 中的 ViT-H 图像编码器有 632M 个参数(基于提示的解码器只需要 387M 个参数),因此实际使用 SAM 执行任何分割任务的计算和内存成本都很高,这对实时应用来说具有挑战性。后续,研究者们也提出了一些改进策略:将默认 ViT-H 图像编码器中的知识提炼到一个微小的 ViT 图像编码器中,或者使用基于 CNN 的实时架构降低用于 Segment Anything 任务的计算成本。

在最近的一项研究中,Meta 研究者提出了另外一种改进思路 —— 利用 SAM 的掩码图像预训练 (SAMI)。这是通过利用 MAE 预训练方法和 SAM 模型实现的,以获得高质量的预训练 ViT 编码器。

666681c18722d6b813651d4c3197380e.png

  • 论文链接:https://arxiv.org/pdf/2312.00863.pdf

  • 论文主页:https://yformer.github.io/efficient-sam/

这一方法降低了 SAM 的复杂性,同时能够保持良好的性能。具体来说,SAMI 利用 SAM 编码器 ViT-H 生成特征嵌入,并用轻量级编码器训练掩码图像模型,从而从 SAM 的 ViT-H 而不是图像补丁重建特征,产生的通用 ViT 骨干可用于下游任务,如图像分类、物体检测和分割等。然后,研究者利用 SAM 解码器对预训练的轻量级编码器进行微调,以完成任何分割任务。

为了评估该方法,研究者采用了掩码图像预训练的迁移学习设置,即首先在图像分辨率为 224 × 224 的 ImageNet 上使用重构损失对模型进行预训练,然后使用监督数据在目标任务上对模型进行微调。

通过 SAMI 预训练,可以在 ImageNet-1K 上训练 ViT-Tiny/-Small/-Base 等模型,并提高泛化性能。对于 ViT-Small 模型,研究者在 ImageNet-1K 上进行 100 次微调后,其 Top-1 准确率达到 82.7%,优于其他最先进的图像预训练基线。

研究者在目标检测、实例分割和语义分割上对预训练模型进行了微调。在所有这些任务中,本文方法都取得了比其他预训练基线更好的结果,更重要的是在小模型上获得了显著收益。

论文作者 Yunyang Xiong 表示:本文提出的 EfficientSAM 参数减少了 20 倍,但运行时间快了 20 倍,只与原始 SAM 模型的差距在 2 个百分点以内,大大优于 MobileSAM/FastSAM。

ed42e3bd9d2e266bb98c447314ddccb8.png

在 demo 演示中,点击图片中的动物,EfficientSAM 就能快速将物体进行分割:

c0230fdf35c6b2e6bcac9e7875002eaa.gif

EfficientSAM 还能准确标定出图片中的人:

083ad397f7ce12e5ff65d3a8b68eeef3.gif

试玩地址:https://ab348ea7942fe2af48.gradio.live/

方法

EfficientSAM 包含两个阶段:1)在 ImageNet 上对 SAMI 进行预训练(上);2)在 SA-1B 上微调 SAM(下)。

7060c00ba8accbba09777eb3e69ce7ec.png

EfficientSAM 主要包含以下组件:

交叉注意力解码器:在 SAM 特征的监督下,本文观察到只有掩码 token 需要通过解码器重建,而编码器的输出可以在重建过程中充当锚点(anchors)。在交叉注意力解码器中,查询来自于掩码 token,键和值源自编码器的未掩码特征和掩码特征。本文将来自交叉注意力解码器掩码 token 的输出特征和来自编码器的未掩码 token 的输出特征进行合并,以进行 MAE 输出嵌入。然后,这些组合特征将被重新排序到最终 MAE 输出的输入图像 token 的原始位置。

线性投影头。研究者通过编码器和交叉注意力解码器获得的图像输出,接下来将这些特征输入到一个小型项目头(project head)中,以对齐 SAM 图像编码器中的特征。为简单起见,本文仅使用线性投影头来解决 SAM 图像编码器和 MAE 输出之间的特征维度不匹配问题。

重建损失。在每次训练迭代中,SAMI 包括来自 SAM 图像编码器的前向特征提取以及 MAE 的前向和反向传播过程。来自 SAM 图像编码器和 MAE 线性投影头的输出会进行比较,从而计算重建损失。

57e52cf14328ffab0c43031243c52df4.png

经过预训练,编码器可以对各种视觉任务的特征表示进行提取,而且解码器也会被废弃。特别是,为了构建用于分割任何任务的高效 SAM 模型,本文采用 SAMI 预训练的轻量级编码器(例如 ViT-Tiny 和 ViT-Small)作为 EfficientSAM 的图像编码器和 SAM 的默认掩码解码器,如图所示 2(底部)。本文在 SA-1B 数据集上对 EfficientSAM 模型进行微调,以实现分割任何任务。

实验

图像分类。为了评估本文方法在图像分类任务上的有效性,研究者将 SAMI 思想应用于 ViT 模型,并比较它们在 ImageNet-1K 上的性能。

如表 1 将 SAMI 与 MAE、iBOT、CAE 和 BEiT 等预训练方法以及 DeiT 和 SSTA 等蒸馏方法进行了比较。

3de3b697b89f1755c03ff4550d2c26a3.png

SAMI-B 的 top1 准确率达到 84.8%,比预训练基线、MAE、DMAE、iBOT、CAE 和 BEiT 都高。与 DeiT 和 SSTA 等蒸馏方法相比,SAMI 也显示出较大的改进。对于 ViT-Tiny 和 ViT-Small 等轻量级模型,SAMI 结果与 DeiT、SSTA、DMAE 和 MAE 相比有显著的增益。

目标检测和实例分割。本文还将经过 SAMI 预训练的 ViT 主干扩展到下游目标检测和实例分割任务上,并将其与在 COCO 数据集上经过预训练的基线进行比较。如表 2 所示, SAMI 始终优于其他基线的性能。

c8faf20579d118a0cae7bb9ea4c1db06.png

这些实验结果表明,SAMI 在目标检测和实例分割任务中所提供的预训练检测器主干非常有效。

语义分割。本文进一步将预训练主干扩展到语义分割任务,以评估其有效性。结果如表 3 所示,使用 SAMI 预训练主干网的 Mask2former 在 ImageNet-1K 上比使用 MAE 预训练的主干网实现了更好的 mIoU。这些实验结果验证了本文提出的技术可以很好地泛化到各种下游任务。

29545d5e84019a97f02a48bf1c02b5c4.png

表 4 将 EfficientSAMs 与 SAM、MobileSAM 和 SAM-MAE-Ti 进行比较。在 COCO 上,EfficientSAM-Ti 的性能优于 MobileSAM。EfficientSAM-Ti 具有 SAMI 预训练权重,也比 MAE 预训练权重表现更好。 

此外, EfficientSAM-S 在 COCO box 仅比 SAM 低 1.5 mIoU,在 LVIS box 上比 SAM 低 3.5 mIoU,参数减少了 20 倍。本文还发现,与 MobileSAM 和 SAM-MAE-Ti 相比,EfficientSAM 在多次点击(multiple click)方面也表现出了良好的性能。

ec72313d02708811629ed8315be437ac.png

表 5 展示了零样本实例分割的 AP、APS、APM 和 APL。研究者将 EfficientSAM 与 MobileSAM 和 FastSAM 进行了比较,可以看到,与 FastSAM 相比,EfficientSAM-S 在 COCO 上获得了超过 6.5 个 AP,在 LVIS 上获得了 7.8 个 AP。就 EffidientSAM-Ti 而言,仍然远远优于 FastSAM,在 COCO 上为 4.1 个 AP,在 LVIS 上为 5.3 个 AP,而 MobileSAM 在 COCO 上为 3.6 个 AP,在 LVIS 上为 5.5 个 AP。

而且,EfficientSAM 比 FastSAM 轻得多,efficientSAM-Ti 的参数为 9.8M,而 FastSAM 的参数为 68M。

8d3f7c13077e48a303e58686ea7c2090.png

图 3、4、5 提供了一些定性结果,以便读者对 EfficientSAMs 的实例分割能力有一个补充性了解。

c31fff785ab3f0b249b00d19710016b8.png

0be1fb71cccae087d22e0f921e1d1e3e.png

f844597d12cd6fae97c41f7298b43a2a.png

更多研究细节,可参考原论文。

关注公众号【机器学习与AI生成创作】,更多精彩等你来读

卧剿,6万字!30个方向130篇!CVPR 2023 最全 AIGC 论文!一口气读完

深入浅出stable diffusion:AI作画技术背后的潜在扩散模型论文解读

深入浅出ControlNet,一种可控生成的AIGC绘画生成算法! 

经典GAN不得不读:StyleGAN

e7a3ad46aa6212a5bdbb37acfdcba056.png 戳我,查看GAN的系列专辑~!

一杯奶茶,成为AIGC+CV视觉的前沿弄潮儿!

最新最全100篇汇总!生成扩散模型Diffusion Models

ECCV2022 | 生成对抗网络GAN部分论文汇总

CVPR 2022 | 25+方向、最新50篇GAN论文

 ICCV 2021 | 35个主题GAN论文汇总

超110篇!CVPR 2021最全GAN论文梳理

超100篇!CVPR 2020最全GAN论文梳理

拆解组新的GAN:解耦表征MixNMatch

StarGAN第2版:多域多样性图像生成

附下载 | 《可解释的机器学习》中文版

附下载 |《TensorFlow 2.0 深度学习算法实战》

附下载 |《计算机视觉中的数学方法》分享

《基于深度学习的表面缺陷检测方法综述》

《零样本图像分类综述: 十年进展》

《基于深度神经网络的少样本学习综述》

《礼记·学记》有云:独学而无友,则孤陋而寡闻

点击一杯奶茶,成为AIGC+CV视觉的前沿弄潮儿!,加入 AI生成创作与计算机视觉 知识星球!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐