CVPR21 - BasicVSR:简单有效的视频超分辨率Baseline

news2024/11/20 9:25:03

文章目录

    • 原文信息
    • 初识
    • 相知
      • 组件分析
      • BasicVSR
      • IconVSR
      • 部分实验
    • 回顾

原文信息

在这里插入图片描述
原文链接

初识

相比于图像超分,视频超分(VSR,Video Super-Resolution)显然是一件更具挑战性的任务。视频超分比图像超分多了时间维度的信息、更为复杂,而在当时,现有的SOTA方法都基于各种各样的复杂设计,对于各组件也缺乏详细的分析。

所以这篇文章的核心贡献点就是:对目前VSR(vedio super-resolution)方法中的不同组件进行解耦+分析,并对部分组件经过细微修改,搭建了一套简单清晰的方案(Basic VSR),在效果和性能上都超越了当前的SOTA。BasicVSR也容易扩展成更强大的模型,文章在进行扩展后,也得到了更强的IconVSR。

在这里插入图片描述

从上图也可以看出来本文提出的方案在当时所有方法中的优越性

相知

组件分析

论文分析了当下的VSR方法,所其用到的技术分为四种组件:Propagation(传播)、Alignment(对齐)、Aggregation(聚合)以及Upsampling(上采样)。

其中,Propagation表示在时间维度上进行特征传播,Alignment表示对非对齐的图像/特征进行的空间变换操作,Aggregation进行对齐特征的进一步融合,Upsamping表示对聚合后的特征进行转换得到最终的高清视频(上采样)。作者认为影响最大的两个组件主要是Propagation和Alignment。

在这里插入图片描述

列举了当前VSR方法的各组件组成情况,其中最优的策略已加粗.

Propagation:这是对VSR方法影响最大的组件,目前的传播策略大致可以分为三类:local(局部)、unidirectional(单向)和bidirectional(双向)。

  • local局部策略:其直接忽略了长距离信息的建模(时间维度上帧间距离),即不采用任何时序上的特征传播策略,这显然限制了其表现。作者也做了一个实验来验证这个说法,如下图所示,将测试序列分为K段用BasicVSR进行超分,报告每帧的PSNR指标,其中黑色的虚线表示K=1(全局传播)作为对比基准。可以发现,当K越大其整体效果越差,并且每一段在两段会出现较大的波动,这说明时序信息,特别是长距离时序信息对于VSR是非常重要的。
    在这里插入图片描述
  • unidirectional单向策略:顾名思义,其做法是将特征是从第一帧逐步传播最后一帧。这会导致不同阵帧之间获取信息不平衡(早期帧获取信息少,后期帧获取信息多),从而导致早期的视频帧超分效果较差。作者也同样做实验对比了单向帧和双向帧的效果差异,如下图所示,黑线表示双向策略作为基准。可以看到单向策略中,早期帧的超分效果较差,并且整体效果弱于双向策略。(只有最后一帧超过了双向策略,这是因为双向策略的初始化特征为0导致的)
    在这里插入图片描述
  • bidirectional双向策略:不是单向的特征传播,包括了正向时序(forward)和逆向时序(backward)的特征传播,避免上述两种方式的缺点。对于图像帧数学公式: x i x_i xi,给定相邻的两帧数学公式: x i − 1 , x i + 1 x_{i-1},x_{i+1} xi1,xi+1,其前向和反向特征分别为:
    在这里插入图片描述

Alignment也非常重要,将高度相关但是未对齐的特征进行空间变换,从而使其对齐,用于后续的聚合操作。其主要也分为三类:without alignment(无对齐)、image alignment(图像对齐)和feature alignment(特征对齐)。

  • Without alignment无对齐:未对齐的特征/图像会导致性能欠佳(suboptimality),作者进行实验,取消BasicVSR中的对齐操作,直接对特征进行concate,导致1.19dB的PSNR下降.
  • Image alignment图像对齐:基于图像进行光流估计和变换(warping)进行图像对齐,但是由于光流估计得不准确,导致变换后的图像存在模糊、不准确的问题,导致效果欠佳。作者实验发现图像级对齐会导致0.17dB的PSNR下降.
  • Feature alignment特征对齐:基于图像进行光流估计,再对特征图进行变换,从而对齐特征。此外,对齐后的特征还会送入后续的残差Blocks进行进一步的细化:
    在这里插入图片描述

其中,S表示光流估计,W为空间变换,R为残差模块

Aggregation and Upsampling:BasicVSR采用最基础的组件,聚合操作是直接concate中间特征,上采样模块包括了几层卷积+pixel-shuffle操作。最后输出每一帧对应的高清图像:
在这里插入图片描述

pixel-shuffle是一种低计算量的上采样方式,可参考https://zhuanlan.zhihu.com/p/523432126

BasicVSR

BasicVSR的整体框架如下图所示,根据上述的分析,Propagation采用双向策略,Alignment采用基于feature-level的光流估计,Aggregation和Upsampling使用concate加pixel-shuffle操作.
在这里插入图片描述
BasicVSR简单但有效,在效果和性能上都不输现有的VSR方法,并且容易扩展。

IconVSR

作者基于BasicVSR,新增信息重填机制(Information-refill mechanism)和耦合传播(coupled propagation)得到IconVSR,这能进一步避免传播过程中的错误累积以及促进信息融合,从而提升模型表现。
在这里插入图片描述
Information-Refill:在图像边界以及遮挡区域通常存在不准确的对齐,在长距离信息传播时会导致误差的进一步累积。为了减缓这个问题的影响,作者提出了信息重填机制(information-reffil)来进行特征细化(refinement)。如上图(a)所示,作者额外采用了一个特征提取器对关键帧及其相邻帧提取深层特征,并且将提取出来的特征与传播链路中的对齐特征进行融合。具体融合过程如下式所示:
在这里插入图片描述
在这里插入图片描述

其中E表示特征提取器,C为卷积操作,R是与之前一样的残差Blocks.

简单地理解这个过程,就是在特征传播过程中,对于关键帧,在进行特征对齐之后(即经过之前的S和W操作],额外引入一个深度特征进行融合。因为这个深度特征只考虑了当前帧与相邻帧,有利于矫正长期累积的对齐错误。并且,由于关键帧只是所有图像集中一个很小的子集,所以这个机制带来的额外计算量也比较小。

Coupled Propagation:在BasicVSR中采用的双向传播机制是独立地在两个方向上进行的(backward与forward),每条分支只能捕获到单向过来的信息。作者为了更好地利用序列中的信息,将两条分支进行相互联系,如图(b)所示,在进行forward传播时,额外引入backward分支中累积的信息(先backward再forward)。具体过程如下式所示:
在这里插入图片描述
引入这种操作使得在forward分支中的每一步都可以考虑到整个序列的信息,使得输出质量更高,并且没有带来额外的计算负担。

部分实验

这里只列举部分实验结果和可视化对比效果,更多的消融实验与分析参照原文

下表展示了本文提出的方法与当前SOTA方案的对比(包括参数量、推理速度、效果等).
在这里插入图片描述

下面两张图展示了不同数据集上BasicVSR,IconVSR与其他方法的可视化对比结果。
在这里插入图片描述

回顾

本文发表于CVPR2021,是VSR领域一篇比较有代表性的论文,也开启了BasicVSR系列(包括后面的BasicVSR++、RealVSR等)。本文一作Kelvin C.K. Chan来自南洋理工大学,在图像超分和视频超分任务上都做了一些不错的工作,贴上其Google Scholar个人主页。

这篇文章没有涉及到太多网络模块的设计,更像是一篇梳理当前VSR的报告,通过对现有组件的结合搭建了一个简单有效的baseline,并基于其进行扩展,得到了IconVSR。它们在效果和性能上都表现得非常好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/159366.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

结构体的声明使用及存储方式

文章目录 一、结构体的声明与使用 1、1 结构体的简单声明 1、2 结构体的特殊声明 1、3 结构体自引用 1、4 结构体变量的定义和初始化 1、5 结构体传参 二、结构体在内存中的存储方式 2、1 结构体在内存中的存储方式的引入 2、2 结构体的内存对齐 2、3 修改默认对齐数…

AcWing - 寒假每日一题2023(DAY 1——DAY 5)

文章目录一、AcWing 4261.孤独的照片(简单)1. 实现思路2. 实现代码二、AcWing 3400.统计次数(简单)1. 实现思路2. 实现代码三、AcWing 4366. 上课睡觉(简单)1. 实现思路2. 实现代码四、AcWing 3443. 学分绩…

程序员接私活最最完整攻略

接私活对于程序员这个圈子来说是一个既公开又隐私的话题,当你竭尽全力想要去接私活的时候一定做过这样的事情,百度搜索“程序员如何接私活”、“程序员在哪里接外包”等等问题,今天就送大家最完整攻略,千万别错过了。 做私活挣钱吗…

有趣且重要的Git知识合集(10)git stash操作

这种一般用于多分支,或者多人协同合作时会使用到的git命令 场景1: 当你在dev分支上写了很多代码,此时线上有bug,需要紧急在hotfix分支上修改,那直接git add提交又不太好,毕竟还没有开发完,那么…

JVM 学习笔记 内存结构

内存结构 程序计数器 作用:记录下一条JVM指令的执行地址 特点: 线程私有不存在内存溢出 虚拟机栈 每个线程运行时所需的内存称为虚拟机栈。每个栈由多个栈帧(Frame)组成,每个栈帧对应每次方法调用时占用的内存。每…

BIOS 的详细介绍

一、BIOS详解 对于不少新手,刷新BIOS还是比较神秘的。而对于一些BIOS相关的知识,不少人也是一知半解。在这里,我们将对BIOS作一次全面的了解。 1、什么是BIOS BIOS是英文"Basic Input Output System"的缩略语,直译…

NTN(三) Timing

微信同步更新欢迎关注同名modem协议笔记。这篇看下k_offset和k_mac,如38.300所述,k_offset是配置的调度偏移量,需要大于或等于service link RTT和Common TA之和;k_mac 是配置的偏移量,需要大于或等于 RP 和 gNB 之间的…

Chem. Eur. J.|针对细胞内靶点的环肽药物:肽药物发展的下一个前沿

​题目:Cyclic Peptides as Drugs for Intracellular Targets: The Next Frontier in Peptide Therapeutic Development 文献来源:Chem. Eur. J. 2021, 27, 1487 – 1513 代码:无(环肽综述) 内容: 1.简…

5-迷宫问题(华为机试)

题目 定义一个二维数组 N*M,如 5 5 数组如下所示: int maze[5][5] { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只…

通用模型切片处理过程 CesiumLab系列教程

我们前面把每种格式的模型参数设置已经讲解清楚,下面我们应该弄清楚通用模型切片剩下的流程,不管是人工模型,还是shp矢量面、bim模型,剩下的处理过程都是一样的,这里我们一起讲述。 资源库 ​通用模型处理分为两个过程…

基于JAVA的个人信息管理系统源码,含基于VUE的PC前端及移动端,用于管理个人消费、锻炼、音乐、阅读、健康、饮食等衣食住行信息

项目介绍 完整代码下载地址:基于JAVA的个人信息管理系统源码 用于管理个人消费、锻炼、音乐、阅读、健康、饮食、人生经历等各个衣食住行信息的系统,通过提醒、计划模块利用调度系统来统计分析执行情况。 并通过积分和评分体系来综合评估个人的总体状态…

【C++】类和对象【中篇】--C++六个默认成员函数以及const成员函数

文章目录一、类的6个默认成员函数二、构造函数1.概念2.特性2.1特征分析——自动生成2.2.特征分析——选择处理2.3特征分析——默认构造3.C11补丁——缺省值三、析构函数1.概念2.特征四、拷贝构造函数1.概念2.特征2.1引用分析——引用做参数2.2特征分析——深浅拷贝五、运算符重…

Clin Nutr | 浙大儿童医院-陈洁/倪艳揭示全肠内营养对儿童克罗恩病肠道菌群和胆汁酸代谢的影响...

全肠内营养对儿童克罗恩病肠道微生物群和胆汁酸代谢的影响The impact of exclusive enteral nutrition on the gut microbiome and bile acid metabolism in pediatric Crohns diseaseResearch article,2022年11月30日,Clinical Nutrition,7.…

Weblogic 任意文件上传漏洞(CVE-2018-2894)复现

目录 weblogic 漏洞环境准备 漏洞复现 修复建议 weblogic WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应…

Healthcare靶机总结

Healthcare靶机渗透总结 靶机下载地址: https://download.vulnhub.com/healthcare/Healthcare.ova 打开靶机,使用nmap扫描出靶机的ip和所有开放的端口 可以看到,靶机开放了21端口和80端口 21端口为ftp的端口,一般遇到这种,就可以考虑ftp的匿名登录,我们可以试一下 用户名anony…

【总结】华为、H3C、锐捷三家交换机配置命令详解

一直以来,对于华为、H3C、锐捷交换机的命令配置,不断的有朋友留言,三家交换机的配置命令容易弄混,经常在实际项目配置中出错,因此,本期我们将来介绍这三家交换机的基础配置命令,大家可以分别来看…

动手学区块链学习笔记(一):加密算法介绍

引言 本文根据实验楼以及自己查询到的一些资料(文末给出),模拟了一下区块链从诞生到交易的整个过程,也算是弥补了一下之前区块链的一些缺失知识。 哈希加密原理介绍 什么是比特币? 比特币是一种加密货币&#xff0c…

【Python百日进阶-数据分析】Day223 - plotly瀑布图go.Waterfall()

文章目录一、语法二、参数三、返回值四、实例4.1 简单瀑布图4.2 多类别瀑布图4.3 设置标记大小和颜色4.4 水平瀑布图4.5 Dash中的应用一、语法 绘制瀑布轨迹,这是一种有用的图表,可以在条形图中显示各种元素(正或负)的贡献。y如果…

一文读懂mybatis连接池原理

本文需要配合代码demo一起观看更佳,源码地址。 本源码中对 mybatis代码做了详尽的注释。对mybatis源码进行了详尽的注释,且可以对项目进行install,然后在ron-man-mybatis1项目中 src/main/java/iron/man/lyf/ironmanmybatis1/run_test/Mybat…

亚马逊云科技启示录:创新作帆,云计算的征途是汪洋大海

开篇:创新是亚马逊云科技发展的最持久驱动力云计算,新世纪以来最伟大的技术进步之一,从2006年 Amazon Web Service 初创时的小试牛刀,到如今成长为一个巨大的行业和生态,已经走过16年的风雨历程。Java之父詹姆斯高斯林…