- Mykhailo Lapko: Motivated DevOps, developed a boatload of algorithms for the app. Pure fun and pleasure to work with.
- Illia Martynov: Pentester with passion(and Frontender in past), always knows how to support and speedrunned the frontend tasks.
- Arsen Rudnytskyi: Machine Learning guy thanks to whom you can read our code. Excellent at refactoring and organizing information.
- Sviatoslav Pylyp: Greatest Backender I've worked with. Need a backend, DevOps solution? Describe a task in couple of words, he will deliver perfectly. Did it for the startup using clean and maintainable APIs in Java, microservice infrastructure, and hybrid infrastructure leveraging AWS.
- Volodymyr Lapkin: Software Developer. Quickly adapts to new environments. Played a key role in developing algorithms for furniture placement, 3D model integration, and improving image quality. His problem-solving skills and rapid learning make him an invaluable asset to any team.
- Kyrylo Turchyn: Machine Learning engineer. Worked outsourced, so you dont see his commits. Helped a lot though with 3D estimation. He is driven to learn AI to train ginormous revolutionary models. Just give him oportunity.
- Danylo Linhe: Junior Backend (Node.js) developer who worked on API logic and data handling for the app. Took part in building and improving backend workflows, making sure things don’t break when users actually start clicking around. Fast learner, getting deeper into backend systems with every task.
- Oleksandr Milko: Guess we'll find out some day. Cheers!
- Dawid Tambor: The man thanks to whom I started doing this project. He's been a good mentor for me.
- Agnieszka Solarz: Managed all the work with Designing the app and more. Always brought good energy to our meetings even on the hardest days.
- Marcin Mika: Helped significantly with accounting projections and bureaucracy. Realist, makes conclusions based on facts and statistics.
An application for virtual staging of rooms(empty room photos).
- 74% accuracy from the last test(on simple bedroom layouts)! 😎
- Takes only 2 minutes(per picture) to stage a room.
- Uses real 3D models. Not an ordinary GenAI.
We made the app use real-world 3D furniture models because it is the right step toward what was desired by many interior designers.
This application consists of several components that work together to create a staged room image based on an empty room input and style preferences. Below is an overview of the key parts and installation steps.
Interesting links:
- link to Miro Management Board(since Summer 2024)
- link to Trello Management Board(until Summer 2024)
- Vistager GUI designs
- link to Miro flowchart
- link to System Design(incomplete)
- Last tests from November - December of 2024 for Bedrooms
- Some of the good results we got with postprocessing
- links to Backend DockerHub and Github(Made by Sviatoslav): auth-service, email-service, api-gateway, ai-queue, Backend Github
- links to Frontend(Made by Illia): illiamartynov/startup
- link for testing scripts
-
codename25 Repo
The core of the application, serving as the API for image creation.
Input:Base64 encoded empty room image, style and budget string in the format:
"{Style}, {Budget}"
Room type string in the format:
"{bedroom/living room/kitchen}"Output: Base64 encoded staged room image.
-
Blender 3D furniture models
-
Stable Diffusion
Handles preprocessing (segmentation) and postprocessing (image enhancement). You can use either WebUI or ComfyUI for this task.- WebUI: Superior for postprocessing. Arguably easier to install.
- ComfyUI: Manages GPU memory more efficiently but is less effective at postprocessing.
-
Conda Environment
Contains all the necessary packages for the application to function correctly.
- Install CUDA: Follow the CUDA installation guide.
- Install Conda: Download and install Miniconda from here.
- Create a new Conda environment:
conda create -n app python=3.11.9 anaconda - Install PyTorch for AI(Dont forget to activate conda env with
conda activate appbeforehand):conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia pip install -r requirements.txt
Unfortunately, we cannot provide pre-existing 3D models due to licensing restrictions. Follow the steps below.
- Find or create your own 3d models in USDC format.
- Test mode1s in Blender to confirm they work as intended, including textures, scaling, and positioning.
- Prepare the Folder Structure
Navigate to theProjects/codename25/visuals/3Ds/directory. Identify the appropriate category folder for your model (e.g.,living_roomfor living room assets). If the category does not exist, create a new folder with a relevant name (e.g.,bedroom,living_room). - Place the .usdc file in the appropriate category folder.

git clone https://github.com/AlexandrMilko/codename25.git- Put depth_pro.pt model into the folder
codename25/ml_depth_pro/src/depth_pro/cli/checkpoints/ - Create folder
codename25\ml_depth_pro\output - If you have macbook:
pip install git+https://github.com/rwightman/pytorch-image-models.git
- Install WebUI
- Install Controlnet through extensions

- Download and put the controlnet models(control_v11f1p_sd15_depth.pth, control_v11p_sd15_seg.pth) in the directory:
extensions/sd-webui-controlnet/models - Download and put stable diffusion model in
models/Stable-diffusion - Replace webui.py with the webui.py from codename25other
IMPORTANT: change the ui parameter in constants.py to 'webui'
Run the following command:
webui.bat --nowebui --server-name=0.0.0.0Or if you run UNIX:
./webui.sh --nowebui --server-name=0.0.0.0Next, activate the conda environment and run the application:
conda activate app
cd codename25
python run.pyTo test the API, activate the conda environment and run the test script:
conda activate app
python test_api.py # (WARNING: Put the right image path in test_api.py)- Create your container
sudo docker run -it --name vistagerVova --network host --gpus all oleksandrmilko/vistager:demo1309- (Just in case):
sudo docker restart vistagerVova- Activate github token for the git in the container if it is expired
- Enter a session in container
sudo docker exec -it vistagerVova bash- Copy files(and images for example) from docker:
sudo docker cp <docker_container>:<path_in_docker> <path_in_host_system>- ml_depth_pro: for depth estimation to calculate 3D structure of rooms
- segment_anything: for masking neighbouring rooms