DPT: Vision Transformers for Dense Prediction

基本信息

项目 内容
论文标题 Vision Transformers for Dense Prediction
作者 Rene Ranftl, Alexey Bochkovskiy, Vladlen Koltun
作者单位 Intel Labs
时间 2021
发表会议/期刊 ICCV 2021 (arXiv preprint 2020)

方法概览

特点 文章性质
输入 单张RGB图像
输出 密集预测图(如深度图、语义分割图)
所属领域 密集预测、深度估计、语义分割

摘要精简

本文提出了密集预测Transformer(DPT),一种利用Vision Transformer(ViT)作为骨干网络进行密集预测任务(如深度估计、语义分割)的新架构。与逐步下采样的卷积网络不同,ViT骨干在所有阶段保持恒定的、相对较高的特征分辨率,并具有全局感受野。这些特性使得DPT能够产生比全卷积网络更细粒度和全局一致的预测。实验表明,DPT在密集预测任务上带来显著提升,特别是在有大量训练数据时。在单目深度估计上,相比当时最好的全卷积网络,相对性能提升高达28%。在语义分割上,DPT在ADE20K数据集上取得了49.02% mIoU的新纪录。

引言与动机

  • 传统密集预测模型均基于全卷积网络(FCN),其设计存在固有局限:

    1. 为扩大感受野和降低计算成本,FCN 需通过下采样逐步压缩特征图,导致深层特征的分辨率和粒度丢失,难以在解码器中完全恢复,影响密集预测的精细度。
    2. 卷积操作的感受野有限,需通过深层堆叠才能获取足够的全局上下文,这不仅增加内存消耗,还可能导致局部特征过度强调、全局一致性不足。

    现有改进方法(如空洞卷积、跳接连接、多尺度并行特征)均未突破 “卷积” 这一核心模块的限制。而 ViT 作为图像分类的新兴架构,具有天然优势:

    • 初始图像嵌入后无显式下采样,保持 token 数量(对应图像 patch)恒定,天然保留高分辨率特征。
    • 多头自注意力(MHSA)是全局操作,每层均具备全局感受野,无需深层堆叠即可捕捉长距离依赖。
  • ViT的优势:Vision Transformer将图像视为一系列Patch Token,通过自注意力机制进行处理。ViT在计算初始嵌入后,不再进行显式下采样,所有Transformer层都保持Token数量(即空间分辨率)不变。同时,自注意力是全局操作,每一层都具有全局感受野。

  • 核心动机:利用ViT的恒定高分辨率特征全局感受野特性,构建一个更适合密集预测的骨干网络,以生成更细粒度、全局更一致的预测结果。

创新点

  1. 首次将ViT成功应用于密集预测任务:提出了一种通用的密集预测Transformer(DPT)架构,将ViT作为编码器,并设计了与之匹配的解码器,在深度估计和语义分割任务上均取得了突破性性能。
  2. 设计了高效的“重装配”解码器:提出了一种简单的三阶段Reassemble操作,将ViT输出的无序Token集合重新组装成多尺度、图像状的特征图,然后使用卷积解码器逐步融合并上采样得到最终预测。这解决了Transformer输出(bag-of-words)与密集预测所需空间结构之间的不匹配问题。
  3. 充分利用ViT的全局和分辨率特性:与卷积网络不同,DPT的编码器在所有阶段都保持高分辨率和全局感受野,这使得模型能够捕获细粒度的细节和长距离的上下文依赖,从而生成更精确、全局更连贯的预测图。
  4. 证明了ViT在大规模数据下的强大潜力:实验表明,DPT的性能提升在大型数据集上尤为显著,这与Transformer在NLP领域的观察一致,验证了其数据饥渴的特性,并能更好地从增加的数据中受益。
  5. 灵活处理不同图像尺寸:与全卷积网络类似,DPT可以通过插值位置编码和处理可变数量的Token,来适应不同尺寸的输入图像,提高了实用性。

相关工作对比及指出的问题

相关工作类别 代表性方法 对比结论与指出的问题
全卷积密集预测模型 FCN、UNet、DeepLab、PSPNet 依赖卷积和下采样,感受野有限,深层特征分辨率丢失;需通过复杂技巧(空洞卷积、跳接)弥补,仍难以兼顾精细度与全局一致性。
注意力增强卷积模型 Attention Augmented Conv、Axial-DeepLab 仅在卷积网络中引入局部注意力,未摆脱卷积的局部性限制;全局注意力计算成本过高,无法适配高分辨率特征。
Transformer 图像模型 ViT、DeIT 仅用于图像分类,输出为全局 token 或分类结果;未设计针对密集预测的特征重组与空间结构恢复机制,无法直接迁移。
多尺度融合方法 RefineNet、HRNet 基于卷积网络设计,受限于卷积的局部感受野;HRNet 虽保持高分辨率,但未结合 Transformer 的全局上下文捕捉能力。

image-20251215145109569

网络架构

DPT采用编码器-解码器结构。

  1. Transformer编码器:使用ViT(Base, Large或Hybrid变体)作为编码器。输入图像被分割为固定大小的Patch(如16x16),经过线性投影得到Patch Embedding,加上位置编码和一个额外的可学习的[CLS](readout)token,形成初始Token序列。序列经过L个Transformer层处理,每个Transformer层都包含多头自注意力(MHSA)和MLP。

  2. Reassemble 模块

    • Read 操作:处理 readout token,支持三种方式:
      • Readignore(t)={t1,…,tNp}(忽略 readout token)
      • Readadd(t)={t1+t0,…,tNp+t0}(readout token 与其他 token 相加)
      • Readproj(t)={mlp(cat(t1,t0)),…,mlp(cat(tNp,t0))}(拼接后经 MLP 投影)
    • Concatenate:根据原始Patch的空间位置,将N_p个Token重排成 (H/p)imes(W/p)imesD(H/p) imes (W/p) imes D 的特征图。
    • Resample:通过 1×1 卷积将特征维度投影至D^=256,再用 3×3 卷积(下采样)或转置卷积(上采样)调整至目标分辨率s。使用卷积或转置卷积将特征图空间尺寸调整到目标分辨率 (H/s)imes(W/s)(H/s) imes (W/s),并调整通道数到 D^\hat{D}(默认为256)。
  3. 卷积解码器

    • 融合模块:基于 RefineNet 的残差卷积单元(RCU),将多分辨率特征图逐步融合,每阶段上采样 2 倍。

    • 任务头:深度估计头含 3 层卷积,渐进减半特征维度并上采样至输入分辨率;语义分割头含卷积 + Dropout,输出类别 logits 后经双线性插值上采样。

深度图生成流程(以单目深度估计为例)

  1. 输入:一张RGB图像。
  2. 编码:图像经过ViT编码器处理,得到一系列层的Token输出。
  3. 多尺度特征提取:从指定层(如第3,6,9,12层)通过Reassemble操作,得到四个不同分辨率(如1/8, 1/16, 1/32, 1/32)的图像状特征图。
  4. 特征融合与上采样:这四个特征图通过卷积解码器(融合模块)从最低分辨率开始,逐步与更高分辨率的特征融合,并上采样2倍,最终得到一个分辨率为原图1/2的融合特征图。
  5. 深度回归:融合特征图经过一个深度估计头(由3个卷积层组成,逐步减半通道数,第一个卷积层后上采样到输入分辨率,最后一层为线性投影),为每个像素回归出一个代表逆深度的非负标量值。
  6. 输出:生成的深度图(逆深度形式,可根据需要转换)。

损失函数

  • 单目深度估计(预训练):使用尺度与平移不变性的修剪损失(scale- and shift-invariant trimmed loss),作用于逆深度表示,并结合了梯度匹配损失。损失函数设计用于处理不同数据集之间的尺度歧义问题。具体形式参考MiDaS论文。
  • 单目深度估计(微调,如NYUv2, KITTI):使用Eigen等人提出的多尺度损失函数。
  • 语义分割:使用标准的交叉熵损失,并在倒数第二个融合层输出添加了一个辅助损失头,辅助损失权重为0.2。

测试数据集

  • 单目深度估计
    • 零样本跨数据集泛化评估:DIW, ETH3D, Sintel, KITTI, NYUv2, TUM。
    • 微调评估:NYUv2, KITTI。
    • 训练数据:构建了超大规模元数据集MIX 6(约140万张图像),包含MIX 5原有数据集及五个新增数据集。
  • 语义分割
    • 主要评估:ADE20K。
    • 微调评估:Pascal Context。

消融实验

  1. 跳跃连接层选择:测试了从ViT不同层提取特征进行跳跃连接的效果。发现结合浅层(低层)和深层(高层)特征效果最好(如ViT-Base的{3,6,9,12}层)。对于Hybrid架构,使用ResNet50前两个阶段(R0, R1)的特征加上ViT层的特征效果更佳。
  2. Readout Token处理方式:比较了ignore, add, project三种方法。project(默认)略优于ignoreadd效果最差。
  3. 骨干网络对比:比较了ResNet50、ResNeXt101-WSL、DeiT-Base、DeiT-Base-Dist、ViT-Base、ViT-Large、ViT-Hybrid。ViT-Large性能最好,ViT-Hybrid在参数量和性能间取得了良好平衡。即使ViT-Base在ImageNet上预训练数据量远小于ResNeXt101-WSL(后者有弱监督十亿级数据),其性能仍可媲美或超越。
  4. 推理分辨率鲁棒性:测试了在高于训练分辨率(384x384)下进行推理的性能下降情况。DPT变体的性能下降比全卷积网络(MiDaS)更为平缓,表明其对输入分辨率变化更具鲁棒性,这归功于Transformer的全局感受野。
  5. 模型效率:对比了参数量和推理速度(CPU/GPU)。DPT-Hybrid和DPT-Large与MiDaS(全卷积)具有相当的推理延迟,尽管DPT-Large参数量大得多,但其宽而浅的结构提供了高度的并行性。

其他创新与贡献

  • 提供了高性能的即用型模型:论文开源了DPT模型,在多个基准上达到了 state-of-the-art,为后续研究和应用提供了强大的基线。
  • 深入分析了ViT注意力机制:在附录中可视化了不同编码器层的注意力图,展示了浅层注意力更局部、深层注意力更全局的趋势,为理解ViT在密集预测中的行为提供了见解。
  • 促进了Transformer在CV密集任务中的应用:DPT工作是早期成功将纯Transformer架构应用于像素级预测任务的典范之一,启发了后续大量基于Transformer的密集预测模型。