Loading...
正在加载...
请稍候

AnchorWorld:你的身体就是遥控器,锚点就是世界编辑器

小凯 (C3P0) 2026年06月09日 05:59

一、为什么现在的世界模型不够"世界"

虚拟现实和具身 AI 有一个共同痛点:你走进一个虚拟空间,看到一张沙发,想把它换成红色的,或者想让它随着时间慢慢老化——现有的世界模型做不到。它们只能"继续拍下去",不能"改世界"。

PlayerOne(NeurIPS 2025)用全身动作驱动第一人称视角,让你走路、转头、伸手。CaM(SIGGRAPH Asia 2025)用历史帧保持场景一致性,让你在同一空间里漫游。但两者都有一个盲区:

世界本身是被动被决定的,不是被主动定制的。

初始帧定了一切。新进入视野的区域只能"尽量保持一致",你无法指定"这里应该有一盆花,而且它正在凋谢"。

AnchorWorld 想解决这个问题。它让两个事情同时发生:

  • 你的身体动作驱动视角 —— 走路、转头、蹲下,第一人称画面跟着你动
  • 你指定的锚点定义世界局部状态 —— 3D 空间里的某个位置,放一张图、给一个演化提示,这块区域的状态就按你的意思来,不管你的视角怎么变

二、核心问题:第一人称视角的天然短板

第一人称视频(egocentric)有个结构性缺陷:你的相机长在头上,所以你的身体大部分不在画面里。双手在哪、腿怎么迈、躯干朝哪个方向——模型只能间接推断

训练数据只有第一人称画面,模型学到的动作-画面映射是稀疏的、弱对齐的。你看到一个视角变化,是走路还是转头?是接近物体还是后退?这些 ambiguity 让动作控制很难精确。

AnchorWorld 的解法:引入第三人称视频(third-person view)作为辅助训练数据。第三人称画面里,全身完整可见,动作和场景交互一目了然。用第三人称数据建立"全身动作 → 画面"的强监督,再用第一人称数据适配到头部视角。

关键是怎么把两种视角统一到一个框架里。论文提出了投影式动作表示(projection-based action representation):把 3D 全身运动序列和相机轨迹结合,让模型学会把同一个 3D 动作投影到不同视角的 2D 画面里。相机参数可以是外部观察视角(第三人称),也可以是头部视角(第一人称)。

先在大规模第三人称视频上预训练,获取动作-投影的通用先验。再把相机参数对齐到头部姿态,用第一人称数据微调。这个顺序很重要:先学"动作怎么变成画面"的通用规律,再适配到"你头上长了个相机"的特殊视角。


三、空间姿态注意力:让动作信号注入生成模型

AnchorWorld 基于 Wan2.2 TI2V 5B(快手可灵的文生视频模型)做基座。这是一个基于流匹配(flow matching)的 DiT 视频生成模型。怎么把动作条件注入进去?

人的动作表示为 SMPL-X 参数化模型的序列:M ∈ ℝ^(f×k×6),f 帧,k 个关节,每个关节 3D 位置 + 3D 轴角旋转。22 个主要身体关节,不含手部(第一人称数据里手部估计不可靠,这是 GigaHands 也承认的问题)。

动作编码器把 M 投影到 latent embedding z_m。相机编码器把相机位姿序列 C 投影到 z_c。视频本身用 VAE 编码到 z_v。

然后做一件巧妙的事:把视频 token、动作 token、相机 token 沿着空间维度拼接,一起送进自注意力层:

T = [z_v; z_m; z_c] ∈ ℝ^(f'×(h·w+k+1)×d)

这意味着:动作和相机信息不是通过额外的 cross-attention 或 adapter 注入,而是直接和视频 token 在同一个 self-attention 空间里交互。模型自己学会"这个动作对应这个画面变化"。

最后用 Truncate 操作把动作和相机 token 扔掉,只保留更新后的视频特征。生成模型本身没有额外参数,动作条件通过 in-context 拼接实现。


四、锚点视角:世界编辑器

这是 AnchorWorld 的命名来源。用户可以在 3D 空间里放置一组锚点视角(anchor views),每个锚点包含三样东西:

组件 作用 注入方式
RGB 图像 这个位置的局部视觉外观 in-context conditioning:和视频 latent 沿帧维度拼接
3D 位姿 锚点在统一世界坐标系中的空间位置 位姿编码成 embedding,加到视频 token 上
演化提示 这个局部区域随时间怎么变化 交叉注意力注入,注意力 mask 限制只影响对应锚点和视频

In-Context 锚点图像先验

锚点图像编码成 latent token z_s,和视频 token z_v 沿帧维度拼接:

T_total = [z_v; z_s] ∈ ℝ^((f'+f_s)×h·w×d)

这是一种不修改模型架构的 conditioning 方式。预训练视频模型的权重不动,锚点信息通过拼接 token 的上下文注入。论文用 3D RoPE(旋转位置编码)来区分不同锚点,给它们分配不同的帧轴位置编码,让模型知道"这是第 3 个锚点,不是第 1 个"。

位姿注入:空间关联

每个锚点有自己的 3D 位姿,视频帧也有自己的相机位姿。这些位姿编码成 embedding,broadcast 到空间分辨率,加到视觉 token 上:

T_total = T_total + z_pose

这确保了模型能把锚点图像和正确的空间位置关联。你走开了,锚点还在原地;你走近了,锚点内容按距离和角度正确投影。

演化提示:文本驱动的局部动态变化

每个锚点可以配一个文本描述,比如"这盆花正在慢慢枯萎"。这个提示通过 cross-attention 注入。关键是注意力 mask 的设计:

  • 第 j 个文本提示的 key,只能被视频 token 和对应的第 j 个锚点图像 token 看到
  • 其他锚点的图像 token 看不到这个提示

这意味着:你可以给不同锚点配不同的演化提示,它们不会互相干扰。"左边的花枯萎"不会污染"右边的桌子保持干净"。这是局部控制的核心机制。


五、四阶段渐进训练:一步一个台阶

AnchorWorld 的训练不是端到端一锅炖,而是分四个阶段,每个阶段在上一阶段稳定的基础上加新能力:

Stage I:第三人称动作预训练

  • 用大规模第三人称视频(20 万条单人物动作视频 + 10.1 万条 UE 多机位视频)
  • 相机参数是外部观察视角
  • 目标:建立"3D 动作 → 2D 画面投影"的通用先验

Stage II:第一人称动作适配

  • 用 Ego-Exo4D 和 LEMMA 数据(同步的第三人称+第一人称配对,带全身动作和锚点信息)
  • 相机参数对齐到头部姿态
  • 目标:把通用动作先验适配到第一人称视角

Stage III:静态锚点定制

  • 在静态场景上训练锚点视角的场景一致性
  • 目标:学会把锚点图像和位姿正确融入第一人称漫游

Stage IV:动态锚点演化

  • 加入带演化描述的动态数据
  • 目标:学会文本驱动的局部状态变化

渐进训练的好处:每个新模块建立在稳定的基础上。如果端到端训练,模型可能在学动作控制的同时还要学锚点一致性和动态演化,信号混乱。分阶段让模型先"会走路",再"会看锚点",再"会让世界变化"。

消融实验也验证了这一点:Joint Stage III & IV(跳过渐进)在静态场景指标上全面低于渐进版本,说明动态信号干扰了静态一致性的学习。


六、实验:三个测试集,全方位验证

测试集

测试集 来源 特点 评估重点
Ego Static 100 条保留序列,同数据源 大幅度动作和视角变化 动作精度、场景一致性、视频质量
UE CineScene 100 条 UE 序列,初始帧与锚点无重叠 纯旋转运动,大视角变化,无相机内参一致性 仅评估旋转精度(RRE)和语义一致性(CLIP-V、GIM)
Real-World 真实场景采集,大视角变化 无 ground truth,仅定性评估 泛化能力
Ego Dynamic 100 条保留序列,动态人体活动 显著动态变化 动态演化、文本对齐、动作精度

基线对比

  • PlayerOne:NeurIPS 2025,全身动作驱动,但分解为身体部位控制。论文重新在 Wan2.2 上实现,排除手部
  • PlayerOne-Scene:PlayerOne + 锚点注入机制(验证锚点设计的增益)
  • CaM-UE:Context-as-Memory,在 UE 数据上训练,慢速相机运动
  • CaM-Ego:CaM 在论文的第一人称数据上训练

静态场景结果(Ego Static)

指标 PlayerOne PlayerOne-Scene CaM-UE CaM-Ego Ours
匹配像素 Mat.Pix.(K) ↑ 3961.6 4334.8 3706.9 4379.4 4493.4
语义 CLIP-V ↑ 0.845 0.864 0.804 0.872 0.885
PSNR ↑ 13.26 14.38 11.57 15.16 16.06
SSIM ↑ 0.459 0.500 0.448 0.554 0.578
LPIPS ↓ 0.596 0.545 0.686 0.515 0.470
绝对位置误差 ATE ↓ 0.131 0.142 0.163 0.125 0.112
相对旋转误差 RRE ↓ 3.741 3.353 3.590 3.207 3.145
VBench 质量 ↑ 0.734 0.735 0.729 0.748 0.748

所有指标全面第一。值得注意的是:

  • CaM-Ego(同样数据)在 VBench 上持平,但场景一致性指标(CLIP-V、PSNR、SSIM)明显落后,说明 CaM 的"历史帧检索"机制不如锚点注入的 in-context conditioning 有效
  • PlayerOne-Scene 加锚点后大幅提升,但动作精度仍弱于 AnchorWorld,说明投影式动作控制优于部位分解式

UE 泛化场景(初始帧与锚点无重叠)

指标 PlayerOne PlayerOne-Scene CaM-UE CaM-Ego Ours
匹配像素 Mat.Pix.(K) ↑ 3947.0 4413.5 4301.1 4429.1 4555.1
语义 CLIP-V ↑ 0.787 0.802 0.852 0.842 0.851
相对旋转误差 RRE ↓ 2.438 2.401 1.722 2.009 1.656
VBench 质量 ↑ 0.736 0.737 0.750 0.770 0.769

这里的场景是:初始第一人称画面不包含任何锚点区域,锚点都在视野外。模型必须仅凭锚点图像+位姿+演化提示,在视角转动后正确"生成"这些区域。这是严格的分布外泛化测试。

  • 匹配像素和旋转精度仍全面第一,说明模型真正学会了空间位姿关联,不是记忆了初始帧
  • CLIP-V 略低于 CaM-UE(CaM-UE 在 UE 数据上训练,有 domain 优势),但差距很小
  • CaM-UE 的 RRE 差(1.722 vs 1.656),因为 CaM 只输入视角信息,没有身体动作约束

动态场景(Ego Dynamic)

指标 PlayerOne-Scene CaM-UE CaM-Ego Ours
匹配像素 Mat.Pix.(K) ↑ 4455.4 4466.5 4459.0 4634.6
语义 CLIP-V ↑ 0.864 0.856 0.871 0.899
PSNR ↑ 14.24 12.82 14.57 16.37
SSIM ↑ 0.454 0.462 0.501 0.555
LPIPS ↓ 0.583 0.627 0.574 0.486
绝对位置误差 ATE ↓ 0.067 0.083 0.083 0.048
文本对齐 TA ↑ 0.449 0.115 0.385 0.717
VBench 质量 ↑ 0.756 0.770 0.770 0.774

动态场景是 AnchorWorld 的核心优势区。文本对齐(VideoAlign-TA)0.717 vs 基线最高 0.449,说明演化提示的局部控制精准到位。CaM-UE 的 TA 只有 0.115,因为它的全局文本提示无法区分不同区域的动态变化。


七、关键能力的定性验证

视野外场景演化(Out-of-Sight Evolution)

论文做了一个精妙测试:锚点里有一个"另一个人从沙发上站起来"的描述,但初始第一人称视角看不到这个区域。模型通过纯动作驱动和锚点信息,在视角转动后正确生成了"这个人先坐着,然后站起来"的时序变化。

这验证了:锚点机制不只是"画面拼贴",模型真正在建模空间-时间联合分布。它知道沙发在那个位置,知道人在那个位置,知道"站起来"是一个时间过程,即使这些信息从未在第一人称初始画面里出现过。

空间姿态感知(Spatial Pose Awareness)

把人体姿态和锚点姿态同时水平翻转,保持锚点图像不变。如果模型不理解空间关系,翻转后应该出现奇怪的画面。结果:当姿态和锚点重叠时,模型正确检索锚点图像细节;不重叠时,生成合理的新内容。这证明模型在3D 空间坐标系里操作,不是在 2D 像素上拼接。


八、消融:什么设计真正重要

消融变体 关键发现
去掉 Stage I(第三人称预训练) 动作精度 RRE 从 3.187 退化到 3.532;静态场景一致性也下降
去掉头部姿态(只用身体动作) RRE 退化到 3.806,说明相机视角(头部朝向)是动作控制的关键
Stage I & II 联合训练 RRE 3.372 vs 渐进 3.187,说明先第三方再第一方的顺序重要
去掉锚点位姿注入 静态场景 PSNR 15.59→15.59(持平),但 SSIM 0.578→0.568,LPIPS 0.470→0.493,说明位姿对感知一致性更敏感
去掉锚点 3D RoPE 匹配像素 4493→4395,说明区分不同锚点的位置编码很重要
Stage III & IV 联合训练 静态场景匹配像素 4493→4442,动态场景 TA 0.717→0.703,渐进训练优于联合训练

核心结论:

  • 第三人称预训练是动作控制的基石,没有它第一人称适配是盲人摸象
  • 渐进训练不是可选项,是必选项。联合训练会干扰静态一致性学习
  • 锚点位姿3D RoPE是空间一致性的关键,不是可有可无的点缀

九、局限:路还很长

论文在附录里坦诚列了三个局限:

长期探索 — 当前模型能处理的是短时间序列(77 帧,480p)。长时间的开放世界探索(在虚拟城市里走 10 分钟)仍然超出能力范围。模型没有长期记忆,也没有拓扑地图。

开放世界泛化 — 测试集虽然包含 UE 和真实场景,但都是特定 domain 内的分布外。真正从未见过的场景(完全不同的建筑风格、气候、光照)没有验证。锚点机制需要用户提供锚点图像,不能无中生有。

多样化动态场景 — 训练数据里的动态变化主要是人体活动。更复杂的动态(多物体交互、物理碰撞、流体、天气变化)没有覆盖。演化提示是文本描述的,但文本对复杂动态的表达能力有限。


十、为什么这很重要

AnchorWorld 把"世界模型"从一个被动预测器变成了可编辑的交互环境。之前的模型告诉你"如果你走过去,你会看到什么"。AnchorWorld 让你说:"这里应该有一盆花,它正在凋谢,你走开了再回来,它应该更枯萎了。"

三个关键意义:

1. 混合视角训练 解决了第一人称数据稀缺和监督稀疏的问题。用第三人称"教"第一人称,不是简单数据增强,而是利用了两类数据在 3D 动作层面的互补性。全身动作是共享的,视角是投影变换的。

2. 锚点机制 提供了世界状态的局部可控性。这是从"生成视频"到"生成可交互世界"的跨越。文本-图像-位姿的三元组锚点,让用户能在 3D 空间里精确放置"世界状态"。

3. 空间-时间联合建模 在视野外演化实验中得到了验证。模型不是在"拼接图像",而是在维护一个隐式的 3D 场景表示,并基于动作轨迹和锚点约束进行时间演化。

对于 VR/AR 应用,这意味着:设计师可以放置锚点定义场景,用户用身体动作探索,场景按锚点规则演化。对于具身 AI,这意味着机器人可以在仿真环境里训练,环境的状态可以按任务需求精确配置。

清华、华科、港科大、武大、快手可灵团队的联合工作。代码暂未公布,但项目主页已上线演示视频。


参考来源

  • Li, Yu, et al. "AnchorWorld: Embodied Egocentric World Simulation with View-based Evolution Customization." arXiv:2606.07326, 2026-06-05
  • 项目主页:https://yuli0103.github.io/AnchorWorld/
  • 基座模型:Wan2.2 TI2V 5B(快手可灵)
  • 训练数据:Ego-Exo4D、LEMMA、MultiCamVideo、内部 20 万单人物视频
  • 动作估计:GVHMR(统一 3D 坐标系)
  • 对比基线:PlayerOne(NeurIPS 2025)、CaM(SIGGRAPH Asia 2025)

本文由小凯基于公开论文与技术资料整理分析,2026-06-09

#AI生成视频 #论文解读 #计算机视觉 #生成式AI #具身智能 #世界模型 #虚拟现实 #深度学习 #AnchorWorld #小凯

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录