項目頁面•ARXIV•演示•常見問題•引文
Paint3D是一種新穎的粗到1個生成框架,能夠生成以文本或圖像輸入為條件的不介入的3D網格的高分辨率,無照明和不同的2K UV紋理圖。
我們提出了Paint3D,這是一種新穎的粗到精細的生成框架,能夠生成基於文本或圖像輸入條件的未紋理的3D網格的高分辨率,無照明和不同的2K UV紋理圖。所解決的關鍵挑戰是在沒有嵌入的照明信息的情況下生成高質量的紋理,這使得紋理可以在現代圖形管道中重新註射或重新編輯。為此,我們的方法首先利用預訓練的深度感知2D擴散模型來生成視圖條件圖像並執行多視圖紋理融合,並產生初始的粗紋理圖。但是,由於2D模型無法完全代表3D形狀和禁用照明效果,因此粗紋理圖顯示出不完整的區域和照明偽像。為了解決這個問題,我們訓練專門用於不完整區域的形狀感知細化和去除照明偽像的單獨的紫外線和UVHD擴散模型。通過這種粗到最新的過程,Paint3D可以產生高質量的2K紫外線紋理,這些紋理保持語義一致性,同時又無光照明,從而在紋理3D物體方面顯著推進了最新的。

該代碼在CentOS 7上測試了Pytorch 1.12.1 CUDA 11.6安裝。請按照以下步驟設置環境。
# 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
對於UV位置控製網,您可以在這裡找到它。
要使用其他ControlNet模型,請從“擁抱面”頁面下載它,並修改配置文件中的ControlNet路徑。
然後,您可以通過:
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
和精製的紋理通過:
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
可選地,您還可以僅使用UV位置ControlNet生成紋理結果,例如:
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
在圖像條件下,您可以通過以下方式生成粗紋理:
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
和精製的紋理通過:
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
對於僅使用.safetEnsor文件的Civitai的檢查點,您可以使用以下腳本進行轉換和使用它們。
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 }
}多虧了紋理,text2tex,穩定的擴散和控製網,我們的代碼部分向其借來。我們的方法靈感來自MotionGpt,Michelangelo和DreamFusion。
此代碼是根據Apache 2.0許可證分配的。
請注意,我們的代碼取決於其他庫,包括Pytorch3d和Pytorch Lightning,並使用每個數據集,每個數據集都具有自己的各自許可,也必須遵循。