ITBear旗下自媒体矩阵:

Facebook 开源 3D 深度学习函数库 PyTorch3D

   时间:2020-02-17 09:26:33 来源:开源中国作者:局长编辑:星辉 发表评论无障碍通道

Facebook近日开源了将PyTorch用于3D深度学习的函数库 PyTorch3D,这是一个高度模块化且经过优化的库,具备独有的功能,旨在通过PyTorch简化3D深度学习。PyTorch3D为3D数据提供了一组常用的3D运算符和快速且可微分的损失函数(loss function),以及模块化的可微分渲染API。通过上述的功能,研究人员可以立即将这些函数导入至当前最先进的深度学习系统中。

研究人员和工程师可以利用PyTorch3D进行各种3D深度学习研究(无论是3D重构、集束调整,乃至3D推理),以及改进在二维空间下的识别任务。

对三维空间的认知,在人工智能与真实世界的互动过程中扮演着十分重要的角色。例如机器人在物理空间中的导航、改进虚拟现实体验,以及识别2D内容中被遮挡的物体等。不过即便有丰富深度学习技术积累的Facebook,在面对3D的深度学习问题时依然会被困扰。Facebook表示,之所以深度学习技术较少用于3D场景,是因为缺乏足够的工具和资源来支撑神经网络与3D数据结合使用的复杂性,这种场景要求更多的内存与更高的算力,不像2D图像可以使用张量表示,而且许多传统图形运算符不可微分,因此3D深度学习技术的研究受到了限制。

为此,Facebook构建了PyTorch3D函数库以推动3D深度学习研究,与PyTorch为2D识别任务提供高度优化的函数库一样,PyTorch3D通过提供批处理以及对3D运算符和损失函数的支持来优化训练和推理。为了简化3D模型批处理的复杂度,Facebook创建了Meshes格式,这是一种专为深度学习应用程序设计,用于批处理的异构网格模型数据结构。

这种数据结构可以让研究人员轻松地将基础网格模型数据快速转换成不同的视图,以使运算符与数据的最有效表示方式相匹配。更重要的是,PyTorch3D为研究人员和工程师提供了能够灵活地在不同的表示视图之间进行有效切换的方式,并访问不同的网格属性。

渲染是计算机图形学中的核心内容,它可将3D模型转换为2D图像。这也是在3D场景属性(scene properties)和2D图像像素之间建立桥接的常规手段。不过传统渲染引擎无法进行微分,因此它们不能被合并至深度学习工作管道中。所以,Facebook在PyTorch3D内置了高度模块化的可微分渲染器,能用来处理可微分的3D数据。此功能的实现由可组合单元组成,允许用户轻松扩展渲染器以支持自定义照明或阴影效果。

Facebook将这些功能打包成工具包,并提供了运算符、异构批处理功能和模块化可微分的渲染API等,帮助研究人员进行复杂的3D神经网络应用研究。

查看 PyTorch3d 文档:https://pytorch3d.org/docs/why_pytorch3d.htm

举报 0 收藏 0 打赏 0评论 0
 
 
更多>同类资讯
全站最新
热门内容
网站首页  |  关于我们  |  联系方式  |  版权声明  |  网站留言  |  RSS订阅  |  违规举报  |  开放转载  |  滚动资讯  |  English Version