Instant NGP from a Webcam(s)?

A user took a great deal and made it into a near live version of Instant NGP

A user took a great deal and made it into a near live version of Instant NGP

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

Instant NGP

Over the weekend, I saw a page title that caught my eye: Immediate NeRF from webcams. Slightly incredulous and curious to learn more, I clicked through it.

Github user Ednaordinary demonstrated in a discussion of the NV Labs Github page a running version of Instant NGP utilizing 12 webcams. The results are really decent actually considering only 12 inputs are powering it. Even moreso for a bunch of $4.99 webcams.

While her computer is utilizing a 3090, it on appears to be consuming 3.62GB of VRAM, making this attainable for more people.

But the real question is how far away are we from having full NeRF powered video conferences. The answer is not close at all, but this represents an exciting baseline. NeRF has its work cut out for it to compete with Apple’s recently announced Digital Persona and Google’s Project Starline and honestly there might not be much of a competition, but it’s encouraging to see someone using Instant NGP in a near live capacity.

For those looking to try this out for themselves, Ednaordinary warns the code is not a straight out of the box solution, but does write the changes she made to make it happen.

Please modify the following lines:

83: Inside the list add the numbers for the cameras you want (to get this do v4l2-ctl --list-devices, then if you have /dev/video1 and want to use it, put 1)84-89 and 101-104: These lines are to declare lists for multithreading. The simplest thing to do while still having a working script is to remove 84-89 and replace 101-104 withthreads.append(threading.Thread(target=camloop, args=[cams, 0])), though note this will be slower. If you would like to multithread, make lists for each set of cams and make new threads.append(threading.Thread(target=camloop, args=[cams, 0])) lines, replacing cams with each list and adding an offset number of the length of the previous list of cams (so that they do not overwrite eachother). At any time 1 camera will be accessed from each list. All cams are not accessed at once because of bandwidth issues.91: Add the directory for the scene and include "/images"Once the script is ready calling it with zero arguments will capture a picture from each webcam and write it, then do nothing. This is useful for capturing pictures just once and then using colmap2nerf.py. Once you have transforms.json, run it with "--scene ./data/nerf/webcam --gui --train --n_steps 100000000000" replacing ./data/nerf/webcam with the directory to the scene. n_steps is the number of steps to train, but we don't want to stop training, so set it really high.

I for one will probably be paying Walmart.com a visit and then shortly thereafter see how successfully I can get it to run.

Featured

Recents

Platforms

SHINING 3D Adds Gaussian Splatting to EXStar Hub 2.0

EXStar Hub 2.0 adds cloud-computed 3D Gaussian splatting for the Einstar 2 and Einstar Rockit scanners, alongside a new EXStar Mobile companion app for Android.

Michael Rubloff

Oct 31, 2026

Platforms

SHINING 3D Adds Gaussian Splatting to EXStar Hub 2.0

EXStar Hub 2.0 adds cloud-computed 3D Gaussian splatting for the Einstar 2 and Einstar Rockit scanners, alongside a new EXStar Mobile companion app for Android.

Michael Rubloff

Platforms

Octave Adds Gaussian Splat Support to Alto 2026.1

Octave Alto 2026.1 adds Gaussian splat support, read as OGC 3D Tiles with glTF payloads, plus live drone video integration and NATO military mapping standards.

Michael Rubloff

Oct 31, 2026

Platforms

Octave Adds Gaussian Splat Support to Alto 2026.1

Octave Alto 2026.1 adds Gaussian splat support, read as OGC 3D Tiles with glTF payloads, plus live drone video integration and NATO military mapping standards.

Michael Rubloff

Platforms

Yehe Liu Adds a Public Dataset Catalog to ColmapView

ColmapView Spatial Hub catalogs 4,559 COLMAP-compatible scene entries that open in the browser viewer, and viewer v0.20.1 adds public Share on Hub submissions.

Michael Rubloff

Oct 31, 2026

Platforms

Yehe Liu Adds a Public Dataset Catalog to ColmapView

ColmapView Spatial Hub catalogs 4,559 COLMAP-compatible scene entries that open in the browser viewer, and viewer v0.20.1 adds public Share on Hub submissions.

Michael Rubloff

Platforms

Florian Hahlbohm Rebuilds Zip-NeRF in Fused CUDA

Fused Zip-NeRF reimplements Zip-NeRF in hand-written fused CUDA for NeRFICG, which its author says trains 6-7x faster and renders 10x faster at equal quality.

Michael Rubloff

Oct 31, 2026

Platforms

Florian Hahlbohm Rebuilds Zip-NeRF in Fused CUDA

Fused Zip-NeRF reimplements Zip-NeRF in hand-written fused CUDA for NeRFICG, which its author says trains 6-7x faster and renders 10x faster at equal quality.

Michael Rubloff

Trending Articles
  1. TRENDING
    Loading...
  2. TRENDING
    Loading...
  3. TRENDING
    Loading...
Michael Rubloff

Written by Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

More from Michael Rubloff

More from Michael Rubloff

Platforms

SHINING 3D Adds Gaussian Splatting to EXStar Hub 2.0

EXStar Hub 2.0 adds cloud-computed 3D Gaussian splatting for the Einstar 2 and Einstar Rockit scanners, alongside a new EXStar Mobile companion app for Android.

Michael Rubloff

Oct 31, 2026

EXStar Hub

Platforms

SHINING 3D Adds Gaussian Splatting to EXStar Hub 2.0

Michael Rubloff

Oct 31, 2026

EXStar Hub

Platforms

SHINING 3D Adds Gaussian Splatting to EXStar Hub 2.0

EXStar Hub 2.0 adds cloud-computed 3D Gaussian splatting for the Einstar 2 and Einstar Rockit scanners, alongside a new EXStar Mobile companion app for Android.

Michael Rubloff

Oct 31, 2026

EXStar Hub

Platforms

Octave Adds Gaussian Splat Support to Alto 2026.1

Octave Alto 2026.1 adds Gaussian splat support, read as OGC 3D Tiles with glTF payloads, plus live drone video integration and NATO military mapping standards.

Michael Rubloff

Oct 31, 2026

Octave

Platforms

Octave Adds Gaussian Splat Support to Alto 2026.1

Michael Rubloff

Oct 31, 2026

Octave

Platforms

Octave Adds Gaussian Splat Support to Alto 2026.1

Octave Alto 2026.1 adds Gaussian splat support, read as OGC 3D Tiles with glTF payloads, plus live drone video integration and NATO military mapping standards.

Michael Rubloff

Oct 31, 2026

Octave

Platforms

Yehe Liu Adds a Public Dataset Catalog to ColmapView

ColmapView Spatial Hub catalogs 4,559 COLMAP-compatible scene entries that open in the browser viewer, and viewer v0.20.1 adds public Share on Hub submissions.

Michael Rubloff

Oct 31, 2026

Spatial Hub

Platforms

Yehe Liu Adds a Public Dataset Catalog to ColmapView

Michael Rubloff

Oct 31, 2026

Spatial Hub

Platforms

Yehe Liu Adds a Public Dataset Catalog to ColmapView

ColmapView Spatial Hub catalogs 4,559 COLMAP-compatible scene entries that open in the browser viewer, and viewer v0.20.1 adds public Share on Hub submissions.

Michael Rubloff

Oct 31, 2026

Spatial Hub

New to Gaussian Splatting? Start here

Radiance fields, explained from the ground up: what a Gaussian splat is, how to capture one, and which tools and gear to start with.

Newsletter

Keep up with the field.

New research, tools and captures from the Radiance Fields newsroom, in your inbox. Free, no spam.