专注于分享
分享好资源

SAM是如何做到“分割一切”的?

科技日报实习记者 裴宸纬

最近一段时间,人工智能通用模型领域频现“爆款”。4月,Meta公司发布了一款名为“Segment Anything Model”(SAM)的通用模型,号称可以“零样本分割一切”。也就是说,SAM能从照片或视频图像中对任意对象实现一键分割,并且能够零样本迁移到其他任务中。

在相关展示页面中,科技日报记者看到,在一张包含水果、案板、刀具、绿植、储物架等众多物体、背景杂乱的厨房照片中,该模型可迅速识别出不同的物体,以粗线条勾勒出物体轮廓,并用不同颜色对不同物体进行区分。“这就是SAM最重要的功能——图像分割。”中国科学院自动化研究所多模态人工智能系统全国重点实验室研究员、中国科学院大学人工智能学院教授杨戈向记者表示。

那么,SAM的技术原理是什么?相比于此前的图像分割模型,该模型有何不同?未来又有可能在哪些方面应用?

图像分割通用模型泛用性强

杨戈向记者解释道,像SAM这样可以处理多种不同类型任务的人工智能模型,叫作通用模型。与之相对,那些专门处理一种类型任务的人工智能模型,叫作专有模型。

打个形象的比喻,通用模型就好比是一个“多面手”。它具有处理一般事务的能力,但是在精度等性能上往往会逊色于只处理一种类型任务的专有模型。

既然通用模型可能会在精度上低于专有模型,为什么还要费尽心力地开发通用模型?对此,杨戈表示,通用模型与专有模型定位不同。通用模型带来的,是解决分割问题的新范式,特别是帮助科研人员提升在解决专有任务时的效率,“以前,面对不同的任务需求,科研人员往往需要开发不同的专有模型来应对。这样开发出的模型精度确实会更高,但是往往也会付出较大的研发成本,而且研发的模型通用性不强。”杨戈说。

通用模型能够将所有任务都处理得“八九不离十”,因此科研人员往往只需在通用模型的基础上进行优化,使之更加符合任务需求即可,而不需要费尽心力地从零开始搭建专有模型。因此,通用模型的初始开发成本可能会高,但随着使用通用模型的次数越来越多,其应用成本也会越来越低。

SAM就是一类处理图像分割任务的通用模型。与以往只能处理某种特定类型图片的图像分割模型不同,SAM可以处理所有类型的图像。“在SAM出现前,基本上所有的图像分割模型都是专有模型。”杨戈补充道,“打个比方,在医学领域,有专门分割核磁图像的人工智能模型,也有专门分割CT影像的人工智能模型。但这些模型往往只在分割专有领域内的图像时,才具有良好性能,而在分割其他领域的图像时往往性能不佳。”

有业内专家表示,相比于以往的图像分割模型,SAM可以识别各种输入提示,确定图像中需要分割的内容,还可以灵活集成到虚拟现实/增强现实等其他系统中,且目前对于一些它未见过或相对模糊的场景,也能实现较好的图像分割效果;同时,SAM建立了一套图像分割的通用模型,降低了对于特定场景建模知识、训练计算、数据标记的需求,有望在统一框架下完成图像分割任务。目前Meta公司已经开放共享SAM的代码和训练数据集。

利用海量数据实现准确分割

那么,SAM是通过什么技术手段,实现对物体的识别与分割?尤其是在面对复杂环境、甚至没遇到过的物体和图像时,SAM又是怎么做到准确识别与分割的?

“根据Meta发布的相关论文,SAM的模型结构其实并不是特别复杂。”杨戈告诉记者,“它用到了一个叫作‘编码解码器’的构架。”

记者了解到,SAM先通过图像编码器为图像生成编码,同时用一个轻量级编码器将用户的文字提示转换为提示编码。然后,SAM将图像编码分别和提示编码信息源组合在一起,输送到一个轻量级解码器中,用于预测分割掩码。这样一来,一旦使用者给出提示,则每个提示只需要几毫秒就能在浏览器中得到结果响应。

杨戈用了一个生动的例子解释SAM的运行原理。“比如说,给你一张带有猫和狗的图片。‘将照片中的猫标注出来’这就是提示;但是对于机器来说,它并不能直接‘明白’这种文字性提示,因此就需要将文字性提示转换为机器能够理解的提示编码。”同理,对于照片中的猫和狗,机器实际上并不能直接“明白”什么是猫、什么是狗,而是将照片中的猫和狗与图片编码对应起来。SAM通过训练学习提示编码与图片编码的不同结合,理解人类在文字提示中表述的希望如何分割这张图片。一旦“将照片中的猫标注出来”这句提示被输入时,SAM就能快速运行,得到人类想要的结果。

既然SAM并没有真正理解什么是猫、什么是狗,它又是如何准确地执行人类赋予的任务的呢?

“虽然SAM并没有完全理解人类的语言和视觉的能力,但是通过对海量数据的学习,SAM仍然能够做到准确执行任务。”杨戈解释道,用于训练SAM的数据集的数据量,是以往最大数据集的6倍。在这个数据集中,包括1100万张图像,和11亿个标注(可简单理解为11亿个物体)。这是一个“走量”的过程,数据量越大,机器分割图像的能力就越准确;即使在某张图中出现了这11亿个物体之外的物体,机器也往往能够根据以往经验以较高的准确率“推断”出它是什么物体,并将其纳入自己的数据库,这就是为什么SAM对于从未见过的物体,也能有很好的识别与分割效果。

“需要注意的是,这11亿个标注也不是纯手工完成的,而是通过渐进的方式自动完成标注的。一开始,这个数据集中只有相对少量的标注数据。科研人员先用这些数据训练出一个模型,然后再让这个模型自动标注数据,并通过人工对标注结果进行改进,这就得到了比上一个数据集更大一些的数据集。如此循环往复,就能得到海量标注数据集。”杨戈补充道。

促进计算机视觉领域发展

功能如此强大的图像分割通用模型,将给计算机视觉领域带来哪些改变?

“我认为,SAM的出现将为计算机视觉领域的科研人员带来工作范式上的变化。”杨戈对记者说道,“SAM的出现确实会对目前一些与机器人视觉相关的研究领域造成冲击,但从总体上看,SAM的出现会提升相关科研人员的效率。”

杨戈解释道,以往科研人员构建图像分割模型,是一个“从下到上、从零开始”的过程;而图像分割通用模型则将模型构建方式变成了“从上到下”,即在已有性能和泛化能力更强的模型基础上继续修改、优化,“这可能确实会取代某些专有模型,但从总体上看它将有利于整个领域的发展。”

此外,在具体应用上,图像分割通用模型前景十分广阔。

工业中的机器视觉、自动驾驶、安防等一些原来采用计算机视觉技术的行业,因为长尾场景多,需要大量标签数据,因此训练成本较高。有了图像分割通用模型后,这些领域内定制化开发产品的成本可能会降低,由此带来毛利率的提升;还有一些领域,过去因为样本量少而难以应用深度学习等人工智能算法。现在,由于SAM在零样本或者少量样本上表现优异,一些新的应用领域将被拓展,比如从代码驱动变为视觉驱动的机器人、流程工业场景等。

同时,由于SAM可以接受来自其他系统的输入提示,因此科幻片中根据用户视觉焦点信息来识别并选择对应物体或将成为可能。

SAM不仅将在上述这些前沿领域发挥作用,同样或将会用于人们的日常生活。“比如在医学影像诊断领域,SAM可能会催生出精度更高的医学影像模型,提升医疗水平;在拍照过程中,SAM的加入或将实现更快更智能的人脸识别。”杨戈说道。