A lightweight, web-based interface for viewing and creating 3D Gaussian Splats using Apple's SHARP model. This UI is built in Python using the Gradio framework, which manages the web server and frontend components. The 3D visualization is handled by a custom HTML/JavaScript integration powered by Three.js and the GaussianSplats3D library.
I was using Versio Python 3.11.14 for Conda environment. Apple SHARP installed correctly on it as well. With Python 3.13 had issues with GaussianSplats3D library. Keep this in mind.
Before you use this UI, you need the actual engine that does the heavy lifting.
- Go to the official Apple SHARP repository: https://github.com/apple/ml-sharp.
- Follow their instructions to clone their repo and set up the environment (usually involving Conda).
- Important: Remember the name of the environment you created (e.g.,
sharp). You must run this tool inside that same environment.
Once you have Apple SHARP installed and working:
- Click the green Code button above and select Download ZIP (or clone this repo).
- Unzip the file into a folder on your computer.
- Open your terminal (Command Prompt or Terminal).
- Activate the environment you created for Apple SHARP.
(Or whatever you named your environment)
conda activate sharp
- Navigate to the folder where you unzipped files:
cd path/to/sharp-web-ui - Install the UI dependencies:
pip install -r requirements.txt
- Run the application:
python app.py
- Done! Open the local URL shown in your terminal (usually
http://127.0.0.1:7880). You can always change IP and Port to your likings insideapp.py
Tested on Linux
To keep things clean, here is how you should organize your files:
- Root Folder: Keep
app.py,sharp_runner.py, andrequirements.txthere. - Inputs: Create a folder named
inputs(or whatever you like) and dump your source images there. - Outputs: The tool will automatically generate a folder named "generated_splats" for your .PLY results.
- Batch Processing: Can process multiple files 1 by 1. For now i put a limit to 50 generations. On the 51st generation it will delete the oldest one automatically. You can change the limit inside
sharp_runner.pyfile by changingMAX_GENERATIONS = 50to another number. - Instant 3D Viewer: You can view, rotate, and zoom into your 3D splats right in the browser.
- Simple Interface: It's just buttons and dropdowns.
- Local Privacy: Everything runs on your machine. Your photos don't go to the cloud.
If you find this tool useful, you can support me here:
