Video Super-Resolution with Recurrent Structure-Detail Network阅读笔记

视频超分、图像超分常用数据集Vimeo90K的下载及处理 vimeo90k数据集下载链接: http://toflow.csail.mit.edu/ 下载时点击最下方的训练集测试集一起下载即可,共计82G.数据集中已经划分了训练集和测试集,并给出了划分的txt以及4倍下采样后的图像。 在视频超分中,常常需要将图像转存为lmdb格式,该格式下运行速度更快,并且是依赖于缓存的。下面提供了将vimeo90K数据转换为lmdb格式的代码:create_lmdb.py """Create lmdb files for [General images (291 im 阅读详情

Video Super-Resolution with Recurrent Structure-Detail Network(视频超分与循环的结构-细节网络)
文章检索出处:2020 ECCV
论文:https://arxiv.org/abs/2008.00455

 

代码:https://github.com/junpan19/RSDN


本篇笔记主要对整篇论文从头到尾进行阅读分析,如果只对模型部分有兴趣,可直接观看第四部分。


(1)摘要


        简单叙述本文特点以及提出的内容,本文提出新的循环视频超分算法,对比过去借助时间滑动窗口中的相邻帧然后超分单个参考帧,以及基于循环的算法而言,有效又高效。并在结尾给出了代码。


(2)引言


        用单帧图像以及多帧图像的处理引出视频超分。视频超分可以简单分为显示方式以及隐式方式,显示方式利用运动估计以及运动补偿,对输入帧进行扭曲对齐,利用观测值重建高分辨率目标帧。隐式方式在于利用运动信息进行灵活的运动补偿,避免的运动估计步骤,主要分为动态上采样滤波器以及渐进式融合残差模块。
        本文中的算法,将每一帧都分为结构(structure)和细节(detail)分量,并且根据前一步得到的结构(structure)和细节(detail)信息来超分目标帧。并且在网络中的隐藏状态会随着时间的推移捕捉场景的不同典型外观,通过计算参考帧和隐藏状态下的每个通道的相关性,可以抑制过时信息并且凸显有用信息,对融合信息更具有鲁棒性。


(3)相关工作


        单图像超分方法,(关系不大,不多看了)
        视频超分方法,介绍了显示运动补偿以及隐式运动补偿的原理以及方法。
        本文使用的循环神经网络的介绍


(4)本文方法介绍

本文提出循环网络的总体流程,如下图,虽然是类似于递归/循环神经网络,但是只是利用了将前一刻数据的输出作为下一次的输入。

解释图中各个符号的意义:

                 :t帧的低分辨率图像              :t帧的隐式信息

                   :t帧的Structure分量 (包含的是图像中的低频信息和帧间运动)               

                  :t帧的Detail分量 (包含的是高频信息和外观上的细微变化)

                   : 包含高频、低频以及锐化细节后的图像           :t帧的高分辨率图像

               :t帧高分辨率图像的Structure分量

              :t帧高分辨率图像的Detail分量

(4.1) 是循环神经单元的具体架构内容(如下图所示):

单个神经单元的推导过程如下:

(4.1.1) 输入两帧数据,一个当前帧(目标帧),另一个是前一帧数据,使用Bicubic上下采样方法(作者说也可以使用低通滤波以及高通滤波实现),提取出Structure(St)信息,然后计算目标帧与的差值得到Detail(Dt)信息(Dt中包含高频以及细节信息)

(4.1.2) 对处理得到的Structure和Detail信息进行处理,文中以Detail的处理为例(Structure处理相同),将t帧的信息与t-1帧的以及计算前一帧高频率图像得到的隐含状态信息进行拼接,通过3x3卷积送入SD模块中。( 隐含状态信息 是目标帧与 前一帧的隐含状态信息 经过隐含状态自适应模块得到的)

(4.1.3) 经过多个SD模块(下文继续介绍SD模块)产生信息,表示为经过计算后的特征信息,将其送入3x3卷积层中并通过一个上采样,产生一个高分辨的细节分量

 (4.1.4) Structure的高分辨的结构分量和4.3相同,和拼接并通过3x3卷积后生成充满高频数据和锐化细节的图片帧,然后上采样,获得结果高分辨率图片。

(4.1.5)  和求和后,经过3x3卷积后得到隐含层状态量,用于下个Ht的输入。

(4.2)SD模块                            

         作者对比三种分支数据的处理模块,得到c中既可以看到特定于组件的信息,也促进了Structure'和Detail两个分支之间的信息交换。

(4.3)隐含状态自适应模块

隐含状态信息是上一时刻的输出与目标帧的经过隐含状态自适应模块处理后得到的输入信息。

设计目的:隐含状态信息包含的是之前处理过的帧的隐藏信息,因此对于当前帧的不同位置而言存在可以利用的信息,但是也存在影响当前帧超分判断的信息,隐含状态自适应模块帮助当前帧的不同位置,从隐含状态中借用有效的补充信息,压制冗余信息。如下图所示

隐含状态的不同通道下存在着不同的场景,所以隐含信息不能完全作为输入与当前帧结合输入。让隐含状态的不同通道对当前帧的不同位置做出不同的贡献。

模块设计:

 推导流程:

(4.3.1) 当前帧通过一个3x3卷积得到H*W*K^2的数据,其中1*1*k^2表示的是目标帧每个位置的信息。(卷积将目标帧规定的3*3大小区域作为一个位置,将其每个位置的信息作为卷积核对隐含信息进行提取,获得其相关性信息)

(4.3.2)从4.3.1中获取的卷积核与  的信息进行卷积提取信息,如下公式所示(表示当前帧与位置(i,j)处隐藏状态的第c信道之间的相关性),通过sigmoid函数,将每个位置的值控制在[0,1]内表示相关性。

(4.3.3) 与  的隐含信息进行相乘,获取对当前帧重要的补充信息生成 。

 损失函数:

charbonnier loss作为目标函数,分别对Structure,Detail和超分结果进行了损失计算,三者之和作为最终损失。(α,β,γ的参数比例在本文第五章实验中说明)

Structure,Detail和超分结果的损失计算方式

 (5)实验

训练数据集:Vimeo-90K

测试数据集:Vimeo-90K-T(7k个视频)

低帧率视频:高斯模糊(σ=1.6)+4次下采样

损失函数:Charbonnier loss惩罚损失函数(看本文第四节最后部分)

迭代优化器:Adam optimizer

学习率:10^-4,60-70个epach*0.1

环境:Python 3.6.4、PyTorch 1.1和Nvidia Tesla V100 GPU

开头和尾部序列帧处理:使用反射序列,输入2帧,那Vimeo-90K的输入序列为21234567,21就是输入序列。尾部相同,76就是输入帧

HSA(隐含状态自适应)模块采用K=3,(也就是目标真经过3x3卷积后,生成H*W*3^2的数据,下面是用3*3的卷积核)

效果评估:Vimeo-90K-T , Vid4 , UDM10

本文针对数据集和方法进行了消融研究(消融研究通常是指删除模型或者算法的某些”功能“,并查看其如何影响性能,例如某论文提出AB两种方式,在基于baseline的基础上提出创新,那么消融研究就是baseline+A,baseline+B,baseline+A+B)

损失函数的参数选择,根据不同比例的参数进行训练,当α,β,γ的参数比例=(1,1,1)时,训练出的模型效果最好,PSNR/SSIM值最高。

实验数据比对,比较多种模型在不同视频下的PSNR和SSIM以及模型的参数量,计算的浮点数等。如下图,在Vid4数据集下,左侧模型在右侧标准下的数据显示。

换个数据集进行比对 

 放大质量的效果对比:

 

 这篇论文最大特点就是将单个帧的图像分解成包含高频、细节的detail信息与低频、运动变化的structure信息,然后对目标帧进行效果重建和细节加强,并且设计隐含部分的自适应模块,使目标帧可以根据不同位置,从而最大程度上利用隐含信息,对信息进行一个补充和增强。

代码的复现部分在稍后的内容中进行复现。

视频插帧数据集 Vimeo-90K Vimeo-90K是在论文Video Enhancement with Task-Oriented Flow(IJCV 2019)里提出的,数据集地址: http://toflow.csail.mit.edu/ 图源http://toflow.csail.mit.edu/ 整个数据集是从vimeo.com网站上收集的89800个视频片段上生成的,涵盖了多种场景和多种运动形态。 数据集包含两个子集,一个是“Triplet dataset”,一个是“Septuplet dataset 阅读详情

相关推荐

视频插帧数据集:从Vimeo-90K到X4K1000FPS的全面解析

本文全面解析了视频插帧数据集从Vimeo-90K到X4K1000FPS的发展与应用,重点介绍了各数据集的核心价值、技术特点及适用场景。Vimeo-90K作为基础数据集适合入门研究,而X4K1000FPS则以其4K分辨率和1000fps帧率设定了新标准。文章还提供了数据集选型指南和预处理技巧,帮助研究者和开发者高效利用这些资源推动视频插帧技术进步。

gpt4scribbler的博客 223

Video Super-Resolution with Recurrent Structure-Detail Network阅读

代码:https://github.com/junpan19/RSDN 文章出自ECCV 2020,与CVPR 2020 VSR-TGA出自同一个作者团队. 文章思路 这篇文章的创新点在于将一帧图像分为了Structure和Detail两部分,其中,Structure部分包含低频信息,而Detail部分包含高频信息,最后两者分别进行处理。 算法的整体框架如下图: 从上图可以看到这是一种类似循环网络的处理方式,但实际结构中并没有用到循环结构,它的思路和FRVSR这篇文章类似,即是用前一时刻的处理结果作为后.

造未来 1020

Vimeo90K数据集高效处理:从下载到LMDB格式转换实战指南

本文详细介绍了Vimeo90K数据集的高效处理方法,从下载到LMDB格式转换的完整实战指南。作为视频超分和图像超分领域的重要基准数据集,Vimeo90K的高效处理能显著提升深度学习训练速度。文章包含环境配置、代码解析、多进程优化等实用技巧,帮助开发者解决实际应用中的数据I/O瓶颈问题。

weixin_30335575的博客 355

视频超分:RSDN(Video Super-Resolution with Recurrent Structure-Detail Network)

论文:视频超分与循环的结构-细节网络 文章检索出处:2020 ECCV仅供学习使用,请勿转载。 我们提出了一种新颖的循环视频超分辨率方法,它将输入分为结构组件和细节组件,这些组件被馈入到几个two-stream structure-detail 模块所组成的循环单元中。另外还引入了隐藏状态适配模块,它允许当前帧有选择的使用来自隐藏状态的信息,以增强其对外观变化和错误累计的鲁棒性。在超分辨率的性能和速度方面,变表现非常出色。...

WangsyHebut的博客 3216

Vimeo-90K vs X4K1000FPS:5个实战场景教你选对视频插帧数据集

本文深入对比了Vimeo-90K与X4K1000FPS两大主流视频插帧数据集,通过游戏录制、影视慢动作、安防监控、移动端应用及学术研究5个实战场景,详细解析了如何根据分辨率、运动幅度、硬件成本等核心维度选择合适的数据集,帮助开发者和研究者高效训练模型并优化应用效果。

weixin_29094539的博客 403

视频插帧论文阅读(一)——FLAVR

CVPR2021 视频插帧论文--FLAVR,首个flow-free的单次多帧预测插帧网络,在精度和速度上保持了目前最优的平衡

下酒番陪绅士的博客 7720

720P实时超分和强悍的恢复效果:全知视频超分OVSR

论文连接:https://arxiv.org/pdf/2103.15683.pdf 作者单位:武汉大学、哈尔滨工业大学、武汉工业大学 译者言:本文可以看做是PFNL(同一作者)的续作。LOVSR是将PFNL和混合架构的结合,GOVSR是PFNL和双向混合架构的结合。虽然模型在Vid4上最高可以达到28.41dB,但是训练数据集与大众不同,虽然作者最后也在Vimeo-90K中进行了实验,但是并没有给出在Vid4等测试集上的测试结果,具体数据还得等代码开源后进行额外测试。滑动窗口方法(a)只能通过增加窗口大小来

WangsyHebut的博客 979

Vimeo90K数据集在视频超分任务中的高效预处理与LMDB格式转换实践

本文详细介绍了Vimeo90K数据集在视频超分任务中的高效预处理与LMDB格式转换实践。通过分析数据集下载、LMDB格式转换的优势及具体实现步骤,帮助开发者提升数据处理效率,优化视频超分模型的训练性能。

weixin_29083649的博客 270

EDVR复现过程中的Segmentation Fault及Vimeo-90k数据集的百度盘下载

EDVR复现Vid4中的Segmentation FaultEDVR介绍Segmentation Fault升级gcc重新编译运行运行结果 EDVR介绍 EDVR全称是:Video Restoration with Enhanced Deformable Convolutional Networks,是CVPR 2019 Workshop NTIRE 2019的冠军。在视频超分辨率Vid4数据集上测试结果仅次于今年的ISeeBetter,只有一点点的差距。 EDVR提出了一个PCD 对齐模块和时空注意力融合

change_things的博客 6000

Vimeo-90K vs X4K1000FPS:两大视频插帧数据集实战对比(附下载链接)

本文深入对比了Vimeo-90K与X4K1000FPS两大专业级视频插帧数据集的技术参数、运动特性和场景适用性,为工程实践提供选型指南。Vimeo-90K适合平缓运动场景,而X4K1000FPS专为极端高速运动设计,两者在分辨率、帧率和动态范围上存在显著差异。文章还提供了混合训练策略和计算效率优化方案,帮助开发者根据项目需求选择合适的数据集。

weixin_29062613的博客 148

Vimeo-90K vs X4K1000FPS:手把手教你选择最适合的视频插帧数据集(含实战对比)

本文深度对比了Vimeo-90K和X4K1000FPS两大主流视频插帧数据集,从基础特性、技术特点到实战性能进行全面分析。针对不同应用场景提供选择建议,并分享高级混合训练策略,帮助开发者和研究者根据项目需求选择最适合的视频插帧数据集,优化模型训练效果。

w1x2y3的博客 609

DAIN训练攻略:Vimeo90K数据集从零训练模型参数调优

你是否还在为视频帧插值中物体边界模糊、运动轨迹不连续而烦恼?DAIN(Depth-Aware Video Frame Interpolation,深度感知视频帧插值)作为CVPR 2019的创新技术,通过引入深度信息解决传统方法在遮挡区域处理的缺陷。本文将系统讲解如何基于Vimeo90K数据集从零训练DAIN模型,掌握参数调优核心技巧,让你的插值视频达到电影级流畅度。 读完本文你将获得: - 环...

gitblog_00305的博客 551

PCB设计必看:铜皮厚度与载流能力对照表(附Excel计算工具)

本文深入解析了PCB设计中铜皮厚度与载流能力的核心关系,提供了基于IPC-2152标准的动态计算逻辑与实用Excel工具。文章不仅分享了载流对照表,更重点剖析了影响载流能力的关键因素(如铜厚、线宽、温升、布线层),并给出了高电流设计的实战技巧与测试验证方法,帮助工程师规避常见陷阱,实现从理论到实践的闭环设计。

weixin_29228781的博客 724

2022.3.7 cv

basicvsr 有参考RBPN这个的方法 常用的词语: BI:双三次采样 它即可以上采样,也可以下 BD:模糊下采样。同上,一般一次测试中 就用其中一个就可以 2020之前现有的超分模型都在Basicvsr文章做了对比 Basic用reds训练时,输入的时15帧。而用Vimeo-90k时7帧,但是通过了翻转,所以等同于14帧。 vimeo90k数据全是gt的,先给它四倍下采样。然后gt最后,只要最中间的那张即可。这是照着测试集来的(划分来的)。(这个gt中的第四个我也没单独拿出来,它的代码..

lmx001206的博客 684

【Benchmark 性能测试全指南:从核心原理到 CINEBENCH 实战解析】

本文深度拆解基准测试(Benchmark)的底层逻辑,详解数据集、工作负载、度量指标三大核心要素,分步演示测试流程与统计分析要点。结合 CINEBENCH R23 实战案例,揭秘 CPU 性能评估方法论,助你掌握系统性能量化与优化的核心技能。

rong_ha_ha的博客 6330

OrangePi Kunpeng Pro 安装 ROS2 + Gazebo

OrangePi Kunpeng Pro 的优点很明显,内置openEuler,配备PD电源,做到开箱即用;板子设计也不错,风扇噪音不大,散热良好,昇腾芯片又确保小板子的性能,接口丰富是这类板子共同的优点,也很好的继承了下来,甚至还可以外接固态,可靠性大大提升。使用起来,哪怕不用openEuler的话,也可以很方便的刷Ubuntu来实现一些需要依赖的开发工作,这次没有跑AI模型,所以对算力的优势还没有很明显的感受,下次可以试一下yolo跑跑看。

Arcan 1824

MMagic 数据集准备指南:Vimeo90K 数据集下载、预处理与 LMDB 加速构建全流程

Vimeo90K 是由 MIT 发布的视频增强基准数据集,被 MMagic 中 BasicVSR、BasicVSR++、IconVSR、TOFlow、TDAN、CAIN、FLAVR 等多个视频复原与插帧算法用作训练和验证数据。本文以 [tools/dataset_converters/vimeo90k/README_zh-CN.md](https://link.gitcode.com/i/a710

gitblog_00812的博客 172

手把手教你用闲置安卓手机+蓝鲸支付,零成本搞定个人项目自动收款(附私有化部署教程)

本文详细介绍了如何利用闲置安卓手机和蓝鲸支付系统,零成本搭建个人项目自动收款解决方案。通过私有化部署教程,读者可以学习到从手机选择、系统配置到支付渠道对接的全流程,实现安全、高效的收款系统,特别适合个人开发者和小型项目使用。

weixin_29597551的博客 335

2020ECCV VSR Video Super-Resolution with Recurrent Structure-Detail Network

Video Super-Resolution with Recurrent Structure-Detail Network 1.总结 作者提出的网络将输入分成了结构和细节两部分,这些部分被送入到由几个proposed two-stream struct-detail模块。另外,引入了自适应隐藏层模块,允许当前帧可以有选择地使用来自隐藏层状态的信息,可以增强对外观变化和累积错误的鲁棒性。 分析比较: 以前VSR的方法时通过显式的运动的那个补偿来实现,先通过计算参考帧和邻帧的光流,然后对齐做超分。但是密集光流

eight_Jessen的博客 537

Java utgard连接OPC问题记录

怎么开启是个问题, 是在引入openscada的jar包里的Sever类中修改,这就犯难了, 其实没必要, 只要在自己项目下创建与openscada中Server类相同的路径,并复制Server过去改就行了, 项目会优先使用本地类,像下面这样。奇迹发生了,0x00000005解决. 注: 我的安全补丁编码跟网上查到的并不一样, 所以最初没有删,后来全都删了就好了,这个编码规则咱也不知道.安全日志中记录用户登录行为, OPC通信需要使用Windows系统用户进行登录, 如果用户名密码错误这里会有相关记录.

wangxin1949的博客 2840

XPATH注入漏洞检测工具汇总

环境 > Python3.7。

墨痕诉清风的博客 743

如何快速把消息与公告变成信号:PanWatch 实战

PanWatch(盯盘侠)是一款覆盖 A股、港股、美股的 AI 盯盘工具。除行情外,它会把自选股的新闻与公告自动去重、排序、打情绪标签,再交给大模型逐条给出利好利空判断,并写入盘前展望与 TradingAgents 深度分析,你不用自己刷信息流。 ## 盘前展望怎么获取新闻 定时任务执行盘前展望时([premarket_outlook.py](https://link.gitcode.com/

gitblog_00605的博客 159

NX二次开发常用函数——从一个坐标系到另一个坐标系的转换(UF_MTX4_csys_to_csys )相同体坐标转化

本文介绍了在项目开发中实现坐标转换的方法,重点解析了两个关键函数UF_MTX4_csys_to_csys和UF_MTX4_vec3_multiply的使用。通过4个变换矩阵(transform1-4)实现工作坐标系与绝对坐标系之间的相互转换,并以圆柱体为例详细说明了坐标转换的具体实现过程,包括原点、X/Y轴方向的转换处理。相比之前采用的if-else判断方法,这种矩阵转换方式在代码复杂度和运行效率上都更具优势。

weixin_47753171的博客 600

BasicSR数据集大全:从DIV2K到Vimeo90K的完整预处理指南

BasicSR是一个强大的开源图像和视频恢复工具箱,专门用于超分辨率、去噪、去模糊等任务。作为目前最全面的图像视频恢复框架,BasicSR支持EDSR、RCAN、SRResNet、SRGAN、ESRGAN、EDVR、BasicVSR、SwinIR、ECBSR等多种先进算法。对于想要入门图像恢复领域的新手来说,掌握数据集的预处理流程是成功的第一步。 本文将详细介绍BasicSR支持的主流数据集,包

gitblog_00361的博客 762

⭐️【2024年新版教程】vmware tools安装步骤(Windows、Linux、MacOS版本)

VMware Tools是VMware提供的一套实用工具,它可以增强虚拟机与宿主机之间的交互性能,如改进显示性能、优化鼠标和键盘性能、提供时间同步功能等。无论是在Windows、Linux还是MacOS虚拟机上,安装VMware Tools都可以提高虚拟机的使用体验。以上就是在不同操作系统上安装VMware Tools的步骤,希望对您有所帮助。

Python老吕的博客 6万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

超分辨率重建——冠军队EDVR视频超分网络训练自己数据集与推理测试(详细图文教程)

EDVR(Enhanced Deep Video Restoration)是一种用于视频超分辨率重建的深度学习方法,专注于提高视频质量和分辨率。EDVR 旨在解决视频超分辨率中的关键挑战,如复杂的运动估计、多帧信息融合、以及高效地恢复细节等。EDVR 被广泛应用于视频增强、去噪、去模糊、视频超分辨率等任务中。它在保持视频流畅性的同时,能够显著提高视频的清晰度和视觉质量。

qq_40280673的博客 3837

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: 图像评价指标PNSR和SSIM
下一篇: 超分辨率中为什么不适用BN
写Bug的小廉
博客等级 码龄9年 35粉丝 220原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值