【AI论文】VideoAuteur:迈向长叙事视频

摘要:近期的视频生成模型在制作持续数秒的高质量视频片段方面已展现出令人鼓舞的成果。然而,这些模型在生成能传达清晰且富有信息量的长序列时面临挑战,限制了它们支持连贯叙事的能力。在本文中,我们提出了一个大规模烹饪视频数据集,旨在推动烹饪领域的长形式叙事生成发展。我们分别使用最先进的视觉-语言模型(VLMs)和视频生成模型,从视觉保真度和文本字幕准确性两个方面验证了所提数据集的质量。此外,我们还引入了一种长叙事视频导演方法,以增强生成视频在视觉和语义上的连贯性,并强调了对齐视觉嵌入对于提升整体视频质量的重要作用。我们的方法在生成视觉细节丰富且语义对齐的关键帧方面取得了显著改进,这得益于在视频生成过程中融合了文本和图像嵌入的微调技术。项目页面:Towards Long Narrative Video Generation Huggingface链接:Paper page,论文链接:2501.06173
1. 引言
视频生成模型的现状:
- 近年来,视频生成模型在生成高质量、持续数秒的视频片段方面取得了显著进展。这些模型主要分为扩散模型和自回归模型两大类,前者如DiT、Sora和CogVideo等,后者如VideoPoet和Emu系列。这些模型能够生成逼真的视频内容,但在生成能够传达清晰且连贯叙事的长序列视频方面仍面临挑战。
长叙事视频生成的重要性:
- 叙事是人类组织经验和记忆的重要工具,对于人类社会的发展具有至关重要的作用。然而,在视频生成领域,如何生成具有完整叙事结构的长视频仍然是一个亟待解决的问题。
- 现有的视频生成模型在生成长视频时,往往难以保持语义一致性和视觉连贯性,导致生成的视频内容缺乏逻辑性和观赏性。
研究动机与目标:
- 针对上述问题,本文提出了一种新的长叙事视频生成方法,旨在生成具有连贯叙事和丰富视觉细节的长视频。
- 为此,本文构建了一个大规模的烹饪视频数据集CookGen,并设计了一个包含长叙事视频导演和视觉条件视频生成模型在内的VideoAuteur管道。
2. 相关工作
文本到图像/视频生成:
- 文本到图像和视频生成是计算机视觉和自然语言处理领域的热门研究方向。近年来,随着深度学习技术的不断发展,该领域取得了显著进展。然而,现有的文本到视频生成模型主要关注于生成短时间的视频片段,而缺乏对长叙事视频生成的有效支持。
交织的图像-文本建模:
- 交织的图像-文本生成是一个将视觉和文本模态相结合以产生丰富输出的研究领域。现有的交织图像-文本生成模型主要依赖于大规模图像-文本配对数据集,并通过预训练的语言模型来生成图像和文本。然而,这些模型在生成连贯的长叙事视频方面仍存在不足。
叙事视觉生成:
- 叙事视觉生成的研究重点在于确保生成图像之间的一致性。现有的方法主要采用条件生成技术,在扩散或自回归模型中生成具有连贯性的图像序列。然而,这些方法在生成长叙事视频时仍面临挑战,特别是在保持对象/角色身份跨场景一致性和生成具有复杂事件序列的语义一致性方面。
3. 长叙事视频数据
数据集概述:
- 为推动长叙事视频生成的研究,本文构建了一个大规模的烹饪视频数据集CookGen。该数据集包含约200,000个视频片段,平均每个片段持续9.5秒。
- 数据集的视频来源于YouCook2和HowTo100M两个现有视频数据集,并经过质量过滤和字幕标注等预处理步骤。
数据标注与处理:
- 为确保数据集的质量和可扩展性,本文设计了一个高效的标注管道。对于字幕生成,本文训练了一个基于开源VLM的视频字幕生成器,并使用GPT-4和LLaVA-NeXT进行微调以优化性能。
- 对于动作标注,本文使用HowTo100M的ASR伪标签,并通过LLMs进行细化以提高标注质量。此外,本文还实现了基于时间间隔的字幕-动作匹配和过滤过程,以确保字幕和动作的对齐。
数据集评价:
- 为评估数据集的质量,本文进行了逆视频生成和视觉理解两个方面的评价。逆视频生成实验表明,本文的字幕能够捕捉足够的语义信息以有效重建原始视频。视觉理解实验则通过GPT-4和人类评估者对字幕质量进行了评价,结果显示本文的数据集在覆盖视频元素和避免幻觉方面表现出色。
4. 方法
长叙事视频生成任务:
- 给定文本输入,长叙事视频生成的任务是生成一个与文本输入顺序一致的连贯长视频。为实现这一目标,本文提出了VideoAuteur管道,该管道包含长叙事视频导演和视觉条件视频生成两个主要组件。
长叙事视频导演:
- 长叙事视频导演负责生成一系列视觉嵌入(或关键帧),以捕捉叙事的流程。本文探索了两种类型的视频导演:交织图像-文本导演和语言中心关键帧导演。
- 交织图像-文本导演采用自回归模型,根据累积的文本和图像上下文预测下一个令牌,从而生成连贯的叙事序列。该模型使用CLIP-Diffusion视觉自编码器将原始图像编码为视觉嵌入,并通过回归损失函数对齐生成的视觉嵌入与目标视觉嵌入。
- 语言中心关键帧导演则仅使用文本指导来合成关键帧。尽管这种方法能够生成高保真度的图像,但缺乏在关键帧之间的细微过渡,因此相比交织图像-文本导演在连贯性方面表现较差。
视觉条件视频生成:
- 视觉条件视频生成模型利用长叙事视频导演生成的动作、字幕和视觉状态作为条件来生成连贯的长叙事视频。与传统的基于初始关键帧的视觉条件视频生成方法不同,本文的方法利用回归的视觉嵌入作为连续条件来指导视频生成过程。
- 为提高模型对噪声视觉嵌入的鲁棒性,本文在训练过程中应用了高斯噪声、随机掩码和随机洗牌等正则化技术。这些技术有助于模型在处理不完美的视觉嵌入时生成更高质量的视频。
5. 实验
实验设置:
- 本文使用SEED-X作为基线模型,并通过LoRA微调技术在叙事数据集上进行训练。对于视频生成,本文采用了一种类似于Sora的预训练视频-文本对模型。
- 实验数据包括约32,000个叙事视频用于模型开发,以及约1,000个视频用于验证。所有视频均被调整为448(短边)分辨率,并进行中心裁剪以得到448x448分辨率的图像。
交织叙事导演实验:
- 本文探索了不同的视觉潜在空间、损失设计和跨模态回归任务对交织自回归模型的影响。实验结果表明,使用CLIP嵌入的自动编码器在视觉生成质量方面显著优于VAE潜在空间。此外,结合MSE损失和余弦相似度损失的回归损失函数在视觉嵌入的尺度和方向上均表现出色。
- 在从“动作”到“视觉状态”的转换过程中,本文发现从动作到语言状态再到视觉状态的推理链在长叙事视觉生成方面最为有效。
视觉条件视频生成实验:
- 与基于关键帧的条件策略相比,本文的方法在CLIP-T和FVD分数方面均表现出色。这表明使用回归的视觉嵌入作为条件能够生成更高语义对齐和质量的视频。
6. 结论
研究贡献:
- 本文构建了一个大规模的烹饪视频数据集CookGen,并设计了一个包含长叙事视频导演和视觉条件视频生成模型在内的VideoAuteur管道。这些数据集和管道为长叙事视频生成的研究提供了有力的支持。
- 实验结果表明,本文的方法在生成视觉细节丰富且语义对齐的关键帧方面取得了显著改进。这些改进得益于在视频生成过程中融合了文本和图像嵌入的微调技术。
未来展望:
- 尽管本文的方法在长叙事视频生成方面取得了初步成果,但仍存在许多挑战和待解决的问题。例如,如何提高自动语音识别生成的动作标注的质量、如何减少视频生成模型中的幻觉现象等。未来的研究可以进一步探索这些问题,并推动长叙事视频生成技术的发展。
7. 数据集统计与案例分析
数据集统计:
- CookGen数据集包含的视频长度分布广泛,大多数视频长度在30到150秒之间。视频片段长度主要分布在5到30秒之间,每个视频被分割成4到12个片段,确保了叙事结构的平衡性。
- 数据集中的字幕和动作标注详细且丰富,字幕长度通常在40到70词之间,动作标注长度在10到25词之间。这些详细的标注为生成连贯且富有信息量的长叙事视频提供了有力支持。
案例分析:
- 本文展示了使用VideoAuteur管道生成的烹饪视频示例,如“Fried Chicken”和“Shish Kabob”的制作过程。这些视频通过逐步展示烹饪步骤,有效地传达了烹饪过程的关键信息,并展示了模型在生成连贯且富有信息量的长叙事视频方面的能力。
8. 方法细节与实现
视觉潜在空间与回归损失:
- 本文对比了不同视觉潜在空间(如VAE、SEED-X和EMU-2)在视觉回归任务中的表现。实验结果表明,使用CLIP嵌入的自动编码器(如SEED-X和EMU-2)在视觉生成质量方面优于VAE潜在空间。
- 在回归损失函数的设计上,本文结合了MSE损失(最小化尺度误差)和余弦相似度损失(最小化方向误差),以实现对视觉嵌入的准确回归。
模型训练与推理:
- 本文详细描述了交织自回归模型和视觉条件视频生成模型的训练和推理过程。这些过程包括模型架构的选择、超参数的设置以及训练步骤的安排等。
- 在训练过程中,本文采用了AdamW优化器和余弦衰减学习率调度策略,并在推理过程中使用了固定的上下文对数以确保一致性。
9. 局限性与未来工作
局限性:
- 尽管本文的方法在长叙事视频生成方面取得了显著进展,但仍存在一些局限性。例如,自动语音识别生成的动作标注存在噪声和不完整性问题;视频生成模型在复杂场景和长时间序列中可能出现幻觉现象等。
未来工作:
- 针对上述局限性,未来的研究可以进一步探索如何提高动作标注的质量和准确性;如何减少视频生成模型中的幻觉现象并提高其在复杂场景和长时间序列中的表现等。此外,还可以探索将本文的方法扩展到其他领域和任务中,以推动长叙事视频生成技术的更广泛应用和发展。
相关文章:
【AI论文】VideoAuteur:迈向长叙事视频
摘要:近期的视频生成模型在制作持续数秒的高质量视频片段方面已展现出令人鼓舞的成果。然而,这些模型在生成能传达清晰且富有信息量的长序列时面临挑战,限制了它们支持连贯叙事的能力。在本文中,我们提出了一个大规模烹饪视频数据…...
循环神经网络(RNN)+pytorch实现情感分析
目录 一、背景引入 二、网络介绍 2.1 输入层 2.2 循环层 2.3 输出层 2.4 举例 2.5 深层网络 三、网络的训练 3.1 训练过程举例 1)输出层 2)循环层 3.2 BPTT 算法 1)输出层 2)循环层 3)算法流程 四、循…...
css-background-color(transparent)
1.前言 在 CSS 中,background-color 属性用于设置元素的背景颜色。除了基本的颜色值(如 red、blue 等)和十六进制颜色值(如 #FF0000、#0000FF 等),还有一些特殊的属性值可以用来设置背景颜色。 2.backgrou…...
【Leetcode 热题 100】32. 最长有效括号
问题背景 给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号 子串 的长度。 数据约束 0 ≤ s . l e n g t h ≤ 3 1 0 4 0 \le s.length \le 3 \times 10 ^ 4 0≤s.length≤3104 s [ i ] s[i] s[i] 为 ‘(’ 或 ‘…...
Linux网络 | 网络层IP报文解析、认识网段划分与IP地址
前言:本节内容为网络层。 主要讲解IP协议报文字段以及分离有效载荷。 另外, 本节也会带领友友认识一下IP地址的划分。 那么现在废话不多说, 开始我们的学习吧!! ps:本节正式进入网络层喽, 友友们…...
Google 和 Meta 携手 FHE 应对隐私挑战
1. 引言 为什么世界上最大的广告商,如谷歌和 Meta 这样的超大规模公司都选择全同态加密 (FHE)。 2. 定向广告 谷歌和 Meta 是搜索引擎和社交网络领域的两大巨头,它们本质上从事的是同一业务——广告。它们最近公布的年度广告收入数据显示,…...
将markdown文件转为word文件
通义千问等大模型生成的回答多数是markdown类型的,需要将他们转为Word文件 一 pypandoc 介绍 1. 项目介绍 pypandoc 是一个用于 pandoc 的轻量级 Python 包装器。pandoc 是一个通用的文档转换工具,支持多种格式的文档转换,如 Markdown、HTM…...
arkts bridge使用示例
接上一篇:arkui-x跨平台与android java联合开发-CSDN博客 本篇讲前端arkui如何与后端其他平台进行数据交互,接上一篇,后端os平台为Android java。 arkui-x框架提供了一个独特的机制:bridge。 1、前端接口定义实现 定义一个bri…...
2025年大年初一篇,C#调用GPU并行计算推荐
C#调用GPU库的主要目的是利用GPU的并行计算能力,加速计算密集型任务,提高程序性能,支持大规模数据处理,优化资源利用,满足特定应用场景的需求,并提升用户体验。在需要处理大量并行数据或进行复杂计算的场景…...
python算法和数据结构刷题[2]:链表、队列、栈
链表 链表的节点定义: class Node():def __init__(self,item,nextNone):self.itemitemself.nextNone 删除节点: 删除节点前的节点的next指针指向删除节点的后一个节点 添加节点: 单链表 class Node():"""单链表的结点&quo…...
Baklib解析内容中台与人工智能技术带来的价值与机遇
内容概要 在数字化转型的浪潮中,内容中台与人工智能技术的结合为企业提供了前所未有的发展机遇。内容中台作为一种新的内容管理和生产模式,通过统一管理和协调各种内容资源,帮助企业更高效地整合内外部数据。而人工智能技术则以其强大的数据…...
Flask框架基础入门教程_ezflaskapp
pip install flaskFlask 快速入门小应用 学东西,得先知道我们用这个东西,能做出来一个什么东西。 一个最小的基于flask 的应用可能看上去像下面这个样子: from flask import Flask app Flask(__name__)app.route(/) def hello_world():ret…...
黑马点评 - 商铺类型缓存练习题(Redis List实现)
首先明确返回值是一个 List<ShopType> 类型那么我们修改此函数并在 TypeService 中声明 queryTypeList 方法,并在其实现类中实现此方法 GetMapping("list")public Result queryTypeList() {return typeService.queryTypeList();}实现此方法首先需要…...
AI学习指南Ollama篇-使用Ollama构建自己的私有化知识库
一、引言 (一)背景介绍 随着企业对数据隐私和效率的重视,私有化知识库的需求日益增长。私有化知识库不仅可以保护企业数据的安全性,还能提供高效的知识管理和问答系统,提升企业内部的工作效率和创新能力。 (二)Ollama和AnythingLLM的结合 Ollama和AnythingLLM的结合…...
洛谷P4057 [Code+#1] 晨跑
题目链接:P4057 [Code#1] 晨跑 - 洛谷 | 计算机科学教育新生态 题目难度:普及一 题目分析:这道题很明显是求最大公倍数,写题解是为了帮助自己复习。 下面用两种方法介绍如何求最大公倍数: 暴力破解 #include<bits…...
嵌入式经典面试题之操作系统(一)
文章目录 1 请你说说常用的Linux命令有哪些?2 在linux中如何创建一个新的目录?3 Linux中查看进程运行状态的指令、tar解压文件的参数。4 在linux中,文件权限如何修改?5 怎样以root权限运行某个程序?6 在linux里如何查看…...
讯飞绘镜(ai生成视频)技术浅析(四):图像生成
1. 技术架构概述 讯飞绘镜的图像生成技术可以分为以下几个核心模块: 文本理解与视觉元素提取:解析脚本中的场景描述,提取关键视觉元素(如人物、场景、物体等)。 视觉元素生成:根据文本描述生成具体的视觉元素(如人物、场景、物体等)。 分镜画面生成:将视觉元素组合成…...
搜索引擎快速收录:关键词布局的艺术
本文来自:百万收录网 原文链接:https://www.baiwanshoulu.com/21.html 搜索引擎快速收录中的关键词布局,是一项既精细又富有策略性的工作。以下是对关键词布局艺术的详细阐述: 一、关键词布局的重要性 关键词布局影响着后期页面…...
[Effective C++]条款53-55 杂项讨论
本文初发于 “天目中云的小站”,同步转载于此。’ 学到这里, Effective C至此也算是告一段落了, 还剩下一些杂七杂八的讨论, 我们将在本文逐一列举. 条款53 : 不要忽视编译器的警告 我们应严肃对待编译器发出的警告信息, 努力在你的编译器最高警告级别下争取无警告…...
FreeRTOS从入门到精通 第十五章(事件标志组)
参考教程:【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili 一、事件标志组简介 1、概述 (1)事件标志位是一个“位”,用来表示事件是否发生。 (2)事件标志组是一组事件标志位的集合&#x…...
5 长度和距离计算模块(length.rs)
这段代码定义了一个泛型结构体 Length<T, Unit>,用于表示一维长度,其中 T 表示长度的数值类型,而 Unit 是一个编译时检查单位一致性的占位符类型,不会用于运行时表示长度的值。这个设计允许开发者在编译阶段确保不同单位之间…...
使用Pygame制作“俄罗斯方块”游戏
1. 前言 俄罗斯方块(Tetris) 是一款由方块下落、行消除等核心规则构成的经典益智游戏: 每次从屏幕顶部出现一个随机的方块(由若干小方格组成),玩家可以左右移动或旋转该方块,让它合适地堆叠在…...
deepseek大模型本机部署
2024年1月20日晚,中国DeepSeek发布了最新推理模型DeepSeek-R1,引发广泛关注。这款模型不仅在性能上与OpenAI的GPT-4相媲美,更以开源和创新训练方法,为AI发展带来了新的可能性。 本文讲解如何在本地部署deepseek r1模型。deepseek官…...
常见“栈“相关题目
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: 优选算法专题 目录 1047.删除字符串中的所有相邻重复项 844.比较含退格的字符串 227.基本计算器 II 394.字符串解码 946.验证栈序列 104…...
QT实现有限元软件操作界面
本系列文章致力于实现“手搓有限元,干翻Ansys的目标”,基本框架为前端显示使用QT实现交互,后端计算采用Visual Studio C。 本篇将二维矩形截面梁单元(Rect_Beam2D2Node)组成的钢结构桥作为案例来展示软件功能。 也可以…...
软件工程经济学-日常作业+大作业
目录 一、作业1 作业内容 解答 二、作业2 作业内容 解答 三、作业3 作业内容 解答 四、大作业 作业内容 解答 1.建立层次结构模型 (1)目标层 (2)准则层 (3)方案层 2.构造判断矩阵 (1)准则层判断矩阵 (2)方案层判断矩阵 3.层次单排序及其一致性检验 代码 …...
深度学习篇---深度学习框架
文章目录 前言第一部分:框架简介1. PyTorch简介特点动态计算图易于上手强大的社区支持与Python的集成度高 核心组件 2. TensorFlow简介特点静态计算图跨平台强大的生态系统Keras集成 核心组件 3. PaddlePaddle简介特点易于使用高性能工业级应用丰富的预训练模型 核心…...
Go学习:Go语言中if、switch、for语句与其他编程语言中相应语句的格式区别
Go语言中的流程控制语句逻辑结构与其他编程语言类似,格式有些不同。Go语言的流程控制中,包括if、switch、for、range、goto等语句,没有while循环。 目录 1. if 语句 2. switch语句 3. for语句 4. range语句 5. goto语句(不常用…...
Java中初步使用websocket(springBoot版本)
一、什么是websocket WebSocket是一种在Web应用程序中实现实时双向通信的协议。它为浏览器和服务器之间提供了一种持久连接,在一个连接上可以双向传输数据。相比传统的HTTP协议,WebSocket具有更低的延迟和更高的效率。 WebSocket使用了类似于握手的方式来…...
Day50:字典的合并
在 Python 中,字典是一个可变的数据类型,经常需要将多个字典合并成一个字典。合并字典的方式有多种,今天我们将学习几种常见的方法。 1. 使用 update() 方法合并字典 update() 方法可以用来将一个字典中的键值对添加到另一个字典中。如果目…...
