论文笔记之Understanding Deformable Alignment in Video Super-Resolution

2023-05-16

在这里插入图片描述

这篇文章是2021年的AAAI,和EDVR、BasicVSR、BasicVSR++是同一批作者。文章最重要的贡献在于①用一个统一的数学表达式去归纳flow-based对齐(如TSTN)和flow-free对齐(如TDCN);②得出了两种对齐方式高度相似性;③推出了offset-fidelity作为loss来缓解DCN训练不稳定的问题,这也为后续使用DCN来做对齐的VSR方法解决了后顾之忧。此外,文章还提出了一些关于对齐方面的小知识点,并通过实验进行验证。总的来说,虽然这篇文章的提出的大部分内容大家之前就都明白,但是它的存在为后续的VSR研究提供了理论上的支持

参考文档:
①HeatMap的理解与生成

Understanding Deformable Alignment in Video Super-Resolution

  • Abstract
  • 1 Introduction
  • 2 Related Work
  • 3 Unifying Deformable and Flow-Based Alignments
    • 3.1 Deformable Convolution Revisited
    • 3.2 Deformable Alignment
    • 3.3 Relation between Deformable Alignment and Flow-Based Alignment
    • 3.4 Offset-fidelity Loss
  • 4 Analysis
    • 4.1 Deformable Alignment vs. Optical Flow
    • 4.2 Offset Diversity
    • 4.3 Offset-fidelity Loss
    • 4.4 Modulation Masks
  • 5 Convolution

Abstract

  1. STN、DCN(或DCN-v2)的提出是为了适应图片的空间几何变换,即增加网络的空间不变性,但后来发现其可以适用于VSR的对齐中,通过使用flow-based(诸如STN方法)或flow-free(诸如DCN方法)来对支持帧做空间warp,从而实现它与参考帧的对齐。
  2. 这篇文章着重研究了flow-free类对齐和flow-based类对齐之间的关系:①首先当DCN只学习1个offset的时候,它和flow-based对齐是高度相似的;②其次作者将DCN分解成一个spatial warping和1个3D卷积(或2D卷积),从而将DCN和flow-based对齐归纳成1个表达式,关键的区别只是在offset的个数上,flow-based相当于只有1个offset。这种新型的表达式既可以表示flow-based对齐,也可以表示DCN的对齐,此外,它的offset不像DCN那样限制死了——卷积核大小的平方,而是可以为任意数值 N N N,如当 N = 1 N=1 N=1表示flow-based对齐。
  3. 一定量的offset diversity(即offset的个数)可以增加对齐的质量,从而对后续SR重建产生不错的表现力。
  4. 作者推出了一种offset-fidelity损失函数来引导光流(flow)辅助的offset学习,并通过实验证明这种loss可以避免offset的溢出以及缓解DCN训练不稳定问题。
  5. 作者对DCN的分解为flow-based对齐提供了offset diversity,从而加强了flow-based对齐本身的探索能力,提高了对齐和重建的性能。

Note:

  1. 第2点的spatial warping和STN、DCN的warp是不一样的,前者只是纯粹将DCN的卷积对象进行变形,为DCN类对齐和flow-based对齐提供统一的表达式;而后者指代的是重采样过程,或者说是一种运动补偿(对齐模块的最后阶段)。
  2. DCN的offset可以看成是flow-like,offset是一种运动信号,所以其中的每一个运动信号都可以看成是一种光流。

1 Introduction

在VSR中,对齐是一个必要的步骤,通过对齐可以建立其时间相关性(连续性)以及空间相关性来帮助后续融合SR网络获取更多细节。对齐主要分两类:flow-based,诸如VESPCN、Robust-LTD等;flow-free,诸如TDAN、EDVR等,它们隐式地完成运动补偿。之所以是隐式,是因为并不是像flow-based那样通过诸如SPyNet或者PWC-Net等那样获取光流,然后在每个位置根据光流(运动矢量)进行运动补偿(估计)或者说是warp,而是通过学习flow-like的offset,然后在基于offset的新位置出进行卷积提取特征进行warp,这一套流程和flow-based的目的是一样的都是进行空间变换,但是其步骤并不是严格的运动估计+运动补偿的过程。


这篇文章的核心是两个问题 \colorbox{yellow}{这篇文章的核心是两个问题}

  1. 显式对齐(flow-based)和隐式对齐(flow-free或者说DCN-based)之间的联系是什么?
  2. 我们之前都知道,DCN这种对齐方式要比flow-based有更好的对齐效果,从而使得最终SR重建效果更好,那么这种提升来自于哪里呢?其实在TDAN这篇文章中,作者有提到是因为DCN的探索能力更强,它每一个位置的warp都基于1个卷积核大小的特征信息,而flow-based每一个位置的warp只取决于1个位置的光流,容错率较低。作者在这篇文章中会通过一种共同表示两种对齐方式的统一式子来更深一步研究这种探索力机制。

Q 1 Q_1 Q1:作者通过将DCN分解成1个spatial warping和1个3D卷积的过程,这种方式会将2种对齐方式用统一的表达式体现出来,然后可以直接看出他们的差异仅仅只是在offset的个数上(在这里我们将flow看成是一种offset)。因此flow-based方法在每个位置上只需要学习一个offset,如下图所示( X 、 Y X、Y XY方向都统称为1个offset):
在这里插入图片描述这和我们flow-based实际在对齐过程中的学习也是一致的:左边的光流 Δ \Delta Δ我们可以通过简单的CNN堆叠(VESPCN)、SPyNet(BasicVSR)或者是PWC-Net预测得到;而flow-free对齐通过CNN学习多个offset,在DCN中,每次offset的个数是卷积核大小的平方数。从这里就可以直观的看出为何说DCN的探索能力更强,因为其每次的warp都是基于许多个运动信号(offset)综合产生的,而flow-based只取决于1个offset。
Q 2 Q_2 Q2:在第一个问题中,我们通过DCN的分解知道了2种对齐的关键差别在于offset的个数,因此直观来看offset的个数就是导致DCN性能更佳的原因,作者在后面第4节也证明了这一点。


上述2个问题都离不开offset diversity这个关键词,作者通过研究表明这个offset发现了2个有趣的点:

  1. DCN中学得的offset和光流(运动矢量)有着类似的表现形式,这表明flow-free对齐和flow-based对齐有着很高的相似度。
  2. 多样的offset比单一的offset能产生更好的SR重建性能。因为多样的offset可以互相补充特征信息来获取更强的信息探索能力,这种强探索能力可以解决遮挡问题和大运动产生的warp误差问题。这里需要分别解释下:①对于遮挡问题,如下图所示:在这里插入图片描述在对齐过程中,支持帧没有参考帧中关于手挡住树枝的信息,所以对齐中会出现问题,DCN的做法是在一个卷积核范围内,搜刮多方信息(多个offset)来输出最终warp的像素值;而flow-based其探索能力差,只取决于1个光流信号,所以通过光流决定的最终warp位置一般不会有被遮挡物体的特征信息,大多都是和树枝无相关的物体,比如说是手指,那么这样的warp最终会导致对齐的支持帧这一部分出现重影或其他artifacts。②对于大运动下的误差问题,个人认为这是一个方差问题(衡量稳定性的指标),DCN最终warp的输出是多个像素采样(卷积)的综合结果,而flow-based每个位置的warp只取决于1个光流,故其在大运动光流下的变化就会比较不稳定,这就有点类似于随机梯度下降(单样本)和小批量随机梯度下降一样。而这种差距在小运动或平缓运动下就体现不出来,因为光流本身就小,很难体现出来变化的不稳定性。

为了验证上述两个点,作者做了相关实验,实验结果如下:
在这里插入图片描述

5帧视频可以看成是物体不动,摄像机沿着右下方移动;图1是在flow-based对齐方法中学习到的光流,比如VESPCN这种;图2和图4是DCN中同一个offset窗口内(大小为卷积核大小的平方)不同的offset;图3是纯flow-based,通过这篇文章PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume提出的PWCNet来计算光流;图5和图6分别是flow-based和flow-free最终的对齐feature map。
从实验中我们可以得出结论:

  1. 无论是DCN还是单个offset版本的flow-based对齐(本文提出的),单个offset都和光流高度相似,只是存在很小的差别
  2. 图2和图4可知:DCN可以学习到多种不同的offset,图2学习到了相机的右向运动(汽车相对向左,所以呈现黄色);图4学习到了相机下向运动(汽车相对向上,所以呈现偏红色),所以DCN探索捕捉到了更丰富全面的运动信息,而图1中flow-based只能捕捉到单一的运动。这一点在最终的对齐中得到了验证,相比基于flow-based的图5,基于DCN的图6获取到了更多的细节。
  3. DCN可以捕捉更复杂的运动,而flow-based只能捕捉单一的运动
  4. 由于DCN具有较强的探索能力,所以其对齐不容易出现artifacts;而flow-based对齐方法由于高度依赖于运动估计的准确性,每个位置的warp仅仅取决于1个光流信号,所以容错率低,不正确的光流就会很容易出现artifacts,如图5的轮胎所示。

Note:

  1. 此外需要指出的一点是光流图的颜色代表着物体运动的方向,光流图颜色的深浅代表着运动的速率。

Flow-free vs Flow-based \colorbox{hotpink}{Flow-free vs Flow-based} Flow-free vs Flow-based
①基于DCN的对齐方式以强探索能力著称,可以有效应对遮挡、大运动问题(注意是缓解,而不是解决,想通过DCN解决大运动问题需要级联多个DCN且基于不同的分辨率做可变形卷积,即EDVR的做法)。
②先不讨论特征校正的问题,Flow-based对齐每个位置的warp只取决于1个运动矢量,因此其高度依赖于运动估计的准确性,容错率较低,比flow-free更容易出现artifacts,虽然flow-free也会出现artifacts,但是其基于其较丰富的offset信息使得artifacts很少出现。
③此外flow-based一般都是two-stage,速度相对较慢。


Offset-fidelity \colorbox{dodgerblue}{Offset-fidelity} Offset-fidelity
基于上述对比,我们在对齐上最佳的选择就是DCN这种flow-free做法,但是DCN的一大缺陷在于训练不稳定以及offset容易溢出问题,为了解决这个麻烦,作者提出了以offset-fidelity为损失函数来实现flow-based引导DCN中offset的学习,实验证明这种策略确实稳定了offset的训练。


通过DCN的分解成本文的新型表达式之后,我们明白了2种对齐方式的差异在offset的个数上,因此对于基于flow-based方法的对齐来说,增加offset的个数是提升对齐性能的关键;此外本文提出的新型表达式并不像DCN那样限定offset diversity(卷积核大小的平方),而是可以任意offset个数,因此这种分解之后的新表达拥有更大的灵活性


小结一下本文的贡献:

  1. 探究了flow-free和flow-based对齐之间的关系——两者可以使用同一个表达式来归纳,只不过offset个数不同。
  2. 作者研究了offset diversity的好处,表明offset的个数是提升对齐质量和后续SR重建的关键。
  3. 在保持DCN中offset多样性的同时,使用offset-fidelity损失函数来稳定DCN的训练。
  4. 通过分解DCN形成新的表达式为flow-based对齐方法增加表现力提供了方案——增加offset的个数。

2 Related Work

3 Unifying Deformable and Flow-Based Alignments

3.1 Deformable Convolution Revisited

在这里插入图片描述

首先简要介绍下DCN,假设可变形卷积核为 3 × 3 3\times 3 3×3 p , p k , Δ p k , Δ m k p,p_k,\Delta p_k,\Delta m_k p,pk,Δpk,Δmk分别为输出点坐标;卷积核内第 k k k个位置, p k ∈ { ( − 1 , − 1 ) , ( − 1 , 0 ) , ⋯   , ( 1 , 1 ) } p_k\in \{(-1,-1),(-1,0),\cdots,(1,1)\} pk{(1,1),(1,0),,(1,1)};offset;modulation mask。此外 n n n表示卷积核的大小,此处 n = 3 n=3 n=3
x , y x,y x,y表示输入和输出,则DCN-v2的表达式为:
y ( p ) = ∑ k = 1 n 2 w ( p k ) ⋅ x ( p + p k + Δ p k ) ⋅ Δ m k . (1) y(p) = \sum^{n^2}_{k=1} w(p_k) \cdot x(p+p_k+\Delta p_k) \cdot \Delta m_k.\tag{1} y(p)=k=1n2w(pk)x(p+pk+Δpk)Δmk.(1)Note:

  1. DCN-v2是DCN的进阶版,增加了modulation mask来控制offset的幅度且 Δ m k ∈ [ 0 , 1 ] \Delta m_k\in [0,1] Δmk[0,1],其相当于一种注意力机制,给予给DCN表现力增加最多的offset设置更多的权重
  2. 关于更多DCN的介绍可参考我的另一篇深度学习之DCN;关于更多DCN-v2的介绍可参考我的另一篇深度学习之DCN-v2。
  3. 实际操作中,我们会将输入的 C C C个通道进行分组卷积,假设为 G G G组,每组的通道数为 C / G C/G C/G,每组只学习1份深度为 n 2 n^2 n2的offset参数矩阵,因此一共学习 n 2 ⋅ G n^2\cdot G n2G张offset特征图。

3.2 Deformable Alignment

根据TDAN、EDVR可知,DCN中offset的学习都是基于参考帧特征和支持帧特征的concat(或者说是Early fusion,时间融合的一种方式,利用了视频之间的时间相关性,而图像上的卷积由于是局部的,所以利用了图像的局部空间相关性。
VSR中的DCN属于一种变体,因为它的输入是时间相关的相邻帧,所以我称之为Temporal-DCN(TDCN),其示意图如下:
在这里插入图片描述
F t , F t + i F_t,F_{t+i} Ft,Ft+i分别为参考帧和支持帧,对齐的目的就是获取和参考帧对齐的对齐版本的支持帧 F ^ t + i \hat{F}_{t+i} F^t+i,所以是要在支持帧上进行空间变换,而offset是由参考帧和支持帧共同学习得到的,数学表达式如下:
F ^ t + i ( p ) = ∑ k = 1 n 2 w ( p k ) ⋅ F t + i ( p + p k + Δ p k ) ⋅ Δ m k . (2) \hat{F}_{t+i}(p) = \sum^{n^2}_{k=1} w(p_k)\cdot F_{t+i}(p+p_k+\Delta p_k)\cdot \Delta m_k.\tag{2} F^t+i(p)=k=1n2w(pk)Ft+i(p+pk+Δpk)Δmk.(2)Note:

  1. 参考帧只是作为一个标签,其只用于求取offset,并不在DCN学习的计算图中。
  2. 可以看出DCN的学习中,offset diversity是固定的,即卷积核大小的平方 n 2 n^2 n2

3.3 Relation between Deformable Alignment and Flow-Based Alignment

这一节开始介绍DCN类对齐方法和flow-based对齐的联系,作者将两种对齐方法用统一的表达式进行描述。具体而言,两种对齐的联系可通过将DCN的过程分解成1个spatial warping和1个3D卷积的过程来刻画。
x k ( p ) = x ( p + p k + Δ p k ) x_k(p) = x(p+p_k+\Delta p_k) xk(p)=x(p+pk+Δpk),则式(1)可变为:
y ( p ) = ∑ k = 1 n 2 w ( p k ) ⋅ x k ( p ) . (3) y(p) = \sum^{n^2}_{k=1} w(p_k)\cdot x_k(p).\tag{3} y(p)=k=1n2w(pk)xk(p).(3)因此我们可以将式子(3)总体看成1个先将图片 x k ( ⋅ ) x_k(\cdot) xk()变形然后进行卷积核为 1 × 1 × n 2 1\times 1 \times n^2 1×1×n2的3D卷积,具体如下所示:
在这里插入图片描述
Note:

  1. 这个spatial warping有点类似于PixelShuffle的逆过程。
  2. 通过将 n 2 n^2 n2改变为任意正整数 N ∈ N N\in \mathbb{N} NN,可以将DCN扩展成一个新的对齐表达式,它比DCN更加灵活,因为DCN中的 N N N必须是1个卷积核大小的平方。接下去为了统一叙述,offset的个数都用 N N N表示。
  3. 因为上述3D卷积中,输入图像格式为 ( N , C , T , H , W ) (N,C,T,H,W) (N,C,T,H,W),卷积核为 ( C , o u t _ c h a n n e l s , T , F H , F W ) (C, out\_channels, T,FH,FW) (C,out_channels,T,FH,FW),所以其可以看成是以卷积核为 ( C , o u t _ c h a n n e l , F H , F W ) (C,out\_channel,FH,FW) (C,out_channel,FH,FW) ( N , C ∗ T , H , W ) (N,C*T,H,W) (N,CT,H,W)做2D卷积。
  4. n = 1 n=1 n=1,则每次卷积只对1个位置上经过运动信号的偏移之后进行特征提取,那这就等效于flow-based中每个位置的warp只取决于1个运动矢量,然后根据这个运动信号进行一些插值去采样提取输入上的特征信息。因此我们就可以将DCN和flow-based对齐用一个表达式来统一,并且需要指出的是它两唯一的不同只是offset个数不同,即offset diversity。从这里我们也可以看出flow-based的光流可以看成是1个offset,DCN中1个 n × n n\times n n×n的offset矩阵内每一个offset都可以近似看成1个flow
  5. 这种新表达式具备统一性的可变形卷积,因此其比标准的DCN更具灵活性。

根据我们得到的新表达式,我们可以获取2种对齐方式的统一表达,并且可以引出3个结论:

  1. 真正引起DCN优于flow-based对齐的因素是offset的个数,作者后续会通过实验进行验证。
  2. 并不是offset越多对齐的性能越好,后续实验证明了增加到一定程度会进入一个平稳期;此外offset越多就会消耗越多的计算资源,因此实际需要在性能和计算复杂度之间平衡
  3. 既然offset个数可以增加对齐以及后续SR的表现力,那么往flow-based对齐内引入多个offset机制也是有必要的,后续实验证明了在flow-based中增加offset个数可以增加表现力。

3.4 Offset-fidelity Loss

DCN虽然有较多的offset从而产生较强的探索能力,但是其有一个缺陷在于当网络复杂度增加,其训练会不稳定,offset的溢出会降低表现力。为了解决这个问题,作者提出了一种offset-fidelity损失函数去训练DCN,其表达式如下所示:
L ^ = L + λ ∑ n = 1 N L n . (4) \hat{L} = L+\lambda \sum^N_{n=1}L_n.\tag{4} L^=L+λn=1NLn.(4)其中 L L L是data-fitting损失,例如EDVR和BasicVSR中使用的Charbonnier损失函数:
L = 1 N ∑ i = 0 N ρ ( y i − z i ) , ρ ( x ) = x 2 + ϵ 2 , ϵ = 1 × 1 0 − 8 , z i : G T . L = \frac{1}{N}\sum^N_{i=0}\rho(y_i - z_i),\\ \rho(x) = \sqrt{x^2 + \epsilon^2},\epsilon = 1\times 10^{-8},z_i:GT. L=N1i=0Nρ(yizi),ρ(x)=x2+ϵ2 ,ϵ=1×108,zi:GT.此外 L n = ∑ i ∑ j H ( ∣ x n , i , j − y i , j ∣ − t ) ⋅ ∣ x n , i , j − y i , j ∣ . (5) L_n = \sum_i\sum_j H(|x_{n,i,j} - y_{i,j}| - t) \cdot |x_{n,i,j} - y_{i,j}|.\tag{5} Ln=ijH(xn,i,jyi,jt)xn,i,jyi,j.(5)其中 H ( ⋅ ) H(\cdot) H()为Heaviside函数(单位阶跃函数); y i , j , x n , i , j y_{i,j},x_{n,i,j} yi,j,xn,i,j分别表示为现成的光流计算结果和在DCN中offset特征图位置 ( i , j ) (i,j) (i,j)处的第 n n n个offset; λ , t \lambda,t λ,t是超参数,用于控制DCN中offset的多样性,其 λ = 1 , t = 10 \lambda=1,t=10 λ=1,t=10是个合理的值。
Note:

  1. 对于光流,每个位置 ( i , j ) (i,j) (i,j)只有1个值;对于DCN,每个位置 ( i , j ) (i,j) (i,j) N N N个。

接下来我们分析下为何这个offset-fidelity损失函数可以稳定offset的训练。
分析 : \colorbox{mediumorchid}{分析}:
⋆ ⋆ ⋆ \star\star\star 损失函数通过 H ( ⋅ ) H(\cdot) H()函数将每个offset限定在光流的周围,而我们已经知道DCN的offset和光流是高度相似的,所以最小化二者的距离是不会太大损失offset,这种限制可以避免每一个offset跑飞(即溢出)。由于offset的学习是基于光流的值,而光流是之前计算好的较为准确的,因此这种损失函数实现了光流引导offset学习的模式。
Note:

  1. Robust-LTD也是一种光流引导的变换参数学习,只不过其引导的仍然是光流;VESPCN采用二阶段光流学习来实现光流预训练。

4 Analysis

4.1、4.2节都采用DCN-v1,即没有modulation mask的DCN版本。

4.1 Deformable Alignment vs. Optical Flow

设置 G = N = 1 G=N=1 G=N=1,即DCN仅仅之去学习1个offset,这就和flow-based每个位置的warp只取决于1个位置处的运动矢量很相似,因此学习到的offset和flow应该是十分类似的,作者经过实验也表明了这一点,实验结果如下:
在这里插入图片描述
实验结论如下:

  1. 单个offset的学习和光流的学习是十分相似,但也是有微小的差距
  2. 从对齐来看,flow-based出现了重影、边界缺失等artifacts,而DCN却没有。这正式两种对齐方式的微小差距导致,从图中看出单个offset能学到的运动比光流都要复杂,更别说多个offset了,因此flow-based对于VSR来说不是一个最佳的选择

Note:

  1. 光流估计是由PWC-Net做的。
  2. 上述flow-based对齐和BasicVSR一样,是基于feature-wise。而诸如VESPCN、Robust-LTD的对齐都是image-wsie,这种对齐容易出现artifacts,是因为比如flow-based代表STN-based中会引入双线性插值来做重采样,插值就会引进一些重复的信息,而损失了很多高频信息,这样自然会出现类似重影等artifacts,虽然DCN这种feature-wise也会有插值,但是好在其具有较强的探索能力,以及特征校正模块,所以其很少出现artifacts。作者通过将flow-based对齐中的特征对齐用图像对齐来替换,发现PSNR下降了 0.84 d B 0.84dB 0.84dB,实验数据如下:在这里插入图片描述
    证明了feature-wise对齐比image-wise对齐效果更好,更有助于SR重建表现力的提升;此外作者还进行相关可视化,实验结果如下:在这里插入图片描述
  3. 判断对齐基于feature还是image,关键看warp在特征上还是图像上,这一点在TDAN、BasicVSR中都有指明。

另一个实验同样也说明了学习1个offset的DCN对齐和光流对齐是高度相似的:
在这里插入图片描述

4.2 Offset Diversity

Decomposition Equivalence \colorbox{dodgerblue}{Decomposition Equivalence} Decomposition Equivalence
在3.3节中我们将DCN进行分解,产生了关于对齐的新的统一表达式,其最大的优点在于offset个数的灵活性,为了验证它和DCN的等效性,作者做了相关实验进行验证,实验结果如下所示:
在这里插入图片描述
从实验结果来看,DCN和Ours表现力相差无几,因此作者提出的新表达式是有效的,其可以代表DCN。
Note:

  1. EDVR-M是轻量版本的EDVR,其兼具效率与表现力。
  2. Ours虽然在 N = 1 N=1 N=1的时候可以近似代表flow-based对齐,但是仍然还是可变形卷积,只不过在offset设置上比DCN更加灵活。

Learned Offsets \colorbox{yellow}{Learned Offsets} Learned Offsets
我们已经知道flow-based对齐和DCN-based对齐主要区别在于offset的个数,因此作者接下去要研究学习多个offset( N > 1 N>1 N>1)在对齐中各自扮演了什么角色,为此作者设置 G = 1 G=1 G=1,对比 N = 15 N=15 N=15 N = 1 N=1 N=1的offset学习可视化,两者通过本文提出的Ours来做。
作者将15个offsets可视化出来,各自挑选2个offset表示和flow最接近和最不接近的光流体,实验结果如下:
在这里插入图片描述
实验结论如下:

  1. 存在着一些单个offset确实和光流高度接近但仍有微笑的差别,比如第一行;同时也存在一些单个offset和光流有不同的物体估计运动方向,比如第二行。
  2. 无论是光流还是offset,虽然都将不同运动的物体分割出来并正确显示了物体的大致形状,但是它们都没能正确反应真实的运动方向
  3. 作者刻画了像素级的标准差来衡量不同offset在每个像素上和flow的差距,大致如下图所示:在这里插入图片描述作者发现越是flow对齐不好的区域,offset在这个区域的多样性越明显,表现在标准差上就是 σ \sigma σ比较大。这种区域大多是看不见的区域,诸如遮挡、边界区域。如上图Figure 6所示,diversity heatmap显示的是对多样性贡献最大的物体的可视化,可以看出在边界处,offset表现得非常多样(这也是DCN更善于处理遮挡边界问题),这是因为offset在处理看不见的区域的时候,因为DCN也是无法获取确定的运动方向,因此各个offset的值偏随机化(这也是DCN探索能力强的原因),最后DCN通过各个offset的综合结果作为最后warp的值,这个值一般都会比只被1个运动矢量影响的flow-based要好很多,这一点也在figure 6中得到了验证:flow-based处理轮胎的时候,运动方向是有问题的;而DCN不同的offset展现了不同的运动方向,这种运动信息的多样性最终会为对齐带来很好的性能提升,这一点在Figure 1中对齐结果体现了出来。

当继续增加到25个offset,实验结果如下:
在这里插入图片描述
从图中可以看出,哪怕是增加到了25,每个offset在大致形状上还是和光流高度相似,但是每个offset的预测方向几乎是不同的,这些运动信息可以互为补充,从而最终在可变形卷积中聚合起来,从而产生更佳的对齐特征


此外,在另一个实验中,实验结果如下:
在这里插入图片描述
实验结果如下:

  1. 光流(flow)和单个offset高度相似,但存在微小的差别。
  2. 从第二行行人中看出,光流和offset表现类似,但是显然后者在边界上更加突出。

Contributions of Diversity \colorbox{lavender}{Contributions of Diversity} Contributions of Diversity
上面只是光流图,为了验证多个offset在边界、遮挡这种看不见区域下对对齐性能的影响,接下来我们对比 N = 1 N=1 N=1 N = 15 N=15 N=15在处理边界上的差异,实验结果如下:
在这里插入图片描述
可以看出来在边界这种在下一帧就不存在的情况会当 N = 1 N=1 N=1这种少offset的DCN产生artifacts,这也和flow容易在边界差生artifacts也是相符的;而反观 N = 15 N=15 N=15在边界处理这些看不见区域上,DCN具有较强的探索能力,其具有多样丰富的运动信息,因此对于这种看不见区域的对齐有较鲁棒的预测

Increasing Offset Diversity \colorbox{violet}{Increasing Offset Diversity} Increasing Offset Diversity
实验一:接下来我们探究 N N N的值对于对齐表现的影响,实验结果如下:
在这里插入图片描述
实验结论:

  1. N N N从1升到5,对于SR重建性能的增加幅度是很大的;但是之后逐渐增加 N N N,虽然也有一定的提升,但似乎进入了平缓期;更重要的是,不断增加 N N N的同时计算效率也在变低,因此如何平衡计算效率与表现力是一个关键。
  2. 作者指出,DCN很难进行平衡计算效率和重建表现力,因为其 N N N是个固定的值,而本文提出的ours这个具有统一性的可变形卷积可以有效调节至最佳的计算效率和表现力的trade-off,这也就体现了ours的灵活性。
  3. 如Figure 9所示,表现力和offset diversity的皮尔逊相关系数为0.9418,这证明了一定的offset的个数确实有助于表现力的提升。

实验二:进一步探究 N N N的增加对SR重建表现力和计算效率的影响,实验结果如下:
在这里插入图片描述
实验结论:

  1. 我们可以将 N = 1 N=1 N=1看成是flow-based对齐,因此 N : 1 → 3 N: 1\to 3 N:13意味着从flow-based对齐到可变形卷积的对齐,SR重建性能显著提升,而继续从 3 → 25 3\to 25 325,从视觉上看重建表现力并没有显著提升。
  2. 从Figure 16可以看出,当 G = 1 , N : 1 → 5 G=1,N:1\to 5 G=1,N:15时候,PSNR每增加1M的参数其值增加了2.893;当 G = 1 , N : 5 → 25 G=1,N:5\to 25 G=1,N:525,PSNR增加了3M的参数量其值总共才增加了2.668。
  3. 因此在实际中,我们需要合理调节 N N N的值来实现计算效率和表现力的平衡。

实验三:对于 N N N的增加对对齐表现中物体定位的影响,作者还增加了补充实验,实验结果如下:
在这里插入图片描述
实验结论:

  1. 从对齐特征图中可知,当offset较少时,由于获取较少的运动信息,因此其对于物体的定位十分模糊,出现了一大片黑色区域;而当offset的个数增加到5时,显然对齐特征图中可以较为清晰的定位到物体的位置信息。

实验四:接下来我们讨论可变形卷积分组 G G G对SR重建的表现力以及对计算效率的影响,我们之前一直到对于分组 G G G,一共有 G × N G\times N G×N个offset可以被学习,因此增加 G G G对于offset的多样性也是有帮助的,实验结果如下:
在这里插入图片描述
实验结论:

  1. 和增加 N N N一样,对于分组 G G G的增加也可以提升表现力,因为可变形卷积分组的增加使得offset变得多样丰富。
  2. 同样的,一旦当可变形卷积分组增加到了一定值的时候,对表现力的提升就会很小,而计算资源的消耗就会很大,故如何选择合适的分组是平衡计算效率和表现力的关键。

此外作者在TDAN和TOFlow上进行了相关实验,实验设置为TOFlow的warp基于LR而非原版中的HR,以及因为这个模型属于flow-based对齐算法,所以offset的个数通过多个SPyNet实现。
实验结果如下:
在这里插入图片描述
实验结论如下:

  1. Offset的增加确实可以提升VSR的重建表现力。
  2. TOFlow模型属于flow-based的image-wise,表明增加offset的个数也可以延申到flow-based方法中,和flow-free一样,同样可以提升表现力。

4.3 Offset-fidelity Loss

DCN方法有个缺陷在于随着网络模型复杂度的增加,其训练会变得不稳定,且offset的溢出可能会使得对齐之后的输出feature map全为0,这会使得DCN-based对齐的VSR方法变成SISR方法。为了避免这种不稳定现象,offset-fidelity损失函数可以将offset限定在光流周围,由于单个offset和光流高度接近,因此这种做法是合理的。
作者设置了关于offset-fidelity损失函数的相关实验,实验基于EDVR-L(只使用Charbonnier损失函数)实验结果如下:
在这里插入图片描述
Note:

  1. Offset-fidelity损失函数可以更好的降低损失函数,说明了flow对offset的限制是有效的。
  2. 在REDS数据集上, 300 k 300k 300k个iterations之后,不带offset-fidelity损失函数的EDVR的offset直接溢出,从而使得损失不降反增。
  3. Offset-fidelity的确可以稳定Offset的训练
  4. Offset-fidelity损失函数对offset的稳定训练最终会使得SR重建性能的提升,实验结果如下所示:在这里插入图片描述

相关的可视化结果如下:
在这里插入图片描述

4.4 Modulation Masks

在DCN-v2中提出了modulation masks,即 Δ m \Delta m Δm,其引出是为了调控offset的幅度,使其出现在更加有利于对抗空间变换的采样区域。他本质也是一种注意力机制,让offset更加注重出现在合适的空间变换区域。
为了探究modulation masks和offset之间的关系,作者做了相关实验,实验结果如下:
在这里插入图片描述
在Figure 17中,横轴是光流和offset的差异,纵轴是所有offset各自对应的modulation mask的平均值。可以看出差异越小,所对应下的平均modulation masks就会更大,意味着modulation mask会更加关注和光流比较接近的offsets,给与它们更多的注意力值,这一点可以在Figure 18中得到验证。此外,当offset diversity增加的时候,modulation mask在光流和offset有较大差距的区域的值会更加小,这其实是因为当分组 G , N G,N G,N增加的时候,表现力到达瓶颈期,所以很多offset就会显得冗余,故总体平均modulation mask就会下降。

5 Convolution

  1. 本文通过将DCN进行分解成1个空间变形操作和1个3D卷积形成一种具有统一性的可变形卷积,它比普通的DCN更具灵活性,因为其offset个数可以为任意正整数,而不用限定在卷积核大小的平方值。此外,当offset为1时,这种可变形卷积就相当于是flow-based对齐,从而揭示了flow-based和DCN之间的关键不同在于offset的个数。
  2. 作者为了缓解DCN中offset训练的不稳定以及溢出问题,提出了offset-fidelity损失函数去限定每个offset在光流附近,或者说让预先计算好的光流来引导offset的学习,避免offset跑飞。
  3. 在一定程度上,越多的offset的个数(多样性)可以提供更多丰富的运动信息,这的确有利于对齐的准确性,从而提升后期融合SR重建性能;此外,offset由于其丰富性或较强的探索能力使其对看不见的区域,比如遮挡、边界问题十分鲁棒。
  4. 光流和单个offset具有高度相似性,但仍然具有微小的差别。
  5. DCN对齐比flow-based对齐具有更好的对齐性能,这得益于offset的多样性,因此同样也可以通过提升flow-based对齐中offset的多样性来增加表现力
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文笔记之Understanding Deformable Alignment in Video Super-Resolution 的相关文章

  • 仅使用 url 嵌入视频

    给定一个 youtube url 我如何使用 net c 将视频嵌入到页面中 只需添加如下一行 将 autoplay 设置为 0 或 1 取决于您是否希望人们真正留在您的页面上
  • 流媒体视频文件?

    我需要流式传输 flv 文件 流媒体应该看起来像直播 我应该有一种方法可以更改目标文件 抱歉我的英语不好 如果 流式传输 的意思是 显示 Flash 视频剪辑 则 flv streaming 并不是真正的流式传输 而是正常的文件传输 即使文
  • 视频流上的 TCP 与 UDP

    我刚从网络编程考试回来 他们问我们的问题之一是 如果您要传输视频 您会使用 TCP 还是 UDP 请解释一下存储视频和实时视频流 对于这个问题 他们只是希望得到一个简短的答案 TCP 用于存储视频 UDP 用于实时视频 但我在回家的路上想到
  • AVFoundation (AVPlayer) 支持的格式?没有 .vob 或 .mpg 容器?

    在 Mac 应用程序中使用 AVPlayer 可以全屏播放文件夹中的随机视频 但当我尝试播放 vob 文件或 mpg 文件时 我只会看到黑屏 黑屏的持续时间与视频持续时间一样长 AVFoundation 不支持从这些容器播放吗 我认为既然它
  • 通过 Websockets 进行 WebRTC 视频聊天

    我正在尝试使用 webRTC 和 WebSockets 进行信号发送来开发视频聊天应用程序 我的问题是 我不知道创建 RTCPeerConnection 并通过 webSocket 连接两个对等点 2 个浏览器 的过程是什么 至少在本地 我
  • 使用 ffmpeg 提取帧的最快方法?

    您好 我需要使用 ffmpeg 从视频中提取帧 有没有比这更快的方法 ffmpeg i file mpg r 1 1 filename 03d jpg 如果 JPEG 编码步骤对性能要求太高 您可以始终将未压缩的帧存储为 BMP 图像 ff
  • 揭秘Python中的super?

    我试图了解 super 在 python 中的工作原理 并尝试了以下示例 class A object def init self print in A s init class B object def init self print i
  • 重新采样 H264 视频以降低帧速率,同时保持高图像质量

    以下是感兴趣的视频的 mplayer 输出 br carina tmp mplayer foo mov mplayer Symbol ff codec bmp tags has different size in shared object
  • 如果在构造函数中使用 super 调用重写方法会发生什么

    有两个班级Super1 and Sub1 超1级 public class Super1 Super1 this printThree public void printThree System out println Print Thre
  • 在 ffmpeg 中,如何使用scale2ref 过滤器缩放 dvdsub 字幕以匹配视频大小?

    我有一个从直播电视录制的 mpeg 文件 其中包含视频以及多个音频和字幕流 我的最终目标是能够创建较小的视频文件 因为 mpeg 文件大小为数 GB 我在这条道路上的第一步只是能够选择视频 音频和字幕流中的每一个并将它们复制到 mkv 文件
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 单个成员结构的对齐和大小保证

    给定一个 可能非 POD struct具有单个成员 没有继承 也没有虚方法 struct Foo Bar value Foo do something C 是否保证Foo将具有相同的对齐方式并且sizeof as Bar 如果不能 那么可以
  • 不使用控件时,视频元素在 Chrome 中消失

    So I think这是一个浏览器错误 它出现在一个更复杂的设计 网站中 但我已经进行了很好的尝试 简化了我的代码和设计等 并发现了以下内容 嵌入时
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • Bash 脚本:自动为 mpeg-dash 进行 ffmpeg 编码

    我正在编写一个 bash 文件来创建视频编码和串联 以供 dash 实时流媒体使用 基本上 它读取输入视频文件夹 将所有视频编码为三种分辨率格式 然后将它们连接起来创建三个适应集 DIAGRAM 该脚本检查 fps 一致性 如果输入不是 1
  • 某些网站如何在 iOS Safari 中内嵌播放视频?

    非常令人难以置信 因为我认为所有视频都可以在常规野生动物园中扩展为全屏播放 例如检查一下 https entertainment theonion com the onion reviews rogue one 1819596116 htt
  • Html 视频播放器播放声音但不播放视频

    我正在制作网页 并尝试插入视频 视频播放器加载正常 您可以按播放 但只播放音频 而不播放视频 在 Chrome 中预览时 在 firefox 中查看时可以正常工作 我的代码如下
  • 无法居中对齐画布

    我一直在谷歌搜索解决方案但无济于事 我只想center align my canvas 我努力了float center text align center margin top 100px但我的舞台没有在浏览器中居中对齐 任何帮助表示赞赏
  • 在问题内显示内联块文本

    我一直在尝试显示内联块 如果我没有在 div 中添加任何内容 一切都会很好 但是当我这样做时 div 会折叠起来 我不知道确切的原因 任何想法 https jsfiddle net giancorzo ebqoptbd https jsfi

随机推荐

  • git clone 报错:fatal: Unencrypted HTTP is not supported for GitLab. Ensure the repository remote URL i

    git版本问题 xff0c 是当前版本过高 xff0c 要求使用https协议 xff0c 需要根据需要安装指定版本 遇到这个问题时我的git版本是 xff1a 需要安装指定版本
  • 以太网帧间隙

    以太网帧间隙 1 什么是IFG xff1f xff08 What xff09 IFG Interframe Gap 帧间距 xff0c 以太网相邻两帧之间的时间断 xff1b 以太网发送方式是一个帧一个帧发送的 xff0c 帧与帧之间需要间
  • Debian修改系统默认语言

    系统版本 xff1a Debian 10 1 0x64 安装过程中选择了中文作为默认语言 xff0c 即zh CN UTF 8 xff0c 现将系统默认语言改为英文 修改方法 xff1a 在Terminal中键入以下命令 xff1a sud
  • 通俗的解释docker

    Docker的思想来自于集装箱 xff0c 集装箱解决了什么问题 xff1f 在一艘大船上 xff0c 可以把货物规整的摆放起来 并且各种各样的货物被集装箱标准化了 xff0c 集装箱和集装箱之间不会互相影响 那么我就不需要专门运送水果的船
  • Golang-Bcrypt加密

    从安全上讲 xff0c 用户密码一般都是要经过加密 xff08 而且不能被解密 xff09 后才存储于数据库中 xff0c 相信现在已经没有什么公司蠢到直接以明文存储密码了吧 通常有很多方式可以实现密码加密 xff0c 譬如MD5签名 xf
  • MySQL 5.7 主从复制

    主从复制概念 MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点 MySQL 默认采用异步复制方式 xff0c 这样从节点不用一直访问主服务器来更新自己的数据 xff0c 数据的更新可以在远程连接上进行
  • VsCode C++ namespace has no member错误

    此问题VSCode C 43 43 插件本身bug 在官方未推出相应布丁之前 xff0c 可按照以下步骤避免该问题 xff1a 1 按顺序打开 xff1a 文件 首选项 设置 2 在右边 xff0c 用户设置窗口添加以下代码 xff1a 3
  • 树莓派4B +远程SSH+远程桌面

    一 有线SSH连接树莓派 我的实验环境是笔记本电脑 43 树莓派4B 具体步骤为 xff1a 1 电脑连接上无线网络 xff0c 将电脑网线连接树莓派 2 打开如下界面 3 双击WLAN gt gt 点击属性 gt gt 再点击共享 选择以
  • springboot整合mybatis-plus代码生成器

    import com baomidou mybatisplus generator FastAutoGenerator import com baomidou mybatisplus generator config OutputFile
  • 超分之EDVR

    这篇文章是2019年在视频超分领域上的作品 xff0c 由商汤联合实验室出版 作者推出的EDVR结合了TDAN中时间可变形对齐网络的优势和Robust LTD中融合注意力机制的优势 xff0c 推出了一种基于金字塔级联可变形对齐网络 PCD
  • 超分之RCAN

    这篇文章是2018年的ECCV xff0c 作者主要是为了介绍注意力机制在超分领域的应用以及基于注意力机制的这个SR网络 Residual Channel Attention Networks 后文简称RCAN RCAN是一种基于Resid
  • 超分之TDAN

    这篇文章是视频超分 VSR 中flow free的代表作 xff0c 不同于VESPCN中采用flow based xff0c 即光流估计方法来对齐相邻帧的做法 xff0c 本文作者推出的TDAN采用隐式的运动补偿机制 xff0c 利用可变
  • 超分之Robust VSR with Learned Temporal Dynamics

    这篇文章是2017年的ICCV 基于经典的VSR框架 xff0c 作者在对齐网络和时间融合超分网络上都做了一定的该进 其中对齐网络采用了STN的一个变体 xff1b 对齐后的SR网络使用了结合注意力机制的 xff0c 可自动选择时间尺度的时
  • 超分之RDN

    这篇文章提出了一种结合ResNet结构和DenseNet结构的深度超分网络 Residual Dense Network 后文简称RDN RDN基于Residual Dense Block 后文简称RDB 块以及全局残差连接来提取全局特征
  • 【Debian 8.8】Java 8 安装以及环境变量配置

    事实上可以分为简单的三个步骤 xff1a 下载 JDK 压缩包解压压缩包配置环境变量 需要注意的是 xff1a 所有命令默认在 root 权限下进行 xff01 演示环境是 Debian 8 8 64位 xff08 阿里云学生机 xff09
  • 超分之BasicVSR

    这篇文章是2021年的CVPR xff0c 文章作者是和EDVR同一批的人 该篇文章提出了一个轻量且高表现性能的视频超分framework BasicVSR BasicVSR改进了传统VSR结构中的propagation和alignment
  • 超分之DRCN

    这篇文章是2016年的CVPR xff0c 虽然目前来说在性能和计算效率上并不佳 xff0c 但是在当时来说是一种通过较少模型参数加深网络来提升SR表现力的新方法 Deeply Recursive Convolutional Network
  • 超分之BasicVSR++

    这篇文章是BasicVSR的 升级版本 colorbox tomato 升级版本 升 级 版 本 xff0c 同一批作者将BasicVSR中的Propagation和Alignment部分进行了增强产生了新一点VSR方法 BasicVSR
  • 深度学习之DCN-v2

    这篇文章发表在2019的CVPR上 xff0c 是Deformable Convolution Network的进阶版本 DCN v2 xff0c 通过对DCN的两处改进来增加卷积神经网络的适应性与灵活性 具体来说 xff0c 通过堆叠多个
  • 论文笔记之Understanding Deformable Alignment in Video Super-Resolution

    这篇文章是2021年的AAAI xff0c 和EDVR BasicVSR BasicVSR 43 43 是同一批作者 文章最重要的贡献在于 用一个统一的数学表达式去归纳flow based对齐 如TSTN 和flow free对齐 如TDC