EduardvonBriesen / simplify-nerf

MIT License
0 stars 0 forks source link

Simplify NeRF

About The Project

Simplify NeRF provides a straightforward web interface to use Nerfstudio, a platform for training and rendering NeRF models. Users can upload images to generate 3D models seamlessly. The project is developed with React, tRPC, and Docker.

Quick Start

Follow these steps to set up the project on your local machine and start training your NeRF model.

1. Setup and Installation

Prerequisites

Ensure Docker is installed on your machine. Download it from Docker, or consider alternatives like Podman.

Installation

Clone the repository and navigate to the project directory:

git clone https://github.com/Simplifying-NeRF/Simplifying-NeRF.git
cd Simplifying-NeRF

Build the Docker image:

docker compose build

Starting the Project

Launch the project with:

docker compose up -d

Access the web interface at http://localhost:4173.

2. Training a NeRF Model

To train a NeRF model, proceed with the following:

  1. Create a new project.
  2. Upload your images or a video.
  3. Initiate pre-processing.
  4. Begin model training.
  5. Utilize the Viewer to explore the model.

Development

Start by installing project dependencies:

pnpm install

To launch the development server:

pnpm dev

You can now access the project at http://localhost:5173.

Configuration

Configure the project by creating a .env file at the root. The following environment variables are customizable:

For production settings, use a .env.prod file.

Project Structure

Frontend

Built with React and Tailwind CSS, the frontend includes:

Backend

The backend, powered by tRPC, manages API requests and interfaces with Nerfstudio CLI:

Docker

The application utilizes Docker for deployment:

The base image is dromni/nerfstudio:1.0.2, enhanced with patches from the ./patches directory for improved project compatibility.