Skip to content

disini/cupy_3dgs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3D Gaussian Splatting - CuPy Implementation

English | 中文文档

A clean and understandable 3D Gaussian Splatting inference implementation

🎯 Purpose

This is a CuPy-based inference implementation of 3D Gaussian Splatting, designed to provide a clean and easy-to-understand codebase that helps developers deeply understand the core rendering principles of 3DGS.

Rendered Train Scene
Rendering result: Train scene rendered using this project

📊 Comparison with Original Implementation

Feature This Implementation Original CUDA Implementation
Language Python + CuPy C++ + CUDA
Functionality Inference only Training + Inference
Code Size ~800 lines ~5000+ lines
Dependencies cupy, numpy, opencv-python, plyfile Complex compilation environment
Test Cases 6 progressive test scenes No unit tests
Readability ⭐⭐⭐⭐⭐ ⭐⭐⭐
Use Case Learning & understanding algorithms Production & model training

🚀 Quick Start

1. Install Dependencies

pip install -r requirements.txt

2. Download Pre-trained Scene Data

Download the pre-trained train scene (including trained PLY file) from the official 3DGS project:

# Download pre-trained models (~14GB)
wget https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/datasets/pretrained/models.zip
unzip models.zip

# After extraction, find the train scene point cloud file:
# train/point_cloud/iteration_30000/point_cloud.ply
# Place it in the project's data/train/point_cloud/iteration_30000/ directory

3. Prepare Test Data

cd test
python 06_generate_train_scene_test.py

4. Run Rendering

python pipeline.py

After rendering completes, output.png will be generated in the project root directory.

📚 References

This implementation is based on the following paper and code:

🤝 Contributing

Issues and Pull Requests are welcome! Especially:

  • Performance optimization suggestions
  • More test scenes
  • Documentation improvements

📝 License

This project is licensed under the MIT License.


If this project helped you understand 3D Gaussian Splatting, please give it a ⭐️ Star!

About

Understandable 3D Gaussian Splatting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%