← 返回 2026-03-09

PixARMesh:自回归网格原生单视图室内场景重建 PixARMesh: Autoregressive Mesh-Native Single-View Scene Reconstruction

Xiang Zhang, Sohyun Yoo, Hongrui Wu, Chuan Li, Jianwen Xie, Zhuowen Tu 📅 2026-03-06 👍 2 2026-07-13 08:35
3D场景重建 像素对齐特征 组合式生成 网格生成 自回归生成

首个直接在网格空间自回归做单视图场景重建的框架,一次前向同时预测物体位姿与几何。

前置知识

SDF(符号距离场)

SDF是一种隐式3D表示,对空间中任意点赋值其到最近表面的有符号距离(表面外为正,表面内为负)。网络(如DeepSDF)学习一个从坐标到SDF值的连续函数。要获得实际网格需要marching cubes等算法在均匀网格上提取零等值面,因此输出网格通常非常密集(数万至数百万面片)且表面偏光滑。

PixARMesh的核心动机之一就是摆脱SDF:因为marching cubes产生的网格既不紧凑也不"艺术家可用"。理解SDF的局限才能体会本文直接生成网格的革新意义。

自回归Transformer

一种序列生成模型,按时间步$t=1,2,\ldots,T$逐token预测$p_\theta(s_t|s_{<t})$,每步将历史token送入因果注意力解码器。本文把每个3D顶点/网格块编码为离散token(量化到固定词表),整个mesh作为一个token序列自回归生成。

PixARMesh继承自EdgeRunner和BPT的物体级自回归mesh生成范式,但本文的创新点正是在该范式里同时塞进位姿token。理解token序列拼接方式(BOS-pose-SEP-mesh-EOS)是读懂方法的关键。

组合式场景重建(compositional generation)

将一个场景拆成多个物体实例分别重建,再组合成完整场景。代表方法有Gen3DSR、DeepPriorAssembly、DepR、MIDI等。优点是复用物体级重建模型、可解释性强;缺点是多数依赖inpainting补全遮挡区域、且需要后处理优化(point cloud matching)求解布局,容易陷入局部最优。

PixARMesh是组合式范式的一员,但与上述方法本质不同:它把"位姿+几何"统一进单次自回归前向,省掉inpainting和layout optimization两阶段。读懂本文必须先理解它要解决哪些传统组合式痛点。

点云编码器(PointNet++/Transformer)

把一组无序3D点$\{p_i\}$编码为紧凑latent的神经网络。EdgeRunner/BPT原始的encoder只接收点坐标,输出per-object的latent。PixARMesh的关键改造是把每个点对应的像素特征$F_{img}(u,v)$也concat进去,使encoder同时感知几何+外观。

这是文章Section 3.2的核心改造点,也是Table 3消融里"加像素特征带来最大提升"的来源。

单目深度估计与back-projection

从单张RGB图预测每个像素的深度$D(u,v)$,再用相机内参$K$反投影到3D空间$p=K^{-1}[u,v,1]^T \cdot D(u,v)$。本文用Depth Pro做这一步,得到稀疏的全局场景点云$P_{scene}$。

单视图重建的输入是单张图+预测深度,深度估计误差会直接传染到下游3D几何。Table 4/5的GT-depth ablation就是量化这种传染效应。

marching cubes与iso-surface extraction

在3D体素网格上对SDF值进行线性插值,定位SDF=0的等值面并三角化。算法经典(Lorensen & Cline 1987)但输出的mesh往往密集、面片大小不均、且拓扑受分辨率限制。

本文明确把"避免marching cubes"作为卖点之一。Table A.1显示PixARMesh只用7k面就达到与2M面InstPIFu相当的精度。

研究动机

单视图室内3D场景重建长期受困于三类方法各自的硬伤:第一类"整体式"方法(Panoptic3D、PanoRe、Uni-3D、InstPIFU、BUOL)将图像特征back-project到3D体素并预测场景级SDF,受限于体素空间分辨率和前馈decoder的表达力,输出网格粗糙、泛化性差;第二类"组合式"方法(Gen3DSR、DeepPriorAssembly)将场景拆成物体后分别重建再组装,但要求对每个instance先做inpainting/amodal completion补全被遮挡区域,并依赖后续的point-cloud matching做布局优化——inpainting会引入伪影,layout optimization又易陷入局部最优;第三类(SDF-based diffusion)如DepR、MIDI虽然摆脱了inpainting,但仍然输出SDF,最终都要走marching cubes流程,结果是"密集、过度光滑、面片数从数十万到两百万不等"的网格,与建模师手工建模的"少面、硬边、可编辑"网格相去甚远。如Table A.1所示,InstPIFu平均输出194万面、MIDI 193万面、DepR 32万面——这些网格在编辑、动画、游戏等下游应用中几乎不可用。

本文的目标是本文目标是从单张RGB图像直接生成"艺术家可用"的3D室内场景mesh:每个前景物体(家具类)用紧凑(千面量级)、拓扑干净、可直接进入Blender/Maya等DCC工具的网格表示;场景布局(物体位姿)和几何在单次前向传播里同时确定;不再需要SDF、不再需要marching cubes、不再需要post-hoc的layout optimization;并且在场景级重建质量上达到state-of-the-art。

与已有工作不同的是,PixARMesh的独特切入点是"复用近两年兴起的物体级自回归网格生成模型(EdgeRunner和BPT)"。这两类模型本身在物体级已能输出紧凑、面数仅千的artist-ready mesh。PixARMesh的贡献在于:1)首次把"点云encoder接收到的稀疏点"和"RGB图像特征"通过pixel-aligned方式融合,让单视图(部分观测)也能驱动这种生成器;2)通过cross-attention把全局场景上下文注入每个instance的latent,缓解单视图遮挡问题;3)最关键的——把物体位姿编码为24/16个token,复用mesh tokenizer的词表,融入同一个自回归序列,与mesh一起端到端训练,从根本上消除layout optimization这一环节。这三步连起来,就把"单视图→艺术级3D场景"这条路径打通了。

核心方法

PixARMesh的直觉很直接:既然物体级自回归mesh生成器(EdgeRunner/BPT)已经能产出顶级artist mesh,能不能把它的PC-Encoder改造成"看图+看深度+看全局"的多模态encoder,再把"这个物体放在哪里"也变成一个token序列,跟mesh token一起在同一个Transformer decoder里自回归?整个pipeline可以分成四步:(1) 用现成感知模型(Grounded-SAM分割、Depth Pro深度、DINOv2图像特征)从RGB图得到每个instance的局部点云$P_i$、像素特征$F_{img}$和全局点云$P_{scene}$;(2) 把所有点云和位姿先归一化到单位立方体,送入"像素对齐PC-Encoder",输出per-instance latent $z_i$和scene latent $z_{scene}$;(3) 用cross-attention把$z_{scene}$注入每个$z_i$得到$z_i^{agg}$,作为decoder的conditioning;(4) Transformer decoder以BOS开头,先逐token生成7-DoF bounding box的8个角点(共24/16个pose token),SEP分隔,再生成mesh token,最后EOS结尾。整个训练用单条cross-entropy loss端到端优化。

本文相对已有方法的本质区别有三点:1)**第一个在mesh原生空间做单视图场景重建的框架**——之前所有方法(SDF、diffusion、neural field)都停留在隐式表示,必须走marching cubes;PixARMesh直接生成mesh token,输出的就是artist-ready网格。2)**位姿与几何联合自回归**——传统组合式方法把layout estimation当成post-hoc优化(point cloud matching等),本文用同一套token vocab和同一个decoder同时预测位姿和mesh,让decoder学到"先定位、再长形"的连贯推理链。3)**像素对齐+场景上下文双注入**——原始EdgeRunner/BPT的encoder只吃完整物体点云,单视图下物体严重遮挡;本文把点$\to$像素$\to$特征图的对应关系作为key-value拼接进Transformer block的cross-attention(per-point appearance cue),并把每个instance latent再与scene latent做一次cross-attention(global context),从而在严重遮挡下仍能生成coherent的几何。

方法步骤详情

**步骤1:多模态感知输入**。给定输入RGB $I\in\mathbb{R}^{H\times W\times 3}$,调用Grounded-SAM得到实例mask $\{M_i\}_{i=1}^N$、Depth Pro得到深度图$D$、DINOv2得到特征图$F_{img}$。用相机内参$K$将$D$反投影得到全局点云$P_{scene}$,按mask切分得到per-object点云$P_i = P_{scene}\odot M_i$。BPT分支采样4096点/物体、EdgeRunner分支采样8192点/物体,全局点云采样16384点。所有点云和最终预测的位姿都被归一化到$[-1,1]^3$单位立方体,并施加$\pm 45°$绕竖直轴旋转、$[0.75,1]$缩放、$[0,0.2]$平移的数据增强。**步骤2:像素对齐PC-Encoder**。对$P_i$中每个3D点$p$用$K$投影到图像平面取像素$(u,v)$,拼接几何特征$f_p^{pc}$和外观特征$f_p^{img}=F_{img}(u,v)$,送入Transformer block的cross-attention作为key-value;一组可学习query embedding作为query聚合成per-instance latent $z_i$:$z_i = \mathcal{E}_{pc}(\{f_p^{pc}, f_p^{img}\})$。同一encoder也处理$P_{scene}$得到$z_{scene}$。**步骤3:场景上下文聚合**。$z_i$作为query与$z_{scene}$做cross-attention:$z_i^{agg}=\text{CrossAttn}(q=z_i,k=z_{scene},v=z_{scene})$,让每个物体在编码时能感知邻近物体的分布,缓解遮挡歧义。**步骤4:自回归位姿-网格解码**。BOS起,先用EdgeRunner的词表生成7-DoF bbox的8个角点坐标(每个角点$x,y,z$各一个token,共24个token;BPT用block-wise tokenization只需16个token)。SEP分隔后,再生成mesh token(EdgeRunner通过EdgeBreaker半边结构遍历三角形,词表518,序列压缩率约0.46@512分辨率;BPT用Blocked and Patchified Tokenization,词表40960,压缩率约0.26@128分辨率)。EOS结尾。整个序列长度通常为数千token。**步骤5:位姿解码**。将8个角点token解码为normalized scene坐标$X_{global}\in\mathbb{R}^{8\times 3}$,与canonical box角点$X_{local}$用最小二乘拟合$T^\star=\arg\min_T \|T X_{local}^T - X_{global}^T\|_F^2$得到gravity-aligned affine变换$T^\star\in\mathbb{R}^{3\times 4}$,施加到后续mesh的所有顶点上。**步骤6:训练**。两阶段策略:先在layout prefix上warm-up(EdgeRunner 100k iter / BPT 30k iter),再全序列联合训练(30k / 25k iter)。损失是标准的next-token cross-entropy:$\mathcal{L}_{ce}=-\sum_{t=1}^T \log p_\theta(s_t|s_{<t}, z^{agg})$。8×H100,AdamW,lr=$1\times 10^{-4}$,500-step warmup+cosine decay到$1\times 10^{-5}$,batch=64。

技术新颖性

PixARMesh的技术新颖性主要体现在三个层面的"第一次":(a) **范式层面**:首次将自回归mesh生成从物体级扩展到场景级,把"场景重建"从implicit representation转回explicit mesh representation,输出直接可用;(b) **架构层面**:首次为单视图场景重建引入"像素对齐PC-Encoder+场景上下文cross-attention"的双注入机制,让物体级生成器能应对严重遮挡和partial observation,这是现有方法(包括同期的MIDI、DepR)都没考虑过的几何-外观协同融合;(c) **训练目标层面**:首次把位姿估计建模为mesh vocab上的离散token生成(共享EdgeRunner的518词表),并通过端到端CE loss与mesh联合优化,证实了"layout reasoning + geometry reasoning"在一个decoder里涌现的能力(Table 2显示Two-stage基线参数翻倍仍劣于本文联合方案)。除此之外,作者在数据侧也做了细致工程:用平面简化+quadric边折叠+基于Hausdorff距离$\tau=0.01$的quality selection对3D-FUTURE的1.8k面/物体目标做后处理,让生成器能学到紧凑的artist-style网格。

PixARMesh的Pipeline整体概览
Figure 2: PixARMesh的Pipeline整体概览

实验结果

**主要定量结果(Table 1,3D-FRONT test split)**:PixARMesh-EdgeRunner在场景级获得CD=$98.8\times 10^{-3}$、CD-S=$49.1\times 10^{-3}$、F-Score=33.55%;PixARMesh-BPT为CD=$98.4\times 10^{-3}$、CD-S=$47.6\times 10^{-3}$、F-Score=32.26%,均显著优于先前最佳SDF方法DepR(CD=$153.2\times 10^{-3}$、CD-S=$56.4\times 10^{-3}$、F-Score=25.00%),CD降低约35%、F-Score提升8-9个百分点。物体级PixARMesh的F-Score=80.30-82.27%略低于DepR的89.66%,但考虑其输出面数仅7-8k(Table A.1:DepR 32万、InstPIFu 194万、MIDI 193万),性价比极高——这是"艺术家可用"的核心证据。**消融(Table 2)**:联合位姿-网格方案vs Two-stage解耦方案,CD从99.8降到98.8、F-Score从33.32升到33.55,证实联合推理对场景级+物体级都更优;vs EdgeRunner-FT(不预测位姿而用DepR后处理),F-Score从27.81升到33.55,绝对差+5.74,证明"显式位姿预测"远胜"后处理优化"。**编码器消融(Table 3,EdgeRunner分支)**:仅用cross-attention聚合scene context时CD=$57.78\times 10^{-3}$,加像素特征后升到$39.30\times 10^{-3}$(绝对降32%),F-Score从41.02升到44.67;再叠cross-attention context时F-Score进一步升到46.15%——表明像素特征贡献最大、context聚合是补充。**BPT分支(Table A.4)呈现相同趋势**,验证了设计的backbone无关性。**感知错误影响(Table 4-5)**:物体级GT-depth能F-Score从81.64→86.66、GT-layout从81.64→82.27、两者都用→87.19;场景级(Table 5)GT-segmentation单独使用能F-Score从33.55→46.15(最大单源增益),GT-depth单独使用→39.04,三者都用oracle输入能F-Score达到68.48%——表明分割是当前最大瓶颈,深度次之,layout相对最稳健。**定性结果(Fig 3-4)**:在3D-FRONT合成图上PixARMesh的几何与ground truth高度一致且mesh面数仅1720 vs SDF基线130k+;在Pix3D/Matterport3D/ScanNet真实图像上能保持合理的几何与布局对齐,展现了从合成到真实域的泛化能力。**布局准确度(Table A.2,Box IoU)**:在GT mask下PixARMesh-EdgeRunner达56.76%(GT-depth下达70.37%),显著高于DepR的33.98%(GT-depth下36.67%),说明自回归位姿预测在定位精度上也具有结构性优势。**推理时间(Table A.3)**:PixARMesh-EdgeRunner 4.5分钟/场景、BPT 6.7分钟/场景,比Gen3DSR(15.5分钟)、DeepPriorAssembly(6.7分钟)快,但慢于DepR(1.2分钟)和Uni-3D(3.1秒)——这是自回归生成固有的代价。

3D-FRONT数据集上与SOTA方法的定性/定量对比
Table 1: 3D-FRONT数据集上与SOTA方法的定性/定量对比
3D-FRONT数据集定性对比
Figure 3: 3D-FRONT数据集定性对比
查看结构化数据
任务指标本文基线提升
3D-FRONT 场景级重建 Chamfer Distance (×10⁻³, ↓) 98.4-98.8 DepR 153.2 / MIDI 156.3 比DepR低35%,比MIDI低37%
3D-FRONT 场景级重建 F-Score (%, ↑) 32.26-33.55 DepR 25.00 / MIDI 24.83 比DepR高8.55pp,比MIDI高8.72pp
3D-FRONT 物体级重建 F-Score (%, ↑) 80.30-82.27 DepR 89.66 比DepR低7-9pp,但输出面数仅其2%
3D-FRONT 场景级重建 CD-S (×10⁻³, ↓) 47.6-49.1 DepR 56.4 比DepR低13-16%
3D-FRONT 布局定位 (Box IoU, %) Box IoU (%, ↑) EdgeRunner 56.76 (GT-depth 70.37) DepR 33.98 (GT-depth 36.67) 绝对提升22.78pp (GT-depth 33.70pp)
每场景平均面数 (k面) Mesh compactness 7.1k (EdgeRunner) / 7.5k (BPT) InstPIFu 1942k / MIDI 1936k / DepR 320k 比InstPIFu小270倍,比DepR小43倍
A100推理时间 秒/场景 EdgeRunner 270s / BPT 402s DepR 72s / Uni-3D 3.1s 比DepR慢3-5倍(自回归代价)

局限与改进

**作者承认的局限**:(1) 推理速度慢(4.5-6.7分钟/场景),相比DepR的1.2分钟和Uni-3D的3.1秒有数量级差距——根因是自回归解码每场景数千token只能顺序生成。(2) 只重建前景物体(家具类),墙壁、地板、天花板等大平面背景结构被刻意排除,这限制了场景的完整性和碰撞/物理仿真等应用。(3) 依赖外部感知模型的精确度——Table 5显示GT-segmentation能带来+12.6pp F-Score跃升,GT-depth能+5.5pp,说明当前方法在遮挡分割和单目深度上的误差仍是主要瓶颈。(4) 未对layout准确度做端到端的全评估,Box IoU(Table A.2)需要GT mask才能达到56.76%,真实部署时叠加分割误差后该指标会进一步下降。**观察到的额外局限**:(a) 分辨率受限——mesh tokenization要求把物体归一化到128(BPT)/512(EdgeRunner)分辨率的量化网格内,物理尺寸大的家具细节会丢失。(b) 跨类别不平衡——3D-FRONT数据集以椅子、沙发、床为主,训练分布外类别(书、装饰品、植物等)表现未知。(c) 单图像$\to$场景的高度病态本质仍未解决:Table 4用GT-depth+GT-layout能达到F-Score=87.19%物体级,但用预测输入仅82.27%,说明$\sim$5pp的精度差全部由感知误差贡献,这是上游模型能力的天花板。(d) 真实图像测试只展示了定性结果(Fig 4、Fig A.1),没有真实域的定量F-Score,泛化能力的数值化证据不足。

独立分析的弱点

**(1) 自回归解码的串行瓶颈**——每场景数千token必须顺序生成,是推理慢的根因。可改进方向:用speculative decoding做并行draft、蒸馏为非自回归模型(如MaskGIT-style)、对pose token单独做non-autoregressive回归。**(2) 上游感知误差的级联放大**——Table 5显示GT-segmentation能F-Score +12.6pp,说明mask错误会直接传到点云质量再到mesh。可改进方向:joint training segmentation/Depth Pro with the mesh decoder、加入mask noise-robust训练(训练时随机mask掉部分实例)。**(3) 缺乏背景重建**——墙/地板/天花板被忽略,限制了完整场景的实用性。可改进方向:增加一类"background plane token"或独立轻量平面重建分支用同一decoder生成。**(4) 量化分辨率天花板**——物体被强制归一化到单位立方体,物理尺寸差异大的物体细节共享同一token预算。可改进方向:hierarchical tokenization(先粗后细)、自适应量化步长、或对长物体局部tokenization后拼接。**(5) 类别不平衡与OOD**——3D-FRONT/3D-FUTURE以家具为主,训练分布外类别表现未知。可改进方向:纳入Objaverse、3D-FUTURE之外的物体库,用text-to-3D priors做zero-shot扩展。**(6) 真实域定量证据不足**——仅展示定性,缺少真实图像F-Score。可改进方向:在Pix3D等数据集上建立真实域benchmark并报告。

未来方向

**作者明确指出的方向**:从Table 4/5的oracle上限(F-Score 68.48%场景级、87.19%物体级)反推,提升感知模块(特别是分割)是最高性价比的下一步。**基于成果可延伸的方向**:(a) 视频输入扩展——多视图时序信息可以替代单图深度估计,从根本上缓解遮挡问题,把CD-S从49.1再降一个台阶;(b) 文本引导的编辑——mesh已经是explicit表示,可以在BOS之前插入text-conditioned token实现"把这把椅子换成沙发"之类的编辑;(c) 物理属性推理——3D bounding box已经给出位姿,可以联合回归质量、摩擦系数等物理参数,让重建结果直接进入仿真器;(d) 大规模3D数据预训练——当前只训在3D-FRONT的2.3万场景上,迁移到Objaverse-XL等百万级物体库有望进一步提升物体级F-Score到接近DepR的90%;(e) 与LLM-agent结合——把重建的mesh作为可调用工具,让语言agent能"在3D场景中走来走去";(f) 自回归-扩散混合架构——用diffusion加速位姿token生成(位姿空间连续性更强),保留自回归生成mesh(离散token空间更优)。

复现评估

**开源情况**:论文正文与附录未明确声明代码/模型权重开源,arXiv链接为2603.05888v1,需关注后续项目页https://mlpc-ucsd.github.io/PixARMesh的更新。**数据集**:3D-FRONT与3D-FUTURE公开可下载,Pix3D、ScanNet、Matterport3D均有公开链接,作者使用了InstPIFu的预处理版本作为起点——数据获取门槛低。**训练算力**:8×H100,EdgeRunner分支约2天、BPT分支约18小时,属于学术顶会典型配置。**复现难度**:中-高。**难点1**:依赖Grounded-SAM、Depth Pro、DINOv2三个外部模型的精确版本和prompt设置(Grounded-SAM对类别prompt敏感);**难点2**:mesh tokenization需要严格对齐EdgeRunner/BPT原仓库的量化词表(EdgeRunner 518、BPT 40960),版本差异会导致token不对齐;**难点3**:两阶段训练(layout warm-up + joint training)的具体iter次数和loss balance对最终F-Score影响较大(EdgeRunner 100k+30k、BPT 30k+25k);**难点4**:数据预处理含Hausdorff距离$\tau=0.01$的经验阈值和平面简化参数,复现时需要重新调校才能匹配作者报告的1.8k面/物体目标。**评估门槛低**:CD与F-Score计算在文中给出了10k均匀采样的标准做法;Box IoU可参考MIDI的评测脚本。