3DGS NeRF Unreal Engine 三维重建 实时渲染

3D 高斯与仿真重建技术

融合摄影测量、3D Gaussian Splatting 与 Unreal Engine 实时渲染,把真实世界重建为可交互、可复用、可进入仿真数据闭环的数字场景,并在公开标准数据集上完成全视角量化验证。

2026-07-31 10 分钟阅读
文章目录23

本项目延续原有的摄影测量 + 3D Gaussian Splatting(3DGS)混合重建管线,进一步完成了面向 Unreal Engine 的产品化落地。真实世界不只被重建成可观看的三维结果,还可以直接进入仿真关卡,与动态对象、传感器和数据采集流程共同运行。

新增的IAGaussianRenderer面向 Unreal Engine 5.8,可直接加载标准 3DGS.ply文件与普通彩色点云。它把原有的高保真重建能力连接到 UE 场景、Blueprint 和 IADataSDG 数据管线,使真实现场能够用于数字孪生、问题回灌、算法训练和闭环评测。

演示效果

原有的高斯场景实时漫游演示继续保留:

3D 高斯重建实时漫游演示

以下展示取自公开标准数据集,左侧为真实照片,右侧为 IAGaussianRenderer 在 UE 5.8 中的渲染结果。上排为最佳视角,下排为中位视角。

Truck 场景:最佳视角24.77 dB,中位视角22.44 dB

Truck 场景最佳与中位视角的真实照片和插件渲染对比

Train 场景:最佳视角27.32 dB,中位视角21.47 dB

Train 场景最佳与中位视角的真实照片和插件渲染对比

Truck 中位视角的 2× 局部细节对比:

Truck 场景中位视角的局部细节对比

技术核心

1. 混合重建管线

我们没有把 3DGS 当成孤立算法,而是把传统摄影测量的稳定几何基础与可微渲染的视觉表达能力组合成一条完整管线:

  1. 稀疏点云初始化:利用 COLMAP 执行 SfM(Structure from Motion),解算相机位姿并生成稀疏点云,为后续优化提供可靠的空间坐标与几何先验。
  2. 3DGS 优化:基于稀疏点云初始化各向异性 3D 高斯,通过可微光栅化迭代优化位置、旋转、尺度、不透明度和球谐系数,使新视角渲染逐步逼近真实照片。
  3. 几何约束增强:结合深度图与法线图等约束抑制弱纹理区域的漂浮伪影,提升场景结构稳定性。
  4. 引擎化交付:输出标准 PLY,由 IAGaussianRenderer 直接载入 UE,在统一坐标系中与网格资产、动态对象和传感器组合。

2. 从点云到各向异性高斯

传统点云只记录离散位置和颜色;3DGS 中的每个高斯基元还包含形状、方向、透明度以及视角相关的颜色表达:

  • 位置μi\boldsymbol{\mu}_i:高斯中心在三维空间中的位置;
  • 协方差Σi\boldsymbol{\Sigma}_i:描述椭球的尺度、形状和朝向;
  • 不透明度αi\alpha_i:控制该高斯对最终像素的贡献;
  • 球谐系数SHi\boldsymbol{SH}_i:表达随观察方向变化的颜色与高光。

协方差可由旋转与尺度进行参数化:

Σi=RiSiSiTRiT\boldsymbol{\Sigma}_i = \boldsymbol{R}_i \boldsymbol{S}_i \boldsymbol{S}_i^T \boldsymbol{R}_i^T

这种显式表示既保留了点基元易于并行处理的特点,又能通过各向异性椭球覆盖复杂表面和细节。

3. 可微光栅化

渲染时,3D 高斯被投影为屏幕空间中的二维椭圆,并按深度排序后执行前向 Alpha 混合。一个像素的颜色由可见高斯共同贡献:

C(p)=iNci(d)αij=1i1(1αj)C(\boldsymbol{p}) = \sum_{i \in \mathcal{N}} c_i(\boldsymbol{d}) \alpha_i \prod_{j=1}^{i-1}(1-\alpha_j)

与硬性的 0/1 遮挡不同,高斯贡献是连续可微的。真实照片与渲染结果之间的误差可以反向传播到位置、协方差、不透明度和球谐系数,从而完成端到端优化。显式基元与 GPU 并行光栅化也使 3DGS 更适合实时交互场景。

为什么选择 3DGS

维度传统摄影测量 MeshNeRF3DGS 混合方案
场景表示三角网格与纹理隐式神经场显式各向异性高斯集合
复杂外观依赖网格、UV 与材质制作新视角质量高通过透明度与球谐表达视角相关外观
渲染路径成熟实时管线需要密集网络查询与体渲染面向 GPU 的并行 Splatting
场景编辑几何结构清晰,便于精确交互隐式表示较难直接编辑可变换、裁剪、组合显式高斯资产
仿真融合适合碰撞和物理计算主要用于视觉合成高斯负责真实外观,网格代理负责物理交互

3DGS 并不替代所有 Mesh。我们的方案把两者放在同一空间中:高斯场景承担难以低成本复刻的真实外观,SimReady 网格承担碰撞、关节和动力学,最终同时满足视觉还原与仿真可计算性。

IAGaussianRenderer:把重建结果带入 UE

标准资产直接加载

在关卡中放置Gaussian Splat Actor,设置PlyFilePath、源坐标系和单位比例,即可在编辑器或运行时加载标准 3DGS PLY。插件也支持普通彩色点云,并根据点密度估算 splat 尺寸,使已有点云资源能够进入同一套工作流。

编辑器与 Blueprint 控制

能力使用方式
编辑器即时预览Details 面板执行Load Ply / Unload Ply,无需进入 PIE
运行时加载LoadPly()LoadPlyFromPath(Path)
资源卸载UnloadPly()
数量查询GetNumSplats()
异步完成通知OnPlyLoaded
多场景组合同一关卡放置多个独立 Gaussian Splat Actor

每个 Actor 都可以独立移动、旋转和缩放。CoordSystem负责源数据坐标系转换,UnitScale负责从外部数据单位映射到 UE 厘米,避免重建资产进入引擎时出现轴向、手性和比例错误。

真实外观与 UE 场景融合

  • Reference 颜色模式:忠实复现训练照片的 sRGB 颜色口径,适合重建结果核验和固定视角对比。
  • 场景融合模式:让 splat 进入 UE 的光照与后处理链,便于和周围网格形成统一画面。
  • 深度遮挡:UE 网格可以正确遮挡 splat,使机器人、车辆、设备和高斯背景按照空间深度组合。
  • 多实例场景:不同扫描区域可以作为独立 Actor 加载,在关卡内完成拼装和版本替换。

渲染质量验证

渲染质量在公开标准数据集 Tanks and Temples 的TruckTrain场景上验证,预训练模型采用 INRIA 官方发布版本。评测方式是在真实照片分辨率下渲染全部已注册 COLMAP 相机位姿,并与配对照片逐张比对,所有指标取全部视角的均值,不做视角挑选。

评测条件TruckTrain
Splat 数量2,541,2261,026,508
已注册视角251301
真实照片分辨率979 × 546980 × 545
相机标定COLMAPPINHOLECOLMAPPINHOLE

运行环境为NVIDIA GeForce RTX 4060、Direct3D 12、Unreal Engine 5.8,渲染使用 Reference 颜色模式、三阶球谐函数与 GPU 排序。

指标Truck(251 视角均值)Train(301 视角均值)方向
PSNR22.4547 dB21.4530 dB越高越好
SSIM0.79820.7946越高越好
LPIPS(AlexNet)0.12280.1770越低越好
LPIPS(VGG)0.20660.2582越低越好
FID11.496018.4031越低越好

PSNR、SSIM 与 LPIPS 为逐视角配对指标,可与 3DGS 文献中的同口径结果对照。FID 在此基于固定图像集计算,适合在相同场景、相同分辨率和相同评估流程下衡量渲染分布的一致性。

几何对齐精度

渲染结果与真实照片的对齐残差通过位移场测量:水平方向±0.05%,垂直方向0.36%(Train)/ 0.60%(Truck),整体保持在 1% 以内。垂直方向的残差来自相机标定中fx ≠ fy的非方形像素在 UE 单一 FOV 参数下的表达差异,数值可预先解析计算,因此在需要严格几何对齐的采集任务中可被预测和补偿。

最佳、中位与最差视角

单一最佳视角不能代表完整质量。下面两张图都按 PSNR 排列三个代表视角:从上到下依次为最佳、中位和最差,左侧是真实照片,右侧是 UE 5.8 中的插件渲染结果。

Truck:最佳视角00014724.77 dB,中位视角00006822.44 dB,最差视角00006113.14 dB

Truck 场景最佳、中位和最差视角的真实照片与插件渲染对比

Train:最佳视角0023427.32 dB,中位视角0024121.47 dB,最差视角0026413.03 dB

Train 场景最佳、中位和最差视角的真实照片与插件渲染对比
Train 中位视角的局部纹理与几何细节对比

低分视角诊断

页面同时公开低分结果,而不是只展示经过挑选的成功视角。下列三联图依次对照真实照片、基准参考渲染与 UE 引擎输出:中位视角整体结构和颜色保持一致;最差视角则暴露出训练视角覆盖不足、强曝光差异和局部几何模糊。

Train 中位视角的真实照片、参考渲染与 UE 引擎输出
Train 最差视角的真实照片、参考渲染与 UE 引擎输出

最差视角的差异热图与局部放大用于定位误差集中区域,帮助区分模型本身的覆盖缺口与引擎投影、色彩链或后处理问题。

Train 最差视角的逐像素差异热图
Train 最差视角的局部放大诊断

全视角逐帧视频

两段视频分别覆盖 Truck 的 251 个注册视角与 Train 的 301 个注册视角,并以 25 fps 按视角编号顺序编码。视频使用的正是指标评测帧,不是另行制作的展示运镜;由于 COLMAP 视角编号不等同于连续相机轨迹,画面切换不应被理解为平滑环绕。

Truck 场景 251 个注册视角的逐帧渲染结果

Train 场景 301 个注册视角的逐帧渲染结果

从重建到数据飞轮

IAGaussianRenderer 的价值不止是把模型“显示出来”,而是把 Real-to-Sim 结果接入算法研发:

  1. 真实采集:用相机、无人机或车载设备采集现场影像。
  2. 空间重建:通过 SfM 与 3DGS 得到带真实外观的空间表示。
  3. 仿真组合:在 UE 中叠加车辆、机器人、设备、障碍物和传感器。
  4. 数据生产:通过 IADataSDG 采集任务所需的 RGB、深度、分割和检测数据。
  5. 问题回灌:把真机失败现场重建后加入回归测试,形成新的训练与评测样本。

一处真实现场由此可以被多次复用:既用于数字孪生展示,也用于算法训练、故障复现和版本回归,减少重复手工建模与反复现场采集。

适用场景

自动驾驶与机器人仿真

快速重建道路、园区、仓库或作业现场,在真实背景中叠加可控车辆、行人、机械臂和传感器,用于感知算法训练、问题复现和边缘场景回归。

数字孪生与工业巡检

对厂区、站场、设备间和复杂设施进行高保真空间记录。规则设备使用参数化网格,复杂环境外观使用 3DGS,在同一 UE 场景中完成远程查看、方案预演和数据采集。

文旅与文化遗产

保留古建筑、展陈空间和文物表面的复杂视觉细节,用于数字化存档、沉浸式漫游和交互展示。

商品展示与影视内容

通过多视角影像重建具有复杂材质和视角相关外观的商品或实景空间,支持实时浏览、虚拟拍摄和背景资产复用。

客户价值

  • 减少重复建模:真实场景经过一次重建即可在展示、仿真、训练和评测环节复用。
  • 缩短 Real-to-Sim 链路:标准 PLY 直接进入 UE,减少专用格式转换和引擎二次开发。
  • 提高问题复现效率:把真机现场带回仿真环境,围绕同一空间构造新的目标、遮挡和传感器条件。
  • 连接视觉与物理:高斯表示负责真实感,SimReady 网格负责碰撞和动力学,避免在单一表示上强求所有能力。
  • 沉淀长期场景资产:扫描结果以可管理、可组合、可版本化的资产形式进入数据飞轮。

参考资料与进一步阅读

  1. 3D Gaussian Splatting for Real-Time Radiance Field Rendering:3DGS 原始论文、代码与标准数据。
  2. Differentiable Rendering: A Survey(arXiv:2006.12057):可微渲染方法综述。
  3. Mildenhall 等,NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis,ECCV 2020。
  4. Schönberger 与 Frahm,Structure-from-Motion Revisited,CVPR 2016。
  5. Reinforcement Learning with Generalizable Gaussian Splatting(arXiv:2404.07950):3DGS 与强化学习结合的研究路径。
  6. 摄影测量与高斯可微渲染:重塑现代深度学习与强化学习的 3D 视觉基石:本站完整技术报告与参考文献。
  7. 3D 高斯:下一代工业级场景重建范式:本站关于 3DGS 原理、性能与行业应用的专项文章。