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배 줄여줍니다.
작동 원리
이 라이브러리는 양자화와 압축을 결합하여 3D Gaussian 데이터를 축소합니다. 위치는 24비트 고정 소수점 정수로, 스케일은 8비트 로그 인코딩 정수로, 회전은 정규화된 쿼터니언의 가장 작은 세 가지 구성 요소를 사용하여 표현합니다. 또한 ZSTD 압축(버전 4)을 사용하여 속성 스트림을 독립적이고 병렬적으로 압축합니다. 라이브러리는 또한 서로 다른 렌더링 시스템 간의 상호 운용성을 보장하기 위해 좌표계 변환(예: RUB, LUF)을 처리합니다.
대상 사용자
시각적 충실도를 크게 희생하지 않으면서 3D 장면을 더 효율적으로 저장, 전송 또는 로드해야 하는 3D Gaussian splatting 작업 개발자를 위해 설계되었습니다.
주요 특징
- 10배 압축:
.ply형식과 비교하여 파일 크기를 크게 줄입니다. - 다국어 지원: C++, TypeScript (WASM를 통해) 및 Python 바인딩 구현을 제공합니다.
- 유연한 양자화: 사용자가 구면 조화 함수(spherical harmonics)의 양자화 비트를 구성하여 파일 크기와 품질 사이의 균형을 맞출 수 있습니다.
- 좌표계 관리: 서로 다른 플랫폼 간의 정렬 문제를 방지하기 위해 16개의 지정된 좌표계에 대한 내장 지원을 제공합니다.
- 확장 가능한 형식: 카메라 궤도 제한과 같은 추가 메타데이터를 위한 벤더별 확장(ILV 레코드)을 지원합니다.
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트