专栏名称: 极市平台
极市平台是由深圳极视角推出的专业的视觉算法开发与分发平台,为视觉开发者提供多领域实景训练数据库等开发工具和规模化销售渠道。本公众号将会分享视觉相关的技术资讯,行业动态,在线分享信息,线下活动等。 网站: http://cvmart.net/
目录
相关文章推荐
英国那些事儿  ·  连生两娃,他为妻子拍下10000张美照惊艳全 ... ·  3 天前  
51好读  ›  专栏  ›  极市平台

完美支持任意分辨率输入的ViT!4032×4032等超大分辨率性能完爆DeiT等

极市平台  · 公众号  ·  · 2024-03-29 22:00

正文

↑ 点击 蓝字 关注极市平台
作者丨 小书童
来源丨集智书童
编辑丨极市平台

极市导读

作者提出了一种新颖的架构:任意分辨率的视觉 Transformer (ViTAR)。ViTAR中的自适应标记合并功能使模型能够自适应地处理可变分辨率图像输入,逐步将标记合并到固定大小,极大地增强了模型的分辨率泛化能力,并且在处理高分辨率输入时减少了计算成本。 >> 加入极市CV技术交流群,走在计算机视觉的最前沿


本文解决了视觉 Transformer (ViTs)面临的一个重大挑战:它们在不同图像分辨率之间的可扩展性受限。通常,当处理与训练时看到的不同的分辨率时,ViTs的性能会下降。作者的工作引入了两项关键创新来解决这个问题。首先,提出了一种新颖的模块,用于动态调整分辨率,该模块设计了一个单一的 Transformer 块,专门用于实现高效的增量 Token 集成。其次,在视觉 Transformer 中引入了模糊位置编码,以在多个分辨率之间提供一致的位置感知,从而防止对任何单一训练分辨率的过拟合。


ViTAR(具有任意分辨率的视觉 Transformer ),展示了出色的适应性,在1120x1120分辨率下达到83.3%的top-1准确率,在4032x4032分辨率下达到80.4%的准确率,同时降低了计算成本。ViTAR在下游任务中也表现出强大的性能,如实例和语义分割,并且可以轻松与自监督学习技术(如 Mask 自动编码器)结合使用。作者的工作为提高ViTs的分辨率可扩展性提供了一种成本效益高的解决方案,为更灵活和高效的高分辨率图像处理铺平了道路。

1 Introduction

Transformer在自然语言处理(NLP)领域巨大的成功激发了计算机视觉(CV)社区内的相当大探索。特别是,视觉Transformer(ViTs)将图像分割为非重叠的块,将每个块投射成标记,然后应用多头自注意力(MHSA)来捕捉不同标记之间的依赖关系。得益于Transformer卓越的建模能力,ViTs在多样的视觉任务中取得了不错的结果,包括图像分类,目标检测,视觉-语言建模,甚至是视频识别。

图1:与其他模型的比较:当输入分辨率大于1792时,DeiT-B和ResFormer-B均遇到内存不足(OOM)错误。标注表示模型在FLOPS方面的计算负载。结果表明,ViTAR具有较低的计算开销和特别强的分辨率泛化能力。

尽管在各个领域取得了成功,但在需要处理可变输入分辨率的真实世界场景中,ViTs表现得并不尽如人意。很少有研究探索如何将ViTs适应到不同的分辨率上。实际上,没有训练可以涵盖所有的分辨率,一种简单且广泛应用的方法是在将位置编码输入到ViT之前直接进行插值。然而,这种方法在图像分类等任务中会导致性能显著下降。为了解决这个问题,ResFormer在训练过程中融入了多分辨率图像。此外,对ViT使用的位置编码进行了改进,将它们转变为更加灵活的、基于卷积的位置编码。

然而,ResFormer仍面临挑战。首先,它只能在相对较窄的分辨率变化范围内保持高性能,如图1所示。随着分辨率增加,超过892甚至更高时,模型性能明显下降。此外,由于采用了基于卷积的位置编码,将ResFormer整合到广泛采用的自监督框架中,如 Mask 自动编码器(Masked AutoEncoder, MAE)变得具有挑战性。

在这项研究中,作者提出了具有任意分辨率能力的视觉 Transformer (ViTAR),它以较低的运算负担处理高分辨率图像,并展现出强大的分辨率泛化能力。在ViTAR中,作者引入了自适应 Token 合并(ATM)模块,该模块迭代处理经过切块嵌入的 Token 。ATM将所有 Token 散布到网格上。这个过程首先将网格内的 Token 视为一个单一单元。然后逐步合并每个单元内的 Token ,最终将所有 Token 映射到一个固定形状的网格上。这个过程产生了所谓的“网格 Token ”集合。

随后,这组网格 Token 通过一系列多个多头自注意力模块进行特征提取。ATM模块不仅提高了模型卓越的分辨率适应性,同时也使得在处理高分辨率图像时具有较低的计算复杂度。如图1所示,与DeiT和ResFormer相比,ViTAR能更好地泛化到未见过的分辨率。此外,随着输入分辨率的增加,ViTAR相关的计算成本降低至仅相当于传统ViT的十分之一,甚至更低。

为了使模型能够泛化到任意分辨率,作者还设计了一种称为模糊位置编码(FPE)的方法。FPE引入了一定程度的位置扰动,将精确的位置感知转化为带有随机噪声的模糊感知。这一措施防止了模型对特定分辨率的位置过拟合,从而增强了模型的分辨率适应性。同时,FPE可以被理解为一种隐式数据增强,它让模型能够学习到更鲁棒的位置信息,并实现更好的性能。

作者的贡献可以总结如下:

  1. 作者提出了一种简单而有效的多分辨率适配模块——自适应标记合并器,使ViTAR能够适应多分辨率推理的要求。这个模块通过自适应地合并输入标记,显著提高了模型的分辨率泛化能力,并在高分辨率输入下大大减轻了模型的计算负担。
  2. 作者引入了一种模糊位置编码(Fuzzy Positional Encoding),这种编码让模型在训练过程中能够感知到鲁棒的位置信息,而不是过分拟合到特定的分辨率。作者将常用的精确点位置编码转换为模糊范围感知。这显著提高了模型对不同分辨率输入的适应性。
  3. 作者进行了大量实验来验证作者方法在多分辨率推理中的有效性。作者的基础模型在224、896和4032输入分辨率下分别达到了81.9、83.4和80.4的top-1准确度。其鲁棒性显著超越了现有的ViT模型。ViTAR在实例分割和语义分割等下游任务中也展示了稳健的性能。

2 Related Works

视觉 Transformer 。视觉 Transformer (ViT)是一种强大的视觉架构,它在图像分类、视频识别和视觉-语言学习上展示了令人印象深刻的性能。已经从数据和计算效率的角度做出了许多努力来增强ViT。在这些研究中,大多数研究者通过微调将模型适应比训练时更高的分辨率。很少有研究尝试在不进行微调的情况下直接将模型适应未知分辨率,这通常会导致性能下降。在高分辨率上进行微调通常会产生额外的计算成本。因此,设计一个可以直接处理多种分辨率的视觉模型尤为重要。然而,这个方向仍然研究得不够充分。

多分辨率推理。研究单一视觉模型能够在不同分辨率下进行推理仍然是一个很大程度上未被探索的领域。对于大多数视觉模型来说,如果在推理时使用的分辨率与训练时使用的分辨率不同,且在没有微调的情况下直接进行推理,会观察到性能下降。作为这一领域的一项开创性工作,ResFormer采用了一种涉及多分辨率训练的方法,使模型能够适应各种分辨率的输入图像。它还加入了几种独特的位置编码,增强了模型适应不同分辨率的能力。

然而,ResFormer使用的位置编码是基于卷积神经网络,这种配置难以应用于如MAE这样的自监督学习框架中。此外,ResFormer本身基于原始的ViT架构,当输入分辨率增加时,它会带来显著的计算开销。为了使模型能够适应更广泛的分辨率范围,并适用于常用的自监督学习框架,有必要进行进一步的模型优化。

位置编码。位置编码对ViT至关重要,通常为其提供位置感知和性能提升。ViT的早期版本使用了正弦余弦编码来传递位置信息,一些研究展示了这种位置编码方法的有限分辨率鲁棒性。相比之下,基于卷积的位置编码显示出更强的分辨率鲁棒性。当面临未见过的分辨率时,使用卷积位置编码的模型甚至可以实现性能提升。不幸的是,卷积位置编码阻碍了模型在如MAE这样的自监督学习框架中的应用。这使得模型难以应用于大规模 未标注 数据集的训练。

3 Methods

Overall Architecture

ViTAR的总体框架如图2所示,主要包括自适应标记合并器(ATM),模糊位置编码(FPE)以及传统的ViT架构。作者没有采用分层结构;相反,作者使用类似于ResFormer和DeiT的直接贯穿架构。

图2:顶部:ViTAR的总体架构包括自适应标记合并器 (ATM)、模糊位置编码(FPE)和标准的ViT自注意力层。底部: 左: 共享权重的ATM可以根据输入分辨率应用 次。_右_:带有虚线红色边框的FPE表示在训练期间计算位置嵌入时从中随机采点区域的标记。

Adaptive Token Merger (ATM)

图3:网格注意力机制示意图。

类似于标准的多头自注意力机制, GridAttention同样融合了残差连接。为了对齐标记的形状,作者使用了带有平均池化的残差连接。完整的GridAttention如公式1所示。

经过GridAttention处理后, 融合的标记被送入一个标准的前馈网络以完成通道融合, 从而完成一次标记合并的迭代。GridAttention和FFN进行多次迭代, 所有迭代共享相同的权重。在这些迭代过程中, 作者逐渐减小 的值, 直到 。与标准的ViT类似, 作者通常设置 。这种逐步标记融合方法显著提高了ViTAR的分辨率适应性,并当输入分辨率较大时减轻了模型的计算负担。

Fuzzy Positional Encoding

许多研究指出,常用的可学习位置编码和正弦余弦位置编码对于输入分辨率的改变非常敏感,并且它们未能提供有效的分辨率适应性。尽管基于卷积的位置编码展现出更好的分辨率鲁棒性,但其对相邻标记的感知阻止了其在如MAE这样的自监督学习框架中的应用。

作者的FPE与上述方法不同。在增强模型分辨率鲁棒性的同时, 它并不像卷积那样引入特定的空间结构。因此, 它可以应用于自监督学习框架中。这一特性使得ViTAR能够应用于大规模、未标注 的训练集进行训练, 旨在获得更强大的视觉基础模型。

在FPE中, 继ViT之后, 作者随机初始化一组可学习的位置嵌入, 作为模型的位置编码。在模型训练期间, 典型的位置编码通常向模型提供精确的位置信息。相比之下, FPE只向模型提供模糊的位置信息, 如图2所示。FPE提供的位置信息在一定的范围内发生偏移。假设目标标记的精确坐标是 , 在训练期间FPE提供的位置坐标是 , 其中 都遵循均匀分布。在训练过程中, 作者在参考坐标上加上随机生成的坐标偏移。基于新生成的坐标, 作者对可学习的位置嵌入进行网格采样, 从而得到模糊位置编码。

在推理过程中, 作者不再使用模糊位置编码, 而是选择精确的位置编码。当输入图像分辨率发生改变时, 作者对可学习的位置嵌入进行插值处理。由于在训练阶段使用了模糊位置编码, 对于任何插值的位置编码, 模型可能已经以某种方式看到并使用了它。因此, 模型获得了强大的位置适应性。结果, 在推理过程中, 面对未见过的分辨率输入时, 模型仍然表现出稳健的性能。

Multi-Resolution Training

类似于ResFormer,在训练ViTAR时,作者也采用了多分辨率训练方法。与ResFormer相比,ViTAR在处理高分辨率图像时显著降低了计算需求,这使得作者能够在训练过程中使用更广泛的分辨率。与处理包含各种分辨率的输入批次的ResFormer不同,并使用KL损失进行跨分辨率监督,ViTAR则处理每批具有一致分辨率的输入,仅依赖基本的交叉熵损失进行监督。

基于多分辨率训练策略,ViTAR可以应用于非常广泛的分辨率,并在图像分类任务中取得良好结果。同时,在处理高分辨率输入任务(实例分割、语义分割)时,ViTAR以更小的计算成本达到了现有模型的相似性能。具体来说,在需要高分辨率输入的实例分割和语义分割任务中,ViTAR在使用50%的FLOPs情况下,达到了与ResFormer和DeiT相似的结果。

4 Experiments

作者在多个视觉任务上进行了广泛的实验,例如在ImageNet-1K上的图像分类,在COCO上的实例分割,以及在ADE20K上的语义分割。作者还将在自监督框架MAE上训练模型,以验证ViTAR与MAE之间的兼容性。在这些之后,作者进行了消融研究,以验证ViTAR中每个组件的重要性。

Image Classification

设置 。作者从零开始在ImageNet-1K上训练ViTAR。作者遵循DeiT中的训练策略, 但去掉了额外的蒸馏损失监督。ViTAR唯一的监督是分类损失。作者使用带有余弦衰减学习率调度器的AdamW 优化器来训练所有模型。作者将初始学习率、权重衰减和批量大小分别设置为 和 1024。与DeiT一样, 作者采用了强的数据增强和正则化。设置包括RandAugment (randn9mstd0.5-inc1) 、Mixup (prob=0.8) 、CutMix (prob=1.0) 、Random Erasing (prob=0.25)。为了稳定训练过程, 作者还使用了层衰减。

结果 。模型在ImageNet上取得的结果展示在表1中。ViTAR在相当大的分辨率范围内展示了优秀的分类准确性。对于"S"大小的模型, 当输入图像的分辨率超过 2240 时, 由于计算资源限制, 传统的ViT架构 (DeiT和ResFormer) 无法进行推理。相比之下, ViTAR能够以较低的运算成本进行推理, 同时保持高准确性( 2800:52G, 81.3% , 3360: 72G, 80.0% )。

对于"B"大小的模型, ViTAR展现出类似的模式, 并能很好地适应输入图像分辨率的改变。当输入尺寸为 1120 时, 它展现出最佳的分类准确性为 83.3% , 但仅需要ViT 的FLOPs。同时, 根据实验结果, ViTAR随着尺寸的增加展现出改进的分辨率泛化能力(在4032的分辨率下, ViTAR-B相比于ViTAR-S实现了 的性能提升)。

表1:大小“S”与大小“B”的比较。与DeiT和ResFormer相比,ViTAR能够以极低的计算成本处理高分辨率输入图像,并展现出强大的分辨率泛化能力。

Object Detection

设置 。作者采用MMDetection来实现Mask-RCNN, 以验证ViTAR在目标检测方面的性能。作者所使用的数据集是COCO。作者的实验设置遵循ResFormer和ViTDet。作者使用常见的 训练计划来训练模型。作者应用AdamW优化器, 初始学习率为 , 并将权重衰减设置为 。遵循以前的工作, 作者使用 16 的批量大小。

结果 。在目标检测和实例分割任务中, 作者没有采用多分辨率训练策略。因此, ATM只迭代一次。在ATM中, 固定为 1 。如表2所示的结果表明, ViTAR在目标检测和实例分割方面都取得了优异的性能。具体来说, ViTAR-B的 超过了ResFormer-B 0.7, 而在其他指标上, ViTAR-B也优于ResFormer。

表2: 在COC02017数据集上, 使用Mask R-CNN和 训练计划的不同 Backbone 网络的成果与比较。性能通过 进行评估。

随后, 为了减少ViTAR的计算负担, 作者将 设置为 2 , 并将ViTAR与标准的ViT进行了比较, 如表3所示。ATM模块在保持密集预测的高精度同时, 大约减少了 的计算成本, 证明了其有效性。这些结果令人信服地表明, ATM已经获得了适应各种尺寸分辨率的能力。

Semantic Segmentation

设置。 遵循ResFormer的做法,作者采用MMSegmentation实现了UperNet,以验证ViTAR的性能。作者使用的数据集是ADE20K。为了训练UperNet,作者遵循Swin中的默认设置。作者选择AdamW作为优化器,用于训练模型,迭代次数为80k/160k。

结果 : 作者在表 4 和表 5 中报告了分割的结果。就像在目标检测中所做的那样, 作者首先将ATM的 设置为 1 , 以比较ViTAR与标准ViT模型。如表4所示, ViTAR的表现优于ResFormer和其他变体。

表4:在ADE20K数据集上不同 Backbone 网络的成果与比较。所有 Backbone 网络均在ImageNet-1k上进行预训练。

具体来说, 作者的小型模型和基础模型都比ResFormer提高了 。之后, 作者将ATM的







请到「今天看啥」查看全文