Under the Sun with Paddy

第 88 期 · 2026年10月16日

3DGS 效果实测展示:从手机视频到3D模型

3DGS 地球仪 左3DGS右传统管线对比图

同一个透明地球仪:左边是 3DGS 的渲染,右边是传统摄影测量(COLMAP MVS)的稠密点云。这就是本文要对比的两个世界——数据、命令与结论如下。

本文是一次完整的一手实测:手机拍摄素材,分别走传统摄影测量管线和 3DGS(3D Gaussian Splatting,三维高斯泼溅)管线,记录两条管线的耗时、产物与视觉差异,并给出可复现的部署指南。所有命令在 RTX 5090 / 32GB 显存的 Linux 容器上执行于 2026-10-14。

茶台上有一个岩石造型的烟灰缸。我举着手机绕它一半圈视频。将视频交给一条自动化管线:抽帧、解算相机位置、训练。9 分 34 秒后,我可以在浏览器里用鼠标把这个烟灰缸转到任意角度——烟蒂根根分明,石头表面的反光会随视角流动,60fps。

这不是哪个商业产品的效果,是开源工具链在一张消费级云显卡上跑出来的结果。下面先直接看效果,再谈数据、原理与它暴露出的边界。

先看效果

官方示例场景(Tanks & Temples 火车头),浏览器实时环绕——注意车身漆面反光随视角的变化:

自建场景:茶台烟灰缸,传统管线 vs 3DGS 同屏对比——左侧为传统 MVS 稠密点云(黑底、颗粒感、高光烘焙、背景空洞),右侧为 3DGS(连续表面、完整背景、光照自然):

烟灰缸:经典点云 vs 3DGS 左右对比

透明地球仪(开灯)——玻璃质感与虹彩高光(关灯版本为什么糊,见下一节):

照片直接转 3D:一次还很少有人做的尝试

上文的烟灰缸和地球仪都来自”绕着拍一圈”的多视角素材。这一节的东西更激进:一张孤立的平面照片,直接变成可旋转的 3D 场景。

做法本身简单到不像话。Apple 在 2025 年 12 月开源了 SHARP 模型1,部署后在容器里是一条命令:

sharp predict -i 输入图片目录 -o 输出目录

本轮实测的三张测试图——AI 生成人像、实拍人像、一张比尔·盖茨的新闻配图——全部一次成功,每张推理 5 秒,输出 118 万高斯、66 MB 的 PLY。产物格式与训练出来的 3DGS 完全一致,同样能拖进 SuperSplat 调整、转成网页格式发布:

SHARP 单图重建:AI 生成人像
SHARP 单图重建:实拍人像
SHARP 单图重建:比尔·盖茨新闻配图

三张图的建议阅读顺序:先看静态图(主体可信度),再看视频并拖动进度条到中段(绕到侧面,观察背景浮雕结构的失真)——”生成”与”重建”的边界一眼可见。

说它”还很少有人做”,有三层原因:

数学禁令:传统摄影测量的第一步就是多视图三角化,单张照片没有基线,SfM 从原理上无从下手——这条路线在经典体系里是一个类别级空白,而不是做得好不好的问题。
生态很新:单图前馈生成 3DGS 的可用开源模型到 2025 年底才出现(SHARP 于 2025-12 开源1;社区工具 NullSplats 把单图路线与经典训练并列为三条重建路线之一3),SHARP 的权重文件有 2.8 GB,中文圈目前几乎搜不到带实测数据的帖子。
第三层是认知门槛:它的产物里有一半是”脑补”,这让很多人不敢把它当真。

这最后一层值得展开。SHARP 并没有”恢复”照片没拍到的部分——它是在生成式的意义上虚构了合理的背面和深度:人脸、服装、手持物这些照片正面的主体可信度很高;背景则是从单一视点向后挤出的”浮雕”结构,绕到侧面看会发现街道是斜的、楼房是纸片。

所以它的准确定位是生成多于重建:适合”给一张图看个立体印象”,不适合任何需要几何保真的用途。

也因此它的独占领地很清晰:只有一张图的场景。供应商只肯给一张商品图、历史档案里只有一张旧照片、AI 生成的概念图想要立体预览——这些需求在两条传统管线面前都是死路,在 SHARP 面前是 5 秒。

在 SHARP 流程中并不需要预先将图片转换为深度图(模型自行估计深度),或许后续可以用深度图测试 Depth Anything 类路线。

怎么拍效果好:同一地球仪的开灯与关灯

上一节效果里有一句伏笔:地球仪的”关灯版本为什么糊”。现在把它作为反面教材放出来——这是本轮实测里最能说明采集质量如何决定 3DGS 效果的一组对照。

两次拍摄用的是同一部手机、同一个房间、同一条绕桌轨迹,唯一变量是室内主灯:

开灯版(好的那个,上文已展示)——球面文字可辨、透明球体有质感、桌面木纹连续:

关灯版(糊的那次)——只有室内小灯球发光,暗部噪点大、球面细节丢失、整体透明感更差:

原因拆开看是三层,全部指向采集而非算法:

  1. 光照一致性。3DGS 训练假设场景的光照在所有输入帧里是同一个(官方文档把拍摄比作长曝光:任何变化都会成为伪影4)。关灯后室内只剩小灯,暗部靠手机的高 ISO 硬拉,每帧噪声分布不同,训练把这些噪声原样”学”进了高斯。
  2. 有效纹理减少。立体匹配与光度误差都依赖像素纹理;关灯后透明球体几乎没有可见边缘,算法无从对齐。
  3. 信噪比。”噪声优于模糊”的前提是有足够曝光兜底4——暗光下两者一起恶化,高斯会在噪声处生成一粒粒的漂浮伪影。

对照本轮另一组的失败案例可以总结出采集的四条硬规范:光线充足且稳定(本节)、环绕结构(2–3 圈不同高度,禁止单点摇移与无目的漫游)、严格静态(动体与变化的光影都会成鬼影)、短时长(控制在分钟级,避免光照漂移)。四条里任何一条破掉,都不是更多算力能救回来的——本文 12% 配准率的阳台场景败在结构,关灯地球仪败在光照,两个坑都不在训练侧47。

可查证的事实

再看数据。先给出四个可以在本文引用的实测数据中逐一核对的事实:

事实一:一段 14.5 秒的手机视频,全程 10.3 分钟得到可交互模型。 72 帧抽帧(30% 重叠冗余已去除)输入 COLMAP 完成 SfM(结构从运动,即从照片序列同时解出每张照片的相机位置和稀疏点云)用时 40 秒;gsplat 训练 30,000 步用时 9 分 34 秒(52 次迭代/秒),训练全程显存峰值 3–4 GB。最终模型含 142 万个高斯,PLY 文件 336 MB,转成网页格式后 45 MB89。

事实二:同素材的传统摄影测量管线,33 分钟起步且未完成全部工序。 COLMA 的 MVS(多视图立体,逐像素计算深度的经典稠密重建)立体匹配环节耗时 28.1 分钟,点云融合 4.9 分钟,得到 239 万点的稠密点云(64.5 MB);泊松网格化在 COLMAP 4.2.1 上两次静默卡死(累计超过 80 分钟无输出),最终未产出网格7。

事实三:采集结构比算力更决定成败。 三个按”环绕拍摄”规范录制的场景(72/141/197 帧)在 COLMAP 中配准率均为 100%;一个”在阳台上随意走动连拍”的 199 帧场景,配准率仅 12%(199 帧中只有 24 帧进入模型),重建结果完全不可用。COLMAP 日志中的直接原因是 “No good initial image pair found”——无结构的相邻帧之间找不到可靠的匹配对7。

事实四:单张照片在经典管线下原理上无法重建,在 3DGS 生态里只需 5 秒。 摄影测量的三角化需要多视基线,单图无解;而 Apple 开源的 SHARP 前馈模型对单张图片推理 5 秒即输出 118 万高斯的 3D 场景(背景为单视角挤出的”浮雕”结构,主体可信)1。三张测试图的部署命令、产物与边界讨论,见上文「照片直接转 3D」一节。

处理原理:两条管线共享前半程

3DGS 和传统摄影测量不是竞争关系,而是共享同一个起点:都需要 SfM 先解出”每张照片是在哪里、朝哪个方向拍的”。分歧从稠密重建开始——传统管线逐像素算深度、拼出真实表面;3DGS 则用可微渲染直接优化一百万个会”自我摆放”的半透明椭球。

flowchart TD A[手机环绕拍摄视频] --> B[ffmpeg 抽帧 72-200 张] B --> C[COLMAP SfM<br/>解算相机位姿 + 稀疏点云] C --> D{选择管线} D -->|传统摄影测量| E[MVS 立体匹配<br/>逐像素深度图 28分钟] E --> F[点云融合<br/>239万点稠密点云] F --> G[泊松网格化<br/>可测量可编辑的三角网格] D -->|3DGS| H[可微光栅化训练<br/>142万高斯自我摆位 9.6分钟] H --> I[导出 PLY 压缩 SPZ<br/>体积缩小 90percent] G --> J[Blender / CAD / 3D打印<br/>测量 编辑 工业流程] I --> K[WebGL 浏览器实时渲染<br/>60fps 自由视角] P[单张照片] -->|第三条路 绕过SfM| Q[SHARP 前馈模型<br/>5秒 118万高斯] Q --> I

3DGS 的核心一步是:不用神经网络”记住”场景,而是把场景显式表示为一百万个带颜色、半透明、可伸缩的三维高斯椭球。

训练时反复渲染这些椭球、与真实照片对比、把误差回传给每个椭球的位置/形状/颜色参数;渲染时走纯图形学光栅化(把椭球投影成色斑、排序、混合),与神经网络无关,所以天生适合 GPU 并行8。

这也解释了它与传统管线的根本差异:传统管线恢复的是真实表面,3DGS 拟合的是外观本身。

训练完成后,训练器可以自动生成一条环绕轨迹的渲染视频。

为什么要用 3DGS:三个实测出来的理由

理由一:实时自由视角首次进入”个人可负担”区间。 3DGS 的前任 NeRF(神经辐射场)渲染一帧需要沿光线采样上百次神经网络推理,一帧以秒计14;3DGS 把渲染换成光栅化后,实测在核显笔记本的浏览器里 55–60fps。官方示例场景(一架 713 号内燃机机车)在我的 720p 录屏中全程稳定 60fps15。

理由二:对”难拍材质”的表现力。 摄影(测)量的教科书级弱项是反射、透明与无纹理表面16。本次实测的透明地球仪场景中,3DGS 对玻璃球体的虹彩高光有可见的表现(关灯暗光版本质量有限),而经典 MVS 立体匹配对透明材质原理性失效——左右视图看到的折射背景不同,视差公式本身不成立。这一对照组的视频素材已录制,是最直观的差分演示。

理由三:管线短、门槛低、生态开放。 本次全链路的软件均为开源或提供免费档:COLMAP、gsplat(Apache-2.0,商用免费)9、antimatter15 的单文件网页查看器18、SuperSplat 网页编辑器。云上一张消费级卡 + 一段手机视频,当天可出可分享的网页。

可以拿来干嘛:按 2026 年的行业落地情况——房产与空间的沉浸式展示(Zillow 已规模化部署19)、电商中材质敏感品类的 360° 展示、文博数字化、影视预可视化(A$AP Rocky 的 MV 已用动态 3DGS 制作19)、空间计算内容(Apple Personas 人像即 3DGS 生成19)。共同点:需要”让人身临其境看真实场景”,且不需要从模型上量尺寸。

部署细节与指南

全流程五步:抽帧 → COLMAP SfM → gsplat 训练 → 坐标修正 → 网页查看器。真正的工程量不在训练(一条命令),而在环境:CUDA 版本与显卡代际必须匹配(Blackwell 显卡必须 CUDA 12.8 起)、COLMAP 的 conda 安装有依赖遗漏坑、numpy 大版本被连带升级会直接打断 torch 的数据桥。两份经过完整实测校验的部署指南已随本文发布,照做即可在同类环境复现。本文训练所用算力为单卡 RTX 5090 / 32GB 云容器 。

算力容器:RTX 5090 / 32GB,点击购买同款

冷静的部分

  • 3DGS 不可测量。高斯是外观的拟合而非真实表面,没有尺寸语义;需要测量、需要改几何、需要 3D 打印的场景,传统摄影测量仍是唯一解16。
  • 改几何等于重拍。3DGS 只能删点、调色、裁剪;把烟灰缸换个位置这种事,做不到。
  • 3DGS 的质量上限就是素材上限。官方文档的原话是”模型最多和输入照片一样好”4;本文的阳台场景是这句话的昂贵注脚。
  • 透明材质 3DGS 也不是万能:开灯版地球仪尚可,关灯暗光版质量明显下降;照片里看不见的结构,模型里也不会有。
  • 质量验收不能只看 PSNR/SSIM。2026 年 9 月的综述实证:428 人盲测中,感知更差的模型反而可能在传统指标上得分更高(指标与人眼偏好背离 2.3 倍)24。浮点伪影、视角切换闪烁这些问题,需要走轨迹、上真机看。
  • 训练快不等于全管线快。SfM 在两条管线里共用,但 MVS 的 28 分钟立体匹配是 3DGS 路线完全不存在的成本——比较两条管线时必须带着各自的全部工序。

未能核实的事项

  • Postshot(商业 3DGS 训练软件)各档位的具体价格数字, 本文结论只基于其官方免费/付费档位的能力边界描述4。
  • 泊松网格化卡死的根因:COLMAP 4.2.1 的 poisson_mesher 在本点云规模上两次静默挂起(默认深度与 depth=10 各一次),未能定位是上游 PoissonRecon 库问题、COLMAP 封装问题还是环境问题——用 MeshLab/CloudCompare 重跑同一份点云可绕开,但本文未做该对比。
  • 本文训练时长基于 RTX 5090;其他显卡上按 CUDA 核心数与显存带宽等比估算即可,但未实测。

最后

  1. 想试 3DGS,先用手机按”环绕 2–3 圈、不同高度、一分钟内拍完”拍一个静物,再谈其他——采集结构决定成败,本文 12% 配准率的失败场景就是反面教材。
  2. 全开源路线(COLMAP + gsplat + SuperSplat 发布)零软件成本、当天出片;商用前注意 COLMAP 的非商用条款,训练环节可换 Apache-2.0 的 gsplat 系工具。
  3. 部署直接照《3DGS 部署与训练指南》走,先跑”环境侦察”再装任何东西;经典管线需求(测量/网格)另取《传统摄影测量管线部署指南》。
  4. 训练产物按”PLY 存档 → SPZ 分发 → 网页查看”三段式管理,移动端交付守住 50MB、30fps 的预算线19。
  5. 想看效果最直接的方式:把本文素材区的 .splat 文件拖进 superspl.at/editor,转一圈。

来源与引用

  1. ↩︎
  2. ↩︎
  3. ↩︎
  4. ↩︎
  5. ↩︎
  6. ↩︎
  7. ↩︎
  8. ↩︎
  9. ↩︎
  10. ↩︎
  11. ↩︎
  12. ↩︎
  13. ↩︎
  14. ↩︎
  15. ↩︎
  16. ↩︎
  17. ↩︎
  18. ↩︎
  19. ↩︎
  20. ↩︎
  21. ↩︎
  22. ↩︎
  23. ↩︎
  24. ↩︎
  25. ↩︎
  26. ↩︎
广告位
广告位
广告位
广告位
广告位
广告位

读者来信(1)

  1. Paddy 的头像

    来源与引用 格式问题还在排查(哭哭)应该是主题bug

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注