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.
Follow these steps to set up the project on your local machine and start training your NeRF model.
Ensure Docker is installed on your machine. Download it from Docker, or consider alternatives like Podman.
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
Launch the project with:
docker compose up -d
Access the web interface at http://localhost:4173.
To train a NeRF model, proceed with the following:
Start by installing project dependencies:
pnpm install
To launch the development server:
pnpm dev
You can now access the project at http://localhost:5173.
Configure the project by creating a .env
file at the root. The following environment variables are customizable:
VITE_PORT_SERVER
: HTTP server port (default: 3000).VITE_PORT_SOCKET
: WebSocket server port (default: 3001).PORT_FRONTEND
: Frontend server port (default: 5173).WORKSPACE
: Directory for project workspace (default: /workspace
).For production settings, use a .env.prod
file.
Built with React and Tailwind CSS, the frontend includes:
src/assets
: Project assets.src/components
: React components.src/config
: Configuration for training and pre-processing parameters.src/layouts
: Layout components.src/routes
: Application routes.src/utils
: tRPC setup.The backend, powered by tRPC, manages API requests and interfaces with Nerfstudio CLI:
src/router
: API request routers.src/utils
: Utility functions for API management.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.