专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
51好读  ›  专栏  ›  极市平台

万字长文带你全面解读视觉大模型

极市平台  · 公众号  ·  · 2024-09-27 22:00

主要观点总结

文章全面介绍了视觉基础模型的发展脉络,包括经典的架构设计、训练目标以及主流的微调数据集等。文章详细探讨了基础模型的定义、多模态理解、应用广泛性以及通用模型,并展示了这些模型在多个领域和应用中的潜力。此外,文章还介绍了基于代理的基础视觉模型,突出了语言模型在现实世界任务中的潜力,并强调了多模态理解和集成的重要性。

关键观点总结

关键观点1: 基础模型的定义和重要性

基础模型是通过自监督或半监督方式在大规模数据上训练的模型,可以适应其它多个下游任务。

关键观点2: 多模态理解

文章提供了对文本提示、视觉提示和异构模态模型的系统分类,并展示了这些模型在多种视觉任务中的广泛应用。

关键观点3: 应用广泛性

基础模型可以作为通用模型来解决多个任务,尤其是与大型语言模型结合时,它们可以促生基础实体代理,进行持续学习和导航。

关键观点4: 基于代理的基础视觉模型

这些模型将语言学习模型与机器人技术和视觉导航相结合,能够解决现实世界中的复杂任务。

关键观点5: 总结与展望

文章总结了基础视觉和语言模型的研究,强调了多模态理解和集成的重要性,并指出需要进一步研究以充分挖掘这些模型的潜力并解决存在的挑战和局限性。


正文

↑ 点击 蓝字 关注极市平台
作者丨派派星
来源丨CVHub
编辑丨极市平台

极市导读

围绕基础模型在视觉领域的发展,综合全面的从经典的架构设计、训练目标以及主流的微调数据集等给大家系统的梳理基础模型的发展脉络。 >> 加入极市CV技术交流群,走在计算机视觉的最前沿

导读

众所周知,视觉系统对于理解和推理视觉场景的组成特性至关重要。这个领域的挑战在于对象之间的复杂关系、位置、歧义、以及现实环境中的变化等。作为人类,我们可以很轻松地借助各种模态,包括但不仅限于视觉、语言、声音等来理解和感知这个世界。现如今,随着 Transformer 等关键技术的提出,以往看似独立的各个方向也逐渐紧密地联结到一起,组成了“多模态”的概念。

今天,我们主要围绕 Foundational Models ,即基础模型这个概念,向大家全面阐述一个崭新的视觉系统。例如,通过 SAM,我们可以轻松地通过点或框的提示来分割特定对象,而无需重新训练;通过指定图像或视频场景中感兴趣的区域,我们可以与模型进行多轮针对式的交互式对话;再如李飞飞团队最新展示的科研成果所示的那样,我们可以轻松地通过语言指令来操作机器人的行为。

该术语首次由 Bommasani 等人在《Stanford Institute for Human-Centered AI》中引入。基础模型定义为“通过自监督或半监督方式在大规模数据上训练的模型,可以适应其它多个下游任务”。

具体地,我们将一起讨论一些典型的架构设计,这些设计结合了不同的模态信息,包括视觉、文本、音频;此外,我们还将着重讨论不同的训练目标,如对比式学习和生成式学习。随后,关于一些主流的预训练数据集、微调机制以及常见的提示模式,我们也将逐一介绍。

最后,希望通过今天的学习让大家对基础模型在计算机视觉领域的发展情况,特别是在大规模训练和不同任务之间的适应性方面的最新进展有一个大致的认知。共勉。

背景介绍

近年来,基础模型取得了显著的成功,特别是通过 大型语言模型 LLMs ),主要归因于 数据 模型 规模的大幅扩展。例如,像 GPT-3 这样的十亿参数模型已成功用于零/少样本学习,而无需大量的任务特定数据或模型参数更新。与此同时,有5400亿参数的 Pathways Language Model(PaLM) 在许多领域展现了先进的能力,包括语言理解、生成、推理和与代码相关的任务。

反观视觉领域,诸如 CLIP 这样的预训练视觉语言模型在不同的下游视觉任务上展现了强大的零样本泛化性能。这些模型通常使用从网络收集的数百上千万 图像-文本对 进行训练,并提供具有泛化和迁移能力的表示。因此,只需通过简单的自然语言描述和提示,这些预训练的基础模型完全被应用到下游任务,例如使用精心设计的提示进行零样本分类。

CLIP-DEMO

除了此类大型视觉语言基础模型外,一些研究工作也致力于开发可以通过 视觉输入提示 的大型基础模型。例如,最近 META 推出的 SAM 能够执行与类别无关的分割,给定图像和视觉提示(如框、点或蒙版),指定要在图像中分割的内容。这样的模型可以轻松适应特定的下游任务,如 医学图像分割 视频对象分割 机器人技术 遥感 等。

当然,我们同样可以将多种模态一起串起来,组成更有意思的管道,如 RAM + Grounding-DINO + SAM :

这里我们用 RAM 提取了图像的语义标签,再通过将标签输入到 Grounding-DINO 中进行开放世界检测,最后再通过将检测作为 SAM 的提示分割一切。目前视觉基础大模型可以粗略的归为三类:

  1. textually prompted models , e.g., contrastive, generative, hybrid, and conversational;
  2. visually prompted models , e.g., SAM, SegGPT;
  3. heterogeneous modalities-based models , e.g., ImageBind, Valley.
图1. 视觉基础模型预览

基础架构

图2.四种不同风格的架构类型
  • 双编码器架构 :其中,独立的编码器用于处理视觉和文本模态,这些编码器的输出随后通过目标函数进行优化。
  • 融合架构 :包括一个额外的融合编码器,它获取由视觉和文本编码器生成的表示,并学习融合表示。
  • 编码器-解码器架构 :由基于编码器-解码器的语言模型和视觉编码器共同组成。
  • 自适应 LLM 架构 :利用大型语言模型(LLM)作为其核心组件,并采用视觉编码器将图像转换为与 LLM 兼容的格式(模态对齐)。

目标函数

对比式学习

为了从无标签的图像-文本数据中学习, CLIP 中使用了简单的图像-文本对比( ITC )损失来通过学习正确的图像-文本配对来学习表示。此外还有图像-文本匹配( ITM )损失,以及包括简单对比式学习表示( SimCLR )和 ITC 损失的变体(如 FILIP Loss、TPC Loss、RWA、MITC、UniCL、RWC 损失)等其他对比损失。

这里 表示温度系数。因此我们可以将 简单表示为 . 可以看出, 本质上还是在计算图像与文本之间的相似度得分,比如常见的余弦相似性。

生成式学习

生成目标包括以下几种典型的损失:

  • 掩码语言建模(MLM)损失
  • 语言建模(LM)损失
  • 标准字幕(Cap)损失

以及 Flamingo Loss、Prefix Language Modeling, PrefixML 等。从上述公式我们也可以很容易看出,生成式 AI 本质还是条件概率模型,如 Cap 损失便是根据上一个已知 token 或 图像来预测下一个 token。

预训练

预训练数据集

如上所述,现代视觉-语言基础模型的核心是大规模数据,大致可分为几类:

  1. 图像-文本数据 :例如 CLIP 使用的 WebImageText 等,这些数据通常从网络抓取,并经过过滤过程删除噪声、无用或有害的数据点。
  2. 部分伪标签数据 :由于大规模训练数据在网络上不可用,收集这些数据也很昂贵,因此可以使用一个好的教师将图像-文本数据集转换为 掩码-描述 数据集,如 GLIP SA-1B 等。
  3. 数据集组合 :有些工作直接将基准视觉数据集组合使用,这些作品组合了具有图像-文本对的数据集,如字幕和视觉问题回答等。一些工作还使用了非图像-文本数据集,并使用基于模板的提示工程将标签转换为描述。
微调

微调主要用于三个基本设置:

  1. 提高模型在特定任务上的性能(例如开放世界物体检测, Grounding-DINO );
  2. 提高模型在某一特定能力上的性能(例如视觉定位);
  3. 指导调整模型以解决不同的下游视觉任务(例如 InstructBLIP )。

首先,许多工作展示,即使只采用线性探测,也可以提高模型在特定任务上的性能。因此,特定任务的数据集(例如 ImageNet )是可以用来改善预训练模型的特定任务性能。其次,一些工作已经利用预训练的视觉语言模型,通过在定位数据集上微调模型来进行定位任务。

例如,谷歌的一篇 OVD 工作 OWL-ViT ,将 CLIP 预训练模型去掉 Token Pooling+projection 和 Image projection,加上一个新的 Linear Projection 作为分类头与文本进行匹配,学习出每个 Patch 的语义信息。此外在将 Patch 的表征经过 MLP head 回归出相应检测狂。通过 Patch 的语义特征与 BBox 的位置最终获得目标检测框。最后,像 InstructBLIP 则将视觉数据集转换为指导调整数据集,使视觉语言模型能够用于下游任务。

InstructBLIP
提示工程

提示工程主要是搭配大型语言模型(LLMs)一起使用,使它们能够完成某些特定的任务。在视觉语言模型或视觉提示模型的背景下,提示工程主要用于两个目的:

  1. 将视觉数据集转换为图像文本训练数据(例如,用于图像分类的 CLIP),为基础模型提供交互性
  2. 使用视觉语言模型进行视觉任务。

大多数视觉数据集由图像和相应文本标签组成。为了利用视觉语言模型处理视觉数据集,一些工作已经利用了基于模板的提示工程。在这种提示工程中,使用一组模板从标签生成描述。例如:

text_descriptions = [f"This is a photo of a {label}" for label in cifar100.classes]  
text_tokens = clip.tokenize(text_descriptions).cuda()  

这种额外的上下文有助于模型学习,因此,这些文本提示可以在训练或评估期间被 VLM 所使用。下面让我们一起了解下这三类视觉基础模型。

基于文本提示的基础模型

在本章节中,我们专注于探讨依赖 文本 作为主要监督来源的方法。这些文字提示模型大致分为三个主要类型,即基于不同的训练目标:对比学习、生成学习和混合方法。

基于对比学习的方法

首先,让我们一起回顾下 CLIP 架构及其衍生的变体:

CLIP and it's variants.

CLIP 由 OpenAI 于 2021 年正式提出,其联合训练图像和文本编码器以预测图像与标题在批量中的正确配对。CLIP 由图像编码器和文本编码器组成。它们产生了N个图像-文本对的多模态嵌入空间。通过对称交叉熵损失来训练,以最小化N个正确图像-文本对的嵌入的余弦相似度,并最大化N²-N个不正确对的余弦相似度。作者还从互联网上策划了4亿图像-文本对的数据集。在这样的大规模数据集上训练时,表现非常出色,也激发了后续许多的工作。

此处我们集中探讨两类扩展方法,包括通用模型的对比方法和视觉定位基础模型的方法。

基于通用模型的对比方法
ALIGN

ALIGN 利用了一个超过10亿个图像-文本对的噪声数据集,无须进行昂贵的过滤或处理步骤即可在 Conceptual Captions 数据集中获得。一个简单的双编码器架构学习使用对比性损失来对齐图像和文本对的视觉和语言表示。结果表明,即便是这样一个简单的学习方案,只要数据库够大,便可以弥补它的噪声,并最终得到 SOTA 结果。

Florence

佛罗伦萨是微软、OpenAI 等联合提出的一个真正意义上的计算机视觉基础模型,能够处理不同的空间、时间和模态。它从CLIP样的预训练开始,然后扩展为具有三个不同适配器头的每个空间。弱弱的说一句,虽然这个模型的预训练参数只有 893M,但却需要在 512 块 A100 上训练 10 天的时间。

FILIP

FILIP 提出了一种交叉模态的后期交互方法,以捕捉细粒度语义对齐。FILIP 损失最大化了视觉和文本嵌入之间逐标记的相似性,有助于在不牺牲 CLIP 的推理效率的情况下,模拟两种模态之间的细粒度交互。【作者在 VALSE 第59期分享过,有兴趣的可以去看看,B站上有视频】

此外还有基于掩码对比学习的方法,这是一种通过遮挡输入像素来提高对比学习效率的有效方法。下面我们也将介绍几种典型方法。

FLIP

FLIP 是一种简单和更有效的训练 CLIP 的方法,其思想很简单,如图所示,就是将 MAE 的 Mask 操作引入到 CLIP 上,随机地 mask 掉具有高 mask 率的图像碎片,只对可见的碎片进行编码。不同之处在于,这里不会对被 masked 的图像内容进行重建。此外,对于文本也做同样处理,有点类似于 BERT 但又不一样,BERT 是用学习过的 mask token 来代替它们,这种稀疏的计算可以显著减少文本编码的成本。

MaskCLIP

MaskCLIP 强调了图像是一个连续且细粒度的信号,而语言描述可能无法完全表达这一点。因此,MaskCLIP 通过随机遮挡图像并利用基于 Mean Teacher 的自蒸馏来学习局部语义特征。

EVA

这是一个以视觉为中心的基础模型,旨在仅使用可公开访问的数据来探索大规模视觉表示的局限性。EVA 是由智源曹越团队最新开源的视觉预训练模型,通过将最强语义学习(CLIP)与最强几何结构学习(MIM)结合,仅需使用标准的 ViT 模型,并将其规模扩大到十亿参数(1-Billion)进行训练,即可得到当前最强大的十亿级视觉基础模型。

通过重构 CLIP 特征来进行 MIM 操作。首先, CLIP 模型输入为完整的图像,而 EVA 模型的输入为有遮挡的图像,训练过程是让 EVA 模型遮挡部分的输出去重构 CLIP 模型对应位置的输出,从而以简单高效的方式让 EVA 模型同时拥有了最强语义学习 CLIP 的能力和最强几何结构学习 MIM 的能力。

很多的方法,总体而言,这些方法通过各种技术,如调整架构,改进对比目标,引入噪声鲁棒性,和探索多模态交互等,不断推动了 CLIP 及其变种的发展。这些努力已经展示了在许多任务上,包括零样本分类和图像-文本检索任务等方面,如何改善模型的性能,从而使这些模型在计算机视觉和自然语言处理的交叉领域中变得越来越重要。

基于视觉定位基础模型的方法

首先我们看下上图展示的结果,可以观察到,原始的 CLIP 模型其实是不擅长视觉定位任务的,特别是针对语义分割这种像素级定位任务来说。

RegionCLIP

RegionCLIP 显着扩展了 CLIP 以学习区域级视觉表示,其支持图像区域和文本概念之间的细粒度对齐,从而支持基于区域的推理任务,包括零样本目标检测和开放词汇目标检测。

CRIS

CRIS 则通过引入视觉-语言解码器和文本到像素对比损失,使 CLIP 框架学习 像素级 信息。

Grounding DINO 是由沈向洋领导的 IDEA 实验室开源的,该方案利用了强大的预训练模型,并通过对比学习进行修改,以增强与语言的对齐。当然,像 OWL-ViT 也是类似的工作。此外, IDEA 还基于 SAM 等基础模型开源了一个集各大基础模型的仓库 Grounded-Segment-Anything ,仓库几乎涵盖了市面上主流的视觉基础模型,感兴趣的也可以关注下:

最后,我们一起看下 OpenSeg GroupViT ,这些方法着重于分组机制和分割效果,以通过对比学习实现更好的语义分割和目标检测。

简单来说,以上讨论涵盖了一系列现代基础模型研究,这些方法试图通过对比学习、掩码学习、扩展和复现等技术来改进 CLIP 和其它基础模型。这些工作不仅推动了大规模图像-文本建模的前沿,还为诸如目标检测、语义分割等特定视觉任务的解决方案提供了新的方法和框架。

基于生成式的方法

基于生成式方法的视觉基础模型的总结涵盖了多个领域和方向,下面笔者简单归纳总结下。首先是结合大语言模型( Large Language Model, LLM )的多模态学习范式:

  • 结合上下文的多模态输入学习 :例如 Frozen 方法将图像编码器与 LLM 结合,无需更新 LLM 的权重,而是在带有图像标注的数据集上训练视觉编码器。类似地, Flamingo 模型采用了固定的预训练视觉和语言模型,并通过 Perceiver Resampler 进行连接。
  • 使用 LLM 作为其它模态的通用接口 :如 MetaLM 模型采用半因果结构,将双向编码器通过连接层连接到解码器上,可实现多任务微调和指令调整零样本学习。此外, KOSMOS 系列也在 LLM 上整合了多模态学习的能力。
  • 开源版本的模型 :如 OpenFlamingo ,是 Flamingo 模型的开源版本,训练于新的多模态数据集。

其次我们来看下视觉-语言对齐与定位相关的模型:

  • 具备定位能力的模型 KOSMOS-2 通过添加一条管线来抽取文本中的名词短语并将其与图像中的相应区域链接起来,进而实现视觉定位。

另外就是通用生成目标下的训练:

  • 简化视觉语言建模 :如 SimVLM 使用前缀语言建模( PrefixLM )目标进行训练,不需要任务特定的架构或训练,可在多个视觉语言任务上实现优秀的性能。
  • 掩码重构与对齐 :如 MaskVLM ,采用联合掩码重构语言建模,其中一个输入的掩码部分由另一个未掩码输入重构,有效对齐两个模态。
  • 模块化视觉语言模型 :如 mPLUG-OWL ,由图像编码器、图像抽象器和冻结 LLM 组成,通过两阶段的训练实现多模态对话和理解。

此外还有与对比学习的比较与结合:

CapPa

CapPa 是基于字幕的模型与 CLIP 风格模型的比较得到的一种新的生成预训练方法,交替使用自回归预测和并行预测。

总体而言,上述的方法和模型通过在视觉条件下训练语言生成任务,为 LLM 增添了“ 看世界 ”的能力。这些工作在视觉语言任务,如图像标注、多模态对话和理解等方面取得了显著进展,有的甚至在少样本情况下达到或超越了最先进的性能。通过将视觉和语言模态结合,这些模型为计算机视觉和自然语言处理的交叉领域提供了强大的新工具。

基于对比学习和生成式的混合方法

通用视觉-语言学习的基础模型

  • UNITER :结合了生成(例如掩码语言建模和掩码区域建模)和对比(例如图像文本匹配和单词区域对齐)目标的方法,适用于异构的视觉-语言任务。
  • Pixel2Seqv2 :将四个核心视觉任务统一为像素到序列的接口,使用编码器-解码器架构进行训练。
  • Vision-Language :使用像 BART 或 T5 等预训练的编码器-解码器语言模型来学习不同的计算机视觉任务。

通用架构

FLAVA
  • Contrastive Captioner (CoCa) :结合了对比损失和生成式的字幕损失,可以在多样的视觉数据集上表现良好。
  • FLAVA :适用于单模态和多模态任务,通过一系列损失函数进行训练,以便在视觉、语言和视觉-语言任务上表现良好。
  • BridgeTower :结合了不同层次的单模态解码器的信息,不影响执行单模态任务的能力。
  • PaLI :一种共同扩展的多语言模块化语言-视觉模型,适用于单模态和多模态任务。
  • X-FM :包括语言、视觉和融合编码器的新基础模型,通过组合目标和新技术进行训练。

BLIP 框架范式

  • BLIP :利用生成和理解能力有效利用图像文本数据集,采用 Multimodal mixture of Encoder-Decoder (MED) 架构。
  • BLIP-2 :通过查询转换器来实现计算效率高的模态间对齐。

指令感知特征提取和多模态任务解决方案

  • InstructBLIP :利用视觉编码器、 Q-Former LLM ,通过指令感知的视觉特征提取来进行训练。对预训练模型的高效利用:
  • VPGTrans :提供了一种高效的方法来跨 LLM 传输视觉编码器。
  • TaCA :提到了一种叫做 TaCA 的适配器,但没有进一步详细描述。
UniDetector

基于 Visual Grounding 的方法

  • ViLD :这一方法使用了一个两阶段的开放词汇对象检测系统,从预训练的单词汇分类模型中提取知识。它包括一个 RPN 和一个类似于 CLIP 的视觉语言模型,使用 Mask-RCNN 创建对象提案,然后将知识提取到对象检测器中。
  • UniDetector : 此方法旨在进行通用对象检测,以在开放世界中检测新的类别。它采用了三阶段训练方法,包括类似于上面我们提到的 RegionCLIP 的预训练、异构数据集训练以及用于新类别检测的概率校准。UniDetector 为大词汇和封闭词汇对象检测设立了新的标准。
  • X-Decoder : 在三个粒度层次(图像级别、对象级别和像素级别)上运作,以利用任务协同作用。它基于 Mask2Former ,采用多尺度图像特征和两组查询来解码分割掩码,从而促进各种任务。它在广泛的分割和视觉语言任务中展现出强大的可转移性。

这些方法共同探讨了视觉定位任务的不同维度,包括开放词汇对象检测、通用对象检测、两阶段训练、多级粒度和新颖的损失功能。它们共同通过以创新的方式整合视觉和语言来推动视觉理解的界限,往往超越了该领域以前的基准。简单总结下,上面我们展示了如何通过对比和生成式学习,以及混合这些方法,来设计和训练可以处理各种视觉和语言任务的模型。有些模型主要关注提高单模态和多模态任务的性能,而有些模型关注如何高效地训练和利用预训练模型。总的来说,这些研究提供了视觉-语言融合研究的丰富视角和多样化方法,以满足不同的实际需求和应用场景。

基于对话式的视觉语言模型

这一块我们不做过多介绍,仅介绍比较有代表性的几个工作:

GPT-4

GPT-4 :这是首个结合视觉和语言的模型,能够进行多模态对话。该模型基于 Transformer 架构,通过使用公开和私有数据集进行预训练,并通过人类反馈进行强化学习微调。根据公开的数据,GPT-4 在多个 NLP、视觉和视觉-语言任务上表现出色,但很可惜目前并未开源。

miniGPT-4

miniGPT-4 :作为 GPT-4 的开源版本,miniGPT-4 由预训练的大型语言模型 Vicuna 和视觉组件 ViT-G Q-Former 组成。模型先在多模态示例上进行训练,然后在高质量的图像和文本对上进行微调。miniGPT-4 能够生成复杂的图像描述并解释视觉场景。 XrayGPT :这个模型可以分析和回答有关 X 射线放射图的开放式问题。使用 Vicuna LLM 作为文本编码器和 MedClip 作为图像编码器,通过更新单个线性投影层来进行多模态对齐。 LLaVA :这是一个开源的视觉指令调整框架和模型,由两个主要贡献组成:开发一种用于整理多模态指令跟踪数据的经济方法,以及开发一个大型多模态模型,该模型结合了预训练的语言模型 LLaMA CLIP 的视觉编码器。

LLaMA-Adapter V2

LLaMA-Adapter V2 :通过引入视觉专家,早期融合视觉知识,增加可学习参数等方式,改善了 LLaMA 的指令跟随能力,提高了在传统视觉-语言任务上的性能。综上所述,基于对话的视觉语言模型在理解、推理和进行人类对话方面取得了显著进展。通过将视觉和语言结合在一起,这些模型不仅在传统 NLP 任务上表现出色,而且能够解释复杂的视觉场景,甚至能够与人类进行复杂的多模态对话。未来可能会有更多的工作致力于提高这些模型的可解释性、可用性和可访问性,以便在更广泛的应用领域中实现其潜力。

基于视觉提示的基础模型

这一块内容我们先为大家阐述几个代表性的基于视觉提示的基础模型,如 SAM SEEM 等;随后再介绍基于 SAM 的一系列改进和应用,例如用在医疗、遥感、视频追踪等领域;最后再简单介绍下几个通用的扩展。

视觉基础模型

CLIPSeg
CLIPSeg
  • 概述 :CLIPSeg 利用 CLIP 的泛化能力执行 zero-shot one-shot 分割任务。
  • 结构 :由基于 CLIP 的图像和文本编码器以及具有 U-net 式跳跃连接的基于 Transformer 的解码器组成。
  • 工作方式 :视觉和文本查询通过相应的 CLIP 编码器获取嵌入,然后馈送到 CLIPSeg 解码器。因此,CLIPSeg 可以基于任意提示在测试时生成图像分割。
SegGPT
SegGPT

SegGPT 旨在训练一个通用模型,可以用于解决所有的分割任务,其训练被制定为一个上下文着色问题,为每个数据样本随机分配颜色映射。目标是根据上下文完成不同的分割任务,而不是依赖于特定的颜色。

SAM

概述 :SAM 是一种零样本分割模型,从头开始训练,不依赖于 CLIP。 结构 :使用图像和提示编码器对图像和视觉提示进行编码,然后在轻量级掩码解码器中组合以预测分割掩码。 训练方法 :通过三阶段的数据注释过程(辅助手动、半自动和全自动)训练。

SEEM

与 SAM 相比,SEEM 涵盖了更广泛的交互和语义层面。例如,SAM 只支持有限的交互类型,如点和框,而由于它本身不输出语义标签,因此错过了高语义任务。

首先, SEEM 有一个统一的提示编码器,将所有视觉和语言提示编码到联合表示空间中。因此,SEEM 可以支持更通用的用途。它有潜力扩展到自定义提示。其次,SEEM 在文本掩码(基础分割)方面非常有效,并输出语义感知预测。

SAM 的改进与应用

SAM for Medical Segmentation
Medical SAM 总览
  • Adapting by Fine-Tuning

MedSAM :通过在大规模医学分割数据集上微调 SAM,创建了一个用于通用医学图像分割的扩展方法 MedSAM。这一方法在 21 个 3D 分割任务和 9 个 2D 分割任务上优于 SAM。

MedSAM

paper: https://arxiv.org/pdf/2304.12306.pdf
github: https://github.com/bowang-lab/MedSAM

  • Adapting through Auxiliary Prompt Encoder

AutoSAM :为 SAM 的提示生成了一个完全自动化的解决方案,基于输入图像由 AutoSAM 辅助提示编码器网络生成替代提示。AutoSAM 与原始的 SAM 相比具有更少的可训练参数。

AutoSAM
  • Adapting Through Adapters
Learnable Ophthalmology SAM

在眼科的多目标分割:通过学习新的可学习的提示层对SAM进行了一次微调,从而准确地分割不同的模态图像中的血管或病变或视网膜层。

3DSAM-adapter

3DSAM-adapter :为了适应3D空间信息,提出了一种修改图像编码器的方案,使原始的2D变换器能够适应体积输入。

Medical SAM Adapter

Medical SAM Adapter :专为SAM设计了一个通用的医学图像分割适配器,能够适应医学数据的高维度(3D)以及独特的视觉提示,如 point box

  • Adapting by Modifying SAM’s Decoder
DeSAM

DeSAM :提出了将 SAM 的掩码解码器分成两个子任务:提示相关的 IoU 回归和提示不变的掩码学习。DeSAM 最小化了错误提示在“分割一切”模式下对SAM性能的降低。

  • SAM as a Medical Annotator
MedLAM

MedLAM :提出了一个使用 SAM 的医学数据集注释过程,并引入了一个少量定位框架。MedLAM 显著减少了注释负担,自动识别整个待注释数据集的目标解剖区域。

SAMM

Segment Any Medical Model, SAMM :这是一个结合了 3D Slicer SAM 的医学图像分割工具,协助开发、评估和应用SAM。通过与3D Slicer的整合,研究人员可以使用先进的基础模型来分割医学图像。

总体来说,通过各种微调、适配和修改方法,SAM 已被成功适应了用于医学图像分割的任务,涵盖了从器官、病变到组织的不同医学图像。这些方法也突出了将自然图像的深度学习技术迁移到医学领域的潜力和挑战。在未来,SAM 及其变体可能会继续推动医学图像分析领域的进展。

SAM for Tracking

SAM 在跟踪任务方面的应用集中在通过视频中的帧跟踪和分割任意对象,通常被称为视频对象分割(VOS)。这个任务涉及在一般场景中识别和追踪感兴趣的区域。以下总结下 SAM 在跟踪方面的一些主要应用和方法:

  • Track Anything (TAM)
TAM

概述 :TAM 使用 SAM 和现成的跟踪器 XMem 来分割和跟踪视频中的任何对象。 操作方式 :用户可以简单地点击一个对象以初始化 SAM 并预测掩码。然后,XMem 使用 SAM提供的初始掩码预测在视频中基于时空对应关系跟踪对象。用户可以暂停跟踪过程并立即纠正任何错误。 挑战 :虽然表现良好,但 TAM 在零样本场景下不能有效保留 SAM 的原始性能。

  • SAM-Track
SAM-Track

概述 :与 TAM 类似,SAM-Track 使用 DeAOT 与 SAM 结合。 挑战 :与 TAM 类似,SAM-Track 在零样本场景下也存在性能挑战。

  • SAM-PT
SAM-PT

概述 :SAM-PT 通过结合 SAM 的稀疏点跟踪来解决视频分割问题。只需要第一帧的稀疏点注释来表示目标对象。 强项 :在开放世界 UVO 基准测试中展示了对未见对象的泛化能力。 操作方式 :使用像 PIPS 这样的先进点跟踪器,SAM-PT 为视频分割提供稀疏点轨迹预测。进一步地,为了区分目标对象及其背景,SAM-PT 同时跟踪正点和负点。

  • SAM-DA
SAM-DA

概述 :SAM-DA 是另一种使用 SAM 自动分割能力进行跟踪的方法。 具体应用 :通过使用 SAM 自动分割功能从每个夜间图像自动确定大量高质量目标域训练样本,从而跟踪夜间无人机(UAVs)。

SAM 在视频对象跟踪和分割方面的应用表明了其作为分割基础模型的潜力。尽管有一些挑战,特别是在未见数据和零样本场景下,但通过与现成的跟踪器的结合以及稀疏点跟踪的使用,SAM 能够实现在视频中跟踪和分割对象。这些方法为计算机视觉社区提供了一个实现通用场景中任意对象跟踪的有力工具,有助于推动视频分析和监控等领域的进展。

SAM for Remote Sensing

SAM 在遥感图像分割方面的应用集中在通过点、框和粗粒度掩码的引导来理解和分割遥感图像。以下是 SAM 在遥感分割方面的应用以及相关挑战。

SAM在遥感分割的基本应用

  • 交互性质:由于 SAM 的交互特性,它主要依赖于点、框和粗粒度掩码的手动引导。
  • 限制:
  1. 全自动分割困难:SAM在完全自动地理解遥感图像方面效果不佳。
  2. 结果依赖性:SAM的结果严重依赖于用于分割遥感图像目标的提示的类型、位置和数量。
  3. 手动提示优化需求:要实现理想的结果,通常需要对手动提示进行精炼。
RsPrompter

概述 :RsPrompter 是一个将语义分类信息与 SAM 结合的方法,用于遥感图像的自动实例分割。

操作方式 :学习生成提示:RsPrompter 提出了一种学习生成适当的SAM输入提示的方法。生成提示包含的信息:通过分析编码器的中间层来生成包含关于语义类别的信息的提示,并生成提示嵌入,这可以视为点或框嵌入。目标:通过自动化生成适当的输入提示,RsPrompter 试图克服 SAM 在遥感图像分割方面的局限性。

尽管 SAM 在遥感图像分割方面存在一些限制,主要与其交互性质和对手动引导的依赖有关,但通过引入如 RsPrompter 这样的方法,可以利用 SAM 实现遥感图像的自动实例分割。这些努力标志着朝着减少人工干预和提高遥感图像分析自动化的方向迈出的重要一步,有势必推动遥感科学、地理信息系统(GIS)和环境监测等领域的进展。

SAM for Captioning

SAM 与大型语言模型如 ChatGPT 的组合在可控图像字幕(controlled image captioning)方面开辟了新的应用领域。下面概述下这种组合在图像字幕上的具体应用。

先给大家介绍下概念,可控图像字幕使用自然语言来根据人类目标解释图像,例如检查图像的某些区域或以特定方式描述图像。然而,这种交互式图像字幕系统的可扩展性和可用性受到缺乏良好注释的多模态数据的限制。一个典型的案例便是 Caption AnyThing ,下面一起看看。

Caption AnyThing

概述 :Caption AnyThing 是一种零样本图像字幕模型,通过与 SAM 和大型语言模型(例如 ChatGPT )结合,使用预训练的图像字幕器实现。

工作流程

  1. 定义视觉控制:用户可以通过视觉提示定义视觉控制。






请到「今天看啥」查看全文