这种插帧新方法让视频更丝滑,网友:我的PS2能玩4K游戏了吗
moboyou 2025-05-18 14:32 11 浏览
机器之心编辑部
在视频处理中,视频帧插值技术已经得到了广泛的应用。然而,传统的基于流的视频帧插值算法并不完美,有时不仅速度较慢,还会产生较多的伪影。针对这些问题,在本文中,来自旷视科技和北京大学的研究者进行了改进,提出了一种高效的实时中间流估计算法,不仅运行速度实现了数倍甚至数十倍的提升,而且伪影也较以往方法少得多。
视频帧插值(VFI)是当前视频处理中的一种常见方法,广泛用于提高帧速率和增强视觉质量,它支持各种应用,例如慢动作合成、视频压缩和用于动态视频去模糊的训练数据生成。此外,在实时速度下,高分辨率视频(如 720p、1080p)上,视频帧插值算法还有许多潜在的应用。
由于现实世界中存在复杂、大量的非线性运动和光照变化,因此视频帧插值方面还有一些挑战性问题存在。基于流的视频帧插值算法最近提供了解决这些挑战的框架,并且取得了出色的结果。根据如何 warp 输入帧,基于流的视频帧插值算法可以分为前向 warp 和后向 warp 方法,但这些方法基本上都有过于复杂沉重和缺少对近似中间流的直接监督等缺点。
大多数现有方法首先估算双向光流,然后将它们线性组合成近似中间流,从而会导致运动边界周围出现伪影。在一篇论文中,旷视科技和北京大学的研究者为视频帧插值(VFI)提出了一种实时中间流估计算法(real-time intermediate flow estimation, RIFE)。
论文链接:https://arxiv.org/pdf/2011.06294.pdf
GitHub 项目地址:https://github.com/hzwer/arXiv2020-RIFE
研究者设计了一个名为 IFNet 的中间流模型,该模型可以直接估计从多到少的中间流。然后根据估计的中间流对输入帧进行 warp,并采用融合过程来计算最终结果。基于该研究提出的 leakage distillation 技术,RIFE 能够进行端到端训练并获得出色的性能。实验表明,RIFE 比现有基于流的视频帧插值方法要快得多,并且在多个基准上达到 SOTA。
对于这种实时中间流估计算法,网友对其效果大加赞赏,并表示:「这种算法同样适用于游戏,很快老旧的 PS2 也能玩 4K 游戏了。」
还有人说:「这是我见过的最好的视频帧插值方法。」
方法
RIFE 包含两个主要组件,分别是利用 IFNet 进行高效的中间流估计和使用 FusionNet 时 warp 帧的融合过程。RIFE 的整体结构如下图 2 所示:
具体而言,给定一对连续的 RGB 帧 I_0 和 I_1,研究者的目标是在时间 t∈ (0, 1) 时合成中间帧 ^I_t。首先,通过将输入帧馈入 IFNet,该算法直接估计中间流 F_t→0,然后使用线性运动假设近似 F_t→1:
其次,研究者通过输入帧的后向 warp(backword warping)可以得到两个粗略结果 ^I_0→t 和 ^I_1→t 。此外,为了消除 warp 帧中的伪影,研究者利用一种类似于 FusionNet 的编码器 - 解码器架构将输入帧、近似流和 warp 帧馈入融合过程,以生成插值帧。
高效架构设计 IFNet
IFNet 的结构如下图 3 所示。IFNet 的作用是在给定两个连续输入帧 I_0 和 I_1 的情况下直接且高效地预测出 F_t→0。
在下图 4 中,研究者提供了 IFNet 的视觉效果,并与预训练 LiteFlowNet 生成的线性组合双向光流进行了比较。结果表明,IFNet 生成了清晰的运动边界,而线性组合流出现了像素重叠和模糊的运动边界。
如下表 1 所示,研究者将 IFNet 与当前的 SOTA 光流估计网络的运行时进行了比较。目前基于流的模型通过需要运行两次才能得到双向流,而本研究中间流估计过程的运行速度较以往方法缩短了 6 至 30 倍。因此 IFNet 为开发实时流 VFI 算法提供了可能。
融合过程
融合过程包含一个语境提取器和一个具有类 U-Net 的编码器 - 解码器架构的 FusionNet。其中,语境提取器和 FusionNet 中的编码器部分具有相似的架构,都包含 4 个步幅为 2 的 ResNet 块。FusionNet 中的解码器部分具有 4 个转置卷积层。研究者使用 sigmoid 函数来限制 FusionNet 的输出。
IFNet 的 leakage distillation
由于无法获取中间图像并缺少监督,中间流难以进行直接近似。为了解决这个问题,研究者在 IFNet 中添加了一个 leakage distillation 损失,其目的是为了预测出一个能够获取中间帧的 overpowered 教师网络。这个 leakage distillation 损失的定义如下:
如以往研究一样,IFNet 利用迭代更新流程生成了最终流估计,并且研究者将 leakage distillation 损失运用到了整个预测序列中。
实验
在实验部分,研究者选取了以下基准用于方法的评估,包括 Middlebury、UCF101、Vimeo90K 和 HD。研究者在 Vimeo90K 训练集上训练本文提出的模型,然后在上述基准中测试它们。
方法对比
如下表 2 所示,研究者使用英伟达 TITAN X GPU,按照 640 × 480 的输入分辨率,在多个基准和运行速度的情况下对性能进行了测试。结果显示,基础模型 RIFE 的运行速度快于所有对比方法。此外,RIFE-Large 在多个基准上比之前的 SOTA 方法 SoftSplat 快 30%。
表 2:在 UCF101、Vimeo90K、Middlebury OTHER 数据集和 HD 基准上的定量对比。红色和蓝色数字分别指的是最佳和次佳的性能。
研究者还在 Vimeo90K 测试集中选取了一段大幅动作的视频剪辑,提供了视觉方面的对比,如下图 5 所示。其中 SepConv-L1 和 DAIN 会产生伪影(ghosting artifact),CAIN 会导致铁铲的部分缺失,总体来说本文方法的生成结果最为可靠。
图 5:在 Vimeo90K 测试集上的定性对比结果。
控制变量实验
表 4:在 IFBlock 上不同的比例设置。IFNet 采用的是 (4, 2, 1) 设置, (1, 1, 1) 的组合只能在 UCF101 这种分辨率有限(256 × 256)的数据集上获得更好的性能。
表 5:不同损失函数的设置。去掉 leakage distillation 损失函数会导致性能的大幅下降,特别是在高分辨率基准上。
图 7:在 Vimeo90K 测试集上,每 5 个训练时(epoch)对本文所提出的模型进行评估。
多帧生成性能
为了评估本文模型在多帧生成方面的能力,研究者分别提供了 Vimeo90K 测试集中大幅动作的 2×、4× 和 8× 结果,如下图 6 所示。可以看出来,RIFE 能够生成平滑而连续的运动。
相关推荐
- Linux集群自动化监控系统Zabbix集群搭建到实战
-
自动化监控系统Cacti特点:将监控到的数据,绘制成各种图形基于SNMP协议(网络管理协议)的监控软件,强大的绘图能力Nagios特点:状态检查和报警机制(例如:内存不足或CPU负载高时,及时的...
- 快速掌握Kafka系列《三》配置项总结
-
往期系列文章:1.快速掌握Kafka系列《一》基本概念入门2.快速掌握Kafka系列《二》常用操作命令汇总目录一、前言二、broker配置2.1三个基本配置2.2其它配置2.3...
- 8.mxGraph 命名空间与 Hello World 示例实践.md
-
2.2.2GeneralJavaScriptDevelopment常规JavaScript开发2.2.2.1JavaScriptObfuscation/JavaScript混淆[翻...
- 英特尔 i9-12900KS 最新爆料:基础功耗 150W,790 美元
-
IT之家2月14日消息,据爆料者@momomo_us的消息,现在已有海外经销商列出了i9-12900KS的商品信息。i9-12900KS的产品代码为BX8071512900KS,基...
- Spring Boot集成OAuth2:实现安全认证与授权的详细指南
-
SpringBoot集成OAuth2:实现安全认证与授权的详细指南引言在当今数字化时代,Web应用的安全认证和授权至关重要。OAuth2作为一种广泛应用的开放标准协议,为第三方应用提供了安全、便捷的...
- DNF人造神团本男气功加点攻略(dnf男气功用什么神话)
-
SP方面:加点从下往上点起,大技能全部点满,剩余sp在雷霆踏和念雷轰之间根据个人喜好二选一。加点代码:eJwNzTEKglAAx+Hf35D0pU8bImxpkSgHt47QFNRSi2cIkkJ...
- Python连接Mysql数据库的几种方式以及问题排查方法
-
一、使用pymysql连接Mysql数据库连接示例:conn=pymysql.connect(host=host,user=user,password=passwd,db=db,port=int(...
- 37【源码】数据可视化:基于 Echarts + Python 动态实时大屏
-
效果图展示1.动态效果演示2.静态切片效果图一、确定需求方案1.确定产品上线部署的屏幕LED分辨率本案例基于16:9屏宽比,F11全屏显示。2.部署方式浏览器打开播放,Chrome浏览器、360浏览...
- 36【源码】数据可视化:基于 Echarts + Python 动态实时大屏
-
效果图展示动态效果演示2.静态切片效果图一、确定需求方案1.确定产品上线部署的屏幕LED分辨率本案例于16:9屏宽比,F11全屏显示。2.部署方式浏览器打开播放,Chrome浏览器、360浏览器等。...
- Jsp Servlet Mysql实现的在线商城项目源码附带视频指导运行教程
-
今天给大家演示一款由jspservletMySQL实现的在线商城系统,系统项目源码在【猿来入此】获取!本系统实现了管理员管理用户、商品(商品分类)、订单、留言、新闻等功能,前台会员注册登录,查看商...
- MySQL大数据表处理策略,原来一直都用错了……
-
场景当我们业务数据库表中的数据越来越多,如果你也和我遇到了以下类似场景,那让我们一起来解决这个问题。数据的插入,查询时长较长后续业务需求的扩展,在表中新增字段,影响较大表中的数据并不是所有的都为有效数...
- 基于SpringBoot 的CMS系统,拿去开发企业官网真香(附源码)
-
前言推荐这个项目是因为使用手册部署手册非常完善,项目也有开发教程视频对小白非常贴心,接私活可以直接拿去二开非常舒服开源说明系统100%开源模块化开发模式,铭飞所开发的模块都发布到了maven中央库。可...
- 「Qt入门第22篇」 数据库(二)编译MySQL数据库驱动
-
导语在上一节的末尾我们已经看到,现在可用的数据库驱动只有两类3种,那么怎样使用其他的数据库呢?在Qt中,我们需要自己编译其他数据库驱动的源码,然后当做插件来使用。下面就以现在比较流行的MySQL数据库...
- 基于SpringBoot从0到1编写一个图书管理系统(附源码)
-
项目源码地址:https://muzidong.com/productDetail/8ff44c71db6b4b6aa30c71e646b1c557需求分析基于SSM+MySql+LayUI...
- Jsp+Ssm+Mysql实现的投票管理系统源码附带视频指导配置运行教程
-
今天给大家演示的是一款由jsp+ssm框架+mysql实现的投票管理系统,系统分为前端和后台管理模块,系统项目源码在【猿来入此】获取!前端用户可以登录注册、查看投票信息,登录后可以进行投票,也可以查看...
- 一周热门
- 最近发表
-
- Linux集群自动化监控系统Zabbix集群搭建到实战
- 快速掌握Kafka系列《三》配置项总结
- 8.mxGraph 命名空间与 Hello World 示例实践.md
- 英特尔 i9-12900KS 最新爆料:基础功耗 150W,790 美元
- Spring Boot集成OAuth2:实现安全认证与授权的详细指南
- DNF人造神团本男气功加点攻略(dnf男气功用什么神话)
- Python连接Mysql数据库的几种方式以及问题排查方法
- 37【源码】数据可视化:基于 Echarts + Python 动态实时大屏
- 36【源码】数据可视化:基于 Echarts + Python 动态实时大屏
- Jsp Servlet Mysql实现的在线商城项目源码附带视频指导运行教程
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)
- mysql数据库源码 (21)