超越传统插值:利用深度学习提升视频帧率与清晰度

视频帧率的提升是视频处理领域中一个重要问题,它直接影响到视频的流畅度和观感。随着技术的发展,人们对于视频质量的要求越来越高,尤其是在捕捉快速运动场景时,高帧率视频能够提供更加清晰和连贯的视觉效果。然而,传统的视频拍摄设备往往受限于硬件性能,无法实时记录高帧率视频,这就导致了在回放快速动作时出现模糊和拖影现象。现有的提高视频帧率的方法,如时间插值技术,虽然能够在一定程度上增加视频的帧数,但它们通常无法恢复由于运动模糊和运动混叠而丢失的高频信息。时间插值通常只是简单地在现有帧之间插入额外的帧,而不能解决由于低采样率带来的问题。

时间超分辨率(TSR)方法的出现,为解决这一问题提供了新的途径。TSR不仅能够增加视频的帧率,还能够恢复超出原始视频帧率奈奎斯特极限的高频信息,从而有效解决运动模糊和运动混叠问题。与传统方法相比,TSR的优势在于它能够提供更高质量的视频增强效果,尤其是在处理复杂动态场景时,TSR能够生成更加清晰、自然的高帧率视频。TSR方法不需要外部数据集进行训练,而是直接利用输入视频本身进行自我训练,这使得它能够更好地适应视频内容的特定统计特性,提高了算法的泛化能力和实用性。

时间超分辨率(TSR)算法在将视频帧率提高8倍时的效果比较。本方法与目前最先进的方法(DAIN、NVIDIA SloMo、Flawless)进行了比较。图中特别指出了在处理高度非刚性物体(如火焰、水)时的模糊问题,以及快速旋转风扇引起的运动模糊和混叠问题。本方法在这些挑战性场景中表现更好。
这张图展示了时间帧插值与时间超分辨率之间的对比。一个快速顺时针旋转的风扇被慢速摄像机录制下来,结果得到的低时间分辨率(LTR)视频显示风扇模糊且错误地逆时针旋转。时间帧插值/上采样方法无法消除运动模糊或混叠,而真正的TSR不仅增加了帧率,还恢复了丢失的高时间频率,解决了运动混叠和模糊。
跨维度的补丁递归

视频本质上是由连续的帧组成的,这些帧在时间和空间上都存在着一定的冗余性。特别是,视频帧中的小区域,即空间时间补丁(ST-patches),在视频序列内部会以不同的形式重复出现。这种现象称为补丁递归,是视频处理和增强技术中一个重要的概念。

补丁递归不仅在同一维度的不同时空尺度中存在,还特别地出现在视频的时空维度互换中。这意味着,如果我们将视频的时间维度和空间维度进行交换,我们仍然可以观察到类似的递归模式。例如,将视频帧视为空间的x-y平面,时间切片x-t或y-t可以视为在时间上展开的“帧”。

一维(1D)示例,说明了跨维度重现现象。一个1D对象向右移动,当时间采样率适当(ΔT=1)时,时间切片与空间切片相似。但是,当时间采样率太低(ΔT=2)时,时间切片就会成为空间切片的欠采样(混叠)版本。因此,空间帧提供了消除时间混叠的示例。

在快速移动物体的视频中,时间切片上的ST-patches往往看起来模糊不清,就像是传统空间帧的低分辨率版本。这种模糊是由于视频帧率不足以捕捉快速运动的细节,导致运动模糊和混叠现象。然而,这些低分辨率的时间切片与高分辨率的空间帧之间存在一种内在联系。

在跨维度与在同一维度内找到的最佳补丁匹配的百分比。红色表示所有10个最佳匹配都是在跨维度中找到的;蓝色表示所有10个最佳匹配都是在同一维度内找到的。图中显示了大量ST-patches在跨维度中找到了它们的最佳匹配。

通过观察到的递归性,我们可以利用高分辨率的空间帧来指导如何提高时间切片的分辨率。具体来说,空间帧提供了清晰的参考信息,可以用来恢复时间切片中丢失的细节,从而提高整个视频的时间分辨率。这种方法允许我们在不需要额外数据的情况下,仅通过内部视频数据来增强视频的动态清晰度。

生成内部训练集

在深度学习和卷积神经网络(CNN)的应用中,训练集的质量直接影响模型的性能。为了提升视频的时间分辨率,需要一个高质量的训练集来指导网络学习如何从低时间分辨率(LTR)的视频帧中恢复出高时间分辨率(HTR)的视频帧。

传统的训练方法依赖于大量的外部数据集。然而,本文提出的方法采用了一种创新的途径——生成内部训练集。这种方法直接从输入视频中提取LTR和HTR的示例对,而不需要任何外部数据。

这张图说明了如何通过不同的时空尺度组合生成各种速度、大小、不同程度的运动模糊和混叠的ST-patches。这些用于生成各种LTR示例视频,它们对应的真实HTR视频是已知的。图7.b展示了如何利用xy视频帧作为高分辨率示例,来生成如何提高时间分辨率的训练示例。

视频帧中的小空间时间补丁(ST-patches)在视频的不同时空尺度上具有递归性。这意味着,即使在不同的尺度上,相似的ST-patches也会重复出现。利用这一特性,可以通过对视频帧进行空间降采样和时间模糊来创建LTR补丁,同时通过时间插值和空间锐化来创建HTR补丁。

除了在同一维度的不同尺度上寻找递归的ST-patches,跨维度的匹配也是一个关键的步骤。通过交换视频的空间和时间维度,研究者们能够在新维度上找到相似的补丁,这为生成训练示例提供了更多的可能性。

生成训练示例的过程涉及对视频帧进行多种变换,包括空间和时间的尺度变换、模糊和锐化等。这些变换帮助创建了从LTR到HTR的对应补丁对,从而形成了训练集。

通过内部生成的训练集,CNN能够学习到与输入视频紧密相关的特定统计特性。这种自我监督的学习方式使得网络能够更好地适应视频内容,提高了模型对新数据的泛化能力。

为了进一步丰富训练集并提高网络的鲁棒性,研究者们还应用了数据增强技术,如镜像翻转、旋转等。这些增强手段增加了训练示例的多样性,有助于网络学习到更加全面的特征表示。

‘零样本’时间超分辨率——算法

在传统的机器学习方法中,模型通常需要大量的标注数据来训练。然而,在时间超分辨率(TSR)的应用中,获取高时间分辨率的真实数据往往是不可行的。为了解决这个问题,所提出的算法采用了零样本学习,即直接利用输入视频本身作为训练数据,无需任何外部样本。这种方法的优势在于能够自动适应输入视频的独特特性,而不需要依赖于预先定义的数据集。

算法采用了一个轻量级的卷积神经网络(CNN),专门针对视频数据进行设计。这个网络保持了较小的感受野,专注于处理小的空间时间补丁(ST-patches)。这种设计选择有助于捕捉视频中的细节信息,并且与ST-patches的递归性相匹配,因为递归性在小补丁上表现得更为明显。

为了有效提高视频的时间分辨率,算法采用了一种粗糙到精细的处理策略。开始时,算法首先对视频进行空间和时间上的降采样,以减少计算复杂度并降低处理难度。随后,网络逐步提高视频的分辨率,从粗略的估计开始,逐渐细化到更精确的输出。

从粗到细的方案和网络架构。图8.a提供了模型的详细描述,图8.b详细说明了从S×1/4T×1到S×1T×8的粗到细上尺度方案。

在每个处理阶段,CNN都会从当前的视频分辨率状态中学习,并尝试提高时间分辨率。通过这种方式,网络能够逐步学习如何处理视频中的运动和模糊,最终达到提高时间分辨率的目的。

与传统的监督学习不同,零样本学习不依赖于预先标注好的训练集。相反,它依赖于从输入视频中提取的内部信息来进行自我训练。这种方法使得网络能够专注于学习如何从低时间分辨率的视频恢复出高时间分辨率的视频,而不受外部数据的影响。

由于算法是从输入视频本身提取训练信息,因此它具有很好的泛化能力。这意味着算法不仅能够处理训练时见过的视频类型,还能够适应新的、以前未见过的复杂动态场景。

实验

研究者们首先构建了一个包含25个LTR视频的挑战性数据集,这些视频包含了复杂的快速动态场景,并使用慢速(30fps)视频摄像机进行“记录”,以实现全帧间曝光时间。这些LTR视频是从使用高速摄像机(主要是240fps)记录的真实复杂视频中生成的,通过在时间上模糊和下采样(平均每8帧)来创建。这些视频因其长度较长,提供了大量数据以供比较和评估。

创建的数据集上比较不同方法(包括Ours、Flawless、DAIN、NVIDIA SloMo)的TSR×8结果。
表格中使用了PSNR、SSIM和LPIPS等指标进行定量比较。

数据集被进一步分为两组:(i) 13个极具挑战性的视频,不仅运动模糊严重,而且还存在严重的运动混叠和/或复杂的高度非刚性运动(例如,飞溅的水,闪烁的火);(ii) 12个较不具挑战性的视频,尽管运动模糊严重,但主要是刚性运动。

研究者们将所提出的TSR方法与领域内的领先方法(DAIN、NVIDIA SloMo、Flawless)进行了比较。实验结果显示,所有方法在处理复杂动态场景时都面临挑战。特别是,由于快速旋转的风扇/轮子引起的严重运动模糊和严重运动混叠,没有一种方法能够解决这些问题。这些方法不仅恢复的帧极其失真和模糊,而且它们都恢复了错误的运动方向(逆时针旋转),并且旋转速度也是错误的。

研究者们使用峰值信噪比(PSNR)、结构相似性(SSIM)和感知度量(LPIPS)等指标对所有方法在数据集上的性能进行了定量比较。结果表明,尽管Flawless是一个预先训练的监督方法,而本研究所提出的方法是无监督的,不需要任何预先训练的样本,但两者在数据集上提供了可比的定量结果。此外,在极具挑战性的视频子集(高度复杂的非刚性运动)中,无监督的TSR方法优于外部训练的Flawless。

为了检验跨维度增强在提取TSR内部训练样本方面的强大能力,研究者们进行了消融研究。消融研究的结果表明,平均而言,跨维度增强比同一维度内的增强包含更多信息,从而在PSNR、SSIM和LPIPS方面都有所改进。然而,由于不同的视频有不同的偏好,因此使用最佳配置(无论是“内部”、“跨维度”还是两者结合)对每个视频进行训练,可以在所有三个指标上提供额外的整体改进。

消融研究,比较了当网络仅在同一维度(‘Within’)、仅在跨维度(‘Across’)或每个视频的最佳配置下训练时的性能。

深度内部学习是一种创新的时间超分辨率方法,它通过自我训练机制,无需外部数据集即可提高视频的时间分辨率。该方法特别适用于处理包含复杂动态场景的视频,能够显著改善运动模糊和运动混叠问题,超越了以往基于外部视频数据集训练的监督方法。随着技术的不断进步,这种方法有望在未来的视频增强和分析领域发挥重要作用。

论文链接:https://arxiv.org/pdf/2003.08872

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X

Lumina-T2X: Transforming Text into Any Modality, Resolution, and Duration via Flow-based Large Diffusion Transformers 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0. 摘要 …

Dynamics CRM 修改新建记录的CreatedOn字段值

CRM在创建新记录时,一些系统属性例如创建者、创建时间是取当前创建记录的人以及当前的时间,而有时这些属性需要更改,例如创建时间,这个场景更多的用在数据迁移的时候,老数据有他的原始创建时间,不能因为迁移…

python在cmd中运行.exe文件时报错:不是内部或外部命令,也不是可运行的程序或批处理文件。的解决办法

添加系统环境变量: 设置环境变量,在用户变量里面添加 【PATH:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Windows\SysWOW64】 在系统变量里面添加,【变量名:ComSpec】 【变量值:%SystemRoo…

springboot+vue的养老院管理系统

免费获取方式↓↓↓ 项目介绍036: http://localhost:8080/ admin 123456 测试用户 123456 测试护工 123456 二、技术栈 所有场景都支持 适合零基础小白练手和实战;适合二次开发; 项目图片概览: 以上是对本项目的界面预览。 界…

比较3维空间中4个点的不同结构

在4*4*4的3维空间中,取4个点共有635376种可能,有209个结构,继续按旋转对称分类则只有55个不同的结构。如其中的4t12 4个点在同一个平面,有1个点与其中的3个点不在同一行也不在同一列,这样的位置不止一个 这两个结构都是…

JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测

JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测 目录 JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多…

【产品经理】总篇章

引言: 在最近频繁的产品职位面试中,我深刻体会到了作为产品需要的不仅仅是对市场和技术的敏锐洞察,更多的是在复杂多变的环境中,如何运用沟通、领导力和决策能力来引导产品从概念走向市场。这一系列博客将分享我多年经历和所学到的所以知识&a…

golang线程池ants-四种使用方法

目录 1、ants介绍 2、使用方式汇总 3、各种使用方式详解 3.1 默认池 3.2 普通模式 3.3 带参函数 3.4 多池多协程 4、总结 1、ants介绍 众所周知,goroutine相比于线程来说,更加轻量、资源占用更少、无线程上下文切换等优势,但是也不能…

知识计算概述

文章目录 知识计算研究现状技术发展趋势 知识计算 随着知识图谱技术及应用的不断发展,图谱质量和知识完备性成为影响知识图谱应用的两大重要难题,以图谱质量提升、潜在关系挖掘与补全、知识统计与知识推理作为主要研究内容的知识计算成为知识图谱应用的重…

Hive-因精度丢失导致的 join 数据异常

一、问题复现 不知你是否遇到过 join 结果明显不匹配的情况,例如on t1.join_key t2.join_key中两个join_key明显不相等,但 join 的结果却将其匹配在一起。今日博主在通过用户 id 关联获取用户信息时发现一个用户 id 可以在用户维表中匹配出若干条&…

Simulink中使用ROS1自定义消息

Simulink中使用ROS1自定义消息 简介前提条件操作流程问题一问题二问题三 吐槽 简介 最近在做的项目里需要使用Simulink与ROS联合仿真,这里就遇到了一个问题,Simulink无法直接使用ROS中的自定义消息,需要在MATLAB中生成一下,再引入…

D3D 顶点格式学习

之前D3D画三角形的代码中有这一句, device.VertexFormat CustomVertex.TransformedColored.Format; 这是设置顶点格式; 画出的三角形如下, 顶点格式是描述一个三维模型的顶点信息的格式;可以包含以下内容, 位置…

C语言:如何在微软VS环境下使用C库?

技术答疑流程 扫描二维码,添加个人微信;支付一半费用,获取答案;如果满意,则支付另一半费用; 知识点费用:10元 项目费用:如果有项目任务外包需求,可以微信私聊

LLM背后的基础模型 1

写在最前面的话 任何开源技术是最有生命力的,也是最具分享精神的。一直觉得大模型领域需要有一个系列能够从零开始系统性的讲述领域知识,给与这个领域的从业人员或者对其有兴趣的门外汉及时的帮助。国外承担“布道者”的公司众多,而数砖公司…

prometheus docker部署

1.安装Docker sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors":["https://hub-mirror.c.163.com"] } EOF export DOWNLOAD_URL"https://hub-mirror.163.com/docker-ce" curl -fsSL https://ge…

python如何安装pyqt4

第一步&#xff0c;下载.whl文件&#xff0c;地址&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4&#xff0c;这里可以下载不同的python版本对应的包。 第二步&#xff0c;选择一个目录&#xff0c;将下载好的文件放到该目录下&#xff0c;然后cmd下&#xff…

基于IoTDB 平台的学习和研究

Apache IoTDB&#xff08;物联网数据库&#xff09;是一个针对物联网领域的高性能原生数据库&#xff0c;适用于数据管理和分析&#xff0c;并可在边缘计算和云端部署。由于它轻量级的架构、高性能和丰富的功能集&#xff0c;以及与Apache Hadoop、Spark和Flink的深度集成&…

将 vue文件转为字符串在Codemirror里面展示

第一种直接引入 import index from "./FFCesiumExample/basicOperationInterface/addIconMap.vue?raw"; index直接就是字符串。但是出现一个问题就是build的时候可以出警告&#xff0c;。so还有第二种 const readFile (filePath) > {// 创建一个新的xhr对象l…

查看VUE3代理后真正请求的URL

在vite.config.ts中添加如下配置&#xff1a; server: {host: "0.0.0.0", // 指定服务器应该监听哪个 IP 地址port: 8848, // 指定开发服务器端口open: true, // 开发服务器启动时&#xff0c;自动在浏览器中打开应用程序cors: true,// Load proxy configuration fr…

【TB作品】MSP430G2553单片机,智能储物柜

智能储物柜将实现的功能&#xff1a; 1在超市或者机场场景下&#xff0c;用户需要进行物品暂存时。按下储物柜键盘的需求按键&#xff0c;智能储物柜将会随机为用户分配一个还没使用的柜子&#xff0c;屏幕提示用户选择密码存储方式或者身份证存储方式&#xff1b; 2 用户选择密…