丰色 发自 凹非寺
量子位 报道 | 公众号 QbitAI

要制作慢动作视频就必须要用死贵的高速摄像机

NO! 可以用AI。

看到没,这就是AI完成的效果!

虽然和真正的高速摄像机至少上千的帧数没法比,但它完全可以做到每秒53帧的视频轻轻松松变成960帧没有伪影也没有噪声。

很多网友看完效果都按耐不住了:“非常想要一个深入的教程”、“能不能出一个应用程序?”……

而这项酷毙的研究成果也成功入选CVPR 2021,研究人员来自华为苏黎世研究中心和苏黎世大学

当然,也用了一个特殊的摄像头

实现这一效果没有采用通过视频光流来猜测粒子运动的经典思想,而是先用了两个摄像头来捕捉画面。

一个就是普通摄像头,记录低帧(20-60FPS)真实画面;

要想达到慢动作效果,起码得每秒300张画面才够;20帧的视频给的信息太少了,没法直接合成慢动作。

怎么办?靠另一个特殊的摄像头——

也就是事件相机(也称为神经形态相机),它使用新型的传感器,拍摄的是“事件”,也就是记录像素亮度变化

事件相机还比较新兴,实验室里有很多,市场上还没有大规模问世,报价有2000美元一个或更高。

由于该相机记录的信息经过压缩表示,因此可以较低的清晰度、高速率进行拍摄,也就是牺牲图像质量换取更多图像信息。

最终的信息量足够AI理解粒子的运动,方便后续插值。

 问号部分即为我们要的插帧

这俩相机同步拍摄到的内容合起来就是这样的:

拍好以后,就可以使用机器学习来最大化地利用这两种相机的信息进行插帧了。

研究人员在这里提出的AI模型叫做Time Lens ,一共分为四块

首先,将俩相机拍到的帧信息和事件信息发送到前两个模块:基于变形(warp)的插值模块和合成插值模块。

基于变形的插值模块利用U形网络将运动转换为光流表示,然后将事件转换成真实的帧。

合成插值模块也是利用U形网络将事件置于两个帧之间,并直接为每个事件生成一个新的可能帧(现在就为同一事件生成两个帧了)。

该模块可以很好地处理帧之间出现的新对象以及光线变化(比如水反射啥的)。

不过到这里的话,合成的视频可能会有一个问题:出现噪声

这时,第三个模块的作用就派上用场了,它使用第二个插值合成模块中的新信息来细化第一个模块。

也就是提取同一事件的两个生成帧中最有价值的信息,进行变形优化——再次使用U-net网络生成事件的第三个帧版本

最后,这三个候选帧被输入到一个基于注意力的平均模块。

该模块采用三帧表示中最好的部分将它们组成最终帧。

现在,有了帧之间第一个事件的高清帧后,再对事件相机提供的所有事件重复此过程,就能生成最终我们想要的结果了。

这就是使用AI创建逼真的慢动作视频的方法。怎么样?

附一个摄像机的参数图:

取得了智能手机和其他模型无法达到的效果

你说这个AI模型的效果好,那得对比一下才知道。

比如上面这个与最优秀的插值模型之一的DAIN(入选CVPR 19)的对比,谁好谁坏效果就很明显了。

而且它的插值方法的计算复杂度也是最优的:图像分辨率为640×480,在研究人员的GPU上进行单个插值时,DAIN模型需要878毫秒,该AI则只需要138毫秒

另外,虽然不建议,用该模型输入的视频即使只有5帧,也可以生成慢动作。

和其他模型的对比实验数据,大家感兴趣的可以查看论文。

最后,作者在介绍成果的视频里也再次说道,不和昂贵的专业设备相比,该模型至少取得了智能手机和其他模型无法达到的效果。

作者介绍

一作Stepan Tulyakov,华为苏黎世研究中心机器学习研究员。

共同一作Daniel Gehrig,苏黎世大学博士生。苏黎世联邦理工大学机械工程硕士。

论文地址:
http://rpg.ifi.uzh.ch/docs/CVPR21_Gehrig.pdf

开源地址:
https://github.com/uzh-rpg/rpg_timelens

参考链接:

[1]https://www.louisbouchard.ai/timelens/

[2]https://www.reddit.com/r/MachineLearning/comments/pm6s6h/news_make_slow_motion_videos_with_ai_timelens/

[3]https://www.youtube.com/watch?v=dVLyia-ezvo

53帧变900帧!AI让你不用昂贵的高速摄像机也能制作慢镜头,来自华为|CVPR 2021...相关推荐

  1. 用AI脑补慢动作,30帧秒变120帧,轻松看清“松果糖豆五连鞭”动作细节

    来源:HyberAI超神经本文约2400字,建议阅读8分钟本文带你了解Super SloMo教程. 如今,人们对于视频帧率的追求越来越高,因为高帧率视频更加顺滑.流畅,能极大地提升人们的观看体验. 现 ...

  2. 看到怒飞垂云的 一节课讲明白所有串口协议-Mavlink/ubx/诺瓦泰/NMEA/自定义协议/变帧长/定帧长 也是很有感触

    看到怒飞垂云的 一节课讲明白所有串口协议-Mavlink/ubx/诺瓦泰/NMEA/自定义协议/变帧长/定帧长 也是很有感触 http://www.nufeichuiyun.com/?page_id= ...

  3. 视频压缩编码 gop(Group of Pictures)(I帧间隔)的概念、IDR、I帧(关键帧,intra picture)、P帧、B帧、帧内压缩、帧间压缩、pts(显示时间)、dts(解码时间)

    文章目录 前言: 关于视频的基础定义 GOP:Group of Pictures 压缩(也就是编码) 帧内压缩:自己本身压缩,不参考其他的帧. 帧间压缩:参考其他视频帧压缩. 解码(解压缩) 为什么好 ...

  4. I 帧和 IDR 帧的区别

    I 帧和 IDR 帧的区别: IDR 帧属于 I 帧.解码器收到 IDR frame  时,将所有的参考帧队列丢弃 (用x264_reference_reset 函数实现--在 encoder.c 文 ...

  5. 丝滑!CVPR 2021 视频插帧论文+开源代码汇总

    点击上方"AI算法与图像处理",选择加"星标"或"置顶"重磅干货,第一时间送达 从事算法岗经常需要查看最新的研究成果,希望从中能借鉴一些别人 ...

  6. H264编码入门(二)I 帧和 IDR 帧的区别

    I 帧和 IDR 帧的区别 I 帧和 IDR 帧的区别 IDR与GOP: 疑问: 解答: 结论 QQ交流群:697773082 I 帧和 IDR 帧的区别 IDR 帧属于 I 帧.解码器收到 IDR ...

  7. TouchGFX升级至V4.12,每秒帧数从9帧升级至60帧,同时更新TouchGFX Suite

    关注.星标公众号,不错过精彩内容 TouchGFX属于Draupner Graphics公司的GUI产品,在去年(2018年7月),TouchGFX被ST收购,在STM32上可以免费使用TouchGF ...

  8. 借助深度卷积神经网络对图片 GIF 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行 插帧(即补帧).

    借助深度卷积神经网络对图片 & GIF & 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行 插帧(即补帧). 软件下载地址:下载地址 界面效果: 处理效果: 图像清晰化 图像放 ...

  9. (转)I 帧和 IDR 帧的区别

    I 帧和 IDR 帧的区别:http://blog.csdn.net/skygray/article/details/6223358 IDR 帧属于 I 帧.解码器收到 IDR frame  时,将所 ...

最新文章

  1. 隐藏input边框(ie6、ie7)
  2. 新闻上的文本分类:机器学习大乱斗 王岳王院长 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处
  3. Qt文档阅读笔记-写一个简单的单元测试
  4. Java中的垃圾回收器的类型概述 《对Java的分析总结》(六)
  5. pcl1.8.1在VS2017中编译遇到pop_t找不到标识符的问题的解决办法
  6. RayData大数据可视化教程(2)——动画制作基础和设置为本地资源库
  7. linux进入pe系统,如何进入pe系统【解答办法】
  8. beetle-j2ee-application-framework框架介绍.md
  9. 高数 | 【定积分、变限积分】【一元函数积分学李林880】 及 巧解例题
  10. 记录ant design vue a-select Form编辑时回显数据库数据为value而不是label的问题
  11. 【理财入门一】三大资产与财务自由
  12. 【第三方互联】9、新浪微博(sina)授权第三方登录
  13. PlayStation 4,PlayStation 4 Slim和PlayStation 4 Pro之间有什么区别?
  14. 06C++运算符重载
  15. 简要讨论Python对拼多多关键字搜索、拼多多商品详情页封装API接口对于电商爆款的作用
  16. 牛客OI周赛7-提高组(A 小睿睿的等式)
  17. CoinRobots的马丁格尔是怎么实现的?
  18. 计算机三维机械设计基础答案,计算机三维机械设计基础 2013年版
  19. python将fasta格式转为.csv
  20. 如何用powerPCB设定4层板的层?-道合顺大数据Infinigo

热门文章

  1. 如何通过日期属性对数组进行排序
  2. 如何在提交前撤消#39;git add#39;?
  3. 免费超高速卡片式病人基本信息列表控件
  4. Oracle三级联动单表地址数据
  5. Java 多线程(三)线程间的通信jdk1.5中Lock,Condition---生产者消费者为例
  6. dede自定义表单增加添加时间怎么弄
  7. Puppet之简单安装Nginx
  8. LAMP平台部署及应用
  9. 让Dev-C++运行C++程序的控制台窗口等待查看运行结果
  10. 怎样查看哪些程序占用了swap空间