Neural radiance fields
A PyTorch model that renders new views of a scene from images with known camera positions.

Scene and representation
For this COSC 83 assignment, I trained a NeRF on the synthetic Lego scene from the Blender dataset. The dataset has 100 training views, 13 validation views, and 25 held-out test views with known camera poses. I composited the source images over white and trained at 400 × 400 resolution to fit the run within the available GPU budget.
Rendering pipeline
The implementation combines positional encoding, a view-dependent MLP with a skip connection, camera-ray generation, stratified sampling, and differentiable volume rendering. A coarse network distributes extra samples along each ray, and a fine network renders the final color. Training used 64 coarse and 128 fine samples per ray for 200,000 iterations.

Held-out views
I evaluated all 25 held-out camera poses. The mean test PSNR was 30.71 dB across 25 views; the best view reached 32.66 dB and the lowest was 27.57 dB. The best-view comparison shows the rendered image beside its ground truth.

Depth from the learned field
The same field also produced a disparity frame along a spiral camera path. Brighter regions are nearer to the camera, separating the bulldozer from the background in the recovered scene geometry.
