LanDiff:赋能视频创作,语言与扩散模型的融合力量

自从 Wan 2.1 发布以来,AI 视频生成领域似乎进入了一个发展瓶颈期,但这也让人隐隐感到:“DeepSeek 时刻”即将到来!就在前几天,浙江大学与月之暗面联合推出了一款全新的文本到视频(T2V)生成模型——**LanDiff** 。这款模型通过融合语言模型和扩散模型的优势,为高质量视频生成带来了突破性进展。接下来,我们一起来深入了解这款引人注目的技术成果。

LanDiff 被誉为视频生成领域的“混血儿”,它巧妙地将擅长语义理解的语言模型与专注于图像质量的扩散模型结合在一起 。具体来说,LanDiff 首先利用语义分词器将视频内容压缩成简洁的“故事大纲”,这一步类似于搭建骨架;随后,扩散模型在此基础上逐步细化,将大纲转化为细节丰富、视觉效果出色的完整视频 。这种“先搭框架再精雕细琢”的设计,不仅确保了生成内容高度契合文本描述,还显著提升了视频的视觉质量。

在性能表现上,LanDiff 同样令人惊艳。根据 VBench 基准测试结果显示,LanDiff 以 **85.43 的高分**成功登顶,远超其他开源模型的表现 。尤其值得一提的是,LanDiff 在长视频生成任务中展现出了强大的能力,能够稳定输出连贯且高质量的内容,充分证明了其在复杂场景下的适应性和鲁棒性 。这一创新无疑为视频生成领域注入了新的活力,也为未来的应用拓展提供了更多可能性。

核心特色 | Method

LanDiff是一种混合架构,它通过粗到精的生成范式,结合了语言模型和扩散模型的优点,其架构图如下。模型的核心架构主要分为以下三个部分:视频语义分词器基于LLM的语义Token生成器基于扩散模型的感知特征生成器。

视频语义Tokenizer | Video Semantic Tokenizer

“压缩与理解的双重魔法”:LanDiff 中的视频语义 Tokenizer

在 LanDiff 模型中,视频语义 Tokenizer 被誉为整个架构的“压缩大师”,其核心任务是将复杂的视频信息压缩成简洁的语义表达,同时保留视频的核心语义和细节。这种能力不仅减轻了后续语言模型和扩散模型的负担,还显著提升了生成效率和质量 。

---

查询分词:聚焦关键信息


Tokenizer 的一大创新在于**查询分词(Query Tokens)**,这是一种随机初始化的标记机制,用于与视频的语义特征交互,提取出最能代表视频内容的关键信息。这些查询 tokens 就像“信息雷达”,能够在庞大的视频数据中精准锁定重要语义点,从而实现高效的语义压缩与理解 。

---

视频语义表示:选择更优的特征提取方式


LanDiff 并未直接使用自编码器学习的特征,而是选择了预训练的**自监督学习特征(SSL)** 作为视频表示,并采用 Theia 模型进行视觉特征提取。这种设计的原因在于,SSL 特征能够更好地保留视频的高层次语义信息,而 Theia 模型经过多个视觉任务模型(如 CLIP、SAM、DINOv2、ViT 和 Depth-Anything)的提炼,确保了编码后的特征具有丰富的语义内涵 。

---

Tokenizer 的具体实现


在技术实现上,LanDiff 的 Tokenizer 采用了基于 Transformer 的结构,并结合查询嵌入来聚合视觉特征,从而实现极高的压缩率。具体流程如下:

1. 语义特征提取
   首先,使用 Theia 模型提取视频的语义特征,并将其扁平化处理,以便后续操作 。
2. 查询 tokens 的引入
   然后,引入一组随机初始化的查询 tokens,并将它们与提取的语义特征拼接在一起。这些查询 tokens 在语义特征中扮演了“信息提取器”的角色。
3. Transformer 编码 
   使用 Transformer 编码器对拼接后的特征进行编码,最终仅保留查询 tokens 的编码结果,作为后续处理的基础。
4. 向量量化
   接下来,通过训练 VQ-VAE 模型对查询 tokens 的编码特征进行向量量化,得到离散的语义 tokens。这一过程以最小化视频语义特征的重建损失为目标,并采用 EMA(指数移动平均)的方式更新模型参数。
5. 解码阶段  
   在解码阶段,量化后的特征被用作条件输入,并在其前添加一系列 mask tokens,形成解码器的输入序列 。

视频帧分组策略:高效压缩与建模
LanDiff 的视频帧分组策略灵感来源于 MP4 视频编码算法,通过将视频帧分为**关键帧(I-Frame)** 和**非关键帧(P-Frame)**,大幅减少了计算量和数据量:
1. 分组与建模 

 
   将 N 帧视频划分为 N/T 组,每组包含 T 帧。每一组独立建模,确保处理效率。

2. 关键帧与非关键帧的差异化处理

  
   - 关键帧(I-Frame):完整编码每组的第一帧,赋予大量查询 tokens,以实现高质量重建。  
   - 非关键帧(P-Frame):仅捕捉时间上的变化,参考先前的关键帧进行编码,并分配少量查询 tokens,迫使模型专注于帧间差异。

3. 掩码机制


   在编码过程中,对特征序列应用帧级别的因果掩码,确保每个 token 只能关注相应帧及之前的帧特征 。

4. 解码中的上下文依赖

 
   在解码阶段,每个帧对应的 mask token 不仅可以看到自身的查询 tokens,还可以参考先前帧的特征和查询 tokens,从而实现上下文依赖的高效解码。

压缩率与质量的双赢

LanDiff 的视频语义 Tokenizer 在压缩率和生成质量之间实现了完美的平衡。对于一段分辨率为 480x720 的一秒视频,LanDiff 平均仅需生成约 200 个 tokens,而常见的 MagViT2 tokenizer 则需要生成约 10,000 个 tokens 。这意味着 LanDiff 的序列长度仅为 MagViT2 的 1/50,显著降低了计算复杂度和资源消耗。与此同时,LanDiff 在语义保留和视频重建质量方面依然表现出色,真正实现了高效压缩与高质量输出的双赢 。

用于语义Token生成的语言模型

语言模型与高效分词器的结合:通过训练高效的分词器,利用语言模型进行自回归生成语义化的分词,从而实现从文本到视频的生成过程。

多模态特征提取:借助预训练的T5-XXL模型提取文本特征,并利用视频语义Tokenizer(在前一节中介绍)将视频转换为离散的分词序列,实现文本与视频的跨模态融合。

可控生成条件:引入帧条件和运动分数条件等控制条件,增强对生成视频的控制能力,以满足不同场景的需求。

模型结构与训练:采用LLaMA模型结构,从头开始训练,并使用交叉熵损失函数,确保模型的生成性能和稳定性。

用于生成感知特征的扩散模型

目标:将上一章节中生成的语义tokens转换为VAE潜在向量,作为视频detokenizer,负责将语义tokens转换成视频。
架构:
- 采用类似于MMDiT的架构。
- 使用视频tokenizer解码器将语义tokens解码为语义特征 \(\hat{F}\)。
- 以语义特征 \(\hat{F}\) 作为条件,指导扩散模型生成视频。
- 引入类似于ControlNet风格的控制模块,基于语义特征指导模型生成感知特征。在训练期间,主模型的参数保持不变,控制模块复制主模型前半部分层的参数,并在经过一个用零初始化的线性层后添加到主模型的输出。
- 为了使语义特征在空间维度上与目标VAE特征匹配,额外添加了一个上采样模块。
训练:

Chunk-wise流式策略:

 
模型参数:
- 整个视频detokenizer的总参数为3B,其中可训练的控制模块参数数量为1B。
- 以CogVideoX-2B模型作为视频detokenizer的基础模型。

为了不重复之前的表述,我将对这段内容进行重新组织和润色,同时保留原文的核心观点和信息,以下是改写后的内容:

我们暂且不深入探讨更多的实验细节与评测数据,但可以肯定的是,该模型的表现无疑是处于行业顶尖水平(SOTA)。至于模型是否开源,目前尚未有明确消息。不过,LanDiff的成功无疑凸显了混合架构在突破单一方法固有局限性方面的巨大潜力,为依据文本描述生成连贯、语义忠实且视觉效果卓越的视频开辟了新的道路。当下,从单模态生成迈向多模态生成,从Janus到dLLM,越来越多的研究致力于实现语言模型与扩散模型的融合。基于此,我们有充分的理由相信,文本到视频生成技术的融合与成功,必将为创意表达与内容创作注入新的活力,带来前所未有的机遇。

开源地址:LanDiff

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

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

相关文章

【本地图床搭建】宝塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”图床方案

写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除! 文章目录 前言宝塔安装DockerMinIO 安装与设置cploar内网穿透PicGo下载与安装typora安装总结互动…

centos-LLM-生物信息-BioGPT-使用1

参考: GitHub - microsoft/BioGPT https://github.com/microsoft/BioGPT BioGPT:用于生物医学文本生成和挖掘的生成式预训练转换器 |生物信息学简报 |牛津学术 — BioGPT: generative pre-trained transformer for biomedical text generation and mini…

高效爬虫:一文掌握 Crawlee 的详细使用(web高效抓取和浏览器自动化库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Crawlee概述1.1 Crawlee介绍1.2 为什么 Crawlee 是网页抓取和爬取的首选?1.3 为什么使用 Crawlee 而不是 Scrapy1.4 Crawlee的安装二、Crawlee的基本使用2.1 BeautifulSoupCrawler的使用方式2.2 ParselCrawler的使…

架构总览怎么写,才算工业级?

📈系统架构文档是整个项目最重要的起点,但很多人第一章就“写穿了”: 不是写得太细,就是没有重点。想要写出高质量、能协作、能传承的架构文档,这一篇会告诉你应该怎么做—— ✅ 架构总览的终极目标 明确边界、定义角色、画清数据流 别讲执行细节,别深入函数调用。 ✅ 架…

优先级队列(堆二叉树)底层的实现:

我们继续来看我们的优先级队列: 优先级队列我们说过,他也是一个容器适配器,要依赖我们的容器来存储数据; 他的第二个参数就是我们的容器,这个容器的默认的缺省值是vector,然后他的第三个参数,我…

GIC驱动程序分析

今天呢,我们就来具体的讲一下GIC的驱动源码啦,这个才是重点来着,我们来看看: GIC中的重要函数和结构体: 沿着中断的处理流程,GIC涉及这4个重要部分: CPU从异常向量表中调用handle_arch_irq&am…

java操作redis库,开箱即用

application.yml spring:application:name: demo#Redis相关配置redis:data:# 地址host: localhost# 端口,默认为6379port: 6379# 数据库索引database: 0# 密码password:# 连接超时时间timeout: 10slettuce:pool:# 连接池中的最小空闲连接min-idle: 0# 连接池中的最…

Cribl 通过Splunk search collector 来收集数据

今天利用Spliunk search collector 来收集数据啦:还是要先cribl 的官方文档: Splunk Search Collector | Cribl Docs Splunk Search Collector Cribl Stream supports collecting search results from Splunk queries. The queries can be both simple and complex, as well a…

What Was the “Game Genie“ Cheat Device, and How Did It Work?

什么是“Game Genie”作弊装置,它是如何工作的? First released in 1991, the Game Genie let players enter special codes that made video games easier or unlocked other functions. Nintendo didnt like it, but many gamers loved it. Heres wha…

位运算题目:连接连续二进制数字

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:连接连续二进制数字 出处:1680. 连接连续二进制数字 难度 5 级 题目描述 要求 给定一个整数 n \texttt{n} n,将 1 \text…

第十六届蓝桥杯Java b组(试题C:电池分组)

问题描述: 输入格式: 输出格式: 样例输入: 2 3 1 2 3 4 1 2 3 4 样例输出: YES NO 说明/提示 评测用例规模与约定 对于 30% 的评测用例,1≤T≤10,2≤N≤100,1≤Ai​≤10^3。对于 100…

63. 评论日记

2025年4月14日18:53:30 雷军这次是真的累了_哔哩哔哩_bilibili

电商中的订单支付(内网穿透)

支付页面 接口文档 Operation(summary"获取订单信息") GetMapping("auth/{orderId}") public Reuslt<OrderInfo> getOrderInfo(Parameter(name"orderId",description"订单id",requiredtrue) PathVaariable Long orderId){OrderI…

MySQL表的使用(4)

首先回顾一下之前所学的增删查改&#xff0c;这些覆盖了平时使用的80% 我们上节课中学习到了MySQL的约束 其中Primary key 是主键约束&#xff0c;我们今天要学习的是外键约束 插入一个表 外键约束 父表 子表 这条记录中classid为5时候&#xff0c;不能插入&#xff1b; 删除…

Kotlin作用域函数

在 Kotlin 中&#xff0c;.apply 是一个 作用域函数&#xff08;Scope Function&#xff09;&#xff0c;它允许你在一个对象的上下文中执行代码块&#xff0c;并返回该对象本身。它的设计目的是为了 对象初始化 或 链式调用 时保持代码的简洁性和可读性。 // 不使用 apply va…

C#集合List<T>与HashSet<T>的区别

在C#中&#xff0c;List和HashSet都是用于存储元素的集合&#xff0c;但它们在内部实现、用途、性能特性以及使用场景上存在一些关键区别。 内部实现 List&#xff1a;基于数组实现的&#xff0c;可以包含重复的元素&#xff0c;并且元素是按照添加的顺序存储的。 HashSet&…

Python 实现的运筹优化系统数学建模详解(最大最小化模型)

一、引言 在数学建模的实际应用里&#xff0c;最大最小化模型是一种极为关键的优化模型。它的核心目标是找出一组决策变量&#xff0c;让多个目标函数值里的最大值尽可能小。该模型在诸多领域&#xff0c;如资源分配、选址规划等&#xff0c;都有广泛的应用。本文将深入剖析最大…

数据库的种类及常见类型

一&#xff0c;数据库的种类 最常见的数据库类型分为两种&#xff0c;关系型数据库和非关系型数据库。 二&#xff0c;关系型数据库介绍 生产环境主流的关系型数据库有 Oracle、SQL Server、MySQL/MariaDB等。 关系型数据库在存储数据时实际就是采用的一张二维表&#xff0…

PE文件(十五)绑定导入表

我们在分析Windows自带的一些程序时&#xff0c;常常发现有的程序&#xff0c;如notepad&#xff0c;他的IAT表在文件加载内存前已经完成绑定&#xff0c;存储了函数的地址。这样做可以使得程序是无需修改IAT表而直接启动&#xff0c;这时程序启动速度变快。但这种方式只适用于…

计算机网络分层模型:架构与原理

前言 计算机网络通过不同的层次结构来实现通信和数据传输&#xff0c;这种分层设计不仅使得网络更加模块化和灵活&#xff0c;也使得不同类型的通信能够顺利进行。在网络协议和通信体系中&#xff0c;最广为人知的分层模型有 OSI模型 和 TCP/IP模型。这两种模型分别定义了计算…