闭环:面向自回归生成式渲染的无训练重访一致性方法 Closing the Loop: Training-Free Revisit Consistency for Autoregressive Generative Rendering
无需训练,用3D引擎的位姿与深度对应关系解决自回归视频生成中的相机重访不一致。
前置知识
自回归视频扩散与 Self-Forcing
自回归视频扩散把长视频切成隐空间 chunk 逐段去噪生成,每个 chunk 通过 causal attention 访问一个固定大小的 KV cache(滑动窗口),使显存与每段计算不随视频长度增长。Self-Forcing 是一种蒸馏方法:把双向视频扩散 teacher 蒸馏成 causal、少步的 student,训练时让 student 从纯高斯噪声 rollout、每段去噪后把 clean latent 写入 clean KV cache 供后续 chunk 访问,从而让 student 提前暴露于自身累积误差,缩小 teacher forcing 的 train-test mismatch;监督用 distribution-matching distillation。
本文以 self-forced、深度条件的 Causal Wan-VACE 作为 baseline student,所有训练免机制都施加在这个冻结模型上;不理解自回归 chunk 化生成与 bounded KV cache,就无法理解'重访 chunk 被驱逐'这一核心失效模式。
KV cache 与 RoPE 位置编码
KV cache 是 Transformer 自注意力的缓存,存历史 token 的 key/value 以避免重复计算;RoPE (旋转位置编码) 通过对 query/key 做旋转注入相对位置信息。在视频生成中,cache 大小决定模型能'记住'多少历史 chunk,超出窗口的 chunk 被驱逐 (evict),这是流式长视频生成的核心瓶颈,也是本文'重访不一致'问题的物理来源。
本文的 cache 布局(anchor/retrieved/recent 三槽、$M=4F=12$)、cache packing(检索 chunk 紧贴 recent 窗口的相邻 RoPE 位置)都建立在对 KV cache + RoPE 的精确理解之上,否则无法看懂为何要重新打包位置。
Wan-VACE(深度条件视频生成)
Wan-VACE 是 Wan 文生视频 DiT 加上深度控制的扩展:把归一化后的单目深度图由 Wan VAE 编码,经 VACE control block 处理,作为残差注入到骨干网络选定层,从而支持深度条件下的可控视频生成。本文把它 causalize(主干与 VACE 控制分支各自维护独立 KV cache),再经 Self-Forcing 蒸馏得到深度条件的 Causal Wan-VACE 作为 base,832×480 输出在 30×52 隐空间 token 网格、每 chunk $F=3$ 隐帧。
所有 baseline 与本文方法都基于 Causal Wan-VACE;理解 main branch 与 control branch 两套 KV cache 必须同步检索,是复现与理解 cross-branch cache 对齐这一工程细节的前提。
Attention sink(StreamingLLM 思路)
受 StreamingLLM 启发,部分流式生成方法在 KV cache 开头固定保留一个 attention sink——通常是第一段 chunk,用于稳定全局外观、抑制颜色漂移。本文对比的 Deep Forcing、Infinity-RoPE 等训练免方案都含类似机制。但 sink 通常对应首段视角,并不对应重访视角,因此无法锚定 loop closure,这正是本文要解决的盲点。
消融中 attention sink (AS) 单独就能把 TartanGround keypoint 从 23.26 拉到 39.40,是最大单一增益组件;必须先理解 sink 才能看懂 AS→PR→GB 的消融递进与本文相对 sink 的增量贡献。
度量深度与相机位姿重投影 (reprojection)
度量深度 $D$ 给出每像素沿光轴的 scene 单位距离;相机位姿由旋转 $R$ 与中心 $c$(camera-to-world)给出。重投影指把目标帧某 token 先 unproject 到 3D 点 $X_t=z_p K_t^{-1}\tilde{u}_p$,经相对位姿变到源相机 $X_s=R_s^\top R_t X_t+c_t-c_s$,再投影回源帧 $\hat{u}_s(p)=\pi(K_s X_s)$ 得到几何对应点。这是本文 spatial correspondence 的物理基础。
本文几何引导注意力偏置完全依赖公式 3 的重投影得到对应点,再用公式 4 的 occlusion 可见性测试过滤;不理解重投影与遮挡,就无法看懂偏置从何而来、为何需要 occlusion-aware。
环闭合 (loop closure)
来自 SLAM 的术语,指相机离开某区域后重新返回该位置。在视频生成中意味着同一地点的 chunk 需要被'记起'以保证 appearance 一致。本文的 revisit inconsistency 正是 loop closure 在 bounded KV cache 下的失效:返回时原 chunk 已被驱逐,模型只能从零重生成。loop-closure benchmark 通过'返回距离≤2m、夹角≤45°、间隔≥100帧、excursion≥5m'等规则挖掘。
本文从 SLAM 借用 loop closure 概念来命名与刻画问题(revisit inconsistency),并用位姿匹配检索历史 chunk(公式 1)作为 loop-closure memory;不熟悉该概念会低估这套机制与通用长视频记忆方法的本质差异。
研究动机
生成式渲染把 3D 引擎输出的低保真但精确可控信号(深度图、无纹理几何、语义 buffer、粗仿真)提升为照片级真实视频,对游戏、虚拟制作、仿真与沉浸内容极具吸引力。然而实际应用要求长时序流式生成:在交互式游戏或虚拟环境中,相机在大场景中持续移动、离开某区域并在很久之后重访它,生成器必须 chunk-by-chunk 合成帧同时维护一个持久世界,horizon 远超视频模型原生上下文窗口。近期为自回归视频扩散做的蒸馏方法(causal attention + bounded KV cache)使流式生成可行,但 bounded memory 带来新失败模式——'重访不一致':在朴素滑动窗口下(图 2a),描述重访地点的 chunk 在相机返回时早已被驱逐;即便加上 attention sink(图 2b,受 StreamingLLM 启发),保留的第一段 chunk 通常并不对应重访视角,仍无法锚定环闭合。结果是模型必须从零重新生成该地点,可能产出完全不同的纹理、颜色、结构——尽管作为条件的深度与相机轨迹都源自同一 3D 几何、本应完全对齐。已有世界一致视频生成工作(VMem、PERSIST、MilliVid、Seoul World Model、Matrix-Game 3.0 等)通过显式 3D 状态、几何视图记忆、分层 latent 或学习式记忆模块对抗遗忘,但普遍依赖昂贵的 curated 长时序数据集与额外训练。
本文的目标是本文目标是在不进行任何 post-training 的前提下,仅仅利用 3D 引擎已经提供的对应关系(correspondences),显著提升 pretrained 自回归视频生成器在长时序流式生成中的重访一致性。具体而言,作者希望:当相机离开某区域并返回(其对应 chunk 已从 clean KV cache 被驱逐)时,重新生成的内容应与之前生成的内容在像素、语义、几何对应三方面都保持一致;同时不损害整体视频质量(VBench-Long 分数不降);且整套机制完全在推理时(inference-time)施加于冻结的 causal student,不引入额外训练数据、不修改模型权重、可与现有训练免缓存管理方案叠加。作者在 TartanGround-Revisit(71 个环)和 TartanAir-Revisit(285 个 clip)上验证,并对所有方法固定同一 base model(Causal Wan-VACE)、同一深度控制、同一 prompt 与随机种子、同一 KV cache 大小,确保比较公平。
与已有工作不同的是,现有长视频记忆方法要么'学习/压缩通用视频历史'(MemLearner、MilliVid、Memorize-and-Generate、MemRoPE),要么维护显式 3D 状态(PERSIST)、几何视图记忆(VMem),均需 curated 数据与额外训练。本文的独特切入角度是:在生成式渲染这一特定设定下,3D 引擎已经免费提供了两类对应关系——时间对应(每段 chunk 带相机位姿)与空间对应(带相机位姿 + 度量深度的逐 token 重投影),与其让模型隐式学记忆,不如直接把这种'已知几何对应'显式注入推理流程。具体地:(1) 时间对应用于检索位姿匹配的历史 chunk,把它们作为 loop-closure memory 重新装回 KV cache;(2) 空间对应用于把当前每个 query token 重投影到检索 chunk,转化为对历史 key 列的注意力偏置。这种'correspondence-guided 而非 learned/compressed'的思路与训练免缓存管理(Infinity-RoPE、Deep Forcing、MemRoPE)形成本质差异——后者只在 cache 里做通用压缩或位置编码调整,并不利用几何对应来选择或引导记忆。
核心方法
方法整体思路先直觉后技术路线。直觉上:既然相机要'回到原处',那'原处'曾经在 KV cache 里留下过干净 latent;既然 3D 引擎能精确告诉我们现在哪一帧对应过去哪一帧的哪一块像素,那就直接把过去那段 latent 请回来,并告诉注意力'该往这块看'。技术路线由两个互补、纯推理时机制构成,作用于冻结的 causal student。第一是'位姿检索的 loop-closure memory'(决定模型能看什么):检测当前相机位姿重访了之前生成的某视角,把对应历史 latent chunk 重新装回 clean KV cache,并把 cache 预算 $M=4F=12$($F=3$ 为每 chunk 隐帧数)划分为 anchor($F$)、retrieved($F$)、recent 窗口($2F$)三个 slot。第二是'几何引导的注意力偏置'(决定模型往哪看):利用已知相机位姿与度量深度,把当前每个 query token 重投影到检索 chunk 的源帧,对该源帧 key 列加一个高斯形状的负 logits 偏置,使 key 越偏离预测对应点被指数级抑制。整套机制有三大设计约束:(i) 只动 logits、绝不 warp/blend cached features;(ii) 偏置只施加于主分支 self-attention 的检索 chunk key 列;(iii) 对应点未定义/越界/被遮挡的 query 行偏置全零,精确退化为普通注意力。这样 832×480 输出在 30×52 token 网格上的每帧 token 都获得几何先验。
核心创新点是把'3D 引擎免费的时空对应'显式转化为两类 KV cache 操作——时间对应→检索历史 chunk 回填 cache,空间对应→检索 key 列上的高斯 logits 偏置。与已有方法的本质区别有三:(1) 对记忆的'选择'用相机几何而非通用压缩。Infinity-RoPE/MemRoPE/Deep Forcing 只调整 RoPE 位置或用 EMA 压缩历史 key,本质上是'被动保留',不知道当前视角对应过去哪一段;本文用位姿距离 $s(j)=\|c_j-c_n\|_2/E+w_v(1-v_j^\top v_n)$ 主动检索最匹配的历史 chunk。(2) '只偏置 logits、不 warp features'。直接 warp/blend 历史特征在 30×52 低分辨率下会因位姿/深度不完美引入模糊与几何误差直接进内容路径;而高斯偏置 $B_s(p,k)=-\|u_k-\hat{u}_s(p)\|_2^2/(2\sigma^2)\le 0$ 乘性地抑制远处 key、保留对应点原权重,让'复制什么'仍由学习到的注意力决定,保持 cached value 锐利。(3) 精确 fallback 保证安全性:对应点未定义、越界、相机后方或 occlusion test(公式 4)失败的 query,偏置行全零,数学上等价于普通注意力,不会损害非重访场景。
方法步骤详情
完整流程分六步。第一步 cache 布局:把 clean-cache 预算 $M=4F=12$ 分成 anchor($F=3$,固定首段,提供全局外观参考)、retrieved($F=3$,位姿检索的历史 chunk)、recent window($2F=6$,最新 chunk 保局部时序连续);被驱逐的 clean latent 与位姿在 cache 外保留以便任意历史 chunk 可被检索。第二步 loop-closure 检测:对当前 chunk $n$ 与每个历史 chunk $j$,计算位姿距离评分 $s(j)=\|c_j-c_n\|_2/E+w_v(1-v_j^\top v_n)$($w_v=0.5$,$E$ 为场景尺度归一化),只考虑满足三道闸的可行集 $A_n$:归一化返回距离 $\le\tau_c$、视角方向夹角 $\le\tau_v$、时间间隔 $\ge\Delta$ chunks;从 $A_n$ 选 $s(j)$ 最小的 chunk 回填;若 $A_n$ 为空,retrieved slot 退化为 recent 窗口。三道闸功能上必要:距离与角度约束保证只在真正重访时注入长程记忆,时间间隔防止紧邻的 recent chunk 被平凡选为伪环闭合。第三步 cache packing:检索 chunk 按 RoPE 位置紧贴 recent 窗口打包(而非按其原始时间索引),保证 cache 位置在无界流式下不发散;同时把对应位置的 VACE control cache slice 复制到同一 packed 位置,实现 main branch 与 control branch 对齐。第四步重投影 warp:对当前目标帧 $t$ 上的 query token $p$,用其度量深度 $z_p=D_t(u_p)$ unproject 到 3D $X_t=z_p K_t^{-1}\tilde{u}_p$,经相对位姿变到源相机 $X_s=R_s^\top R_t X_t+c_t-c_s$,再投影 $\hat{u}_s(p)=\pi(K_s X_s)$ 得源帧预测对应点(公式 3);当相机中心固定时深度在投影中抵消,退化为旋转-缩放 homography。第五步 occlusion-aware 可见性:仅当源相机深度测试 $[X_s]_z\le(1+\epsilon)D_s(\hat{u}_s(p))$(公式 4)通过才接受对应;否则该 query 不施加偏置,避免 disocclusion 时把背景 token 错导到遮挡它的前景、产生重复结构。第六步注意力偏置注入:对每个通过测试的 query $p$ 与检索源帧 key $k$,logits 改为 $A_{pk}=q_p^\top k_k/\sqrt{d}+\lambda B_s(p,k)$(公式 2),$B_s(p,k)=-\|u_k-\hat{u}_s(p)\|_2^2/(2\sigma^2)$;偏置在主分支 self-attention 的所有 head、仅对检索 chunk 的 key 列施加,其余 key 列(current/recent/anchor 与整个 control branch)不变,使短程时序注意力不受影响。
技术新颖性
技术新颖性可归为五点。第一,'correspondence-guided memory' 范式首次把 SLAM 的 loop closure 概念与视频扩散的 KV cache 管理结合,且完全训练免——不依赖任何 curated 长 horizon 数据,不动模型权重,与既有训练免缓存方案(Infinity-RoPE、Deep Forcing、MemRoPE)在同一冻结 student 上叠加即用。第二,'logits-only' 设计是关键洞察:作者明确论证 warp/blend 特征在 30×52 低分辨率 token 网格下会因不完美位姿/深度引入模糊与几何误差直接进内容路径,而把对应关系转化为'乘性高斯抑制掩码'$\exp(\lambda B_s)\in(0,1]$ 后,对应点保持原权重、远处 key 指数衰减,'看哪里'被几何约束而'复制什么'仍交给学习注意力,保持 cached value 锐利。第三,cache packing 用相邻 RoPE 位置而非原始时间索引,巧妙解决'无界流式下位置无界'问题,使 cache 始终落在固定位置范围。第四,cross-branch cache 对齐:因 Causal Wan-VACE 对 main branch 与 VACE control branch 各维护独立 KV cache,方法把同一检索位置的 main cache slice 与 control cache slice 都复制好,保证检索 chunk 在两个分支同时可用——这点在以 Wan-VACE 为 backbone 的复现中容易被忽略。第五,occlusion-aware visibility test(公式 4)显式拒绝被遮挡对应,避免 disocclusion 时把新暴露背景 token 错导到曾遮它的前景、产生重复结构——这是简单重投影方案常忽略的 failure case。
实验结果
实验在两个自建 benchmark 上对比 5 种方法(均用同一 Causal Wan-VACE base、同一深度控制、prompt、随机种子、KV cache 大小)。第一,TartanGround-Revisit(71 个环,从 TartanGround 导航轨迹挖掘:返回距离 2m 内、夹角 45° 内、间隔≥100 帧且 excursion≥5m):本文 Keypoint matches 49.08,相比 Self-Forcing 23.26 几乎翻倍,相比最强训练免 baseline Deep Forcing 43.90 提升 +5.18;DINOv2 相似度 0.6904(vs Self-Forcing 0.6087、Deep Forcing 0.6848);L1 误差 0.1052(全场最低);同时 VBench-Long mean 0.7420 为全场最高(subject consistency 0.8592、background 0.9428、motion smoothness 0.9754、aesthetic 0.4740、imaging 0.4586,省去 dynamic degree 因所有方法≈1.0),证明一致性提升不以视觉保真为代价。第二,TartanAir-Revisit(285 个 clip、72 个环境,分 rotation excursion yaw 90–180° 与 zoom excursion FOV 90°→35° 两模式):本文 Keypoint 284.92(vs Self-Forcing 195.65、Deep Forcing 267.87),DINO 0.8407,L1 0.0654,VBench-Long mean 0.7754,同样全列领先,排序与 TartanGround 一致。值得注意的是 Infinity-RoPE 与 MemRoPE 在两 benchmark 上 VBench-Long 略低于 Self-Forcing(0.7180/0.7161 vs 0.7241),而本文是唯一在一致性与质量上同时最优的方法。第三,消融(Table 3)逐组件累加:TartanGround 上 Self-Forcing 23.26 → +AS(attention sink) 39.40(+16.14,稳定全局外观贡献最大)→ +PR(pose retrieval) 47.84(+8.44,重访特定主导因子)→ +GB(geometry bias) 49.08(+1.24,精修 keypoint 匹配位置);TartanAir 同序 195.65→257.05→283.30→284.92。证明三组件互补,PR 是 revisit 核心、GB 主要提升 matcher-based 几何定位。第四,与 in-house 游戏引擎集成(图 6):直接消费 engine streaming 的位姿与度量深度,在 castle 与 untextured geometric primitive 两类 loop-closure 路径上,相比 baseline 重生成变更结构(如多出 dome),本文重渲染相同结构。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| TartanGround-Revisit 重访一致性(geometric correspondence) | Keypoint matches(SuperPoint+LightGlue,置信度>0.5) | 49.08 | Self-Forcing 23.26,Infinity-RoPE 26.89,MemRoPE 27.07,Deep Forcing 43.90 | 相比 Self-Forcing 翻倍(+25.82),相比最强训练免 baseline Deep Forcing +5.18 |
| TartanGround-Revisit 重访一致性(语义) | DINOv2 余弦相似度 / L1 像素误差 | 0.6904 / 0.1052 | Self-Forcing 0.6087 / 0.1148,Deep Forcing 0.6848 / 0.1063 | DINO +0.0817 vs Self-Forcing、+0.0056 vs Deep Forcing;L1 全场最低 |
| TartanGround-Revisit 整体视频质量 | VBench-Long mean(5 维,省去 dynamic degree) | 0.7420 | Self-Forcing 0.7241,Deep Forcing 0.7414,Infinity-RoPE 0.7180,MemRoPE 0.7161 | 全场最高,证明一致性提升不损害视觉保真;其他训练免方案 VBench 反低于 Self-Forcing |
| TartanAir-Revisit 重访一致性 | Keypoint matches / DINO / L1 | 284.92 / 0.8407 / 0.0654 | Self-Forcing 195.65 / 0.7623 / 0.0862,Deep Forcing 267.87 / 0.8291 / 0.0664 | Keypoint +89.27 vs Self-Forcing、+17.05 vs Deep Forcing;VBench-Long mean 0.7754 同为全场最高 |
| 组件消融(TartanGround / TartanAir Keypoint) | 逐组件累加 Keypoint matches | SF+AS+PR+GB: 49.08 / 284.92 | SF: 23.26 / 195.65;+AS: 39.40 / 257.05;+PR: 47.84 / 283.30 | AS 贡献最大全局增益(+16.14/+61.40),PR 是重访特定主导因子(+8.44/+26.25),GB 精修位置(+1.24/+1.62) |
局限与改进
作者明确承认的主要局限是依赖 engine-supplied 相机位姿与度量深度——这把方法限制在生成式渲染设定(3D 引擎提供 annotation)下,难以直接迁移到普通真实视频生成。作者指出可用在线重建方法 VGGT、VGGT-Ω 估计几何来扩展到真实视频,但会引入对应噪声;好在本文 soft attention bias 被设计为对此噪声有一定容忍度。我的额外观察:(1) cache 只设单一 retrieved slot($F=3$ 帧),无法同时应对多个并发重访或更长的多视角记忆需求;(2) 三道检索闸($\tau_c,\tau_v,\Delta$)与高斯带宽 $\sigma$、强度 $\lambda$、occlusion 容差 $\epsilon$ 均为启发式阈值,论文未给完整数值与敏感性分析,跨场景(不同 scene scale)泛化存疑;(3) 空间偏置只在 main branch 施加于检索 chunk 的 key 列,对 control branch 与 current/recent/anchor key 完全不触碰,意味着 GB 的有效作用范围受限于单 chunk;(4) benchmark 虽基于公开 TartanAir/TartanGround,但 TartanGround 场景不完全公开、TartanAir-Revisit 是作者自己 script 渲染的(原始场景不公开、无人机轨迹抖动不适合视频生成),复现 benchmark 本身有门槛;(5) 只在一个 base model(Wan-VACE)上验证,方法对其他自回归视频 DiT 的普适性未证。
独立分析的弱点
独立分析有五点弱点。第一,单一 retrieved slot 的记忆容量受限:$M=12$ 中只留 3 帧给 retrieved,当相机在复杂场景频繁重访多个位置时只能记最近一个,改进方向是引入多 slot 检索或按位姿聚类维护一个小型 loop-closure memory bank,并设计替换策略(如 LRU-by-pose-distance)。第二,检索是纯几何位姿匹配、不含语义:若两处位姿相近但内容语义不同(如相似走廊),可能误检索;改进方向是 pose + CLIP/DINO 语义相似度的混合检索打分。第三,阈值泛化性存疑:$\tau_c,\tau_v,\Delta,\sigma,\lambda,\epsilon$ 均依赖场景 scale 与 token 网格分辨率,论文未做敏感性曲线;改进方向是把 $E$ 归一化、$\sigma$ 自适应于深度分布、$\lambda$ 用 confidence-weighted,或用学习的 temperature 替代固定 $\sigma$。第四,GB 只在 retrieved chunk 施加且只对 main branch,对 recent window 内的小范围重访(视角变化小但已驱逐关键帧)不生效;改进方向是把几何偏置扩展到 recent window,或对 current chunk 内部也加轻量 self-correspondence prior。第五,只测 Wan-VACE 一个 backbone:方法对其他自回归视频 DiT(Sora 类架构)的兼容性、对非深度条件(segmentation/edge 控制)的迁移均未验证;改进方向是补充第二个 backbone 与第二种控制信号的实验。
未来方向
作者第 6 节明确提出的方向是用在线几何估计(VGGT、VGGT-Ω)替代 engine-supplied 位姿与深度,把方法扩展到真实视频——本文 soft attention bias 对噪声的容忍度正是为此设计。基于成果可延伸的方向有五:(1) 多 chunk/多视角 loop-closure memory bank:从单 slot 扩展为按位姿聚类的 memory bank,支持同时重访多位置,类似 VMem 的 surfel-indexed view memory 但保持 training-free;(2) 与学习式记忆方法融合:把 correspondence-guided retrieval 作为初始化或蒸馏信号,训练一个轻量 memory-query 模块(如 MemLearner),既保留几何先验又学到语义检索;(3) 动态物体处理:当前几何重投影假设静态场景,对动态物体(行人、车辆)的对应会失效,可结合光流或 instance mask 对动态区域关闭几何偏置;(4) 从 2D 重投影升级到 3D Gaussian/NeRF 式显式 memory:把 retrieved chunk 提升为持久 3D 表征,使重访从'看回 latent'升级为'看回真实 3D',进一步提升一致性上限;(5) 实时性优化:当前每帧每 token 都做重投影 + occlusion test,对 832×480 的 30×52 网格计算量不小,可做 token-sparse 偏置(只对前景/高深度梯度区域施加)以适配实时游戏引擎。
复现评估
复现评估分四方面。开源情况:论文提供了项目主页 https://wenchao-m.github.io/ClosetheLoop.github.io/,但正文未明确声明代码与 checkpoint 是否开源;作者来自 Roblox,工业背景可能影响代码 release,以论文时间为准需自行实现核心机制(KV cache 管理、位姿检索、重投影偏置注入),好在 Wan-VACE 已开源可作 base。数据可获得性:TartanAir 公开但原始场景不公开、无人机轨迹抖动不适合视频生成,TartanAir-Revisit 的 285 个 clip 是作者从 360° panorama 自己 script 渲染的(rotation excursion yaw 90–180°、zoom excursion FOV 90°→35°),benchmark 本身复现需联系作者或重写 scripting;TartanGround 场景部分不公开,71 个 loop 的 mining 规则(返回 2m/45°、间隔≥100 帧、excursion≥5m)描述清楚可复刻 mining 但需 TartanGround 访问权。算力需求:方法本身 training-free,推理时只需冻结的 Causal Wan-VACE,但 832×480 × 长 horizon 自回归视频生成仍需单卡 A100/H100 级别显存;重投影 + occlusion test 在 CPU/GPU 上额外开销可控。复现难度:核心算法(重投影公式 3、occlusion test 公式 4、高斯偏置公式 2)数学清晰、公式完备,关键是工程上要修改 Wan-VACE DiT 的 self-attention 实现以在特定 key 列注入 logits 偏置,并维护 main branch 与 VACE control branch 两套独立 KV cache 的同步检索——这是复现的主要工程门槛。若干超参($\tau_c,\tau_v,\Delta,\sigma,\lambda,\epsilon$)论文未全给数值,需自行调参。
论文图表
展示一组重访 clip:conditioned on depth streamed from a 3D engine,自回归视频生成器在第一次访问(蓝色)渲染某视角,并在相机返回时(红色)再次渲染——返回距离远超 bounded KV cache horizon。本文方法在返回时重新渲染相同结构(Reference/Depth/Self-Forcing/Ours 四列对比)。
这张 teaser 图直观定义了'重访一致性'问题——同一地点的两次访问必须在远超 KV cache 窗口的间隔后保持 appearance 一致,是理解整个 motivation 的入口。
对比三种 KV cache 策略:(a) 朴素滑动窗口会遗忘重访 chunk;(b) attention sink + sliding window 保留首段但首段不对应重访视角;(c) 本文检索位姿匹配的历史 chunk 作为 cache 中的 anchor,并用空间 correspondence-guided attention bias 把当前 token 链到检索 chunk 对应区域。三种策略都用图示标出 Forgotten / Sink / Sliding Window / Current / Camera Revisit Pair。
这张图把三种缓存策略的差异一次说清,是理解方法'为何需要主动检索 + 几何引导'而非通用 sink/sliding window 的核心论据。