Token导航 LogoToken导航

AI 资讯 · 科技行者

4LC为视频生成加记忆缓存避免重复渲染场景

更新 2026-11-13科技行者正文 6889字阅读约 22分钟

你有没有想过一个问题:当AI生成一段连续的视频,比如让镜头在一个房间里转来转去,或者让时间往前快进几秒,它每次"看"这个场景的时候,到底是怎么"记住"之前发生过什么的?

答案可能让你有点意外。目前很多做法是:每次生成新的一帧画面之前,AI要先把之前重建的三维场景重新渲染成一张图片,再把这张图片重新编码一遍,才能把它塞进生成模型里当作参考。这个过程聪明是聪明,但代价不小。

这就好比你每次要查一个电话号码,都得把整本通讯录从头抄一遍,再重新排序归档,才能找到你要的那一条。效率低不说,抄录的过程中还可能抄错。这篇来自智源研究院"中关村学院"团队的论文《4LC: 4D Latent Cache for Efficient Conditioning in Dynamic World Modeling》,要解决的正是这个问题。

这里先弹出一个概念。

世界模型:一种能够模拟真实世界运行规律的AI系统,输入一些条件(比如摄像机怎么动、场景怎么变化),它能生成符合物理和逻辑规律的视频画面。

核心问题:每次生成都要重新"画一遍"

论文把现有的做法画成了一张对比图,叫"非缓存管线"。流程是这样的:先对场景做三维重建(用4D高斯泼溅这类技术),然后把这个三维场景按照你要求的时间和视角渲染成一张RGB图片,再把这张图片塞进VAE编码器里压缩成生成模型能用的"潜在特征"。每次你提一个新的生成请求,这一整套流程就要重新跑一遍。

论文里给出了具体数字:以NeoVerse这个代表性的条件获取方案为例,渲染加编码要花2750毫秒,占去整个生成流程18.47秒里的14.9%。这不是一个小数目。如果你要做长时段的连续生成,这个14.9%会在每一个生成片段上反复出现,累积起来相当可观。

VAE:变分自编码器,一种把图像压缩成低维"潜在特征"的神经网络,生成模型通常不直接在像素空间工作,而是在这个压缩过的潜在空间里运算,速度更快。

4D高斯泼溅(4DGS):一种用大量带有位置、颜色、形状信息的"高斯点"来表示动态三维场景的技术,既能表示场景的几何形状,又能表示它随时间的运动。

更麻烦的是,这种"渲染-编码"的循环里藏着信息损耗。你把三维点云渲染成图片的时候,遮挡的地方会出现空洞,重建不准的地方会有伪影,这些瑕疵会原封不动地传递到下一步的生成结果里。论文的实验图里能看到,用NeoVerse的方案生成的视频里,移动的人物边缘和静止的背景结构上都出现了明显的失真和错位,而这些问题恰恰是重新渲染这一步带来的。

于是研究者们提出了一个直接的问题:既然观测到的场景信息反复被拿来生成不同时间、不同视角的画面,能不能把这些信息编码一次,然后反复读取,而不是每次都重新走一遍渲染加编码的流程?

这个思路听起来简单,但做起来有两个难点。第一,场景里既有静止不动的背景,也有在动的人和物体,怎么用一套机制同时处理这两种内容?第二,不同的视觉编码器(比如专门处理外观的、专门处理语义的、专门处理几何的)给出的特征格式、分辨率、维度都不一样,怎么把它们统一管理起来,还能灵活地按时间和视角去读取?

4LC:把场景"存"起来,而不是每次"重画"

4LC的全称是4D Latent Cache,中文可以理解成"四维潜在缓存"。这里的"四维"指的是三维空间加上时间维度,"潜在"指的是它存的不是普通的像素图片,而是经过编码器处理过的特征表示。

它的核心设计分成三个操作:构建、读取、组合。

先说构建。研究者用一个预训练好的几何估计器(论文里用的是NeoVerse的重建模型),从输入的一段视频关键帧里,反推出每个像素点在三维空间里的位置,以及它的运动速度(往前一帧和往后一帧分别怎么动)。同时,几个不同的视觉编码器(FLUX.2 VAE负责重建外观、DINOv2负责提取语义特征、V-JEPA 2.1负责捕捉视频动态、VGGT负责推断多视角几何)各自对这段视频提取特征,这些特征都被绑定到刚才算出来的三维位置和运动信息上,打包成一个"缓存条目"。

这里要停下来想一个问题:为什么要把四种不同的编码器的输出都存进去,而不是只用一种?

论文的消融实验给出了答案。单独用FLUX.2 VAE做直接读取,相比于渲染加重新编码,旋转误差和平移误差基本持平,主体一致性和背景一致性也差不多。但如果把V-JEPA 2.1加进去,平移误差能从0.112降到0.101,如果把DINOv2、VGGT、V-JEPA 2.1全部加进去,所有四项指标都能追平甚至超过传统的渲染加编码方案。

这就好比你要给一个陌生人描述一个地方。只靠一张照片,你能说清楚它长什么样,但说不清楚那里经常发生什么、哪里是入口哪里是出口、周围的空间结构怎么连接。你得同时给他看照片、讲讲这里平时的活动规律、画一张简易地图,他才能真正"理解"这个地方,而不只是"看过"这个地方。四种编码器各自负责外观、语义、几何、动态这四个不同的理解维度,缺一个,对场景的刻画就少一个角度。而如果不把它们绑定到同一套几何和运动信息上,而是各自独立存储,那你在读取的时候就没法保证这四种信息描述的是同一个时空点,容易出现"张冠李戴"的错位。

接下来是读取。假设你现在要生成某个特定时刻、某个特定摄像机角度下的画面,4LC会先把缓存里的三维点按照这个点自己的运动速度传播到目标时刻(论文里用的是局部线性近似,简单说就是按运动速度匀速移动),然后把传播后的点投影到目标摄像机的像平面上,取出对应的特征。这一步会同时产出两样东西:读取到的特征,和一张"覆盖掩码",标记哪些位置是有效的、哪些位置是空的。

这里有个细节值得展开:怎么区分"静止"和"运动"?论文设了一个运动阈值,如果一个点在相邻观测之间的投影位移超过某个像素数,就认定它是在动,否则就当它是静止的,位置固定不变。这个阈值设得太敏感,静止的墙面地板也会被误判成在动,生成结果就会抖动;设得太宽松,真正在动的物体又会被当成静止,运动轨迹会丢失。论文的消融实验显示,不设这个阈值过滤(ε=0),旋转误差和平移误差都是所有配置里最差的,而设在0.05到0.4之间,各项指标都比较稳定。这说明这个过滤机制确实是必要的,而且在合理范围内并不算特别敏感,系统有一定的容错空间。

最后是组合。当一个缓存条目没法覆盖整个目标画面的时候(比如这个角度之前没完全拍到过),系统可以依次读取多个缓存条目,用后面条目的内容去补齐前面条目没覆盖到的空白区域,直到覆盖率达到某个阈值,或者没有条目可用了为止。这个机制让4LC不需要把所有历史信息强行合并成一个条目,可以按需灵活组合,也方便单独地增加或者丢弃某些历史片段。

效率提升:68.5倍更快,12.6倍更省内存

说了这么多设计细节,最终的效果数字才是最直观的。

论文在同样使用Wan2.1 VAE编码器的前提下,对比了4LC的直接读取和NeoVerse的"4DGS渲染加编码"方案。结果是,4DGS的渲染加编码要2750毫秒,而4LC读取只要40.14毫秒,快了68.5倍。峰值显存方面,4DGS方案要4.85GiB,4LC只要0.385GiB,少了12.6倍。

如果把这个数字放到实际生成流程里看会更有感觉。论文测算,条件获取在NeoVerse方案里占整个生成时间的14.9%,换成4LC-Video之后,这个比例降到了0.25%。换句话说,原来每生成一段视频,差不多有七分之一的时间花在"重新画场景"上,现在这部分时间几乎可以忽略不计了。

这就像你原来每次要用一份资料,都得去档案室现场翻找复印,现在变成了资料已经提前扫描进了电子系统,你点一下鼠标就能调出来。如果不做这个改造,每次用资料都要重复跑一趟档案室,时间全耗在路上了;做了改造之后,省下来的时间可以真正用在"读资料、做判断"这件事本身上。

但这里有个疑问必须追问:读取速度快了,读出来的特征质量会不会打折扣?毕竟直接从缓存里取,没有经过"渲染到目标视角再重新编码"这道工序,会不会丢掉一些只有在目标视角下才能准确捕捉的细节?

论文专门做了这个对比实验。他们把直接读取的特征和"渲染加重新编码"得到的特征放在一起比较余弦相似度,发现VGGT和V-JEPA 2.1在"相对表征空间"(一种排除了绝对数值差异、只看特征之间相对关系的分析方法)里的相似度能到0.97左右,DINOv2也有0.91,说明这些语义和几何特征在直接读取之后依然保持了稳定的结构。VAE类的特征相对表征相似度略低一些(FLUX.2 VAE是0.85,Wan2.1 VAE是0.71),这是因为VAE编码对像素级别的细节更敏感,渲染和重新编码这个过程本身就会改变一些像素层面的东西。这也解释了为什么论文最终选择FLUX.2 VAE作为默认编码器之一,而不是Wan2.1 VAE。

一个模型打五份工:多任务不用微调

效率是一方面,另一方面是这套缓存机制到底能不能撑起实际的生成任务。论文里4LC-Video这个模型用同一套参数,没有做任何针对单个任务的微调,去应对五种不同的视频生成任务:摄像机控制、时间控制、新视角合成、场景重访、长时程生成。

这五个任务的区别,主要体现在"用哪些初始画面"、"目标请求是什么"、"从缓存里读哪些条目"这三个维度的不同组合上。比如摄像机控制是保留原始的时间线,只改变摄像机轨迹;时间控制是保留原始摄像机轨迹,只改变时间顺序(比如倒放、冻结某一帧);新视角合成是只给一张图,生成这张图之外视角的画面;场景重访是让摄像机走一圈又回到起点,测试返回时场景是否还一致;长时程生成则是测试生成很多片段之后,之前的场景记忆会不会丢失或者走样。

在摄像机控制任务上,4LC-Video的旋转误差是0.037,平移误差是0.089,是所有对比方法里最低的,同时主体一致性和背景一致性也是最高的(分别是90.71和94.14)。这个结果有意思的地方在于,其他方法大多是在"跟随摄像机指令"和"保持画面一致"之间做权衡:NeoVerse能较好地跟随摄像机,但一致性打了折扣;GEN3C和SpaceTimePilot一致性保持得不错,但摄像机误差是4LC-Video的好几倍,相当于摄像机根本没怎么动,只是看起来稳定而已。4LC-Video之所以能同时做到两者兼顾,根源就在于它的缓存机制让静止结构保持原样,运动内容又能按真实轨迹准确移动,不需要靠牺牲一方去成全另一方。

在场景重访任务上,这种优势体现得更明显。4LC-Video的PSNRC(闭环一致性的峰值信噪比,数值越高表示画面质量和原图越接近)达到21.91,比对比方法里表现最好的LiveWorld高出1.84。论文解释说,像LiveWorld这类方法在生成过程中会不断用新生成的画面去更新它的点云或者空间记忆,这意味着如果中途某一帧生成得不够准,这个误差会被写进记忆里,下次摄像机转回来的时候,这个误差又会重新进入条件里,越滚越大。而4LC只用一个源图像构建的缓存条目,不管摄像机怎么绕,每次重访同一个地方拿到的条件都是同一份,不会因为中间走了弯路就越走越偏。

这就像你用两种方式记一条路线。一种是边走边口述修改笔记,走错了也把错的记下来,回头核对的时候,参照的还是那份被污染过的笔记;另一种是一开始就用GPS定好了所有路标的绝对坐标,不管你中间绕了多少圈,回到某个路标的时候,看到的坐标信息永远是最初那份准确的。前者会累积误差,后者不会,因为它压根没有"更新"这个环节,源头信息始终如一。

长时程生成的任务上也有类似的发现。论文用的MBench-A基准测试里,有专门针对"长时程记忆能力"设计的评分标准,分成"环境得分"(场景空间结构是否稳定)和"因果得分"(场景状态是否合理演化)。4LC-Video拿到了85.56的环境得分和89.06的因果得分,都是对比方法里最高的。有意思的是其他方法往往顾此失彼:HY-WorldPlay和Infinite-World空间一致性不错,但场景状态演化的得分很低(HY-WorldPlay的state得分只有49.50),意味着场景看起来一直很"死",没什么变化;Yume-1.5和LingBot-World反过来,状态演化得分很高(分别是97.90和96.00),但空间一致性的得分很低(LingBot-World的重投影得分只有7.57),意味着场景结构漂移得厉害。

论文给出的解释是,4LC-Video每生成一段新内容,就把它作为新的缓存条目追加进去,之后的生成只复用之前条目里"静止"的那部分内容(也就是前面提到的那个运动掩码标记为0的部分),而不会重放过去的运动。这样一来,场景的空间结构被约束住了,但运动和状态依然可以持续演化,不会被锁死在某个历史状态里。

这里论文也诚实地留了一个未解决的问题:虽然4LC本身既支持静止内容也支持运动内容的缓存,但4LC-Video在长时程生成这个具体任务里,目前只复用了静止部分的历史。动态内容怎么在跨片段生成里被有效复用,论文留给了未来的工作。

几个细节:为什么选这几个编码器,训练又是怎么做的

论文还提到一些工程细节,值得拎出来讲讲,因为这些细节往往决定了一个系统能不能真正跑起来,而不只是停留在论文里的理想情况。

训练数据方面,4LC-Video用了20万条单目视频片段,分别来自SpatialVID、RealCamVid和OpenVid三个数据集,而且是没有配对的多视角监督的,也就是说训练数据本身不是专门拍摄的多机位素材,而是普通的单路视频。这意味着这套方法不依赖昂贵的多摄像头拍摄设备就能训练。

训练过程中,研究者还设计了一套数据增强策略,核心思路是人为制造"条件不完整"的情况,逼着模型学会在信息缺失的时候也能生成合理的画面。具体做法包括随机丢弃一部分源帧、模拟一个虚拟摄像机做平移旋转缩放来筛选哪些点可见、扰动运动判断的阈值、甚至有10%的概率只用第一帧图像来构建条件(模拟"完全没有视频只有一张图"的极端情况)。

这套增强策略的意义在于,真实世界里4LC读取到的条件几乎不可能是完美的。重建模型会有误差,运动估计会有偏差,某些角度可能压根没被观测到过。如果训练的时候只喂给模型完美条件,它在实际使用时遇到残缺信息就会不知所措。这就跟练习考试一样,如果平时做的题目都是标准条件下的简单题,考场上遇到信息不全、条件模糊的题目就容易手足无措;反过来,如果平时就刻意练习在信息残缺的情况下做判断,遇到真实的复杂场景才能稳得住。

写在后面

读完这篇论文,有一个地方让我反复琢磨:它选择用"相对表征相似度"而不是单纯的绝对相似度去验证特征读取的有效性,这个做法本身藏着一个挺深的认知。

直接比较两个特征向量的绝对数值,很容易因为坐标系、归一化方式这些表面差异得出误导性的结论,明明两组特征描述的是同一个语义内容,数值上却可能相去甚远。而相对表征关注的是"这个特征和其他锚点特征之间的相对关系有没有保持住",这其实更接近于我们理解"信息有没有丢失"的本质。这让我想到,很多时候我们评价一个压缩或者转换过程做得好不好,盯着的是表面数值对不对,而真正该问的是:内部的结构关系还在不在。

另外一个让我意外的细节是,论文里提到V-JEPA 2.1这个视频自监督模型,在直接读取之后几乎没有损失一致性指标,反而把旋转和平移误差都降低了。研究者的解释是它是"从视频里学出来的",天然带有跨帧的时间一致性,这种一致性在被读取、被投影、被传播之后依然稳定。这让我想到一个更大的问题:如果一个特征表示本身就是在"时间"这个维度上训练出来的,它是不是天然就比那些只在单帧图像上训练的特征,更适合被用在这种跨时空读取的场景里?这可能是个值得单独深挖的方向,论文里没有展开,但留下的这条线索很有意思。

4LC解决的问题说到底挺朴素:信息被观测到了一次,为什么要为了每一次使用都重新加工一遍?但把这个朴素的想法做扎实,需要解决静止和运动怎么分开处理、不同编码器的特征怎么对齐绑定、读取的时候怎么补全空洞这些具体的工程难题。这篇论文的价值,某种程度上正在于把一个听起来简单的直觉,变成了一套真正能跑、能测、能超过现有方案的系统。

Q&A

Q1:4LC是什么?

A:4LC全称4D Latent Cache,是一种四维潜在缓存机制,能把静态和动态场景内容用多种视觉编码器提取的特征绑定到共享的几何和运动信息上,供后续不同时间、不同视角的视频生成请求直接读取,不需要每次重新渲染和编码。

Q2:4LC相比传统方法能快多少?

A:论文实验显示,在同样使用Wan2.1 VAE的前提下,4LC读取耗时40.14毫秒,比4DGS渲染加编码的2750毫秒快68.5倍,峰值显存从4.85GiB降到0.385GiB,降低12.6倍,条件获取占整体生成时间的比例从14.9%降到0.25%。

Q3:4LC-Video能同时完成哪些视频生成任务?

A:同一个4LC-Video模型不需要针对任务微调,就能完成摄像机控制、时间控制、新视角合成、场景重访、长时程生成这五类任务,并在多项指标上超过了各自领域的专门方法。

文章标签AI资讯

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。