3D 的 AI 制作一直不理想,最近试了试 threestudio。
(官方给的效果图👆)threestudio 通过文本提示、单个图像和少样本图像的方式,生产三维模型的技术框架。
https://github.com/threestudio-project/threestudio#supported-models
以下这些图片都是用 threestudio 模型生成的:
官方给的 colab 地址是 :https://colab.research.google.com/github/threestudio-project/threestudio/blob/main/threestudio.ipynb
我稍微试了一下,安装环境(将近1个小时)和生成模型(将近5个小时)都等了很久很久很久之后,终于出来了第一个丑丑的结果:
也可以生成OBJ文件。里面操作了一下:
也另外生成了纹理图。但是基本上感觉还是比较粗糙,不知道未来迭代会不会越来越好。
官方给了一些质量改善建议(我也没太看懂):
增加批处理大小。大批量处理有助于收敛并改善几何形状的3D一致性。最先进的方法声称使用大批量处理:DreamFusion使用4的批量处理;Magic3D使用32的批量处理;Fantasia3D使用24的批量处理;以上展示的一些结果使用8的批量处理。您可以通过设置data.batch_size=N轻松改变批处理大小。增加批处理大小需要更多的VRAM。如果您的VRAM有限,但仍希望获得大批量处理的好处,可以通过设置trainer.accumulate_grad_batches=N来使用PyTorch Lightning提供的梯度积累。这将积累多个批次的梯度并达到大有效批处理大小。请注意,如果您使用梯度积累,可能需要在配置中将所有步骤值乘以N次,例如X_steps和trainer.val_check_interval等名称的值,因为现在N批等于一个大批。 训练时间更长。如果你已经可以获得合理的结果,并希望提升细节,那么更长的训练时间会有所帮助。如果结果在几千步后仍然一团糟,那么更长的训练时间通常无济于事。您可以通过trainer.max_steps=N设置总训练迭代次数。 尝试不同的种子。如果你的结果整体几何形状正确,但遭受多面Janus问题的困扰,这是一个简单的解决方案。您可以通过设置seed=N来更改种子。祝你好运! 调整正则化权重。一些方法有正则化项,这对于获得良好的几何形状至关重要。尝试通过设置system.loss.lambda_X=value来调整这些正则化的权重。具体的值取决于你的情况,你可以参考每个支持模型的提示以获取更详细的指令。