视频插帧—— RIFE 和 IFNet 的机制和应用

news2024/11/25 2:34:04

介绍

最近,数字和模拟技术开始加速融合。我们生活在一个人工智能技术能够显著提高质量的时代,只要模拟材料能够数字化。

例如,讨论中涉及到的纸艺软件,纸龙的移动模型被时间锁定,以大约 3 fps(每秒帧数)的速度创建视频。然而,无论连续拍摄多么细致,视频看起来都很不流畅。不过,利用不断发展的人工智能技术 RIFE(实时中间流估计),现在可以将这种 3 帧/秒的视频转换(插值)为甚至 24 帧/秒的视频。

图 1 延时视频与 RIFE 插值视频的对比

它看起来如何?人工智能技术不仅被用于生成,还被用作插值材料领域的一种新方法。

人工智能技术本身也使用神经网络等工具来提高质量。在这里,RIFE 利用中间流网络 (IFNet) 显著提高了中间帧插值的质量。

本文解释了 RIFE 和 IFNet 的工作原理,并提供了将低帧频视频转换(插值)为高帧频视频的具体示例。

用 RIFE 生成中间帧

本文讨论的 RIFE软件Flowframes是一种用于视频帧插值的实时中间流估计算法。传统方法是对双向帧的光流进行估计、缩放和反转,以近似中间流。然而,这种方法存在引入伪影(误差和失真)的问题。

为了改进性能,RIFE 使用一种名为 IFNet 的神经网络来直接、精细地估计中间流,并高速执行。参考文献[2]中的实验表明,RIFE 在多个基准测试中都达到了很高的性能,比传统方法快 4 到 27 倍。

这些数据将按以下步骤进行处理,生成中间帧。

获取输入帧

图 2 两幅连续画面(延时摄影画面 A 和画面 B)

输入两个连续的帧和以启动程序。

光流计算

两个连续帧之间的运动是通过光流来估算的。这提供了显示每个像素移动情况的矢量信息。图中显示了使用光流估算和可视化的帧前后运动。你可以看到很多矢量,显示前后帧之间的关系。

图 3-1 第 1 至第 2 帧光流的可视化效果

图 3-2 第 2 帧至第 1 帧光流的可视化效果

中间流量估算 (IFNet)

基于光流信息,IFNet 还可用于估算帧与帧之间的中间流,并了解每个像素的移动情况。

框架翘曲

根据估计的流量,每个帧都会向后扭曲,以获得图像和中间位置的图像。

生成融合图

使用融合图,将翘曲帧融合在一起,生成最终的中间帧。这就是以下公式所示的内容。

生成中间帧。

计算扭曲帧。

这种方法通常比其他方法更快,而且可以生成高质量的中间帧。

图 4 生成的中间帧

翘曲的含义

翘曲是指变换图像或视频中的像素。具体来说,它是指通过将像素从原始位置移动到新位置来转换图像或帧。这就像拉动或推动纸张图片以改变其形状一样。

什么是融合地图?

融合地图并不是人工智能的一种,它是人工智能创建的加权地图,是人工智能使用的类似工具的实体,如 IFNet。

融合图的作用是确定像素的融合程度。它提供了权重信息,说明在对每个像素进行扭曲处理后,应从帧(扭曲帧 A 或扭曲帧 B)中提取多少信息。

确定每个像素的权重,例如,一个像素的 70% 来自翘曲帧 A,30% 来自翘曲帧 B。这些权重信息用于融合两个帧并生成中间帧。

融合制图是一种将不同来源的数据融合在一起以创建新图像的方法。

'它将不同来源的数据结合起来,创造出新的图像,这一点与图像生成人工智能**‘**图像到图像’(Image to Image)相似。然而,生成式人工智能本身的作用和意义以及它所创建的工具却完全不同。

IFNet 概览及其运作方式

IFNet 是一个用于直接估算中间流(intermediate flow)的神经网络。该网络用于生成两个连续帧(如帧 A、帧 B)之间的中间帧。

例如,假设 IFNet 接收到连续的输入帧(帧 A 和帧 B)和时间间隔 (t)。然后,IFNet 会估算帧之间的中间流(像素移动)和融合图 (M)。然后,利用估算出的中间流对输入帧进行扭曲(变形),并通过融合图生成中间帧(融合图决定每个像素从哪个帧中获取多少信息)。

课程查找策略

生成过程采用一种称为 “流程到精细”(course-to-fine)的方法,即在低分辨率下粗略估算流量,然后随着分辨率的提高对流量进行细节修改。

IFNet 使用大量图像帧和特权蒸馏(PRD)进行训练。这使得它能够正确识别一定量的未知数据

图 5:航迹到精细图像(低分辨率到高分辨率)

RIFE 和 IFNet 操作与图像到图像对比

每种方法都有不同的技术和方法,也有不同的目标。

RIFE 和 IFNet 合作生成中间帧。其目的之一是提高视频的流畅度,这也是该技术的重点所在。

图像到图像的图像生成人工智能 “专门从事图像转换”。它利用生成对抗网络(GAN)和扩散模型等典型实例,从输入图像生成新图像。该技术通过变换风格和改变属性(物体、人物、情感等)生成各种图像。

RIFE 和 IFNet 中间帧插值与变形技术的对比

主要区别在于方法和精度。

中间帧插值结合了光流(RIFE)和神经网络(IFNet、融合图),可实时生成极其精确和自然的中间帧。

而变形技术则主要利用形状变形来 "平滑 "两帧之间的变化。特征点之间的像素只是通过线性插值形成中间帧。这使得它处理复杂运动的能力受到限制。

图 6:变形示例。

实例

目前,除非图像与前一幅图像重叠约半帧,否则帧插值就会失败。不过,从 20 幅图像中,可以以 41 帧/秒的速度生成一段流畅的 3 秒视频,这是人工智能生成器的一项了不起的能力。

模拟材料被赋予了动态感和生命力,证实了使用生成式人工智能的艺术性。

以上是讨论中的一段话,但这种人工智能技术也不是万能的:对于两帧之间间隔较大的连续图像,插值是不完整的。这是因为物体位置和形状的变化太大,参考点的数量减少,使得光流等运动估计算法无法捕捉到运动。

当涉及旋转或复杂运动时,插值尤其困难。同样的道理也适用于物体在帧与帧之间时隐时现的视频。

不过,现在有一种名为 DAIN(深度感知视频帧插值)的帧插值技术,可以将深度信息考虑在内。未来的发展值得期待。

图 7 运动矢量短且不规则 → 中间帧不完整

总结

我们在本文中谈到了与质量改进相关的人工智能技术,比如那些幕后技术。最后,我们将引用一段话和一个视频示例来说明经过处理的讨论所表明的 “不可改变的想法”。

这些动感十足的纸艺作品是使用原创软件 "Paper Dragon "制作的,经过手工制作、组装、拍照,然后在数字环境中进行插值。作者深信,未来将通过数字-模拟-数字合作创造出新的表现技法。

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

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

相关文章

vm 虚拟机无法调用摄像头(亲测有效)

-- 前言1 报错说明1.1 opencv调用摄像头失败,画面窗口无法显示1.2 选择连接摄像头出现失败:桌面右下角出现【USB 设备“Acer Integrated RGB Camera"的连接失败】连接摄像头方法 2 解决方法步骤一步骤二步骤三 补充 前言 网上找的很多方法都是无效…

2024年游泳耳机哪个牌子好?四大热门游泳耳机多维测评盘点!

游泳不仅是夏日里最受欢迎的消暑方式,也是全年无休的一项全身性运动。在水中畅游时,若能伴随着喜爱的音乐,无疑能让体验更上一层楼。近年来,随着骨传导技术和防水材料的进步,游泳耳机已经成为许多游泳爱好者的必备装备…

网络编程,网络协议,UDP编程

网络: 1.协议:通信双方约定的一套标准 2.国际网络通信协议标准: 1.OSI协议: 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …

electron仿微信,新建贴合窗口

说明 在写electron项目时,只有一个主窗口不足以满足需求,我们通常还会打开很多个窗口。 怎么打开一个子窗口像微信的聊天界面一样,全贴合在一起,看起来像一个整体呢: 分析 这个窗口有点像element ui中的抽屉(drawe…

回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出

回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出 文章目录 前言回归预测|基于北方苍鹰优化NGO-Transformer-BiLSTM组合模型的数据预测Matlab程序多特征输入单输出 一、NGO-Transformer-BiLSTM模型回归预测:NGO-Trans…

VUE学习笔记 2

条件渲染 v-if : 若不频繁切换,会删除DOM节点,再重复添加; template只能配合v-if v-show: 适用于频繁切换,动态变换但不删除DOM节点 列表渲染 方式: v-for"p in person" :key"yyy" 遍历数组…

详讲C#中如何存储当前项目的设置-超级简单省事

我们在编写软件的时候总有一些配置数据需要保存,比如用户选择的偏好设置,又如软件所用到的数据库文件等。我们有很多中方式都可以保存,比如直接保存在某个文本文件,或者ini文件中,其实最简单的办法是保存在项目的资源文…

File的常见成员方法(创建,删除)

一.File的常见成员方法(创建,删除): 二.方法的代码实现: 1.createNewFile方法->创建一个新的空的文件: 如上图直接调用createNewFile方法会报错,处理方案如下: 本例选择第一个&a…

Kotlin OpenCV 图像图像51图片轮廓获取

Kotlin OpenCV 图像图像51图片轮廓获取 在OpenCV库中,Imgproc.adaptiveThreshold、Imgproc.findContours 和 Imgproc.boundingRect 这三个方法在图像处理和分析中非常有用。以下是它们的详细作用: Imgproc.adaptiveThreshold解释作用该方法用于将灰度图…

工业排污检测算法的算法样本及工业排污检测的源码展示

工业排污检测算法是一种结合了先进人工智能、图像识别、声音识别、数据分析等技术的解决方案,专门用于实时监测和评估工业排放的污染物。这种算法在环境保护、合规管理、数据支持等方面具有显著的优势,并且可以广泛应用于各种工业场景。 主要作用 1、实…

宝塔面板本地搭建Typecho博客结合内网穿透实现远程访问本地站点

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 前言 本文主要介绍如何通过Linux centOS8宝塔面板工具,本地搭建一个Typecho个人博客网站。并结合cpolar内网穿透工具配置公网…

关于Arrays.asList返回List无法新增和删除?

这个是在写项目的时候发现的&#xff0c;然后就分析了一下源码&#xff0c;得其内部原理 复现代码示例&#xff1a; public class ArraysAsList {public static void main(String[] args) {Integer[] array {1, 2, 3, 4, 5};List<Integer> list Arrays.asList(array);…

html+css+js网页制作 电商小米商城7个页面

htmlcssjs网页制作 电商小米商城7个页面 ui还原度百分之99 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 …

uniapp/uniapp x总结

uni-app组成和跨端原理 上图所诉 App的渲染引擎&#xff1a;同时提供了2套渲染引擎&#xff0c;.vue页面文件由webview渲染&#xff0c;原理与小程序相同&#xff1b;.nvue页面文件由原生渲染&#xff0c;原理与react native相同。开发者可以根据需要自主选择渲染引擎。 uniapp…

STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(2)

STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(2) 简介 实验 2&#xff1a;在单片机搭建好 tcp 服务器后&#xff0c;编写传送文件的上位机。 整体实现 - 利用qt的tcpsocket简单封装 - 每次发送512字节&#xff0c;这样小的tcp包就不会自动分包。保证每一个51…

多商户商品下单限购问题修复

问题: 当商品设置限购为 1 时,够买数量未超过限购,但是还是提示超出限购数量 修复方法: 修改代码路径: app\common\repositories\store\order\StoreOrderCreateRepository.php 修改代码一: i s p a y s a r r a y u n i q u e ( a r r a y c o l u m n ( is_pays array_un…

阿里一款非常不错的多级缓存框架如何使用?

目录 前言 1. jetcache简介 2. jetcache使用 2. jetcache使用 3. 测试 3.1 方式一测试 3.2 方式二测试 3.3 方式三测试 4.缺点优点 5. 常见报错 前言 大家好&#xff0c;我是月夜枫~~ 在很多大数据、高并发的业务中&#xff0c;像MySql等传统的关系型数据库已经不能适用…

C++ 设计模式(3. 抽象工厂模式)

抽象工厂模式也是一种创建型设计模式&#xff0c;提供了一个创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们具体的类【引用自大话设计模式第15章】基本结构 抽象工厂模式包含多个抽象产品接口&#xff0c;多个具体产品类&#xff0c;一个抽象工厂接口和多个具体…

BMC下使用KVM远程启动java被阻止解决方案

Java程序被阻止 进笔记本控制面板-Java里 安全里把BMC IP地址添加进去 -------------------------------------------- “如有侵权&#xff0c;联系删除”

【2024版】最新JDK下载和安装=保姆级教程,Java环境配置和使用指南,收藏这一篇就够了

大纲 JDK介绍 JDK下载 在线下载 离线下载 JDK安装 验证安装 JDK介绍 JDK&#xff08;Java Development Kit&#xff09;是用于开发Java应用程序的软件开发工具包。它包括&#xff1a;Java虚拟机&#xff08;JVM&#xff09;、Java类库以及其他一些用于开发Java应用程序的工具…