Facebook 开源 3D 深度学习函数库 PyTorch3D,也可用于二维场景
渲染是计算机图形学中的核心内容,它可将 3D 模型转换为 2D 图像。这也是在 3D 场景属性(scene properties)和 2D 图像像素之间建立桥接的常规手段。不过传统渲染引擎无法进行微分,因此它们不能被合并至深度学习工作管道中。PyTorch3D 内置模块化的可微分渲染器,能用来处理可微分的 3D 数据。
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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 前端 Docker 镜像体积优化
如果 2019 年技术圈有十大流行词,容器化肯定占有一席之地,随着 Docker 的风靡,前端领域应用到 Docker 的场景也越来越多,本文主要来讲述下开源的分布式图数据库 Nebula Graph 是如何将 Docker 应用到可视化界面中,并将 1.3G 的 Docker 镜像优化到 0.3G 的实践经验。 为什么要用 Docker 对于前端日常开发而言,有时也会用到 Docker,结合到Nebula Graph Studio (分布式图数据库 Nebula Graph 的图形界面工具)使用 Docker 主要基于以下考虑: 统一运行环境:我们的工具背后有好几个服务组合在一起,诸如不同技术栈的现有服务,纯前端的静态资源。 用户使用成本低:目前云服务还在开发中,想让用户对服务组合无感,能直接在本地一键启动应用并使用。 快速部署:团队本就提供有 Nebula镜像版本 实践,给了我们前端一些参考和借鉴。 Docker 镜像的构建 既然要使用 Docker 来承载我们的应用,就得将项目进行镜像构建。与所有 build 镜像类似,需要配置一份命名为Dockerfile 的文件,文件是一些步...
- 下一篇
未来的软件实现方式,由什么样的体系来定义?
权利:作者 詹毅,中国·上海 执业律师,华东政法大学兼职教授,微信ZhanyiAttorney,邮箱zy@koforder.com。 声明:传播本文时,请于文首呈现以上权利信息。 1 定义未来的几个说法 信息科技产业,越发地精彩[1]。随之而来的,便是某某技术“定义未来”的说法: 物联网:未来已来[2]。 区块链定义未来[3]:大数据的衰落及区块链经济的崛起[4]。 大数据与智能革命重新定义未来[5]。 人工智能时代:人机共生下财富、工作与思维的大未来[6]。 对于这么多的“未来”......迷茫?困惑?我们仔细想一想,会发现:大数据也好,人工智能也好,都要靠网路、算法来实现。这些实现的具体执行,就是运行由代码构成的软件。 没有软件来执行数据的采集、去噪、挖掘、分析、预测,数据海量数据或结构化数据的处理就是空谈。阿里巴巴的大数据产品:“生意参谋”,就是零售电商大数据软件。 该软件为天猫商户提供“行业直播”“搜索词分析”“买家人群画像”“搜索人群画像”等大数据统计分析服务[7]。这种大数据产品,可以帮助商家更精准地判断消费行为,更有效地作出营销策略。 当然,大数据的应用,几乎遍及所有行业...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8