资产锚定的生成式世界
在冻结的 SolarWM-H3-33B 上不训练、只注入“记忆证据”,让镜头转回来时场景和物体保持一致
新:让 GPT-6 Astra 写 Blender 脚本,把参考帧搭成可交互的 3D 房间,并当作证据接入 H3 → 新:能改吗?能动吗?场景编辑用于视频编辑,以及动态内容建模 → 新:深度和尺度准不准?H3 视频实际相当于约 60° 的相机,不是名义上的 89.4° → 新:白膜能当条件吗?原版 H3、LingBot + World in World、SolarWM-H3 和两个现成控制模型的 training-free 对比 →结论速览
- 历史证据稳住“回到原位”的整个场景。镜头 116 帧后回到同一位姿时,整帧 DINO 相似度 0.650 → 0.745,24 个种子中 21 个改善(p < 0.001)。但换了视角就失效,物体反而更容易消失。
- 资产证据让物体在大角度转身后回到原位。换朝向回访时,物体存在 IoU 0.080 → 0.297(48 个物体中 30 个改善,p < 0.001)。代价是外观偏向抬升出的网格,物体区域 DINO 0.492 → 0.408(p = 0.008)。
- 两者互补。历史 + 资产相比只用历史证据,换朝向时物体存在 IoU 0.072 → 0.268(p < 0.001),整帧 LPIPS 也更低。
- 白膜(不上色的资产)在 training-free 设定下不成立。模型把灰白几何当外观照抄,画出白色“雕塑”;相对彩色资产,左半幅 DINO 0.647 → 0.450(p < 0.001)。
- 准入分数有用,但卡在抬升质量。分数越高的物体证据越有用(ρ = +0.31,p = 0.024);53 个候选只有 5 个通过,主要是单视角网格过不了物理检查。
问题与方法
SolarWM-H3 逐段(每段 17 帧)自回归生成视频,注意力只看前 5 段,约 85 帧。镜头转走一百多帧再回来时,第一次看到的内容早已不在窗口里,模型只能重新编:门变了、绿植换了位置、桌子换了样子。
这里不改模型、不训练,只往它的滑动窗口里放入两种干净的 K/V 证据:
历史证据(快)
每生成一段就存档它的原始 K/V。新的一段如果和某个已经滑出窗口的段视线方向相差 ≤ 20°,就把那段换进窗口里最老的两个槽位,并用它自己的相机做位置编码。
资产证据(慢)
慢速环从第一次访问的画面里找物体并抬升成 3D 资产。之后每一段,都在当前相机下渲染这些资产,用 H3 自己的 VAE 编码、做一次干净前向得到 K/V,只取资产覆盖的 token 追加进注意力。编码时这些 token 只互相看,不看渲染用的黑色背景。
测试轨迹:第一次访问在帧 44–63(镜头左转 40°);镜头转回正前方,再回来做第二次访问。同位姿回访在帧 180–199 回到逐帧相同的位姿;换朝向回访在帧 188–207 换成左转 55°、下俯 12° 的新视角。
五个案例
每段视频约 15 秒:前 10 秒是完整生成过程,随后 1/3 速慢放并定格第二次访问。左上角是第一次访问时的参考画面;描边是慢速环抬升出的物体应在的位置(绿:通过准入,黄:未通过)。案例经过挑选:两个成功、一个组合、两个失败。
案例 1 · 资产证据:大角度转身后,物体回到原位
种子 7 · 换朝向回访成功第二次访问换成了新视角。基线和历史证据里,绿植被画到了描边之外,花瓶不见了;资产证据、历史 + 资产把它们放回原位。
案例 2 · 历史证据:回到同一位姿时,场景复原
种子 42 · 同位姿回访成功116 帧后相机回到第一次访问的同一位姿。基线把门口重画成镜子、书桌和机器人;历史证据几乎原样复现第一次看到的画面。这个种子没有候选物体,所以没有资产组。
案例 3 · 历史 + 资产:场景和物体一起保住
种子 14 · 换朝向回访组合描边是第一次访问里的绿植、球形台灯和书桌。基线里绿植跑到描边右侧、台灯不见了;只用历史证据,台灯仍没回来;资产证据把绿植和台灯放回原位,但书桌前多出一块白色杂物;历史 + 资产时三样都在原位,画面也最干净。
案例 4 · 白膜:被模型当成外观照抄
种子 7 · 换朝向回访失败模式同一个绿植和花瓶:彩色资产让模型画出真实的绿植;白膜资产只有灰白几何,模型就照着画出一株白色雕塑。training-free 注入时,证据的外观会被直接沿用。
案例 5 · 失败:坏网格被画了出来
种子 1 · 换朝向回访失败慢速环把第一次访问里的大绿植抬升成了错误的网格,准入已经拒绝了它。如果仍把它当证据注入,前景会出现一大团深色叶片。存在 IoU 指标升了,画面却明显不对——这正是准入要拦下的情况。
定量结果
所有组在第一次接收证据之前与基线逐像素相同,因此按种子(物体级按物体)配对,用双侧 Wilcoxon 符号秩检验。物体级数字来自 48 个未通过准入的候选,5 个入选物体方向一致。
物体存在 IoU(第二次访问时,SAM 3 能否在应在的位置检测到同类物体;越高越好)
物体区域 DINO 相似度(第二次访问与第一次访问的剪影内外观;越高越好)
关键对比的显著性
| 对比 | 指标 | 变化 | 改善 | p |
|---|---|---|---|---|
| 历史证据 vs 基线 | 同位姿:整帧 DINO | 0.650 → 0.745 | 21/24 种子 | < 0.001 |
| 历史证据 vs 基线 | 同位姿:左半幅 DINO | 0.682 → 0.824 | 21/24 种子 | < 0.001 |
| 历史证据 vs 基线 | 换朝向:物体存在 IoU | 0.080 → 0.072 | 9/48 物体 | 0.025 |
| 资产证据 vs 基线 | 换朝向:物体存在 IoU | 0.080 → 0.297 | 30/48 物体 | < 0.001 |
| 资产证据 vs 基线 | 同位姿:物体存在 IoU | 0.156 → 0.341 | 36/48 物体 | < 0.001 |
| 资产证据 vs 基线 | 换朝向:物体区域 DINO | 0.492 → 0.408 | 17/48 物体 | 0.008 |
| 历史 + 资产 vs 历史 | 换朝向:物体存在 IoU | 0.072 → 0.268 | 30/48 物体 | < 0.001 |
| 历史 + 资产 vs 历史 | 同位姿:整帧 LPIPS(越低越好) | 0.601 → 0.561 | 16/20 种子 | 0.008 |
| 白膜 vs 彩色资产 | 同位姿:左半幅 DINO | 0.647 → 0.450 | 2/20 种子 | < 0.001 |
准入分数能预测证据有没有用
准入分数 c = 闭合度 × 持续度0.5 × 物理系数(不稳时为 0.5),c ≥ 0.5 且持续度 ≥ 0.6 才提交。这里在不经准入、全部候选都注入的组里,看每个物体的 c 和它的证据效果。
| 回访 | 物体指标 | Spearman ρ | p | c 高于中位数的平均变化 | c 低于中位数的平均变化 |
|---|---|---|---|---|---|
| 同位姿 | 存在 IoU | +0.31 | 0.024 | +0.278 | +0.109 |
| 同位姿 | 物体区域 DINO | +0.29 | 0.036 | +0.045 | −0.111 |
| 换朝向 | 存在 IoU | −0.02 | 0.90 | +0.230 | +0.194 |
同位姿回访上,分数低的候选会把外观带偏;换朝向时分数没有区分度,可能是因为闭合度只在第一次访问的视角上算,反映不了网格侧面和背面的质量。
更多种子的对比图
局限与下一步
- 抬升质量是瓶颈。单视角 Hunyuan3D 网格的底面常常只是一个点,或者本身歪了 13–39°,过不了物理检查;外观来自顶点色,换视角时会走样。下一步换成多帧重建(MV-SAM3D)并烘焙纹理。
- 桌面上的物体被误判。支撑面目前一律按地面高度估计,桌上的台灯、小绿植一放就倒。应改为物体正下方的表面。
- 白膜需要训练或别的通道。想让资产只提供几何,需要训练模型读灰度渲染,或改成深度、法向这类非 RGB 条件。
- 按准入分数调证据权重。让低分资产只起弱作用,减少坏网格被照着画的伪影。
- 泛化。目前所有结论来自一个室内场景(robot_bedroom)和纯旋转相机轨迹,需要更多场景和带平移的轨迹。
实验设置
- 模型:SolarWM-H3-33B,Stage2(SGF,4 步采样,窗口 6 段,序列并行 8 卡)。237 帧生成约 44 秒,单卡显存峰值 80.8 GiB。证据注入只替换注意力的 rollout 分支和学生网络前向,首次接收证据前输出与基线逐像素相同。
- 资产流水线:SAM 3(按类别找实例并跨帧关联)、Depth-Anything-3(米制深度)、Hunyuan3D-2.1(单视角形状)、PyBullet(静置 1 秒,位移 > 5% 或转角 > 10° 判为不稳)。
- 组别:基线、历史证据、资产证据、白膜资产、历史 + 资产;资产分“通过准入”和“全部候选”两套世界。全部候选组用于 20 个有候选的种子,入选组用于 5 个有入选资产的种子。
- 场景级指标:第二次与第一次访问的 DINOv2 余弦相似度、LPIPS、PSNR,分整帧和左半幅(摇镜露出的生成区域)。
- 物体级指标:按候选在世界中的位置投影出剪影,取 3 对帧:存在 IoU 与剪影内 DINO 相似度。