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

图像转换3D模型只需5行代码,英伟达推出3D深度学习工具Kaolin
参加:杜伟 近年来,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 场景中,经过分类功用来辨认目标(图中辨认出了椅子)。 3D 组件切割功用能够主动辨认 3D 模型的不同组件,这使得「配备」动画人物或自定义模型以生成目标变体愈加简单(图左的 3D 模型在图右穿上了衣服、鞋子等)。 图画到 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 虚拟环境: $ conda create –name kaolin python=3.6$ conda activate kaolin 接着装置相关依靠(numpy 和 torch)。留意,设置文件并不能主动装置这两种依靠。 conda install numpy 然后装置 Pytorch,这样就能够装置 Kaolin 库了。最终依据 repo 的根目录(即包含 README 文件的目录),运转: $ python setup.py install 在装置过程中,packman 包管理器将 nv-usd 包下载到~/packman-repo/中,后者包含阅览和编写通用场景描绘(Universal Scene Deion,USD)文件的必要包。 验证装置 为了验证是否装置完结 Kaolin 库,用户能够发动 python 解说器,并履行以下指令: >>>import kaolin as kal>>> print(kal.__version) 创立文档 为深入研讨 Kaolin 库,用户能够创立文档。依据 repo 的根目录(即包含 README 文件的目录),履行以下指令: $ cd docs$ sphinx-build . _build 运转单元测验 为运转单元测验,用户可依据 repo 的根目录(即包含 README 文件的目录)履行以下指令: $ 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 参阅链接:https://news.developer.nvidia.com/kaolin-library-research-3d/?ncid=so-twit-97892#cid=nr01_so-twit_en-us

发表评论

电子邮件地址不会被公开。 必填项已用*标注