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
 - 高清残差与原图上采样结果相加
 

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

光流引导的可形变卷积:
- 以光流为可形变卷积偏置量的基础值
 - 训练可形变卷积偏置量在基础值上增加的残差
 
这样可以保证训练的稳定性
