ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Transoformer再下一城之VSR-Transformer

2021-06-29 09:29:28  阅读:204  来源: 互联网

标签:Transformer right 一城 VSR pos mathcal left


在这里插入图片描述
论文连接:https://arxiv.org/pdf/2106.06847.pdf
代码链接:https://github.com/caojiezhang/VSR-Transformer
译者言:ETHz出品,第一篇在VSR中使用的Transformer模型,方法与思想值得学习。模型与实验没有文章中大批量的数学公式那样惊艳,有数学推理癖好的读者建议直接阅读原文。

看点

Transformer应用在VSR中有两大问题:

  1. 全连接的自注意层由于依赖线性层来计算注意图而忽略了对局部信息的利用。
  2. 由于词前馈层独立的处理每个输入,导致其缺乏特征对齐的能力。

为了解决第一个问题,本文提出了一个时空卷积自注意层以利用局部信息。对于第二个问题,本文设计了一个双向光流的前馈层来挖掘不同帧之间的相关性并对齐特征。本文是第一个在VSR中应用Transformer的模型。

方法

overview

本文提出的VSR-Transformer由特征提取器、Transformer编码器和重建网络组成。其中特征提取器由堆叠的残差块组成。
在这里插入图片描述

时空卷积自注意层

由于全连接的自注意层不能使用每个帧的空间信息,本文提出了一个新的时空卷积自注意层(STCSA)。给定特征图X,使用三个独立的CNN W q , W k , W v W_q,W_k,W_v Wq​,Wk​,Wv​来捕捉每一帧的空间信息。Q,K,V的生成通过如下公式:
Q = k 1 ( W q ∗ X ) , K = k 1 ( W k ∗ X ) , V = k 1 ( W v ∗ X ) Q=k_1(W_q * X),K=k_1(W_k * X),V=k_1(W_v * X) Q=k1​(Wq​∗X),K=k1​(Wk​∗X),V=k1​(Wv​∗X)其中, k 1 ( ⋅ ) k_1(·) k1​(⋅)是展开操作,然后计算相似度矩阵 σ 1 ( Q T K ) σ_1(Q^TK) σ1​(QTK)并与值V聚合以获得特征图。最后,采用折叠操作 k 2 ( ⋅ ) k_2(·) k2​(⋅)将这些滑动局部patches组合起来,并使用输出层 W o W_o Wo​来输出最终特征图,公式如下:
f 1 ( X ) = ϕ ( X + ∑ i = 1 h W o i ∗ κ 2 ( κ 1 ( W v i ∗ X ) ⏟ V σ 1 ( κ 1 τ ( W k i ∗ X ) ⏟ K ⊤ κ 1 τ ( W q i ∗ X ) ⏟ Q ) ) ) f_{1}(\mathcal{X})=\phi\left(\mathcal{X}+\sum_{i=1}^{h} \mathcal{W}_{o}^{i} * \kappa_{2}(\underbrace{\kappa_{1}\left(\mathcal{W}_{v}^{i} * \mathcal{X}\right)}_{\mathcal{V}} \sigma_{1}(\underbrace{\kappa_{1}^{\tau}\left(\mathcal{W}_{k}^{i} * \mathcal{X}\right)}_{\mathcal{K}}^{\top} \underbrace{\kappa_{1}^{\tau}\left(\mathcal{W}_{q}^{i} * \mathcal{X}\right)}_{\mathcal{Q}}))\right) f1​(X)=ϕ⎝⎜⎛​X+i=1∑h​Woi​∗κ2​(V κ1​(Wvi​∗X)​​σ1​(⊤ κ1τ​(Wki​∗X)​​Q κ1τ​(Wqi​∗X)​​))⎠⎟⎞​其中, k 1 T ( ⋅ ) = τ ◦ k 1 ( ⋅ ) k_1^T(·)=τ◦k_1(·) k1T​(⋅)=τ◦k1​(⋅)是reshape操作τ和展开操作 k − 1 k-1 k−1的组合。本文中使用单头(h=1)获得了良好的性能。
在这里插入图片描述
时空位置编码 :VSR-Transformer的结构是置换不变的,而VSR任务需要精确的时空位置信息。为了解决这个问题,本文使用3D固定位置编码将其添加到注意层的输入中。具体地,位置编码包含两个空间位置信息(水平和垂直)和一个时间位置信息,表述如下:
P E (  pos  , i ) = { sin ⁡ ( pos ⁡ ⋅ α k ) ,  for  i = 2 k cos ⁡ ( pos ⁡ ⋅ α k ) ,  for  i = 2 k + 1 \mathrm{PE}(\text { pos }, i)=\left\{\begin{array}{ll} \sin \left(\operatorname{pos} \cdot \alpha_{k}\right), & \text { for } i=2 k \\ \cos \left(\operatorname{pos} \cdot \alpha_{k}\right), & \text { for } i=2 k+1 \end{array}\right. PE( pos ,i)={sin(pos⋅αk​),cos(pos⋅αk​),​ for i=2k for i=2k+1​其中, α k = 1 / 1000 0 2 k / d 3 \alpha_{k}=1 / 10000^{2 k / \frac{d}{3}} αk​=1/100002k/3d​,k是[0,d/6)中的一个整数,‘pos’表示维度位置,d是通道维度。

双向光流前馈层

传统Transformer中的全连接前馈层忽略了利用不同帧的相关性,为了解决这个问题,本文通过使用光流进行空间对齐,提出了双向光流前馈层,如下图左所示。
在这里插入图片描述
具体地说,给定时空卷积自注意层输出的特征映射X,首先学习相邻帧之间的双向光流 O ← , O → \overleftarrow{\mathcal{O}}, \overrightarrow{\mathcal{O}} O ,O 。然后通过翘曲得到后向特征 X ← \overleftarrow{\mathcal{X}} X 和前向特征 X → \overrightarrow{\mathcal{X}} X 。在本文的实验中使用SPyNet来进行光流估计。然后将视频帧和扭曲的特征图进行聚合。作者修改了全连接的前馈层为:
f 2 ( X ) = ϕ ( f 1 ( X ) + ρ ( W ˇ 1 ∗ σ 2 ( W ˇ 2 ∗ [ V , X ‾ ] ) ⏟ backward propagation  + W → 1 ∗ σ 2 ( W → 2 ∗ [ V , X → ] ) ⏟ forward propagation  ) ) f_{2}(\mathcal{X})=\phi\left(f_{1}(\mathcal{X})+\rho(\underbrace{\check{\boldsymbol{W}}_{1} * \sigma_{2}\left(\check{\boldsymbol{W}}_{2} *[\mathcal{V}, \overline{\mathcal{X}}]\right)}_{\text {backward propagation }}+\underbrace{\overrightarrow{\boldsymbol{W}}_{1} * \sigma_{2}\left(\overrightarrow{\boldsymbol{W}}_{2} *[\mathcal{V}, \overrightarrow{\mathcal{X}}]\right)}_{\text {forward propagation }})\right) f2​(X)=ϕ⎝⎜⎜⎛​f1​(X)+ρ(backward propagation  Wˇ1​∗σ2​(Wˇ2​∗[V,X])​​+forward propagation  W 1​∗σ2​(W 2​∗[V,X ])​​)⎠⎟⎟⎞​其中, p ( ⋅ ) p(·) p(⋅)是一个融合模块。在实验中将两层网络的情形推广到由残差ReLU网络组成的多层神经网络 R 1 R_1 R1​和 R 2 R_2 R2​,公式如下:
f 2 ( X ) = ϕ ( f 1 ( X ) + ρ ( R 1 ( V , X ← ) + R 2 ( V , X → ) ) ) f_{2}(\mathcal{X})=\phi\left(f_{1}(\mathcal{X})+\rho\left(R_{1}(\mathcal{V}, \overleftarrow{\mathcal{X}})+R_{2}(\mathcal{V}, \overrightarrow{\mathcal{X}})\right)\right) f2​(X)=ϕ(f1​(X)+ρ(R1​(V,X )+R2​(V,X )))与ViT相比,本文能够捕获不同帧之间的相关性。相比BasicVSR,本文避免了对光流和特征的递归,因此允许并行计算。

实验

REDS上的测试

在都用5帧来训练的模型上,VSR-Transformer拥有较好的性能,这是因为BasicVSR和IconVSR更加适应长期的视频序列,但是VSR-Transformer的参数量缺惊人的高,这是一大待处理的弊端。
在这里插入图片描述

Vid4上的测试

在Vid4上的BI降采样的定量结果,作者分析不如BasicVSR的原因可能是BasicVSR和IconVSR在Vid4的所有帧上测试,而VSR-Transformer只在7帧上测试,亦或是Vimeo-90K-T和Vid4之间可能存在分布偏差。
在这里插入图片描述
在只有7帧的Vid4上进行测试。(这个实验有点牵强,自己模型处理长期视频效果不好就得把测试集剪切来证明自己的优越性,建议作者直接改成一帧的然后和单图超分去比)
在这里插入图片描述

消融实验

使用定性的方式来进行光流的消融实验。
在这里插入图片描述
在REDS上进行其他组件的消融实验。
在这里插入图片描述

标签:Transformer,right,一城,VSR,pos,mathcal,left
来源: https://blog.csdn.net/Srhyme/article/details/118271630

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有