资产锚定的生成式世界

在冻结的 SolarWM-H3-33B 上不训练、只注入“记忆证据”,让镜头转回来时场景和物体保持一致

2026-10-07 · 8 × AMD Instinct MI300X,ROCm 7.14 · 视频生成模型源码未改动

新:让 GPT-6 Astra 写 Blender 脚本,把参考帧搭成可交互的 3D 房间,并当作证据接入 H3 →
253条生成视频(237 帧,1344×768)
24个随机种子,逐种子配对比较
53个从生成画面里抬升出的 3D 候选物体
5个通过准入(物理 + 闭合度检查)

结论速览

问题与方法

SolarWM-H3 逐段(每段 17 帧)自回归生成视频,注意力只看前 5 段,约 85 帧。镜头转走一百多帧再回来时,第一次看到的内容早已不在窗口里,模型只能重新编:门变了、绿植换了位置、桌子换了样子。

这里不改模型、不训练,只往它的滑动窗口里放入两种干净的 K/V 证据:

历史证据(快)

每生成一段就存档它的原始 K/V。新的一段如果和某个已经滑出窗口的段视线方向相差 ≤ 20°,就把那段换进窗口里最老的两个槽位,并用它自己的相机做位置编码。

逐段生成→存档 K/V→视线相近时换回窗口

资产证据(慢)

慢速环从第一次访问的画面里找物体并抬升成 3D 资产。之后每一段,都在当前相机下渲染这些资产,用 H3 自己的 VAE 编码、做一次干净前向得到 K/V,只取资产覆盖的 token 追加进注意力。编码时这些 token 只互相看,不看渲染用的黑色背景。

SAM 3 找物体→DA3 深度→Hunyuan3D 网格→物理 + 闭合度准入→渲染 → VAE → K/V

测试轨迹:第一次访问在帧 44–63(镜头左转 40°);镜头转回正前方,再回来做第二次访问。同位姿回访在帧 180–199 回到逐帧相同的位姿;换朝向回访在帧 188–207 换成左转 55°、下俯 12° 的新视角。

五个案例

每段视频约 15 秒:前 10 秒是完整生成过程,随后 1/3 速慢放并定格第二次访问。左上角是第一次访问时的参考画面;描边是慢速环抬升出的物体应在的位置(绿:通过准入,黄:未通过)。案例经过挑选:两个成功、一个组合、两个失败。

案例 1 · 资产证据:大角度转身后,物体回到原位

种子 7 · 换朝向回访成功

第二次访问换成了新视角。基线和历史证据里,绿植被画到了描边之外,花瓶不见了;资产证据、历史 + 资产把它们放回原位。

物体存在 IoU:基线 0.04历史 0.01资产 0.81历史 + 资产 0.39

案例 2 · 历史证据:回到同一位姿时,场景复原

种子 42 · 同位姿回访成功

116 帧后相机回到第一次访问的同一位姿。基线把门口重画成镜子、书桌和机器人;历史证据几乎原样复现第一次看到的画面。这个种子没有候选物体,所以没有资产组。

左半幅 PSNR:基线 7.0 dB → 历史 16.5 dB整帧 DINO:0.48 → 0.76

案例 3 · 历史 + 资产:场景和物体一起保住

种子 14 · 换朝向回访组合

描边是第一次访问里的绿植、球形台灯和书桌。基线里绿植跑到描边右侧、台灯不见了;只用历史证据,台灯仍没回来;资产证据把绿植和台灯放回原位,但书桌前多出一块白色杂物;历史 + 资产时三样都在原位,画面也最干净。

物体存在 IoU:基线 0.08历史 0.08资产 0.40历史 + 资产 0.43

案例 4 · 白膜:被模型当成外观照抄

种子 7 · 换朝向回访失败模式

同一个绿植和花瓶:彩色资产让模型画出真实的绿植;白膜资产只有灰白几何,模型就照着画出一株白色雕塑。training-free 注入时,证据的外观会被直接沿用。

物体存在 IoU:基线 0.04彩色资产 0.81白膜 0.43

案例 5 · 失败:坏网格被画了出来

种子 1 · 换朝向回访失败

慢速环把第一次访问里的大绿植抬升成了错误的网格,准入已经拒绝了它。如果仍把它当证据注入,前景会出现一大团深色叶片。存在 IoU 指标升了,画面却明显不对——这正是准入要拦下的情况。

物体存在 IoU:基线 0.04 → 资产 0.31(指标升了,画面不对)

定量结果

所有组在第一次接收证据之前与基线逐像素相同,因此按种子(物体级按物体)配对,用双侧 Wilcoxon 符号秩检验。物体级数字来自 48 个未通过准入的候选,5 个入选物体方向一致。

物体存在 IoU(第二次访问时,SAM 3 能否在应在的位置检测到同类物体;越高越好)

基线
0.156
0.080
历史证据
0.192
0.072
资产证据
0.341
0.297
白膜资产
0.221
0.264
历史 + 资产
0.356
0.268
同位姿回访换朝向回访

物体区域 DINO 相似度(第二次访问与第一次访问的剪影内外观;越高越好)

基线
0.511
0.492
历史证据
0.573
0.484
资产证据
0.478
0.408
白膜资产
0.363
0.348
历史 + 资产
0.509
0.427
同位姿回访换朝向回访

关键对比的显著性

对比指标变化改善p
历史证据 vs 基线同位姿:整帧 DINO0.650 → 0.74521/24 种子< 0.001
历史证据 vs 基线同位姿:左半幅 DINO0.682 → 0.82421/24 种子< 0.001
历史证据 vs 基线换朝向:物体存在 IoU0.080 → 0.0729/48 物体0.025
资产证据 vs 基线换朝向:物体存在 IoU0.080 → 0.29730/48 物体< 0.001
资产证据 vs 基线同位姿:物体存在 IoU0.156 → 0.34136/48 物体< 0.001
资产证据 vs 基线换朝向:物体区域 DINO0.492 → 0.40817/48 物体0.008
历史 + 资产 vs 历史换朝向:物体存在 IoU0.072 → 0.26830/48 物体< 0.001
历史 + 资产 vs 历史同位姿:整帧 LPIPS(越低越好)0.601 → 0.56116/20 种子0.008
白膜 vs 彩色资产同位姿:左半幅 DINO0.647 → 0.4502/20 种子< 0.001

准入分数能预测证据有没有用

准入分数 c = 闭合度 × 持续度0.5 × 物理系数(不稳时为 0.5),c ≥ 0.5 且持续度 ≥ 0.6 才提交。这里在不经准入、全部候选都注入的组里,看每个物体的 c 和它的证据效果。

回访物体指标Spearman ρpc 高于中位数的平均变化c 低于中位数的平均变化
同位姿存在 IoU+0.310.024+0.278+0.109
同位姿物体区域 DINO+0.290.036+0.045−0.111
换朝向存在 IoU−0.020.90+0.230+0.194

同位姿回访上,分数低的候选会把外观带偏;换朝向时分数没有区分度,可能是因为闭合度只在第一次访问的视角上算,反映不了网格侧面和背面的质量。

更多种子的对比图

换朝向回访各组对比
换朝向回访:5 个种子(2 个成功、1 个“回来了但外观变了”、2 个失败)。第一列是第一次访问,其余是第二次访问(帧 198)。点击看大图。
同位姿回访各组对比
同位姿回访:第一列是第一次访问(帧 54),其余是第二次访问的同一位姿(帧 190)。

局限与下一步

  1. 抬升质量是瓶颈。单视角 Hunyuan3D 网格的底面常常只是一个点,或者本身歪了 13–39°,过不了物理检查;外观来自顶点色,换视角时会走样。下一步换成多帧重建(MV-SAM3D)并烘焙纹理。
  2. 桌面上的物体被误判。支撑面目前一律按地面高度估计,桌上的台灯、小绿植一放就倒。应改为物体正下方的表面。
  3. 白膜需要训练或别的通道。想让资产只提供几何,需要训练模型读灰度渲染,或改成深度、法向这类非 RGB 条件。
  4. 按准入分数调证据权重。让低分资产只起弱作用,减少坏网格被照着画的伪影。
  5. 泛化。目前所有结论来自一个室内场景(robot_bedroom)和纯旋转相机轨迹,需要更多场景和带平移的轨迹。

实验设置