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

脸书对外开源可将PyTorch用于3D深度学习的函数库PyTorch3D,PyTorch3D经高度模块化以及优化,内置常用的3D运算符与损失函数,还有模块化微分渲染API,可让开发者处理可微分的3D数据,并且马上将这些功能加入到当前的深度学习系统中。

3D理解在人工智能系统与真实世界交互上,扮演一个重要的角色,包括让机器人可以在物理空间中导航,也能用来改善虚拟现实的体验,甚至是识别被遮挡的物体。脸书提到,跟2D理解相比,之所以深度学习技术较少用于3D理解,是因为要将神经网络与3D数据搭配使用非常复杂,需要有更多的内存与运算需求,不像2D图像可以简单地用张量表示,在缺乏可使用的工具与资源,许多传统图形运算符不可微分,都是3D深度学习发展受到限制的原因。

为此脸书构建了PyTorch3D函数库以推动3D深度学习研究,与PyTorch专为2D识别优化的函数库类似,PyTorch3D提供了3D运算符与损失函数,可优化批次训练与预测能力。为了简化3D模型批处理的复杂度,脸书创建了Meshes格式,这是一种专为深度学习应用程序设计,用于批处理的异构网格模型数据结构。

这种数据结构可以让研究人员以最有效率的数据表示法,将基础网格模型数据,快速转换成不同的视图以配对运算符,也就是说,PyTorch3D让开发者可以灵活地切换不同视图,并且访问不同的网格属性。

渲染是3D模型转换成2D图像的计算机图学核心,这是桥接3D场景属性和2D图像像素的方法,但由于传统的渲染引擎无法微分,因此不能整合进深度学习工作管线,为此,脸书在PyTorch3D中放入了高性能的模块化微分渲染器,这个实例由可组合的单元构成,让开发者可以简单地扩展渲染器,以支持自定义光照或是着色效果。

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