BasicVSR & IconVSR

  • BasicVSR 阅读笔记
    • 摘要
    • 简介
    • 相关工作
    • 方法
      • BasicVSR
        • Propagation(传播)
        • Alignment
        • Aggregation and Upsampling
        • Summary of BasicVSR
      • 从BasicVSR到IconVSR
        • Information refill机制
        • Coupled Propagation
    • Experiments
      • Datasets and Settings
      • Comparisons with State-of-the-Art Methods
        • BasicVSR
        • IconVSR
    • Ablation Studies
      • From BasicVSR to IconVSR
    • Conclusion

BasicVSR 阅读笔记

摘要

VSR(视频超分辨率)方法往往需要更多的组件,因为他们需要额外的时间维度

希望解开这些结并重新考虑由四个基本功能引导的 VSR 的一些最重要的组件,即传播、对齐、聚合和上采样

亮点:速度和恢复质量

通过提出信息重新填充机制(an information-refill mechanism)和耦合传播方案(a coupled propagation scheme)以促进信息聚合(information aggregation)

BasicVSR和它的扩展IconVSR是未来VSR方法的基石

简介

VSR额外的挑战:涉及从多个高度相关视频序列中未对齐的帧,单个图片:内在属性,完成放大任务

通过将流行的 VSR 方法分解为基于功能的子模块来开始我们的搜索

学习每个模块的各种选项优缺点

  • 传播:指特征在时间上传播的方式(the way in which features are propagated temporally)
  • 对齐:关注于应用于未对齐图像/特征的空间转换(concerns on the spatial transformation applied to misaligned images/features)
  • 聚合:定义聚合对齐的特征的步骤(defines the steps to combine aligned features)
  • 上采样:将聚合特征转换为最终输出图像的方法(the method to transform the aggregated features to the final output image)

作者注意到传播和对齐模块的选择可能会导致性能和效率方面的巨大波动

运用bidirectional propagation(双向传播)最大化信息收集

运用光流的方法估计两个相邻帧之间对应关系 以进行特征对齐

propagation:feature concatenation(特征串联),upsampling:pixel-shuffle
BasicVSR性能和效率都要高

提出:IconVSR,包括了两个新颖的扩展,改进了aggregation和propagation组件

  • 第一个扩展:information-refill,利用一个additional module从关键帧提取特征,这些特征插入主网络进行特征细化(feature refinement)
  • 第二个扩展:coupled propagation,促进双向传播的信息交换

这两个扩展:

  • 减少了传播过程由于遮挡(occlusions)和图像边界造成的误差累积
  • 允许传播访问完整信息生成高质量特征(access complete information)

需要一个强大,简单并且可扩展的baseline

简单的组件:恰当地集成,会协同作用,进一步展示一个使用两个新模块扩展BasicVSR的示例,改进propagation和aggregation组件。

相关工作

两个框架:滑动窗口和循环

早期的滑动窗口预测LR帧之间的光流,执行spatial warping以进行对齐

后来:更复杂的隐式对齐

有些方法采用循环框架

作者重新研究了一些组件,发现双向传播(bidirectional propagation)与简单的基于光流的特征对齐足以胜过许多最先进方法。

information-refill机制让人想起**基于间隔的处理概念**(the concept of interval-based processing)

将视频帧划分为以key frame 和 non-keyframes为特征的独立间隔 (independent intervals),两种帧用不同的管道处理(pipelines)

作者的进步:仍然保留了关键帧的概念,不过不是独立地处理intervals,而是**通过传播分支连接区间**(connecting the intervals through the propagation branches)

这样可以在相互连接的区间内传播long-term informations(长期信息),提高有效性

方法

BasicVSR

运用常用的元素:光流和残差块

Propagation(传播)

最有影响力的成分之一,指定如何利用视频序列中的信息

三种传播方式:局部(local),单向,双向传播

  • local propagation

    • inputs:将LR图片放入局部窗口,用局部信息复原
    • 远帧的省略 不可避免地限制滑动窗口方法的潜能
    • 实验证明了远帧信息的重要性,序列要长

  • Undirectional propagation

    • 可以解决上述问题
    • 不同帧接收到的信息是不平衡的
    • 第一帧只能获取自己的信息,最后一帧可以获取整个序列的信息
    • 从下图中可见:在早期PSNR:un明显低于bi,随着帧数增加,更多信息被聚合,差异逐渐减小,可以通过将最后一帧的信息回传提高PSNR。由于双向模型中的zero feature initialization(零特征初始化),单向模型仅在最后一帧 优于双向模型

  • Bidirectional Propagation

    • 特征在前向和后向时间上独立传播

    • 给定LR图像xi ,相邻的帧为xi-1 和xi+1

    • 由邻居传播的相应的特征为hi−1f和hi+1b,我们有:hib=Fb(xi,xi+1,hi+1b)hif=Ff(xi,xi−1,hi−1f)Fb和Ff分别表示后向和前向传播分支由邻居传播的相应的特征为h_{i-1}^f和h_{i+1}^b,我们有:\\ h_i^b=F_b(x_i,x_{i+1},h_{i+1}^b)\\ h_i^f=F_f(x_i,x_{i-1},h_{i-1}^f)\\ F_b和F_f分别表示后向和前向传播分支 由邻居传播的相应的特征为hi−1f​和hi+1b​,我们有:hib​=Fb​(xi​,xi+1​,hi+1b​)hif​=Ff​(xi​,xi−1​,hi−1f​)Fb​和Ff​分别表示后向和前向传播分支

Alignment

空间的对齐在VSR中很重要,因为它为了后续的聚合 对齐高度相关的图片/特征

  • WIthout Alignment

    • 未对齐阻碍聚合,从而效果变差
    • 采用**具有足够大的感受野操作(have a large enough receptive field)来聚合来自遥远空间位置的信息**(aggregate information from distant spatial locations)是至关重要的
  • Image Alignment

    • 计算光流然后warp the images before 恢复
    • 由于光流的计算具有不准确性,图片模糊且不准确
    • 证实了**将空间对齐转换为特征级别(feature level)**的必要性
  • Feature Alignment

    • 选择warp on the features

    • 将**对齐的特征传给多个残差块进行完善**(refinement)

    • si{b,f}=S(xi,xi±1)hˉi{b,f}=W(hi±1{b,f},si{b,f})hi{b,f}=R{b,f}(xi,hˉi{b,f})F{b,f}=R{b,f}∘W∘Ss_i^{\{b,f\}}=S(x_i,x_{i\pm1})\\ \bar h_i^{\{b,f\}}=W(h_{i\pm 1}^{\{b,f\}},s_i^{\{b,f\}})\\ h_i^{\{b,f\}}=R_{\{b,f\}}(x_i,\bar h_i^{\{b,f\}})\\ F_{\{b,f\}}=R_{\{b,f\}}\circ W\circ S si{b,f}​=S(xi​,xi±1​)hˉi{b,f}​=W(hi±1{b,f}​,si{b,f}​)hi{b,f}​=R{b,f}​(xi​,hˉi{b,f}​)F{b,f}​=R{b,f}​∘W∘S

    • S和W分别表示光流估计和空间warp modules,R{b,f} 表示一堆残差块,加减号的选择见下图:

Aggregation and Upsampling

上采样模块运用了**多个卷积层以及pixel shuffle?**
yi=U(hif,hib)U表示上采样模块y_i=U(h_i^f,h_i^b)\\ U表示上采样模块 yi​=U(hif​,hib​)U表示上采样模块

Summary of BasicVSR

  • propagation:双向,重点是长期的和全局的传播
  • alignment:光流的对齐,在feature level
  • aggregation and upsampling:特征连接**(feature concatenation)以及pixel shuffle**足够
  • 可以轻松容纳额外组件

从BasicVSR到IconVSR

提出**Information-refill机制以及coupled propagation**,以减少传播过程的累计误差并促进信息聚合

Information refill机制

遮挡和边界的对齐不准确会导致误差累积,尤其是在long-term的propagation下,因此提出上述机制细化特征(feature refinement

一个额外的特征提取器被用来提取关键帧以及它们邻居的深度特征

利用卷积将提取的特征和对齐的特征融合
ei=E(xi−1,xi,xx+1)h^i{b,f}={C(ei,hˉi{b,f})ifi∈Ikeyhˉi{b,f}otherwisee_i=E(x_{i-1},x_i,x_{x+1})\\ \hat h_i^{\{b,f\}} = \begin {cases} C(e_i,\bar h_i^{\{b,f\}})~~~~~~if~~i\in I_{key}\\ \bar h_i^{\{b,f\}}~~~~~~~~~~~~~~~~~otherwise \end{cases} ei​=E(xi−1​,xi​,xx+1​)h^i{b,f}​={C(ei​,hˉi{b,f}​)      if  i∈Ikey​hˉi{b,f}​                 otherwise​
接下来过残差块为了后续的特征细化:
hi{b,f}=R{b,f}(xi,h^i{b,f})h_i^{\{b,f\}}=R_{\{b,f\}}(x_i,\hat h_i^{\{b,f\}}) hi{b,f}​=R{b,f}​(xi​,h^i{b,f}​)
因为只处理关键帧,带来的计算负担是不足为虑的

这里区间利用关键帧划分,并且不是独立而是相连的(维持全局信息传播)

Coupled Propagation

向后传播的特征被作为向前传播模块的输入,如下所示:
hib=Fb(xi,xi+1,hi+1b)hif=Ff(xi,xi−1,hib,hi−1f)yi=U(hif)h_i^b=F_b(x_i,x_{i+1},h_{i+1}^b)\\ h_i^f=F_f(x_i,x_{i-1},h_i^b,h_{i-1}^f)\\ y_i=U(h_i^f) hib​=Fb​(xi​,xi+1​,hi+1b​)hif​=Ff​(xi​,xi−1​,hib​,hi−1f​)yi​=U(hif​)
好处:得到了past和future的帧,而且只改变传播连接方式,不会额外添加计算量。

Experiments

Datasets and Settings

使用两种degradations:Bicubic和Blur Downsampling,通过四倍下采样测试模型

SPyNet作为光流估计模块EDVR-M用作特征提取器

采用Adam optimizerCosine Annealing

特征提取器和光流估计器的初始学习率设置为:10-4 和2.5x10-5 ,其他模块的初始学习率均设置为2x10-4 ,迭代次数设为300K,二者的权值在前5000次迭代中不变。

batch size设为8,LR帧的patch size设为64x64

利用Charbonnier loss,因为能更好地处理异常值并且提高了传统l2 loss的性能

Comparisons with State-of-the-Art Methods

BasicVSR

IconVSR

二者恢复更精细的细节和更锐利的边缘

Ablation Studies

From BasicVSR to IconVSR

用信息填充机制,可以使用额外的特征来填充特征对其不佳的区域中丢失的信息

在很好的细节区域,如果对齐错误,相邻帧的信息聚合效果不会很好

前面帧如果有遮挡,前向传播分支(BasicVSR)不会收到那个区域的信息

后向传播使得一直出现的区域复现效果更好

减少关键帧可以加快推理速度

没有关键帧,退化为循环神经网络。

Conclusion

BasicVSR论文阅读笔记相关推荐

  1. 全卷积(FCN)论文阅读笔记:Fully Convolutional Networks for Semantic Segmentation

    论文阅读笔记:Fully Convolutional Networks forSemantic Segmentation 这是CVPR 2015拿到best paper候选的论文. 论文下载地址:Fu ...

  2. DnCNN论文阅读笔记【MATLAB】

    DnCNN论文阅读笔记 论文信息: 论文代码:https://github.com/cszn/DnCNN Abstract 提出网络:DnCNNs 关键技术: Residual learning an ...

  3. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  4. FCGF论文阅读笔记

    FCGF论文阅读笔记 0. Abstract 从三维点云或者扫描帧中提取出几何特征是许多任务例如配准,场景重建等的第一步.现有的领先的方法都是将low-level的特征作为输入,或者在有限的感受野上提 ...

  5. PointConv论文阅读笔记

    PointConv论文阅读笔记 Abstract 本文发表于CVPR. 其主要内容正如标题,是提出了一个对点云进行卷积的Module,称为PointConv.由于点云的无序性和不规则性,因此应用卷积比 ...

  6. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  7. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

  8. keras cnn注意力机制_2019 SSA-CNN(自注意力机制)目标检测算法论文阅读笔记

    背景 <SSA-CNN Semantic Self-Attention CNN for Pedestrian Detection>是2019 的工作,其作者来自于南洋理工.这篇文章主要是做 ...

  9. ResNet 论文阅读笔记

    ResNet 论文阅读笔记 #机器学习/深度学习 文章介绍 论文地址:https://arxiv.org/pdf/1512.03385.pdf 原文题目:Deep Residual Learning ...

最新文章

  1. 9、计算机图形学——纹理的应用(环境贴图、凸凹贴图、法线贴图以及位移贴图)
  2. bootstrap17-响应式表格布局
  3. python小程序-【Python精华】100个Python练手小程序
  4. ALV标准的分类小计功能
  5. Py之qrcode:调用python的qrcode库两种方式生成二维码、带logo的二维码
  6. java常见不可变类_Java语言不可变类的诀窍
  7. thinkphp传递参数
  8. python web开发 CSS基础
  9. 空白世界地图打印版_洪恩识字卡1300字十字帖+绘本,可打印成册
  10. STP端口状态特点、STP端口角色特点、链路状态发生变化,STP如何重新收敛? TCN何时发?uplinkfast技术、Portfast技术、backbonefast技术、常见的STP调整命令:
  11. Maven工程打成一个jar包
  12. 01. View C++ as a federation of languages
  13. [精易软件开发工程师Leo学习笔记]011DeBug(调试)
  14. 解决spring-data-jpa 级联添加时,主表放弃对外键维护时外键字段为null
  15. Unity ASE点光源不显示的问题
  16. 审车的时候环保怎样安全通过_车审环保过不了如何处理
  17. 11月28日服务器不稳定公告,《神之物语》手游11月28日服务器维护内容公告
  18. FND_MESSAGE使用总结
  19. python画画bup_用Python编写一个简单的FUSE文件系统的教程
  20. Hadoop之使用LZO压缩并支持分片

热门文章

  1. 小目标的检测算法PGan
  2. 文档转换工具JODConverter简介
  3. 【C语言】英文文章出现次数最多的单词
  4. Swift 函数参数前的“_”是什么意思?
  5. 迁移通知|各位父老乡亲们,咱们村要迁移到有留言功能的号啦!(文末撒钱)...
  6. android自动获取位置,Android中获取当前位置信息
  7. icordova拍照_ionic2/3实战-添加拍照功能cordova-plugin-camera
  8. 今日头条2017笔试题之出题数量
  9. 初试Pulsar---私有云离线安装部署Pulsar
  10. 【Linux】安装 Ubuntu18.04 全程实录(安装 NVIDIA 驱动,安装主题美化,安装应用程序,网易云无法启动,GoldenDict 音标显示不正常)