【论文精读】2023 AAAI--FastRealVSR现实世界视频超分辨率(RealWorld VSR)

文章目录

  • 一、摘要
  • 二、Method
    • [2.1 现象(问题)--对应文中隐状态的分析(Analysis of Hidden State)](#2.1 现象(问题)--对应文中隐状态的分析(Analysis of Hidden State))
    • [2.2 怎么解决 --对应文中Framework](#2.2 怎么解决 --对应文中Framework)
      • [2.2.1 整体流程:](#2.2.1 整体流程:)
      • [2.2.2 HSA模块怎么工作?](#2.2.2 HSA模块怎么工作?)
        • [2.2.2.1 隐藏状态池](#2.2.2.1 隐藏状态池)
        • [2.2.2.2 选择性交叉注意力](#2.2.2.2 选择性交叉注意力)
  • 三、实验设置
    • [3.1 数据](#3.1 数据)
    • [3.2 训练设置](#3.2 训练设置)
  • 总结贡献

论文全称:Mitigating Artifacts in Real-World Video Super-Resolution Models
代码路径: https://github.com/TencentARC/FastRealVSR 未发布代码
更多RealWolrd VSR整理在 https://github.com/qianx77/Video_Super_Resolution_Ref

一、摘要

循环结构是视频超分辨率任务中一种普遍使用的框架,它通过隐状态对帧之间的时间依赖进行建模。当应用于具有未知和复杂退化的现实场景时,隐含状态往往包含不愉快的伪影,并将其传播到恢复的帧中。在这种情况下,我们的分析表明,当隐状态被更干净的对应物替代时,这些伪影可以大大减轻。基于这些观察,我们提出了一种隐状态注意力(HSA)模块,以减轻真实世界视频超分辨率中的伪影。具体而言,我们首先采用各种廉价滤波器来生成一个隐状态池(pool)。例如,高斯模糊滤波器用于平滑伪影,而锐化滤波器用于增强细节。为了汇聚一个包含较少伪影的新隐状态,我们设计了一种选择性交叉注意力(SCA)模块,在该模块中,输入特征与每个隐状态之间的注意力被计算。配备HSA,我们提出的方法,即FastRealVSR,能够实现2倍的速度提升,同时获得比Real-BasicVSR更好的表现。代码将会在 https://github.com/TencentARC/FastRealVSR 上提供。

二、Method

2.1 现象(问题)--对应文中隐状态的分析(Analysis of Hidden State)

(1) 隐状态在循环方法中传播伪影。

隐状态在单项循环结构中有两个目的,一个是参与当前帧的重建,另外一个是将当前帧的信息传递到下一帧。

存在一个矛盾的关系:

如果使用了上一帧的隐状态,而上一帧没有恢复好,存在伪影,实际上这些伪影信息会通过隐状态传递到当前帧,放大这种异常,如图第一行和第三行,

如果抛弃了上一帧的因状态,那么会造成细节和边缘的丢失。

(2)将GAN模型中的隐状态替换为MSE模型中对应的隐状态可以减轻伪影。

具体的操作如下,在同一段视频序列中推理MSE模型和GAN模型,然后存下每一个隐状态,最后组成一个组合模型(combine model),

这个模型的隐状态有MSE模型提供,backbone是GAN模型。

作者发现通过这种操作可以减轻整体的伪影(图4(a)),但是同时也会造成一些细节的丢失(图4(b)),所以作者觉得还是需要在GAN的隐状态直接操作比较好,让它既有平滑的部分,又能保留细节。

2.2 怎么解决 --对应文中Framework

提出了一种隐状态注意力(HSA)模块,以直接操控隐状态并减轻伪影。图6中展示了一个概览。

2.2.1 整体流程:

1、几个ResBlock提取浅层特征

2、使用SpyNet计算光流,上一帧隐状态warp到当前帧,使用concat拼接当前帧浅层特征,并通过几个ResBlock提取深层特征

3、将深层特征送入上采样模块UP,然后加上原始图像的bilinear上采样结果

4、特殊点: 这篇论文针对上一帧的隐藏状态做了特殊处理,经过了HSA模块

2.2.2 HSA模块怎么工作?

2.2.2.1 隐藏状态池

隐藏状态池是一个容器,包含多个模糊和清晰版本(blurry and sharp version),其实就是使用多个固定卷积核的卷积获得相应版本的状态。

例如公式5是一个模糊版本的k是一个模糊核,通过卷积,处理后的隐藏状态就会减少伪影

公式6是一个锐化版本,通过原始状态-模糊状态的残差再加上原始状态,获得锐化版本,原理和USM其实是一样的。

2.2.2.2 选择性交叉注意力

已经或许多个版本的隐藏状态了,怎么选择?使用交叉注意力

通过图2可以发现,仅仅使用当前帧的特征其实是可以去除伪影的,这个时候当前帧的特征和上一帧的问题状态(state)其实是有很大的距离的。

那么整体的目标就是让模型能够区分这些不同的状态,让有伪影的部分使用当前帧特征,让没有伪影的特征和当前特征融合,突出细节,所以使用了交叉注意力。

具体操作: 卷积提取当前帧特征作为Q,卷积提取上一帧状态的多个K和V,softmax得到最后结果

三、实验设置

3.1 数据

GT采用REDS,LQ类似RealBasicVSR,尺寸64*64

序列长度和RealBasicVSR也一样,15帧+flip,

3.2 训练设置

1、训练没有HSA的单项循环网络 Unidirectional Recurrent Network (URN) 300k次,仅使用L1 loss

2、原有基础加上HSA模块,训练70k L1 loss, perceptual loss 、 GAN loss

3、采用Real-ESRGAN相同的鉴别器

4、隐状态池采用3个模糊滤波器和2个锐化滤波器

总结贡献

1、分析时序伪影的来源

2、使用HSA模块来减少伪影

相关推荐
2401_8590490821 分钟前
Git使用
arm开发·git·stm32·单片机·mcu·算法
冠位观测者1 小时前
【Leetcode 每日一题】2942. 查找包含给定字符的单词
算法·leetcode·职场和发展
蓝心湄1 小时前
C语言-枚举
c语言·开发语言·算法
轮到我狗叫了1 小时前
力扣小题, 力扣113.路径总和II力扣.111二叉树的最小深度 力扣.221最大正方形力扣5.最长回文子串更加优秀的算法:中心扩展算法
算法·leetcode·深度优先
haven-8522 小时前
最大似然估计(Maximum Likelihood Estimation, MLE)详解
算法·机器学习·概率论
逐光沧海2 小时前
排序和排列——蓝桥杯备考
算法·蓝桥杯
小琪琪:)2 小时前
【刷题】质数因子
算法
Christo33 小时前
SIAM-2007《k-means++: The Advantages of Careful Seeding》
大数据·人工智能·算法·机器学习·支持向量机·kmeans
Jamence4 小时前
多模态大语言模型arxiv论文略读(八十八)
论文阅读·人工智能·计算机视觉·语言模型·论文笔记