近年来,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 万个深度摄像头。
那么 Kaolin 库的具体展示效果是怎样的呢?英伟达给出了以下几个实际应用示例: 在 3D 场景中,通过分类功能来识别对象(图中识别出了椅子)。 3D 组件分割功能可以自动识别 3D 模型的不同组件,这使得「装备」动画角色或自定义模型以生成对象变体更加容易(图左的 3D 模型在图右穿上了衣服、鞋子等)。 图像到 3D(Image to 3D)功能可以根据训练的神经网络识别出的图像来构建 3D 模型(图右生成了椅子的 3D 模型)。
目前,英伟达推出的 beta 版 Kaolin 库包含几项处理功能,用于网格、体素、符号距离函数和点云上的 3D 深度学习。加载的几个流行的数据集(如 ShapeNet、ModelNet 和 SHREC)支持开箱即用。此外,英伟达还实现了几种 3D 迁移和转换操作。