[从文本到 3D] 输入文本描述,生成 3D Mesh

2023-10-11 16:56:25 +08:00
 layumi

小红书的 Demo: https://www.xiaohongshu.com/explore/651ae551000000001e00c7b0

Youtube 的 Demo: https://www.youtube.com/watch?v=wxoOcO-9NWU

代码在 https://github.com/Texaser/MTN

欢迎大家关注! Star !感谢各位大佬!

输入一个文本,大概训练 1 个小时,就可以产生对应的 3D model 了。

相比之前的算法,由于我们采用 progressive 的形式,在形态上的鲁棒性更强,收敛速度也快一些。

MTN (Multi-Scale Triplane Network)

This repository contains the official implementation of Progressive Text-to-3D Generation for Automatic 3D Prototyping ( https://arxiv.org/abs/2309.14600).

Paper

Video results

https://github.com/Texaser/MTN/assets/50570271/bdc776a6-ee2d-43ff-9ee3-21784799d3cb

https://github.com/Texaser/MTN/assets/50570271/197fa808-154b-4671-8446-8350b1e166d6

For more videos, please refer to https://www.youtube.com/watch?v=LH6-wKg30FQ

Instructions:

  1. Install the requirements:
pip install -r requirements.txt

To use DeepFloyd-IF, you need to accept the usage conditions from hugging face, and login with huggingface-cli login in command line.

  1. Start training!
# choose stable-diffusion version
python main.py --text "a hamburger" --workspace trial -O --sd_version 2.1

# use DeepFloyd-IF for guidance:

python main.py --text "a hamburger" --workspace trial -O --IF
python main.py --text "a hamburger" --workspace trial -O --IF --vram_O # requires ~24G GPU memory
python main.py -O --text "a tiger cub" --workspace trial_perpneg_if_tiger --iters 6000 --IF --batch_size 1 --perpneg
python main.py -O --text "a shiba dog wearing sunglasses" --workspace trial_perpneg_if_shiba --iters 6000 --IF --batch_size 1 --perpneg
python main.py -O --text "a octopus toy" --workspace trial_perpneg_if_octopus --iters 6000 --IF --batch_size 1 --perpneg

# larger absolute value of negative_w is used for the following command because the defult negative weight of -2 is not enough to make the diffusion model to produce the views as desired
python main.py -O --text "a shiba dog wearing sunglasses" --workspace trial_perpneg_if_shiba --iters 6000 --IF --batch_size 1 --perpneg --negative_w -3.0

# after the training is finished:
# test (exporting 360 degree video)
python main.py --workspace trial -O --test
# also save a mesh (with obj, mtl, and png texture)
python main.py --workspace trial -O --test --save_mesh
# test with a GUI (free view control!)
python main.py --workspace trial -O --test --gui

Tested environments

Citation

If you find this work useful, a citation will be appreciated via:

@article{yi2023progressive,
  title={Progressive Text-to-3D Generation for Automatic 3D Prototyping},
  author={Yi, Han and Zheng, Zhedong and Xu, Xiangyu and Chua, Tat-seng},
  journal={arXiv preprint arXiv:2309.14600},
  year={2023}
}

Acknowledgement

This code base is built upon the following awesome open-source projects: Stable DreamFusion, threestudio

Thanks the authors for their remarkable job !

1761 次点击
所在节点    分享创造
1 条回复
lj394139
2023-10-12 00:31:03 +08:00
又是一篇顶会

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX