分享
PVT(Pyramid Vision Transformer):金字塔结构,适合检测/分割
输入“/”快速插入内容
PVT(Pyramid Vision Transformer):金字塔结构,适合检测/分割
飞书用户9071
9月9日修改
【置顶必看】k学长的深度宝典
1.
PVT 的研究背景和动机
在
计算机视觉
领域,过去的主力军是
卷积神经网络(CNN)
,比如 ResNet、VGG、Inception。这些 CNN 模型之所以成功,一个关键原因是它们采用了
金字塔结构
—— 从高分辨率的特征图逐渐下采样,得到多尺度的特征表示。这个特性对
目标检测、实例分割、语义分割
等“密集预测任务”至关重要,因为这些任务需要模型理解物体在不同尺度下的细节。
后来,ViT 出现了,把 NLP 的 Transformer 思路引入到视觉任务中。ViT 在
图像分类
上表现非常好,因为它能捕捉全局依赖关系。但是,ViT 有两个重大问题:
1.
输出只有单一尺度
:ViT 把整张图片切成大块(比如 16×16),然后一次性处理。最终得到的特征图分辨率太低,不适合像检测、分割这样需要精细定位的任务。
2.
计算/显存消耗巨大
:如果强行用小块(比如 4×4)去分割输入,显存马上爆炸,训练根本跑不动。
所以,ViT 更像是“分类专用工具”,而不是通用视觉骨干。
PVT 的动机
研究者们提出 PVT,就是要解决
ViT 不能很好用于密集预测任务
的问题。
PVT 的设计目标是:
•
继承 Transformer 的全局建模能力
(能捕捉远距离关系);
•
融合 CNN 的金字塔思想
(能逐层下采样,获得多尺度特征);
•
降低资源消耗
(能在有限显存下处理高分辨率特征图)。
换句话说,PVT 想做的就是:
👉
把 ViT 从“只能分类”扩展为“通用视觉骨干”,让它在检测、分割这些任务里也能替代 CNN。
研究者的核心问题是:
•
CNN 在密集预测任务中表现好,但缺乏全局建模;
•
ViT 有全局建模,但对密集预测任务不友好;
•
PVT 结合两者优势
,在保持 Transformer 架构的同时,引入
金字塔+多尺度特征图
,让它能适应检测、分割等复杂任务。
2、PVT 的创新点
(1) 引入金字塔结构(Pyramid)
•
问题(ViT 的缺陷)
:ViT 只输出单一尺度的特征(比如 14×14),不适合检测和分割这种需要多尺度特征的任务。
•
PVT 的创新
:借鉴 CNN 的“金字塔”思想,从高分辨率到低分辨率,逐层下采样,得到多层次的特征图(比如 56×56 → 28×28 → 14×14 → 7×7)。
•
好处
:能够兼顾大物体和小物体,成为目标检测、分割等任务的通用骨干网络。
👉 类比:ViT 像一个人只看“缩略图”,只能粗略识别;PVT 像拿了显微镜和望远镜,可以在不同尺度下看清楚细节和整体。
(2) 空间降采样注意力(Spatial-Reduction Attention, SRA)
•
问题
:ViT 的注意力计算复杂度是 O(N²),输入分辨率一大就爆显存。
•
PVT 的创新
:在计算注意力时,先对 Key 和 Value 做空间下采样(Spatial Reduction),降低 token 数量,从而大幅减少计算量。
•
好处
:
◦
可以在显存有限的情况下处理更大分辨率图像;