Table of Contents

Class NeRFNetwork<T>

Namespace
AiDotNet.Diffusion.Models
Assembly
AiDotNet.dll

Neural Radiance Field network for 3D representation.

public class NeRFNetwork<T>

Type Parameters

T

The numeric type.

Inheritance
NeRFNetwork<T>
Inherited Members

Constructors

NeRFNetwork(int, int, int?)

Initializes a new NeRF network.

public NeRFNetwork(int hiddenDim = 64, int numLayers = 4, int? seed = null)

Parameters

hiddenDim int

Hidden layer dimension.

numLayers int

Number of hidden layers.

seed int?

Optional random seed.

Properties

ParameterCount

Gets the total parameter count.

public int ParameterCount { get; }

Property Value

int

Methods

GetParameters()

Gets all network parameters.

public Vector<T> GetParameters()

Returns

Vector<T>

Initialize()

Initializes network weights.

public void Initialize()

QueryDensity(double, double, double)

Queries the density at a 3D point.

public double QueryDensity(double x, double y, double z)

Parameters

x double
y double
z double

Returns

double

Render(CameraPose, int)

Renders an image from the NeRF at a given camera pose.

public Tensor<T> Render(CameraPose cameraPose, int resolution)

Parameters

cameraPose CameraPose

The camera pose.

resolution int

Output image resolution.

Returns

Tensor<T>

Rendered image as tensor [H, W, 3].

SetParameters(Vector<T>)

Sets network parameters.

public void SetParameters(Vector<T> parameters)

Parameters

parameters Vector<T>

UpdateParameters(Tensor<T>, CameraPose, double)

Updates network parameters using gradient.

public void UpdateParameters(Tensor<T> gradient, CameraPose cameraPose, double learningRate)

Parameters

gradient Tensor<T>
cameraPose CameraPose
learningRate double