【ICCV2023】MMVP:基于运动矩阵的视频预测

2023-12-23 02:30

本文主要是介绍【ICCV2023】MMVP:基于运动矩阵的视频预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

目录

导读

本文方法

步骤1:空间特征提取

步骤2:运动矩阵的构造和预测

步骤3:未来帧的合成和解码

实验

实验结果

消融实验

结论


论文链接:https://openaccess.thecvf.com/content/ICCV2023/html/Zhong_MMVP_Motion-Matrix-Based_Video_Prediction_ICCV_2023_paper.html

代码:https://github.com/Kay1794/MMVP-motion-matrix-based-video-prediction

引用:Zhong Y, Liang L, Zharkov I, et al. MMVP: Motion-Matrix-based Video Prediction[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023: 4273-4283.

图片

 

导读

本文讨论了视频预测领域的一个核心挑战,即在图像帧中推测对象的未来运动同时保持它们在各帧之间外观的一致性。为了解决这一问题,作者引入了一种端到端可训练的两流视频预测框架,称为“Motion-Matrix-based Video Prediction”(MMVP)。

与以往的方法不同,以往的方法通常在相同的模块内处理运动预测和外观维护,MMVP通过构建外观无关的运动矩阵来解耦运动和外观信息。这些运动矩阵表示输入帧中每对特征块的时间相似性,它们是MMVP中运动预测模块的唯一输入。这种设计提高了视频预测的准确性和效率,并降低了模型大小。

广泛的实验证明,MMVP在公共数据集上的表现优于最先进的方法,性能提升显著(在PSNR上提高了约1 dB,例如 UCF Sports数据集),而模型大小却显著减小(相当于84%或更小的模型尺寸)。

本文方法

图片

 

给定一个视频序列

图片

,其中 It 表示第t帧,通常是RGB格式。MMVP估计未来的T‘帧,即

图片

 

与已知的帧集相比,我们将估计的帧集表示为:

图片

 

该框架的训练仅由均方误差(MSE)损失来监督。MMVP 包括以下三个步骤:

  • 空间特征提取

  • 运动矩阵的构造和预测

  • 未来帧的合成和解码

步骤1:空间特征提取

空间特征提取涉及到MMVP框架的两个组成部分:图像编码器滤波器块

MMVP中的图像编码器 Ω 分别对从输入数据序列到相应特征的每个 Ii 进行编码。滤波器块Θ随后处理 fi,滤波器块的任务是滤除 fi 的运动不相关特征,以供后续的运动矩阵构建使用:

图片

 

我们使用一个具有残差的卷积网络(RRDBs)[44]来实现图像编码器,使用一个两层卷积网络来实现滤波器块。

步骤2:运动矩阵的构造和预测

MMVP基于特征对

图片

为每两个连续帧生成一组运动矩阵

图片

,这是通过计算每对特征块的余弦相似度来构建的。矩阵

图片

在位置

图片

的元素表示为:

图片

 

给定

图片

,矩阵预测函数

图片

预测未来的矩阵

图片

 

不同于预测连续帧之间的运动矩阵,这里预测了从最后观察到的帧

图片

到每个未来帧

图片

, 的运动矩阵,如下所示:

图片

 

这个设计旨在减少特征合成过程中的累积误差,并通过表格 3 中的长期预测设置得到验证。

图片

 

步骤3:未来帧的合成和解码

这一步骤通过使用观察到的信息和运动矩阵生成未来帧的信息。这一过程可以表示为:

图片

 

与仅使用最后观察到的帧的信息不同,我们使用所有观察到的信息进行未来合成,并通过重复矩阵乘法来减小较早帧的权重。公式中的 X 代表过去帧的观察信息。这些信息可以是图像编码器不同尺度的输出特征

图片

,也可以是观察到的帧

图片

 

由于运动矩阵是从某个尺度的图像特征构建的,因此矩阵与某些特征之间可能存在不兼容性。为了实现运动矩阵与观察到的特征(任何尺度)或图像之间的矩阵乘法,作者借用了来自[39]的像素解缩。像素解缩操作将特征或图像重新整形成与运动矩阵相同的尺度,以进行矩阵乘法。然后,将矩阵乘法的结果重新整形为特征或图像的原始尺度。如图4,这整个过程涉及很少的信息损失。根据表格 6 的研究,我们可以看出多尺度特征合成设计通常在系统中使用更多尺度的特征时能够获得更好的性能。

解码过程采用了UNet的解码器结构,结合了RRDB块来实现MMVP的图像解码器。这一设计允许来自所有尺度的图像特征以及原始图像的合成特征对最终的输出做出贡献。在框架训练中,使用均方误差(MSE)损失来进行监督。

图片

 

实验

数据集设置:

图片

 

实验结果

与SOTA的比较

图片

 

图片

 

图片

 

预测的运动矩阵可视化结果:

图片

 

UCF Sports 数据集的定性结果:

图片

 

消融实验

图片

 

图片

 

结论

本文提出的基于运动矩阵的视频预测框架(MMVP)是一个端到端可训练的双流管道。MMVP使用运动矩阵来表示与外观无关的运动模式。作为MMVP中运动预测模块的唯一输入,运动矩阵描述了特征块之间的多对多关系,无需训练额外的模块;通过矩阵乘法直观地组合了未来特征与多尺度图像特征,有助于运动预测更加集中,有效地减少了外观上的信息损失。通过广泛的实验证明,MMVP在模型大小和性能方面均优于现有的最先进方法。

这篇关于【ICCV2023】MMVP:基于运动矩阵的视频预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/526401

相关文章

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

Python实现视频转换为音频的方法详解

《Python实现视频转换为音频的方法详解》这篇文章主要为大家详细Python如何将视频转换为音频并将音频文件保存到特定文件夹下,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5. 注意事项

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

hdu 6198 dfs枚举找规律+矩阵乘法

number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试

Unity3D 运动之Move函数和translate

CharacterController.Move 移动 function Move (motion : Vector3) : CollisionFlags Description描述 A more complex move function taking absolute movement deltas. 一个更加复杂的运动函数,每次都绝对运动。 Attempts to