一句话定位

PreWorld 是一个视觉中心(vision-centric)的 3D 占据世界模型:提出”自监督预训练 + 全监督微调”两阶段范式,预训练阶段靠一个属性投影头把体特征渲染成 RGB/深度/语义 2D 属性场、用便宜的 2D 标签做体渲染监督,微调阶段再用昂贵的 3D 占据标签收尾;配合一个仅由两层 MLP 组成的状态条件预测模块把占据网络和预测模块端到端联合优化,在 Occ3D-nuScenes 上同时刷新 3D 占据预测与 4D 占据预测的 SOTA,运动规划也具竞争力(ICLR 2025)。

背景与定位

此前的视觉中心 3D 占据世界模型——occworld(用 TPVFormer/FB-OCC 先出当前占据,再拿 VQ-VAE 场景 tokenizer 编码成离散 token、GPT 式自回归预测未来 token、解码器解回占据)与 OccLLaMA(同样思路但用 FB-OCC 占据 + LLM 做自回归)都走一条”间接路径”:先用一个冻结的3D 占据模型出当前占据,再经 tokenizer→自回归→解码器 反复编解码去预测未来。这个过程容易造成信息损失,因此这两个方法都严重依赖昂贵的 3D 占据标签做监督才能拿到有意义的结果。

另一条线是纯 2D 标签的自监督 3D 占据预测:RenderOcc 用 2D 深度图+语义标签做体渲染监督;SelfOcc、OccNeRF 更进一步只用图像序列自监督。但这些方法只做当前帧占据预测,没有做未来预测(forecasting)。作者指出 OccWorld 虽然给出了一个”自监督”变体 OccWorld-S,但它只是简单套用一个既有的自监督 3D 占据模型(SelfOcc)出当前占据,本身没有针对 forecasting 任务做任何自监督的新设计,效果也很差。

PreWorld 要补的空白,是把”2D 渲染自监督”和”4D 占据预测”结合起来:既不像 occworld / OccLLaMA 那样把 3D 占据标签当刚需,也不像 RenderOcc/SelfOcc 那样止步于当前帧感知,而是让 2D 标签直接监督未来帧的体渲染,从而用廉价标签缓解 3D 占据标注(3D 户外场景标注成本高昂)的依赖。

模型架构

整体管线(Fig 2):occupancy network N(提取体特征)→ state-conditioned forecasting module F(直接预测未来体特征)→(预训练阶段)attribute projection head P 做体渲染 2D 监督 / (微调阶段)occupancy head H 直接输出 3D 占据。全程端到端一体化,没有 tokenizer / 自回归 / 解码器这类间接编解码路径。

  • occupancy network N:backbone 用 BEVStereo(Li et al., 2023b),只是把它的检测头换成 FB-OCC(Li et al., 2023c)的占据头 H。输入 N 视多视角图像 S_T,输出体特征 F_T ∈ R^{X×Y×Z×D};occupancy 输出 Y_T ∈ R^{X×Y×Z×C},C=18(17 语义类 + 1 空闲)。Occ3D-nuScenes 体素网格 200×200×16,分辨率 0.4m,覆盖自车周围 [-4040m, -4040m, -1~5.4m]。
  • state-conditioned forecasting module F:论文 Fig 3 显示其结构就是两个 MLP,直接把 F_T 映射为未来体特征 F_{T+1}(F̃_{T+1}=F(F̃_T)),不经过离散 token 化。可选拼接 ego-state(速度、加速度、历史轨迹)作为额外条件输入。作者强调”即使不做精巧设计,这个极简架构依旧能媲美甚至超过 SOTA”,用来论证此前”只优化预测模块、冻结占据模型”的做法存在局限。
  • attribute projection head P(仅预训练阶段参与):几个 MLP,把当前及未来 f 帧的体特征 {F̃}_t 投影成三个属性场——density σ̃∈R^{X×Y×Z×1}、semantic s̃∈R^{X×Y×Z×D}、RGB c̃∈R^{X×Y×Z×3}(式 5)。微调阶段 P 不参与计算,直接用 H 输出占据。
  • Ray generation + volume rendering:按相机内外参为每帧每视角抽取 3D ray,用相邻 n 帧的 ego pose 把周围帧的 ray 也变换到当前帧坐标系一起监督;沿每条 ray 采样 M 个点,用标准 NeRF 累积透射率公式算 rendering weight(式 6),再累加得到 2D 渲染出的 depth/semantic/RGB 预测(式 7)。时序渲染监督的关键是:不仅监督当前帧的渲染,也用同样的方式监督预测出的未来 f 帧的渲染(式 8),这是 forecasting module 保留体特征(而非离散 token)才能带来的额外收益——此前 tokenizer 式方法无法对未来预测做体渲染 2D 监督。

数据

  • 数据集:Occ3D-nuScenes(3D 占据预测/4D 占据预测评测)+ nuScenes(运动规划评测),官方 700 训练 / 150 验证场景划分。
  • 微调阶段标签:Occ3D-nuScenes 稠密 3D 占据标注(18 类体素网格)。
  • 预训练阶段标签:2D RGB(图像本身)、2D depth map、2D semantic label——均是相对 3D occupancy 标注成本低得多的 2D 标签,通过体渲染反向监督 3D 体特征。
  • 数据规模消融(Table 5,验证 scalability)
    • 150 scenes 微调、无预训练:mIoU 18.66;加 700 scenes 预训练:25.02(+6.36)。
    • 450 scenes 微调、无预训练:31.99;加 700 scenes 预训练:33.37(+1.38)。
    • 700 scenes 微调、无预训练:33.95;加 450 scenes 预训练:34.28(+0.33);加 700 scenes 预训练:34.69(+0.74)。
    • 结论:预训练规模越大收益越大;当 3D 微调标注稀缺(150 scenes)时,预训练带来的提升最显著,且”450 scenes 微调 + 预训练”(33.37)已能追平”700 scenes 微调、无预训练”(33.95)。
  • 纯真实 nuScenes 环视相机数据,无仿真数据;GitHub README 的 TODO 列出 nuPlan / LightWheelOcc 数据集扩展代码尚未放出(其中提到”PreWorld + nuPlan 预训练 15000 scenes,OpenScene 基准 mIoU 19.85”,但该结果未附代码/config,来自 README 而非论文正文,未做进一步验证)。

训练方法

两阶段训练范式

  1. 自监督预训练阶段:用 attribute projection head P 生成的 density/semantic/RGB 属性场,通过体渲染与 2D 标签构造时序渲染损失 L_2D(式 8),同时优化 occupancy network N 与 forecasting module F。其中 depth 用 SILog loss + 交叉熵(沿用 RenderOcc 做法),semantic 用交叉熵,RGB 用 L1 损失;三项损失权重 λ 均设为 1.0。
  2. 全监督微调阶段:attribute projection head 不再参与计算,occupancy head H 直接输出 3D 占据,用 focal loss + lovasz-softmax loss + scene-class affinity loss(语义项与几何项,沿用 FB-OCC 做法)联合监督(式 9)。

关键超参:优化器 Adam,学习率 1×10⁻⁴,batch size 16。3D 占据预测任务:预训练 6 epoch + 微调 12 epoch;4D 占据预测与运动规划任务:预训练 8 epoch + 微调 18 epoch(三个任务共用同一套网络架构,非时序的 3D 占据预测任务省去时序监督项)。

无 RL、无蒸馏。Action-conditioning 体现为 forecasting module 可选拼接的 ego-state(速度/加速度/历史轨迹),消融显示引入 ego-state 能进一步提升 forecasting 效果。联合训练:forecasting module 可同时接受轨迹监督(trajectory supervision, TS),联合优化 4D 占据预测与运动规划两个任务,消融证明联合训练优于分开训练(见下文 Table 6/7)。

自监督变体 PreWorld-S:不经过 occupancy head H,而是对 attribute projection head P 输出的 density field σ̃ 设阈值 τ 判断体素是否被占据、再用 argmax(semantic field) 得到语义(式 10),从而让 PreWorld 也能完全脱离 3D 占据标签、仅靠 2D 标签跑通 4D 占据预测与运动规划。

Infra(训练 / 推理工程)

  • 训练硬件:8× NVIDIA A100 GPU(论文 4.1 Implementation Details 直接给出)。
  • GPU-hours、并行策略、训练精度(fp16/bf16):未披露。
  • 推理 FPS / 控制频率 / 端上延迟 / 边缘硬件:未披露。

评测 benchmark

全部为论文一手结果,评测集均为 Occ3D-nuScenes(除注明外)。

① 3D 占据预测(Table 1,mIoU)

方法监督类型mIoU (%)
SelfOcc2D9.30
OccNeRF2D9.53
RenderOcc2D23.93
OccFlowNet2D28.42
MonoScene3D6.06
TPVFormer3D27.83
CTF-Occ3D28.53
SparseOcc3D30.90
RenderOcc2D+3D26.11
OccFlowNet2D+3D33.86(此前 SOTA)
PreWorld(仅 3D 监督)3D33.95
PreWorld + Pre-training2D+3D34.69(新 SOTA)

预训练带来 +0.74 mIoU,且几乎所有静态/动态类别都有提升。

② 3D 占据预测(Table 8,RayIoU 指标,SparseOcc 提出,缓解 mIoU 对深度不一致的惩罚偏差)

方法RayIoU
FB-OCC (16f)33.5
SparseOcc (8f)34.0
SparseOcc (16f)36.1(此前 SOTA)
PreWorld(仅 3D 监督)36.4
PreWorld + Pre-training38.7(新 SOTA,+2.6 超过 SparseOcc(16f))

作者用 RayIoU 解释了 Table 1 中 PreWorld 在部分大面积静态类别(manmade、sidewalk 等)mIoU 反不如 RenderOcc/OccFlowNet 的现象:mIoU 用可见区域 mask,不惩罚可见区域外的预测,因此”预测更厚表面”的模型(如 RenderOcc)能在这些类别刷高 mIoU,但 RayIoU 考虑体素与自车的距离,不会被这种策略钻空子;换成 RayIoU 后 RenderOcc/OccFlowNet 分数均下降,而 PreWorld 保持领先,说明其静态类别预测更合理而非更差(Appendix Table 9 上按 1m/2m/4m 阈值逐类核实了这一点)。

③ 4D 占据预测(Table 2,2s 历史 → 3s 未来,取 1s/2s/3s 平均)

方法辅助监督mIoU Avg (%)IoU Avg (%)
OccWorld-S0.265.00
OccWorld-TSemantic LiDAR3.568.34
OccWorld-D3D Occ8.6216.53
OccLLaMA-F3D Occ8.6622.99
PreWorld(仅 3D 监督)3D Occ9.0620.88
PreWorld + Pre-training2D Labels & 3D Occ9.55(新 SOTA)21.62

④ 自监督 4D 占据预测(Appendix Table 13,PreWorld-S vs 自监督基线 OccWorld-S)

PreWorld-S(仅 2D 标签):mIoU Avg 3.78(OccWorld-S 为 0.26,提升超 13 倍);IoU Avg 9.19(OccWorld-S 为 5.00,接近翻倍)。

⑤ 运动规划(Table 3,nuScenes,L2 误差 / 碰撞率,Avg over 1s/2s/3s)

方法辅助监督L2 Avg (m)碰撞率 Avg (%)
UniADMap&Box&Motion&Track&3D Occ1.030.31
OccLLaMA-F†3D Occ1.200.70
OccWorld-D†3D Occ1.400.87
PreWorld(无 ego-state)3D Occ1.341.14
PreWorld + Pre-training(无 ego-state)2D Label & 3D Occ1.301.27
PreWorld†(含 ego-state)3D Occ0.310.54
PreWorld + Pre-training†(含 ego-state)2D Label & 3D Occ0.31(新 SOTA)0.53

引入 ego-state(†,与 OccWorld/OccLLaMA 同口径)后规划误差大幅下降;作者将此归因于既有工作提出的”ego-state shortcut 效应”,并留待未来工作细究 ego-state、预测占据与规划结果三者的关系。

⑥ 消融:预训练监督属性(Table 4,3D 占据预测任务)

无预训练 33.95 → +RGB 34.11(+0.16) → +RGB+Depth 34.43(+0.48) → +RGB+Depth+Semantic 34.69(+0.74),三种属性逐步叠加均带来正向收益。

⑦ 消融:模型组件(Table 6,4D 占据预测任务,mIoU/IoU Avg)

Copy&Paste 基线(把当前占据直接复制当未来)7.79/18.12 → 加 forecasting module 8.25(+0.46)/20.35(+2.23) → 加 ego-state 8.85(+1.06)/20.87(+2.75) → 加 ego-state+轨迹监督(TS) 9.06(+1.27)/20.88(+2.76) → 加 ego-state+自监督预训练(SSP) 9.35(+1.56)/21.39(+3.27) → 加 ego-state+SSP+TS(完整版)9.55(+1.76)/21.62(+3.50)。

⑧ 消融:联合训练对规划的影响(Table 7,均含 ego-state)

仅轨迹监督:L2 Avg 0.45 / 碰撞率 0.67 → 加 3D 占据监督:0.31/0.54 → 再加 2D 标签:0.31/0.53。

创新点与影响

  • 首次把”2D 渲染自监督”接入 4D 占据预测:此前 RenderOcc/SelfOcc 式体渲染自监督只做当前帧 3D 占据预测;PreWorld 通过让 forecasting module 保留(而非离散化)体特征,使体渲染监督可以延伸到预测出的未来帧,填补了这条自监督路线在 forecasting 任务上的空白。
  • 端到端替代”冻结占据模型 + tokenizer + 自回归 + 解码器”的间接路径occworld / OccLLaMA 都依赖预训练且冻结的 3D 占据模型、以及离散 token 化-自回归-解码的多段编解码;PreWorld 用一个仅两层 MLP 的 state-conditioned forecasting module 直接对体特征做端到端预测,联合优化占据网络与预测模块,减少信息损失。
  • 三项任务同时 SOTA:3D 占据预测 34.69 mIoU / 38.7 RayIoU,4D 占据预测 9.55 mIoU Avg,均超过此前最优的 OccFlowNet(33.86 mIoU / 2D+3D)、SparseOcc(36.1 RayIoU)、OccLLaMA-F(8.66 mIoU);运动规划在引入 ego-state 后 L2 Avg 0.31 也优于 OccLLaMA-F†(1.20)与 OccWorld-D†(1.40)。
  • 验证了预训练的可扩展性(scalability):3D 占据标注稀缺(150 scenes)时,2D 标签预训练能把 mIoU 从 18.66 拉到 25.02(+6.36),且”更少 3D 标注 + 预训练”可以追平”更多 3D 标注、无预训练”的效果,为缓解 3D 户外场景标注昂贵问题提供了一条可行路径。
  • 作者自陈局限:① 未深入分析 ego-state 引入后规划大幅变好背后的”shortcut 效应”,留给未来工作;② 现有 mIoU 评测对大面积静态类别存在偏差(可见区域 mask 不惩罚区域外预测),论文虽用 RayIoU 佐证了 PreWorld 的合理性,但也说明该子领域评测标准本身仍不完善;③ GitHub README 显示 nuPlan / LightWheelOcc 数据集上的扩展实验代码尚未放出,相关数字(如 OpenScene 基准 mIoU 19.85)未经论文正文与代码验证。

原始链接

一手源存档(sources/)