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 的模块化设计,整合了文本到图像、图像到视频、视频到视频和视频帧插值,为生成流畅且高审美的视频提供了一种新的策略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/369256.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

未来电话呼叫技术的社会影响与发展趋势----云微呼

未来电话呼叫技术将以更为智能化、便捷化和个性化为主要发展趋势,其所带来的社会影响也将是多层面的。以下将探讨未来电话呼叫技术可能的发展趋势以及对社会的影响: 智能化助力生活便捷: 未来电话呼叫技术将更加智能化,通过人工智…

Spring事件之注解@EventListener讲解

文章目录 1 注解EventListener1.1 示例Demo1.1.1 简单例子1.1.2 解耦1.1.3 Spring事件 1.2 深入EventListener1.2.1 debug调试1.2.2 问题一: Spring是怎么知道要去触发这个方法1.2.3 问题二:ApplicationListenerMethodAdapter1.2.4 问题三:Si…

【Python】【完整代码】解析Excel 文件中的内容并检查是否包含某字符串,并返回判断结果

示例: 开发需求:解析Excel 文件中的内容并检查是否包含 "Fail" 字符,若没有则返回True,若有则返回False 实现代码: #!/usr/bin/env python3 # -*- encoding: utf-8 -*-File : check_excel_for_fail.py Ti…

华为机考入门python3--(7)牛客7-取近似值

分类:数字 知识点: str转float float(str) 向上取整 math.ceil(float_num) 向下取整 math.floor(float_num) 题目来自【牛客】 import math def round_to_int(float_num): # 如果小数点后的数值大于等于0.5,则向上取整&#xf…

【HarmonyOS】鸿蒙开发之ArkTs初步认识——第2.1章

ArkTs简介 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。 以下图可以展示Js,TS,ArkTs的关系 ArkTs基础语…

开发知识点-拍黄片的好基友的依赖管理工具-composer

composer 介绍主要特性使用Composer的优势 基本使用文档 介绍 Composer 是 PHP 的一个依赖管理工具,它允许项目创建者和开发者声明项目所依赖的库,并自动安装这些依赖项。 它在PHP社区中被广泛使用,几乎成为了现代PHP开发的标准配置。 主要…

面试150 颠倒二进制位 位运算分治 逻辑右移

Problem: 190. 颠倒二进制位 文章目录 思路复杂度位运算分治法 思路 👨‍🏫 参考题解 >>>:逻辑右移(符号位一起移动,高位补零) 复杂度 时间复杂度: O ( log ⁡ n ) O(\log{n}) O(logn) 空间…

Javaweb之SpringBootWeb案例之 @ConfigurationProperties的详细解析

4.3 ConfigurationProperties 讲解完了yml配置文件之后,最后再来介绍一个注解ConfigurationProperties。在介绍注解之前,我们先来看一个场景,分析下代码当中可能存在的问题: 我们在application.properties或者application.yml中配…

外贸流程的基本流程图怎么画?这样画简单快速

外贸流程的基本流程图怎么画?随着全球化的不断深入,外贸行业逐渐成为了国家经济发展的重要支柱。对于许多企业和个人来说,掌握外贸基本流程是非常必要的。但是,很多人在初次接触外贸时,对于流程的各个环节并不熟悉&…

备战蓝桥杯---搜索(应用入门)

话不多说,直接看题: 显然,我们可以用BFS,其中,对于判重操作,我们可以把这矩阵化成字符串的形式再用map去存,用a数组去重现字符串(相当于map映射的反向操作)。移动空格先找…

力扣热门100题刷题笔记 - 3.无重复字符的最长子串

力扣热门100题 - 3.无重复字符的最长子串 题目链接:3. 无重复字符的最长子串 题目描述: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字…

EasyCVR视频融合平台如何助力执法记录仪高效使用

旭帆科技的EasyCVR平台可接入的设备除了常见的智能分析网关与摄像头以外 ,还可通过GB28181协议接入执法记录仪,实现对执法过程的全称监控与录像,并对执法轨迹与路径进行调阅回看。那么,如何做到执法记录仪高效使用呢? …

【Linux Day15 TCP网络通讯】

TCP网络通讯 TCP编程流程 接口介绍 socket()方法是用来创建一个套接字,有了套接字就可以通过网络进行数据的收发。创建套接字时要指定使用的服务类型,使用 TCP 协议选择流式服务(SOCK_STREAM)。 **bind()方法是用来指定套接字使…

STM32L4学习

STM32L4系列是围绕Cortex-M4构建,具有FPU和DSP指令集,主频高达80MHz。 STM32CubeL4简介 STM32Cube 是 ST 提供的一套性能强大的免费开发工具和嵌入式软件模块,能够让开发人员在 STM32 平台上快速、轻松地开发应用。它包含两个关键部分&…

XXE基础知识整理(附加xml基础整理)

全称:XML External Entity 外部实体注入攻击 原理 利用xml进行读取数据时过滤不严导致嵌入了恶意的xml代码;和xss原理雷同 危害 外界攻击者可读取商户服务器上的任意文件; 执行系统命令; 探测内网端口; 攻击内网网站…

NAS系统折腾记 – Emby搭建家庭多媒体服务器

Emby简介 Emby是一款优秀的媒体服务器软件,致力于为用户提供丰富的多媒体体验。通过Emby,您可以方便地在家庭内的各种设备上观看您喜爱的电影、电视剧和其他视频内容。而且,Emby还具备强大的媒体管理功能,让您的影视资源井然有序…

nodejs 事件循环

浏览器的事件循环比较熟悉了,也来了解下 node 的。 参考来源: https://nodejs.org/en/guides/event-loop-timers-and-nexttick/ https://juejin.cn/post/6844903999506923528 事件循环分为 6 个阶段,图中每个框都是一个阶段,每个阶…

Vue服务端渲染

Vue服务端渲染 一、服务端渲染基础 1、概述 我们现在可以使用Vue,React等开发SPA单页面应用,单页面应用的优点,用户体验好,开发效率高,可维护性好等。 缺点:首屏渲染时间长(在客户端通过JS来生成html来…

Vue-easy-tree封装及使用

1.使用及安装 下载依赖 npm install wchbrad/vue-easy-tree引入俩种方案 1.在main.js中引入 import VueEasyTree from "wchbrad/vue-easy-tree"; import "wchbrad/vue-easy-tree/src/assets/index.scss" Vue.use(VueEasyTree)2.当前页面引入 import VueEa…

蓝桥杯嵌入式第七届真题(完成) STM32G431

蓝桥杯嵌入式第七届真题(完成) STM32G431 题目 相关文件 main.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body**********************…