HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

CV 又卷起来了!Meta AI 开源万物可分割 AI 模型,11 亿 + 掩码数据集可提取

  • 2023-04-07
    北京
  • 本文字数:3405 字

    阅读完需:约 11 分钟

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/

2023-04-07 17:436316
用户头像
李冬梅 加V:busulishang4668

发布了 943 篇内容, 共 536.8 次阅读, 收获喜欢 1105 次。

关注

评论

发布
暂无评论
发现更多内容

终于知道Kafka为什么这么快了!

大头星

kafka 消息队列

如何写出完美的接口:接口规范定义、接口管理工具推荐

xcbeyond

Java 架构 接口规范

面试官:说下对cookie,session,Token的理解

Java小咖秀

Java 面试

智“营”时代,众盟科技荣膺“2020毕马威中国领先消费科技TOP50企业榜单”

人称T客

JavaScript中的正则表达式详解

华为云开发者联盟

Java 正则表达式 程序员 字符串 语法

守护进程

书旅

php 进程 守护进程

一瓶可乐的自动售货机指令“旅程”

华为云开发者联盟

物联网 嵌入式 华为云 数据传输 无线通信

网站改版神秘公式,教你躲避改版陷阱

北柯

创业 网站 网站搭建 网站改版

MySQL中timestamp和datetime,你用的对么?

xcbeyond

MySQL 数据库 后端

如何正确认识区块链?

CECBC

区块链价值 区块链应用

Phalcon注解学习

Geek_4z9ami

php phalcon

MySQL explain 中的 rows 究竟是如何计算的?

架构精进之路

MySQL

SpringBoot系列(五):SpringBoot 日志配置(logback)

xcbeyond

Java 微服务 springboot logback

SpringBoot系列(六):SpringBoot 数据库操作(集成MyBatis)

xcbeyond

Java 微服务 mybatis springboot

libuv 异步模型之设计概览

Huayra

libuv 异步模型

实践总结:在 Java 中调用 Go 代码

写代码的西瓜

免费DDoS攻击测试工具大合集

陈磊@Criss

PHP之闭包函数

书旅

面向对象 闭包 函数

分布式链路追踪Skywalking 存储模型设计

胡弦(关注公众号架构随笔录)

分布式 Skywalking 高性能 分布链路追踪

MySQL备份脚本,应该这么写

Simon

MySQL

分苹果

书旅

算法 LeetCode

英特尔首席架构师Raja:一个“百亿亿次级计算能力惠及每个人”的时代正在到来

最新动态

Rust竟然没有异常处理?

袁承兴

rust 异常 java异常处理

troubleshoot之:分析OutOfMemoryError异常

程序那些事

Java JVM 异常 JIT

统一软件开发过程(RUP)的概念和方法

雯雯写代码

年近而立,Java何去何从?

华为云开发者联盟

Java 开源 程序员 编程语言 Bugayenko Yegor

AI能写浙江高考满分作文了!在线满分作文生成器,一键圆你满分梦

程序员生活志

AI

应用研发平台特惠专场,助力企业加速数智化发展

移动研发平台EMAS

如何从红蓝墨水中分离出红墨水?回声消除算法介绍

拍乐云Pano

音视频 WebRTC 回声消除 3A算法 音频技术

面试造火箭,看下这些大厂原题

前端有的玩

Java 面试 大前端

腾讯人均月薪7.5w,我这是又被平均了?

程序员生活志

腾讯 职场 薪资

CV又卷起来了!Meta AI开源万物可分割AI模型,11亿+掩码数据集可提取_文化 & 方法_李冬梅_InfoQ精选文章