Segment Anything CV界的GPT—prompt-based里程碑式研究成果

一、计算机视觉界的里程碑式研究成果 - SAM与SA-1B综述

Segment Anything受chatGPT式的prompt-based思路启发,训练数据集涵盖10亿masks,根据提供的图片注释实时产生不同的mask分割结果,试用效果惊人。

Segment Anything之于Computer Vision,相当于chatGPT之于NLP。

4月5日,Meta AI发布了博客:Introducing Segment Anything: Working toward the first foundation model for image segmentation,译为图像分割领域的第一个基础性模型

这篇官方博客介绍了Segment Anything Model (SAM) 模型和Segment Anything 1-Billion mask dataset (SA-1B)数据集,从SAM的工作原理、如何构建SA-1B数据集等方面简明扼要地介绍了其工作内容与研究成果,下面我们会对这篇博文及其论文进行探索:

二、Segment Anything项目开发成果综述

1. 项目开发的期望与目标

官方原文:

Reducing the need for task-specific modeling expertise, training compute, and custom data annotation for image segmentation is at the core of the Segment Anything project.

可以大致提取为:

  • 降低对特定任务建模专业知识需求
  • 减少训练的计算需求
  • 减少自定义数据标注的需求

实现目标:建立一个图像分割的基础模型——a promptable model,它在不同种类的数据上进行训练,以适应特定的任务,类似于在自然语言处理模型中使用提示的方式。

笔者注:如同chatGPT的prompt-based learning一样Segment Anything Model及其模型的发布,犹如GPT之于nlp界一样的概念。

Meta AI团队着手开发一个通用的promptable segment model,使用它来创建一个规模空前的分割数据集。

以前的cv已成传统

2. SAM:A general promptable model

2.1 何为Prompt?

Prompt是给input加的一段文字或一组向量,让模型根据input和外加的prompt做masked language modeling (MLM)。

2.2 SAM的开发思路

计算机视觉的基本任务就是区别哪些像素属于哪一个对象,也就是常说的分割,目前主要有两种分割的方法与方向:

  • 交互式分割,允许分割任何类别的对象,但需要一个人通过迭代细化掩码来指导该方法
  • 自动分割,允许分割提前定义的特定对象类别,但需要大量的手动注释对象来训练,连同计算资源和技术专长一起训练分割模型

这两种方法都没有提供通用的、全自动的分割方法

SAM 是这两类方法的概括。它是一个单一的模型,可以轻松地执行交互式分割和自动分割。该模型的可提示界面(稍后描述)允许以灵活的方式使用它,只需为模型设计正确的提示(点击、框、文本等),就可以完成范围广泛的分割任务。此外,SAM 在包含超过 10 亿个掩码(作为该项目的一部分收集)的多样化、高质量数据集上进行训练,这使其能够泛化到新类型的对象和图像,超出其在训练期间观察到的内容。这种概括能力意味着,总的来说,从业者将不再需要收集他们自己的细分数据并为他们的用例微调模型。

基于prompting技术对零样本、少样本学习的训练思路,Meta AI团队训练 SAM为any prompt返回有效的分割遮罩

其中prompt可以是前景/背景点、粗框或掩码、自由格式文本,或者一般来说,指示图像中要分割的内容的任何信息

有效分割遮罩的要求是:即使提示不明确或者可能指代多个对象,输出也应该是一个合理的掩码这些对象之一。此任务用于预训练模型并通过提示解决一般的下游分割任务。

考虑到在Web浏览器实现实时分割和提供prompt并运算反馈,简单的设计在实践中产生良好的结果。图像编码器为图像生成一次性嵌入,而轻量级编码器将任何提示实时转换为嵌入向量。然后将这两个信息源组合在一个预测分割掩码的轻量级解码器中。在计算图像嵌入后,SAM 可以在 50 毫秒内根据网络浏览器中的任何提示生成一个片段。如下图所示:

S A M 有效地映射图像特征和一组提示嵌入以生成分割掩码 SAM 有效地映射图像特征和一组提示嵌入以生成分割掩码 SAM有效地映射图像特征和一组提示嵌入以生成分割掩码

图片来源:介绍Segment Anything官方博客

2.3 未来可能的应用场景

S A M 未来可以成为 A R 、 V R 、内容创建、科学领域和更通用 A I 系统的强大组件 SAM未来可以成为 AR、VR、内容创建、科学领域和更通用 AI 系统的强大组件 SAM未来可以成为ARVR、内容创建、科学领域和更通用AI系统的强大组件

S A M 还有可能在农业领域帮助农民或者协助生物学家进行研究 SAM还有可能在农业领域帮助农民或者协助生物学家进行研究 SAM还有可能在农业领域帮助农民或者协助生物学家进行研究

3. 数据集SA-1B的构建

SAM模型的训练需要大量的数据源,新发布的分割数据集是迄今为止最大的。使用 SAM 收集数据。特别是,标注者使用 SAM 交互式地标注图像,然后使用新标注的数据依次更新 SAM。以此方式多次重复此循环以迭代改进模型和数据集。

使用 SAM,收集新的分割mask比以往任何时候都快。

笔者上传图像进行测试:处理时间的确不到 20 秒 笔者上传图像进行测试:处理时间的确不到20秒 笔者上传图像进行测试:处理时间的确不到20

使用该工具,只需大约 14 秒就可以交互式地注释mask。我们的每个掩码注释过程仅比注释边界框慢 2 倍,使用最快的注释接口大约需要 7 秒。与之前的大规模分割数据收集工作相比,该模型比 COCO 全手动基于多边形的mask注释快 6.5 倍,比之前最大的数据注释工作快 2 倍,后者也是模型辅助的。

然而,依靠交互式注释mask并不能充分扩展来创建团队所使用的的 10 亿mask数据集。因此,团队构建了一个数据引擎来创建其 SA-1B 数据集。该数据引擎具有三个“齿轮”。

  • 模型协助注释器,上文已提及。
  • 第二是全自动标注与辅助标注相结合,有助于增加收集mask的多样性。
  • 最后是全自动创建masks,以此来达成扩展训练所使用的数据集。

最终数据集包括在大约 1100 万张许可和隐私保护图像上收集的超过 11 亿个分割masks。SA-1B 的masks总量比任何现有的分割数据集多 400 倍,并且经人工评估研究证实,这些masks具有高质量和多样性,在某些情况下甚至在质量上可与之前更小、完全手动注释的数据集的mask相媲美。

注:Segment Anything对数据引擎收集的数百万张图像和掩码进行训练,结果是一个包含超过 10 亿个分割掩码的数据集——比之前的任何分割数据集大 400 倍。

看到这样的数据集规模,未免让其余开发者望而却步。企业级的AI开发团队正在利用其数据集训练方面的巨大优势,掀起一场又一场变革。

三、Segment Anything网页Demo尝试分割

笔者在Segment Anything官网try demo,传送门在这里,感兴趣的朋友可以一试。

笔者目前正在做医学图像分割方向的开发,以下是我们用自己训练出的网络进行分割的结果:

使用 R e s i d u a l U n e t 网络训练的模型进行图像分割 使用Residual Unet网络训练的模型进行图像分割 使用ResidualUnet网络训练的模型进行图像分割

这是使用Segment Anything进行分割的gif动图

用 S e g m e n t A n y t h i n g 进行图像分割 用Segment Anything进行图像分割 SegmentAnything进行图像分割

然后可以进行任意的图像分割演示。在前期的演示中,随鼠标移动,会产生不同的mask。鼠标左键是add mask,右键是remove area。在最初没有add mask时,处理结果与我们的训练成果已经相差无几。

笔者仅仅只是提供一个特例,实际上目前Segment Anything在我们数据集的其他图像上的表现,与实际ground truth仍然有较大差异,但是这样的开发思路的优秀以及其给Computer Vision界带来的变革,不可估量。

四、Reference

Introducing Segment Anything: Working toward the first foundation model for image segmentation

通俗易懂地理解Prompt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/48162.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

更快地分割任何事物:面向移动应用的轻量级Sam

文章目录 摘要1、简介2、相关工作3、适合移动设备的SAM3.1、背景和项目目标3.2、提出方法4、实验4.1、实验设置4.2、MobileSAM的性能与原版SAM相当4.3、MobileSAM优于FastSAM5、结论摘要 https://arxiv.org/pdf/2306.14289v2.pdf 分割任何事物模型(SAM)因其令人印象深刻的零样本…

基于自然语言处理的多模态模型_综述

A Survey on Multimodal Large Language Models; 论文链接:https://arxiv.org/pdf/2306.13549.pdf 项目链接(实时更新最新论文,已获1.8K Stars):https://github.com/BradyFU/Awesome-Multimodal-Large-Language-Models 研究背景 …

AI向百万薪资 高级原画师开刀?!爆Midjourney入局3D模型生成

来源 SoulofArt | ID Soul_Art 现在AI向高级原画师和3D开刀了? 网传爆料AI已入局3D模型生成... 这进化速度放在整个行业都十分炸裂 4月,Midjourney进一步宣布推出Niji-journey V5 这是MJ针对二次元动漫风格预训练好的模型 可在其中添加提示词直接调…

Java 20 正式发布,超神了。。

出品 | OSC开源社区(ID:oschina2013) ChatGPT王炸更新!终于解封了... 老铁们,JDK 20 / Java 20 正式发布了,这版本号简直超神了。。 JDK 20 是一个短期维护版本,将获得六个月的支持。尽管如此,但…

JDK 20 正式发布, JDK 21 最新动态来了

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 来自 infoQ | OSC开源社区(ID:oschina2013) JDK 20 是自 JDK 17, 以来的第三个非长期支持(LTS)版本,正如甲骨文 Java 平台组的首席架构师 Ma…

Ubuntu安装spark时遇到的问题及解决方案

伪分布式模式配置: 安装SSH: 问题一:安装openssh-server时出现以下报错 Package openssh-server has no installation candidate 出错原因: 一开始以为是apt命令没更新,apt-get update之后发现还是安装不了,可能是 文件/etc/apt…

ERROR Error: command failed: pnpm install --reporter silent --shamefully-hoist 错误解决办法

使用 vue-cli、pnpm创建新项目遇到的错误如下图所示: 在命令行安装pnpm6的版本: npm i pnpm6 -g vue create hello-world还可以直接使用npm安装就不报错了,输入一下代码: vue create hello-world -m npm以上两种方法都是亲测可…

postman 7.3.4 64位的下载、安装与使用

目录 postman的简介 postman下载地址及安装 postman的使用 postman 一、postman的简介 postman是一款功能强大的网页调试和模拟发送HTTP请求的Chrome插件,支持几乎所有类型的HTTP请求,操作简单且方便。二、postman下载地址及安装 我的postman下载网…

360手机java手机管家软件_360手机管家最新版下载_360手机管家官方下载-太平洋下载中心...

常见问答: 1、360手机管家连接不上手机怎么办? 答:如果发现360手机管家连接不上手机,你可以先检查下自己的数据线是否有问题,尝试连接其它设备看能不能连接。如果检查数据线与其它设备可以正常连接,那说明数据线是没问…

如何删除360奇安信软件

1.事情的缘由 之前待过一家公司,安装了360奇安信安全软件。由于更换了电脑,必须卸载奇安信,可是删除需要输入密码。后来联系了相关的人员,因为软件使用有点久远,没找到密码。 2.在安全模式下卸载 根据网上查询到的资…

Postman下载安装

一、Postman下载 1、Postman64位安装包下载: 链接:https://pan.baidu.com/s/1lInTrSfW9PMmYI6OsUS2tg 提取码:nvbw 2、Postman32位安装包下载: 链接:https://pan.baidu.com/s/1S_7K9wqyDwuoe-mjQowpKQ 提取码&#xf…

chatgpt赋能Python-python3的下载

Python 3-您在编程路上不可或缺的伙伴 如果您正在寻找一种流行的编程语言,那么Python 3就是一个不错的选择。Python 3作为一种高级编程语言,可以轻松地创建各种应用程序和网站。它是最受欢迎的编程语言之一,就是因为它易于学习和使用。 Pyt…

360安卓_360手机助手下载

360手机助手是手机应用商店软件,拥有丰富的应用资源,你可以随意下载,各种工具免费提供。360手机助手保证所有资源都是绿色可靠的,一键就能使用,需要的朋友可以点击下载! 360手机助手介绍 360手机助手是一款专为安卓手机…

360安卓_360手机助手安卓下载

为广大用户带来360手机助手2020最新版本下载。360手机助手软件为广大用户带来超多应用管理,带来超多手机工具。只需下载一个360手机助手,就可以获得丰富的软件游戏下载渠道。更多精彩好用的游戏软件等着用户上线挑选,是一款手机必备的工具软件…

在电脑上下载360手机助手中的APK文件

现在的游戏安装包都越来越大了,大一点的游戏基本都接近2个G。手机因为网络,下载不稳定,有时看着是下载完成,但安装时提示安装包错误,又给重新下载。这时想到的就是先在电脑上下载后,拷贝到手机再安装。 正常…

Postman官方64位版本下载

简介 Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳…

谷歌CEO桑达尔•皮猜坦承“无法理解AI怎么运作”:社会要做好准备

Google CEO皮猜在接受CBS《60分钟》专访时表示,未来AI将影响每家公司的每一种产品,也将取代许多工作,例如作家、会计师、建筑师,讽刺的是甚至包括部分的软件工程师。而AI的治理更是博大精深的问题,在社会一窝蜂的投入A…

产品经理之SOP、SOW等名词解释

一、SOW(Statement of Work)介绍 SOW是对项目提供可交付成果的说明。一份概要,在很高层次上说明项目用途、范围和途径。是客户与供应商间的高层共识。SOW是项目的最初输入,由项目外的发起人或客户提供。 以下是案例 二、SOP&…

产品经理必须要掌握的数据分析能力

此文是转载的,转载了我朋友的。 今天给大家分享一下数据分析基础的一些学习笔记,希望对你有用。 生活中我们总能遇见一些喜欢说“我认为”、“我觉得”的人,不知道你们平时遇到这种人是什么感受呢? 在平时中还好,假如在…

产品经理的工作及职责

产品经理的工作内容概述 产品经理的工作是要管理与其产品/服务线有关的所有大小事务,满足顾客更高的要求,并且为企业提供长期的价值。因此在他的工作中有各种日常性、短期及长期的活动内容。在理想状况下,日常活动构成产品经理的工作基础&…