frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Show HN: Real-Time Gaussian Splatting

https://github.com/axbycc/LiveSplat
109•markisus•6h ago
LiveSplat is a system for turning RGBD camera streams into Gaussian splat scenes in real-time. The system works by passing all the RGBD frames into a feed forward neural net that outputs the current scene as Gaussian splats. These splats are then rendered in real-time. I've put together a demo video at the link above.

Comments

sreekotay•6h ago
This is realtime capture/display? Presumable (at this stage) for local viewing? Is that right?
markisus•6h ago
Yes realtime capture and display. Locality is not required. You can send the source RGBD video streams over IP and in fact I have that component working in the larger codebase that this was split off from. For that use case, you need to do some sort of compression. The RGB stream compression is a pretty solved problem, but the depth channel needs special consideration since "perceptual loss" in the depth space is not a well researched area.
patrick4urcloud•6h ago
nice
echelon•6h ago
OP, this is incredible. I worry that people might see a "glitchy 3D video" and might not understand the significance of this.

This is getting unreal. They're becoming fast and high fidelity. Once we get better editing capabilities and can shape the Gaussian fields, this will become the prevailing means of creating and distributing media.

Turning any source into something 4D volumetric that you can easily mold as clay, relight, reshape. A fully interactable and playable 4D canvas.

Imagine if the work being done with diffusion models could read and write from Gaussian fields instead of just pixels. It could look like anything: real life, Ghibli, Pixar, whatever.

I can't imagine where this tech will be in five years.

markisus•6h ago
Thanks so much! Even when I was putting together the demo video I was getting a little self-critical about the visual glitches. But I agree the tech will get better over time. I imagine we will be able to have virtual front row seats at any live event, and many other applications we haven't thought of yet.
echelon•6h ago
> I imagine we will be able to have virtual front row seats at any live event, and many other applications we haven't thought of yet.

100%. And style-transfer it into steam punk or H.R. Giger or cartoons or anime. Or dream up new fantasy worlds instantaneously. Explore them, play them, shape them like Minecraft-becomes-holodeck. With physics and tactile responses.

I'm so excited for everything happening in graphics right now.

Keep it up! You're at the forefront!

_verandaguy•6h ago
I know enough about 3D rendering to know that Gaussian splatting's one of the Big New Things in high-performance rendering, so I understand that this is a big deal -- but I can't quantify why, or how big a deal it is.

Could you or someone else wise in the ways of graphics give me a layperson's rundown of how this works, why it's considered so important, and what the technical challenges are given that an RGB+D(epth?) stream is the input?

markisus•6h ago
Gaussian Splatting allows you to create a photorealistic representation of an environment from just a collection of images. Philosophically, this is a form of geometric scene understanding from raw pixels, which has been a holy grail of computer vision since the beginning.

Usually creating a Gaussian splat representation takes a long time and uses an iterative gradient-based optimization procedure. Using RGBD helps me sidestep this optimization, as much of the geometry is already present in the depth channel and so it enables the real-time aspect of my technique.

When you say "big deal", I imagine you are also asking about business or societal implications. I can't really speak on those, but I'm open to licensing this IP to any companies which know about big business applications :)

corysama•5h ago
So, is there some amount of gradient-based optimization going on here? I see RGBD input, transmission, RGBD output. But, other than multi-camera registration, it's difficult to determine what processing took place between input and transmission. What makes this different from RGBD camera visualizations from 10 years ago?
markisus•4h ago
There is no gradient-based optimization. It's (RGBD input, Current Camera Pose) -> Neural Net -> Gaussian Splat output.

I'm not aware of other live RGBD visualizations except for direct pointcloud rendering. Compared to pointclouds, splats are better able to render textures, view-dependent effects, and occlusions.

_verandaguy•1h ago
Thanks! That makes a lot of sense, I might dig into this after work some more.

By "big deal," I meant more for people specializing around computer graphics, computer vision, or even narrower subfields of either of those two -- a big deal from an academic interest perspective.

Sure, this might also have implications in society and business, but I'm a nerd, and I appreciate a good nerding out over something cool, niche, and technically impressive.

sendfoods•6h ago
Please excuse my naive question - isn't Gaussian Splatting usually used to create 3D imagery from 2D? How does providing 3D input data make sense in this context?
ttoinou•6h ago
Well if you have the D channel you might as well benefit from it and have better output
markisus•6h ago
Yes, the normal case uses 2D input, but it can take hours to create the scene. Using the depth channel allows me to create the scene in 33 milliseconds, from scratch, every frame. You could conceptualize this as a compromise between raw pointcloud rendering and fully precomputed Gaussian splat rendering. With pointclouds, you have a lot visual artifacts due to sparsity (low texture information, seeing "through" objects"). With Gaussian splatting, you can transfer a lot more of the 2D texture information into 3D space and render occlusion and view-dependent effects better.
Retr0id•5h ago
How do the view-dependent effects get "discovered" from only a single source camera angle?
markisus•5h ago
Actually there are multiple source cameras. The neural net learns to interpolate the source camera colors based on where the virtual camera is. Under the hood it's hard to say exactly what's going on in the mind of the neural net, but I think it's something like "If I'm closer to camera A, take most of the color from camera A."
ttoinou•5h ago
So we’re not sure how it works exactly ?
markisus•5h ago
Yup, this is the case for all neural nets.
jayd16•4h ago
Splatting is about building a scene that supports synthetic view angles.

The depth is helpful to properly handle the parallaxing of the scene as the view angle changes. The system should then ideally "in-paint" the areas that are occluded from the input.

You can either guess the input depth from matching multiple RGB inputs or just use depth inputs along with RGB inputs if you have them. It's not fundamental to the process of building the splats either way.

yuchi•6h ago
The output looks terribly similar to what sci-fi movies envisioned as 3D reconstruction of scenes. It is absolutely awesome. Now, if we could project them in 3D… :)
tough•2h ago
Apple Vision maybe?
mandeepj•6h ago
Another implementation of splat https://github.com/NVlabs/InstantSplat
jasonjmcghee•5h ago
The quality is better, no doubt, but this method (from the paper) takes on the order of 10-45s depending on input from their table. Which is much better than 10 minutes etc.

That being said, afaict OP's method is 1000x faster, at 33ms.

markisus•5h ago
Note that the method you linked is "Splatting in Seconds" where as real-time requires splatting in tens of milliseconds.

I'm also following this work https://guanjunwu.github.io/4dgs/ which produces temporal Gaussian splats but takes at least half an hour to learn the scene.

metalrain•6h ago
How did you train this? I'm thinking there isn't reference output for live video frame to splats so supervised learning doesn't work.

Is there some temporal accumulation?

markisus•5h ago
There is no temporal accumulation, but I think that's the next logical step.

Supervised learning actually does work. Suppose you have four cameras. You input the three of them into the net and use the fourth as the ground truth. The live video aspect just emerges from re-running the neural net every frame.

corysama•5h ago
So, I see livesplat_realsense.py imports livesplat. Where’s livesplat?
IshKebab•5h ago
The README says it's closed source.
markisus•5h ago
I've tried to make it clear in the link that the actual application is closed source. I'm distributing it as a .whl full of binaries (see the installation instructions).

I've considered publishing the source but the source code is is dependent on some proprietary utility libraries from my bigger project and it's hard to fully disentangle it and I'm not sure if this project has some business applications but I'd like to keep that door open at this time.

armchairhacker•5h ago
Gaussian Splatting looks pretty and realistic in a way unlike any other 3D render, except UE5 and some hyper-realistic not-realtime renders.

I wonder if one can go the opposite route and use gaussian splatting or (more likely) some other method to generate 3D/4D scenes from cartoons. Cartoons are famously hard to emulate in 3D even entirely manually; like with traditional realistic renders (polygons, shaders, lighting, post-processing) vs gaussian splats, maybe we need a fundamentally different approach.

spyder•5h ago
Correct me if I'm wrong but looking at the video this just looks like a 3D point cloud using equal-sized "gaussians" (soft spheres) for each pixel, that's why it looks still pixelated especially at the edges. Even when it's low resolution the real gaussian splatting artifacts look different with spikes an soft blobs at the lower resolution parts. So this is not really doing the same as a real gaussian splatting of combining different sized view-dependent elliptic gaussians splats to reconstruct the scene and also this doesn't seem to reproduce the radiance field as the real gaussian splatting does.
markisus•5h ago
I had to make a lot of concessions to make this work in real-time. There is no way that I know to replicate the fidelity of "actual" Gaussian splatting training process within the 33ms frame budget.

However, I have not baked in the size or orientation into the system. Those are "chosen" by the neural net based on the input RGBD frames. The view dependent effects are also "chosen" by the neural net, but not through an explicit radiance field. If you run the application and zoom in, you will be able to see the splats of different sizes pointing in different directions. The system as limited ability to re-adjust the positions and sizes due to the compute budget leading to the pixelated effect.

kookamamie•5h ago
[flagged]
dang•1h ago
Whoa—please don't be a jerk on HN and especially not when discussing other people's work.

You broke the site guidelines badly here (https://news.ycombinator.com/newsguidelines.html), and the Show HN guidelines even more so (https://news.ycombinator.com/showhn.html).

If you wouldn't mind reviewing those links and sticking to the rules when posting to HN, we'd appreciate it.

whywhywhywhy•5h ago
Would be good to see how it's different from just the depth channel applied to the Z of the RGB pixels. Because it looks very similar to that.
markisus•5h ago
The application has this feature and lets you switch back and forth. What you are talking about is the standard pointcloud rendering algorithm. I have an older video where I display the corresponding pointcloud [1] in a small picture in picture frame so you can compare.

I actually started with pointclouds for my VR teleoperation system but I hated how ugly it looked. You end up seeing through objects and objects becoming unparseable if you get too close. Textures present in the RGB frame also become very hard to make out because everything becomes "pointilized". In the linked video you can make out the wood grain direction in the splat rendering, but not in the pointcloud rendering.

[1] https://youtu.be/-u-e8YTt8R8?si=qBjYlvdOsUwAl5_r&t=14

badmonster•2h ago
What is the expected frame rate and latency when running on a typical setup with one Realsense camera and an RTX 3060?
markisus•1h ago
I don't have a 3060 at hand so I'm not sure. Ideally someone with that setup will try it out and report back. There is no noticeable latency when comparing visually with standard pointcloud rendering.

With framerate, there are two different frame rates that are important. One is the splat construction framerate, which the speed that an entirely new set of Gaussian's can be constructed. LiveSplat can usually maintain 30fps in this case.

The second important splat rendering framerate. In VR this is important to prevent motion sickness. Even if you have a static set of splats, you need the rendering to react to the user's minor head movements at around 90fps for the best in-headset experience.

All these figures are on my setup with a 4090 but I have gotten close results with a 3080 (maybe 70fps splat rendering instead of 90fps).

smusamashah•1h ago
The demo video does not show constructing 3d from input. Is it possible to do something like that with this? Take a continus feed of a static scene and keep improving the 3D view?

This is what I thought from the title, but the demo video is just a conitnuously changing stream of points/splats with the video.

markisus•48m ago
If the scene is static, the normal Gaussian splatting pipeline will give much better results. You take a bunch of photos and then let the optimizer run for a while to create the scene.
drewbeck•49m ago
imo this is a key component of a successful VR future for live events. Many cameras at a venue, viewers strap on a headset at home and get to sit/stand anywhere in the room and see the show.

Also I love the example. Folks could make some killer music videos with this tech.

asadm•41m ago
This is amazing! Video calls of the future (this + vision pro) would be lovely.

Baby Is Healed with First Personalized Gene-Editing Treatment

https://www.nytimes.com/2025/05/15/health/gene-editing-personalized-rare-disorders.html
122•jbredeche•2h ago•63 comments

I Don't Like NumPy

https://dynomight.net/numpy/
201•MinimalAction•4h ago•85 comments

The current state of TLA⁺ development

https://ahelwer.ca/post/2025-05-15-tla-dev-status/
39•todsacerdoti•1h ago•1 comments

Dr. Dobb's Journal Interviews Jef Raskin (1986)

https://computeradsfromthepast.substack.com/p/dr-dobbs-journal-interviews-jef-raskin
23•rbanffy•1h ago•7 comments

The Unreasonable Effectiveness of an LLM Agent Loop with Tool Use

https://sketch.dev/blog/agent-loop
15•crawshaw•47m ago•2 comments

Launch HN: Tinfoil (YC X25): Verifiable Privacy for Cloud AI

77•FrasiertheLion•4h ago•48 comments

Tek – a music making program for 24-bit Unicode terminals

https://codeberg.org/unspeaker/tek
5•smartmic•24m ago•0 comments

Improving Naval Ship Acquisition

https://www.construction-physics.com/p/fixing-naval-ship-acquisition
23•Luc•2h ago•21 comments

A Tiny Boltzmann Machine

https://eoinmurray.info/boltzmann-machine
191•anomancer•6h ago•32 comments

New paradigm for psychology just dropped

https://www.experimental-history.com/p/new-paradigm-for-psychology-just
26•CharlesW•1h ago•22 comments

Show HN: Min.js style compression of tech docs for LLM context

https://github.com/marv1nnnnn/llm-min.txt
128•marv1nnnnn•6h ago•37 comments

Malicious compliance by booking an available meeting room

https://www.clientserver.dev/p/malicious-compliance-by-booking-an
236•jakevoytko•7h ago•225 comments

Fetii (YC S22) Is Hiring

https://www.ycombinator.com/companies/fetii/jobs/QDjleWs-senior-operations-manager-fetii
1•Mattiommi•3h ago

Harvard Law paid $27 for a copy of Magna Carta. It's an original

https://www.nytimes.com/2025/05/15/world/europe/harvard-law-magna-carta-original.html
72•jgwil2•1h ago•25 comments

Refactoring Clojure

https://www.orsolabs.com/post/refactoring-clojure-1/
4•luu•53m ago•0 comments

Onfim's world: Child artists in history

https://resobscura.substack.com/p/onfims-world-medieval-child-artists
26•benbreen•3h ago•5 comments

Show HN: Real-Time Gaussian Splatting

https://github.com/axbycc/LiveSplat
109•markisus•6h ago•43 comments

The Scalar Select Anti-Pattern

https://matklad.github.io/2025/05/14/scalar-select-aniti-pattern.html
13•goranmoomin•1d ago•0 comments

Coinbase says hackers bribed staff to steal customer data, demanding $20M ransom

https://www.cnbc.com/2025/05/15/coinbase-says-hackers-bribed-staff-to-steal-customer-data-and-are-demanding-20-million-ransom.html
187•gpi•4h ago•198 comments

Lua for Elixir

https://davelucia.com/blog/lua-elixir
159•davydog187•2d ago•61 comments

Wavelet Trees: An Introduction (2011)

https://www.alexbowe.com/wavelet-trees/
37•Tomte•4h ago•9 comments

The Fastest Way yet to Color Graphs

https://www.quantamagazine.org/the-fastest-way-yet-to-color-graphs-20250512/
29•GavCo•2d ago•8 comments

Pathfinding

https://juhrjuhr.itch.io/deep-space-exploitation/devlog/945428/9-pathfinding
88•sebg•7h ago•29 comments

How we made billing backendless

https://useautumn.com/blog/backendless
25•ayushrodrigues•6h ago•37 comments

Model Organisms Are Not Static

https://www.asimov.press/p/model-organisms-are-not-static
24•mailyk•4h ago•6 comments

A Rust API Inspired by Python, Powered by Serde

https://ohadravid.github.io/posts/2025-05-serde-reflect/
46•lukastyrychtr•4d ago•20 comments

Show HN: Undetectag, track stolen items with AirTag

https://undetectag.com/
38•pompidoo•4h ago•50 comments

Radiance Contrasts at Possible Lunar Water Ice Exposures Seen by ShadowCam

https://iopscience.iop.org/article/10.3847/PSJ/adb8d1
7•PaulHoule•2d ago•0 comments

Demystifying Ruby (1/3): It's all about threads

https://blog.papey.fr/post/07-demystifying-ruby-01/
34•kadrek•6h ago•0 comments

Working on complex systems: What I learned working at Google

https://www.thecoder.cafe/p/complex-systems
218•0xKelsey•2d ago•113 comments