In plain words
Walk around a statue taking photos from many sides. A NeRF (neural radiance field) studies those photos and builds a 3D version of the scene. You can then move a virtual camera anywhere and see a new view, even from a spot where you never stood.
It does not store the scene as a model made of triangles, like a video game does. It stores it inside a neural network that answers one question: at this point in space, looking from this direction, how solid is it and what colour?
To draw a picture, the computer asks that question at many points along the line of sight of every pixel and blends the answers. Training adjusts the network until the pictures it draws match the real photos. Shine and reflections can look natural, because colour may depend on where you look from.
Everyday example
Rebuilding a room from wedding photos
Imagine a hall where guests took photos from every corner. A friend who studied them all could sketch the stage from the balcony, though nobody stood there. A NeRF works similarly: it learns one consistent 3D scene that explains every photo, then draws views in between.
Where the example breaks: Your friend understands what a stage is and can imagine its hidden back. A NeRF knows nothing about objects. It only fits the light it saw, so parts no photo showed come out blurry or as floating smudges.
How it actually works
NeRF was introduced in 2020. Its key idea: represent a scene as a continuous function learned by a network, and draw it with classic volume rendering.
Collect photos with known camera positions
The input is a set of photos of one still scene plus each camera's position and angle, usually worked out by software that matches features across the photos. The original paper used 20 to 62 photos for real scenes.
Ask the network about any point
The network takes five numbers: a 3D position (x, y, z) and a viewing direction. It returns density (how much stuff is there) and colour as seen from that direction. The original's core was a plain stack of 8 fully connected layers.
March along each pixel's ray
For each pixel, imagine a ray from the camera through it. Sample points along the ray, ask the network about each, and blend their colours, weighted by density and by how much light gets past the points in front. That is the pixel's colour.
Train by comparing with the real photos
Draw the pixels for one of the input photos and measure how far off they are. Because every step is differentiable, backpropagation can nudge the network's weights to reduce the error. Repeat over all the photos, many thousands of times.
Make it faster
The first NeRFs took one to two days to train per scene and about 30 seconds to draw a frame. NVIDIA's Instant NGP (2022) brought training down to a matter of seconds. In 2023, Gaussian splatting offered real-time viewing by dropping the network altogether.
- First described
- March 2020, "NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis"
- Who
- Ben Mildenhall, Pratul Srinivasan, Matthew Tancik, Jonathan Barron, Ravi Ramamoorthi and Ren Ng, at UC Berkeley, Google Research and UC San Diego
- Recognition
- Best paper honourable mention at ECCV 2020
- Size
- About 5 MB of network weights per scene, versus over 15 GB for an earlier voxel method on the same task
A NeRF reconstructs one real scene. It does not invent new ones, though many 3D generation systems build on the same idea.
Questions people ask
What does NeRF stand for?
Neural radiance field. Neural, because a neural network stores the scene. Radiance, because it describes the light leaving each point. Field, because it gives a value for every point in space.
Is NeRF the same as photogrammetry?
Both turn photos into 3D. Classic photogrammetry usually builds a surface mesh with a painted texture, the format games and 3D tools use. NeRF stores the scene as a learned function with colour that changes by viewing angle, so shine and reflections come out more naturally, but the result is harder to edit.
NeRF vs Gaussian splatting: which is better?
They solve the same problem. Gaussian splatting draws in real time and trains faster than the original NeRF, but its files are larger. NeRF-style models are far more compact. Which is better depends on whether you need speed or small files.
Can a NeRF capture moving things?
The original assumes the scene stays perfectly still across all photos. Moving people or leaves blur into ghosts. Later research, such as D-NeRF (2020), added time as an input so scenes can move, but it is harder.
Was this clear?
1 is confusing, 5 is crystal clear. One tap, no account needed.
Spotted something wrong, or know a better example? Suggest a change
Further reading
- NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (Mildenhall et al.)arXiv, 2020
- NeRF project pageMatthew Tancik / UC Berkeley, 2020
- Instant Neural Graphics Primitives with a Multiresolution Hash Encoding (Müller et al.)arXiv, 2022
- 3D Gaussian Splatting for Real-Time Radiance Field Rendering (Kerbl et al.)arXiv, 2023