同一个空间,
可以有五种存法。
手机拍完一间教室,重建工具会给你点云、网格或 3D 高斯等结果。它们都在描述同一个空间,却不是同一种东西。选错表示方式,后面展示、编辑和交互都会变得别扭。
同一间教室,可以怎么存?
空间表示(Spatial Representation)描述计算机如何存储和表达三维空间。点击左侧类型,观察它们记录空间的方式。
| 表示 | 存储内容 | 常见用途 | 需要留意 |
|---|---|---|---|
| 点云 Point Cloud | 离散三维点及属性 | 扫描、测量辅助、分析 | 没有连续表面 |
| 网格 Mesh | 顶点、边、面、材质和纹理 | 编辑、动画、碰撞、制造 | 需要维护拓扑和贴图 |
| 体素 Voxel | 规则三维单元的占据或属性值 | 空间占据、体积分析、仿真 | 高分辨率成本高 |
| 隐式场 Implicit Field | 查询坐标后返回属性的函数 | 连续场景表示、NeRF、表面提取 | 不一定能直接编辑 |
| 3D 高斯 3D Gaussian | 位置、协方差、颜色、不透明度等 | 照片级重建、新视角浏览 | 不自动包含语义和碰撞结构 |
3DGS 为什么适合做空间漫游?
它的强项是还原场景的视觉外观,并快速生成新的观察视角。先看它存什么,再看它怎样画出画面。
每个高斯基元通常包含中心位置、协方差(决定形状与朝向)、不透明度,以及用于视角相关颜色表达的球谐系数等属性。
从新的观察位置看,三维高斯被投影成屏幕上的二维椭圆斑点,再按深度关系进行透明度混合,形成当前视角的图像。
从多个位置拍摄同一场景,提供不同视角。
调整位置、形状、颜色和透明度,使渲染结果贴近照片。
浏览时将高斯投影到当前屏幕,并组织绘制顺序。
将多个半透明斑点混合,得到当前视角的图像。
先想清楚要做什么,再选空间表示
“看起来真实”和“能参与交互”不是同一个需求。选择主要任务,查看更适合从哪种表示开始。
3DGS 场景
如果主要目标是保留真实空间的视觉外观,并让访客从不同位置浏览,3DGS 通常是合适的起点。
传统重建怎样从照片走到表面?
这是常见的摄影测量 / 多视图重建路线。它能解释为什么点云还不是完整模型。
SfM
从多张照片中检测和匹配共同特征,估计相机位姿,并通过三角测量恢复一批稀疏三维点。
输出:相机位姿 + 稀疏点云MVS
利用相机参数,从多个视角进一步估计深度,并融合成更密集的三维采样。
输出:稠密点云 / 深度信息Surface Reconstruction
根据点的位置、邻域关系和法线等信息拟合连续表面,再把照片颜色映射到表面。
输出:网格 Mesh + 纹理默认视角好看,不代表重建完整
沿着访客真正会走的路线检查,而不是只盯着默认截图。被挡住或没拍到的区域,通常需要重新采集。
示意路线:从入口进入,经过通道,走到讲台旁,再绕到侧后方检查遮挡区域。
本课术语速查
根据图像、视频或其他传感器数据,恢复场景三维结构或外观。
计算机存储和表达三维空间的方式,例如点云、网格、体素和 3DGS。
由大量带三维坐标的离散点组成,可附带颜色、法线等属性。
由顶点、边和面构成的几何表面,常用于编辑、动画和碰撞。
三维空间中的规则小单元,可记录占据状态或其他属性。
通过函数查询空间位置的密度、颜色或距离等信息;NeRF 属于神经场景表示。
用大量三维高斯基元表达场景,并通过投影与混合渲染新视角。
从多张有重叠的图像中恢复相机位姿和稀疏三维结构。
利用多视角图像和相机参数估计更密集的深度与三维表面采样。
知识检测
四道题,检查你是否能区分数据表示、渲染过程和重建流程。