视频超分辨率 VSR实现方案 一些汇总

视频超分辨率 VSR实现方案 一些汇总

VSR实现方案总结 论文 发表于 主要思想 输入输出模式 对齐方式 Video Super-Resolution with Recurrent Structure-Detail Network CVPR2020 高频分量(Detail)和低频分量(Structure)分开计算 RNN结构 动态卷积

VSR实现方案总结

论文 发表于 主要思想 输入输出模式 对齐方式
Video Super-Resolution with Recurrent Structure-Detail Network CVPR2020 高频分量(Detail)和低频分量(Structure)分开计算 RNN结构 动态卷积
Video Super-Resolution using Multi-scale Pyramid 3D Convolutional Networks TMM2020 多尺度3D卷积同时提取时间和空间信息 滑动窗口,输入2N+1帧输出1帧 3D卷积
MuCAN: Multi-correspondence Aggregation Network for Video Super-Resolution ECCV2020 聚合多个尺度上的信息 滑动窗口,输入3帧输出1帧 在一定范围内搜索相似图像块、不完整的动态卷积
BasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond CVPR2021 验证现有的各种网络结构对VSR任务的影响,并进而找到了一种SOTA方案 RNN结构 光流
BasicVSR论文中介绍的IconVSR CVPR2021 在BasicVSR使用关键帧补充信息 RNN结构 光流
BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment NTIRE2021 二阶网状传播、光流引导的可形变卷积对齐 RNN结构 光流、可形变卷积

大量研究想要避免光流对齐的理由:

  • 光流预测的准确性对超分质量影响大
  • 计算量大
  • 移动量比较大的场景不好计算
    • 因为光流按像素计算,没有分尺度

Video Super-Resolution with Recurrent Structure-Detail Network

输入部分:

  • 从当前帧 ​I_t^L 和上一帧 ​I_{t-1}^L 中提取高频分量 ​D_t^{L R} 、 D_{t-1}^{L R} 和低频分量 ​S_t^{L R} 、 S_{t-1}^{L R}
  • 高频分量的分支:
  • 拼接 ​D_t^{L R} 、 D_{t-1}^{L R} 、上一帧的隐藏层输出 ​h_{t-1}^{S D} 经过隐藏状态自适应处理(Hidden-state Adaption)后的输出 ​\hat{h}_{t-1}^{S D} 和上一帧的高频分量预测值 ​\hat{D}_{t-1}
  • 经过一个卷积和ReLU

SD-Block长这样:

主要是为了让高低频的处理过程有交互

上面说的隐藏状态自适应处理(Hidden-state Adaption)实际上就是基于动态卷积的特征对齐:

Video Super-Resolution using Multi-scale Pyramid 3D Convolutional Networks

  • 先用多尺度3D卷积提取特征
  • 然后进行可分解3D残差输出HR图
  • 把这HR图拿去进行细节再填充

这是3D卷积,其实就是卷积核和扫描的方向多一个时间维度

多尺度3D卷积提取特征:

  • 先3D卷积下采样
  • 然后对每个下采样结果:
    • 3D卷积提升每帧的通道数
    • 展平后与下一级下采样结果相加
    • 输入到下一级处理
  • 最后一层特征展平输出

输出HR图:

  • 每一帧都进行可分解3D残差
  • 然后用3D卷积把特征的帧数降到1
  • 展平输出即为HR图

细节再填充:就是普通的单图SR

MuCAN: Multi-correspondence Aggregation Network for Video Super-Resolution

  • 相邻帧先经过TM-CAM在不同尺度下寻找前后帧间的相似图块
  • 然后在经过CN-CAM在不同尺度下寻找特征图内的相似图块

TM-CAM:

  • 先将输入帧缩放为不同大小(尺度)
  • 在每个尺度上进行操作:
    • 对于当前帧的某一尺度,在临近帧的同一尺度的附近区域寻找最相似的K个图块
    • 将这K+1个图块拼在一起
    • 对于当前帧的某一尺度,与临近帧的同一尺度计算动态卷积核
    • 对当前帧进行动态卷积
    • 动态卷积结果与当前帧当前位置的当前图块进行内积
  • 每个尺度计算完之后进行上采样,与下一个尺度的原图一起输入

CN-CAM:

  • 对TM-CAM的输出进行均值下采样缩放为不同大小(尺度)
  • 对每一个尺度,都从下一个尺度中取出最相似的图块
  • 经过自注意力
  • 拼接后卷积

BasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond

  • 双向RNN
  • RNN单元内部:
    • 用当前帧xixi和前一帧xi−1xi**−1**(或是后一帧xi+1xi**+1**)计算光流
    • 借助光流对前一帧的隐藏层输出hi−1fhi**−1f**(或是后一帧的隐藏层输出hi+1bhi**+1b**)进行特征对齐
    • 将对齐后的特征与原图进行ResBlock计算,得到hifhif和hibhib
  • hifhif和hibhib拼接后进行Upsample得到高清输出

BasicVSR论文中介绍的IconVSR

  • 在特征对齐后加一个步骤,在关键帧处把前后帧的特征混入hifhif和hibhib
  • 正向RNN以反向RNN的输出作为输入

具体怎么混入:在关键帧处从前后帧和当前帧中提取特征然后与hifhif和hibhib进行卷积,非关键帧处不变

BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment

  • 双向传播叠四层
  • 在传播中跨一级连接
  • 在每一个传播模块中:
    • 对之前的输出进行光流引导的可形变卷积
    • 与当前输入进行拼接
    • 经过一堆卷积和ReLU
  • 最后输出的高清残差是输出特征的PixelShuffle
  • 高清残差与原图上采样结果相加

  • 二阶网状传播为何有效:从更多的地方获取信息
  • 光流引导的可形变卷积为何有效:从临近区域的特征中提取信息,帮助恢复细节

光流引导的可形变卷积:

  • 以光流为可形变卷积偏置量的基础值
  • 训练可形变卷积偏置量在基础值上增加的残差

这样可以保证训练的稳定性

Comment