V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
layumi
V2EX  ›  分享创造

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

  •  1
     
  •   layumi ·
    layumi · 2023-10-11 16:56:25 +08:00 · 1723 次点击
    这是一个创建于 394 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小红书的 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

    • torch 1.13 & CUDA 11.5 on a V100.

    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 !

    1 条回复    2023-10-12 00:31:03 +08:00
    lj394139
        1
    lj394139  
       2023-10-12 00:31:03 +08:00
    又是一篇顶会
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   956 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:49 · PVG 04:49 · LAX 12:49 · JFK 15:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.