00_资料

01_浅谈 segment-anything

展望未来

放眼当下

评价谈论

02_SAM功能介绍

03_SA-1B数据集

04_Meta数据标注:Data Is All You Need!

Meta或许在憋大招,正所谓兵马未动粮草先行,为了攒数据而开发了这么一个副产物,顺便放了出来。
注释员使用 SAM 交互式地注释图像,然后新注释的数据反过来用于更新 SAM,彼此相互作用,重复执行此循环来改善模型和数据集。

  1. 先用开源数据集训练一个小模型
  2. 标注员用训好的模型辅助标注,优先标好标的。如果图中一个instance开始花费超过30s就可以跳下一张图了
  3. 用新增的label在大模型上重新训练,并重复第2步。随着模型能力的增强,之前难标的会逐渐变成好标的
  4. 第3步迭代6次后,开始攻克剩余所有困难的instance。先用模型把容易的instance都mask掉,剩下的就得拿去标了。

05_方法介绍

Pre-分割任务

此前解决分割问题大致有两种方法。

Now-SAM

SAM 单一模型,可以轻松地执行交互式分割和自动分割。此任务用于预训练模型并通过提示解决一般的下游分割任务。

06_研发思路

开发一个可提示的模型并使用一项任务在广泛的数据集上进行预训练,以实现强大的泛化。通过这个模型,我们的目标是使用提示工程解决一系列新的数据分布上的下游分割问题。这个计划的成功取决于三个组成部分:任务、模型和数据。

SAM 的研发灵感来自于自然语言和计算机视觉中的 “prompt 工程”,只需对新数据集和任务执行零样本学习和少样本学习即可使其能够基于任何提示返回有效的分割掩模。其中,提示可以是前景/背景点、粗略框或掩模、自由文本或者一般情况下指示图像中需要进行分割的任何信息。有效掩模的要求意味着即使提示不明确并且可能涉及多个对象(例如,在衬衫上的一个点既可能表示衬衫也可能表示穿着它的人),输出应该是其中一个对象合理的掩模。这项任务用于预训练模型,并通过提示解决通用下游分割任务。

07_未来展望

将来,SAM 可能被用于任何需要在图像中找到和分割任何对象的领域应用程序。

08_先行者试跑demo的感受

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

  1. 当前版本下,作者们并没有提供标准的text prompt做法,所以输出的mask都没有标签。我有两个猜测:要么效果还不是很好,要么FAIR想单独出个别的paper。按照FAIR的风格,不做这最后一步,有点不能理解,毕竟这能够轻松刷掉一堆分割任务的SOTA。
  2. 我尝试用GitHub的issue#6里的“野路子”,抽取了文本的CLIP特征然后用来做prompt。实验效果比较一般:很多物体的score并不高,比如一个水果摊上放着很多水果的时候,明明能够认出一个个的橙子,但是用orange作为query,score大多数情况下只有0.02左右,很不稳定。结合这个实验,我更倾向于上面的前一种猜测:SAM开放环境下的zero-shot recognition能力还不太稳定。
    如果我的判断是对的,那么这里就还有不少相对简单的事情可以做。当然,复杂的事情更多:毕竟SAM没有解决逻辑问题,zero-shot效果也未必好,那么在各种下游任务上,大家就有了各显神通、施展才艺的空间。

引用参考链接

发表回复