WonderWorld是一种用于交互式3D场景外推的新型框架,允许用户根据单个输入图像和用户指定的文本,实时渲染和生成逼真的虚拟世界。通过利用快速高斯面元和基于引导扩散的深度估计方法,WonderWorld可以生成几何一致的3D场景,实现实时用户交互和探索。
安装
为了正确完成安装,请仅在有兼容 CUDA 的 GPU 的情况下继续操作。它需要 24GB GPU 内存才能运行。
克隆 repo 并创建环境:
git clone https://github.com/KovenYu/WonderJourney.git
cd WonderJourney
mamba create --name wonderjourney python=3.10
mamba activate wonderjourney
我们使用 Pytorch3D进行渲染。运行以下命令进行安装或按照其安装指南进行操作(可能需要一些时间)。
mamba install pytorch=1.13.0 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
mamba install -c fvcore -c iopath -c conda-forge fvcore iopath
mamba install -c bottler nvidiacub
mamba install pytorch3d -c pytorch3d
安装其余要求:
pip install -r requirements.txt
为spacy加载英语语言模型:
python -m spacy download en_core_web_sm
导出您的 OpenAI api_key(因为我们使用 GPT-4 来生成场景描述):
export OPENAI_API_KEY='your_api_key_here'
下载Midas DPT模型并将其放在根目录。
wget https://github.com/isl-org/MiDaS/releases/download/v3_1/dpt_beit_large_512.pt
运行示例
-
示例配置文件
要运行示例,首先需要编写一个配置。示例配置
./config/village.yaml
如下所示:runs_dir: output/56_village example_name: village seed: -1 frames: 10 save_fps: 10 finetune_decoder_gen: True finetune_decoder_interp: False # Turn on this for higher-quality rendered video finetune_depth_model: True num_scenes: 4 num_keyframes: 2 use_gpt: True kf2_upsample_coef: 4 skip_interp: False skip_gen: False enable_regenerate: True debug: True inpainting_resolution_gen: 512 rotation_range: 0.45 rotation_path: [0, 0, 0, 1, 1, 0, 0, 0] camera_speed_multiplier_rotation: 0.2
生成示例的总帧数为
num_scenes
×num_keyframes
。您可以rotation_path
在配置文件中手动调整以控制相机在每一帧中的旋转状态。0表示直线行驶,1表示右转,并且−1表示左转。 -
跑步
python run.py --example_config config/village.yaml
您将看到结果
output/56_village/{time-string}_merged
。
如何添加更多示例?
我们强烈建议您添加新图片并尝试新内容!您需要单独进行图像-标题配对(例如,使用 DALL-E 生成图像,使用 GPT4V 生成描述)。
-
在 中添加新图像
./examples/images/
。 -
在 中添加此新图像的内容
./examples/examples.yaml
。以下是一个例子:
- name: new_example image_filepath: examples/images/new_example.png style_prompt: DSLR 35mm landscape content_prompt: scene name, object 1, object 2, object 3 negative_prompt: '' background: ''
-
content_prompt:“场景名称”、“对象 1”、“对象 2”、“对象 3”
-
negative_prompt和background是可选的
对于受控旅程,需添加
control_text
。示例如下:- name: poem_jiangxue image_filepath: examples/images/60_poem_jiangxue.png style_prompt: black and white color ink painting content_prompt: Expansive mountainous landscape, old man in traditional attire, calm river, mountains negative_prompt: "" background: "" control_text: ["千山鸟飞绝", "万径人踪灭", "孤舟蓑笠翁", "独钓寒江雪"] - name: poem_snowy_evening image_filepath: examples/images/72_poem_snowy_evening.png style_prompt: Monet painting content_prompt: Stopping by woods on a snowy evening, woods, snow, village negative_prompt: "" background: "" control_text: ["Snowy Woods and Farmhouse: A secluded farmhouse, a frozen lake, a dense thicket, a quiet meadow, a chilly wind, a pale twilight, a covered bridge, a rustic fence, a snow-laden tree, and a frosty ground", "The Traveler's Horse: A restless horse, a jingling harness, a snowy mane, a curious gaze, a sturdy hoof, a foggy breath, a leather saddle, a woolen blanket, a frost-covered tail, and a patient stance", "Snowfall in the Woods: A gentle snowflake, a whispering wind, a soft flurry, a white blanket, a twinkling icicle, a bare branch, a hushed forest, a crystalline droplet, a serene atmosphere, and a quiet night", "Deep, Dark Woods in the Evening: A mysterious grove, a shadowy tree, a darkened sky, a hidden trail, a silent owl, a moonlit glade, a dense underbrush, a quiet clearing, a looming branch, and an eerie stillness"]
-
-
编写一个
config/new_example.yaml
类似于./config/village.yaml
新示例的配置 -
跑步
python run.py --example_config config/new_example.yaml
引用
@article{yu2023wonderjourney,
title={WonderJourney: Going from Anywhere to Everywhere},
author={Yu, Hong-Xing and Duan, Haoyi and Hur, Junhwa and Sargent, Kyle and Rubinstein, Michael and Freeman, William T and Cole, Forrester and Sun, Deqing and Snavely, Noah and Wu, Jiajun and Herrmann, Charles},
journal={arXiv preprint arXiv:2312.03884},
year={2023}
}
仓库地址
GitHub:https://github.com/KovenYu/WonderJourneyGitHub:
项目: //wonderworld-2024.github.io
本网站所有资源及文章均源自互联网,经过我们的收集整理后呈现给用户。我们明确声明,本网站不直接参与任何资源的创作或制作过程,仅作为信息的传递者。若您发现本网站上的任何内容侵犯了您的合法权益(包括但不限于版权、商标权、专利权等),请立即通过以下联系方式与我们取得联系。在收到您的反馈并核实情况后,我们将迅速采取相应措施,包括但不限于删除侵权内容,以确保您的合法权益得到及时保护。
资源鉴别:本网站发布的资源可能包含水印、广告链接或其他引流信息,这是由资源原始来源决定的。我们提醒用户在使用这些资源时,应保持警惕,自行鉴别信息的真实性和适用性,避免受到不必要的干扰或误导。 非商业用途:本网站提供的资源仅供学习、研究及非商业性交流使用。我们鼓励用户尊重原创,支持正版。若您计划将本站资源用于商业目的,请务必先获得合法授权,否则因此产生的一切法律后果将由下载用户自行承担。
为了更好地服务用户,解决您在使用本网站过程中可能遇到的问题或反馈侵权信息,我们提供了以下联系方式(请将“#”替换为“@”后使用): 联系方式:contact#kukaylib.com
本网站致力于为用户提供高质量的信息服务,但对于因网络状况、第三方干扰、不可抗力等因素导致的服务中断、数据丢失、信息错误等问题,本网站不承担任何责任。同时,本网站对于用户在使用本站资源过程中可能产生的任何直接、间接、偶然、特殊或惩罚性损失,也不承担任何法律责任。 请用户在使用本网站时,务必遵守相关法律法规及道德准则,自行承担因使用本站资源而产生的所有风险和后果。
本网站有权随时更新或修订本免责声明,更新或修订后的免责声明一经发布即具有法律效力。用户应定期访问本页面以了解最新的免责声明内容。 感谢您对本网站的理解与支持!我们将继续努力,为用户提供更加优质、便捷的信息服务。
评论(0)