赞
踩
同期论文如Swin Transformer和Pyramid Vision Transformer都很不错!不过这里只简单介绍CAT。
提出了一种新的注意力机制,称为Cross Attention,它在图像块内而不是整个图像中交替注意以捕获局部信息,并结合Transformer构建为CAT,表现SOTA。性能优于PVT、CrossViT等网络。
对图像进行Tokenization之后,用图像块替换Transformer的word tokens所需的计算量很大(例如ViT),这会成为模型训练和推理的瓶颈。而CAT在图像块内而不是整个图像中交替注意以捕获局部信息,并在单通道特征图划分的图像块之间应用注意力捕获全局信息。
swin transformer中局部信息交互与相邻斑块之间的交互缺乏全局信息交互,因此设计了一个跨块自注意块,有效的保持全局信息交互,同时避免了随着输入分辨率的增加计算量的巨大增加。
Transformer已成功用于视觉任务和NLP任务,然而由于典型的Transformer的输入输出形状一致,很难实现类似CNN网络的层次结构,而这一点在下游任务中是很重要的。
旨在将斑块内的注意力和斑块间的注意力结合起来,通过基本块的叠加建立一个层次网络,可以简单地应用于其他视觉任务。先通过设置Patch=4来缩减图像,且参考ViT中带有Patch嵌入层的Patch处理模式,将通道数增加到C1,然后利用多个CAT层进行不同尺度的特征提取。
由此经过4个stages,我们可以得到F1,F2,F3和F4四个不同比例和尺寸的特征图,与典型的基于CNN的网络一样,可以为其他下游视觉任务提供不同粒度的特征图。
FLOPs计算过程可以看此博客:https://blog.csdn.net/weixin_39778049/article/details/116020969
每个像素点都需要一个通道来表示其特征,如上述公式所示,但图像像素很大,计算量会呈指数增长。受CNN局部特征提取特点的启发,本文将CNN中的局部卷积方法引入到Transformer中,在每个Patch中进行每个像素块的自注意,称为Inner-Patch Sel-Attention(IPSA)。把一个Patch当做一个注意力范围,而不是整张图像,**同时Transformer可以根据输入生成不同的注意力图,这比固定参数的CNN有显著的优势,**这类似于卷积方法中的动态参数。
TNT揭示了像素间的注意力也很重要,IPSA的计算量大小如下:
**Cross-Patch Self-Attention(CPSA):**IPSA利用金字塔结构添加了像素间的注意力,只是确保一个Patch内部像素之间的相互关系被捕获,**但是整个画面的信息交换也相当关键。**由于每个单通道特征图自然具有全局空间信息,因此提出CPSA,将每个通道特征图分离,将每个通道划分为H/N,W/N个Patch,利用Self-Attention获得整个特征图中的全局信息,这类似与Xception和MobileNet中使用的深度可分离卷积,计算量如下:
结合MobileNet的设计,叠加IPSA和CPSA模块,提取并整合一个Patch中像素间的特征以及一个feature map中Patch间的特征。
相比于Swin中移位窗口的手工设计、实现困难、捕获全局信息能力较差,该窗口是合理的、更容易理解的。
IPSA中采用相对位置编码,CPSA中加入绝对位置编码。
CAB整体结构如下:
并设计了计算复杂度不同的3个模型,分别是CAT-T、CAT-S和CAT-B,配置如下:
图像分类训练主要遵循:Training data-efficient image transformers & distillation through attention.(batch_size为1024)
目标检测:在CoCo 2017上进行mAP的计算实验,batch_size为16,随机深度(Deep networks with stochastic depth)为0.2来避免过拟合。多尺度训练策略,与End-to-end object detection with transformers.和End-to-end object detection with learnable proposals.相同
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。