【论文精读】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模块来减少伪影

相关推荐
CoovallyAIHub14 小时前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub15 小时前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub15 小时前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
CoovallyAIHub16 小时前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub16 小时前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github
刀法如飞16 小时前
程序员必须知道的核心算法思想
算法·编程开发·算法思想
徐小夕17 小时前
pxcharts Ultra V2.3更新:多维表一键导出 PDF,渲染兼容性拉满!
vue.js·算法·github
CoovallyAIHub18 小时前
OpenClaw一脚踩碎传统CV?机器终于不再只是看世界
深度学习·算法·计算机视觉
CoovallyAIHub19 小时前
仅凭单目相机实现3D锥桶定位?UNet-RKNet破解自动驾驶锥桶检测难题
深度学习·算法·计算机视觉