一直以来,多数机器学习模型几乎围绕在2D图像识别和理解方面,之后开始有包括2D图像理解3D物体,2D草图还原3D模型等等机器学习模型。
和互联网媒介发展路径极为相似,机器学习模型也正在从2D图像转为3D图像相关,包括3D图像的理解,图像还原,图像分析等等。
毫无疑问,3D理解能力的提将有助于机器更好的理解现实世界,例如机器人在复杂空间中导航、以及2D环境中识别遮挡物体,甚至用于提升各类和3D相关的AR/VR/游戏等等场景的体验。
而3D领域的机器学习模型在此之前一直处于缺乏相关工具和资源的状态,和其它巨头相比,得益于Facebook在AR/VR方向领域加大投入,正式推出专注于3D环境的深度学习平台PyTorch3D。
实际上,这个PyTorch3D平台正式
在PyTorch3D中结合了高度优化的2D图像识别库Detectron2,从而实现把物体解能力升级到三维空间。
最终,研究员和工程师们可以通过PyTorch3D平台进行各类3D深度学习研究,包括3D重建、3D推理等等,甚至帮助到2D识别等应用。
PyTorch3D的几个主要功能和特点:
1,引入新3D网格数据格式
3D网格系统包含了顶点坐标和面索引的合集,意味着在批量处理大小不同的3D网格时会面临一些挑战。为应对挑战,Facebook创建了3D网格格式:Meshes。
该数据格式可以轻松的基础网格数据进行快速转换为不同的图像,让运算符和数据能够有效匹配。而PyTorch3D也能够使研究员在不同视角之间灵活切换。
2,3D网格支持高效率处理
有了新的3D网格格式后,就需要能够实现高效的处理。目前Facebook已优化几个通用运算符和3D数据损失函数的优化,从而支持异构数据导入。也就意味着,研究员可以对3D网格进行投影变换,图卷积,采样,损失函数等操作。
3,微分网格渲染
渲染引擎是将3D模型转换为2D图像的计算机图形学核心部分,将3D场景属性转换为2D图像一般渲染方式不支持微分。不过包括OpenDR、redner等,则可以构建支持深度学习的可微图形渲染器。
同时,由于PyTorch3D目标是和各类深度学习算法集成,从而将3D数据进行更好的数据预测和计算,因此在PyTorch3D中所有的运算符具备以下特点:可适用PyTorch算子;适用异构批数据;可进行微分;支持GPU加速。
参考: