Back to topics

Neural Implicit Surfaces

NeUS & Supernormals

The Problem with NeRF

Neural Radiance Fields (NeRF) can render photorealistic novel views, but extracting accurate surface geometry from them is challenging. NeRF represents scenes as volumetric density — great for rendering, poor for precise surfaces.

NeUS (Wang et al., 2021) solves this by replacing the density field with a Signed Distance Function (SDF), where the surface is defined as the zero-level set.

Signed Distance Functions

An SDF maps every point in 3D space to a signed distance value:

  • Negative values are inside the object
  • Positive values are outside
  • Zero is exactly on the surface

The gradient of the SDF at the surface gives you the surface normal — the direction pointing away from the surface.

Signed Distance Function

f(x): ℝ3 → ℝ

S = { x | f(x) = 0 }    (zero level set = surface)

n(x) = ∇f(x) / |∇f(x)|    (surface normal)

SDF Explorer

Move mouse left/right to morph the shape. Move mouse above/below center to toggle surface normals.

NeUS: Volume Rendering with SDF

The core challenge: how to do volume rendering (which NeRF needs for training) using an SDF (which gives us clean surfaces)? NeUS introduces a clever weight function based on the logistic sigmoid distribution.

The key insight is that the weight function peaks exactly at the surface (where the SDF is zero) and falls off on both sides. This means rays "see" the surface without needing an explicit surface extraction step during training.

NeUS Weight Function

Φs(x) = (1 + e-s·x)-1    (sigmoid)

w(t) = φs(f(p(t))) · |∇f(p(t)) · d| / ∫φs(f(p(t))) dt

s controls sharpness; higher s = sharper surface; φ = sigmoid derivative (logistic density)

NeUS Volume Rendering

Watch rays cast from the camera through the SDF field. Sample weights peak near the zero-level set surface.

Supernormals

Supernormals go beyond standard surface normals by incorporating additional geometric information. While a standard normal tells you the direction a surface faces at one point, supernormals encode richer information about the local surface geometry.

The concept is related to normal maps in computer graphics, but learned from multi-view images rather than manually created. NeUS can be extended to predict supernormal fields that capture fine-scale surface details — wrinkles, pores, fabric texture — that might be smoothed out in the base SDF.

Supernormal Estimation

nsuper(x) = MLPθ(x, n(x), ∇2f(x))

The supernormal network takes position, base normal, and curvature as input

Training Pipeline

NeUS with supernormals is trained end-to-end from multi-view images:

  1. SDF Network — MLP that predicts f(x) for any 3D point
  2. Color Network — MLP that predicts radiance given position, normal, and viewing direction
  3. Supernormal Network — refines normals for fine-grained detail
  4. Volume Rendering — integrates along rays using the SDF-based weights
  5. Loss — color reconstruction + Eikonal regularization (|∇f| = 1)

Eikonal Regularization

ℒeikonal = 𝔼x[ ( |∇f(x)| - 1 )2 ]

Enforces the SDF property: gradient magnitude should be 1 everywhere