Projektseite • ARXIV • Demo • FAQ • Zitat
Paint3d ist ein neuartiger generativer Framework, der hochauflösende, lichtfreie und vielfältige 2K-UV-Texturkarten für nicht stelte 3D-Netze erzeugen kann, die auf Text- oder Bildeingaben konditioniert sind.
Wir präsentieren Paint3d, ein neuartiges generatives Framework, das hochauflösende, lichtfreie und vielfältige 2K-UV-Texturkarten für nicht strukturierte 3D-Netze erzeugen kann, die auf Text- oder Bildeingaben konditioniert sind. Die wichtigste Herausforderung besteht darin, qualitativ hochwertige Texturen ohne eingebettete Beleuchtungsinformationen zu generieren, mit denen die Texturen in modernen Grafikpipelines neu beleuchtet oder neu bearbeitet werden können. Um dies zu erreichen, nutzt unsere Methode zunächst ein vorgebildetes 2D-Diffusionsmodell, um Ansichts-Konditionsbilder zu generieren und eine Multi-View-Texturfusion durchzuführen, wodurch eine anfängliche grobe Texturkarte erstellt wird. Da 2D -Modelle jedoch nicht vollständig 3D -Formen darstellen und Beleuchtungseffekte deaktivieren können, weist die grobe Texturkarte unvollständige Bereiche und Beleuchtungsartefakte auf. Um dies zu lösen, schulen wir separate UV-Inpacking- und UVHD-Diffusionsmodelle, die auf die formbewusste Verfeinerung unvollständiger Bereiche und die Entfernung von Beleuchtungsartefakten spezialisiert sind. Durch diesen grob-zu-Fine-Prozess kann Paint3D hochwertige 2K-UV-Texturen erzeugen, die die semantische Konsistenz beibehalten und gleichzeitig leuchtend sind und die hochmodernen im Texturing 3D-Objekte erheblich vorantreiben.

Der Code wird auf CentOS 7 getestet, wobei Pytorch 1.12.1 CUDA 11.6 installiert ist. Bitte befolgen Sie die folgenden Schritte, um die Umgebung einzustellen.
# install python environment
conda env create -f environment.yaml
# install kaolin
pip install kaolin==0.13.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/{TORCH_VER}_{CUDA_VER}.html
Für UV-Position ControlNet finden Sie es hier.
Um die anderen ControlNET -Modelle zu verwenden, laden Sie sie bitte von der Face -Seite herunter und ändern Sie den ControlNET -Pfad in der Konfigurationsdatei.
Dann können Sie eine grobe Textur erzeugen über:
python pipeline_paint3d_stage1.py
--sd_config controlnet/config/depth_based_inpaint_template.yaml
--render_config paint3d/config/train_config_paint3d.py
--mesh_path demo/objs/Suzanne_monkey/Suzanne_monkey.obj
--outdir outputs/stage1
und die raffinierte Textur über:
python pipeline_paint3d_stage2.py
--sd_config controlnet/config/UV_based_inpaint_template.yaml
--render_config paint3d/config/train_config_paint3d.py
--mesh_path demo/objs/Suzanne_monkey/Suzanne_monkey.obj
--texture_path outputs/stage1/res-0/albedo.png
--outdir outputs/stage2
Optional können Sie auch Texturergebnisse nur mit UV -Position ControlNET generieren, beispielsweise:
python pipeline_UV_only.py
--sd_config controlnet/config/UV_gen_template.yaml
--render_config paint3d/config/train_config_paint3d.py
--mesh_path demo/objs/teapot/scene.obj
--outdir outputs/test_teapot
Mit einer Bildbedingung können Sie eine grobe Textur über:
python pipeline_paint3d_stage1.py
--sd_config controlnet/config/depth_based_inpaint_template.yaml
--render_config paint3d/config/train_config_paint3d.py
--mesh_path demo/objs/Suzanne_monkey/Suzanne_monkey.obj
--prompt " "
--ip_adapter_image_path demo/objs/Suzanne_monkey/img_prompt.png
--outdir outputs/img_stage1
und die raffinierte Textur über:
python pipeline_paint3d_stage2.py
--sd_config controlnet/config/UV_based_inpaint_template.yaml
--render_config paint3d/config/train_config_paint3d.py
--mesh_path demo/objs/Suzanne_monkey/Suzanne_monkey.obj
--texture_path outputs/img_stage1/res-0/albedo.png
--prompt " "
--ip_adapter_image_path demo/objs/Suzanne_monkey/img_prompt.png
--outdir outputs/img_stage2
Für Checkpoints in Civitai mit nur einer .Safetensor -Datei können Sie das folgende Skript verwenden, um sie zu konvertieren und zu verwenden.
python tools/convert_original_stable_diffusion_to_diffusers.py
--checkpoint_path YOUR_LOCAL.safetensors
--dump_path model_cvt/
--from_safetensors
@inproceedings { zeng2024paint3d ,
title = { Paint3d: Paint anything 3d with lighting-less texture diffusion models } ,
author = { Zeng, Xianfang and Chen, Xin and Qi, Zhongqi and Liu, Wen and Zhao, Zibo and Wang, Zhibin and Fu, Bin and Liu, Yong and Yu, Gang } ,
booktitle = { Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition } ,
pages = { 4252--4262 } ,
year = { 2024 }
}Dank Textur, Text2Tex, stabiler Diffusion und Steuerung liehen unser Code teilweise von ihnen aus. Unser Ansatz ist von Motiongpt, Michelangelo und Dreamfusion inspiriert.
Dieser Code wird unter einer Apache 2.0 -Lizenz verteilt.
Beachten Sie, dass unser Code von anderen Bibliotheken abhängt, einschließlich Pytorch3D und Pytorch Lightning, und Datensätze verwendet, die jeweils über ihre eigenen jeweiligen Lizenzen verfügen, die ebenfalls befolgt werden müssen.