Meta发布的Segment Anything,将给CV研究带来什么影响?

编辑 | 汽车人

原文链接:https://www.zhihu.com/question/593914819

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【语义分割】技术交流群

回答一

作者:谢凌曦
链接:https://www.zhihu.com/question/593914819/answer/2971178903

不是很能理解为什么大家会觉得CV已经做完了。

我的看法恰恰相反:SAM给CV提供了很好的平台,将会让许多原先不太容易做的下游任务成为可能。如果结合最近的一些工作,如以ViperGPT作为逻辑中枢,CV识别的上限会得到进一步提升。

当然,虽然作者们声称要“segment everything”,但距离这个目标还有很长的路要走。CV最大的困难之一,就是图像语义可以无限细分,且逻辑关系非常复杂。如果真的需要“segment everything”,就势必会遇到识别的粒度和确定性之间的冲突。至少到目前为止,没有任何方法可以解决这个问题,也就没法做到真正的万物分割。

不过这个工作确实把engineering做到了极致,而且上手即用,非常方便。我很看好它成为类似CLIP这样的fundamental model,未来将为大量的视觉任务提供基础能力。

最后还是强调:CV还有很长的路要走,不要散布恐慌,自己吓自己。

既然有人看,我就多写点东西。我今天尝试跑了跑SAM放出来的demo,总体感受是以下几个点:

  1. 模型推理速度挺快的,在单块V100上,对于1200x800这种正常分辨率的图,生成所有的mask需要2-3秒。这种速度,可以为大部分人提供可用的feature extractor了。

  2. 当前版本下,作者们并没有提供标准的text prompt做法,所以输出的mask都没有标签。我有两个猜测:要么效果还不是很好,要么FAIR想单独出个别的paper。按照FAIR的风格,不做这最后一步,有点不能理解,毕竟这能够轻松刷掉一堆分割任务的SOTA。

  3. 我尝试用GitHub的issue#6里的“野路子”,抽取了文本的CLIP特征然后用来做prompt。实验效果比较一般:很多物体的score并不高,比如一个水果摊上放着很多水果的时候,明明能够认出一个个的橙子,但是用orange作为query,score很不稳定(修正:原先说大部分score只有0.1以下,但经过检查,这是我代码里的bug导致的,不过分类结果依然不稳定)。结合这个实验,我更倾向于上面的前一种猜测:SAM开放环境下的zero-shot recognition能力还不太稳定。

如果我的判断是对的,那么这里就还有不少相对简单的事情可以做。当然,复杂的事情更多:毕竟SAM没有解决逻辑问题,zero-shot效果也未必好,那么在各种下游任务上,大家就有了各显神通、施展才艺的空间。

最后回复评论区的留言:SAM其实缩小了大厂和小厂的差距,使得大部分没有资源和数据训练视觉foundation model的人,都可以使用SAM的特征做各种下游任务。根据上面的分析,下游任务所面临的困难或许比预训练还要更多!但是不管怎么说,我看好SAM作为foundation model的潜力,它很可能拥有与CLIP比肩的影响力。

回答二

作者:dashidhy
链接:https://www.zhihu.com/question/593914819/answer/2970463220

这几天持续关注这个问题,稍微再多写一点自己的想法。从工业界角度来说,Meta这次其实是又给了一波饭碗,脏活累活都帮你干了,给指明了方向,明确告诉你只要怼数据就是行,并且数据怎么怼上去的流程都写在paper里了,可谓是保姆级教学。数据足够多,由人工标注过渡到自动化标注到都不是什么新鲜事,但是容易忽略的一点是数据还要足够diverse,这种diverse可能是需要超出自己的domain收集很多不同的domain的数据一起喂给模型,才可能打破domain内一些low-level feature的限制,获得更能泛化的high-level语义。从学术的角度来说,很显然SAM离真正的纯CV基础模型还有一定的距离。带着批判的眼光,这只不过是做到极致的supervised learning,纯CV的self-supervised learning仍然没有进展。不要跟我说什么MOCO、MAE,真研究过就知道这些离实用还差得很远,相比language的自监督模型来说泛化能力很弱,仍然离不开足够量有标注数据的finetune。这里面的主要困难最近也和同事有讨论 。language数据的每个token本身就处在一个high-level的语义空间下,一个单词或者词组都有相当明确且抽象的含义,而且所有token是简单的一维欧式排列,使得特征提取变得容易。而图像数据首先很难去定义什么是一个token,简单的将图片patchify后的每个patch是token吗,它们是非常low level的,每个patch单独来看大概率是没有特别明确的意义的,只有放在整个图像的语境下才有意义;如果以每个物体作为token,首先没有标注或者其他的先验知识就很难知道图像里哪些像素的集合是一个物体,其次是即便是有了物体的概念,物体在图像里是以scene graph的这种非欧式的数据形式存在的,定义scene graph和从scene graph里面提取更高级的特征都不是简单的事情。所以现阶段的范式里,个人认为视觉特征的学习仍然离不开标注或者像vision-language model这样多模态的学习。---原回答---完成度相当高且良心的工作,code,模型,数据集都开源,甚至demo的网站都做得相当用心 直接clone code和模型在我们自己的数据上测了一下,zero shot效果相当炸裂。别的先不说,至少数据半自动标注这块绝对是解放生产力,拿来就能用。浅看了一下paper感觉模型上没有什么奇技淫巧,主要还是收集海量数据大力出奇迹,模型和数据相互迭代完成闭环,其实非常符合工业界的思路,值得借鉴。

回答三

作者:Entropy
链接:https://www.zhihu.com/question/593914819/answer/2970738437

再想要只通过刷榜提点发paper,得做好被reviewer怼的准备了。。。。

82140b1de7e303b61feba77b87d997e5.png
prompt就是点、框、圈和描述文字

主要结构就是两个encoder,一个decoder

  • A ViT-H image encoder that runs once per image and outputs an image embedding

  • A prompt encoder that embeds input prompts such as clicks or boxes

  • A lightweight transformer based mask decoder that predicts object masks from the image embedding and prompt embeddings

17d3b0290135267669523633147d9b65.png fc6c4467970dd761400cb95173d07a48.png

这么设计的目的是什么呢?

By separating SAM into an image encoder and a fast prompt encoder / mask decoder, the same image embedding can be reused (and its cost amortized) with different prompts.

如何提升泛化能力?

To make SAM ambiguity-aware, we design it to predict multiple masks for a single prompt allowing SAM to naturally handle ambiguity, such as the shirt vs. person example.

如何实现在新数据集上的强泛化?

we found it necessary to train SAM on a large and diverse set of masks, beyond any segmentation dataset that already exists.

为什么要用我们的方法?

While a typical approach for foundation models is to obtain data online [82], masks are not naturally abundant and thus we need an alternative strategy.

你们的方法和自监督比怎么样?

While our model is initialized with a selfsupervised technique (MAE [47]), the vast majority of its capabilities come from large-scale supervised training.

未来可能的方向?

We aim to achieve this by requiring SAM to predict a valid mask for a wide range of segmentation prompts. The effect is to create a reliable interface between SAM and other components. For example, MCC [106] can easily use SAM to segment an object of interest and achieve strong generalization to unseen objects for 3D reconstruction from a single RGB-D image.

好吧,将SAM作为组件,yyds。。。

模型在某些细分方向的分割精细度不好?

Unlike these methods, SAM is designed for generality and breadth of use rather than high IoU interactive segmentation. Moreover, SAM can process prompts in real-time, but nevertheless SAM’s overall performance is not real-time when using a heavy image encoder.

现有不足?

While SAM can perform many tasks, it is unclear how to design simple prompts that implement semantic and panoptic segmentation.

还有什么贡献?

but regardless we expect the perspective of this work, the release of over 1B masks, and our promptable segmentation model will help pave the path ahead.

以后都得在这1B masks数据集上比较了。。。

以及模型相对GPT-4来说是真的小,提升空间是真的大。

  • The image encoder has 632M parameters.

  • The prompt encoder and mask decoder have 4M parameters.

update一下,看了一下论文,仔细试了一下demo

特意用了COD的数据集来测,是真的6啊

1b661ae7d67a38a624e83b7b7b246084.png

对于medical效果有好有坏,对于RGB效果很好

不过对于zero-shot来讲效果是十分惊艳了

总而言之

未来已来

CV的LM时代将彻底开启

至少标注是肯定不存在了

回答四

作者:初入AI的高中生
链接:https://www.zhihu.com/question/593914819/answer/2970661922

先不谈上不上车,拿来做辅助标注不香么?而且看demo的用法,就是奔着用来做辅助标注的啊。data is all your need! 以后有新的标注需求了,直接拿这个模型怼上去,单价应该可以砍不少。感觉meta是在憋大招,正所谓兵马未动粮草先行,为了攒数据而开发了这么一个副产物,顺便放了出来。看一下meta是怎么做标注的吧,这一块很少人讲:先用开源数据集训练一个小模型 标注员用训好的模型辅助标注,优先标好标的。如果图中一个instance开始花费超过30s就可以跳下一张图了 用新增的label在大模型上重新训练,并重复第2步。随着模型能力的增强,之前难标的会逐渐变成好标的 第3步迭代6次后,开始攻克剩余所有困难的instance。先用模型把容易的instance都mask掉,剩下的就得拿去标啦。你是我的,我是你的,谁?

视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

c4a2fd3d7836d19c44d39222a72b1b2f.png

(扫码学习最新视频)

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

015a622e468491cbecb7d3c32c9fc798.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

77ac075a8ab1da9c3011e94a796a71e2.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值