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

解決する課題

3D Gaussian splatting用の高度に圧縮されたファイル形式(.spz)と対応するライブラリを提供します。これにより、標準的な .ply ファイルに関連するファイルサイズの大きさを解決し、視覚的な品質をほとんど損なうことなく、サイズを約10分の1に削減します。

仕組み

このライブラリは、量子化と圧縮を組み合わせて3D Gaussianデータを縮小します。位置は24ビット固定小数点整数として、スケールは8ビットログエンコード整数として、回転は正規化クォータニオンの最小の3つのコンポーネントを使用して表現します。また、ZSTD圧縮(バージョン4)を採用し、属性ストリームを独立して並列に圧縮します。さらに、異なるレンダリングシステム間での相互運用性を確保するため、座標系の変換(例:RUB、LUF)も処理します。

対象ユーザー

視覚的な忠実度を大幅に損なうことなく、3Dシーンをより効率的に保存、送信、またはロードする必要がある3D Gaussian splattingの開発者向けに設計されています。

ハイライト

  • 10倍の圧縮: .ply 形式と比較してファイルサイズを大幅に削減します。
  • マルチ言語サポート: C++、TypeScript (WASM経由)、およびPythonバインディングの実装を提供します。
  • 柔軟な量子化: 球面調和関数(spherical harmonics)の量子化ビットをユーザーが設定でき、ファイルサイズと品質のバランスを調整できます。
  • 座標系管理: 異なるプラットフォーム間でのアライメント問題を防止するため、16種類の名前付き座標系を内蔵サポートしています。
  • 拡張可能な形式: カメラの軌道制限などの追加メタデータのための、ベンダー固有の拡張(ILVレコード)をサポートしています。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト