基于单目RGB-D相机的动态场景神经表面重建
NeurIPS 2022 (聚焦报告)
论文 | 项目主页 | OpenReview | 海报
我们提出了神经动态重建(NDR),这是一种无需模板的方法,可以从单目RGB-D相机恢复动态场景的高保真几何、运动和外观。
使用方法
数据约定
数据组织方式与NeuS相同
<案例名称>
|-- cameras_sphere.npz # 相机参数
|-- depth
|-- # 每个视图的目标深度
...
|-- image
|-- # 每个视图的目标RGB图像
...
|-- mask
|-- # 每个视图的目标掩码(对于无掩码设置,将所有像素设为255)
...
这里的cameras_sphere.npz
遵循IDR的数据格式,其中world_mat_xx
表示世界到图像的投影矩阵,scale_mat_xx
表示归一化矩阵。
预处理数据
您可以在这里下载部分预处理的KillingFusion数据,并将其解压到./
目录下。
重要提示:如果预处理数据对您有用,请引用相关论文并严格遵守相关开源许可。
设置
克隆此存储库并创建环境(请注意CUDA版本)
git clone https://github.com/USTC3DV/NDR-code.git
cd NDR-code
conda env create -f environment.yml
conda activate ndr
依赖项(点击展开)
- torch==1.8.0
- opencv_python==4.5.2.52
- trimesh==3.9.8
- numpy==1.21.2
- scipy==1.7.0
- PyMCubes==0.1.2
运行
- 训练
python train_eval.py
- 评估预训练模型
python pretrained_eval.py
数据预处理
要为实验准备您自己的数据,请参考姿态初始化。
几何投影
- 编译渲染器
cd renderer && bash build.sh && cd ..
- 渲染网格
输入原始数据路径、结果路径和迭代次数,例如:
python geo_render.py ./datasets/kfusion_frog/ ./exp/kfusion_frog/result/ 120000
渲染结果将保存在[结果路径]/validations_geo/
目录中
待办事项
- DeepDeform人体序列和KillingFusion的配置文件
- 数据预处理代码
- 几何投影代码
- 预训练模型和评估代码
- 训练代码
致谢
本项目基于NeuS构建。一些代码片段也借鉴自IDR和NeRF-pytorch。相机姿态初始化的预处理代码借鉴自Fast-Robust-ICP。几何渲染的评估代码借鉴自StereoPIFu_Code。感谢这些优秀的项目。我们感谢所有作者的出色工作和代码库。
联系方式
如有问题,请联系蔡鸿瑞。
引用
如果您发现我们的代码或论文有用,请引用
@inproceedings{Cai2022NDR,
author = {Hongrui Cai and Wanquan Feng and Xuetao Feng and Yan Wang and Juyong Zhang},
title = {Neural Surface Reconstruction of Dynamic Scenes with Monocular RGB-D Camera},
booktitle = {Thirty-sixth Conference on Neural Information Processing Systems (NeurIPS)},
year = {2022}
}
如果您发现我们的预处理数据有用,请引用相关论文并严格遵守相关开源许可。