https://github.com/alessiopittiglio/dl-project
A TensorFlow implementation of Neural Radiance Fields (NeRF) for synthesizing novel views of complex 3D scenes from a sparse set of 2D images.
https://github.com/alessiopittiglio/dl-project
computer-vision nerf novel-view-synthesis tensorflow
Last synced: 6 days ago
JSON representation
A TensorFlow implementation of Neural Radiance Fields (NeRF) for synthesizing novel views of complex 3D scenes from a sparse set of 2D images.
- Host: GitHub
- URL: https://github.com/alessiopittiglio/dl-project
- Owner: alessiopittiglio
- Created: 2025-06-06T11:15:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-11-25T02:40:21.000Z (7 months ago)
- Last Synced: 2026-07-01T03:34:30.725Z (6 days ago)
- Topics: computer-vision, nerf, novel-view-synthesis, tensorflow
- Language: Jupyter Notebook
- Homepage:
- Size: 6.38 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Novel View Synthesis with NeRF
## Project Overview
The goal of this project is to develop a model for Novel View Synthesis. This involves generating new images of a 3D object from viewpoints that are not present in the initial set of images. The model is trained on RGB images and their corresponding camera poses.
## Dataset
The project uses the NeRF Synthetic Dataset provided by Cornell University, specifically the Lego scene.
Dataset structure:
```
nerf_synthetic/
└── SCENE_NAME/
├── train/
├── val/
├── test/
├── transforms_train.json
├── transforms_val.json
└── transforms_test.json
```
## Technical Approach
The solution implements the NeRF paper from scratch. The model is Multi-Layer Perceptron (MLP). It takes the encoded position and viewing direction as input and predicts the RGB color and volume density ($\sigma$) at that point. The architecture is composed of 8 fully connected layers with a skip connection at the 4th layer.
## Training
A two-phase strategy was adopted: an initial phase of 50,000 iterations followed by a fine-tuning phase of 10,000 iterations. The model achieved a final PSNR of 30.3 on the test set.
## 360° View Synthesis
A 360° camera rotation generated by the trained NeRF model is shown below.
