nianticlabs/spz
File format for 3D Gaussian splats. About 10x smaller than the PLY equivalent with virtually no perceptible loss in visual quality. Offered as open source by Niantic Labs. More details at https://scaniverse.com/spz #3dgaussiansplats #gaussiansplatting
解决的问题
它提供了一种高度压缩的文件格式(.spz)以及相应的 3D Gaussian splats 库。这解决了与标准 .ply 文件相关的庞大文件大小问题,在视觉质量损失极小的情况下,将文件大小减少了约 10 倍。
工作原理
该库结合使用量化和压缩技术来缩小 3D Gaussian 数据。它将位置表示为 24 位定点整数,将缩放表示为 8 位对数编码整数,并将旋转表示为归一化四元数中最小的三个分量。它采用 ZSTD 压缩(在第 4 版本中)来独立且并行地压缩属性流。该库还处理坐标系转换(例如 RUB、LUF),以确保不同渲染系统之间的互操作性。
适用对象
专为从事 3D Gaussian splatting 开发的开发者设计,他们需要在不牺牲显著视觉保真度的前提下,更高效地存储、传输或加载 3D 场景。
亮点
- 10 倍压缩:与
.ply格式相比,显著减小了文件大小。 - 多语言支持:提供 C++、TypeScript(通过 WASM)和 Python 绑定实现。
- 灵活的量化:允许用户配置球面谐波的量化位数,以平衡文件大小和质量。
- 坐标系管理:内置对 16 个命名坐标系的支持,以防止不同平台之间的对齐问题。
- 可扩展格式:支持用于附加元数据(如相机轨道限制)的供应商特定扩展 (ILV 记录)。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目