SAM 是什么
前言
最近几周,人工智能的圈子里都在探讨 SAM(Segment Anything Model),一个号称(零样本)宰割所有的图像宰割模型。
图:Segment Anything Demo
2023 年 4 月 6 号,Meta AI 公布一篇论文:《Segment Anything》。在论文中,他们提出一个用于图像宰割的根底模型,名为 SAM(Segment Anything Model)。该模型能够通过用户提醒(如点击、画框、掩码、文本等)从图像中宰割出特定的对象。除此之外,它能够零样本泛化到新鲜的视觉概念和数据分布(艰深来说,就是它能够宰割所有图像上的视觉对象,即便这些对象没有在训练集呈现过)。这意味着从业者不再须要收集本人的细分数据为用例微调模型了,这种可能泛化到新工作和新畛域的灵活性,在图像宰割畛域尚属首次。
图:Segment Anything
对用户提醒作出响应 SAM 曾经学会了对于物体的个别概念,并且它能够为任何图像或视频中的任何物体生成 Mask,甚至包含在训练过程中没有遇到过的物体和图像类别。SAM 足够通用,能够涵盖宽泛的用例,并且能够在新的图像畛域上开箱即用,无需额定的训练。此外,SAM 通过繁多模型,既能够应用交互式办法进行图像宰割,也能够全自动图像宰割。
图解 SAM
首先,这篇论文次要作出三点奉献:
- 抛出一个 Segment Anything(SA)的我的项目,在一个对立框架 Prompt Encoder 内,指定一个点、一个边界框、一句话,间接一键宰割出对应物体
- 提出一个图像宰割的根底模型:SAM(由图像编码器、提醒编码器、解码器组成)
- 提出一个大规模多样化的图像宰割数据集:SA-1B(蕴含 1100 万张图片以及 10 亿个 Mask 图)
在这项工作中,SA 的指标是建设一个图像宰割的根底模型(Foundation Models)。换言之,作者团队寻求开发一个可提醒的宰割模型,并在一个大规模且反对弱小泛化能力的数据集上对其进行预训练,而后用提醒工程(Prompt Engineering)解决一系列新的数据分布上的上游宰割问题。
根底模型是指在宽泛的数据上进行大规模训练,并且是适应宽泛的上游工作。
提醒工程是指任意示意图像中要宰割的信息,如一组前景 / 背景点、一个粗略的框或者掩码、自在模式的文本等。
那么,要实现上述计划,取决于三个组件:工作、模型、数据。因而,咱们能够分为以下三章对 SAM 进行剖析。
怎么样解决 ZERO SHOT 问题
图:Task,可提醒宰割
受到 NLP 畛域中 Prompt(提醒)的启发,作者提出可提醒宰割工作。该工作的指标是给定任意宰割提醒,模型返回无效的宰割掩码。其中,提醒能够是任何批示要宰割内容的信息(如点、框,掩码、文本等)。“无效”掩码要求即便提醒是含糊的,并且可能指向多个对象,输入也应该是这些对象中的至多一个正当掩码。如下图所示,在手臂上的一个点提醒,既能够示意手臂这个对象,也能够示意人这个对象(此要求,相似于冀望语言模型对不置可否的提醒输入连贯的响应)。
图:模型对于含糊提醒输入至多一个对象的正当掩码
ZERO SHOT 模型的设计问题
因为可提醒宰割工作和事实世界应用的束缚,模型的设置须要满足一些要求:
- 必须反对灵便的提醒
- 须要在交互时实时计算掩码
- 必须具备歧义辨认的能力
为此,设计了 Segment Anything Model(SAM),蕴含一个弱小的图像编码器(计算图像嵌入),一个提醒编码器(计算提醒嵌入),一个轻量级掩码解码器(实时预测掩码)。在应用时,只须要对图像提取一次图像嵌入,能够在不同的提醒下重复使用。给定一个图像嵌入,提醒编码器和掩码解码器能够在浏览器中在~50 毫秒内依据提醒预测掩码。
图:SAM 构造示意
图像编码器: 能够是任意可能编码图像的网络,理论我的项目中作者应用通过 MAE 预训练的 Transformer(ViT-H)
提醒解码器: 思考两组提醒:稠密(点、框、文本)和密集(掩码)。其中点和框通过地位编码来示意;文本通过 CLIP 的文本编码器来示意;掩码应用卷积来示意
掩码解码器:Transformer Decoder(相似于 Maskformer),将图像嵌入、提醒嵌入和 Token 映射到 Mask
如何均衡巨量数据的品质 / 老本问题
提出一个用于图像宰割的数据集:SA-1B,它蕴含 1100 万张多样化、高分辨率、受权和爱护隐衷的图像以及 11 亿个高质量的宰割掩码组成。SA-1B 的掩码比任何现有的宰割数据集多 400 倍,并且掩码具备高质量和多样化等特点。
图像: 从间接与摄像师单干的供应商处取得一组 1100 万张新图片的受权。原始图像是高分辨率的(均匀 3300×4950 像素),为了存储不便,公布时图像下采样为最短边为 1500 像素的图像。(公布的图像中人脸和车辆拍照进行含糊解决)
图:图像数据比照
掩码:11 亿个高质量掩码,其中 99.1% 由数据引擎全自动生成
图:掩码数量比照
掩码品质: 为了评估掩码品质,作者随机抽取了 500 张图像(~5 万个掩码),要求业余标注员应用像素准确的“画笔”和“橡皮擦”在模型预测掩码的根底上对其进行业余改正。这一过程,产生成对的模型预测掩码以及人工业余改正后的掩码。通过计算每对之间的 IoU,来评估掩码品质。实现后果发现,94% 的对具备大于 90% 的 IoU(97% 的对具备大于 75% 的 IoU)
数据引擎: 为了对宏大数据的图像进行掩码标注,作者开发了数据引擎。如图所示,它是一个模型、数据的闭环零碎。模型标注数据,标注好的数据用来优化模型。循环,迭代优化模型以及数据品质
图:数据引擎(上),数据集(下)
该数据引擎有三个阶段:(1)模型辅助手动标注;(2)半自动标注阶段,混合主动预测的掩码和人工标注掩码;(3)全自动阶段。
(1)模型辅助手动标注阶段该阶段
开始之前,首先应用常见的公开图像宰割数据集训练 SAM,而后应用 SAM 为 SA-1B 数据预测图像掩码(提醒为前景 / 背景点击),由一组业余标注人员在预测掩码的根底上进行掩码细化。
标注人员能够自在地为掩码赋予标签(类别语义没有受限);此外,标注人员须要依照对象的突出水平来标记对象,并且掩码标注超过 30 秒就要持续解决下一张图像。
在充沛的数据标注后,仅应用新标注的掩码对 SAM 进行从新训练(该阶段总共训练了模型 6 次)。随着收集到更多的掩码,图像编码器从 ViT- B 扩大到 ViT-H。同时,随着模型的改良。每个掩码的均匀标注工夫从 34 秒缩小到 14 秒(比 COCO 的掩码标注快 6.5 倍,比 2D 框标注慢 2 倍);每个图像的均匀掩码数量从 20 个掩码减少到 44 个掩码。总的来说,该阶段从 12 万张图像中收集了 4630 万个掩码。
(2)半自动阶段
该阶段的指标是减少掩码的多样性,以提供模型宰割货色的能力。为了使标注者专一于不太突出的对象,首先 SAM 主动宰割高置信度的掩码(为了检测高置信度掩码,应用通过指标类别在第一阶段掩码上训练了一个指标检测器),而后向标注者展现预填充这些掩码的图像,并要求他们标注任何其余未标注的对象。
该阶段在 18 万张图像中额定收集 590 万个掩码(总共 1020 万个掩码)。与第一阶段一样,定期在新收集的数据集上从新训练模型(5 次)。
每个掩码的均匀标注工夫回到 34 秒(因为这些指标更具挑战性)。每个图像的均匀掩码数量从 44 个减少到 72 个。
(3)全自动阶段
这个阶段,标注是全自动的,因为模型有两个次要的加强。首先,在这一阶段的开始,收集了足够多的掩码来大大改良模型;其次,在这一阶段,曾经开发了含糊感知模型,它容许在有歧义的状况下预测无效的掩码。具体来说,用 32×32 的规定网络点来提醒网络,并为每个点预测一组可能对应于无效对象的掩码。
在含糊感知模型中,如果一个点位于某个局部或子局部上,模型将返回子局部、部分和整个对象。该模型的 IoU 模块将抉择高置信度的掩码,同时抉择稳固掩码(如果阈值化概率图在 0.5-σ,0.5+σ)产生类似的掩码,则认为是稳固掩码。
最初,在抉择高置信度和稳固的掩码后,采纳 NMS 对反复数据进行过滤。该阶段,在 1100 万张图像上全自动生成 11 亿个高质量掩码。
SAM 带来的影响
随着 SAM 的呈现,越来越多的工作依靠于 SAM 进行各自畛域的开发,如:
- Edit Everything:编辑所有,该零碎联合 SAM、CLIP、Stable Diffusion,容许用户应用简略的文本指令编辑图像
- SkinSAM:应用 SAM 实现皮肤癌宰割
- Track Anything:将 SAM 扩大到视频,以实现交互式视频指标跟踪和宰割
- MSA:对 SAM 进行高效微调,在各种模态(包含 CT/MRI/ 超声等)19 个医学图像宰割上获得最优问题
- SA3D:将 SAM 从 2D 晋升到 3D,与 Nerf 相结合,容许用户在单个渲染试图中仅通过一次手动提醒取得任何指标的 3D 宰割后果
- 缺点检测:将 SAM 和 U -Net 联合,用于检测混凝土构造裂缝
- MedSAM:将 SAM 利用到医学图像宰割的首次尝试,整顿了一个大型医学图像宰割数据集,通过对 SAM 进行微调,使其适应个别医学图像宰割工作
- SAM-Adapter:摸索和试验 SAM 在不同上游工作的体现
- SSA:提出一个基于 SAM 的语义宰割框架,不仅可能精确地宰割 mask,还能预测每个 mask 的语义分类
- SEEM:在没有提醒的凋谢集中执行任何宰割工作
- Grounded SAM:联合 SAM、DINO、Stable Diffusion、Whisper、ChatGPT 来检测和宰割带有文本输出的任何货色
- ……
SAM 促成了计算机视觉畛域更蓬勃地倒退,对于从业者来说,SAM 将 Engineering 的开箱即用做到了极致,SAM 的生产力工具属性远远超过了其潜在的危险属性。在 SAM 问世之前,对于中下游的从业者来说,实现一个图像宰割工作至多须要满足以下几个条件:
- 大量的图像标注工作
- 足够算力的设施
- 算法训练
原生 SAM 对于假装指标宰割畛域无奈获得较大的问题之外,在其余上游工作(蕴含但不限于医学图像宰割、遥感图像宰割、缺点检测、主动驾驶场景宰割等)都有不错的体现。此外,SAM 还能够作为算子交融中的一部分,搭配其余算子实现除图像宰割之外的其余工作。
同时,咱们发现原版的 SAM 在以下这些数据生产的场景中依然有一些有余:
- Segment Anything 模式会生成一些不间断的 Mask,粗细粒度调整艰难,边界有一些不够清晰,扩散的构造不能很好反对(例如闪电中的镂空、路线裂缝等)
- SAM 目前生成的 Mask 都是无标签的(目前已有通过 DINO 这样的开集指标检测来做优化,但离企业级的数据仍有较大间隔)
同时咱们发现在细分畛域 / 场景下的其余模型,也会超过 SAM,例如 Ilastik,但总的来说咱们仍认为 SAM 是一颗图片数据生产场景的银弹,通过对 SAM 的革新就能够极大的晋升数据生产的效率,而其 Prompt Encoder 的设计意味着只有是能向量化的操作都能够对数据进行宰割,这给数据生产带来更多的可能性,之后的很多工作会围绕着主动生成更好的 Prompt 开展。
整数智能曾经通过将 SAM 集成进 ABAVA 标注平台,为用户提供了更好的标注体验。在应用 SAM 模型时,用户能够轻松、高效地实现数据标注工作,并且基于 SAM 的特点为数据场景做了专项优化,使标注后果更加精确。
整数智能将持续致力于为用户提供更优质的产品和翻新的解决方案服务。也将继续优化 SAM 模型,致力于一直晋升其标注效率和准确性以满足用户一直增长的需要。
对于整数智能
80% 的数据 + 20% 的算法 = 更好的 AI
人工智能的研发是一个十分标准化的流程,它会经验 4 步,从数据采集 -> 数据标注 -> 模型训练 -> 模型部署。而 80% 的研发工夫,则耗费在了数据采集与数据标注的环节。数据工程的外围在于高效率、高质量的数据标注。
整数智能——AI 行业的数据合伙人
整数智能信息技术(杭州)有限责任公司,起源自浙江大学计算机翻新技术研究院,致力于成为 AI 行业的数据合伙人。整数智能也是中国人工智能产业倒退联盟、ASAM 协会、浙江省人工智能产业技术联盟成员。
整数智能提供了智能数据工程平台(ABAVA Platform)与数据集构建服务(ACE Service)。满足了智能驾驶、AIGC、智慧医疗、智能安防、智慧城市、工业制作、智能语音、公共治理等数十个利用场景的数据需要。目前公司已单干海内外顶级科技公司与科研机构 200 余家,领有知识产权数十项,屡次参加人工智能畛域的规范与白皮书撰写。整数智能也受到《CCTV 财经频道》《新锐杭商》《浙江卫视》《苏州卫视》等多家新闻媒体报道。
1. 专业级的团队和技术撑持
- 弱小的研发团队继续迭代 AI 数据平台 ABAVA Platform,发明极致的 AI 数据标注效率
- 数据专家为您制订数据集构建计划,满足您对数据集的定制化需要
2. 满足全畛域多场景的数据标注需要
- 在图像与视频数据方面,反对关键点标注、线标注、框标注、语义宰割标注、平面框标注、逐帧标注等标注需要
- 在点云数据方面,反对 3D 点云框标注、3D 点云语义宰割、3D 点云车道线标注、2/3D 交融标注等标注需要
- 在文本数据方面,反对 NER 命名实体标注、SPO 文本三元组标注、内容审核、情绪剖析等标注需要
- 在音频数据方面,反对 ASR 标注、音素标注、MIDI 标注等标注需要
图:图像 / 视频数据标注工具
图:点云数据标注工具
3. 极致的的数据交付品质
整数智能领有数十家自建数据产业基地和单干产业基地,笼罩 10 万名人工智能训练师,逐步形成一套迷信业余的人员、品质管控及数据安全保障机制
依靠数据标注方面所积攒的教训,平台可达成 100 万张图像标注量级的峰值。整数智能数据管理平台通过流程与机制的双重保障,为您提供品质更优、响应速度更快的数据服务,助力企业用户实现降本增效
分割咱们
心愿可能与正在浏览这篇文章的您进一步交换沟通,一起摸索 AI 数据的更多可能性。欢送分割咱们:
电话(微信同号):137-8507-0844
邮箱:zzj@molardata.com
也能够关注咱们的账号:整数智能 AI 研究院