点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
论文作者 | Rui Xu
编辑 | 自动驾驶之心
写在前面&笔者的个人理解
Mamba是一种新的选择性结构状态空间模型,在长序列建模任务中表现出色。Mamba通过全局感受野和动态加权,缓解了卷积神经网络的建模约束,并提供了类似于Transformers的高级建模能力。至关重要的是,它实现了这一点,而不会产生通常与Transformer相关的二次计算复杂性。由于其相对于前两种主流基础模型的优势,曼巴展示了其作为视觉基础模型的巨大潜力。研究人员正在积极地将曼巴应用于各种计算机视觉任务,导致了许多新兴的工作。为了跟上计算机视觉的快速发展,本文旨在对视觉曼巴方法进行全面综述。本文首先描述了原始曼巴模型的公式。随后,我们对视觉曼巴的综述深入研究了几个具有代表性的骨干网络,以阐明视觉曼巴中的核心见解。然后,我们使用不同的模式对相关作品进行分类,包括图像、视频、点云、多模态等。具体来说,对于图像应用程序,我们将它们进一步组织成不同的任务,以促进更结构化的讨论。最后,我们讨论了视觉曼巴的挑战和未来的研究方向,为这个快速发展的领域的未来研究提供了见解。
开源链接:https://github.com/Ruixxxx/Awesome-Vision-Mamba-Models
总结来说,本文的主要贡献如下:
曼巴的形成:本文提供了曼巴和状态空间模型的操作原理的介绍性概述。
主干网络:我们提供了几个具有代表性的视觉曼巴骨干网络的详细检查。本分析旨在阐明支撑Visual Mamba框架的核心原则和创新。
应用:我们根据不同的模态对曼巴的其他应用进行分类,如图像、视频、点云、多模态数据等。深入探讨了每个类别,以突出曼巴框架如何适应每种模态并使其受益。对于涉及图像的应用,我们进一步将其划分为各种任务,包括但不限于分类、检测和分割。
挑战:我们通过分析视觉数据的独特特征、算法的潜在机制以及现实世界应用程序的实际问题,来研究与CV相关的挑战。
未来方向:我们探索视觉曼巴的未来研究方向,重点关注数据利用和算法开发方面的潜在进展。
Mamba公式
Mamba是最近的一个序列模型,旨在通过简单地将其参数作为输入的函数来提高SSM基于上下文的推理能力。这里的SSM特别指的是结构化状态空间序列模型(S4)中使用的序列变换,它可以被纳入深度神经网络。Mamba简化了常用的SSM块,形成了简化的SSM架构。在下文中,我们将详细阐述曼巴的核心概念。
SSM
Selective SSM
Mamba结构
Mamba是一种简化的SSM架构。与通常使用的SSM架构不同,后者将类似线性注意力的块和多层感知器(MLP)块堆叠为Transformer,Mamba将这两个基本块集成起来构建Mamba块。如图2所示,曼巴区块可以从两个不同的角度进行观察。首先,它用激活函数代替线性类注意力或H3块中的乘法门。其次,它将SSM转化纳入MLP阻断的主要途径。Mamba的总体架构由重复的Mamba块组成,这些块与标准规范化层和残差连接交织在一起。
Mamba继承了状态空间模型序列长度的线性可伸缩性,同时实现了Transformer的建模能力。Mamba结合了CV中两种主要类型的基础模型(即CNN和Transformer)的显著优势,使其成为一种很有前途的CV基础模型。与依赖于显式存储整个上下文进行基于上下文的推理的Transformer相比,Mamba利用了一种选择机制。因此,这种选择机制的1D和因果特征成为研究人员将曼巴应用于CV的焦点。
表征学习的主干
Pure Mamba
1)Vim:Vim是一种基于Mamba的架构,直接在类似于ViT的图像补丁序列上操作。首先将输入图像转换为平坦的2D块,然后使用线性投影层对其进行矢量化,并添加位置嵌入以保留空间信息。在ViT和BERT之后,将类令牌附加到补丁令牌序列。然后将整个令牌序列馈送到Vim编码器,该编码器由相同的Vim块组成。如图6所示,如图3(b)所示,Vim块是一个Mamba块,它将后向SSM路径与前向路径集成在一起。
2)VMamba:VMamba确定了将曼巴应用于2D图像的两个挑战,这是由曼巴中选择机制的1D和因果属性引起的。对输入数据的因果处理使曼巴无法吸收来自未扫描数据部分的信息。此外,1D扫描对于涉及在局部和全局尺度上相关的2D空间信息的图像来说不是最优的。
3)Mamba ND:Mamba ND旨在将Mamba扩展到包括图像和视频在内的多维数据。它将1D曼巴层视为一个黑匣子,并探索如何解开和排序多维数据。它主要解决数据缺乏预定义的排序,同时具有固有的空间维度所带来的挑战。考虑到将数据平坦化为1D序列的大量可能方式,Mamba ND仅包括通过沿其维度轴在向前或向后方向上平坦化数据的扫描排序。然后,它将作为1D曼巴层的组合的曼巴ND块以交替顺序应用于序列。作者进行了广泛的实验来探索排序的不同组合。此外,他们将输入数据的一维划分为多个排序,采用不同的曼巴层排列,并将序列分解为更小的序列。结果表明,曼巴层链和简单的交替方向排序实现了优越的性能。曼巴ND区块的最终设计如图4(g)所示。
4)PlainMamba:PlainMamba是一种非层次结构,旨在实现以下几个目标:(1)非层次结构有助于多层次特征融合,增强不同规模的集成;(2) 它支持多模态数据的有效融合;(3) 其更简单的体系结构往往提供更好的泛化能力;(4) 它适用于硬件加速的优化。
Hybrid Mamba
1)LocalMamba:LocalMamba解决了在Vim和VMamba模型中观察到的一个显著限制,即在单个扫描过程中空间局部令牌之间的依赖性被破坏。为了克服这个问题,如图5所示的局部采样,LocalMamba将输入图像划分为多个局部窗口,以在不同方向上执行SSM,如VMamba所示,同时还保持全局SSM操作。此外,LocalMamba在补丁合并之前实现了空间和通道注意力模块,以增强方向特征的集成,减少冗余。LocalMamba区块如图4(f)所示。此外,它还采用了为每层选择最有效扫描方向的策略,从而优化了计算效率。
2)EfficientVMamba:EfficientVMamba引入了高效二维扫描(ES2D)技术,该技术采用对特征图上的斑块进行异步采样来减少计算负担。萎缩采样如图5所示。ES2D用于提取全局特征,而并行卷积分支用于提取局部特征。机器人特征类型然后由挤压和激励(SE)块单独处理。ES2D、卷积分支和SE块共同构成了有效视觉状态空间(EVSS)块的核心组件。EVSS块的输出是调制的全局和局部特征的总和。EVSS块如图3(d)所示。EVSS块形成EfficientVMamba的早期阶段,而EfficientNet块反过来形成后期阶段。
3)SiMBA:SiMBA旨在解决Mamba在视觉数据集上扩展到大型网络的不稳定性问题。它提出了一种新的信道建模技术,称为EinFFT,并使用Mamba进行序列建模。换言之,SiMBA块由Mamba块和EinFFT块组成,两者都与LN层、丢弃和残差连接交织。
关键提升
1)主干:为了处理2D图像,首先通过主干模块将其转换为视觉标记序列,主干模块通常包括卷积层和线性投影层。位置嵌入的添加是可选的,因为SSM操作固有地具有因果特性。包含类标记也是可选的。现有方法通过将图像序列视为用于基于曼巴的块中的SSM变换和卷积运算的1D或2D结构来处理图像序列。鉴于扫描技术在这些过程中的整体作用,我们将在下一节中对这些方法进行系统分类和更详细的研究。在本节中,我们将区分基于Mamba的层次结构和非层次结构。
2)扫描:选择性扫描机制是曼巴的关键组成部分。然而,其针对1D因果序列的原始设计在将其适应2D非因果图像时带来了挑战。为应对这些挑战,进行了大量的研究工作。在下一节中,我们将这些工作分类并讨论为三个主要组,扫描模式、扫描轴和扫描连续性。这种分类是基于扫描技术的目标。扫描模式处理视觉数据的非因果特性;扫描轴处理视觉数据中固有的高维度;扫描连续性考虑了贴片沿着扫描路径的空间连续性;扫描采样将整个图像划分为子图像。这四组的图示如图5所示。
3)Block:前面提到的扫描技术和选择性SSM变换的不同组合形成了各种块,这些块是基于Mambab的架构的组成部分。在讨论视觉曼巴骨干网络时,我们对这些区块进行了概述,并在相应的图中给出了详细的说明。这些数字也验证了我们对扫描技术进行分类背后的逻辑。这些块在应用方法中被广泛使用,将在下一节中详细介绍。为了清楚起见,最初的曼巴区块简称为曼巴。代表性块由诸如VSS和Vim之类的名称表示。对这些块的修改由星号(*)表示,并且诸如+CNN之类的标签表示类CNN特征的集成。图3和图4说明了一套视觉Mamba区块,包括Vim区块、VSS区块、EVSS区块、PlainMamba区块、LocalMamba区块和Mamba ND区块。曼巴区块也包括在内,以便于直接比较,突出这些区块在视觉领域的进化设计。
在本节中,我们在表中的标准基准上展示了各种可视曼巴骨干网络的性能。表I、表II和表III:ImageNet-1K上的分类,通过Mask R-CNN在MS COCO上的目标检测和实例分割,以及利用UperNet在ADE20K上的语义分割。
应用
本节系统地对曼巴在计算机视觉领域的各种应用进行了分类和讨论。分类方案以及本次调查中回顾的相关文献概述如图6所示。
A.图像
1)分类:除了主干进行图像分类以进行表示学习外,Mamba ND还引入了一种处理多维数据的新方法,通过按照行主顺序交替分解不同维度的输入数据。在自然图像分类的背景下,与基于Transformer的方法相比,该技术以显著更少的参数展示了优越的性能。同时,Mamba ND可以很容易地扩展到涉及多维数据的视频动作识别和3D分割等多项任务。基于Mamba的架构对更大补丁序列的可扩展性导致它们被用于高分辨率图像(例如,全幻灯片图像和遥感图像)和高维图像(例如3D医学图像)的分析以用于识别目的。
2)分割:分割仍然是计算机视觉领域的一个重要和突出的研究领域,对不同的现实世界应用具有巨大的价值。通过使用基于CNN的模型和基于transformer的模型,分割技术的最新进展取得了显著成就。基于细胞神经网络的方法擅长通过卷积运算捕捉局部特征,而基于变换器的方法则通过利用自注意机制来理解全局上下文,表现出非凡的能力。然而,基于变换器的方法的一个局限性是,随着输入大小的增加,自注意的计算复杂度呈二次增长。特别是对于高分辨率图像或高纬度图像,Transformer架构及其整体注意力层对有限窗口之外的任何事物进行建模的能力有限,并表现出二次复杂性,导致性能次优。
3) 生成:直观地说,将Mamba架构应用于一系列生成任务,以实现足够的长序列交互,有可能实现令人印象深刻的性能。
4) 图像恢复:最近,曼巴架构也被广泛应用于几个低级别的任务,包括图像去雾、曝光校正、泛锐化、超分辨率、去噪、医学图像重建和水下图像增强。
B.视频
视频理解是计算机视觉研究的基本方向之一。视频理解的主要目标是有效地掌握长上下文中的时空表示。Mamba凭借其选择性状态空间模型在这一领域表现出色,在保持线性复杂性和实现有效的长期动态建模之间实现了平衡。这种创新方法促进了其在各种视频分析任务中的广泛采用,如视频目标分割、视频动作识别、视频生成和表示学习。
C.多模态
多莫泰任务在CV领域发挥着至关重要的作用,因为它们有助于整合各种信息源,丰富视觉数据的理解和分析。这些任务的目标是聚合多种模态,包括文本和视觉信息、具有附加组件(如深度或热图像)的RGB图像以及各种形式的医学成像数据。然而,实现多模式目标的一个重大挑战在于有效地捕捉不同模式之间的相关性。最近,有几种方法将Mamba架构用于许多多模式任务,包括多模式大语言模型、多模态配准、参考图像分割、时间视频基础、语义分割、运动生成和医学应用。
D.点云
点云是一种基本的三维表示,它提供具有三维坐标的连续空间位置信息。点云的内在无序性和不规则性一直是三维视觉中的一个挑战。受Mamba的线性复杂性和全局建模能力的启发,在点云处理领域研究了几种基于SSM的通用主干。
PointMamba直接使用VSS块作为编码器,并提出了一种重新排序策略,通过提供更符合逻辑的几何扫描顺序来增强SSM的全局建模能力。PCM结合了几何仿射块和Vim块作为基本块,并提出了一致遍历串行化(CTS)将点云串行化为1D点序列,同时确保空间连续性。具体而言,CTS通过排列3D坐标的顺序产生六种变体,从而全面观测点云数据。PointMamba采用Vim进行长序列建模,并引入了基于八叉树的排序机制来生成输入序列,以获得原始输入点的因果关系。3DMamba IPF结合了Mamba架构,以顺序处理来自大型场景的大量点云,并集成了稳健且快速可微分的渲染损失,以约束曲面周围的噪声点。3DMambaC引入了一个超点生成模块来生成新的形状表示超点,其中包括用于增强采样点特征和预测超点的Mamba编码器。Mamba3D采用了具有通道翻转的双向SSM,并引入了局部范数池(LNP)块来提取局部几何特征。
挑战
A. Algorithm
1)可扩展性和稳定性:目前,Mamba架构在应用于ImageNet等大规模数据集时表现出稳定性挑战。曼巴在扩展到更广泛的网络配置时不稳定的根本原因尚不清楚。这种不稳定性经常导致曼巴框架内的梯度消失或爆炸,这阻碍了其在大规模视觉任务中的部署。
2)因果关系问题:鉴于曼巴模型最初是为因果序列数据设计的,将其选择性扫描技术应用于非因果视觉数据带来了重大挑战。目前的方法通过采用双向扫描等扫描技术来解决这一问题,其中向前和向后扫描都被用来相互补偿感受野中单向扫描的固有限制。然而,这仍然是一个悬而未决的问题,继续带来挑战。
3)空间信息:曼巴选择性扫描技术固有的1D特性在应用于2D或更高维度的视觉数据时带来了挑战,因为它可能导致关键空间信息的丢失。为了解决这一限制,当前的方法通常从各个方向展开图像块,从而允许跨多个维度的空间信息的集成。然而,这个问题仍然是一个悬而未决的问题,需要进一步调查。
4)冗余和计算:如前所述,双向扫描方法和多个扫描方向的使用会导致显著的信息冗余和计算需求的增加。这些可能会降低模型性能,并降低曼巴线性复杂度的优势。根据研究结果,与Transformer模型相比,Mamba模型的GPU消耗并不一致。这是一个重要挑战,需要进一步调查。
B. 应用
1)可解释性:一些研究提供了实验证据来阐明曼巴模型在NLP中的潜在机制,重点是其上下文学习能力、和事实回忆能力。此外,其他工作为曼巴在NLP中的应用奠定了理论基础。尽管取得了这些进步,但解释为什么曼巴能有效地完成视觉任务仍然具有挑战性。然而,视觉曼巴的独特学习特征及其与其他基础模型(如RNN、CNNs和ViTs)的相似之处仍然需要更深入的解释。
2)泛化和鲁棒性:Mamba中的隐藏状态可能会积累甚至放大特定领域的信息,这可能会对其泛化性能产生不利影响。此外,模型固有的1D扫描策略可能会无意中捕捉到特定领域的偏差,而当前的扫描技术往往无法满足对领域不可知信息处理的需求。[118]中的研究证明了VMamba在对抗性弹性和总体稳健性方面的优势。然而,在处理这些任务时,它也指出了可扩展性方面的局限性。该研究包括对VMamba的白盒攻击,以检查其新组件在对抗性条件下的行为。研究结果表明,虽然参数Δ表现出鲁棒性,但参数B和C容易受到攻击。参数之间的这种差异漏洞导致了VMamba在保持健壮性方面的可扩展性挑战。此外,结果表明,VMamba对其扫描轨迹的连续性和空间信息的完整性的中断表现出特别的敏感性。增强视觉曼巴的泛化能力和鲁棒性仍然是该领域尚未解决的挑战。
未来方向
A.数据
1)数据效率:考虑到Mamba的计算成本与CNN相当,即使不依赖大规模数据集,它也具有提供最佳性能的巨大潜力。这一属性将曼巴定位为各种下游任务/多任务和涉及预训练模型自适应的任务的有前途的候选者。
2)高分辨率数据:由于SSM的架构在理论上简化了计算复杂性,因此其有效处理高分辨率数据(如遥感和全切片图像)或长期序列数据(如长期视频帧)的潜力具有相当大的价值。
3)多模态数据:正如Transformer架构已经证明了其在统一框架内对自然语言和图像进行建模的能力一样,Mamba模型在处理扩展序列方面的熟练程度大大拓宽了其在多模式学习中的适用性。
4)上下文学习:在深度学习的动态环境中,上下文学习已经发展到包含越来越复杂和新颖的方法,以解决NLP、CV和多模式领域的复杂任务。这种方法上的进步对于突破现有深度学习框架的极限至关重要。Mamba模型凭借其精通上下文建模能力和捕获长程依赖关系的能力,在上下文学习应用程序中显示出更深入的语义理解和增强性能的潜力。
B.算法
1)扫描技术:选择性扫描机制是曼巴模型的核心组成部分,最初针对1D因果序列数据进行了优化。为了解决视觉数据固有的非因果性质,许多现有方法采用双向扫描。此外,为了捕获2D或高维视觉数据中固有的空间信息,当前的方法通常扩展扫描方向。尽管有这些调整,但迫切需要更具创新性的扫描方案,以更有效地利用高维非因果视觉数据的全部潜力。
2)融合技术:使曼巴模型适应视觉任务往往会引入冗余,使扫描输出特征的有效融合成为进一步探索的重要领域。此外,计算机视觉的基础模型各有其独特的优势;例如,细胞神经网络固有地捕捉归纳偏差,如翻译等变,而ViT以其强大的建模能力而闻名。探索融合这些不同网络架构提取的特征以最大限度地发挥其优势的方法是一个宝贵的研究机会。
3)计算效率:Mamba在序列长度方面实现了线性可扩展性,但由于需要在多个路径中扫描,将其用于视觉任务会导致计算需求增加。因此,在开发更高效、更有效的视觉曼巴模型方面有着重要的研究机会。此外,Mamba模型在计算效率方面并不总是优于Transformer,这突出了为视觉任务量身定制的优化、硬件感知的Mamba算法的必要性。这为研究提供了一条很有前途的途径,特别是在开发减少计算开销同时保持或提高性能的方法方面。提高视觉曼巴模型的计算效率可以极大地提高其在现实世界场景中的适用性。
结论
Mamba已迅速成为一种变革性的长序列建模架构,以其卓越的性能和高效的计算实现而闻名。随着它在计算机视觉领域的不断发展,本文对视觉曼巴方法进行了全面的综述。我们首先对Mamba架构进行深入概述,然后详细检查具有代表性的可视化Mamba骨干网络及其在各个可视化领域的广泛应用。这些应用程序按不同的模式进行系统分类,包括图像、视频、点云和多模式数据等。最后,我们批判性地分析了与视觉曼巴相关的挑战,强调了这种架构在推进计算机视觉方面尚未开发的潜力。根据这一分析,我们描绘了视觉曼巴未来的研究方向,提供了有价值的见解,可能会影响这一动态发展领域的持续和未来发展。
参考
[1] A Survey on Vision Mamba: Models, Applications and Challenges
投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!
① 全网独家视频课程
BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、大模型与自动驾驶、Nerf、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
网页端官网:www.zdjszx.com② 国内首个自动驾驶学习社区
国内最大最专业,近3000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型、端到端等,更有行业动态和岗位发布!欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦感知、定位、融合、规控、标定、端到端、仿真、产品经理、自动驾驶开发、自动标注与数据闭环多个方向,目前近60+技术交流群,欢迎加入!
自动驾驶感知:目标检测、语义分割、BEV感知、毫米波雷达视觉融合、激光视觉融合、车道线检测、目标跟踪、Occupancy、深度估计、transformer、大模型、在线地图、点云处理、模型部署、CUDA加速等技术交流群;
多传感器标定:相机在线/离线标定、Lidar-Camera标定、Camera-Radar标定、Camera-IMU标定、多传感器时空同步等技术交流群;
多传感器融合:多传感器后融合技术交流群;
规划控制与预测:规划控制、轨迹预测、避障等技术交流群;
定位建图:视觉SLAM、激光SLAM、多传感器融合SLAM等技术交流群;
三维视觉:三维重建、NeRF、3D Gaussian Splatting技术交流群;
自动驾驶仿真:Carla仿真、Autoware仿真等技术交流群;
自动驾驶开发:自动驾驶开发、ROS等技术交流群;
其它方向:自动标注与数据闭环、产品经理、硬件选型、求职面试、自动驾驶测试等技术交流群;
扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】全平台矩阵