pytorch3d - PyTorch3D 是 FAIR 的可重用组件库,用于使用 3D 数据进行深度学习

Created at: 2019-10-25 10:23:45
开发语言: Python
授权协议: NOASSERTION

CircleCI Anaconda-Server 徽章

介绍

PyTorch3D使用PyTorch为3D计算机视觉研究提供高效,可重用的组件。

主要功能包括:

  • 用于存储和操作三角形网格的数据结构
  • 对三角形网格进行高效运算(射影变换、图形卷积、采样、损失函数)
  • 可微分网格渲染器
  • Implicitron,参见其README,一个通过隐式表示进行新视图综合的框架。

PyTorch3D旨在与深度学习方法顺利集成,以预测和操作3D数据。因此,PyTorch3D中的所有运算符:

  • 使用 PyTorch 张量实现
  • 可以处理异源性数据的微粒
  • 可区分
  • 可利用 GPU 进行加速

在FAIR内部,PyTorch3D已被用于为Mesh R-CNN等研究项目提供动力。

安装

有关详细说明,请参阅 INSTALL.md

许可证

PyTorch3D在BSD许可证下发布。

教程

通过尝试其中一个教程笔记本来开始使用PyTorch3D。

将球体网格变形为海豚 捆绑调整
渲染带纹理的网格 相机位置优化
渲染带纹理的点云 使网格与纹理拟合
呈现密集位置数据 Load & Render ShapeNet data
适合纹理体积 拟合简单的神经辐射场

文档

通过阅读 PyTorch3D 文档了解有关 API 的更多信息

我们还对几个 API 组件进行了深入的介绍:

概述视频

我们创建了一个简短的(约14分钟)视频教程,概述了PyTorch3D代码库,包括几个代码示例。点击下面的图片在YouTube上观看视频:

发展

我们欢迎对PyTorch3D的新贡献,我们将积极维护这个库!有关如何运行代码、测试和 linter 以及提交拉取请求的完整说明,请参阅 CONTRIBUTING.md

开发与兼容性

  • main
    分公司:积极发展,没有任何保证,任何东西都可以随时破碎
    • 备注:这包括从以下方式构建的夜间构建
      main
    • 提示:提交历史记录可以帮助定位回归或更改
  • 版本之间的向后兼容性:不保证。尽最大努力传达重大更改并促进代码或数据(包括模型)的迁移。

贡献

PyTorch3D由Facebook AI Research Computer Vision Team编写和维护。

按字母顺序排列:

  • 阿米塔夫·巴鲁阿
  • 史蒂夫·布兰森
  • Krzysztof Chalupka
  • 高路雅
  • 格鲁吉亚吉基奥克萨里
  • 泰勒·戈登
  • 贾斯汀·约翰逊
  • 帕特里克·拉巴图特
  • 克里斯托夫·拉斯纳
  • 卢婉燕
  • 大卫·诺沃特尼
  • 尼基拉·拉维
  • 杰里米·雷森斯坦
  • 戴夫·施尼兹莱因
  • 罗曼·沙波瓦洛夫
  • 奥利维亚·怀尔斯

引文

如果你发现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},
}

如果你使用脉冲星后端进行球体渲染(或),请引用技术报告:

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构建的研究项目的更新。版本的更改日志在“版本”下提供,并且可以按照 INSTALL.md 中的说明安装版本。

conda

[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发布,集成脉冲星后端。

[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日]:SynSin代码库使用PyTorch3D发布: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