简介
PyTorch3D 为基于 PyTorch 的 3D 计算机视觉研究提供高效、可重用的组件。
主要特点包括:
- 用于存储和操作三角网格的数据结构
- 高效的三角网格操作(投影变换、图卷积、采样、损失函数)
- 可微分网格渲染器
- Implicitron,请参阅其 README,这是一个通过隐式表示进行新视角合成的框架。(博客文章)
PyTorch3D 设计用于与深度学习方法无缝集成,以预测和操作 3D 数据。 为此,PyTorch3D 中的所有操作符:
- 使用 PyTorch 张量实现
- 可以处理异构数据的小批量
- 可微分
- 可以利用 GPU 加速
在 FAIR 内部,PyTorch3D 已被用于支持如 Mesh R-CNN 等研究项目。
请查看我们的博客文章以了解更多演示并了解 PyTorch3D。
安装
详细说明请参阅 INSTALL.md。
许可证
PyTorch3D 根据 BSD 许可证 发布。
教程
通过尝试以下教程笔记本来开始使用 PyTorch3D。
文档
通过阅读 PyTorch3D 文档了解更多关于 API 的信息。
我们还有几个 API 组件的深入说明:
概述视频
我们制作了一个简短(约 14 分钟)的视频教程,概述了 PyTorch3D 代码库,包括几个代码示例。点击下方图片在 YouTube 上观看视频:
开发
我们欢迎对 PyTorch3D 的新贡献,并将积极维护这个库!请参阅 CONTRIBUTING.md 了解如何运行代码、测试和 linter,以及提交拉取请求的完整说明。
开发和兼容性
main
分支:积极开发中,无任何保证,随时可能出现任何问题- 备注:这包括从
main
构建的每日构建版本 - 提示:提交历史可以帮助定位回归或变更
- 备注:这包括从
- 发布版本之间的向后兼容性:无保证。会尽最大努力传达破坏性变更并促进代码或数据(包括模型)的迁移。
贡献者
PyTorch3D 由 Facebook AI 研究计算机视觉团队编写和维护。
按字母顺序排列:
- Amitav Baruah
- Steve Branson
- Krzysztof Chalupka
- Jiali Duan
- Luya Gao
- Georgia Gkioxari
- Taylor Gordon
- Justin Johnson
- Patrick Labatut
- Christoph Lassner
- Wan-Yen Lo
- David Novotny
- Nikhila Ravi
- Jeremy Reizenstein
- Dave Schnizlein
- Roman Shapovalov
- Olivia Wiles
引用
如果您在研究中发现 PyTorch3D 有用,请引用我们的技术报告:
@article{ravi2020pytorch3d,
author = {Nikhila Ravi and Jeremy Reizenstein and David Novotny and Taylor Gordon
and Wan-Yen Lo and Justin Johnson and Georgia Gkioxari},
title = {Accelerating 3D Deep Learning with PyTorch3D},
journal = {arXiv:2007.08501},
year = {2020},
}
如果您正在使用 pulsar 后端进行球体渲染(PulsarPointRenderer
或 pytorch3d.renderer.points.pulsar.Renderer
),请引用以下技术报告:
@article{lassner2020pulsar,
author = {Christoph Lassner and Michael Zollh\"ofer},
title = {Pulsar: Efficient Sphere-based Neural Rendering},
journal = {arXiv:2004.07484},
year = {2020},
}
新闻
请参见下面按时间倒序排列的代码库更新时间线。我们分享了发布更新以及使用 PyTorch3D 构建的研究项目。发布的更新日志可在 Releases
下查看,可以按照 INSTALL.md 中的说明使用 conda
安装构建版本。
[2023年10月31日]: PyTorch3D v0.7.5 发布。
[2023年5月10日]: PyTorch3D v0.7.4 发布。
[2023年4月5日]: PyTorch3D v0.7.3 发布。
[2022年12月19日]: PyTorch3D v0.7.2 发布。
[2022年10月23日]: PyTorch3D v0.7.1 发布。
[2022年8月10日]: PyTorch3D v0.7.0 发布,包含 Implicitron 和 MeshRasterizerOpenGL。
[2022年4月28日]: PyTorch3D v0.6.2 发布
[2021年12月16日]: PyTorch3D v0.6.1 发布
[2021年10月6日]: PyTorch3D v0.6.0 发布
[2021年8月5日]: PyTorch3D v0.5.0 发布
[2021年2月9日]: PyTorch3D v0.4.0 发布,支持隐式函数、体积渲染和 NeRF 的重新实现。
[2020年11月2日]: PyTorch3D v0.3.0 发布,集成了 pulsar 后端。
[2020年8月28日]: PyTorch3D v0.2.5 发布
[2020年7月17日]: PyTorch3D 技术报告发表于 ArXiv:https://arxiv.org/abs/2007.08501
[2020年4月24日]: PyTorch3D v0.2.0 发布
[2020年3月25日]: 使用 PyTorch3D 的 SynSin 代码库发布:https://github.com/facebookresearch/synsin
[2020年3月8日]: PyTorch3D v0.1.1 错误修复版本发布
[2020年1月23日]: PyTorch3D v0.1.0 发布。Mesh R-CNN 代码库发布:https://github.com/facebookresearch/meshrcnn