Skip to content

This repository contains an implementation of Neural Radiance Fields (NeRF) using PyTorch. NeRF is a method for synthesizing novel views of complex 3D scenes by optimizing a continuous volumetric scene representation using deep learning.

Notifications You must be signed in to change notification settings

charan2598/NeRF-PyTorch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeRF-PyTorch - Neural Radiance Fields PyTorch Implementation

Vanilla NeRF implementation using PyTorch

Overview

This repository contains an implementation of Neural Radiance Fields (NeRF) using PyTorch. NeRF is a method for synthesizing novel views of complex 3D scenes by optimizing a continuous volumetric scene representation using deep learning.

Features

  • Implements vanilla NeRF using PyTorch
  • Supports positional encoding for improved performance
  • Uses ray marching for volume rendering
  • Trains on custom datasets and synthetic datasets
  • Supports rendering of novel views from trained models

Installation

Prerequisites

  • Python 3.8+
  • PyTorch 1.10+
  • NumPy
  • Matplotlib
  • Pillow

Usage

Training

To train NeRF on a dataset:

python main.py

Dataset Preparation

Ensure your dataset follows the NeRF standard:

  • A transforms_<split>.json file specifying camera poses where split = train, test, val
  • Images stored in a directory
  • Example dataset structures can be found in the data/ folder

Model Details

  • Uses an MLP to predict color and density values for queried 3D points
  • Employs hierarchical volume sampling for better efficiency
  • Implements positional encoding for high-frequency details

Results

Will include the results soon.

References

License

This project is licensed under the MIT License.

Contact

For questions and contributions, feel free to open an issue or reach out via GitHub.

About

This repository contains an implementation of Neural Radiance Fields (NeRF) using PyTorch. NeRF is a method for synthesizing novel views of complex 3D scenes by optimizing a continuous volumetric scene representation using deep learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages