【论文解读】Segment Anything 分割一切大模型(附论文地址)
论文地址https://ai.meta.com/research/publications/segment-anything/摘要这是一项新的图像分割任务、模型和数据集。我们构建了迄今为止最大的分割数据集包含超过10亿个掩码覆盖了1100万张图像。该模型被设计和训练为可提示的promptable因此它能够通过提示工程零样本迁移到新的图像分布和任务。我们在众多任务上评估了它的能力并发现它的零样本性能令人印象深刻——通常与或甚至优于以前的全监督结果。引言大型语言模型对NLP的影响预训练于网络规模数据集的大型语言模型正在彻底改变自然语言处理NLP展现出强大的零样本和少样本泛化能力。这些“基础模型”能够泛化到训练期间未见过的任务和数据分布。通过提示工程即使用文本来提示语言模型为手头的任务生成有效的文本内容这些模型的性能与微调模型相比出奇地好。图像分割的基础模型目标本项工作的目标是构建一个图像分割的基础模型即开发一个可提示的模型并在广泛的数据集上进行预训练使用一个能够实现强大泛化的任务。该模型旨在通过提示工程在新数据分布上解决一系列下游分割问题。计划的成功取决于三个关键组成部分任务、模型和数据。任务、模型和数据的相互关系任务、模型和数据的选择是相互关联的需要一个综合性的解决方案。首先定义了一个可提示的分割任务该任务足够通用能够提供强大的预训练目标并能够支持广泛的下游应用。这个任务需要一个支持灵活提示的模型并且能够实时输出分割掩码以支持交互式使用。为了训练模型需要一个多样化、大规模的数据源。由于没有现成的网络规模分割数据源因此构建了一个“数据引擎”即在数据收集和模型改进之间进行迭代。Segment Anything 任务任务定义在自然语言处理NLP中提示prompt的概念被用来指导语言模型生成特定任务的有效文本响应。我们将这一概念转化为图像分割领域提出了“可提示的分割任务”目标是给定任何分割提示prompt返回一个有效的分割掩码。这里的“提示”可以是一组前景/背景点、一个粗略的框或掩码、自由形式的文本或任何指示图像中要分割的内容的信息。有效输出掩码的要求意味着即使提示是模糊的并且可能指向多个对象例如一个点可能同时指代衬衫或穿衬衫的人输出应该是至少一个对象的合理掩码。预训练预训练算法模拟了一系列提示例如点、框、掩码对于每个训练样本并比较模型的掩码预测与真实情况。这种方法源自交互式分割但不同于交互式分割的目标是在足够用户输入后预测一个有效掩码我们的目标是即使提示是模糊的也能始终预测一个有效掩码。这确保了预训练模型在涉及模糊性的用例中有效包括我们数据引擎所需的自动注释。零样本迁移直观上预训练任务赋予模型在推理时对任何提示做出适当响应的能力因此可以通过工程化提示解决下游任务。例如如果有一个用于猫的边界框检测器可以通过将检测器的框输出作为提示提供给模型来解决猫的实例分割问题。一般来说可以通过提示将广泛的实际分割任务转化为可解决的问题。除了自动数据标注我们在实验中还探索了五个不同的示例任务。相关任务分割是一个广泛的领域包括交互式分割、边缘检测、超像素化、目标提议生成、前景分割、语义分割、实例分割、全景分割等。我们的目标是生产一个能够适应许多尽管不是全部现有和新的分割任务的通用模型通过提示工程实现。这与以前在多任务分割系统上的工作不同。在多任务系统中单个模型执行一组固定的任务例如联合语义、实例和全景分割但训练和测试任务是相同的。我们工作的一个重要区别是训练用于可提示分割的模型可以在推理时执行一个新的、不同的任务通过作为一个更大系统中的组件例如执行实例分割可提示分割模型与现有的目标检测器结合。讨论提示和组合是强大的工具使单个模型能够以可扩展的方式使用可能完成在模型设计时未知的任务。这种方法类似于其他基础模型的使用方式例如CLIP作为DALL·E图像生成系统的文字-图像对齐组件。我们预计通过提示工程等技术实现的可组合系统设计将比专门针对一组固定任务训练的系统实现更广泛的应用。同时通过组合的视角比较可提示和交互式分割也很有趣虽然交互式分割模型是针对最终用户设计的但训练用于可提示分割的模型也可以作为一个更大算法系统的一部分正如我们将展示的。Segment Anything 模型图像编码器(Image Encoder)使用基于MAE (Masked Autoencoder)预训练的Vision Transformer (ViT)能够处理高分辨率输入。图像编码器对每张图像运行一次生成图像嵌入image embedding供后续提示使用。提示编码器(Prompt Encoder)支持两种类型的提示稀疏提示包括点、框和文本。点和框通过位置编码和学习的嵌入表示文本使用CLIP的文本编码器。密集提示如掩码通过卷积处理并与图像嵌入结合。如果没有掩码提示则使用一个学习的“无掩码”嵌入。轻量级掩码解码器 (Mask Decoder)将图像嵌入和提示嵌入结合生成分割掩码。基于Transformer架构支持自注意力和交叉注意力机制能够高效地生成掩码。解码器运行两次更新图像嵌入和提示嵌入最终通过动态线性分类器生成掩码。处理模糊性多掩码输出SAM 能够为单个提示生成多个掩码以处理模糊性如一个点可能对应多个对象。默认情况下SAM 生成三个掩码分别对应整体、部分和子部分。掩码排序模型为每个掩码预测一个置信度分数基于 IoU用于排序。效率实时处理SAM 的设计注重效率图像编码器只需运行一次提示编码器和掩码解码器在浏览器中运行处理时间约为 50ms。轻量级解码器解码器的计算量仅为图像编码器的 1%确保实时交互。损失和训练损失函数使用焦点损失 (Focal Loss)和Dice 损失的线性组合来监督掩码预测IoU 预测头使用均方误差损失。训练算法模拟交互式分割设置随机采样点或框作为提示逐步优化掩码预测。每个掩码进行 11 轮迭代训练确保模型能够处理模糊提示。Segment Anything 数据引擎数据引擎是Segment Anything Model (SAM)的核心组成部分用于生成大规模、高质量的分割掩码数据集SA-1B。数据引擎分为三个阶段辅助手动阶段、半自动阶段和全自动阶段通过模型与标注员的协作逐步提高掩码的数量和质量。数据引擎的三个阶段辅助手动阶段流程专业标注员使用基于 SAM 的交互式分割工具通过点击前景/背景点来标注掩码并使用像素级工具如画笔和橡皮擦进行细化。特点标注员可以自由标注任何对象不限于特定语义类别。结果收集了 430 万掩码来自 12 万张图像平均每张图像约 20 个掩码。模型改进随着数据量的增加SAM 的性能逐步提升标注时间从每掩码 34 秒减少到 14 秒。半自动阶段流程SAM 自动生成一部分高置信度的掩码标注员专注于标注剩余的对象以增加掩码的多样性。特点通过自动生成掩码标注员可以更高效地标注复杂或难以识别的对象。结果收集了 590 万掩码来自 18 万张图像平均每张图像约 72 个掩码包括自动生成的掩码。模型改进SAM 的性能进一步提升标注时间略有增加因为剩余对象更难标注。全自动阶段流程SAM 完全自动生成掩码无需标注员参与。通过 32x32 的网格点生成掩码并使用 IoU 预测模块和稳定性过滤来确保掩码质量。特点全自动阶段依赖于 SAM 的模糊性处理能力能够生成多个有效的掩码。结果收集了 11 亿掩码来自 1100 万张图像平均每张图像约 100 个掩码。模型改进SAM 在全自动阶段生成的掩码质量高接近专业标注水平。数据引擎的关键技术模糊性处理SAM 能够为单个提示生成多个掩码以处理模糊性如一个点可能对应多个对象。通过预测多个掩码并选择最合适的掩码确保生成的结果合理。掩码过滤置信度过滤根据 SAM 预测的 IoU 分数过滤掉低置信度的掩码。稳定性过滤通过比较不同阈值下的掩码确保生成的掩码稳定。大小过滤过滤掉覆盖图像 95% 以上的掩码避免生成无意义的掩码。后处理去除小区域去除面积小于 100 像素的掩码区域。填充小孔洞填充面积小于 100 像素的掩码孔洞。数据引擎的成果SA-1B 数据集通过数据引擎的全自动阶段生成了 11 亿个高质量掩码覆盖了 1100 万张图像。掩码质量通过人工评估94% 的自动生成掩码与人工修正掩码的 IoU 超过 90%表明掩码质量接近专业标注水平。Segment Anything 数据集 (SA-1B)SA-1B 是一个大规模、高质量的分割数据集包含1100 万张图像和11 亿个掩码。该数据集通过数据引擎的全自动阶段生成旨在为计算机视觉领域的研究提供强大的基础数据支持。数据集特点图像来源图像来自第三方摄影公司均为高分辨率平均 3300x4950 像素并经过隐私保护处理如模糊人脸和车牌。多样性图像涵盖了广泛的场景和对象具有高度的多样性。发布版本为便于使用发布的图像经过下采样最短边为 1500 像素。掩码数量SA-1B 包含 11 亿个掩码平均每张图像约 100 个掩码。质量99.1% 的掩码由 SAM 全自动生成经过严格的质量控制确保高精度和多样性。评估通过人工评估94% 的自动生成掩码与人工修正掩码的 IoU交并比超过 90%表明掩码质量接近专业标注水平。数据集质量分析掩码质量通过随机采样 500 张图像约 5 万个掩码由专业标注员对自动生成的掩码进行修正。结果显示94% 的掩码对 IoU 超过 90%97% 的掩码对 IoU 超过 75%表明自动生成的掩码质量非常高。掩码属性空间分布SA-1B 的掩码中心分布比现有数据集如 LVIS、ADE20K更均匀覆盖了图像的更多角落。掩码大小SA-1B 包含更多中小型掩码反映了数据集中对象的多样性。形状复杂度SA-1B 的掩码形状复杂度与其他数据集相似表明其掩码具有合理的形状多样性。数据集的地理和收入分布地理分布SA-1B 的图像来自全球多个国家和地区覆盖了地理多样性。欧洲和亚洲及大洋洲的图像比例较高而非洲和拉丁美洲的图像比例较低。收入分布SA-1B 在中高收入国家的图像比例较高而在低收入国家的图像比例较低。尽管存在一定的偏差SA-1B 在所有地区的掩码数量都显著高于现有数据集。Segment Anything 负责任AI分析地理和收入分布地理分布SA-1B 数据集中的图像来自全球多个国家和地区覆盖了地理和经济多样性。通过图像描述推断地理位置发现 SA-1B 在欧洲和亚洲及大洋洲的图像比例较高而在非洲和低收入国家的图像比例较低。尽管存在地域不平衡SA-1B 在所有地区包括非洲的掩码数量都显著高于现有数据集。收入分布SA-1B 在中高收入国家的图像比例较高而在低收入国家的图像比例较低。与 COCO 和 Open Images 数据集相比SA-1B 在地理和收入分布上更具多样性但仍存在一定的偏差。人群分割的公平性性别表现使用MIAP (More Inclusive Annotations for People)数据集评估 SAM 在不同性别表现上的分割性能。结果显示SAM 在男性和女性上的表现相似没有显著差异。年龄群体评估 SAM 在不同年龄群体如年轻、中年、老年上的分割性能。SAM 在老年群体上的表现略好但置信区间较大差异不显著。肤色使用专有数据集评估 SAM 在不同肤色Fitzpatrick 皮肤类型 1-6上的分割性能。SAM 在不同肤色群体上的表现相似没有显著差异。服装分割的公平性评估 SAM 在服装分割上的性能重点关注不同性别和年龄群体的表现。结果显示SAM 在男性服装上的分割性能略高于女性尤其是在单点提示下。但随着提示点数的增加差异逐渐缩小。在年龄群体上SAM 的表现没有显著差异。零样本迁移实验零样本迁移是指模型在没有针对特定任务进行训练的情况下直接应用于新任务。SAM 通过提示工程Prompt Engineering实现了多种分割任务的零样本迁移。实验任务单点有效掩码评估任务从单个前景点生成有效的分割掩码。评估方法使用mIoU平均交并比和人工评估评分 1-10来衡量掩码质量。结果SAM 在 23 个数据集上表现优异尤其是在单点提示下生成的掩码质量高于基线模型如 RITM。边缘检测任务在BSDS500数据集上进行边缘检测。方法通过 16x16 的网格点生成掩码并使用 Sobel 滤波器和边缘 NMS 生成边缘图。结果尽管 SAM 未经边缘检测训练但仍能生成合理的边缘图召回率较高但精度较低。对象提议生成任务在LVIS v1数据集上生成对象提议。方法通过 64x64 的网格点生成掩码并使用 NMS 过滤冗余掩码。结果SAM 在中等和大型对象以及稀有对象上的表现优于基线模型如 ViTDet。实例分割任务在COCO和LVIS v1数据集上进行实例分割。方法使用 ViTDet 生成的边界框作为提示SAM 生成分割掩码。结果SAM 生成的掩码边界更清晰质量更高尽管在 AP平均精度上略低于 ViTDet。文本到掩码分割任务根据文本提示生成分割掩码。方法使用 CLIP 的文本编码器生成文本嵌入作为 SAM 的提示。结果SAM 能够根据简单和复杂的文本提示生成掩码尽管效果尚不完美但展示了其潜力。消融研究数据集使用 23 个多样化的分割数据集进行评估。主要评估指标为mIoU平均交并比。实验内容数据引擎阶段分析不同数据引擎阶段辅助手动、半自动、全自动对模型性能的影响。数据量分析不同数据量0.1M、1M、11M 图像对模型性能的影响。图像编码器规模分析不同图像编码器规模ViT-B、ViT-L、ViT-H对模型性能的影响。实验结果数据引擎阶段辅助手动阶段使用手动标注的掩码训练模型性能较低。半自动阶段结合自动生成和手动标注的掩码性能显著提升。全自动阶段使用全自动生成的掩码训练模型性能接近使用所有数据的结果。结论每个数据引擎阶段都带来了性能提升全自动阶段的数据量最大对模型性能的提升最为显著。数据量0.1M 图像性能显著下降表明数据量不足。1M 图像性能接近使用 11M 图像的结果表明 1M 图像已经足够训练一个高性能模型。11M 图像性能最佳但相比 1M 图像的提升有限。结论1M 图像是一个合理的实用设置能够在性能和计算成本之间取得平衡。图像编码器规模ViT-B性能较低但计算成本最低。ViT-L性能显著提升接近 ViT-H。ViT-H性能最佳但相比 ViT-L 的提升有限。结论ViT-L 是一个合理的选择能够在性能和计算成本之间取得平衡。结论该项目提出了一个新的任务promptable segmentation、模型SAM和数据集SA-1B旨在推动图像分割领域进入基础模型时代。SAM模型和SA-1B数据集的发布为计算机视觉的基础模型研究提供了新的资源。SAM在多种任务上展现了令人印象深刻的零样本性能常常与或甚至超越了以前的全监督结果。尽管SAM在某些方面不是完美的比如可能会错过一些细节结构有时会错误地产生一些小的不连续组件但它在泛化性和实时性方面表现出色。SAM的设计使其能够通过提示工程零样本迁移到新的图像分布和任务这在多个下游任务中得到了验证。SA-1B数据集的规模和多样性为训练鲁棒性和泛化能力强的模型提供了可能同时也为研究社区提供了宝贵的资源。尽管SAM在许多方面表现出色但仍有改进的空间特别是在处理文本提示和提高边界清晰度方面。硬性的标准其实限制不了无限可能的我们所以啊少年们加油吧