无卷积骨干网络:金字塔Transformer,提升目标检测/分割等任务精度(附源代码)

2022-01-26 14:40:37 浏览数 (1)

作者:Edison_G

在将金字塔结构嵌入到Transformer结构用于生成多尺度特征,并最终用于稠密预测任务。

论文地址:https://arxiv.org/pdf/2102.12122.pdf

源代码地址:https://github.com/whai362/PVT

背景

具有自注意力的Transformer引发了自然语言处理领域的革命,最近还激发了Transformer式架构设计的出现,并在众多计算机视觉任务中取得了具有竞争力的结果。

如下是之前我们分享的基于Transformer的目标检测新技术!

链接:ResNet超强变体:京东AI新开源的计算机视觉模块!(附源代码)

链接:利用TRansformer进行端到端的目标检测及跟踪(附源代码)

链接:YOLOS:通过目标检测重新思考Transformer(附源代码)

在今天分享的工作中,研究者设计了一个新颖的Transformer模块,针对稠密预测任务的主干网络,利用Transformer架构设计进行了一次创新性的探索,将特征金字塔结构与Transformer进行了一次融合,使其可以更好的输出多尺度特征,进而更方便与其他下游任务相结合。

前言

尽管卷积神经网络 (CNN) 在计算机视觉方面取得了巨大成功,但今天分享的这项工作研究了一种更简单、无卷积的主干网络,可用于许多密集预测任务。

目标检测

语义分割

实例分割

与最近提出的专为图像分类设计的Vision Transformer(ViT)不同,研究者引入了Pyramid Vision Transformer(PVT),它克服了将Transformer移植到各种密集预测任务的困难。与当前的技术状态相比,PVT 有几个优点:

  1. 与通常产生低分辨率输出并导致高计算和内存成本的ViT不同,PVT不仅可以在图像的密集分区上进行训练以获得对密集预测很重要的高输出分辨率,而且还使用渐进式收缩金字塔以减少大型特征图的计算
  2. PVT继承了CNN和Transformer的优点,使其成为各种视觉任务的统一主干,无需卷积,可以直接替代CNN主干
  3. 通过大量实验验证了PVT,表明它提高了许多下游任务的性能,包括对象检测、实例和语义分割

例如,在参数数量相当的情况下,PVT RetinaNet在COCO数据集上实现了40.4 AP,超过ResNet50 RetinNet(36.3 AP)4.1个绝对AP(见下图)。研究者希望PVT可以作为像素级预测的替代和有用的主干,并促进未来的研究。

基础回顾

CNN Backbones

CNN是视觉识别中深度神经网络的主力军。标准CNN最初是在【Gradient-based learning applied to document recognition】中区分手写数字。该模型包含具有特定感受野的卷积核捕捉有利的视觉环境。为了提供平移等方差,卷积核的权重在整个图像空间中共享。最近,随着计算资源的快速发展(例如,GPU),堆叠卷积块成功在大规模图像分类数据集上训练(例如,ImageNet)已经成为可能。例如,GoogLeNet证明了包含多个内核路径的卷积算子可以实现非常有竞争力的性能。

multi-path convolutional block的有效性在Inception系列、ResNeXt、DPN、MixNet和SKNet中得到了进一步验证。此外,ResNet将跳过连接引入到卷积块中,从而可以创建/训练非常深的网络并在计算机视觉领域获得令人印象深刻的结果。DenseNet引入了一个密集连接的拓扑,它将每个卷积块连接到所有先前的块。更多最新进展可以在最近的论文中找到。

新框架

该框架旨在将金字塔结构嵌入到Transformer结构用于生成多尺度特征,并最终用于稠密预测任务。上图给出了所提出的PVT架构示意图,类似与CNN主干结构,PVT同样包含四个阶段用于生成不同尺度的特征,所有阶段具有相类似的结构:Patch Embedding Transformer Encoder。

在第一个阶段,给定尺寸为H*W*3的输入图像,按照如下流程进行处理:

  • 首先,将其划分为HW/4^2的块,每个块的大小为4*4*3;
  • 然后,将展开后的块送入到线性投影,得到尺寸为HW/4^2 * C1的嵌入块;
  • 其次,将前述嵌入块与位置嵌入信息送入到Transformer的Encoder,其输出将为reshap为H/4 * W/4 * C1。

采用类似的方式,以前一阶段的输出作为输入即可得到特征F2,F3和F4。基于特征金字塔F1、F2、F3、F4,所提方案可以轻易与大部分下游任务(如图像分类、目标检测、语义分割)进行集成。

Feature Pyramid for Transforme

不同于CNN采用stride卷积获得多尺度特征,PVT通过块嵌入按照progressive shrinking策略控制特征的尺度。

假设第i阶段的块尺寸为Pi,在每个阶段的开始,将输入特征均匀的拆分为Hi-1Wi-1/Pi个块,然后每个块展开并投影到Ci维度的嵌入信息,经过线性投影后,嵌入块的尺寸可以视作Hi-1/Pi * Wi-1/Pi * Ci。通过这种方式就可以灵活的调整每个阶段的特征尺寸,使其可以针对Transformer构建特征金字塔。

Transformer Encoder

对于Transformer encoder的第i阶段,它具有Li个encoder层,每个encoder层由注意力层与MLP构成。由于所提方法需要处理高分辨率特征,所以提出了一种SRA(spatial-reduction attention)用于替换传统的MHA(multi-head-attention)。

类似于MHA,SRA同样从输入端接收到了Q、K、V作为输入,并输出精炼后特征。SRA与MHA的区别在于:SRA会降低K和V的空间尺度,见下图。

Detailed settings of PVT series

实验

ImageNet数据集上的性能对比,结果见上表。从中可以看到:

  • 相比CNN,在同等参数量与计算约束下,PVT-Small达到20.2%的误差率,优于ResNet50的21.5%;
  • 相比其他Transformer(如ViT、DeiT),所提PVT以更少的计算量取得了相当的性能。

在语义分割中的性能对比,见上表。可以看到:不同参数配置下,PVT均可取得优于ResNet与ResNeXt的性能。这侧面说明:相比CNN,受益于全局注意力机制,PVT可以提取更好的特征用于语义分割。

© THE END

0 人点赞