A full-stack deep learning web application that reconstructs 3D objects from single 2D views using a Vision Transformer (ViT)-based model. This project showcases a seamless integration of cutting-edge deep learning, interactive UI, and real-time 3D visualization.
This system takes 2D images from single viewpoints as input, processes them through a transformer-based deep learning model, and outputs a 3D model which can be visualized and downloaded in .OBJ format.
- Frontend: React.js
- Backend: Python Flask (REST API)
- Model: Vision Transformer (ViT) for multi-view 3D reconstruction
- 3D Visualization: Three.js or similar WebGL library
- π― Transformer-based 3D Reconstruction: Uses ViT with self-attention for accurate feature extraction and integration across views.
- πΌοΈ Multi-View Input: Upload multiple 2D images captured from various angles.
- π§ Deep Learning Inference API: Flask backend performs inference and generates the 3D model.
- π Interactive Web Interface: Intuitive React-based frontend for uploading images, visualizing the output, and downloading
.OBJfiles. - π§ 3D Viewer Integration: Embedded real-time 3D preview of reconstructed objects using Three.js.
βββ static/ # Syle and Javascript flies
β βββ css/
βββ style.css
β βββ js/
β βββ main.js
βββ templates/ # HTML template file
β βββ Index.html
βββ app.py # Flask API
βββ generation_code.ipynb # Model Generation Code
βββ requirements.txtgit clone https://github.com/RatneshKJaiswal/Imagin3D
cd Imagin3Dcd backend
python -m venv venv
source venv/bin/activate # For Linux/Mac
venv\Scripts\activate # For Windows
pip install -r requirements.txt
python app.py- Upload multiple 2D views of an object
- Preview the reconstructed 3D model on the webpage usind Three.js
- Download the model as an
.OBJfile
The ViT-based model leverages self-attention to learn spatial dependencies across image views, enabling robust feature fusion and accurate 3D reconstruction.
This project is licensed under the MIT License.
- Vision Transformer (ViT) research community
- Javascript and Flask documentation
- Three.js for 3D visualization






