论文题目:ScopeViT: Scale-Aware Vision Transformer(缩放感知视觉变压器)
期刊:Pattern Recognition
摘要:多尺度特征对于分类、检测和分割等各种视觉任务都是必不可少的。尽管视觉变形(ViTs)在捕获图像中的全局特征方面取得了显著的成功,但如何利用变形中的多尺度特征并没有得到很好的探索。本文提出了一种规模感知的视觉转换器ScopeViT,它可以有效地捕获多粒度表示。介绍了两种计算量轻的新型注意:多尺度自注意(MSSA)和全局尺度扩展注意(GSDA)。MSSA将具有不同接受域的视觉标记嵌入到不同的注意头中,允许模型在网络中感知不同的尺度。GSDA通过令牌扩展操作增强了模型对全局上下文的理解,从而减少了注意力计算中涉及的令牌数量。这种双重注意方法使ScopeViT能够“看到”整个网络的各种尺度,并有效地学习对象间关系,降低了繁重的二次计算复杂度。广泛的实验表明,与现有网络相比,ScopeViT在广泛的视觉任务中实现了竞争性的复杂性/准确性权衡。在ImageNet-1K数据集上,ScopeViT仅使用7.4M参数和2.0G FLOPs就实现了81.1%的top-1精度。我们的方法在节省42%的参数的同时,比Swin(基于vit)的准确率提高了1.9%;在使用50%的计算量的情况下,比MobileViTv2(基于hybrid2)的准确率提高了0.7%;在参数更少的情况下,比ConvNeXt V2(基于convnet)的准确率提高了0.8%。
ScopeViT: 让Vision Transformer"看见"多尺度特征
📌 引言:为什么我们需要多尺度?
想象一下,你正在看一张包含不同大小物体的照片——远处的小鸟、中景的树木、近处的建筑。人类视觉系统能够轻松地同时感知这些不同尺度的对象,但对于深度学习模型来说,这并非易事。
Vision Transformer(ViT) 自2020年横空出世以来,在计算机视觉领域掀起了一场革命。它将图像分割成patch序列,通过全局自注意力机制进行特征交互,在多个视觉任务上取得了令人瞩目的成绩。
然而,ViT也面临两个核心挑战:
- 缺乏多尺度特征建模:vanilla ViT使用固定大小的patch,难以捕捉不同尺度的视觉模式
- 计算复杂度高:全局自注意力的二次复杂度O(N²C)在高分辨率图像上计算开销巨大
虽然一些工作(如CrossViT、MixFormer)尝试通过多分支编码器来解决多尺度问题,但这些方法引入了大量额外的计算成本。

Fig1:与最先进的基于vit的框架相比。(a) ViT[1]模型采用多头自注意力机制(MHSA)提取单尺度特征。(b) CrossViT[12]采用两个并行编码器提取小尺度和大尺度特征。(c) MixFormer[13]设计了窗口自注意力机制与深度卷积块之间的双重交互。(d) ScopeViT通过嵌入小、中、大规模斑块,利用多尺度自注意力机制学习粗、细表征。我们的方法将MHSA扩展到多尺度,利用多尺度补丁和单编码器来建模多尺度信息,从而最大限度地减少对不同尺度对象的注意成本。
ScopeViT的核心思想:能否在保持单编码器架构的同时,让模型"看见"多尺度特征,并且不增加过多的计算负担?
🎯 核心创新一:Multi-Scale Self-Attention (MSSA)
传统MHSA的局限
传统的多头自注意力(MHSA)虽然有多个头,但所有头处理的是相同尺度的patch。这就像让多个人从同一个距离观察同一个场景——虽然能获得不同的视角,但缺少远近不同的观察距离。
MSSA:让不同头"看"不同尺度
ScopeViT提出的MSSA巧妙地将注意力头分为三组,每组负责不同的尺度:
🔍 Small-scale (3×3): 捕捉精细局部特征
🔍 Medium-scale (5×5): 捕捉中等范围特征
🔍 Large-scale (7×7): 捕捉粗粒度全局特征
技术实现:
-
多尺度组补丁嵌入
# 伪代码示例 x = CPE(input) # 条件位置编码 xl, xm, xs = split(x, split_list) # 分组 # 不同尺度的patch嵌入 xl_k, xl_v = kv_l(conv_7x7(xl)) # 大尺度 xm_k, xm_v = kv_m(conv_5x5(xm)) # 中尺度 xs_k, xs_v = kv_s(conv_3x3(xs)) # 小尺度 -
跨尺度注意力聚合
global_q = query_embed(x) # 全局query k = cat([xl_k, xm_k, xs_k]) # 拼接不同尺度的key v = cat([xl_v, xm_v, xs_v]) # 拼接不同尺度的value attn = softmax(global_q @ k.T) @ v
为什么这样设计有效?
- 尺度自适应:全局query自动与不同尺度的key/value交互,学习尺度自适应的注意力权重
- 参数效率:通过调整patch stride减少token数量,避免多分支编码器的参数冗余
- 互补性:小尺度头捕捉细节,大尺度头捕捉轮廓,中尺度头提供过渡
论文中的可视化实验(Fig. 4)清晰地展示了这种效果:

- 小尺度头能精确捕捉小物体(如棒球、橄榄球)
- 大尺度头能更好地捕捉大物体并抑制背景噪声
- 相比单尺度ViT,MSSA在浅层就能准确勾勒前景目标,在深层仍能保持目标的细节和语义信息
🌐 核心创新二:Global-Scale Dilated Attention (GSDA)
全局注意力的困境
虽然MSSA解决了多尺度问题,但如果每个block都使用MSSA,仍然会面临计算复杂度的挑战。如何在保持全局感受野的同时降低计算成本?
Token-Dilation:稀疏化的艺术
GSDA的核心是token-dilation操作,灵感来自于dilated convolution(空洞卷积):
操作流程:
-
Partition(分区)
输入: [B, C, H, W] → Patchify: [B, C, (H/P × W/P), (P × P)] → Permute & Reshape: [(B×P×P), (H/P × W/P), C]将特征图分割成P×P个子区域,每个子区域包含稀疏采样的token
-
Self-Attention(自注意力) 在每个分区内执行自注意力,每个分区的token数量为(H/P × W/P)
-
Reverse(反转) 通过permute和reshape恢复原始形状
复杂度分析:
- 传统全局attention: O(N²C)
- GSDA: O(2ND²C + 4NC²) (其中D=8为dilation size)
- 当N较大时,GSDA实现线性复杂度!
可扩展相对位置编码(SRPE):
与直接优化位置偏置的RPE不同,SRPE通过一个小型网络(两层MLP)间接优化:
B = MLP(Δx_log, Δy_log) # 位置偏置
这种设计使得位置编码可以适应不同的输入分辨率,增强了模型的泛化能力。
🏗️ 整体架构:优雅的组合

金字塔式四阶段设计
Stage 1 (64×64): [MSSA, GSDA] × n1
↓ (stride=2)
Stage 2 (32×32): [MSSA, GSDA] × n2
↓ (stride=2)
Stage 3 (16×16): [MSSA, GSDA] × n3
↓ (stride=2)
Stage 4 (8×8): [MSSA, GSDA] × n4
交替注意力策略
每个stage内交替使用MSSA和GSDA:
- MSSA: 负责多尺度特征建模,捕捉精细到粗糙的空间交互
- GSDA: 负责全局上下文理解,以线性复杂度获取全局感受野
局部感知FFN
在标准FFN中插入3×3深度卷积:
FFN(X) = LA(X·W1 + b1)·W2 + b2
其中 LA(Z) = DWConv3x3(Z) + Z # 局部感知
这个设计弥补了Transformer缺乏局部归纳偏置的不足。
模型变体
| 模型 | 参数量 | FLOPs | Top-1 Acc |
|---|---|---|---|
| ScopeViT-XT | 4.6M | 1.5G | 79.8% |
| ScopeViT-T | 7.4M | 2.0G | 81.1% |
| ScopeViT-S | 15.1M | 4.6G | 83.1% |
通过调整每个stage的channel维度和block数量,可以灵活构建不同规模的模型。
📊 实验结果:全面的性能验证
ImageNet-1K图像分类

ScopeViT-T的惊艳表现:
| 对比模型 | 参数量 | FLOPs | Top-1 Acc | ScopeViT优势 |
|---|---|---|---|---|
| CrossViT-S | 26.7M | 5.6G | 81.0% | 参数↓72% |
| Swin-2G | 12.8M | 2.0G | 79.2% | 准确率↑1.9% |
| MobileViTv2-1.5 | 10.6M | 4.0G | 80.4% | FLOPs↓50%, 准确率↑0.7% |
ScopeViT-S vs. 顶级模型:
- 超越ConvNeXt V2-T (83.1% vs 83.0%),参数量减少47%
- 超越Swin-S (83.1% vs 83.0%),参数量减少70%
- 超越CrossViT-B (83.1% vs 82.2%),参数量减少85%!
COCO目标检测与实例分割

RetinaNet目标检测(1× schedule):
ScopeViT-S达到44.2 mAP:
- 比ResNet-101高5.7 mAP
- 比Swin-T高2.2 mAP
- 比PVT-S高2.0 mAP
Mask R-CNN实例分割:

ScopeViT-S的Box AP达到44.8,Mask AP达到40.9:
- 相比ResNet-101,Box AP提升4.8,参数量仅为一半
- 相比Swin-T,Box AP提升2.6,参数量节省约25%
迁移学习:6个数据集全面领先


在CIFAR10/100、Stanford Cars、CUB-200-2011、Flowers、Oxford-IIIT Pets上:
ScopeViT-S的成绩单:
- CIFAR10: 99.1% (超越所有对比模型)
- CIFAR100: 91.6% (仅次于EfficientNet-B7的91.7%,但计算量仅为12%)
- CUB-200-2011: 91.8% (细粒度分类SOTA)
- Flowers: 98.9% (SOTA)
效率对比:
- vs. ViT-B/16: 参数量↓82% (85.8M→15.1M),FLOPs↓74%
- vs. EfficientNet-B7: 参数量↓76%,FLOPs↓88%,分辨率↓(600²→256²)
🔬 消融实验:设计细节的智慧
1. 多尺度头配比的影响

实验发现,当大尺度头数 ≥ 中尺度头数 ≥ 小尺度头数时效果最佳:
最优配置 (81.1%):
H_l = {1, 2, 4, 8} # 大尺度
H_m = {1, 1, 3, 6} # 中尺度
H_s = {0, 1, 1, 2} # 小尺度
原因分析:大尺度token能聚合更多周围的多样性特征,提供更强的全局建模能力。
2. 注意力机制对比

| 配置 | Top-1 Acc | Object Detection AP |
|---|---|---|
| Baseline (VSA) | 73.3% | 34.7 |
| VSA → MSSA | 80.3% (+7.0%) | 41.4 (+6.7) |
| VSA → GSDA | 79.8% (+6.5%) | 41.1 (+6.4) |
| MSSA + GSDA | 81.1% (+7.8%) | 41.9 (+7.2) |
MSSA和GSDA的组合实现了最优性能!
3. 深度 vs. 宽度

| 配置 | 参数量 | FLOPs | Top-1 Acc |
|---|---|---|---|
| Wider ScopeViT-T | 8.6M | 2.5G | 80.8% |
| Deeper ScopeViT-T | 7.4M | 2.0G | 81.1% |
结论:更深的网络能学习更复杂的数据模式,效果优于更宽的网络。
4. 位置编码方案

| 方法 | 参数量 | Top-1 Acc |
|---|---|---|
| w/o PE | 7.33M | 80.8% |
| CPE | 7.33M | 80.8% |
| RPE | 7.35M | 81.0% |
| SRPE | 7.39M | 81.1% |
SRPE通过MLP间接优化位置偏置,提供了最佳的泛化能力。
5. 架构类型对比

| 架构 | 基础模块 | Top-1 Acc |
|---|---|---|
| Pure ConvNet | MobileNetV2 | 74.7% |
| Pure ViT | GSDA | 77.3% |
| Hybrid | MSSA + GSDA | 81.1% |
混合架构融合了ConvNet的局部归纳偏置和ViT的全局建模能力,达到最优效果!
🎨 可视化分析:眼见为实
注意力图可视化(Fig. 7)

论文提供了ScopeViT在最后一层的注意力图可视化,清晰展示了不同头的分工:
场景1:棒球与橄榄球(小物体)
- Head #1-2 (小尺度):精确捕捉棒球和橄榄球的细节
- Head #9-16 (大尺度):倾向于捕捉整体场景,对小物体响应较弱
场景2:大型人物(大物体)
- Head #1-2 (小尺度):关注局部细节,但边界模糊
- Head #9-16 (大尺度):准确感知大型人物,同时抑制背景噪声
场景3:中等尺寸物体
- Head #3-8 (中尺度):提供最佳的权衡,既保留细节又捕捉整体
激活值可视化(Fig. 4 & Fig. 6)
ScopeViT vs. 单尺度ViT:
- Stage 1:ScopeViT能准确勾勒前景和目标对象,有效过滤背景
- Stage 4:ScopeViT仍保持目标的整体形状和细节,而单尺度ViT丢失了细节信息
ScopeViT vs. 其他架构:

- ViT:强调全局特征,缺乏局部细节
- Swin:增强了局部建模,但缺少多尺度感知
- EfficientNet:捕捉精细特征,但全局建模较弱,前景背景分离不明显
- ScopeViT:同时具备粗粒度和细粒度表示,多尺度建模的优势明显
💡 关键设计洞察
1. 单编码器 vs. 多编码器
传统多尺度方案(如CrossViT):
Small-scale Encoder → Features_small
Large-scale Encoder → Features_large
Cross-attention → Fused features
优点:显式建模多尺度
缺点:参数和计算成本成倍增加
ScopeViT方案:
Single Encoder with MSSA:
Head group 1 (3×3) → Small-scale features
Head group 2 (5×5) → Medium-scale features
Head group 3 (7×7) → Large-scale features
Global query → Cross-scale interaction
优点:参数效率高,计算成本可控
效果:达到甚至超越多编码器的性能
2. 密集注意力 vs. 稀疏注意力
MSSA + GSDA的互补设计:
MSSA: 多尺度密集注意力
- 捕捉精细到粗糙的空间交互
- 提供多尺度感知能力
- 复杂度:O(2NMC) where M=N/S²
GSDA: 全局稀疏注意力
- 通过token-dilation获取全局感受野
- 线性复杂度:O(2ND²C)
- 增强全局上下文理解
两者交替使用,实现了性能与效率的最优平衡。
3. 归纳偏置的融入
ScopeViT巧妙地融入了多种归纳偏置:
| 组件 | 归纳偏置 | 作用 |
|---|---|---|
| 多尺度patch嵌入 | 局部性 | 捕捉不同尺度的局部模式 |
| 深度可分离卷积 | 空间局部性 | 减少参数,增强局部感知 |
| Local-aware FFN | 局部性 | 在FFN中引入空间归纳偏置 |
| Token-dilation | 稀疏性 | 高效建模长程依赖 |
这些设计使ScopeViT在小规模数据集上也能表现出色。
🚀 实践应用建议
何时使用ScopeViT?
强烈推荐场景:
- 多尺度物体检测:航空图像、遥感、医学影像
- 细粒度分类:CUB鸟类、Stanford Cars等
- 资源受限环境:需要高性能但参数和计算受限
- 迁移学习:在小规模数据集上fine-tune
性能预期:
- 相比ResNet:显著的性能提升(+5~10% mAP)
- 相比Swin:相似或更好的性能,参数量减少25-70%
- 相比MobileViT:更高的准确率,相似或更少的计算量
模型选择指南
| 应用场景 | 推荐模型 | 参数量 | 特点 |
|---|---|---|---|
| 边缘设备 | ScopeViT-XT | 4.6M | 超轻量,适合移动端 |
| 通用视觉任务 | ScopeViT-T | 7.4M | 性价比最高 |
| 高精度要求 | ScopeViT-S | 15.1M | SOTA性能,仍保持高效 |
训练技巧
论文采用的训练配置:
# 优化器
optimizer = AdamW(lr=1e-3 × bs/1024, weight_decay=5e-2)
# 数据增强
augmentations = [
MixUp,
CutMix,
RandAug,
RandomErasing
]
# 正则化
regularization = [
StochasticDepth,
LabelSmoothing,
EMA # Exponential Moving Average
]
# 训练设置
epochs = 300
batch_size = 1024
input_size = 256×256
关键点:
- 无需token labeling或知识蒸馏就能达到优异性能
- EMA对稳定训练非常重要
- 256×256分辨率下训练,推理时可灵活调整
🔮 未来展望与局限
当前局限性
论文坦诚地指出了两个主要局限:
-
硬件效率问题
- 频繁的tensor reshaping和element-wise操作对硬件不友好
- 在资源极度受限的环境下部署仍有挑战
-
GPU内存占用
- 自注意力机制需要同时处理序列中所有元素的关系
- GPU内存使用高于ConvNets
注意:这些问题不是ScopeViT独有的,而是整个Transformer领域的共性挑战。
未来研究方向
论文提出了明确的改进方向:
1. 硬件效率优化
- 优化内存访问模式
- 减少计算冗余
- 精细化参数使用
- 量化和剪枝技术
- 设计硬件友好的操作
2. 内存效率提升
- 探索State Space Models (SSMs)
- 硬件感知设计
- 高效的序列建模技术
- 支持更大规模训练
3. 潜在扩展
- 与其他先进技术结合(如Flash Attention)
- 扩展到视频理解任务
- 3D视觉应用
- 多模态学习
📝 总结:ScopeViT的核心价值
技术创新
- MSSA:首次在单个attention层内实现真正的多尺度建模
- GSDA:通过token-dilation实现线性复杂度的全局注意力
- 单编码器架构:证明了无需多分支就能实现高效多尺度感知
- 混合设计:完美融合ConvNet和ViT的优势
实用价值
- 高性能:在多个任务上达到或超越SOTA
- 高效率:参数量和计算量显著低于同等性能模型
- 强泛化:在6个迁移学习数据集上全面领先
- 易部署:单编码器设计,易于理解和实现
方法论启示
ScopeViT的成功给我们带来了重要启示:
- 重新审视基础组件:多头注意力不一定要用相同尺度的patch
- 组合优于堆叠:MSSA+GSDA的组合胜过单一复杂模块
- 效率即创新:在保持性能的前提下降低计算成本本身就是创新
- 混合架构的潜力:ConvNet和ViT的结合仍有广阔空间
对实践者的建议
- 起步:从ScopeViT-T开始,它提供了最佳的性能/成本比
- Fine-tuning:在ImageNet预训练权重基础上进行迁移学习
- 数据增强:充分利用MixUp、CutMix等增强技术
- 调参:根据具体任务调整多尺度头的配比
💭 结语
ScopeViT代表了Vision Transformer研究的一个重要方向:在保持简洁性的同时实现多尺度感知。它不是通过堆砌复杂模块来提升性能,而是通过巧妙的设计——将多头注意力扩展到多尺度,结合高效的全局稀疏注意力——实现了性能与效率的优雅平衡。
对于研究者,ScopeViT提供了一个新的视角:多尺度建模不一定需要多分支架构。
对于工程师,ScopeViT提供了一个实用的工具:在资源受限的场景下也能达到SOTA性能。
对于学习者,ScopeViT展示了深度学习设计的艺术:简单的想法,精心的实现,出色的结果。
Vision Transformer的未来,既要"看得远",也要"看得清",更要"看得多"。ScopeViT在这条路上迈出了坚实的一步。


ScopeViT: 缩放感知视觉变压器&spm=1001.2101.3001.5002&articleId=156329234&d=1&t=3&u=cfcd3f5f203e4459a320cecd56eb755c)
337

被折叠的 条评论
为什么被折叠?



