通过强化学习对3D形状建模
此存储库包含ECCV 2020论文通过强化学习对3D形状建模的源代码,我们在该论文中首次尝试使用深度强化学习(DRL)来对人类建模师建模3D形状。
快速演示
cd demo
python prim_agent_demo.py
python mesh_agent_demo.py
该演示以RGB图像为参考输入。Prim-Agent将生成基于基元的表示,并创建一个文件夹prim_result/
保存一些中间结果。Prim-Agent将加载prim_result/
中保存的基元来编辑其网格,一些中间结果将保存在mesh_result/
中。
代码
安装
您需要安装PyTorch、NumPy和SciPy。本代码在Python 3.7.4、PyTorch 1.3.0、NumPy 1.17.2和SciPy 1.3.1上的Ubuntu 18.04.4上进行了测试。
您可以选择性安装TensorboardX来可视化训练。该存储库包含了binvox的一部分代码。
训练
- 首先训练Prim-Agent
cd Prim-Agent
python train.py
- 然后使用训练好的Prim-Agent为所有数据生成基元和边缘循环文件
python generate_edgeloop.py
- 使用Prim-Agent的输出来训练Mesh-Agent
cd Mesh-Agent
python train.py
- 在调用时需要提供训练数据和保存结果& logs的路径。
- 可以通过修改
Prim-Agent/config.py
或Mesh-Agent/config.py
中的参数来更改设置。
测试
- 调用
Prim-Agent/test.py
和Mesh-Agent/test.py
进行测试。在调用时需要提供数据和预训练模型的路径。
下载
- 数据 data.zip
- 预训练模型 pretrained.zip
- 解压下载的文件以替换
data
和pretrained
文件夹;然后您可以直接运行代码,无需修改调用train.py
和test.py
时的参数。
引用: 如果您在研究中发现我们的工作有用,请考虑引用:
@inproceedings{lin2020modeling,
title={Modeling 3d shapes by reinforcement learning},
author={Lin, Cheng and Fan, Tingxiang and Wang, Wenping and Nie{\ss}ner, Matthias},
booktitle={European Conference on Computer Vision},
pages={545--561},
year={2020},
organization={Springer}
}
联系方式: 如有任何问题,请发送电子邮件至Cheng Lin,地址为chlin@hku.hk。