SegmentStyler [Project's Report]
SegmentStyler is a framework for part-aware mesh texture editing that uses natural language and allows for separate customization of different mesh segments based on multiple text prompts, resulting in a coherent texture with the text input.
This project was implemented during a guided research practical course at TUM in the Winter Semester of 2022/2023 by Maximilian Winter and Murilo Bellatini. For more information, please refer to the project's report, which can be found here.
- Run
setup.sh
.
sh ./setup.sh
-
Setup PartGlot
- Download data and weights here.
- Add data files and weights to
data/PartGlotData
folder.
-
Setup Data (Note: this step can be skipped if you only want to try out the pipeline with the one shape that's already given in
data/
)- Download ShapeNetCore.v2 here
- Download the part annotations here
- Start pre-processing (remeshing and fixing normals) by running
python src/helper/get_new_normals_from_sdf.py
For the pre-processing, make sure to have the following packages installed
- trimesh
- mesh_to_sdf
- skimage To avoid conflicts, it is recommended to install them (especially the last two) in a separate environment.
-
Activate environment.
conda activate dl3d
- Confirm Weights & Biases installation. More info: click here.
pip install wandb
wandb login
- Enjoy ;)
To see an example, you can run
bash example_run.sh
To gain more insights, you can have a look at
evaluation_baseline.sh
ablation_study_b_to_g.sh
which were used for performing our ablation study.
The notebooks
folder contains code snippets that we used during our development process. You can find a comprehensive index of these notebooks here. However, please note that the documentation within each notebook is currently limited and may not be up-to-date. We apologize for any inconvenience and appreciate your understanding.