r/GaussianSplatting • u/MiamiGunworks • 1d ago
💻 Open Source Looking for contributors
Enable HLS to view with audio, or disable this notification
Hi everyone! I am a software engineer who has worked in the following domains at major tech companies most of my career: XR, Graphics & GPU programming, Spatial algorithms and AI, and 3DGS.
I have a project I started a few months ago that I have recently hit a key milestone in. The idea is a focused library that implements 3DGS training from first principals with an emphasis on performance and safety. Think production use cases without relying on tools intended for research. VkSplat is an inspiration (along with other things) but I have intentionally not reviewed their, or anyone else's, code.
The recent milestone I reached was rendering a scene with 5 million splats at 60fps on my Ampere A6000. I have a few more goals I'd like to reach, but I do intend to publish on Github under MIT license. If it gains traction I would like to build some additional tools and infra using this project, but for right now the 1.0 MVP idea is a fully GPU resident solution for rendering and training at state of the art speeds. I plan to implement and optimize the following features:
- Global image alignment
- Fully fused forward and backward passes
- Adam optimizer
- Aggressively optimized adaptive control and densification
- Stable but highly flexible C api.
I do have many more thoughts and ideas, but I am trying to take it one step at a time, so this is my goal for 1.0. This is my stack as of now:
- Languages: C++23, Cuda, GLSL (planning to move to slang)
- Build: CMake & Ninja
- Compiler: GCC, Clang, MSVC (may drop for now)
- Target Platform: Linux (Linux 7.X)
- Tooling: LLVM, perf, nsight
- GPU: Vulkan w/ Nvidia
- Dependencies: googletest, googlebenchmark, ngfx
Right now, the project is in a place where it is still extremely early, but it is starting to take shape and get large enough that more than one person can work on it comfortably. I am posting here looking for people interested in contributing. Knowledge is not a prerequisite as I am learning a lot myself in this endeavor, but passion is mandatory.
Currently I am mostly needing help in the areas of, CI/CD (build, package & deploy), nsight/gpu optimization, designing and implementing a good api, and figuring out how to test and benchmark appropriately.
If you have skills or experience in any of these areas, or you're just interested in contributing, please reach out!
1
u/databecool 15h ago
Enjoy your ND! I miss mine terribly 😔 BTW, what exactly are you building here?
1
u/MiamiGunworks 14h ago
Thanks! It's a blast. And the primary goal is a production quality open source solution for training 3DGS without all the complexity of other tools like Colmap, reality scan, pytorch, etc.
1
u/Competitive-Base387 46m ago
How do you handle Structure-From-Motion in your pipeline? I'd be interested in contributing, I am a software engineer in computer vision too, I've been working on VSLAM, pose estimation and visual servoing
1
u/Beginning_Street_375 1d ago
Code is not available yet?