图像转换3D模型只需5行代码,英伟达推出3D深度学习工具Kaolin

作者: 杜伟 2019-11-18 10:22:01

近年来,3D 计算机视觉和人工智能两个领域都取得了飞快的发展,但二者之间如何实现有效的结合还有很长的路要走。基于此,英伟达于今日推出了 Kaolin PyTorch 库,借助于这个库,只需几步即可将 3D 模型迁移至神经网络的应用范畴。

此外,Kaolin 库还可以大大降低为深度学习准备 3D 模型的工作量,代码可由 300 行锐减到仅仅 5 行。

作为一个旨在加速 3D 深度学习研究的 PyTorch 库,Kaolin 为用于深度学习系统中的可微 3D 模块提供了高效的实现。Kaolin 不仅能够加载和预处理流行的 3D 数据集,而且具有操作网格、点云、符号距离函数和体素栅格(voxel grid)的本地功能,因而可以减少编写不必要的样本代码。

Kaolin 库包含渲染(rendering)、高光(lighting)、暗影(shading)和视图合成(view warping)等几种不同的图形模块。此外,Kaolin 库还支持一系列用于无缝衔接评价(seamless evaluation)的损失函数和评价度量,并提供可视化功能来渲染 3D 效果。重要的是,英伟达创建了包含诸多当前最优 3D 深度学习架构的 model zoo,从而作为未来研究的起点。

此类工具可以使得机器人、自动驾驶、医学成像和虚拟现实等诸多领域的研究者获益。随着人们对 3D 模型的兴趣日益高涨,英伟达的 Kaolin 库可以在该领域产生重大影响。在线存储库(repo)现已拥有很多 3D 数据集,这在一定程度上得益于世界各地所使用的、能够捕获 3D 图像的约 3000 万个深度摄像头。

GitHub 地址:https://github.com/NVIDIAGameWorks/kaolin/

那么 Kaolin 库的具体展示效果是怎样的呢?英伟达给出了以下几个实际应用示例:

图像转换3D模型只需5行代码,英伟达推出3D深度学习工具Kaolin

在 3D 场景中,通过分类功能来识别对象(图中识别出了椅子)

图像转换3D模型只需5行代码,英伟达推出3D深度学习工具Kaolin

3D 组件分割功能可以自动识别 3D 模型的不同组件,这使得「装备」动画角色或自定义模型以生成对象变体更加容易(图左的 3D 模型在图右穿上了衣服、鞋子等)

图像转换3D模型只需5行代码,英伟达推出3D深度学习工具Kaolin

图像到 3D(Image to 3D)功能可以根据训练的神经网络识别出的图像来构建 3D 模型(图右生成了椅子的 3D 模型)

目前,英伟达推出的 beta 版 Kaolin 库包含几项处理功能,用于网格、体素、符号距离函数和点云上的 3D 深度学习。加载的几个流行的数据集(如 ShapeNet、ModelNet 和 SHREC)支持开箱即用。此外,英伟达还实现了几种 3D 迁移和转换操作。

Kaolin 库支持的 3D 任务如下:

  • 可微渲染器(神经网格渲染器、软光栅化器(Soft Rasterizer)、基于可微插值的渲染器以及模块化和可扩展的抽象可微渲染器规范);
  • 基于单张图像的网格重建(如 Pixel2Mesh、GEOMetrics、OccupancyNets 等);
  • 点云分类和分割(PointNet、PoinNet++、DGCNN 等);
  • 网格分类和分割;
  • 体素栅格的 3D 超分辨;
  • 基本的图像处理(如高光、暗影等)。

Kaolin 库的安装与使用

支持的平台

Kaolin 已经获得了 Linux 平台的官方支持,并已在 Ubuntu 18 上进行构建和测试。Windows 和 Mac 平台上也应考虑展开试验性的支持。

安装步骤

英伟达推荐用户在虚拟环境中安装 Kaolin 库(如利用 conda 或 virtualenv 创建的虚拟环境)。Kaolin 要求 Python 版本在 3.6 以上,并且目前在构建时需要启用 CUDA 的机器(即需要安装 nvcc)。

首先创建一个虚拟环境。下例展示了如何为创建安装 Kaolin 库所需要的 conda 虚拟环境:

  1. $ conda create --name kaolin python=3.6 $ conda activate kaolin  

接着安装相关依赖(numpy 和 torch)。注意,设置文件并不能自动安装这两种依赖。

  1. conda install numpy 

然后安装 Pytorch,这样就可以安装 Kaolin 库了。最后根据 repo 的根目录(即包含 README 文件的目录),运行:

  1. $ python setup.py install 

在安装过程中,packman 包管理器将 nv-usd 包下载到~/packman-repo/中,后者包含阅读和编写通用场景描述(Universal Scene Description,USD)文件的必要包。

验证安装

为了验证是否安装完成 Kaolin 库,用户可以启动 python 解释器,并执行以下命令:

  1. >>>import kaolin as kal>>> print(kal.__version) 

创建文档

为深入研究 Kaolin 库,用户可以创建文档。根据 repo 的根目录(即包含 README 文件的目录),执行以下命令:

  1. $ cd docs $ sphinx-build . _build 

运行单元测试

为运行单元测试,用户可根据 repo 的根目录(即包含 README 文件的目录)执行以下命令:

  1. $ pytest tests/ 

Kaolin 库的主要功能模块

repo:支持的 3D 资产表征包括三角网格、四边形网格、体素栅格、点云和符号距离函数;

转换:支持所有流行 3D 表征的转换;
实现的模型包括:

  • DGCNN (https://arxiv.org/abs/1801.07829v1)
  • DIB-R (https://arxiv.org/abs/1908.01210)
  • GEOMetrics (https://arxiv.org/abs/1901.11461)
  • Image2Mesh (https://arxiv.org/abs/1711.10669)
  • Occupancy Network (https://arxiv.org/abs/1812.03828)
  • Pixel2Mesh (https://arxiv.org/abs/1804.01654)
  • PointNet (https://arxiv.org/abs/1612.00593)
  • PointNet++ (https://arxiv.org/abs/1706.02413)
  • MeshEncoder: A simple mesh encoder architecture.
  • GraphResNet: MeshEncoder with residual connections.
  • OccupancyNetworks (https://arxiv.org/abs/1812.03828)
  • 其他

图形:库为构建可微渲染器提供了灵活的模块化框架,使得单个组件易于实现替换。此外,Kaolin 库还提供了以下可微渲染器的实现:

DIB-R (https://arxiv.org/abs/1908.01210)

SoftRas (https://arxiv.org/abs/1904.01786)

Neural 3D Mesh Renderer (https://arxiv.org/abs/1711.07566)

度量:实现的度量和损失函数如下:

Mesh: Triangle Distance, Chamfer Distance, Edge Length regularization, Laplacian regularization, Point to Surface distance, Normal consistency

Point Cloud: Sided Distance, Chamfer Distance, Directed Distance

Voxel Grid: Intersection Over Union (3D IoU), F-Score

深度学习 编程 人工智能
上一篇:TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜 下一篇:广汽第二代传祺GS4上市,微信车载版带来安全高效车内通讯
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

人工智能会给社会带来什么?一文看懂AI的变革 精选

人类科技迅猛发展的时代,人工智能以精准的算法和高效率的工作能力,在人类的生活与工作中起到愈加重要的作用,现在无论是手机、电脑等电子产品乃至于大型机器都涉及人工智能,为了让大家更好地了解人工智能,所以这次跟大家聊一聊人工智能的事儿~

科氪星球 ·  4天前
企业级AI如何开展?有Watson,无难题!

提到IBM的人工智能,当属Watson。2011年,Watson在美国智力问答电视节目《危险边缘》(Jeopardy)中亮相,并且一举打败了人类智力竞赛的冠军。从此,大家便知道了IBM有个叫Watson的人工智能平台。

鸢玮 ·  4天前
Reddit网友吵爆!算力和数据真能解决一切? 精选

近日,一位reddit用户发起一个讨论帖:如果我们只有更多的数据和计算能力而停止理论工作的发展,今天的哪些问题可以解决?哪些问题绝对无法解决?

张佳 ·  4天前
明年1月1日起,AI造假视频不得随意发布

新规来了。在这份刚刚印发的《网络音视频信息服务管理规定》中,四次直接提及深度学习,基本可以看做是针对AI造假视频的一次针对性管控。

问耕 ·  4天前
为物联网/人工智能项目寻找投资商的优秀方式

解决一个问题,并验证,而不是描述。许多物联网项目的演示方式,大大降低了投资者和客户的吸引力。这将导致项目永远无法启动,即使启动了,也很可能会失败。

Adam Dunkels ·  4天前
2020职场AI技能排行榜:TensorFlow热度飙升,Python最火,市场部也在学

近日,在线教育网站 Udemy 根据其学员的课程数据,制作了一份《2020 年职场学习趋势报告》,指出了哪些技能最受职场人关注。

佚名 ·  2019-11-29 13:57:55
无法击败 AI 李世石宣布退役

作为唯一一名曾经打败 AI 围棋程序 AlphaGo 的人类,韩国九段棋手李世石上周正式退出职业围棋。

佚名 ·  2019-11-29 08:00:36
百度与东软教育联合成立“东软百度人工智能学院” 破局AI“人才荒”

智能时代正在加速到来,而人工智能人才作为支撑AI发展的第一资源显得尤为重要。11月28日,百度与东软教育科技集团在京签署战略合作协议,并为合作设立的“东软百度人工智能学院”举行成立及授牌仪式。辽宁省教育厅党组成员、副厅长花蕾,国家开发银行大连分行行长张一帆,百度首席技术官王海峰,东软集团董事长兼CEO、东软教育科技集团董事长刘积仁等出席签约仪式。

佚名 ·  2019-11-28 18:19:06
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载