高斯壳映射实现高效3D人体生成
高效几何感知3D生成对抗网络
Rameen Abdal*, Wang Yifan*, Zifan Shi*, Yinghao Xu, Ryan Po, Zhengfei Kuang, Qifeng Chen, Dit-Yan Yeung, 和 Gordon Wetzstein
* 贡献相同
https://rameenabdal.github.io/GaussianShellMaps/
摘要:高效生成3D数字人在虚拟现实、社交媒体和电影制作等多个行业中至关重要。3D生成对抗网络(GANs)在生成资产的质量和多样性方面展现了最先进的水平。然而,当前的3D GAN架构通常依赖于体积表示,这种表示渲染速度慢,从而阻碍了GAN的训练,并需要多视图不一致的2D上采样器。在此,我们引入高斯壳映射(GSMs)作为一个框架,将最先进的生成器网络架构与新兴的3D高斯渲染原语连接起来,使用可关节化的多壳基础架构。在这种设置中,CNN生成一个3D纹理堆栈,其特征被映射到壳上。这些壳代表了数字人在标准身体姿势下的模板表面的膨胀和收缩版本。我们不直接栅格化这些壳,而是在壳上采样3D高斯体,其属性由纹理特征编码。这些高斯体可以高效且可微分地渲染。在GAN训练期间和推理时,壳的可关节化能力对于将身体变形为任意用户定义的姿势很重要。我们的高效渲染方案绕过了对视图不一致的上采样器的需求,实现了512 × 512像素原生分辨率的高质量多视图一致渲染。我们证明,GSMs在仅使用单视图数据集(包括SHHQ和DeepFashion)进行训练时,能够成功生成3D人体。
安装
-
Python库:具体库依赖请参见environment.yml。您可以使用以下命令和Miniconda3创建并激活您的Python环境:
conda env create -f environment.yml
conda activate gsm
-
在子模块中安装smplx和batch-diff-gaussian-rasterization:
cd submodules
cd smplx
python setup.py develop
cd batch-diff-gaussian-rasterization
python setup.py install
开始使用
预训练网络以*.pkl
格式存储。预训练检查点和文件请点击这里。
生成插值
# 使用预训练模型生成插值视频
cd main/gsm
python gen_interpolation.py --network xxxx.pkl --outdir xxxx --z_seeds 251,58
# DeepFashion数据集上可尝试的其他种子:
种子:297,235,27,41,135,903,894,570,361,369
生成新姿势
# 使用预训练模型生成新姿势
cd main/gsm
python gen_novel_pose.py --network xxxx.pkl --outdir xxxx --seq ../../assets/seq_novel_pose.npy --z_seeds 58 --reload_modules True
# DeepFashion数据集上可尝试的其他种子:
种子:745,962,853,621,190
编辑
# 使用预训练模型生成上半身编辑
cd main/gsm
python gen_editing.py --network xxxx.pkl --seeds 0,1,2 --seeds_tobereplaced 6162 --trunc 0.7 --resolution 512 --outdir xxxx --pts_path ../../assets/editing/select_upper.txt --reload_modules True
# 使用预训练模型生成下半身编辑
python gen_editing.py --network xxxx.pkl --seeds 0,1,2 --seeds_tobereplaced 6162 --trunc 0.7 --resolution 512 --outdir xxxx --pts_path ../../assets/editing/select_trousersshoes.txt --reload_modules True
生成动画序列
# 使用预训练模型生成动画序列并在HTML上查看
cd main/gsm
python gen_animation_videos.py --network xxxx.pkl --outdir xxxx --z_seeds 137
# DeepFashion数据集上可尝试的其他种子:
种子:67,468,543,718,847,895,66,82,848,952,958,974
训练
(待更新)
引用
@misc{abdal2023gaussian,
title={Gaussian Shell Maps for Efficient 3D Human Generation},
author={Rameen Abdal and Wang Yifan and Zifan Shi and Yinghao Xu and Ryan Po and Zhengfei Kuang and Qifeng Chen and Dit-Yan Yeung and Gordon Wetzstein},
year={2023},
eprint={2311.17857},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
致谢
我们感谢3D高斯溅射的作者Bernhard Kerbl、Georgios Kopanas和George Drettakis就代码进行的讨论。我们感谢Thabo Beeler和Guandao Yang的富有成效的讨论,以及Alexander Bergman在基线比较方面的帮助。我们还感谢GetAvartar的作者提供额外的评估结果。本工作部分得到了谷歌、三星、斯坦福HAI和瑞士博士后流动基金的支持。