【3D 场景生成】NuiScene: Exploring Efficient Generation of Unbounded Outdoor Scenes

NuiScene:面向无边界户外场景的高效生成方法

源码链接:https://3dlg-hcvc.github.io/NuiScene/

发表:ICCV-2025

图1. 本文所提模型可实现大规模户外场景几何结构的高效、无边界生成。场景纹理由SceneTex6完成。

摘要

本文针对广阔户外场景生成任务展开研究,生成对象涵盖城堡、高层建筑等多种户外场景。过往研究主要聚焦于室内场景生成,而户外场景生成存在诸多独有难题:场景高度差异极大,同时需要能够快速构建大规模地貌的生成方案。为解决上述问题,本文提出一种高效方法,将场景分块编码为统一向量集形式。相较于现有方法采用的空间结构化隐特征,该方案具备更优的压缩能力与运行性能。此外,本文训练了专用的显式外补绘制模型以实现无边界场景生成。相较于传统基于重采样的内补修复方案,该模型不仅提升了场景整体连贯性,还省去额外的扩散步骤,进一步加快生成速度。为支撑相关研究,本文构建了NuiScene43数据集,该数据集规模适中但场景质量优异,且完成预处理工作,可支持模型联合训练。实验结果表明,在多风格场景数据上完成训练后,本文模型能够在同一场景中融合不同环境元素(例如乡村民居与城市摩天大楼)。这一结果也验证了本文数据集构建方案可有效利用多类型异质场景开展联合训练。

1 引言

大规模户外场景生成在诸多领域具备重要应用价值,例如为开放世界游戏构建沉浸式虚拟世界、制作影视计算机图形(CGI)场景以及搭建虚拟现实仿真环境。传统方式打造这类巨型户外场景,需要投入大量人工与资源。得益于人工智能内容生成技术的快速发展,这一任务的落地门槛大幅降低,生成效率也得到显著提升。

以Stable Diffusion38为代表的扩散模型在图像生成领域取得成功,在此基础上,独立三维物体生成模型24,48也逐步走向成熟。这类模型的发展,很大程度上依托于Objaverse10等大规模三维数据集。然而,大规模场景生成技术仍存在明显短板,现有研究大多围绕室内场景展开4,18,33,47。部分研究虽采用语义驾驶数据集26,27,31或计算机辅助设计(CAD)模型30,但这类数据存在几何质量不佳、场景样式单一、高度变化范围有限等问题。

与现有方法不同,本文聚焦于难度更高的户外场景生成任务,主要面临三大挑战:第一,实现高度多变的户外场景快速、高效生成;第二,将不同风格的地貌元素融合为连贯统一的完整场景;第三,构建适配该任务的数据集,支撑异质场景的联合训练与相关算法研究。

现有面向无边界室内场景生成的方法大多基于3D-Front12数据集,这类方法将场景划分为等大立方体,并学习三平面表示47、稠密特征网格33等空间结构化隐特征以完成数据压缩。但该思路难以适配摩天大楼等高度差异显著的户外建筑场景。如图3所示,若直接对这类特征表示进行缩放,会造成显存占用激增;而通过归一化缩放场景尺寸,又会导致场景细节丢失。

1.稠密网格是全局规则结构,不支持局部自适应分辨率。整个分块只能使用一套统一的网格密度,无法做到 "水平轴稀疏、竖直轴加密",因此只能要求原始空间三轴跨度相近。

2.三平面的核心依赖均匀像素分布的双线性插值,尺度失衡会彻底破坏插值的一致性。它的设计初衷就是为三轴均衡的立方体空间服务,无法适配极端狭长的竖直空间。

3.3D 几何模型为了训练稳定,必须将坐标归一化到固定区间(如−1,1):

尺度均衡时:归一化是等比例缩放,不破坏三轴的相对精度;

尺度失衡时:归一化会非线性挤压长轴空间,直接抹杀长轴的精细几何信息。

这个训练层面的硬约束,进一步锁死了这类结构的适用范围。

为解决该问题,本文将场景分块压缩为向量集52。相较于三平面表示,向量集能够实现更高效的数据压缩,既提升训练效率,也能优化生成结果的质量。与此同时,本文针对扩散模型设计显式外补绘制策略,相比依赖重采样内补修复的现有方法33,47,进一步缩短推理耗时。

除此之外,过往研究所使用的数据集风格较为单一,例如仅包含室内场景或城市道路场景。而本文旨在构建可融合多类场景的生成模型,如图2所示,模型能够将城堡、现代城市等不同场景元素融为一体。

图2. 本文模型在多场景数据上训练后所生成的场景,场景纹理由SceneTex6生成。如图所示,该模型能够融合数据集中不同场景的元素,例如城堡与摩天大楼。

图3. 针对高度不一的场景分块,向量集可提供紧凑且统一的特征表示;而现有方法采用空间结构化隐特征时,为适配不同高度,要么缩放隐特征分辨率,要么缩放场景分块本身,前者会导致显存占用过高,后者则会造成纵轴(Y轴)细节丢失。

另一大现存难题是,目前缺乏可公开使用的高质量户外场景训练数据。3D-Front12常被用于无边界室内场景生成任务,但该数据集的场景高度缺乏多样性,也不包含家具以外的复杂几何结构。语义驾驶数据集2,45与城市重建数据集13,14,37的网格模型质量普遍偏低。Objaverse10虽包含大量可用于该任务的场景数据,但仍存在诸多问题:场景网格缺乏统一的全局尺度,地面几何形态差异极大(从极薄平面到厚实体结构均有分布),难以作为标准同质数据集训练生成模型。

针对以上问题,本文从Objaverse中筛选出一批场景数据,统一修正地面几何形态并设定全局尺度。基于处理后的数据集,本文所提方法可同时处理两类任务:一是适配高度分布多样化的场景;二是学习不同来源、不同风格的户外几何结构。实验证明,本文的数据集预处理流程能够支持异质场景在同一模型中完成联合训练。

综上,NuiScene方法的核心贡献可归纳为四点:

  1. 高效特征表示:提出使用向量集对尺寸各异的场景分块进行编码,得到统一形式的特征表示,兼顾训练效率与场景生成质量。
  2. 外补绘制模型:摒弃传统依赖重采样的慢速外补绘制方案,训练专用扩散模型,基于已生成的完整场景分块做条件约束,实现显式外补绘制,大幅提升推理速度。
  3. 跨风格场景生成:实验证明,仅使用4组经过筛选的场景数据训练得到的NuiScene模型,即可融合中世纪建筑、现代城市等不同风格的场景元素,同时也验证了数据集预处理流程的有效性。
  4. NuiScene43数据集 :该数据集包含43个中大型户外场景,全部完成地面几何修复与尺度统一。数据集可支撑异质场景联合训练,助力无边界场景生成算法的研发,能够适配场景高度多样化场景风格多元化两大研究方向。

2 相关工作

基于文生图像先验的三维场景生成

近年来,借助文生图像(T2I)扩散模型38与单目深度估计方法3,20,23的先验知识,从文本或图像生成三维场景的技术路线受到广泛关注8,11,41,51。这类方法首先利用文生图像模型生成彩色图像,再通过深度预测模型提取几何信息,最后基于所得信息对三维几何结构进行特征蒸馏或优化。通过移动相机并合成新区域,该类方案可实现连续外补绘制与无边界场景生成。

文生图像模型具备强大的先验能力,能够支撑开放域场景生成,但深度预测过程会不断累积误差,进而造成几何畸变,同时难以保障场景的长距离一致性。

有界单样本三维场景生成

现有多项研究聚焦于基于单一样本生成三维场景19,28,44,46,普遍采用由粗到细的渐进式策略,在不同尺度下提取图块统计特征。与SinGAN39思路类似,SinGRAV44、3INGAN19以及吴、郑二人提出的方法46均构建了生成对抗网络(GAN)金字塔结构:判别器针对小尺寸图块进行约束,以此保证局部内容的连贯性,同时允许全局布局多样化。

李等人28引入基于期望最大化(EM)的优化算法,完成多尺度下的图块匹配与融合。这类方法虽能生成布局、长宽比各不相同的场景,但仅支持有边界生成;若直接一次性生成大尺寸完整场景,会产生极高的显存开销。

无边界三维场景生成

主流的三维无边界场景生成框架思路如下:首先将完整场景切分为若干小型分块,利用自编码器将分块压缩为隐特征表示,随后基于场景分块的隐特征训练扩散模型。在生成阶段,将当前分块与已生成的相邻分块进行重叠,并结合RePaint32等基于重采样的内补修复算法,实现连续的外补绘制。

已有研究基于CarlaSC45、SemanticKITTI2等合成数据与真实世界语义驾驶数据集,探索户外无边界场景生成任务。这类数据集虽可支撑一定规模的场景生成,但场景几何质量普遍偏低。SemCity27沿用上述主流框架,并选用三平面作为隐特征表示;金字塔离散扩散模型(PDD)31直接在原始语义网格上构建金字塔型离散扩散模型,并搭配场景分块模块,依托重叠区域作为条件完成生成。

与PDD依托稠密网格、以重叠区域为条件的设计不同,本文方法以完整相邻分块作为条件,能够提供更丰富的上下文信息。受数据集本身限制,上述方法均存在几何质量不佳、场景高度变化不足的问题。

针对无边界室内场景生成任务,现有方法大多基于3D-Front12数据集开展训练,且默认将场景划分为立方体分块。BlockFusion47与SemCity思路一致,将场景分块压缩为三平面特征,同时额外使用一个变分自编码器(VAE)对三平面进一步降维,去除特征冗余,优化扩散模型的学习效果。LT3SD33则将基于临时有向距离场(TUDF)的场景分块编码为多级稠密特征网格隐特征树,自编码器与扩散模型均采用分层架构,实现分块由粗到细的生成。

这类特征表示在层高固定的室内场景中表现良好,但面对高度差异极大的户外环境时会出现明显缺陷,具体如图3所示。为解决该问题,本文采用向量集表示法:该方式可将不同尺寸的场景分块压缩为统一规格,不仅拥有更优异的压缩效果与综合性能,还结合专用外补绘制模型进一步提升生成速度。

其他户外无边界生成方法

还有部分研究采用不同技术路线实现户外无边界场景生成。CityDreamer49与InfiniCity30依托俯视视角完成无边界生成,但生成结果仅限城市场景,且几何分辨率较低。SceneDreamer7与Persistent Nature5是仅使用二维图像生成无边界三维场景的代表性工作,具备较大发展潜力;但由于缺少显式三维监督,最终生成的几何结构细节匮乏。

图4. 本文变分自编码器(VAE)与扩散模型整体架构。VAE部分采用向量集(vecset)52完成隐特征压缩;扩散模型为带条件约束的显式外补绘制模型,共设置四种约束模式,可在推理阶段以光栅扫描的方式快速生成场景。

3 方法

本文将大型户外场景拆解为若干局部场景分块。首先利用变分自编码器(VAE)将单个分块压缩为向量集形式的隐特征,再基于该隐特征训练扩散模型,实现以 2 × 2 2 \times 2 2×2 网格形式生成相邻场景分块。结合上述两个模型,即可完成连续、无边界的户外场景合成。本文的训练框架(见图4)沿用隐扩散模型(LDM)38的设计思路。

下文将在3.1节介绍数据集构建流程与训练分块的采样方式;为实现高效场景生成,本文对比了三平面隐特征与向量集隐特征两种方案,并在3.2节阐述变分自编码器主干网络,以及如何从隐特征解析得到占据信息;为提升推理速度,本文训练了专用显式外补绘制扩散模型,相关细节见3.3节;3.4节补充说明如何借助SceneTex6为场景添加纹理。

3.1 数据集

筛选与预处理

本研究首先借助DuoduoCLIP25的多视图嵌入特征对Objaverse10数据集做筛选,最终选出43个高质量场景。随后为所有场景标注相对尺度,建立统一的全局尺度标准。接着按照标注的相对尺度设定体素网格分辨率,将每个场景转换为占据网格,并结合移动立方体算法生成网格模型,用于后续点云采样。为保证不同场景的地面几何形态保持一致,本文在每个场景的地表下方设置固定厚度的体素层。更多细节可参考补充材料。


Q:占据网格和网格模型是什么?

图5. 经过本文预处理流水线处理后的示例场景。对占据网格执行移动立方体算法,即可得到对应的网格模型。

分块采样

图5展示了经预处理后的示例场景,其对应占据网格的维度为 1059 × 478 × 1059 1059 \times 478 \times 1059 1059×478×1059。为适配模型训练,沿 x y xy xy平面与 z z z轴方向,将整体场景划分为尺寸为 ( 50 , h v o x , 50 ) (50, h_{vox}, 50) (50,hvox,50) 的小型分块,其中 y y y轴为高度轴。分块采样规则为 occ i − 25 : i + 25 , : , k − 25 : k + 25 \text{occ}i-25: i+25,:, k-25: k+25 occi−25:i+25,:,k−25:k+25, i i i、 k k k 分别代表场景在 x x x轴、 z z z轴方向的采样坐标。单个分块的体素高度 h v o x ≤ 478 h_{vox} \le 478 hvox≤478,由该分块内位置最高的被占据体素决定。

训练阶段,在分块的占据网格内采样坐标点 r v o x = ( x v o x , y v o x , z v o x ) r_{vox}=(x_{vox}, y_{vox}, z_{vox}) rvox=(xvox,yvox,zvox),坐标满足 0 ≤ x v o x , z v o x ≤ 50 0 \le x_{vox}, z_{vox} \le 50 0≤xvox,zvox≤50 且 0 ≤ y v o x ≤ h v o x 0 \le y_{vox} \le h_{vox} 0≤yvox≤hvox,同时提取每个坐标对应的真实占据值 o ˉ \bar{o} oˉ。随后对采样坐标执行归一化操作:

r = 2 ⋅ ( r v o x / d ) − 1 r=2 \cdot (r_{vox} / d)-1 r=2⋅(rvox/d)−1

式中 d = ( d x , d y , d z ) d=(d_{x}, d_{y}, d_{z}) d=(dx,dy,dz) 为各坐标轴对应的归一化尺度。

分块的真实高度计算公式为:

h ~ = 2 ⋅ ( h v o x / 50 ) − 1 \tilde{h}=2 \cdot (h_{vox} / 50)-1 h~=2⋅(hvox/50)−1

分块对应的点云采用相同规则完成归一化,此时归一化尺度统一设为 d = ( 50 , 50 , 50 ) d=(50,50,50) d=(50,50,50)。

3.2 场景分块变分自编码器

3.2.1 编码器

编码器 ε \varepsilon ε 负责将高度各不相同的场景分块集合 P P P,压缩为维度统一的向量集。对于任意分块 P i P_i Pi,首先从中均匀采样固定数量的点云 p ∈ R N p × 3 p \in \mathbb{R}^{N_p \times 3} p∈RNp×3,点云总数记为 N p N_p Np。本文参考3DShape2Vecset52的架构,使用交叉注意力(CA)层对点云特征进行聚合,依托一组可学习的固定特征大幅缩减特征令牌数量,得到紧凑的特征表示。

随后通过全连接(FC)层预测隐特征的均值与方差,并运用重参数化技巧 21生成场景分块的嵌入特征,最终输出 z p = E ( p ) ∈ R V × c z^p=E(p) \in \mathbb{R}^{V \times c} zp=E(p)∈RV×c。其中 V V V 为向量数量, c c c 为特征通道数。

实验发现,该基础结构容易出现变分自编码器典型的后验坍缩 42问题。为此本文设计了一种新型正则化方案:从同一个场景分块 P i P_i Pi 中额外采样一组点云 q ∈ R N p × 3 q \in \mathbb{R}^{N_p \times 3} q∈RNp×3,约束两组点云对应的嵌入特征保持一致,对应的损失函数为:

L e m b = ( z p − z q ) 2 L_{emb}=(z^p-z^q)^2 Lemb=(zp−zq)2

该约束能够避免编码器忽略输入信息,确保同一场景分块采样得到的不同点云生成近似的嵌入特征,且额外计算开销极低,仅需多完成一次交叉注意力层与全连接层的前向传播。

除此之外,本文基于嵌入特征预测场景分块的高度,用于在推理阶段剔除无效的占据值预测区域。由于推理阶段的嵌入特征由扩散模型生成,无法获取分块真实高度,因此该预测模块是必要的。

具体实现方式为:学习高度嵌入特征 e h ∈ R 1 × c e_h \in \mathbb{R}^{1 \times c} eh∈R1×c,将其与隐特征执行交叉注意力运算,再通过全连接层得到预测高度 h ¨ = FC ( CA ( z p , e h ) ) \ddot{h}=\text{FC}(\text{CA}(z^p, e_h)) h¨=FC(CA(zp,eh))。高度损失函数定义为:

L h e i g h t = ( h ^ − h ~ ) 2 L_{height}=(\hat{h}-\tilde{h})^2 Lheight=(h^−h~)2

其中 h ^ \hat{h} h^ 为模型预测高度, h ~ \tilde{h} h~ 为分块真实高度。

3.2.2 解码器

解码器将嵌入特征依次经过 L L L 层自注意力(SA)层处理,得到输出特征 f o u t = SA ( L ) ∘ ⋯ ∘ SA ( 1 ) ( z p ) f_{out} = \text{SA}^{(L)} \circ \dots \circ \text{SA}^{(1)}(z^p) fout=SA(L)∘⋯∘SA(1)(zp)。随后将输出特征输入三平面分支或向量集分支,解码得到空间占据信息。

三平面分支

对于三平面分支,先将 f o u t f_{out} fout 重塑为三平面结构,再参照LRM16的方式通过反卷积完成上采样,最终得到特征网格 T ∈ R 3 × h t r i × w t r i × c t r i T \in \mathbb{R}^{3 \times h_{tri} \times w_{tri} \times c_{tri}} T∈R3×htri×wtri×ctri。

按照3.1节规则对查询点 r t r i r_{tri} rtri 做归一化,此时归一化尺度设置为 d = ( 50 , 50 ⋅ S , 50 ) d=(50, 50 \cdot S, 50) d=(50,50⋅S,50),尺度因子 S S S 用于进一步压缩 y y y轴方向的坐标。为保证坐标取值落在 − 1 , 1 -1, 1 −1,1 区间内、满足三平面采样要求,本文对坐标进行截断处理。本文定义三平面左边界与下边界为 − 1 -1 −1,右边界与上边界为 1 1 1。

通过双线性插值从三平面中提取特征并完成特征拼接,再经由全连接层预测查询点的占据值 o ^ r \hat{o}_r o^r。

向量集分支

向量集分支中,查询点 r v e c r_{vec} rvec 的归一化尺度统一设为 d = ( 50 , 50 , 50 ) d=(50,50,50) d=(50,50,50)。依托交叉注意力机制完成占据值预测,计算方式如下:

o ^ r = FC ( CA ( f o u t , PE ( r v e c ) ) ) \hat{o}r=\text{FC}(\text{CA}(f{out}, \text{PE}(r_{vec}))) o^r=FC(CA(fout,PE(rvec)))

其中 PE \text{PE} PE 代表查询点的傅里叶位置编码。

损失函数

本文采用二元交叉熵损失 L c e = BCE ( o ^ r , o ~ r ) L_{ce}=\text{BCE}(\hat{o}_r, \tilde{o}_r) Lce=BCE(o^r,o~r) 监督占据值预测, o ~ r \tilde{o}r o~r 为真实占据值;同时引入KL散度损失 L k l L{kl} Lkl 约束嵌入特征的分布,相关细节可参考Zhang等人的工作52

模型总损失函数为:

L = λ k l L k l + λ e m b L e m b + λ c e L c e + λ h e i g h t L h e i g h t L=\lambda_{kl} L_{kl}+\lambda_{emb} L_{emb}+\lambda_{ce} L_{ce}+\lambda_{height} L_{height} L=λklLkl+λembLemb+λceLce+λheightLheight

式中 λ \lambda λ 为各项损失对应的权重系数。

与三平面表示不同,向量集表示允许查询点坐标超出 − 1 , 1 -1, 1 −1,1 范围。这是因为交叉注意力与位置编码可直接处理任意取值的坐标,无需将坐标限制在固定区间内。

推理阶段解码

推理阶段无法获取分块的真实高度 h ~ \tilde{h} h~,因此使用模型预测高度 h ^ \hat{h} h^ 剔除无效计算区域,具体流程如下:

  1. 模型首先预测出当前分块的高度 h ^ \hat{h} h^;
  2. 在尺寸为 ( 50 , 50 ⋅ ( h ^ + 1 ) / 2 , 50 ) (50, 50 \cdot (\hat{h}+1)/2, 50) (50,50⋅(h^+1)/2,50) 的空间范围内生成全部查询坐标 r v o x r_{vox} rvox;
  3. 按照公式 r = 2 ⋅ ( r v o x / d ) − 1 r=2 \cdot (r_{vox} / d)-1 r=2⋅(rvox/d)−1 对坐标做归一化;
  4. 利用归一化坐标查询隐特征,得到所有位置的占据预测结果;
  5. 对占据体素场执行移动立方体算法,重构出场景分块的网格模型。

3.3 扩散模型

现有方法27,33,47大多依靠RePaint32实现外补绘制,该方案需要执行额外的扩散迭代步骤,运行效率较低。为此本文设计了更高效的实现方案:所提外补绘制扩散模型可一次性生成 2 × 2 2 \times 2 2×2 网格内的4个场景分块,并依托多种约束模式,以已生成分块为条件完成上下文约束,支持按照光栅扫描顺序实现连续场景生成,四种约束模式见图4。

本文采用DDPM15构建扩散概率模型。训练阶段,从场景中采样一组呈 2 × 2 2 \times 2 2×2 网格排布的相邻分块隐特征 { z 0 , z 1 , z 2 , z 3 } \{z^0, z^1, z^2, z^3\} {z0,z1,z2,z3},该组特征由变分自编码器编码得到,分块排布顺序见图4。

每一轮训练中,首先随机选取时间步 t ∈ 1 , T t \in 1, T t∈1,T,并采样高斯噪声 ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, I) ϵ∼N(0,I),将噪声叠加到嵌入特征组上,得到含噪隐特征 X t = { x t 0 , x t 1 , x t 2 , x t 3 } ∈ R 4 × V × c X_t=\{x_t^0, x_t^1, x_t^2, x_t^3\} \in \mathbb{R}^{4 \times V \times c} Xt={xt0,xt1,xt2,xt3}∈R4×V×c。其中 x t i ∈ R V × c x_t^i \in \mathbb{R}^{V \times c} xti∈RV×c 代表第 i i i 个分块在时间步 t t t 下的含噪隐特征。

扩散模型将含噪隐特征 x t x_t xt 作为输入,同时接收二值掩码与对应条件嵌入特征。掩码用于标记已生成的分块,条件嵌入特征则为外补绘制提供上下文信息。本文共设计四种约束配置,每种配置对应专属掩码 M M M 与条件嵌入特征 Z c o n d Z_{cond} Zcond,如图4所示。

掩码定义为 M = { m 0 , m 1 , m 2 , m 3 } ∈ R 4 × V × 1 M=\{m^0, m^1, m^2, m^3\} \in \mathbb{R}^{4 \times V \times 1} M={m0,m1,m2,m3}∈R4×V×1,掩码取值分为四类组合: { 0 , 0 , 0 , 0 } \{0, 0, 0, 0\} {0,0,0,0}、 { 1 , 0 , 1 , 0 } \{1, 0, 1, 0\} {1,0,1,0}、 { 1 , 1 , 0 , 0 } \{1, 1, 0, 0\} {1,1,0,0}、 { 1 , 1 , 1 , 0 } \{1, 1, 1, 0\} {1,1,1,0},其中 0 , 1 ∈ R V × 1 0, 1 \in \mathbb{R}^{V \times 1} 0,1∈RV×1。

结合上述四类掩码组合,条件嵌入特征 Z c o n d Z_{cond} Zcond 依次构建为: { 0 , 0 , 0 , 0 } \{0, 0, 0, 0\} {0,0,0,0}、 { z 0 , 0 , z 2 , 0 } \{z^0, 0, z^2, 0\} {z0,0,z2,0}、 { z 0 , z 1 , 0 , 0 } \{z^0, z^1, 0, 0\} {z0,z1,0,0}、 { z 0 , z 1 , z 2 , 0 } \{z^0, z^1, z^2, 0\} {z0,z1,z2,0},式中 0 ∈ R V × c 0 \in \mathbb{R}^{V \times c} 0∈RV×c。

将掩码 M M M、条件嵌入特征 Z c o n d Z_{cond} Zcond 与位置编码 PE \text{PE} PE 进行拼接,得到扩散模型的最终条件输入:

C = M ⊕ Z c o n d ⊕ PE C=M \oplus Z_{cond} \oplus \text{PE} C=M⊕Zcond⊕PE

本文选用Craftsman29提出的类UNet Transformer作为去噪网络 ϵ θ \epsilon_\theta ϵθ。模型的训练目标为对含噪隐特征做去噪处理,损失函数如下:

E X , C , ϵ ∼ N ( 0 , I ) , t ∥ ϵ − ϵ θ ( ( X t ⊕ C ) , t ) ∥ 2 2 \mathbb{E}_{X, C, \epsilon \sim \mathcal{N}(0, I), t}\big\\\|\\epsilon-\\epsilon_\\theta\\left(\\left(X_t \\oplus C\\right), t\\right)\\\|_2\^2\\big EX,C,ϵ∼N(0,I),t∥ϵ−ϵθ((Xt⊕C),t)∥22

扩散模型训练过程中,会随机选用四种约束配置中的一种,并加载对应的掩码与条件嵌入特征。关于光栅扫描式生成的更多细节可参考补充材料。

3.4 场景纹理映射

本文可选用SceneTex6为生成的场景添加纹理。针对户外大场景,本文对相机参数进行优化调整,相比SceneTex默认的球面相机,能够实现更全面的场景覆盖。

具体操作:在Blender软件中手动设置相机运动轨迹与移动速度并添加关键帧;根据场景形态与尺度差异,最终生成1200至1800个关键帧,用于SceneTex的训练。将整体场景归一化至 − 1 , 1 3 -1,1^3 −1,13 空间范围,相机视场角设置为 40 ∘ 40^\circ 40∘,近裁剪距离设为 0.01 m 0.01\ \text{m} 0.01 m。更多细节见补充材料。

4 实验

4.1 数据集

单场景实验采用图5中的预处理场景开展训练。实验不再单独采样小型分块,而是选取尺寸为 ( 100 , h v o x , 100 ) (100, h_{vox}, 100) (100,hvox,100) 的四分块 进行采样,该四分块由 2 × 2 2 \times 2 2×2 排布、尺寸为 ( 50 , h v o x , 50 ) (50, h_{vox}, 50) (50,hvox,50) 的小型分块构成。采样规则为 occ i − 50 : i + 50 , : , k − 50 : k + 50 \text{occ}i-50: i+50,:, k-50: k+50 occi−50:i+50,:,k−50:k+50,沿场景的 x x x 轴与 z z z 轴完成采样。实验总计采样10万个四分块,其中9.5万个作为训练集,5000个作为验证集。这些四分块彼此存在重叠,但因采样坐标不同,内容并不重复。

本实验将单次输入的四分块数量定义为批次大小。在变分自编码器训练阶段,每个四分块会被拆分为4个小型分块,最终得到38万个训练样本与2万个验证样本。针对扩散模型训练,先使用变分自编码器对四分块对应的点云完成编码,再将得到的隐特征送入扩散模型。

多场景实验在原有单一场景的基础上额外增加3个场景参与训练,最终从全部场景中累计采样30万个四分块。

4.2 评价指标

重建任务 :参照Zhang等人52的评估方案,在验证集上对比真实分块与重建分块,采用倒角距离(CD) 、F分数与交并比(IoU)作为重建评价指标。计算倒角距离与F分数时,为每个分块采样5万个点,阈值设定为 2 / 50 2/50 2/50(即小型分块的体素边长)。计算交并比时,总共采样2万个占据值,其中1万个取自被占据区域与未被占据区域,另外1万个取自模型近表面区域。

生成任务 :采用**弗雷歇点云网络距离(FPD)核点云网络距离(KPD)**评估扩散模型的生成质量,评估流程同样遵循Zhang等人52的方案。本文使用Point-E34中的PointNet++模型,并按照Yan等人50的实验规则执行。具体流程为:从扩散模型中采样1万个四分块,提取每个四分块的表面点云(单块包含2048个点),再与原始场景中采样的1万个四分块进行对比,计算对应指标。

4.3 模型与对比基线

本文选用在过往研究中被广泛应用的三平面表示作为基线模型27,47。本工作未直接采用BlockFusion的三平面架构,原因是该架构需要为数据集中所有分块拟合三平面特征,基于3D-Front数据集完成该流程需要数千小时的GPU算力。因此本文选用基于LRM16架构的变分自编码器主干网络(详见3.2节)。

本文排除了稠密网格类方法31,33:稠密网格的显存占用会随分辨率呈三次方增长,而三平面仅为二次方增长;在本任务中,部分场景分块的高度可达其 x 、 z x、z x、z 轴维度的8.5倍,会进一步加剧稠密网格的显存消耗。与此同时,LT3SD33要求自编码器与扩散模型均执行多尺度训练,会显著增加整体训练耗时。

变分自编码器配置

  • 三平面基线模型:设置隐特征数量 V = 3 × 4 2 V=3 \times 4^2 V=3×42,调整归一化尺度因子 S S S 与反卷积层数(反卷积层数决定模型输出分辨率),相关配置见表1。
  • 向量集模型:设置向量数量 V = 16 V=16 V=16,该配置在保留几何保真度的同时,能够支撑扩散模型高效训练。

两类特征表示统一设置特征通道数 c = 64 c=64 c=64,单分块采样点云数量 N p = 4096 N_p=4096 Np=4096;三平面分支的输出通道数 c t r i = 40 c_{tri}=40 ctri=40。解码器共包含 L = 24 L=24 L=24 层自注意力层。所有变分自编码器模型均训练160轮,每次迭代会为每个分块采样4096个查询点,用于占据值的监督学习。

扩散模型配置

所有扩散模型均采用25层类UNet Transformer29作为去噪主干网络。三平面扩散模型基于变分自编码器输出的隐特征训练,三平面输出分辨率设为 h t r i = w t r i = 64 h_{tri}=w_{tri}=64 htri=wtri=64,尺度因子 S = 6 S=6 S=6。所有扩散模型统一训练320轮,批次大小设置为192。由于扩散模型会一次性生成 2 × 2 2 \times 2 2×2 网格内的4个分块,Transformer的输入令牌长度为 4 × V 4 \times V 4×V。

表1 向量集与三平面主干网络的变分自编码器训练资源对比。大部分实验基于2块L40S显卡运行,表中批次大小与显存为所有显卡的合计数值。隐特征数量代表变分自编码器主干的隐特征规模,输出分辨率为反卷积处理后的三平面尺寸。将三平面输出分辨率提升至 3 × 128 2 3 \times 128^2 3×1282 时,需要使用4块显卡完成训练。

4.4 单一场景实验

单场景实验主要用于对比向量集表示与三平面这类空间结构化隐特征的性能。4.4.1节展示变分自编码器的重建结果,4.4.2节对比扩散模型的综合表现。实验证明,向量集具备更优异的压缩能力,训练效率与生成效果均全面优于三平面。

4.4.1 变分自编码器重建

表3 不同变分自编码器主干网络的重建结果定量对比。 h ^ \hat{h} h^ 代表采用模型预测高度计算占据值, h ~ \tilde{h} h~ 代表采用真实高度计算占据值。

表3为各类模型的重建量化结果,可以看出向量集模型的重建效果优于所有三平面配置。实验分别使用**预测高度 h ^ \hat{h} h^ 真实高度 h ~ \tilde{h} h~**重构网格并计算倒角距离、F分数,两组结果数值高度接近,这也验证了本文高度预测模块具备较高的精度。

对于三平面模型而言,其性能受限于变分自编码器的输出分辨率:当输出分辨率从 3 × 32 2 3 \times 32^2 3×322 提升至 3 × 64 2 3 \times 64^2 3×642 时,模型重建效果逐步提升。但针对高层建筑场景,若建筑高度超出尺度因子 S = 6 S=6 S=6 的适配范围,三平面采样阶段的坐标截断操作会导致高层建筑结构无法完整重建。若将尺度因子 S S S 调整至8.5(匹配数据集内最高分块的高度), y y y 轴方向会被过度压缩,造成精度大幅下降,模型整体性能明显退化。

虽然可通过反卷积将分辨率进一步提升至 128 2 128^2 1282,但该配置需要4块L40S显卡才能完成训练(见表1)。反观向量集模型,其隐特征数量仅为16,压缩效率更高;同时训练耗时、显存占用与最低分辨率的三平面模型基本持平,充分证明向量集在场景分块表征任务中兼具高效性与高性能。更多实验结果见补充材料。

4.4.2 扩散模型

生成质量

表4 三平面与向量集扩散模型针对四分块生成结果的指标对比。KPD指标的数值均乘以 10 3 10^3 103。

表4展示了FPD与KPD两项指标的对比结果,向量集扩散模型的性能明显优于三平面基线模型。

图6 基于单一场景训练的向量集与三平面模型生成结果对比。橙色框及局部放大视图用于展示分块外补绘制的连贯性,紫色框用于展示场景整体几何结构(放大可查看细节)。为便于观察,放大视图调整了相机角度。可以看到,三平面模型难以还原建筑细节,还会产生噪声伪影;向量集模型的几何保真度更高。两类模型均能生成道路、管道等衔接自然的连续分块(右侧橙色框),但偶尔会出现分块衔接失效的问题,例如桥梁断裂、结构不连续(左侧橙色框)。

图6为规模 21 × 21 21 \times 21 21×21 的场景可视化结果。三平面模型无法还原精细的建筑细节,还易产生噪声伪影,这也是其FPD、KPD指标偏高的核心原因,问题根源在于 y y y 轴方向查询点的压缩处理。结合表2可知,向量集模型的训练速度约为三平面模型的2.5倍,显存占用仅为后者的一半。这是因为向量集对应的令牌总数更少,令牌数量仅为三平面模型的三分之一。

表2 向量集表示与三平面表示的扩散模型训练资源对比。所有实验基于1块A6000显卡运行。令牌数量为Transformer的输入令牌长度。

外补绘制效果

本文将所提方法与RePaint32开展对比,该方法是过往多项无边界场景生成研究27,33,47中主流的外补绘制方案。实验中保持场景生成顺序、分块重叠规则与本文方法完全一致。RePaint会将掩码与条件嵌入特征置零,依靠迭代重采样机制引入已有分块的上下文约束。

图7 对比RePaint外补绘制在重采样步数 r = 1 r=1 r=1 与 r = 5 r=5 r=5 时的生成效果。

当重采样步数 r = 1 r=1 r=1 时,分块之间的衔接性极差,甚至出现场景结构崩塌,推测原因是模型以扩散生成的含噪分块作为约束条件;当重采样步数提升至 r = 5 r=5 r=5 时,场景连贯性有所改善,但生成内容的多样性下降,同时依旧存在结构崩塌问题(详见补充材料)。

除此之外,RePaint的推理速度远低于本文的显式外补绘制方案(见表5),其推理耗时会随重采样步数增加而线性上升,而本文方法无需额外的重采样步骤。本文设计的外补绘制框架支持并行计算,也可迁移至33,47等现有方法中,进一步提升整体生成速度。

表5 推理耗时对比。基于RTX 2080 Ti显卡重复5次实验并取平均值,分别统计采用5次重采样的RePaint方案、三平面显式外补绘制模型、向量集显式外补绘制模型生成 21 × 21 21 \times 21 21×21 规模场景的耗时,统计维度分为嵌入特征生成耗时、占据值解码耗时两类。

本文的外补绘制方案仍存在一定缺陷,部分分块的衔接区域依旧会出现错位、噪声伪影等问题。如图6右侧橙色框所示,向量集扩散模型能够生成衔接连贯的分块;但左侧橙色框中出现了桥梁错位、分块之间存在缝隙与断层等问题。

4.5 多场景实验

4.4节的单场景实验已经验证:向量集表示可以有效处理高度多变的场景分块,同时本文的外补绘制模型能够实现大规模户外场景的快速生成。但仅基于单一场景训练时,模型生成的子场景会高度贴近训练数据,即便可以生成部分全新布局,内容多样性依旧有限(详见补充材料)。

为验证模型的泛化能力,同时检验NuiScene43数据集构建流程的有效性,本文基于向量集主干网络,在原有单一场景的基础上额外加入3个场景开展联合训练。

图8 (b) 本文多场景训练模型生成的大尺度场景。图中紫色框标注区域展示了模型融合不同原始场景元素(乡村民居、引水渠、摩天大楼)的效果。

图8(b)展示了多场景训练模型的生成结果。可以明显看到,模型能够融合乡村民居、引水渠、摩天大楼等来自不同原始场景的元素,而这类元素组合在训练数据中并不存在。该结果一方面证明模型具备良好的泛化能力,另一方面也验证了本文的数据集预处理方案,能够将风格差异极大的场景统一为可联合训练的标准数据,让模型实现不同环境分块的自然拼接。

本文还将所提方法与目前性能顶尖的图像转三维物体生成模型Trellis48开展对比,实验采用未进行网格简化的TRELLIS-image-large版本。

图8 (a) 本文模型与Trellis模型的效果对比。右上方为本文方法生成的几何结构,左上方是使用SceneTex6添加纹理后的效果;下方为对应渲染图输入Trellis后得到的重建结果(放大可查看细节)。本文方法生成的几何细节更加丰富。

由图8(a)可见,Trellis生成的几何结构细节较为粗糙。这类模型将完整场景映射为单一隐特征,该结构使其很难在大尺度环境中保留精细的几何信息。而本文对每一个场景分块进行独立编码,既能够生成细节更丰富的结构,也天然支持无边界场景的拓展。这也暴露出现有三维物体生成模型的核心缺陷:无法适配无边界大场景生成任务。

5 局限性

本研究目前仍存在多处局限,具体如下:

第一,现有方案需要离线预采样大量场景分块,会产生极高的存储开销,因此现阶段仅能使用少量场景完成训练。若采用效率更高的在线分块采样方案,就可以充分使用完整的NuiScene43数据集进行训练,同时还有望改善分块间连贯性不足的问题,缓解模型忽略上下文条件、生成结构断裂或分块错位的现象。

第二,本文的生成模型暂不支持人为控制与条件生成,原因是尚未为场景分块添加语义标签。后续可结合大基础模型1,22半自动生成语义图、文本描述等标注信息,在训练阶段引入条件约束,实现可控场景生成。该问题也是27,31,33,47等现有同类方法普遍存在的短板。

第三,模型仅能感知局部区域信息,缺少全局上下文建模能力,无法完成大范围的整体布局规划。未来可以探索具备全局规划能力的模型,模拟人工设计思路,生成路网连贯、整体布局合理的大型城区等场景。

最后,随着三维数据集9不断丰富,本研究希望能够打通两类主流技术路线的壁垒:一类是以WonderWorld51为代表、依托文生图像二维先验实现开放域虚拟世界生成的方法;另一类是直接基于三维数据训练的生成模型。从技术发展脉络来看,DreamFusion35依托文生图像先验实现物体级三维生成,而Trellis等模型直接基于三维数据训练,获得了更快的生成速度与更优的内容一致性。本文同样采用三维数据监督训练,但数据集规模仍有提升空间。后续计划通过半自动化流程完善数据集构建流水线,进一步扩充数据规模。即便如此,本文所构建的数据集也可作为无边界户外场景生成领域的标准评测基准。

6 结论

本文提出NuiScene方法,可用于生成风格多样、范围广阔的户外场景。针对户外场景高度变化剧烈、场景分块难以高效压缩的核心难题,本文采用向量集完成场景分块编码;同时设计显式外补绘制扩散模型,在提升场景连贯性的同时缩短推理耗时。为推动该领域研究,本文构建了NuiScene43数据集,其中包含大量风格各异的中大型户外场景,可支撑多类异质场景的联合训练。

相关推荐
探物 AI14 天前
【3D·感知】从PointNet到PointPillars:如何让自动驾驶汽车“实时“看见3D世界?
3d·自动驾驶·汽车
苏州邦恩精密14 天前
GOM三维扫描在制造中的真实价值:让“修模”从经验动作变成数据动作
人工智能·科技·机器学习·3d·自动化·制造
YHHLAI14 天前
CSS 3D 硬核解析:四个属性手写旋转立方体
前端·css·3d
云飞云共享云桌面14 天前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
LONGZETECH14 天前
无人机仿真教学软件选型实战:5 个硬核技术维度,避开实训建设踩坑
3d·无人机·交互·cocos2d
装不满的克莱因瓶14 天前
了解3D卷积原理——从空间感知到时空建模的深度学习核心算子
人工智能·pytorch·python·深度学习·机器学习·3d·ai
雪的季节14 天前
Qt Graphs 2D+3D介绍
qt·3d
CG_MAGIC15 天前
3ds Max材质编辑器:精简模式与Slate模式对比
3d·编辑器·材质·贴图·uv·建模教程
装不满的克莱因瓶15 天前
掌握3D CNN模型结构——从时空特征建模到视频理解与医学影像核心架构
人工智能·pytorch·python·深度学习·神经网络·3d·cnn
AniShort15 天前
AniShort携3D世界+3D导演台王炸组合AI短剧协作平台亮相2026横店AI短剧大会 近亿元融资赋能短剧工业化
人工智能·microsoft·3d