zju3dv/SplatAnything
Machine LearningFeed-forward 3D Gaussian splatting model that reconstructs objects, rooms, streets, rigs and panoramas from images.
What it does
SplatAnything is the third generation of the InfiniSplat series: a feed-forward 3D Gaussian splatting model that turns a set of overlapping RGB images into a 3D Gaussian scene. Its contribution is Gaussian spacing normalization, which the authors present as making a single model work across very different scene scales, from small objects and human subjects to indoor rooms, street scenes and aerial captures. It also covers two specialized modes: Rig-Recon for calibrated multi-camera rigs such as autonomous-driving surround views, and Pano-Recon, which converts a 360° panorama into 24 perspective views before reconstruction. It targets researchers and practitioners in 3D vision, autonomous driving, robotics, AR/VR and game development who want fast reconstruction without per-scene optimization.
Get started
Requirements are Python 3.10+, PyTorch 2.4+ with a CUDA build matching your NVIDIA driver. Install PyTorch first, then the dependencies:
cd SplatAnything
python -m pip install -r requirements.txt
Download the public weights from Hugging Face into checkpoints/: SplatAnything.ckpt, worldmirror2.safetensors, and optionally skyseg.onnx for sky removal. Then run inference on one of the bundled examples:
# RGB-only mode: predict cameras
python inference.py \
--input_path examples/object \
--mode rgb \
--output_path outputs/object/rgb
# Pose-conditioned mode: use supplied cameras
python inference.py \
--input_path examples/object \
--mode pose \
--output_path outputs/object/pose
Results, including gaussians.ply, points.ply, cameras, RGB and depth, are written under the output path. For your own data, create a scene directory with an images/ folder and add prior_camera.json for pose mode; the data preparation guide covers scene layout, camera conversion and panorama handling. A live Hugging Face demo is also available.
Constraints
Inference runs on NVIDIA GPUs; no CPU path is documented. Input images must overlap so the model can reconstruct the scene, and pose-conditioned mode requires precomputed intrinsics and extrinsics in prior_camera.json. The default input resolution is 756×756 at positive multiples of 14, and higher resolutions are supported. Sky removal additionally needs the optional ONNX model. The repository license is marked NOASSERTION, so check the actual terms before commercial use. Reconstruction quality varies with capture conditions; the examples are demonstrations, not benchmarks.
HotRepo's take
SplatAnything appeared on HotRepo's new-project list on 2026-11-10 with 104 stars and 4 forks, a small but fresh record. Without a best GitHub daily rank and only a short star curve, there is no basis for trend claims. What stands out technically is the scope: one feed-forward model with explicit rig and panorama workflows, backed by paper, weights and an online demo, which makes it more usable than a bare research preprint.
Written by AI from the project's README, updated . The project's own docs are the source of truth.