即插即用系列 | Meta 新作 MMViT: 基于交叉注意力机制的多尺度和多视角编码神经网络架构

本文首发于微信公众号 CVHub,严禁私自转载或售卖到其他平台,违者必究。

Title: MMViT: Multiscale Multiview Vision Transformers

Paper: https://arxiv.org/pdf/2305.00104.pdf

导读

本文介绍了一种名为Multiscale Multiview Vision Transformers, MMViT的模型,它将多尺度特征图多视角编码引入Transformer模型。该模型对输入信号的不同视图进行编码,并构建了几个通道分辨率特征阶段以同时处理输入的多个视图,并在每个尺度阶段使用交叉注意力块来跨视图融合信息,从而使MMViT模型能够获取不同分辨率的复杂高维表征。

动机

Transformer模型通过自注意力机制有效地捕捉了输入序列中的长距离依赖,并从中提取必要的上下文信息。因此,对于需要对输入特征进行复杂关系和依赖建模的任务,Transformer更为适合。此外,Transformer还具有良好的可扩展性,能够处理大规模数据集以及适应多模态的输入。

先前我们介绍多个Transformer主干网络主要在于如何在保证原有的特征提取能力不下降的前提下提升模型推理效率。本文主要从提升表征能力切入。目前主要有两个流派,即

  • Multi-scale Vision Transformer
  • Multi-view Vision Transformer

前者基于多尺度特征金字塔来构建具有不同分辨率的层次结构特征,从而在视频和图像识别任务上实现更好的性能表现。同时,这种方法还能够减少计算量。而后者则利用不同视角的编码器和横向连接来融合信息,以处理复杂的时空关系。

本文结合这两者的优势,提出了一种基于多尺度和多视角的 Vision Transformer 模型——MMViT。与两者不同的是,本文方法仅对输入进行自注意力计算,同时在每个 stage 引入交叉注意力层,以合并来自多个视角的信息。这使得MMViT模型能够通过同时处理输入的不同分辨率的多个视角,在每个尺度阶段获取多分辨率的时间上下文。此外,MMViT模型使用分层缩放系统来增加通道大小并减小空间分辨率,在网络加深时生成高维复杂特征。通过采用多尺度和多视角特征,MMViT模型增强了其表示学习能力和整体性能。

方法

本文整体框架图如下图所示。下面我们就根据此图按顺序展开来讲,并就主要核心组件进行介绍,大家可以根据框架图一同理解。

Input and Embedding

首先,对于输入图像的不同视角,MMViT 使用 2D 卷积操作将其分成两个视角,并使用不同的卷积核大小和步长来生成不同的视角。与传统的 ViT 不同,MMViT 中使用的补丁化过程通过使用大于步幅的卷积核大小在补丁之间引入了重叠。这种方法从周围的像素中捕获更多的上下文信息,使 MMViT 模型能够在后续的 Transformer 块中并行集成信息。

其次,在生成的两个视图上,对它们应用可学习的时空位置编码。这个位置编码过程有助于模型编码位置信息并克服排列不变性。和其它基于 Transformer 嵌入模型一样,作者在第一个视图的开头添加了一个 [CLS] 标记。这个标记作为输入,用于分类头预测分类结果。

注:在深度学习中,排列不变性permutation invariance通常是指一个模型对输入的元素排列的顺序不敏感。具体来说,在输入序列中改变元素的顺序不会改变模型的预测结果。例如,对于一个文本分类任务,如果我们将输入文本中的单词顺序打乱,但保留相同的单词,那么分类器的输出应该保持不变。对应到本文,就是将每个输入图像分成多个视图,并且每个视图都被打散成了一系列小块。为了解决这个问题,本文采用了可学习的空间-时间位置编码,用于编码输入序列中的位置信息。这种编码可以帮助模型捕获视图中不同块的位置关系,使得模型对输入的排列顺序不敏感,从而提高模型的鲁棒性和泛化能力。

Scale Stage

类似于大部分 ViT 模型。MMViT 的架构包括四个 stage 共 16 个 Transformer 块,每个层中处理 2 个不同感受野视图。在每个 stage 中,n 个自注意力块紧随其后,分别包含一个交叉注意力块和一个缩放自注意力块。下面我们就这两个模块介绍下。

Self-attention Block

Self attention block

上图为自注意力块的示意图,整体非常简单,一眼看穿。左右两边主要是用于处理两个不同的视图,同原始的自注意力不同之处在于,这里对 QKV 和残差连接分别用一个池化层压缩了下,降低复杂度。

Cross-attention Block

Cross attention block

在每个 stage 阶段,交叉注意力机制用于提取全局上下文信息并合并每个视图之间的信息。如图所示,作者是直接将两个视图输出的特征压缩后直接进行拼接,然后又送入一个自注意力块去融合,最后再基于一个 spllit 操作直接拆分成两条路径并结合残差输出。

实验

同预期的差不多,提升并不是很大,实验貌似做的还不够充分~~~就酱啦

总结

本文主要提出了一种新颖的多尺度及多视图视觉 Transformer 模型,作为适用于多种模态的主干网络。该模型将多个视图输入到多尺度阶段层次结构模型中,并结合了多尺度视觉 Transformer(MViT)和多视图 Transformer(MTV)的优点。在每个尺度阶段,使用交叉注意力层来合并不同分辨率的视图信息,从而使网络能够捕捉复杂的高维特征。实验结果表明,MMViT 模型有一定的性能提升。


CVHub是一家专注于计算机视觉领域的高质量知识分享平台,全站技术文章原创率达99%,每日为您呈献全方位、多领域、有深度的前沿AI论文解决及配套的行业级应用解决方案,提供科研 | 技术 | 就业一站式服务,涵盖有监督/半监督/无监督/自监督的各类2D/3D的检测/分类/分割/跟踪/姿态/超分/重建等全栈领域以及最新的AIGC等生成式模型。关注微信公众号,欢迎参与实时的学术&技术互动交流,领取CV学习大礼包,及时订阅最新的国内外大厂校招&社招资讯!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
很高兴能帮助您!以下是一个基于HTML5和CSS3的模仿杂志的多列版式的示例代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Magazine Layout</title> <style> body { font-family: Arial, sans-serif; margin: 0; padding: 0; } .container { display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; padding: 20px; } .article { flex-basis: calc(33.33% - 20px); /* Adjust the width and spacing as needed */ margin: 10px; background-color: #f2f2f2; padding: 20px; box-sizing: border-box; } </style> </head> <body> <div class="container"> <div class="article"> <h2>Article 1</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris id magna vel arcu sagittis tincidunt a vitae ligula. Donec eu massa non lacus consequat porta. Proin auctor enim in rutrum tristique. Sed vitae ipsum eu lorem mollis iaculis. Sed aliquet, libero in mollis sollicitudin, dui justo cursus augue, ac euismod tellus libero at ante.</p> </div> <div class="article"> <h2>Article 2</h2> <p>Nullam nec mi vel lectus dignissim congue. Nullam sagittis ipsum et sapien ultrices, ut vestibulum est ornare. Sed non ipsum et tortor porttitor iaculis in vel augue. In hac habitasse platea dictumst. Phasellus condimentum, sem at laoreet tincidunt, urna mi tincidunt purus, eu molestie magna neque at dui.</p> </div> <div class="article"> <h2>Article 3</h2> <p>Curabitur dapibus aliquam ante, et congue eros hendrerit vitae. Sed porta massa sit amet felis lacinia finibus. Donec tincidunt magna vel metus facilisis, et scelerisque elit efficitur. Curabitur tristique purus eget arcu convallis, id tempor lacus aliquam. In sodales elit justo, a fringilla arcu lobortis eu.</p> </div> </div> </body> </html> ``` 这个示例代码使用了Flexbox布局来实现多列的杂志版式。通过设置`.container`的`display`属性为`flex`,并使用`flex-wrap: wrap`来实现自动换行。每个文章使用`.article`类来定义样式,通过设置`flex-basis`属性来控制每个列的宽度,并通过`margin`属性来设置间距。您可以根据需要自定义样式。 请注意,这只是一个简单的示例,您可能需要根据实际需求进行更多的自定义和调整。希望对您有所帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CVHub

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值