概述
关注上方“深度学习技术前沿”,选择“星标公众号”,
资源干货,第一时间送达!
PyTorch 进军三维计算机视觉了,现在,你的神经网络可以更轻松地和 3D 数据搭配使用了。
3D 计算机视觉是一个重要的课题,如何选择合适的框架进行计算,使得处理效果更好、更高效?近日,Facebook AI 已经推出了用于 3D 深度学习的开源工具包,PyTorch3D。这是一个基于 PyTorch 的库,在 3D 建模,渲染等多方面处理操作上有更好的表现。
项目地址:https://github.com/facebookresearch/pytorch3d
顾名思义,PyTorch3D 是一个基于 PyTorch 的高度模块化,且经过优化的库。旨在通过 PyTorch 简化 3D 深度学习。
PyTorch3D 带有常用的 3D 运算符和用于 3D 数据的损失函数,以及模块化可微渲染API。
在这一项目中,开发者实现了以下新特性:
1. 他们提出了新的 3D 数据结构——Meshes,这种数据结构可以更好地存储和修改三角网格的数据;
2. 高效处理三角网格的算子,如投影变换、图卷积、采样、损失函数等;
3. 一个可微分的网格生成器;
由于是基于 PyTorch 的,这个框架主要面向的是深度学习方面的模型。项目目标是将 3D 计算机视觉和深度学习结合,用于对三维数据的预测和计算。在 PyTorch3D 中,所有的算子都:
1. 使用 PyTorch 的算子;
2. 可以使用异构的批数据;
3. 可微分;
4. 能够使用 GPU 加速;
并且,Facebook 把 PyTorch3D 与 2D 识别库 Detectron2 结合在了一起,将对物体的理解进一步推向三维。
那么,就一起来看看 PyTorch3D 是怎样让 3D 深度学习变更快更灵活的。
PyTorch3D:更快、更灵活的 3D 深度学习研究
其主要的新增特性有以下三点。
1. 3D 网格数据的新格式:Meshes
3D 网格是顶点坐标和面索引的集合。为了更好地对其进行处理,Facebook 提出了新的数据结构Meshes。
Mesh 的数据结构。
这种数据结构使得研究人员很容易将底层的网格数据转换为合适的格式,从而让相应的算子能够匹配到最高效的数据表示。Pytorch3D 为用户提供了在不同的表示视图间高效切换的方法,同时还可以获得不同数据表示的属性,具有很好的灵活性。
2. 高效处理三角网格
那么,要怎样让一个 mesh 变形为目标形状呢?
在 PyTorch3D 中,Facebook 实现了通用运算符、3D 数据损失函数的优化,且支持异构批数据的输入。
用户可以在 PyTorch3D 中直接导入这些运算符,快速开始实验。
3. 可微分网格渲染器(renderer)
渲染是将 3D 模型转换为 2D 图像的核心。
传统的渲染方法是不可微的,因此无法和深度学习相结合。
为了能够访问到下游应用程序所需的各种中间值,在 PyTorch3D 中,研究人员编写了一个模块化微分渲染器。
渲染器由可组合单元构成,具有扩展性,因此用户可以轻松实现自定义,比如在渲染时改变照明、阴影效果。
计算量较大的栅格化步骤可以在 PyTorch、C++和 CUDA 中并行实现。
同样,依靠 Mesh 数据格式,渲染器也支持异构批量数据。
使用教程
除了在博客中介绍了项目之外,项目研究者还提供了四个相关教程。
将球形点云分解为海豚:https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/deform_source_mesh_to_target_mesh.ipynb
渲染带有材质的点云:https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/render_textured_meshes.ipynb
网格调整:https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/bundle_adjustment.ipynb
相机视角优化:https://github.com/facebookresearch/pytorch3d/blob/master/docs/tutorials/camera_position_optimization_with_differentiable_rendering.ipynb
更多内容
Facebook AI 博客:
https://ai.facebook.com/blog/-introducing-pytorch3d-an-open-source-library-for-3d-deep-learning/
PyTorch3D 项目:
https://github.com/facebookresearch/pytorch3d
Mesh R-CNN 项目:
https://github.com/facebookresearch/meshrcnn
???? 更多精彩咨讯,长按识别,即可关注
最后
以上就是哭泣小馒头为你收集整理的FaceBook开源PyTorch3D:基于PyTorch的新3D计算机视觉库的全部内容,希望文章能够帮你解决FaceBook开源PyTorch3D:基于PyTorch的新3D计算机视觉库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复