腾讯开源 HY-World 2.0:一句话生成可交互 3D 世界,开源首次追平闭源 Marble

论文链接:
https://arxiv.org/abs/2604.14268
项目主页:
https://3d-models.hunyuan.tencent.com/world/
代码地址:
https://github.com/Tencent-Hunyuan/HY-World-2.0
试用链接:
https://3d.hunyuan.tencent.com/sceneTo3D
想象你对着 AI 说一句"给我生成一条被樱花包围的日式古镇小巷",几分钟后,你不是得到了一段视频,而是得到了一个真正可以走进去、可以低头看鞋、可以推开门转身观察、可以用游戏手柄操作角色奔跑的 3D 世界,并且这个世界可以直接导入 Unity、Unreal 或 Blender。
这就是 HY-World 2.0 要做的事情
整体架构:四阶段流水线
HY-World 2.0 处理的是两个相反方向的任务:
正向(生成):文本或单张图 → 3D 世界。这是"无中生有"。
反向(重建):多视角图或视频 → 3D 表示。这是"从观测中还原"。
为什么两个方向都要做?因为生成任务里天然会用到重建:生成一系列图像之后,你总得有个办法把它们变回 3D,这一步恰好就是重建模型的工作。所以重建模型 WorldMirror 2.0 既是独立的重建工具,也是生成流水线的核心齿轮。
对于生成任务,论文设计了一条四阶段流水线:

这四步的直观理解是:
先站在一个定点上"环视四周",生成一张覆盖 360° 的全景图,这相当于给世界打下底稿。
思考"要从这个点出发怎么走才能看全整个场景",规划出多条相机运动路径。
按照规划好的路径在 AI 脑中"一路拍照",生成大量新视角的关键帧,同时靠记忆机制保证前后看到的东西是一致的。
把所有这些视角丢给重建模型,得到精确的点云,然后训练 3D 高斯泼溅得到最终可交互的 3D 世界。
Stage 1:全景图生成(HY-Pano 2.0)
相比 1.0 版本的关键升级
HY-World 1.0 里做全景图生成用的是显式几何扭曲:需要准确知道相机的内参(焦距、FoV),然后在透视图和等距矩形投影(ERP)之间做几何对齐。
这个做法有个大问题,现实里你经常拿不到准确的相机参数,一旦参数不对就会出现明显的投影畸变。
HY-Pano 2.0 换了个思路:用多模态扩散 Transformer(MMDiT)隐式学习这种映射。也就是说,不再手动告诉模型怎么把透视图对应到全景图的每个像素,而是把条件图像的 latent 和全景图的噪声 latent 拼成一个序列扔给自注意力,让模型自己学出这种空间对应关系。

另一个巧思是处理全景图左右边缘的接缝问题。等距投影的全景图在 0° 和 360° 处其实应该是连续的(因为绕一圈回到同一个地方),但模型生成时经常会有接缝。
HY-Pano 2.0 用了两层保障:在 latent 层面做循环填充(circular padding)强制周期性边界条件,然后解码到像素空间后再做一次线性像素混合。两层结合让 360° 的环绕处完全看不出接缝。
效果如何?
论文给出了量化对比,在文本生成全景(T2P)和图像生成全景(I2P)两个任务上,HY-Pano 2.0 在 CLIP-T、CLIP-I、Q-Align 质量和美学等多个维度都拿到了最好或接近最好的成绩。
特别是 I2P 任务上,在全部五个指标上都是第一。定性上看(论文 Figure 17、18),生成的全景图在布局合理性、细节锐利度、色彩和谐度上都明显优于 DiT360、Matrix3D、CubeDiff、GenEx 等方法。

Stage 2:轨迹规划(WorldNav)
场景解析:理解这个世界
首先,用 MoGe2 做单目深度估计生成全景点云。这里有个小优化,默认做法是把全景图切成 12 个透视视图分别估深度然后对齐,作者把采样密度提到了 42 个视图,同时用 GPU 加速的最小二乘求解器来搞定计算量,最终得到更高质量的点云。
其次,用 HY-World 1.0 的方法生成低分辨率的全景 mesh,这个 mesh 用来做严格的碰撞检测。
再次,用 Qwen3-VL 识别场景里的关键物体(地标、障碍物),用 SAM3 生成 2D 语义 mask,然后把这些物体投影到 3D 空间得到3D 语义 mask。
最后,用 Recast Navigation 构建导航网格 NavMesh,也就是标记出哪些地方是可以走的。这一步还做了几个精细处理,把歪曲的表面通过密集射线投射对齐到地面,用 KD-Tree 加速的搜索把边界做适度侵蚀,防止相机贴着墙走,最后把孤立的可走区域通过桥接多边形连起来,保证整个可走区域是连通的。

五种轨迹:覆盖不同需求
常规轨迹(Regular) 把全景图分成三个 120° FoV 的透视视图,在每个视图的中心位置沿着轨道以 ±120° 方位、+45° 俯仰做绕转——相当于从中心点出发做一些基础的"张望"动作。
环绕轨迹(Surrounding) 围绕最重要的前景物体转圈。半径根据物体大小自适应调整,大物体就站远一点拍,小物体就靠近。路径规划用 72 个候选节点加上双向贪心搜索,再用 Dijkstra 算法连到起点,保证不会穿墙。
重建感知轨迹(Recon-Aware) 这是个很聪明的设计。作者观察到,全景图里被遮挡的区域,在生成的全景 mesh 上会表现为"又长又窄的三角面"(因为深度突变时三角面被拉伸)。识别这些畸形面就能定位出哪里需要重点补充观测,然后在那附近生成绕转路径。
游荡轨迹(Wandering) 模拟一个自主探索的智能体,朝着"最远能到达的点"走过去,特别适合长走廊、街道这种狭长场景。
空中轨迹(Aerial) 在环绕和游荡的基础上加一个 +45° 的上仰,提供鸟瞰视角的补充。
Stage 3:世界扩展(WorldStereo 2.0)
任务定义
有了全景图和规划好的相机轨迹,现在要做的是:让 AI 沿着这些轨迹"走一遍",生成每条轨迹上每个位置看到的画面。这一步叫"世界扩展",因为你是在用生成的新视角填补全景图之外的世界。
WorldStereo 2.0 是这篇论文工程量最大的部分,整个训练过程分为三个阶段:

关键创新一:关键帧潜空间(Keyframe-VAE)
WorldStereo 2.0 借鉴 FlashWorld 的思路,改成只做空间压缩不做时间压缩的 Keyframe-VAE:每个关键帧独立编码为一个 latent,不同帧之间没有时间维度的压缩。

这样做的代价是,相同 token 预算下关键帧数量会少一些,但研究团队发现通过增大关键帧之间的采样间隔就能覆盖相同的视角范围。而且关键帧之间是独立编码的,这反过来带来了良好的可并行性,极大加快了 VAE 的编解码速度。
关键创新二:显式相机控制
WorldStereo 2.0 的相机控制分两路:一路用相机 Plücker 射线(一种描述空间直线的 6 维表示),一路用点云。两者互补,射线提供光线方向信息,点云提供空间位置信息。
具体做法是:把参考视图的单目深度估计出来得到参考点云 P_ref,然后把这些点投影到每个目标视角,渲染出粗糙的目标视图作为引导,编码后和噪声 latent 一起送入 DiT。
在训练策略上,作者通过消融发现:只冻结 cross-attention 和 FFN 层,微调其他部分的效果最好。完全微调会过拟合导致风格漂移,完全冻结又学不到位,这个折中方案同时拿到了最精确的相机控制和最高的用户视觉偏好(64.39%)。
关键创新三:记忆机制(GGM + SSM++)
全局几何记忆(GGM):维持全局结构的粗粒度一致性。具体做法是把扩展的全景点云渲染成引导视频,让模型学会"在全局几何约束下生成画面"。作者在训练时还巧妙地构造了数据,除了参考视图的点云,还随机从 Tg 个额外新视角采样点云合并进来,这样训练时模型就见过"全局点云长什么样",推理时可以直接用全景点云作为全局记忆。
空间立体记忆(SSM++):维持局部细节的细粒度一致性。这是 1.0 版本 SSM 的重要升级。

SSM++ 的核心思想来自传统立体匹配:把检索到的参考视图和目标视图在空间上水平拼接(而不是时间上堆叠),让注意力机制在拼接后的图像上自动学会建立对应关系。
相比 1.0 的 SSM,SSM++ 做了四项改进:
去掉独立的记忆分支,直接把检索到的关键帧加入主 DiT 分支。
修改 RoPE 位置编码,让拼接后的视图共享时间索引。
从受限注意力改为全量微调,让模型能学到更全局的上下文。
用隐式相机嵌入替代显式点云引导,把相机位姿编码成 7 维向量(四元数+平移)通过 MLP 注入特征,更灵活。
Stage 4:世界重建(WorldMirror 2.0)
2.0 版本的四大改进
归一化位置编码
深度-法线耦合监督
深度 mask 预测头
oken 预算动态 bat
重建效果
2.0 在 7-Scenes、NRGBD、DTU 三个数据集上全面超越 1.0,尤其是高分辨率推理(H)配合完整先验注入时,精度和完整度都大幅提升。
GitHub README 里还有一张 先验对比图(prior_comparison2_wm2.png) 展示 WorldMirror 2.0 和 Pow3R、MapAnything 在不同先验条件下的对比,2.0 在多种先验组合下表现都稳定领先。
Stage 4:世界组合
(3D Gaussian Splatting)
点云扩展与深度对齐
WorldStereo 2.0 生成了一堆关键帧,WorldMirror 2.0 对这些帧做重建。但重建出的深度存在尺度模糊,而且和原始全景点云的世界坐标系不一致,需要做对齐。
对齐用的是 RANSAC 线性拟合 Da_i = γi·Dm_i + βi,但关键是可靠性 mask 的构造,作者用了五重掩码交集:WorldMirror 置信度、全景引导有效区域、法线一致性(角度偏差 < 90°)、深度百分位过滤(去除遮挡异常)、SAM3 视频模式识别的非天空 mask。
更聪明的是基于全局分布的异常检测。作者在深度范围内设置 9 个锚点,对每一帧计算变换后的锚点值,用帧间中位数作为基准,任何帧的最大相对偏差超过 90 百分位就判为异常,用相邻帧的对齐系数替换。如果整条序列都异常就干脆丢弃。
3D 高斯泼溅训练
得到扩展点云 P̃ 后,用它初始化 3DGS 做最终的场景优化。论文在 3DGS 训练上做了三个关键优化:
颜色简化,作者观察到生成场景里视角依赖效应可以忽略,所以直接用视角无关的 RGB 而不是球谐函数(SH),减少冗余。
解决稠密化困境,标准 3DGS 的自适应稠密化会在天空区域生成大量"漂浮物"(因为生成数据里天空的深度监督缺失)。但如果完全不稠密化,纹理丰富区域又不够精细。作者的做法是把初始点云分成天空和非天空两部分,只对非天空区域启用稠密化,同时引入 MaskGaussian,通过 Gumbel-Softmax 采样给每个高斯附加一个存在性掩码,这些掩码参与前向渲染和反向梯度,让模型可以动态重评估每个高斯的必要性。
深度+法线几何监督,光度损失(L1 + SSIM + LPIPS)之外,加入几何损失:$$Lgeo=λdL1(D^i,Dia)+λn(1−cos(N^i,Ni))L_{geo} = \lambda_d L_1(\hat{D}_i, D_i^a) + \lambda_n (1 - \cos(\hat{N}_i, N_i))Lgeo=λdL1(D^i,Dia)+λn(1−cos(N^i,Ni))$$深度监督只在少量对齐过的帧上应用(昂贵),但 MoGe2 估计的法线是"对齐无关"的,可以在所有帧上应用,提供稠密且鲁棒的几何约束。
WorldLens:可交互的 3D 世界渲染平台
论文还专门提到了 WorldLens,一个为 HY-World 2.0 生成的 3DGS 资产量身打造的渲染平台。特点包括:引擎无关的架构设计,可以在不同的游戏引擎之间迁移。
自动 IBL 光照:基于图像的光照估计,让生成的场景自然融入动态光照环境。
高效碰撞检测:用从 3DGS 提取的简化 mesh 作为碰撞代理,支持角色在场景中真实行走。
训练-渲染协同设计:训练阶段就考虑渲染效率,保证实时体验。
角色支持:不光可以第一人称漫游,还支持第三人称角色控制。

总结
如果用一句话总结这篇论文的位置:HY-World 2.0 是开源社区在 3D 世界生成方向上第一次真正站到闭源顶级产品的肩膀上。
它不仅给出了一个能用的系统,更重要的是给出了一整套模块化、可复现、可扩展的技术蓝图,每个模块的设计权衡、训练策略、数据构造方式都写得很清楚。
对研究者来说,这是一篇值得精读的工程范式论文;对开发者来说,这是一个已经可以基于之构建应用的开源基石;对关心 AI 方向的人来说,这标志着"世界模型"从"生成视频"到"生成可交互世界"的范式转变正在加速发生。
三年前,我们还只是在想象 AI 能从文字生成可交互的 3D 世界;今天,这件事已经被开源系统做到了。
