CV又卷起来了!Meta AI开源万物可分割AI模型,11亿+掩码数据集可提取
4月6日,根据Meta AI官方博客,Meta AI宣布推出了一个AI模型Segment Anything Model(SAM,分割一切模型)。据介绍,该模型能够根据文本指令等方式实现图像分割,而且万物皆可识别和一键抠图。
图像分割——即识别出图像中的哪些像素隶属于同一对象——是计算机视觉领域的一项核心任务,在科学图像分析、照片编辑等各类场景中拥有广泛应用。但为特定任务创建精准分割模型是一项需要由技术专家精心处理的高度专业化工作,往往需要结合AI训练基础设施和大量精确标注的域内数据才能实现。
Meta AI表示,推出Segment Anything项目的目的是为了实现分割技术的大众化:“正如我们在研究论文中做出的解释,这是一套用于图像分割的新型任务、数据集与模型。除通用Segment Anything模型(SAM)之外,我们还发布了Segment Anything 1-Billion(SA-1B)掩码数据集。作为有史以来体量最大的分割数据集,Segment Anything能够支持广泛的应用场景,并助力计算机视觉基础模型的进一步研究。我们正使用SA-1B数据集用于研究目的,且Segment Anything模型在开放许可(Apache 2.0)下开放。”
SAM的核心目标是什么?
Segment Anything项目的核心目标,就是减少特定任务对于建模专业往右、训练计算量和图像分割中自定义数据标注的需求。为了实现这个目标,Meta AI团队希望建立一套图像分割基础模型:这是一个可提示模型,在不同数据集上接受训练并能够适应特定任务,类似于在自然语言处理模型中通过揭示词进行生成的方式。但与互联网上丰富的图像、视频和文本形成鲜明反差,训练图像分割模型所需要的数据在网上并不容易获取。因此,研究人员在Segment Anything项目中还同步开发了一套通用的可提示分割模型,用它创建出一套规模空前的分割数据集。
SAM已经能够理解对象的一般概念,可以为任意图像或视频中的任何对象生成掩码,甚至支持它在训练期间从未见过的对象和图像类型。SAM的通用性足以涵盖广泛用例,并可开箱即用于新的图像“领域”——包括水下照片和细胞显微镜图像,无需任何额外训练(即所谓「零样本迁移」)。
未来,SAM能够在各种需要通过图像查找并分割任意对象的应用中发挥作用。对于AI研究社区及其他关注者而言,SAM还可成为更大AI系统中的组成部分,用于对真实世界做更加普遍化的多模态理解,包括理解网页的视觉与文本内容。在AR/VR领域,SAM可根据用户的视线选择对象,再将其“升维”为3D形式。对于内容创作者,SAM可用于改进创意应用,例如提取图像区域以执行拼贴或编辑视频。SAM还可用于帮助地球乃至太空环境下的自然事件做科学研究,例如定位视频中的动物或物体以开展跟踪和研究。Meta AI团队称,他们相信Segment Anything中蕴藏着巨大的可能性,也对这些目前甚至难以想象的潜在用例感到无比兴奋。
Segment Anything的提示设计可与其他系统灵活集成。SAM能够接收输入提示,例如来自AR/VR头显用户的视线信息。
SAM说到底是一种通用的图像分割方法
以往,要解决任何图像分割问题,我们只能选择两类方法。其一是交互式分割,虽然允许分割任意类别的对象,但需要由人类迭代细化掩码来做引导。其二是自动分割,可以提前定义特定的对象类别(例如小猫或椅子),但需要大量的手动标注对象以完成训练(例如提供成千上万的小猫图像分割示例),并配合大量计算资源和专业知识以训练分割模型。这两种方法都无法提供真正通用的全自动分割方法。
SAM是对这两类方法的汇总。作为单一模型,它能够轻松完成交互式分割和自动分割。该模型的可提示界面(后文将具体介绍)提供灵活的使用方式,只需为模型设计正确的提示线索(点击、框选、文本等)即可完成广泛的分割任务。此外,SAM在包含超过10亿个掩码的多样化、高质量数据集(作为项目的一部分)上接受训练,其分割功能可以泛化到新的对象和图像类型当中,远超其在训练期间实际观察过的内容。这种良好的泛化能力,意味着从业者一般不需要自行收集细分数据来针对特定用例做模型微调。
总而言之,这些功能让SAM得以泛化到新的任务和领域当中,实现了图像分割领域前所未见的功能灵活性。
SAM的工作原理:提示分割
在自然语言处理和最近的计算机视觉领域,最令人兴奋的发展成果之一在于基础模型。这些基础模型能够使用“提示”技术对新数据集和任务执行零样本和少样本学习。Meta AI团队也从这方面进展中汲取了灵感。
经过训练,SAM能够根据任何提示返回有效的分割掩码,包括前景/背景点、粗框或掩码、自由格式文本等一切能够指示图像内分割内容的信息。即使提示不够明确且可能指代多个对象(例如指向衬衫上的一个点可能代表衬衫本体,也可能代表穿着衬衫的人),输出也应合理有效。Meta AI团队通过这项任务对模型进行预训练,引导其通过提示解决常规的下游分割任务。
研究人员观察到,预训练任务和交互式数据集对模型设计施加了特定约束。具体来讲,该模型需要在网络浏览器的CPU上实时运行,这样标注者才能与SAM实时交互并高效进行标注。虽然运行时约束意味着要在质量和运行时间之间取得权衡,但他们发现简单的设计在实践中能够取得良好结果。
在工作原理层面,图像编码器会为图像生成一次性嵌入,而轻量级编码器则将所有提示实时转换为嵌入向量。之后,将这两个信息源组合在一个负责预测分割掩码的轻量级解码器内。在计算图像嵌入之后,SAM能够在50毫秒内根据网络浏览器中的任意提示生成相应分割。
在网络浏览器中,SAM能够有效将图像特征与一组提示嵌入映射起来,借此生成分割掩码。
10亿分割掩码:我们如何构建SA-1B
为了训练模型,需要大量更多样的数据源,但这些在工作之初并不存在。Meta AI此次发布的分割数据集是迄今为止体量最大的,且数据收集同样由SAM完成。具体来讲,标注者使用SAM以交互方式标记图像,之后使用新标注的数据依次更新SAM。通过多次重复此循环,以迭代方式改进模型和数据集。
使用SAM,分割掩码的收集速度远超以往任何时候。使用该工具,只需约14秒即可以交互方式标注掩码。每个掩码标注过程的耗时仅相当于标注边界框的2倍,后者在使用最快的注释界面时也需要约7秒。与之前的大规模分割数据收集工作相比,SAM模型比COCO全手动多边形掩码标注快6.5倍,较之前规模最大的模型辅助数据标注工作快2倍。
然而,单靠交互式注释掩码并不足以充分扩展至需要的10亿掩码数据集。因此,Meta AI团队构建了一套数据引擎以创建SA-1B数据集。该数据引擎具有三个“挡位”:一挡为模型协助标注器,如前文所述;二挡是全自动标注与辅助标注混合选项,有助于增加收集掩码的多样性;数据引擎的第三挡则是全自动掩码创建,可帮助实现数据集扩展。
最终,数据集包含从约1100万许可和隐私保护图像上收集到的超11亿个分割掩码。SA-1B的掩码比任何现有分割数据集都多出400倍,而且经过人工评估证实,这些掩码质量出色、多样性丰富,在某些情况下在质量上甚至可以媲美之前体量较小、纯由手动标注的掩码数据集。
Segment Anything的功能,是利用数据引擎收集的数百万张图像与掩码进行训练的结果。最终成果是一套包含超10亿个分割掩码的数据集,比以往任何分割数据集都要大出400倍。
SA-1B的图像来自多个国家/地区的照片提供商,其跨越不同地理区域和收入水平。虽然Meta AI团队意识到某些地理区域的代表性仍然不足,但与以往的分割数据集相比,SA-1B拥有更多图像、对所有地区的总体代表性也更好。此外,Meta AI团队还分析了模型在性别认知、肤色认知和年龄范围认知方面的潜在偏见,发现SAM在不同群体间的表现比较统一。Meta AI团队希望这能让他们的工作成果更公平地服务于真实世界中的用例。
展望未来
未来,SAM可通过AR眼镜识别日常物品,并向用户发出提醒和提示。
SAM拥有广泛的潜在影响范围,也许有一天能帮助农牧业和生物学家开展研究。
最后,Meta AI团队表示,“通过共享我们的研究和数据集,我们希望进一步加快对分割、乃至其他更具普遍性的图像和视频理解的研究。我们的可提示分割模型可以充当大体量系统中的组件以执行图像分割任务。通过组合方式,大家将能够以可扩展方式使用单个模型,完成模型在设计之初并未考虑到的应用。我们预计由提示工程等技术实现的可组合系统设计,将比特定一组面向固定任务训练的系统具备更广阔的功能空间,也有望让SAM在AR/VR、内容创造、科学研究和通用AI等领域贡献自己的力量。展望未来,我们相信像素级图像理解与视觉内容将与更高级别的语义理解紧密耦合,最终解锁出更加强大的AI系统”。
参考链接
https://ai.facebook.com/blog/segment-anything-foundation-model-image-segmentation/