INSTA - 即时体积头像
Wojciech Zielonka、Timo Bolkart、Justus Thies
德国蒂宾根马克斯·普朗克智能系统研究所
视频 论文 项目网站 数据集 人脸跟踪器 INSTA Pytorch 邮箱
CVPR 2023论文《即时体积头像》的官方代码库
本代码库基于instant-ngp,原始代码的某些功能在本项目中不可用。
安装
本代码库基于instant-ngp
的commit。安装要求与原版相同,因此请按照指南进行操作。
记得在克隆时使用--recursive
选项。
git clone --recursive https://github.com/Zielon/INSTA.git
cd INSTA
cmake . -B build
cmake --build build --config RelWithDebInfo -j
使用方法和要求
构建项目后,您可以从头开始训练头像或加载快照。对于训练,我们建议使用不低于RTX3090 24GB
的显卡和32 GB
的RAM内存。在不同硬件上训练可能需要调整配置中的选项:
"max_cached_bvh": 4000, # 缓存的BVH数据结构数量
"max_images_gpu": 1700, # 加载到GPU的帧数。根据GPU内存大小调整。
"use_dataset_cache": true, # 将图像加载到RAM内存
"max_steps": 33000, # 达到最大训练步数后将记录测试序列
"render_novel_trajectory": false, # 在达到最大步数后渲染额外的相机轨迹
"render_from_snapshot": false # 用于--no-gui选项,直接从快照渲染序列
从快照渲染不需要高端GPU,甚至可以在笔记本电脑上进行。我们已在RTX 3080 8GB
笔记本版本上进行了测试。对于--no-gui
选项,您可以使用与GUI版本相同的配置方式进行训练和加载快照以进行渲染。
查看器选项与instant-ngp相同,另外还有一个额外的键F
用于对FLAME网格进行光线投射。
使用示例
# 训练
./build/rta --config insta.json --scene data/obama --height 512 --width 512
# 从检查点加载
./build/rta --config insta.json --scene data/obama/transforms_test.json --snapshot data/obama/snapshot.msgpack
数据集和训练
我们正在发布部分数据集,同时还有来自NHA、NeRFace和IMAvatar的公开预处理头像。
训练输出(菜单中的记录视频),包括渲染的帧、检查点等,将保存在./data/{actor}/experiments/{config}/debug
目录中。
在达到指定的最大步数后,程序将自动渲染帧,要么使用新的相机视角(GUI中的All
选项和配置中的render_novel_trajectory
),要么仅使用当前在Mode
中选择的视角,默认为Overlay\Test
。
可用头像。点击选定的头像下载训练数据集和检查点。头像需要放置在data
文件夹中。
数据集生成
对于输入生成,需要一个conda环境和一些其他仓库。只需从scripts文件夹运行install.sh
即可准备工作台。
接下来,您可以使用Metrical Photometric Tracker来跟踪序列。处理完成后,运行generate.sh
脚本准备序列。作为输入,请指定跟踪器输出的绝对路径。
为了训练,我们建议至少使用1000帧。
# 1) 为选定的演员运行Metrical Photometric Tracker
python tracker.py --cfg ./configs/actors/duda.yml
# 2) 使用脚本生成数据集。重要的是,使用跟踪器输入和所需输出的绝对路径。
./generate.sh /metrical-tracker/output/duda INSTA/data/duda 100
# {输入} {输出} {从末尾开始的测试帧数}
引用
如果您在研究中使用此项目,请引用INSTA:
@proceedings{INSTA:CVPR2023,
author = {Zielonka, Wojciech and Bolkart, Timo and Thies, Justus},
title = {Instant Volumetric Head Avatars},
journal = {Conference on Computer Vision and Pattern Recognition},
year = {2023}
}