前言

视频制作者往往对于高帧率的视频画面有所追求,因为更高帧率的画面意味着在相同时间内能够播放更多帧画面,意味着视频观感更为流畅。
本篇就来尝试一个开源的自动补帧算法——RIFE。

论文标题:RIFE: Real-Time Intermediate Flow Estimation for Video Frame Interpolation
论文地址:https://arxiv.org/pdf/2011.06294v5.pdf
论文中文翻译:https://blog.csdn.net/superbinlovemiaomi/article/details/121305931
开源代码:https://github.com/megvii-research/ECCV2022-RIFE

RIFE简介

RIFE是由北大和Megvii Inc的研究人员于2020年发表在ArXiv上的视频插帧算法,之后发表在ECCV2022。

在论文的开篇,作者就放了一张RIFE和其他补帧算法的效果比较图,纵坐标是PSNR(峰值信噪比),从下图中可以看到,在不同帧率下,RIFE均取得了较好的效果。


RIFE的大致结构如下图所示:


输入两张相邻帧的图片到IFNet中,输出近似中间流(approximate intermediate flows)(类似光流法),然后和第一帧的图片一起进行后向变形(Backward Warping),得到两张预测图片,最后和第二帧的图片,一起经过一个融合过程(Fusion Process),最终输出中间帧(第一帧和第二帧之间)的预测图片。

论文最后,作者给出了各算法详细的数据比较和可视化比较结果,可以看到RIFE基本处于领先地位,而且它在模型复杂度上也比其它模型要好很多。

更多具体细节不仔细研究了,需要进一步了解可以看原论文。

RIFE实践

下面就到快乐的实践环节,基于RIFE的应用有很多,为了开发便利,这里直接运行官方开源的Github版本。
克隆代码,配置环境不做细述。

配置好环境后,需要下载官方提供的模型,放置在train_log目录下。

之后,终端输入:

python inference_video.py --exp=1 --video=video.mp4

这里的exp是一个帧率倍数,exp=1表示将视频帧率修复为原来的2倍;exp=2表示将视频帧率修复为原来的4倍(222^222),以此类推。
video为视频路径。
稍等片刻,即可在输入视频的路径下得到新生成的视频。

效果演示

我这里用好友绘制的低帧素材进行测试。
原视频:https://www.bilibili.com/video/BV1Rt4y1L7Rb

AI补帧:RIFE效果演示

注:由于B站限制最高只能到60帧,因此96fps和192fps看不出差别。

视频中将RIFE的效果和PR自带的帧采样光流法帧混合效果进行对比,这三种补帧方式简介如下:

  • 帧采样:在调整视频的播放速度之后,多出来的帧或空缺的帧按现有前后帧来生成。也就是复制前后帧。
  • 光流法:软件根据上下帧来推断像素移动的轨迹,自动生成新的空缺帧。有点类似于运动模糊计算方法。
  • 帧混合:混合上下两帧合并生成一个新的帧来填补空缺。

整体看下来RIFE补帧效果还是可以的,不过视频里存在一个小Bug:人物的左侧衣襟会“瞬移”到右侧,这主要是由于RIFE运用到了前后两帧的信息,两侧衣襟过于靠近且相似,造成了程序的误判。

附录:PR设置滑动变化效果

上面的演示视频中的滑动对比效果制作方式也简单记录下。
滑动效果核心是PR自带的视频过渡中的“划出”效果。

首先需要将素材按照下面时间轴的方式进行排布,滑动过程中需要两段素材有重叠。

然后将每一段字幕和素材进行嵌套:

最后添加划出效果,设置划出线条的颜色和粗细,拖动划出时间条如下图所示:

代码备份

RIFE源代码和模型文件备份如下:
https://pan.baidu.com/s/1gmN_5K6Re324AyZIGMQLmA?pwd=8888

【趣味实践】自动补帧算法——RIFE的使用相关推荐

  1. 【趣味实践】自动化抠图工具——XMem的使用

    前言 视频制作者可能都遇到过需要"抠图"的情况,即需要把一幅画面中的部分对象抠出来合成到另一幅画面之中. 伊利诺伊大学厄巴纳-香槟分校的研究者在ECCV 2022上提出了一个长视频 ...

  2. 自动补足算法是什么_如何自定义Shell(Fish版)的自动补全规则?

    默认fish能自动补全的命令已经相当多了,常见的apt-get,rpm等都没问题,但今天却发现没有lsusb的补全规则,查看了下文档,发现规则比bash-completion简单不少,记录下- 简单补 ...

  3. JQueryUI自动补全 搜索提示实践

    最近在做航运运价平台,有一个业务逻辑是需要在搜索的时候有搜索提示的,没法子,没写过,在找了很久解决方案还没有找到,快崩溃了的时候,忽然发现了jquery UI 的自动补全机制,完全符合啊,大救星. 首 ...

  4. BEV感知,是下一代自动驾驶感知算法风向吗?

    1 背景 在现代自动驾驶任务中,决策规划模块依赖于多个感知.预测任务模块以提供充足的环境信息,其中感知任务不仅需要检测场景中的动态物体,还需要识别道路边界.人行横道.车道线.路标等静态元素.而预测任务 ...

  5. 基于深度学习的RGBD深度图补全算法文章鉴赏

    点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 [GiantPandaCV导语]本文针对3维视觉中的深度图补全问题,介绍了一下近年基于深度学习的RG ...

  6. 字符串匹配数据结构 --Trie树 高效实现搜索词提示 / IDE自动补全

    文章目录 1. 算法背景 2. Trie 树实现原理 2.1 Trie 树的构建 2.2 Trie树的查找 2.3 Trie树的遍历 2.4 Trie树的时间/空间复杂度 2.5 Trie 树 Vs ...

  7. 准确率可提升50%以上,Facebook用迁移学习改进代码自动补全

    视学算法报道 转载自:机器之心 编辑:陈萍.杜伟 来自 Facebook 的研究团队将迁移学习用于代码自动补全,提出的方法在非常小的微调数据集上提高 50% 以上的准确率,在 50k 标记示例上提高了 ...

  8. SAP零售行业解决方案初阶 7 - 自动补货

    SAP RETAIL 自动补货 (Automatic Replenishment) 初探 SAP零售系统里不再运行MRP了,不过项目实践中还是需要运行Replenishment(补货),一些项目需要执 ...

  9. Matlab常用的11个快捷键【注释、自动对齐、跳转指定行、设置标签and断点、自动补全、历史命令、强制中断运行、退出、单行注释转多行】

    在使用Matlab进行编程时,有时可能需要不少时间.花时间的地方主要有两点: (1) 一方面在于调试算法的脑力劳动,比如检查算法是否解决了实际问题.程序是否优化等: (2) 另一方面则在于操作软件的体 ...

  10. dev c++代码自动补全_让代码自动补全的全套流程

    作者: 熊唯,黄飞 ,腾讯 PCG/QQ研发中心/CV应用研究组 AI 如果真的可以写代码了,程序员将何去何从?近几年,NLP 领域的生成式任务有明显的提升,那通过 AI 我们可以让代码自动完成后续补 ...

最新文章

  1. 【OpenCV 4开发详解】轮廓面积与长度
  2. 全新的基于VVC思想的页面验证js框架vtor
  3. excel大学计算机试题,大学计算机基础 excel测试题 求答案~~喵~~
  4. HTML5与jQuery实现渐变绚丽网页图片效果
  5. 批量将PNG转为JPG
  6. python相同程序执行结果不同_原理相同只是精简了的python代码,运行结果不同是为什么...
  7. Java路径问题终于解决方式—可定位全部资源的相对路径寻址
  8. 企业级 CI/CD 工具部署 Serverless 应用的落地实践
  9. 11-6缓存雪崩优化
  10. java阻塞执行命令_java执行bat命令碰到的阻塞问题的解决方法
  11. bzoj 1659: [Usaco2006 Mar]Lights Out 关灯(IDA*)
  12. elementui带输入建议查询_知道Profiler是什么吗?带你了解SQL Server的性能优化工具...
  13. 大型综合办公管理系统源码(OA+HR+CRM)源码免费分享
  14. 数据库SQL优化大总结1之- 百万级数据库优化方案
  15. android下利用高德地图获取经纬度等定位信息
  16. 解决跨域问题报错When allowCredentials is true, allowedOrigins cannot contain the special value “*“ since tha
  17. OSPF配置及MD5验证
  18. 安装win7时,出现“windows无法安装到这个磁盘,选中的磁盘采用GPT分区形式”的处理方式
  19. DSP F28335时钟及控制系统
  20. 洛谷刷题记录(python)【入门3】循环结构

热门文章

  1. C#线程 访问资源同步简介
  2. 国外雅虎邮箱的服务器地址,yahoo
  3. 华为核心交换机绑定IP+MAC+端口案例
  4. 百度翻译使用经验(Python版)
  5. 三维全景融合拼接技术
  6. 物理防火墙是什么?有什么作用?
  7. matlab simulink单相桥式逆变电路
  8. 网页版即时通讯聊天工具,支持主流浏览器,无需安装即可使用
  9. c语言程序设计操作,c语言编程入门相关详细操作
  10. 银行计算机岗位招聘简历,这才是HR筛选银行简历的正确打开方式!