This open-source project presents a functional wallpaper and texture room previewing software that leverages open-source models, running locally. It was submitted as part of the University Dissertation, achieving a First-Class grade, which can be read at https://drive.google.com/file/d/1PVYoZnT21Wru38vmFbLnHsOMBOreMvup/view?usp=drive_link.
Wallpaper-Previewer/
│
├── external/ # Unmodified external repositories used.
├── adapted/ # External repositories with custom modifications.
├── src/ # Core source code developed for the project.
│ ├── app/ # GUI and surface previewers.
│ ├── interfaces/ # Interfaces for each key system component.
│ ├── models/ # Integration of adapted/external models.
│ └── rendering/ # 3D texture rendering functionality.
│
├── weights/ # Model weights (see below for instructions).
├── tests/ # Unit tests.
├── data/ # Contains sample open licensed input images and wallpapers.
└── evaluation/ # Evaluation scripts used for the dissertation.
Due to large file sizes, model weights must be downloaded directly from their respective authors:
https://github.com/leVirve/lsun-room
File: model_retrained.ckpt
Place in: weights/room_layout_estimation
https://github.com/bjekic/WallSegmentation/tree/main/model_weights
Files:
best_encoder_epoch_19.pthbest_decoder_epoch_19.pth
Place in: weights/wall_segmentation
https://github.com/Wanggcong/StyleLight
File: network-snapshot-002000
Place in: weights/illumination_estimation
We have also mirrored the above linked weights, in the case that the original links become broken or unavailable: https://drive.google.com/drive/folders/1PiZ6MWZfN9MBKy2gWIxWbJChZNXbQm6T?usp=sharing
This software only works on Python 3.11 due to the use of bpy.
python -m venv .venv
source .venv/bin/activate # On Windows: .venv/Scripts/activatepip install -r requirements.txtpython -m src.app.mainAll external and adapted repositories used in this project have been carefully reviewed to ensure license compliance. The corresponding license files are included within each repository in external/ and adapted/.
