论文阅读Vlogger: Make Your Dream A Vlog

news2024/11/23 6:45:37

摘要

论文介绍了一个名为“Vlogger”的通用人工智能系统,它能够根据用户的描述生成分钟级的视频博客(vlog)。与通常只有几秒钟的短视频不同,vlog通常包含复杂的故事情节和多样化的场景,这对现有的视频生成方法来说是一个挑战。为了突破这一瓶颈,Vlogger系统巧妙地利用了大型语言模型(LLM)作为导演,将长篇视频生成任务分解为四个关键阶段,每个阶段都调用不同的基础模型来扮演vlog专业人员的关键角色,包括:

  • 剧本(Script):使用LLM根据用户故事创建剧本,描述多个拍摄场景及其相应的拍摄时长。
  • 演员(Actor):根据剧本总结角色,并使用角色设计师生成这些角色的参考图像。
  • 秀场制作者(ShowMaker):作为摄像师,根据剧本文本和角色图像生成每个拍摄场景的视频片段,并有效增强片段的空间-时间连贯性。
  • 旁白(Voicer):最后,LLM导演调用配音员为vlog配音,将剧本字幕转化为音频。
    Vlogger系统的核心是ShowMaker,这是一个视频扩散模型,通过结合剧本和演员的注意力作为文本和视觉提示,可以生成具有控制时长的视频片段。此外,Vlogger设计了一个简洁的混合训练范式,通过文本到视频(T2V)生成和预测的混合训练来提升ShowMaker在这两种任务上的能力。

通过广泛的实验,该方法在零样本T2V生成和预测任务上达到了最先进的性能。更重要的是,Vlogger能够从开放世界的描述中生成超过5分钟的vlog,且在剧本和角色的视频连贯性上没有损失。
在这里插入图片描述

方法

框架

top-down planning自顶向下的规划

在这里插入图片描述

剧本创建(Script Creating):

初始阶段,大型语言模型(LLM)作为导演,将用户的故事转换成一个基本的剧本草稿。然后,通过粗到细的指令,LLM逐步细化剧本,包括添加故事细节、完善剧本结构、检查是否有遗漏的重要部分,以及为每个场景分配拍摄时长。

角色设计(Actor Designing):

创建剧本后,LLM再次阅读剧本以总结角色列表,并调用角色设计师生成这些角色的参考图像。
角色设计师使用Stable Diffusion XL等工具根据角色描述生成高质量的角色图像

主角选择(Protagonist Selection):

根据剧本和角色列表,LLM决定每个拍摄场景的主角(即主演)。

场景规划(Scene Scheduling):

LLM为剧本中的每个场景分配拍摄时长,确保视频的总时长符合预期。

Bottom-Up Shooting自底向上的拍摄

在这里插入图片描述

ShowMaker 拍摄

使用新提出的ShowMaker作为摄像师(视频扩散模型),可以根据每个拍摄场景的剧本描述和角色图像生成视频片段。如果生成的视频片段时长小于剧本中分配的时长,ShowMaker继续利用当前片段的最后几帧作为上下文,生成下一个片段,直到生成的视频片段总时长达到剧本分配的时长。最后将所有生成的片段组合成场景的视频片段。

Voicer 配音

使用Text-To-Speech(TTS)模型作为Voicer,将剧本描述转换成相应的音频。最后将生成的音频添加到对应的视频片段上,形成有声视频片段。

showmaker摄影师

在这里插入图片描述

ShowMaker 是一个视频扩散模型。1、将带噪的训练片段送入自编码器的编码器提取其潜在代码。2、去噪阶段:将潜在代码从带噪的潜在代码中重建出来。使用文本与actor控制生产内容,选择器选择模式。

空间-时间增强块(Spatial-Temporal Enhanced Block, STEB)
  • 空间操作:包括卷积(CV)、自我注意力(SA)和空间交叉注意力(CA),用于独立编码片段中的每一帧。
  • 空间图像交叉注意力:使用主角的参考图像作为视觉上下文,增强空间嵌入。
  • 时间操作:执行自我注意力沿着时间维度,学习片段中帧之间的相关性。
  • 时间文本交叉注意力:使用场景描述作为文本上下文,增强时间编码。
混合训练范式与模式选择(Mixed Training Paradigm with Mode Selection)

ShowMaker 旨在生成具有剧本分配时长的视频片段,它通过生成和预测模式的结合来实现这一点。

  • 模式选择机制:设计一种概率性的选择方式,选择干净片段的k帧作为带噪片段的上下文,从而选择是使用生成模式还是预测模式。
  • 如果生成的视频片段时长小于剧本中分配的时长,ShowMaker 将继续执行预测模式,使用当前片段的最后k帧作为上下文,生成下一个片段。

训练过程:通过在训练过程中结合生成(k=0)和预测(k>0)模式,ShowMaker 学会了如何生成和预测视频片段。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CPPTest设计分析

目录 1 概述2 设计3 扩展Output3.1 扩展实例 1 概述 CppTest是一个可移植、功能强大但简单的单元测试框架,用于处理C中的自动化测试。重点在于可用性和可扩展性。支持多种输出格式,并且可以轻松添加新的输出格式。 CppTest下载地址Sourceforge Github地…

django学习入门系列之第三点《伪类简单了解》

文章目录 hover&#xff08;伪类&#xff09;after&#xff08;伪类&#xff09;往期回顾 hover&#xff08;伪类&#xff09; 伪类指的是用冒号加的 hover样式指的是&#xff0c;当用户光标移动到设定区域后&#xff0c;所执行的用法 如&#xff1a; <!DOCTYPE html>…

视频网站系统

摘 要 随着互联网的快速发展和人们对视频内容的需求增加&#xff0c;视频网站成为了人们获取信息和娱乐的重要平台。本论文基于SpringBoot框架&#xff0c;设计与实现了一个视频网站系统。首先&#xff0c;通过对国内外视频网站发展现状的调研&#xff0c;分析了视频网站的背景…

静态资源服务器

上一章【认识 MIME 和 HTTP】。 我们认识和了解了 MIME 的概念和作用&#xff0c;也简单地学习了通过浏览器控制台查看请求和返回的用法。 通过对不同的 HTML、CSS、JS 文件进行判断&#xff0c;设置不同的 MIME 值&#xff0c;得以让我们的浏览器正正确地接收和显示不同的文…

2-18 基于matlab的关于联合对角化盲源分离算法的二阶盲识别(SOBI)算法

基于matlab的关于联合对角化盲源分离算法的二阶盲识别&#xff08;SOBI&#xff09;算法。通过联合对角化逼近解混矩阵。构建的四组信号&#xff0c;并通过认为设置添加噪声比例&#xff0c;掩盖信号信息。通过SOBI算法实现了解混。程序已调通&#xff0c;可直接运行。 2-18联合…

技术速递|Visual Studio Code 的 .NET MAUI 扩展现已正式发布

作者&#xff1a;Maddy Montaquila 排版&#xff1a;Alan Wang 今天&#xff0c;我们非常高兴地宣布 .NET MAUI VS Code 扩展插件结束了预览阶段&#xff0c;并将包含一些期待已久的新功能 - 包括 XAML IntelliSense 和 Hot Reload&#xff01; 什么是 .NET MAUI 扩展插件&…

成功解决​​​​​​​TypeError: __call__() got an unexpected keyword argument ‘first_int‘

成功解决TypeError: __call__() got an unexpected keyword argument first_int 目录 解决问题 解决思路 解决方法 T1、直接调用原始函数 T2、检查装饰器实现 T3、使用不同的调用方式 解决问题 result = multiply(**arguments) File "D:\ProgramData\Anaconda3\Li…

BFS:队列+树的宽搜

一、二叉树的层序遍历 . - 力扣&#xff08;LeetCode&#xff09; 该题的层序遍历和以往不同的是需要一层一层去遍历&#xff0c;每一次while循环都要知道在队列中节点的个数&#xff0c;然后用一个for循环将该层节点走完了再走下一层 class Solution { public:vector<vec…

【教程】简介nccl-test工具

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ GitHub - NVIDIA/nccl-tests: NCCL TestsNCCL Tests. Contribute to NVIDIA/nccl-tests development by creating an account on GitHub.https://githu…

Unity3D 物体的运动

运动方式1 修改 position / localPosition &#xff0c;可以让物体运动 例如&#xff0c; Vector3 pos this.transform.localPosition; pos.z distance; this.transform.localPosition pos; 此时&#xff0c;小车向Z 方向运动 具体代码如下 using System.Collection…

[C#]基于opencvsharp实现15关键点人体姿态估计

数据集 正确选择数据集以对结果产生适当影响也是非常必要的。在此姿势检测中&#xff0c;模型在两个不同的数据集即COCO关键点数据集和MPII人类姿势数据集上进行了预训练。 1. COCO&#xff1a;COCO关键点数据集是一个多人2D姿势估计数据集&#xff0c;其中包含从Flickr收集的…

matlab绘制二维曲线,如何设置线型、颜色、标记点类型、如何设置坐标轴、matlab 图表标注、在图中标记想要的点

matlab绘制二维曲线&#xff0c;如何设置线型、颜色、标记点类型、如何设置坐标轴、matlab 图表如何标注、如何在图中标记想要的点 matlab绘制二维曲线&#xff0c;如何在图中标记想要的点。。。如何设置线型、颜色、标记点类型。。。如何设置坐标轴。。。matlab 图表标注操作…

头歌资源库(18)接龙序列

一、 问题描述 二、算法思想 首先&#xff0c;我们需要判断一个数列是否是接龙数列。可以通过遍历数列的每一个元素&#xff0c;判断该元素的首位数字是否等于前一个元素的末位数字。如果所有元素都满足条件&#xff0c;则该数列是接龙数列。 接下来&#xff0c;我们需要计算…

Java | Leetcode Java题解之第201题数字范围按位与

题目&#xff1a; 题解&#xff1a; class Solution {public int rangeBitwiseAnd(int m, int n) {while (m < n) {// 抹去最右边的 1n n & (n - 1);}return n;} }

Java | Leetcode Java题解之第202题快乐数

题目&#xff1a; 题解&#xff1a; class Solution {private static Set<Integer> cycleMembers new HashSet<>(Arrays.asList(4, 16, 37, 58, 89, 145, 42, 20));public int getNext(int n) {int totalSum 0;while (n > 0) {int d n % 10;n n / 10;totalS…

在eclipse中导入idea项目步骤

一、可以把其它项目的.project&#xff0c; .classpath文件拷贝过来&#xff0c;修改相应的地方则可。 1、.project文件只需要修改<name>xxx</name>这个项目名称则可 2、.classpath文件通常不用改&#xff0c; 二、右击 项目名 >选择“Properties”>选择 Re…

【2024-热-办公软件】ONLYOFFICE8.1版本桌面编辑器测评

在今日快速发展的数字化办公环境中&#xff0c;选择一个功能全面且高效的办公软件是至关重要的。最近&#xff0c;我有幸体验了ONLYOFFICE 8.1版本的桌面编辑器&#xff0c;这款软件不仅提供了强大的编辑功能&#xff0c;还拥有众多改进&#xff0c;让办公更加流畅和高效。在本…

C++ | Leetcode C++题解之第202题快乐数

题目&#xff1a; 题解&#xff1a; class Solution { public:int ProductSum(int n){int sum 0;while(n){int temp n % 10;sum temp*temp;n / 10;}return sum;}bool isHappy(int n) {int slow n,fast n;// 快慢指针&#xff0c;找环的相遇位置do{slow ProductSum(slow)…

58.鸿蒙系统app(HarmonyOS)(ArkUI)更改应用程序图标

替换xx\MyApplication4.30\entry\src\main\resources\base\media目录下icon.png文件 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试_鸿蒙socket连接测试-CSDN博客

Vuetify3:​快捷回到顶部

在Vuetify 3中&#xff0c;要实现回到顶部&#xff0c;我们需要创建悬浮按钮&#xff0c;如下&#xff1a; <template><v-list><div class"position-fixed right-0 bottom-0" style"top:50%;"><v-list-item ><v-btn icon"…