PVT--无卷积密集预测的多功能backbone

简介: 受transformer在自然语言处理(NLP)的成功,许多研究人员正试图探索transformer的应用,一些工作模型视觉任务作为字典查找问题可学习查询,并使用transformer decoder作为一个特定任务的头的CNN主干,如VGG和ResNet。而一些现有技术已经将注意力模块纳入到CNNs中。

卷积神经网络(CNN)在计算机视觉领域取得了显著的成功,几乎成为所有计算机视觉任务中的一种通用和主导方法。


受transformer在自然语言处理(NLP)的成功,许多研究人员正试图探索transformer的应用,一些工作模型视觉任务作为字典查找问题可学习查询,并使用transformer decoder作为一个特定任务的头的CNN主干,如VGG和ResNet。而一些现有技术已经将注意力模块纳入到CNNs中


Introduction


论文提出了一种使用transformer模型的无卷积主干网络,称为金字塔视觉transformer (Pyramid Vision Transformer--PVT),它可以在许多下游任务中作为一个通用的backbone,包括图像级预测和像素级密集预测。

0ce84463f5fb503016f0b4a88d28e938.png


不同架构的比较,其中“Conv”和“TF-E”分别表示卷积和transformer编码器。


(a) 表明,许多CNN backbones都使用金字塔结构进行密集的预测任务,如目标检测(DET)、语义和实例分割(SEG)。


(b) 表明,最近提出的视觉transformer(ViT)是一种专门为图像分类(CLS)设计的“柱状”结构。


(c) 说明,通过结合CNNs的金字塔结构,我们提出了金字塔视觉transformer (PVT),它可以用作许多计算机视觉任务的通用backbone,扩大了ViT的范围和影响。此外,我们的实验还表明,PVT可以很容易地与DETR结合,建立一个端到端目标检测系统,没有卷积和人工设计的组件,如密集anchor和非极大值抑制(NMS)。

 

具体而言,如上图所示,与ViT不同,PVT通过以下方式克服了传统transformer的困难:


(1)以细粒度的图像补丁(即每个补丁4×4)作为输入来学习高分辨率表示,这对密集的预测任务至关重要。


(2)在网络深度增加时减少transformer的序列长度,显著降低计算消耗。

(3)采用空间减少注意(SRA)层来进一步降低学习高分辨率特征图的资源成本。

 

Method


与CNN骨干网络类似,所提出的方法有四个阶段来生成不同尺度的特征图。所有的阶段都共享一个类似的架构,它由一个补丁嵌入层和Li transformer编码器层组成。


fc5f31db0b5ba49b67b9641053af640e.png

拟建金字塔视觉transformer (PVT)的整体结构。


整个模型分为四个阶段,每个阶段由一个补丁嵌入层和一个Li-layer transformer encoder组成。遵循金字塔结构,四个阶段的输出分辨率逐渐从步长4缩小到步长32。


在第一阶段,给定大小为H×W×3的输入图像,他们首先将其分为(HW)/4²补丁,每个补丁的大小为4×4×3。


然后,他们将扁平的补丁输入到一个线性投影中,并得到大小为(HW)/4²×C1的嵌入补丁(embedded patches)。之后,嵌入块和位置嵌入通过L1层transformer encoder,输出reshape为特征图F1,尺寸为H/4×W/4×C1。同样,使用来自前一阶段的特征图作为输入,它们获得以下特征图F2、F3和F4,其相对于输入图像的步进为8、16和32像素。


所提出的方法需要处理高分辨率特征图,论文提出了一个空间减少注意力(SRA)层来取代编码器中传统的多头注意(MHA)层。


与MHA类似,SRA还接收一个查询Q、一个关键K和一个值V作为输入,并输出一个改进的特性。不同的是,我们的SRA将在注意力操作之前减少K和V的空间尺度,这在很大程度上降低了计算/内存开销。


第一阶段SRA详情如下:


fb3034d0638f752007cfea3aaf5bb061.png

这些是线性投影的参数。N_i是第一阶段transformer encoder的编号。因此,每个头的尺寸等于Ci/Ni。SR(·)是空间缩减操作,其定义为:

0752c16c13d56379ed0c58dd0d01d02e.png

f19c61e4a3e8d2421be8f63abe2d9a4d.png

利用特征金字塔{F1、F2、F3、F4},该方法可以很容易地应用于大多数下游任务,包括图像分类、目标检测和语义分割。

 

结论


总的来说,所提出的PVT具有以下优点。首先,与传统的CNN backbones相比,感受野在深度增加时会增加,PVT总是产生一个全局感受野,比CNNs的局部感受野更适合于检测和分割。其次,与ViT相比,由于金字塔结构的进步,所提出的方法更容易插入到许多具有代表性的密集预测pipeline中。第三,利用PVT,我们可以结合PVT与其他为不同任务设计的transformer decoder,构建一个无卷积管道。


实验提出了第一个端到端目标检测检测pipeline,PVT+DETR,它是完全无卷积的。它在2017年COCO上达到34.7,优于基于ResNet50的原始DETR。

相关文章
|
3月前
|
机器学习/深度学习 算法 内存技术
【CVPR2021】CondenseNetV2:用于深度网络的稀疏特征再激活
【CVPR2021】CondenseNetV2:用于深度网络的稀疏特征再激活
97 2
【CVPR2021】CondenseNetV2:用于深度网络的稀疏特征再激活
|
3月前
|
机器学习/深度学习
YOLOv8改进 | 注意力篇 | ACmix自注意力与卷积混合模型(提高FPS+检测效率)
YOLOv8改进 | 注意力篇 | ACmix自注意力与卷积混合模型(提高FPS+检测效率)
292 0
|
3月前
YOLOv5改进 | Neck篇 | 2024.1最新MFDS-DETR的HS-FPN改进特征融合层(轻量化Neck、全网独家首发)
YOLOv5改进 | Neck篇 | 2024.1最新MFDS-DETR的HS-FPN改进特征融合层(轻量化Neck、全网独家首发)
381 4
|
1月前
|
计算机视觉 网络架构
【YOLOv8改进 - 卷积Conv】DWRSeg:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
YOLO目标检测专栏探讨了YOLO的创新改进,如多尺度特征提取的DWRSeg网络。该网络通过区域残差化和语义残差化提升效率,使用DWR和SIR模块优化高层和低层特征。DWRSeg在Cityscapes和CamVid数据集上表现优秀,速度与准确性兼备。论文和代码已公开。核心代码展示了一个包含DWR模块的卷积层。更多配置详情见相关链接。
|
1月前
|
编解码 计算机视觉 网络架构
【YOLOv10改进- 特征融合NECK】BiFPN:加权双向特征金字塔网络
YOLOv10专栏探讨了目标检测的效率提升,提出BiFPN,一种带加权和自适应融合的双向特征金字塔网络,优化了多尺度信息传递。EfficientDet系列利用这些创新在效率与性能间取得更好平衡,D7模型在COCO测试集上达到55.1 AP。YOLOv8引入MPDIoU,结合BiFPN学习分支权重,提高检测精度。详情见[YOLOv10 创新改进](https://blog.csdn.net/shangyanaf/category_12712258.html)和相关文章。
|
2月前
|
计算机视觉
【YOLOv8改进 - 特征融合NECK】 HS-FPN :用于处理多尺度特征融合的网络结构,降低参数
MFDS-DETR是针对白细胞检测的创新方法,它通过HS-FPN和可变形自注意力解决规模差异和特征稀缺问题。HS-FPN利用通道注意力模块增强特征表达,改善多尺度挑战。代码和数据集可在给定链接获取。此方法在WBCDD、LISC和BCCD数据集上表现优越,证明了其有效性和通用性。YOLO系列文章提供了更多目标检测改进和实战案例。
|
3月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进 | 融合模块 | 用Resblock+CBAM卷积替换Conv【轻量化网络】
在这个教程中,介绍了如何将YOLOv8的目标检测模型改进,用Resblock+CBAM替换原有的卷积层。Resblock基于ResNet的残差学习思想,减少信息丢失,而CBAM是通道和空间注意力模块,增强网络对特征的感知。教程详细解释了ResNet和CBAM的原理,并提供了代码示例展示如何在YOLOv8中实现这一改进。此外,还给出了新增的yaml配置文件示例以及如何注册模块和执行程序。作者分享了完整的代码,并对比了改进前后的GFLOPs计算量,强调了这种改进在提升性能的同时可能增加计算需求。教程适合深度学习初学者实践和提升YOLO系列模型的性能。
|
3月前
|
机器学习/深度学习 编解码 数据可视化
全新ViT Backbone | 混合卷积与Attention设计的SMT更快、更小也更强
全新ViT Backbone | 混合卷积与Attention设计的SMT更快、更小也更强
98 1
|
3月前
|
机器学习/深度学习 编解码 自然语言处理
MLP-Like Backbone | Strip-MLP跨行Token交互比SWin Transformer更轻更强的性能
MLP-Like Backbone | Strip-MLP跨行Token交互比SWin Transformer更轻更强的性能
141 1
|
3月前
|
机器学习/深度学习 自动驾驶 计算机视觉
YOLOv8改进 | Neck篇 | Slim-Neck替换特征融合层实现超级涨点 (又轻量又超级涨点)
YOLOv8改进 | Neck篇 | Slim-Neck替换特征融合层实现超级涨点 (又轻量又超级涨点)
534 2