teaser.mp4
Abstract In this paper, we present TEXTure, a novel method for text-guided generation, editing, and transfer of textures for 3D shapes. Leveraging a pretrained depth-to-image diffusion model, TEXTure applies an iterative scheme that paints a 3D model from different viewpoints. Yet, while depth-to-image models can create plausible textures from a single viewpoint, the stochastic nature of the generation process can cause many inconsistencies when texturing an entire 3D object. To tackle these problems, we dynamically define a trimap partitioning of the rendered image into three progression states, and present a novel elaborated diffusion sampling process that uses this trimap representation to generate seamless textures from different views. We then show that one can transfer the generated texture maps to new 3D geometries without requiring explicit surface-to-surface mapping, as well as extract semantic textures from a set of images without requiring any explicit reconstruction. Finally, we show that TEXTure can be used to not only generate new textures but also edit and refine existing textures using either a text prompt or user-provided scribbles. We demonstrate that our TEXTuring method excels at generating, transferring, and editing textures through extensive evaluation, and further close the gap between 2D image generation and 3D texturing.
Official Implementation for "TEXTure: Semantic Texture Transfer using Text Tokens".
TL;DR - TEXTure takes an input mesh and a conditioning text prompt and paints the mesh with high-quality textures, using an iterative diffusion-based process. In the paper we show that TEXTure can be used to not only generate new textures but also edit and refine existing textures using either a text prompt or user-provided scribbles.
Feb 06 2023
- Code release
Install the common dependencies from the requirements.txt
file
pip install -r requirements.txt
and Kaolin
pip install kaolin==0.11.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/{TORCH_VER}_{CUDA_VER}.html
Note that you also need a 🤗 token for StableDiffusion.
First accept conditions for the model you want to use, default one is stabilityai/stable-diffusion-2-depth
. Then, add a TOKEN file access token to the root folder of this project, or use the huggingface-cli login
command
Try out painting the Napoleon from Three D Scans with a text prompt
python -m scripts.run_texture --config_path=configs/text_guided/napoleon.yaml
Or a next gen nascar from ModelNet40
python -m scripts.run_texture --config_path=configs/text_guided/nascar.yaml
Documentation coming soon
Documentation coming soon
Documentation coming soon
Documentation coming soon