原本看这篇论文以为是一个比之前更接近真实世界的3d生成新任务,还想着水他一篇,但是看了之后发现数据集不公开,做的话也没那么多资源,但是meta的工作,所以主要从这里边学习大厂大规模研究的工程和技术细节:数据pipline怎么做,训练策略以及实验评测设计。
这是看完之后的Ganko,纯大厂风格的力大砖飞工作,鉴定完毕,又浪费一天,tmd。(没有看不起的意思,我觉得我的小作坊编故事风格的工作还不如这种,这种至少有用)
论文想解决的问题
这篇论文要解决的是三个层层递进的问题,一个是旧3d重建任务针对单个物体,但是真实世界中的物体通常有遮挡,远距离等各种影响。这篇论文要解决的是一整个真实场景的3d重建,在重建场景中每个物体的同时预测物体的具体位姿以重建整个场景。因此就会引出第二个问题,3d模型数据不像自然2d图像和语言数据,自然界存在很多,合成数据有sim2real的问题要解决。然后就是标注问题,分类任务普通人就能标注,极低成本获得大量数据,但是3d建模需要专业技术。
解决思路
三个问题是递进的,解决了标注和数据问题,设计迭代模型反而简单。所以先从标注成本入手,普通人不能进行3d建模,但是能区分3d建模质量的高低(Human in loop - HIL),设计了MITL pipline,让普通人从几个候选中挑选并且对齐位姿(怎么获得候选个问题,就是冷启动问题,核心方法会写)。用这个pipline收集大规模的数据,然后针对真实世界的复杂性设计了方法和仿LLM的训练策略,(合成预训练-半合成中期训练-真实数据后训练)。
核心方法
网络结构

每个部分的具体实现:
- Encoder:Encoder全都使用DINOv2,得到4组条件token,一组是裁剪物体:通过掩码M以及对应的裁剪二值Mask对裁剪的图像I进行编码,提供聚焦的高分辨率的物体视图。另一组是全图I以及全图二值掩码,提供全局上下文线索。点云Encoder可选可不选,可以选用硬件采集也可以用其他深度估计方法来得到。
- Geometry Model:论文的问题定义中把这个任务定义成了一个条件分布估计 $q(S, T, R, t, s|I, M )$,在具体的实现中又把整个任务拆成了两个条件分布,几何模型负责 $p(O,R,t,s∣I,M)$,回答物体在什么地方,大概长什么样子。(O是粗形状,R是6d pose,t是物体在相机系中的3维位置,s是在三个轴上的缩放)。输入图像和掩码经过编码后,送入一个 12 亿参数的流匹配 Transformer(flow transformer),采用 Mixture-of-Transformers (MoT) 架构——一种多模态 Transformer 变体,通过精心设计的 attention mask(Fig. 2 右图所示)让不同模态(图像、掩码、形状、位姿)之间既共享信息又保持各自的处理流(two-stream approach)。MoT 的特点是稀疏高效:不同模态有各自的 Transformer 层,只在多模态自注意力层做信息交互。(本质双流加交叉注意力)
- Texture & Refinement Model:这部分负责 $p(S,T∣I,M,O)$,从粗形状 O 中只保留"被占据"的体素(active voxels),跳过空区域,一个 6 亿参数的稀疏潜流 Transformer(sparse latent flow transformer)在这些活跃体素上做两件事——把粗糙的几何细节补全(比如把 643643 的粗体素细化成更高分辨率的形状 S),同时合成物体的纹理 T。
- 3D Decoders:得到Texture & Refinement Model的隐空间的特征表示之后,使用两个独立的解码器解码,一个mesh解码器用于传统建模行业,另一个Gaussian解码器用于实时渲染和新视角合成,两个解码器共享一个隐编码空间。
训练

单个物体的多视角预训练:构建Iso-3DO dataset 2.7m个mesh数据。构建方式是从公开的3Dassets加上meta的授权数集中每个网格渲染24个视角得到。特点:高分辨率,object-center,无遮挡,无背景。
Geometry 模型在预训练阶段只学 (S,R),不学(t,s)。 因为渲染时物体是居中放置的,没有平移和缩放的多样性,所以 t,s没有监督信号。布局能力要到中期训练才引入(ProcThor / RP-3DO 阶段,Table 1 显示那时才出现 t,s。这叫课程学习:先学容易的(形状+旋转),再学难的(场景中定位)。
纹理模型预训练用的不是 Iso-3DO,而是 Trellis-500K。 这是从 Trellis 直接继承的纹理训练数据(500K 规模)。纹理监督需要更高保真的资产配对,而 Trellis 已经在这个数据上验证过纹理生成的稳定性。不同能力模块可以有不同的预训练数据源,但是后期需要对齐。
模型 预训练数据集 监督信号 输入 Geometry Model Iso-3DO $S$(形状)、$R$(旋转) object-centric crop Texture & Refinement Trellis-500K $T$(纹理) object-centric crop Mid-training:这一阶段的目标是为了让模型获得一些基础能力: · 掩码跟随:pretrian中的数据全是根据物体中心,并且场景中目标很多,模型只需要学会重建指定目标(SAM同款思想)
· 遮挡鲁棒性(遮挡补全):人为制造遮挡物,学习对遮挡部分的补全。
· 布局估计:让模型预测物体相机坐标系中的平移和缩放。(平移和缩放为什么是分开的,人好像不会特意考虑缩放这个东西,透视定律?)
数据构建:render-paste构建RP-3DO数据集,把带纹理的 3D 网格渲染出来,用 alpha 通道(透明度)粘贴到自然照片上,这就同时解决了"自然图像 + 3D 标注"不可兼得的困境:图像来自真实分布,标注来自渲染器。代价是物体与背景之间存在 domain gap,但这个 gap 正是后续后训练要消除的。 RP-3DO包含两个子集一个是遮挡物-被遮挡物配对(两者都是渲染后粘贴),另一个是真实物体被合成物体替换。
标记 全名 解释 † Flying occlusion (FO) occluder-occludee 配对子集 ‡ Object Swap-Random (OS-R) “随机"替换真实物体 § Object Swap-Annotated (OS-A) “带标注"的物体替换,用于纹理模型 模型 中期训练数据 原因 Geometry Model ProcThor + RP-3DO (FO, OS-R) 需要遮挡多样性来练形状补全和布局 Texture & Refinement RP-3DO (OS-A) OS-A 的替换是"对齐标注"的,保证物体与场景贴合,纹理模型才能学到正确的光照/透视 Mid-training之后,模型见过了所有模态的输入((S,T,R,t,s) 全部模态、全图 + 掩码 + pointmap 的输入方式),但是数据是半合成的,物体和背景之之前存在domain gap。
Post-Training: 这部分主要对齐合成世界与真实世界差异以及和人类的审美偏好对齐。分别对应llm的训练方法sft和dpo。 首先是收集数据,sft和dpo都需要数据,数据收集分为四个步骤: Stage 1:选择目标物体 (I, M) 从多个真实数据集采样图像,用 3D 导向分类法平衡物体分布 掩码来源:预标注(SA-1B)+ 人工挑选
Stage 2:模型排序与选择 (S, T) 标注者从 N=8 个候选中选最像的(best-of-N 搜索,用人类实现 N) 按评分卡打分 r,r < ω 拒绝;被拒样本成为偏好对齐的负样本
Stage 2.5:困难样本分诊(Artists) 当模型提案都不合格时,普通人也无法修正 → 给专业 3D 艺术家直接标注,得 Art-3DO
Stage 3:对齐到 2.5D 场景 (R, t, s) 标注者相对点云(硬件深度或单目估计)调整物体的平移、旋转、缩放 点云提供足够结构约束,让人能稳定地"摆"物体进场景。
API表述:
输入:当前最优模型 q(S,T,R,t,s|I,M)-冷启动用其他学习型模型做 输出:(i) D+ = 合格训练样本 (ii) r = 质量评分(用于过滤和阈值提升) (iii) D- = 次优候选(全比 D+ 差,作负样本)训练部分遵循下边流程:
后训练 (0.5T token) ├── SFT MITL-3DO(大量混杂数据) ├── SFT Art-3DO(小量高质量数据,对齐艺术家审美) ├── DPO D+/D- 偏好对(压制失败模式)蒸馏简单写:shorcutmodel蒸馏只对geometry model进行,让几何模型快速输出粗形状和布局。