francescofugazzi/3dgsconverter

A Python command-line utility for converting and processing 3D Gaussian Splatting models. Supports N-to-N conversion between 3DGS (.ply), KSplat, SOG, SPZ, Splat, CloudCompare, Parquet, and Compressed PLY. Includes GPU-accelerated filtering (SOR, Density).

解决的问题

3D高斯溅射(3DGS)根据目标不同,会使用多种文件格式(如 .ply.ksplat.spz.sog),分别用于高保真创作、网页流媒体或移动设备优化。本工具提供一个通用转换器,可在这些格式间自由迁移数据,同时提供清理和压缩生成的3D场景的工具。

工作原理

该项目作为一个与格式无关的处理管道。它将源文件读取为中间原始数据格式,应用可选过滤器,然后将数据写入目标格式。为保持高性能,它使用 Taichi Lang 实现GPU加速操作,如K-Means聚类(用于压缩)和统计异常值去除(SOR)。

适用人群

需要为不同平台(Web、Mobile、Desktop)优化场景,或清理点云中“漂浮物”和噪声的开发者与艺术家。

主要亮点

  • 通用 N 到 N 转换:支持多种格式,包括 3DGS PLY、Cloud Compare、KSplat、SPZ(v3/v4)、SOG(v1/v2)和 Parquet。
  • GPU加速过滤:使用 CUDA、Metal 或 Vulkan 实现快速裁剪、不透明度过滤和异常值去除。
  • 压缩控制:提供可调节的压缩级别,以在视觉质量与文件大小之间取得平衡,适用于网页就绪格式。
  • 数据保留:可在转换过程中保留非标准 PLY 属性(如相机参数)。
  • 跨平台兼容:支持 Windows、Linux 和 macOS(包括 Apple Silicon)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目