上线一天,4k star | Facebook:Segment Anything

前言   本文介绍了Facebook AI Research的Segment Anything (SA) 项目:用于图像分割的新任务、模型和数据集。在数据收集循环中使用该模型,它构建了迄今为止最大的分割数据集,在 1100 万张许可和尊重隐私的图像上有超过 10 亿个掩码。该模型被设计和训练为可提示的,因此它可以将零样本转移到新的图像分布和任务中。

通过评估它在众多任务上的能力,它的零样本性能令人印象深刻——通常与之前完全监督的结果具有竞争力,甚至优于之前的结果。

Transformer、目标检测、语义分割交流群

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

论文:https://arxiv.org/pdf/2304.02643.pdf

项目:https://github.com/facebookresearch/segment-anything

Demo:https://segment-anything.com 

论文出发点

在大规模数据集上预训练的大型语言模型正在通过强大的零样本和少样本泛化彻底改变 NLP。本文的目标是建立图像分割的基础模型,寻求开发一个可提示的模型,并使用能够实现强大泛化的任务在广泛的数据集上对其进行预训练,用该模型使用提示工程解决新数据分布上的一系列下游分割问题。该计划的成功取决于三个组成部分:任务、模型和数据。因此,需要解决以下有关图像分割的问题:1. 什么任务将实现零样本泛化?2、对应的模型架构是怎样的?3. 哪些数据可以为这项任务和模型提供支持?

创新思路

首先定义一个可提示的分割任务,该任务足够通用以提供强大的预训练目标并支持广泛的下游应用程序。它需要一个支持灵活提示的模型,并且可以在提示时实时输出分割掩码,以供交互使用。为了训练模型,需要多样化、大规模的数据源。该模型必须支持灵活的提示,需要分摊实时计算掩码以允许交互式使用,并且必须具有歧义意识。同时,为了实现对新数据分布的强泛化,有必要在大量不同的掩码集上训练 SAM,而不是已经存在的任何分割数据集。

方法

Segment Anything Task

先将提示的概念从 NLP 转化为分割,其中提示可以是一组前景/背景点、粗略的框或遮罩、自由格式的文本,或者一般来说,任何指示要分割的内容的信息一个图像。然后,可提示的分割任务是在给定任何提示的情况下返回有效的分割掩码。“有效”掩码的要求仅仅意味着即使提示不明确并且可能指代多个对象,输出也应该是一个合理的掩码这些对象中的至少一个。此要求类似于期望语言模型对模棱两可的提示输出连贯的响应。选择这个任务是因为它会产生一个自然的预训练算法和一个通过提示将零镜头转移到下游分割任务的通用方法。每列显示 SAM 从单个模糊点提示(绿色圆圈)生成的 3 个有效掩码:

Segment Anything Model

SAM 具有三个组件:图像编码器、灵活提示编码器和快速掩码解码器。图像编码器输出一个图像embedding,然后可以通过各种输入提示有效地查询,以分摊的实时速度生成对象掩码。对于对应于多个对象的模糊提示,SAM 可以输出多个有效掩码和相关的置信度分数。同时,SAM使用中使用的focal loss 和dice loss 的线性组合来监督掩码预测,并使用几何提示的混合来训练可提示的分割任务。

Segment Anything Data Engine

作者构建了一个数据引擎来收集1.1B 掩码数据集 SA-1B。数据引擎分为三个阶段:(1) 模型辅助手动注释阶段,(2) 混合自动预测掩码和模型辅助注释的半自动阶段, (3) 全自动阶段,SAM模型在没有注释器输入的情况下生成掩码。

Segment Anything Dataset

本文数据集 SA-1B 包含 1100 万张多样化、高分辨率、许可和隐私保护图像,以及使用数据引擎收集的 1.1B 高质量分割掩码。SA-1B 比现有最大的分割数据集 Open Images 多 11 倍的图像和多 400 倍的掩码,如下图:

结果

作者使用 mIoU 对全套 23 个数据集进行自动评估。我们将每个数据集结果与 RITM 进行了比较。 SAM 在 23 个数据集中的 16 个上产生了更高的结果,高达 ∼47 IoU。下面是一些具体结果的展示~

来自 23 个不同分割数据集的样本用于评估 SAM 的零样本传输能力:

掩码评估对比:是在 23 个数据集上的掩码评估。(a) SAM 和最强的单点分割器 RITM 的平均 IoU。(b) 从 1(最差)到 10(最好)的注释者对每个数据集的掩码质量评级进行比较。所有方法都使用ground truth mask center作为提示。(c, d) 具有不同点数的 mIoU。其中,SAM 以 1 分显着优于之前的交互式分割器,并且与更多点持平。

边缘检测任务:随后在BSDS500 上的零镜头进行边缘检测结果可视化,SAM 没有接受过预测边缘图的训练,也没有在训练期间访问 BSDS 图像或注释。

在BSDS500 上的边缘检测零样本传输对比情况:

目标检测对比情况:

实例分割对比情况:

可视化:

数据引擎阶段、图像编码器缩放和训练数据缩放的消融研究的消融实验:

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

模型部署交流群:732145323。用于计算机视觉方面的模型部署、高性能计算、优化加速、技术学习等方面的交流。

其它文章

Efficient-HRNet | EfficientNet思想+HRNet技术会不会更强更快呢?

实践教程|GPU 利用率低常见原因分析及优化

ICLR 2023 | SoftMatch: 实现半监督学习中伪标签的质量和数量的trade-off

目标检测创新:一种基于区域的半监督方法,部分标签即可(附原论文下载)

CNN的反击!InceptionNeXt: 当 Inception 遇上 ConvNeXt

神经网络的可解释性分析:14种归因算法

无痛涨点:目标检测优化的实用Trick

详解PyTorch编译并调用自定义CUDA算子的三种方式

深度学习训练模型时,GPU显存不够怎么办?

CV各大方向专栏与各个部署框架最全教程整理

计算机视觉入门1v3辅导班

计算机视觉各个方向交流群

猜你喜欢

转载自blog.csdn.net/KANG157/article/details/130031306