来源:PCS 2021 主讲人:Danier Duolikun 内容整理:冯冬辉 本文来自 PCS2021 Special Session 2 的第 3 场演讲,讲者验证了视频纹理类型对视频插帧模型的性能有显著影响 视频插帧(VFI) 任务,即在视频中给定两个连续的帧 I0 和 I1,以生成不存在的中间帧 It,其中 t 通常是 0.5,用于两倍时域上采样。 那么,视频插帧的挑战是什么呢?首先,为了实现高质量的插值,需要对运动进行准确的建模。由于现实世界视频中存在各种纹理和运动模式,这是很困难的。 结论 首先,讲者研究了视频纹理类型对最先进的视频插帧模型性能的影响。 最后,讲者提出一个新的纹理感知框架,称为 TAFI(纹理感知视频帧插值),它可以推广到任何插帧方法并提高其性能。
本文是来自AOMedia Symposium 2019的演讲,主要内容是基于运动的视频插帧技术(Motion Based Video Frame Interpolation),演讲内容来自YouTube 演讲中,Kokaram对用于视频插帧工作的各类模型预测及其效果进行了分析,指出了对运动信息的处理仍是当前各类算法的基础。 Kokaram首先对视频插帧技术的背景、目标进行了介绍,并以单帧插值为例解释了帧插值实际上就是运动插值的过程。 Kokaram最后对演讲进行了总结, 超帧至60fps是一个重点 基于CNNs的方法与基于MRF运动插值的方法相比,在插帧工作中效率基本相同或稍差 但所有成功的方法都明确地使用了运动 如果你对运动的处理失败 ,那你将无法完成工作 混合使用MRF+CNN/3DAR方法可能会是未来研究的方向。
图1中间视频帧就是根据前后原始帧的插帧结果: (左上角添加白色方块以区分原始帧,下同) 图 1 从左至右 原始视频前一帧,插帧结果,原始视频后一帧 早期插帧采用的算法都是依靠人工提取图像特征,而人工特征更多地依赖专家经验 近年来,深度卷积神经网络在视频帧插值任务中逐渐显示出了其优越的性能。视频帧插值任务的本质是基于视频在时间域上的连续性特点,根据已有的相邻帧的像素信息来生成和补充中间帧的像素。 ,是视频插帧技术中的关键。 总体而言,目前视频插帧方案在视频存在大位移、复杂运动等问题时插帧产生的伪影依然十分严重,主要面临的挑战有: 1. 运动幅度大产生的形变 2. 光流估计的准确性 3. 非匀速运动 4. 图3 光流估计效果 插帧效果演示如下: 可以看出,腾讯视频云团队的插帧整体方案能够很好地提升视频的帧率,实现更加流畅和丝滑的播放效果,且在大位移、复杂运动中也表现优异。
本文提出了一种新型的统一金字塔循环网络(UPR-Net)用于帧插值。UPR-Net利用灵活的金字塔框架,利用轻量级循环模块进行双向流估计和中间帧合成。 在每个金字塔级别,它利用估计的双向流为帧合成生成正向变形表示;跨越金字塔级别,它使迭代的优化用于光流和中间帧。迭代合成策略可以显著提高大运动情况下的帧插值的鲁棒性。 LFDM训练分为两个独立阶段:(1)无监督学习阶段,用于训练潜在流自动编码器以进行空间内容生成,其中流预测器用于估计视频帧对之间的潜在流(2)条件学习阶段,用于训练基于3D-UNet的扩散模型(DM)以进行时间潜在流生成 Extracting Motion and Appearance via Inter-Frame Attention for Efficient Video Frame Interpolation 有效地提取帧间运动和外观信息对于视频帧插值 框架可以轻松扩展到无条件视频生成和视频帧插值任务。
CVPR2017 http://web.cecs.pdx.edu/~fliu/project/adaconv/ 本文使用CNN网络完成 frame interpolation,这里我们将像素插值问题看作对相邻两帧中相应图像块的卷积 ,通过一个全卷积CNN网络来估计 spatially-adaptive convolutional kernel,这些核捕获运动信息和插值系数, capture both the motion and I1and I2, our method aims to interpolate a frame ˆI temporally in the middle of the two input frames 3 Video Frame Interpolation 传统的帧插值方法是 two-step approach: first estimates motion between two frames and convolution kernel provides flexibility to account for and address difficult cases like occlusion 3)
分享一篇来自CVPR2024的视频插帧工作《Perception-Oriented Video Frame Interpolation via Asymmetric Blending》。 该论文提出的视频插帧算法PerVFI在视觉效果上实现了新的突破。同时,论文阐述了新的视频插帧范式,有效解决现有插帧算法的痛点。 给定特定时刻的视频图像(参考帧),视频插帧技术旨在合成中间时刻的图像,从而将低帧率的视频转化为高帧率视频。视频插帧技术可以被广泛用于多媒体行业,例如视频生成、视频质量优化、视频剪辑等。 现存问题 尽管基于神经网络的视频插帧技术正在快速更新优化,现有的算法仍然面临以下问题:生成的视频普遍存在模糊、重影问题。这篇论文总结这类问题的产生原因如下: 1.对无法避免的运动误差考虑不足。 实验效果 在面向感知的图像质量评价指标LPIPS和视频插帧质量评价指标FloLPIPS、VFIPS上,PerVFI算法都远优于其他算法。
第一时间送达 大家好,今天跟大家分享 ICCV 2021 的论文成果,主要包含五篇内容的简介: 基于Transformer 的分割方法; 用于场景文本识别的数据增强; 在线持续学习在食品视觉分类中的应用; 用于视频插帧的非对称双边运动估计 Asymmetric Bilateral Motion Estimation for Video Frame Interpolation 用于视频插帧的非对称双边运动估计 论文:https://arxiv.org /abs/2108.06815 代码:https://github.com/JunHeum/ABME 摘要:我们提出了一种新的基于非对称双边运动估计(ABME)的视频插帧算法,该算法在两个输入帧之间合成一个中间帧 第一,我们预测对称的双边运动场来插值锚框架。 第二,我们估计从锚帧到输入帧的不对称双边运动场。 第三,我们使用非对称场向后扭曲输入帧并重建中间帧。 该文提出了一种基于遮挡的视频对象修复方法,该方法在给定遮挡对象可见遮罩分割的情况下,恢复视频中遮挡对象的完整形状和外观。
因此,开发能够在动画帧之间自动插值的计算模型是可取的。然而,现有的视频插值方法对动画数据的插值效果并不理想。 3) 我们建立了一个大规模的卡通三元组数据集ATD-12K,该数据集具有代表多种动画类型的大内容多样性,用于测试动画视频插值方法。 我们利用FLAVR解决了这些限制,它是一种灵活高效的架构,使用3D时空卷积来实现视频帧插值的端到端学习和推理。 由于它的简单性,FLAVR可以提供3个×与目前最精确的多帧插值方法相比,在不损失插值精度的情况下,推理速度更快。 主要贡献: 1)我们提出了一种用于视频帧插值的可伸缩、无流、高效的3D CNN架构FLAVR。据我们所知,FLAVR是第一个既不受光流影响,又能进行单镜头多帧预测的视频帧插值方法。
在该论文中,构建了一个两阶段的多尺度视频插帧结构,分别主要进行运动估计及特征迁移。在第一阶段使用纯时空卷积的方式提取隐式运动信息,以避免预设运动模型来估计光流。 目录 背景 方法简述 粗中间帧生成模块 中间帧特征增强模块 帧合成模块 约束函数 模型效果 背景 视频插帧目的是从低帧率视频中合成不存在的中间帧以提升帧率,使得视频更加流畅,顺滑。 现有的视频插帧方法大多为基于流的方法,即估计出整数帧到中间帧的密集光流,再通过估计的流将特征迁移到中间时间点,最后通过残差估计合成中间帧。 同时在主观上,我们的方法预测了最准确的结构及运动轨迹,如图6,第一行为生成的中间帧,第二行为与GT 的误差可视化图。最后,我们提供了一段慢动作视频来证明我们方法再多帧插值上的优势。 表1 单帧插帧客观指标 表2 多帧插帧客观指标 图6 主观效果展示 附上视频:http://mpvideo.qpic.cn/0bc3cmaaaaaajeapsl2yhvrvae6daajqaaaa.f10102
最近Google提出的FLIM模型能够对动作变化幅度较大的两张照片进行帧插值来生成视频:首次引入Gram损失,不仅锐度提升,细节也拉满! 常见的帧插值应用场景就是对提升一些帧率不够的视频,一些设备都配有专门的硬件对输入视频的帧率进行采样,使得低帧率的视频也可以在高帧率显示上进行流畅地播放,不用「眨眼补帧」了。 随着深度学习模型越来越强大,帧插值技术可以从正常帧率的录像中合成慢动作视频,也就是合成更多的中间图像。 在智能手机不断普及的情况下,数字摄影对帧插值技术也有了新需求。 如果在这类图片下进行帧插值就会产生一个神奇的效果:照片动了起来,变成了视频!通常情况下视频都要比照片更加有代入感和时刻感。 是不是有种「实况照片」的感觉。 3. 融合:输出结果图像(fusion) FILM的最后阶段在每个金字塔层级处将时间t处的尺度无关的特征图和双向运动连接起来,然后将其送入UNet-like解码器以合成最终的中间帧。
,相比已有基于光流的方案,该文所提方法具有好的性能与推理速度,针对720p视频可以实时进行2x插帧。 现有视频插帧大多先估计双向光流,然后采用线性组合方式近似中间流,然而这种处理方式会在运动边界区域产生伪影问题。 提出了一种有效的中间流的监督方案,可以取得更稳定的收敛与性能提升; RIFE是首个基于光流的实时视频插帧方案,它能够以30fps对720p视频进行插帧。 Method ? 给定连续两帧RGB图像 ,视频插帧的目标是合成中间帧 。 可以看到:IFNet比其他视频插帧中的光流估计模块的速度快6-30倍。 ?
今天介绍下音频帧、视频帧的主要参数和分析方法,以及音视频的同步等,主要内容如下: 音频帧 视频帧 PTS与DTS 音视频同步 音频帧 音频帧的概念没有视频帧那么清晰,几乎所有视频编码格式都可以简单的认为一帧就是编码后的一副图像 如果一个 MP3 音频文件比特率为 320kbps、采样率为 44.1KHz、无填充位,则该文件的帧长度为 144 x 320 / 44.1 ≈ 1044 字节。 如采样率为 44.1KHz 的 MP3 音频文件每帧的持续时间为 1152 / 44100 * 1000 ≈ 26 ms,这就是经常听到的 mp3 每帧播放时间固定为26ms的由来。 上图中显示的顺序为: 1I1、B2、B3、B4、P5、B6、B7、B8、P9、B10、B11、B12、I13 编解码顺序为: 1I1、P5、B2、B3、B4、P9、B6、B7、B8、I13、B10、B11 从上文中已知采样率为 44.1KHz 的 MP3 音频文件的每帧持续时长为 26 ms,如果此时视频的帧率为 30fps,则视频帧的每帧持续时长为 1000 / 30 ≈ 33ms,如果在理想情况下能够按照计算出了数值进行播放
视频传输原理 视频是由一幅幅帧图像和一组音频构成的,视频的播放过程可以简单理解为一帧帧的画面按照时间顺序呈现出来的过程。 但是在实际应用中,并不是每一帧都是完整的画面,因为如果每一帧画面都是完整的图片,那么一个视频的体积就会很大。 由于压缩处理的方式不同,视频中的画面帧就分为了不同的类别,其中包括:I 帧、P 帧、B 帧。I 帧是内部编码帧(也称为关键帧),P 帧是前向预测帧(前向参考帧),B 帧是双向内插帧(双向参考帧)。 在视频画面播放过程中,如果 I 帧丢失了,则后面的 P 帧也就随着解不出来,就会出现视频画面黑屏或卡顿的现象。 P 帧是差别帧,P 帧没有完整画面数据,只有与前一帧的画面差别的数据。 若 P 帧丢失了,则视频画面会出现花屏、马赛克等现象。
cv2 from PIL import Image import numpy as np cap=cv2.VideoCapture("C:/Users/xpp/Desktop/Lena.mp4")#获取视频对象 isOpened=cap.isOpened#判断是否打开 #视频信息获取 fps=cap.get(cv2.CAP_PROP_FPS) imageNum=0 sum=0 timef=1#隔1帧保存一张图片 while (isOpened): sum+=1 (frameState, frame)=cap.read()#记录每帧及获取状态 if frameState==True and cap.release() http://mpvideo.qpic.cn/0bc3heaaeaaauyahqzl2vvrfaoodai4qaaqa.f10003.mp4? 算法:视频抽帧是采用以帧数为间隔的方法进行抽帧形成“视频图像集合”。 文献:Schultz, R. R. , & Stevenson, R. L. . (1996).
': video2frame(videos_src_path,video_formats,frames_save_path,width,height,time_interval) 算法:视频分帧是将视频分成一帧一帧来提取 、展示、检索视频中的画面。
来看一个对比: 如果把视频放慢就能明显感觉到,未经过插帧的慢放视频(左)会明显卡顿,而经过商汤 Quadratic(二次方)视频插帧方法处理的视频(右)播放流畅。 之前的视频插帧方法(包括 Phase[1]、DVF[2]、SepConv[3] 和 SuperSloMo[4] 等)是假设相邻帧之间的运动是匀速的,即沿直线以恒定速度移动。 图 1 传统线性模型与商汤二次方视频插帧结果对比 但通过商汤二次方视频插帧模型模拟出来的运动轨迹是抛物线形(图 1 右一),更逼近真实轨迹。 也就是说,它能够更准确地估计视频相邻帧之间的运动并合成中间帧,从而获得更精准的插帧结果。 二次方插帧是怎样「炼」成的? 商汤研究团队构建了一个可以感知视频运动加速度的网络模型。 图 3:视频中物体运动的示意图。 ? , ? , ? , ? 分别表示物体 ? , ? , ? 和 ? 中的位置。 通过以上方法,对称地我们可以计算出 ? 。
近期,我们在 MMEditing 中拓展了一个新的方向:视频插帧。本文将简要介绍视频插帧的技术原理,并带大家使用 MMEditing 实现一个视频插帧的 Demo。 而视频插帧技术可以提高低帧率视频的流畅度,让经典重现精彩。 什么是视频插帧 视频插帧旨在提高视频的帧率和流畅度,让视频看起来更加“丝滑”。 但这个方法有一定难度,因为这个理想的中间帧并不存在于原视频中,也不能通过简单的像素平均从相邻帧获得。因此,视频插帧与图像超分辨率类似,都需要解决“无中生有”的问题。 深度学习时代的视频插帧 随着深度学习技术的出现,光流估计、视频插帧技术也得到了发展。 __version__ '0.12.0' 调用插帧程序 我们提供了一个插帧的小 demo 方便大家测试视频插帧的效果,调用命令如下: python demo/video_interpolation_demo.py
近期,我们在 MMEditing 中拓展了一个新的方向:视频插帧。本文将简要介绍视频插帧的技术原理,并带大家使用 MMEditing 实现一个视频插帧的 Demo。 而视频插帧技术可以提高低帧率视频的流畅度,让经典重现精彩。 什么是视频插帧✦ 视频插帧旨在提高视频的帧率和流畅度,让视频看起来更加“丝滑”。 hl=zh 在深度学习出现之前,视频插帧的主流技术大多基于光流。 ✦ 随着深度学习技术的出现,光流估计、视频插帧技术也得到了发展。 例如,使用插帧程序处理 3 次,获得 8 倍帧率的视频,再进行后处理(4 倍慢放)后可得以下视频: 如果大家对视频插帧、底层视觉和 MMEditing 感兴趣,可以关注我们的代码库: https://github.com
1)什么是I帧、P帧、B帧?2)什么是IDR帧?与普通I帧有何区别?3)什么是GOP?gop_size值如何设置画质会更好?4)OpenGOP & CloseGOP表示什么? * I帧自身可以通过视频解压算法解压成一张单独的完整视频画面,所以I帧去掉的是视频帧在空间维度上的冗余信息。 I帧特点:1)I帧是一个全帧压缩编码帧;2)解码时仅用I帧的数据就可重构完整图像;3)I帧描述了图像背景和运动主体的详情;4)I帧不需要参考其他画面而生成;5)I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量 P帧特点:1)P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);2)解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;3)P帧属于前向预测的帧间编码,它只参考前面最靠近它的 B帧特点:1)B帧是由前面的I或P帧和后面的P帧来进行预测的;2)B帧传送的是它与前面的I或P帧和后面的P帧之间的预测误差及运动矢量;3)B帧是双向预测编码帧;4)B帧压缩比最高,因为它只反映参考帧间运动主体的变化情况
在视频压缩编码中,所有的帧被分成了三个种类,I帧,B帧和P帧,其实就是Intra-Prediction帧,Bi-prediction帧和Prediction帧。 顾名思义,就是帧内预测帧,双向预测帧以及(单向)预测帧。 (inter prediction),帧内预测的话就是在找参照块的时候,只在当前帧内寻找;而帧间预测的话,找参照块的时候会在相邻的帧之间去找相似块。 因此,基于上述所说, 如果说当前帧是只在当前帧内寻找参照块的话,那么该帧就是I帧 如果在已经编码的帧里面寻找参照块的话,那么它是P帧 如果既在已编码的帧里去寻找参照块,又在未来将要被编码的帧里去寻找参照块的话 ,那么该帧就是B帧。