infinigen程序化生成3D视野

"Minecraft我的世界相信很多人都玩过,但是仅仅一个像素风的沙盒游戏体验,想想一下,如果能将这个像素风的画面通过程序化的方式渲染成逼真的视野,岂不美哉"

最近AIGC领域出现了这样一篇论文,可以使用程序化的方式生成无限、3D逼真的视野。主要是基于blender来完成。虽然现阶段还处于一个比较初级的玩法,但是也可以粗略感受一下他的强大。

首先,我们还是找到git仓库princeton-vl/infinigen: Infinite Photorealistic Worlds using Procedural Generation (github.com),然后根据说明,我们进行如下操作皆可以完成安装

git clone --recursive https://github.com/princeton-vl/infinigen.git
cd infinigen
conda create --name infinigen python=3.10
conda activate infinigen
bash install.sh


踩坑记录:

若出现如下错误:

e3bcb1da0b04c421b5467cd2d4fa4e08.png

0f2aea5213e83d167379968884ad305c.png

需要安装g++,gcc,不然安装richdem会出现编译不成功的情况

若出现如下错误

61ec13ab9250f947c5802fd9ab6ac077.png

说明glm没有安装好,需要安装glm库sudo apt-get install libglm-dev,如果安装过程中提示没有这个包,需要更新一下apt-get update

然后我们根据如下提示,进行图片生成

cd worldgen
mkdir outputs


# Generate a scene layout
$BLENDER -noaudio --background --python generate.py -- --seed 0 --task coarse -g desert simple --output_folder outputs/helloworld/coarse


# Populate unique assets
$BLENDER -noaudio --background --python generate.py -- --seed 0 --task populate fine_terrain -g desert simple --input_folder outputs/helloworld/coarse --output_folder outputs/helloworld/fine


# Render RGB images
$BLENDER -noaudio --background --python generate.py -- --seed 0 --task render -g desert simple --input_folder outputs/helloworld/fine --output_folder outputs/helloworld/frames


# Render again for accurate ground-truth
$BLENDER -noaudio --background --python generate.py -- --seed 0 --task render -g desert simple --input_folder outputs/helloworld/fine --output_folder outputs/helloworld/frames -p render.render_image_func=@flat/render_image

7dfada712478d2f3aa0772b8d87a2e81.png

生成blend如下:

be0b3f87023dcabd8e3edb053917bede.png

生成图像如下:

fb7bfc41947ef6f78d9411bd15845b71.png

8ddbbd8a188069600103ce905c5b5f52.png

ca0596d1d007dfe2327b83d2dd8b2c36.png

也可以一键生成图片

python -m tools.manage_datagen_jobs --output_folder outputs/hello_world --num_scenes 1 --specific_seed 0
--configs desert simple --pipeline_configs local_16GB monocular blender_gt --pipeline_overrides LocalScheduleHandler.use_gpu=False

一键生成视频

python -m tools.manage_datagen_jobs --output_folder outputs/my_videos --num_scenes 500 \
    --pipeline_config slurm monocular_video cuda_terrain opengl_gt \
    --cleanup big_files --warmup_sec 60000 --config trailer high_quality_terrain

1185dfb96c3928c94288c02537a9c41a.png

d602e70a063d367646c7b0043519f174.png

1f05a818ec1619db0872959cd5304799.png

很可惜,电脑太拉,跑不动,没有完整跑完,但是可以看看官方的视频

电脑配置强的同学可以点个关注,尝试看看

猜你喜欢

转载自blog.csdn.net/wutao22/article/details/131990099