SkelSplat: Robust Multi-view 3D Human Pose Estimation with Differentiable Gaussian Rendering

November 19, 2025 ยท View on GitHub

We propose SkelSplat, a novel framework for multi-view 3D human pose estimation based on differentiable Gaussian rendering. Human pose is modeled as a skeleton of 3D Gaussians, one per joint, optimized via differentiable rendering to enable seamless fusion of arbitrary camera views without 3D ground-truth supervision.

Alt text

๐Ÿ“ฆ Installation

git clone https://github.com/laurabragagnolo/SkelSplat.git --recurse-submodules

pip install -r requirements.txt

pip install submodules/fused-ssim
pip install submodules/simple-knn

pip install submodules/diff-gaussian-rasterization-h36m
pip install submodules/diff-gaussian-rasterization-panoptic
pip install submodules/diff-gaussian-rasterization-op

โš™๏ธ Data Preparation

SkelSplat has been tested on four datasets: Human3.6M, Human3.6M-Occ, CMU Panoptic and Occlusion-Person. For data preparation refer to Data Preprocessing and code provided in dataset_tools/.

๐Ÿš€ How to run the code

Run and evaluate SkelSplat on your dataset simply using train.py and eval.py. Configuration files for the datasets used in our paper are available in the configs/ directory (h36m.yaml, panoptic.yaml, etc.).

python train.py --config-name <dataset>.yaml 
python eval.py --config-name <dataset>.yaml

๐Ÿ”— References

If you find our work useful please cite our paper:

@article{bragagnolo2025skelsplat,
        title={SkelSplat: Robust Multi-view 3D Human Pose Estimation with Differentiable Gaussian Rendering},
        author={Bragagnolo, Laura and Barcellona, Leonardo and Ghidoni, Stefano},
        journal={arXiv preprint arXiv:2511.08294},
        year={2025}
}

The code is based on the Gaussian Splatting repository (thanks to the authors for sharing their code). Please consider citing their work too.