视频插帧算法之光流法

视频插帧算法之光流法

  • 视频插帧算法
    • 光流法
        • 稀疏光流法演示
        • 稠密光流法演示
        • 如何补帧

视频插帧算法

一句话概括视频插帧算法,就是利用图象算法生成出视频的中间帧,将中间帧补充(提高FPS)或替换原视频帧(可能包含连续相同帧),达到更加丝滑的视频效果。
注意点:
1、帧速率是指每秒钟刷新的图片的帧数,也可以理解为图形处理器(显卡)每秒钟能够刷新几次。
2、视频帧率是可变的,通常视频的帧率为24、25、30。为了达到更加连贯的视觉效果,可以适当补充视频每秒的帧数。
3、注意帧率和屏幕刷新率不是一回事,一般的视频显示器刷新频率为60HZ,电竞显示器可以达到144HZ。理论上来说,如果一个视频超过了60FPS,视觉上的效果也只能感受到60FPS的效果,屏幕每秒取一张图刷新,即使你的显卡能每秒处理200张,送到屏幕上的依旧是60张。不扯远了,感兴趣的同学可以去百度一下,例如高FPS游戏、垂直同步等等,都是介绍FPS与屏幕刷新率的。
4、本章内容主要介绍如何生成中间帧。

中间帧,顾名思义是由连续的前后帧经过算法的出来的,最简单的思路就是计算出视频帧序列中运动物体的位移,然后预测目标在中间时刻的位置,从而补全运动轨迹

提到运动轨迹,最容易想到的应该就是光流法,光流也就是指视频中一个物体或者单个像素在相邻帧中的位移,计算出光流场,也就是二维/三维空间中所有像素点的偏移量,由此可以帮助我们直接得出中间帧。

光流法虽然更多地应于目标跟踪等场景,但是目前业界很多视频工具软件,例如Pr,都带有光流法的补帧功能,虽然没有看过这些工具的源码,但是基本原理肯定是类似的,只是工业产品可能加入了更多专业的规则,所以效果会好点。

光流法

网上有非常多的光流法教程,本文简单地描述一下大致原理,如有不全,可再进一步学习其他资料。
光流法可分为两种:

  1. 稀疏光流法 ,计算出图象特征(如角点)级别的光流场;
    这种算法在应用时往往是第一帧时计算出一系列目标点,然后在后续的帧中去计算这些目标点的运动轨迹,不会产生新的目标点,一旦丢失就无法再找到了。这种场景显然不利于我们去进行视频插帧,在跟踪领域就很适合了,计算量小,可扩展性强(不仅包括角点等特征)。
  2. 稠密光流法,计算像素级别(每个点或块,块指3*3矩阵像素)的光流场;
    与稀疏光流法相比有两点不同,第一,该方法将图象上的所有点作为目标点,在下一帧也去计算所有点的运动轨迹。第二、直接使用像素值(灰度值)进行计算,不需要预处理成角点等。
    这个有必要讲解一下具体的公式推理,网上资料非常丰富,包括也有OpenCV的教材上也有详细的解释。
    算法目标 得到像素点A在下一帧的位置(偏移量)
    算法输入 连续两帧灰度图象
    这里引用两个链接,都讲得比较详细,不方便写公式。

这个详细介绍了我们需要求解什么,什么是条件,什么是已知和未知。
https://www.cnblogs.com/lucky3206/p/6576053.html

我们也强调一下,光流法(这里直接默认是LK光流算法了)的前提条件:
1、亮度恒定,连续两帧一个像素点的像素值不能发生变化,不然就没法知道这个像素点去哪里了。
2、时间联系、小位移运动。
3、LK光流的假设,一个区域内的像素点的位移是保持一致的。(用到最小二乘法算出解)
计算过程中已知的就是像素点灰度值,可计算的有图象的梯度、亮度差。

基本公式如下:

稀疏光流法演示

稠密光流法演示

如何补帧

在计算完连续帧的光流场后,我们回到最初的问题,如何对视频进行补帧呢简单的思路就是计算出像素点A在第0帧和第1帧的位置,(实际上就是该点在经过t时刻的位移)然后取个直线的中点(如果补一帧的话),就能找到该点的中间位置,最终把所有点的位移中点找出来,就能得到一个完整的中间帧。
这里有个重要的问题:
计算出两帧的光流场后,是没法从第一帧加上像素点的位移得到第二帧的,因为光流场是一个估计值,且加上了一些列限制条件。所以补帧后,有些像素点必然变得模糊。

得到光流场后,实际上是一个WH2的数组,分别保存了每个点在X和Y方向上的偏移量。

我们可以通过remap函数很方便地处理第0帧和偏移量,直接生成中间帧

该方法的原理也非常简单,将像素值映射到目标帧的指定位置。
链接: remap方法原理.

后续补充:双向光流补帧、深度学习补帧。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33962 人正在系统学习中

来源:否克斯昂

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月27日
下一篇 2021年1月27日

相关推荐