MagicVideo-V2:多阶段高保真视频生成框架

2024-02-04 21:12

本文主要是介绍MagicVideo-V2:多阶段高保真视频生成框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本项工作介绍了MagicVideo-V2,将文本到图像模型、视频运动生成器、参考图像embedding模块和帧内插模块集成到端到端的视频生成流程中。由于这些架构设计的好处,MagicVideo-V2能够生成具有极高保真度和流畅度的美观高分辨率视频。通过大规模用户评估,它在性能上表现优越,超过了领先的文本到视频系统,如Runway、Pika-1.0、Morph、Moon Valley和Stable Video Diffusion模型。

github链接:https://magicvideov2.github.io/

1. 引言

文本到视频(T2V)模型的大量涌现标志着领域的重大进步,这得益于最近传播的基于扩散的模型。这项工作提出了MagicVideo-V2,这是一个新颖的多阶段T2V框架,将文本到图像(T2I)、图像到视频(I2V)、视频到视频(V2V)和视频帧插值(VFI)模块集成到端到端视频生成流程中。 T2I 模块通过从文本提示生成一个初始图像,捕捉输入的美学要素,为视频生成奠定基础。然后 I2V 模块以图像为输入,输出生成视频的低分辨率关键帧。随后的 V2V 模块增加了关键帧的分辨率并增强了其细节。最后,帧插值模块在视频中添加平滑的运动。

2. MagicVideo-V2

MagicVideo-V2 是一个多阶段端到端视频生成流程,能够从文本描述生成高美学水平的视频。它包括以下关键模块:

  • 「Text-to-Image 模型」,从给定的文本提示生成具有高保真度的美学图像。
  • 「Image-to-Video 模型」,使用文本提示和生成的图像作为条件生成关键帧。
  • 「Video to Video 模型」,对关键帧进行细化和超分辨率处理,生成高分辨率视频。
  • 「Video Frame Interpolation 模型」,在关键帧之间插入帧以平滑视频运动,最终生成高分辨率、流畅、高度美学的视频。

下面的小节将详细解释每个模块。

在这里插入图片描述
Text-to-Image 模块
T2I 模块以用户提供的文本提示为输入,并生成一张 1024 × 1024 的图像作为视频生成的参考图像。参考图像有助于描述视频内容和美学风格。MagicVideo-V2 兼容不同的 T2I 模型。具体而言,在 MagicVideo-V2 中使用了一个内部开发的基于扩散的 T2I 模型,该模型能够输出高美学的图像。

Image-to-Video 模块
I2V 模块基于高美学的 SD1.5模型,该模型利用人类反馈来提高在视觉质量和内容一致性方面的能力。I2V 模块通过受[10]启发的运动模块对高美学的 SD1.5 进行了扩展,两者都在内部数据集上进行了训练。 I2V 模块还增加了一个参考图像embedding模块,用于利用参考图像。具体而言,采用外观编码器来提取参考图像embedding ,并通过交叉注意力机制将其注入到 I2V 模块中。通过这种方式,图像提示可以有效地与文本提示解耦,并提供更强的图像调节。此外,采用了潜在噪声先验策略,以在起始噪声潜变量中提供布局条件。帧是从标准高斯噪声初始化的,其均值从零移向参考图像潜变量的值。通过适当的噪声先验技巧,可以部分保留图像布局,并改善帧之间的时间一致性。为了进一步增强布局和空间调节,部署了一个 ControlNet 模块,直接从参考图像中提取 RGB 信息,并将其应用于所有帧。这些技术使帧与参考图像很好地对齐,同时允许模型生成清晰的运动。

采用图像-视频联合训练策略来训练 I2V 模块,其中将图像视为单帧视频。联合训练的动机在于利用内部高质量和美学的图像数据集,以提高生成视频的帧质量。图像数据集部分还可以弥补视频数据集在多样性和数量上的不足。

Video to Video模块
V2V 模块的设计与 I2V 模块类似。它与 I2V 模块共享相同的主干和空间层。它的运动模块是使用高分辨率视频子集进行单独微调以进行视频超分辨率的。图像外观编码器和 ControlNet 模块也在这里使用。这是至关重要的,因为生成的视频帧具有更高的分辨率。利用参考图像的信息有助于通过减少结构错误和故障率来引导视频扩散步骤。此外,它还可以增强更高分辨率生成的细节。

视频帧插值(VFI)
VFI 模块使用一个内部训练的基于 GAN 的 VFI 模型。它采用了增强型可变分离卷积(EDSC)头 ,与基于 VQ-GAN 的架构配对,类似于 [8] 所进行的研究中使用的自动编码器模型。为了进一步提高其稳定性和流畅性,使用了[13]中提出的预训练轻量级插值模型。

3. 实验

人工评估
为了评估 MagicVideo-V2,邀请人工评估员进行与当代最先进的 T2V 系统的比较分析。61 名评估员小组对 MagicVideo-V2 和另一种 T2V 方法之间的 500 次并行比较进行了评分。每个选民在每一轮比较中基于相同的文本提示,被呈现一对随机视频,其中包括我们的一个与竞争对手的一个。他们被提供了三个评估选项 - 好、相同或差 - 分别表示对 MagicVideo-V2 的偏好、无偏好或对竞争 T2V 方法的偏好。评估员被要求根据他们在三个标准上的总体偏好投票:

  • 1)哪个视频具有更高的帧质量和整体视觉吸引力。
  • 2)哪个视频在时间上更一致,具有更好的运动范围和运动有效性。
  • 3)哪个视频具有更少的结构错误或不良情况。

这些试验的统计数据可以在下表 1 中找到,其偏好比例显示在下图 2 中。结果清楚地表明 MagicVideo-V2 更受青睐,从人类视觉感知的角度证明了其卓越的性能。
在这里插入图片描述
在这里插入图片描述

4. 定性示例

在下图3中呈现了 MagicVideo-V2 的精选定性示例。为了更好的观看体验,邀请读者在我们的项目网站上观看附带的视频。如前所述,MagicVideo-V2 的 I2V 和 V2V 模块擅长矫正和改进 T2I 模块的缺陷,生成流畅而富有审美的视频。
在这里插入图片描述
下图4中展示了一些例子。
在这里插入图片描述
在这里插入图片描述

5. 结论

MagicVideo-V2 提出了一种新的文本到视频生成流程。综合评估得到了人类裁判的支持,证实了 MagicVideo-V2 超越了现有技术方法。MagicVideo-V2 的模块化设计,整合了文本到图像、图像到视频、视频到视频和视频帧插值,为生成流畅且高审美的视频提供了一种新的策略。

这篇关于MagicVideo-V2:多阶段高保真视频生成框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为