ICCV2021 | 渐进采样式Vision Transformer

 前言 

ViT通过简单地将图像分割成固定长度的tokens,并使用transformer来学习这些tokens之间的关系。tokens化可能会破坏对象结构,将网格分配给背景等不感兴趣的区域,并引入干扰信号。

为了缓解上述问题,本文提出了一种迭代渐进采样策略来定位区分区域。在每次迭代中,当前采样步骤的嵌入被馈送到transformer编码层,并预测一组采样偏移量以更新下一步的采样位置。渐进抽样是可微的。当与视觉transformer相结合时,获得的PS-ViT网络可以自适应地学习到哪里去看。

PS-ViT既有效又高效。在ImageNet上从头开始训练时,PS-VIT的TOP-1准确率比普通VIT高3.8%,参数减少了大约4倍,FLOP减少了10倍。

 

本文来自公众号CV技术指南的论文分享系列

关注公众号CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

ICCV2021 | 渐进采样式Vision Transformer_第1张图片

论文:Vision Transformer with Progressive Sampling

代码:https://github.com/yuexy/PS-ViT

 

Background


transformer最初是为处理中等大小的序列而量身定做的,并且具有二次计算复杂度。序列长度。它们不能直接用于处理具有大量像素的图像。

为了克服计算复杂性问题,ViT采用了一种朴素的标记化(tokenization)方案,该方案将一幅图像分割成一系列规则间隔的patches,这些patches被线性投影到tokens中。通过这种方式,图像被转换成数百个视觉tokens,这些视觉tokens被馈送到transformer编码层的堆栈中进行分类。ViT取得了很好的效果,特别是在大规模数据集上进行了预训练,这证明了全transformer结构是一种很有前途的视觉任务替代方案。然而,这种tokens化方案的局限性是显而易见的。

ICCV2021 | 渐进采样式Vision Transformer_第2张图片

首先,硬分割可能会分离出一些高度相关的区域,这些区域应该用同一组参数建模,这破坏了固有的对象结构,并使输入patches的信息量变得较少。图显示猫头被分成几个部分,导致仅基于一个部分的识别挑战。其次,tokens被放置在规则网格上,而与底层图像内容无关。图显示,大多数网格聚焦在不感兴趣的背景上,这可能导致感兴趣的前景对象淹没在干扰信号中。

 

创新思路


人类视觉系统以一种完全不同的方式组织视觉信息,而不是一次不加区别地处理整个场景。取而代之的是,它循序渐进地、选择性地将注意力集中在视觉空间的有趣部分,无论何时何地需要它,而忽略不感兴趣的部分,随着时间的推移,结合来自不同注视的信息来理解场景

受上述过程的启发,论文提出了一种新的基于transformer的渐进采样(Progressive Sampling)模块,该模块能够学习从哪里看图像,以缓解ViT中简单的tokens化方案带来的问题

ICCV2021 | 渐进采样式Vision Transformer_第3张图片

论文提出的模块不是从固定位置采样,而是以迭代的方式更新采样位置。如图所示,在每次迭代中,当前采样步骤的tokens被馈送到transformer编码层,并预测一组采样偏移量以更新下一步的采样位置。该机制利用transformer的能力来捕获全局信息,通过结合本地上下文和当前tokens的位置来估计对感兴趣区域的偏移量。这样,注意力就会像人类视觉一样,一步一步地集中到图像的可辨别区域。

 

Methods


ICCV2021 | 渐进采样式Vision Transformer_第4张图片

Progressive Sampling

ViT规则地将一幅图像分成16×16块,这些块被线性投影到一组标记中,而不考虑图像区域的内容重要性和对象的整体结构。为了更好地关注图像的感兴趣区域,减轻图像结构破坏的问题,提出了一种新的渐进式采样模型。由于它的可微性,它是通过后续基于vision transformer的图像分类任务自适应驱动的。

ICCV2021 | 渐进采样式Vision Transformer_第5张图片

渐进式采样模块的体系结构

 

在每个迭代中,给定采样位置Pt和特征映射F,对初始Tokens T't和特征映射F进行采样,并将其与基于pt生成的位置编码Pt和上一次迭代的输出Tokens Tt−1进行元素级相加,然后送入一个编码层来预测当前迭代的Tokens  Tt.。通过一个基于Tt的全连接层预测偏移量矩阵,将Tt与Pt相加,得到下一次迭代的采样位置Pt+1。上面的过程迭代了N次。

在每次迭代中,通过将采样位置与上次迭代的偏移向量相加来更新采样位置。Pt+1 = Pt + Ot,  其中Ot表示在迭代t处预测的采样位置矩阵和偏移矩阵。对于第一次迭代,我们将p1初始i化为规则间隔的位置,就像在ViT中所做的那样。具体地说,第i个位置由

ICCV2021 | 渐进采样式Vision Transformer_第6张图片

其中π和π将位置索引分别映射到行索引和列索引。Sh和Sw分别为其轴向和轴向的步长。然后在输入特征图的采样位置对初始tokens进行采样,如下所示

图片

由于Pt的元素是小数,所以采样是通过双线性插值运算来实现的,该运算是可微的。输入特征图F和采样位置Pt。初始采样tokens、上次迭代的输出tokens和当前采样位置的位置编码在被馈送到一个编码层以获得当前迭代的输出tokens之前,被进一步以元素方式相加。

ICCV2021 | 渐进采样式Vision Transformer_第7张图片

将采样位置的归一化绝对坐标投影到一个嵌入空间作为位置嵌入。最后,预测除上一次迭代之外的下一次迭代的采样位置偏移量,如下所示

图片

其中Mt是用于预测采样偏移矩阵的可学习线性变换。

 

Overall Architecture

ICCV2021 | 渐进采样式Vision Transformer_第8张图片

渐进式采样Vision Transformer(PS-VIT)的总体架构

 

在给定输入图像的情况下,首先提取其特征图F。然后,在渐进式采样模块中的自适应位置pi处,对tokens Ti进行渐进式和迭代式采样。渐进采样模块的最终输出tokens TN被填充分类tokens Tcls,并进一步馈送到vision tranformer模块以细化Tcls,最终在分类模块中进行分类。

ICCV2021 | 渐进采样式Vision Transformer_第9张图片

 

Conclusion


论文提出的渐进式采样是可区分的,并且可以很容易地插入ViT而不是硬分裂,以构建端到端的vision transformer,并使用称为PSViT的渐进式采样网络来构建端到端的vision transformer。由于任务驱动的训练,PS-ViT倾向于对与语义结构相关的对象区域进行采样。此外,与简单的tokens化相比,它更关注前景对象,而对模糊背景的关注较少。

1. 当在ImageNet上从头开始训练时,提出的PS-VIT优于当前基于transformer的SOTA方法。具体地说,它在ImageNet上达到了82.3%的TOP1准确率,在只有Deit约1/4参数和1/2 FLOP的情况下,准确率比Deit更高。如图所示,论文观察到,与基于transformer的SOTA网络ViT和Deit相比,PS-ViT明显更好、更快、参数效率更高。

ICCV2021 | 渐进采样式Vision Transformer_第10张图片

2. 与其他SOTA 的对比

ICCV2021 | 渐进采样式Vision Transformer_第11张图片

3.比较PS-VIT和SOTA网络在FLOP和速度方面的效率。

ICCV2021 | 渐进采样式Vision Transformer_第12张图片

4. 渐进式采样模块中抽样位置的可视化。箭头的起点是初始采样位置(P1),而箭头的终点是最终采样位置(P4)。

ICCV2021 | 渐进采样式Vision Transformer_第13张图片

 

 欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

在公众号中回复关键字 “入门指南“可获取计算机视觉入门所有必备资料。

其它文章

MobileVIT:轻量级视觉Transformer+移动端部署

ICCV2021 | Swin Transformer: 使用移位窗口的分层视觉Transformer

ICCV2021 | 梯度归一化用于GAN

ICCV2021 | SOTR:使用transformer分割物体

ML2021 | PatrickStar:通过基于块的内存管理实现预训练模型的并行训练

ICCV2021 | PnP-DETR:用Transformer进行高效的视觉分析

ICCV2021 | 医学影像等小数据集的非自然图像领域能否用transformer?

ICCV2021 | Vision Transformer中相对位置编码的反思与改进

ICCV2021 | MicroNet:以极低的 FLOPs 改进图像识别

ICCV2021 | 重新思考视觉transformers的空间维度

CVPR2021 | TransCenter: transformer用于多目标跟踪算法

CVPR2021 | 开放世界的目标检测

CVPR2021 | TimeSformer-视频理解的时空注意模型

CVPR2021 | 一个高效的金字塔切分注意力模块PSA

CVPR2021 | SETR: 使用 Transformer 从序列到序列的角度重新思考语义分割

CVPR2021 | Transformer用于End-to-End视频实例分割

经典论文系列 | 重新思考在ImageNet上的预训练

经典论文系列 | Group Normalization & BN的缺陷

经典论文系列 | 目标检测--CornerNet  & anchor boxes的缺陷

经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择

2021-视频监控中的多目标跟踪综述

统一视角理解目标检测算法:最新进展分析与总结

全面理解目标检测中的anchor    |    实例分割综述总结综合整理版
单阶段实例分割综述    |    小目标检测的一些问题,思路和方案

目标检测中回归损失函数总结    |    小目标检测常用方法总结

视觉Transformer综述    |    2021年小目标检测最新研究综述

Siamese network综述    |    姿态估计综述    |    语义分割综述

视频理解综述:动作识别、时序动作定位、视频Embedding

你可能感兴趣的:(ICCV2021 | 渐进采样式Vision Transformer)