codecsplat / README.md
multimodalart's picture
multimodalart HF Staff
CodecSplat demo
c9ad6b5 verified
|
Raw History Blame Contribute Delete
2.2 kB
metadata
title: CodecSplat
emoji: 🗜️
colorFrom: red
colorTo: yellow
sdk: gradio
sdk_version: 6.30.0
app_file: app.py
short_description: Compress a 3D Gaussian scene into a few KB
python_version: '3.12'
startup_duration_timeout: 1h
models:
  - pengpeng-yu/CodecSplat

CodecSplat: Ultra-Compact Latent Coding for Feed-Forward 3D Gaussian Splatting

Interactive demo of CodecSplat (code, MIT; weights).

Upload overlapping photos of a static scene. The Space:

  1. runs COLMAP (pycolmap, CPU) to estimate intrinsics and camera poses,
  2. picks 8 context views by farthest-point sampling and resizes them to 256x448 (the codecsplat-base-dl3dv-256x448-view8 checkpoint),
  3. runs the authors' complete bitstream path (EncoderCodecSplat.codec_forward): it encodes the latent features into a real entropy-coded scene bitstream at the chosen rate point λ (16-1024), then decodes that bitstream back to 3D Gaussians,
  4. renders held-out views (with PSNR/SSIM against the real photos) and a fly-through with gsplat, and shows the Gaussians in an interactive viewer.

You can download both the .bin bitstream and the decoded .ply.

Implementation notes

  • Model construction uses the exact Hydra overrides of the authors' scripts/test_dl3dv_view8_256x448.sh (bf16 autocast, gsplat antialiased rasterizer).
  • COLMAP stage and scene loader are adapted from the ReSplat Space / the ReSplat reference scripts/infer_colmap.py (same DepthSplat camera conventions). The reconstruction is normalised to a fixed extent so that the DL3DV near/far planes (0.5 / 200) are meaningful.
  • gsplat's CUDA kernels are JIT-compiled once at startup (no prebuilt sm_120 wheel).

Example assets

examples/kitchen and examples/garden are 14 frames each from the Mip-NeRF 360 dataset (Barron et al.), downscaled to 960px, as redistributed by nvs-bench/mipnerf360 (MIT).