Coder Social home page Coder Social logo

ashishd / gsplat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nerfstudio-project/gsplat

0.0 0.0 0.0 83.37 MB

CUDA accelerated rasterization of gaussian splatting

Home Page: https://docs.gsplat.studio/

License: Apache License 2.0

C++ 3.95% Python 42.05% C 0.62% Cuda 52.70% CMake 0.67%

gsplat's Introduction

gsplat

Core Tests. Docs

http://www.gsplat.studio/

gsplat is an open-source library for CUDA accelerated rasterization of gaussians with python bindings. It is inspired by the SIGGRAPH paper 3D Gaussian Splatting for Real-Time Rendering of Radiance Fields. This library contains the neccessary components for efficient 3D to 2D projection, sorting, and alpha compositing of gaussians and their associated backward passes for inverse rendering.

This project was greatly inspired by original paper 3D Gaussian Splatting for Real-Time Radiance Field Rendering by Kerbl* and Kopanas* et al. While building this library, we prioritized having a developer friendly Python API.

Teaser

Evaluation

A full evalaution of Nerfstudio's implementation of Gaussian Splatting against the original Inria method can be found here.

Installation

Dependence: Please install Pytorch first.

The easist way is to install from PyPI. In this way it will build the CUDA code on the first run (JIT).

pip install gsplat

Or install from source. In this way it will build the CUDA code during installation.

pip install git+https://github.com/nerfstudio-project/gsplat.git

Examples

Fit a 2D image with 3D Gaussians.

pip install -r examples/requirements.txt
python examples/simple_trainer.py

Development and Contribution

This repository was born from the curiosity of people on the Nerfstudio team trying to understand a new rendering technique. This effort was led by Vickie Ye, who wrote the CUDA backend library, and Matias Turkulainen, who wrote the python bindings, library, and documentation. Thank you to Zhuoyang Pan for extensive testing and help on the Python bindings, Ruilong Li for packaging and deployment, and Matt Tancik and Justin Kerr for inspiring Vickie to do this. This library was developed under the guidance of Angjoo Kanazawa at Berkeley. If you find this library useful in your projects or papers, please consider citing this repository:

@software{Ye_gsplat,
author = {Ye, Vickie and Turkulainen, Matias, and the Nerfstudio team},
title = {{gsplat}},
url = {https://github.com/nerfstudio-project/gsplat}
}

We also have made the mathematical supplement, with conventions and derivations, available here. If you find the supplement useful, please consider citing:

@misc{ye2023mathematical,
    title={Mathematical Supplement for the $\texttt{gsplat}$ Library}, 
    author={Vickie Ye and Angjoo Kanazawa},
    year={2023},
    eprint={2312.02121},
    archivePrefix={arXiv},
    primaryClass={cs.MS}
}

We welcome contributions of any kind and are open to feedback, bug-reports, and improvements to help expand the capabilities of this software. Please check docs/DEV.md for more info about development.

gsplat's People

Contributors

vye16 avatar maturk avatar liruilong940607 avatar zhuoyang-pan avatar kerrj avatar brentyi avatar vitchyr avatar jb-ye avatar tancik avatar pritzza avatar akanazawa avatar kwea123 avatar adamrashid96 avatar brunwo avatar hardikdava avatar eltociear avatar jake-austin avatar pierotofy avatar williamstein avatar imlixinyang avatar machenmusik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.