请选择 进入手机版 | 继续访问电脑版
发布

继Facebook开源PyTorch3D后,谷歌开源TensorFlow 3D场景理解库

 / 倒序浏览   © 文章版权由 xingyuewang 解释,禁止匿名转载

#楼主# 2021-3-8

跳转到指定楼层
呆板之心报道
编辑:杜伟、陈萍
继 2020 年初 Facebook 开源基于 PyTorch 的 3D 计算机视觉库PyTorch3D之后,谷歌也于近日开源了一个基于 TF 框架的高度模块化和高效处理库 TensorFlow 3D。目前,该库已经开源。
3D 计算机视觉是一个非常紧张的研究课题,选择合适的计算框架对处理效果将会产生很大的影响。此前,呆板之心曾先容过 Facebook 开源的基于 PyTorch 框架的 3D 计算机视觉处理库 PyTorch3D,该库在 3D 建模、渲染等多方面处理操作上表现出了更好的效果。
近来,另一个常用的深度学习框架 TensorFlow 也有了自己的高度模块化和高效处理库。它就是谷歌 AI 推出的 TensorFlow 3D(TF 3D),将 3D 深度学习本事引入到了 TensorFlow 框架中。TF 3D 库基于 TensorFlow 2 和 Keras 构建,使得更易于构建、训练和部署 3D 语义分割、3D 实例分割和 3D 目的检测模子。目前,TF 3D 库已经开源。

GitHub 项目地址:https://github.com/google-research/google-research/tree/master/tf3d
TF 3D 提供了一系列流行的运算、丧失函数、数据处理工具、模子和指标,使得更广泛的研究社区方便地开辟、训练和部署 SOTA 3D 场景理解模子。TF 3D 还包罗用于 SOTA 3D 语义分割、3D 目的检测和 3D 实例分割的训练和评估 pipeline,并支持分布式训练。该库还支持 3D 物体形状猜测、点云配准和点云加密等潜伏应用。
别的,TF 3D 提供了用于训练和评估标准 3D 场景理解数据集的同一数据集规划和设置,目前支持 Waymo Open、ScanNet 和 Rio 三个数据集。不外,用户可以自由地将 NuScenes 和 Kitti 等其他流行数据集转化为雷同格式,并在预先存在或自定义创建的 pipeline 中使用它们。末了,用户可以将 TF 3D 用于多种 3D 深度学习研究和应用,比如快速原型计划以及尝试新思绪来部署实时推理体系。
                                                                                        展开全文                                                                            下图(左)为 TF 3D 库中 3D 目的检测模子在 Waymo Open 数据集帧上的输出示例;下图(右)为 TF 3D 库中 3D 实例分割模子在 ScanNet 数据集场景上的输出示例。

3D 希奇卷积网络
谷歌详细先容了 TF 3D 库中提供的高效和可设置希奇卷积骨干网络,该网络是在各种 3D 场景理解任务上取得 SOTA 效果的关键。
在 TF 3D 库中,谷歌使用子流形希奇卷积和池化操作,这两者被计划用于更高效地处理 3D 希奇数据。希奇卷积模子是大多数户外主动驾驶(如 Waymo 和 NuScenes)和室内基准(如 ScanNet)中使用的 SOTA 方法的核心。
谷歌还使用各种 CUDA 技能来加速计算(如哈希算法、共享内存中分割 / 缓存滤波器以及位操作)。在 Waymo Open 数据集上的实行表明,这种实现的速度约是利用预先存在 TensorFlow 操作的实现的 20 倍。
TF 3D 库中使用 3D 子流形希奇 U-Net 架构来提取每个体素(voxel)的特性。通过令网络提取希奇和渺小特性并连合它们以做出猜测,U-Net 架构已被证实非常有效。在结构上,U-Net 网络包罗三个模块:编码器、瓶颈层息争码器,它们均是由大量具有潜伏池化或非池化操作的希奇卷积块组成的。
下图为 3D 希奇体素 U-Net 架构:

希奇卷积网络是 TF 3D 中所提供 3D 场景理解 pipeline 的骨干。并且,3D 语义分割、3D 实例分割和 3D 目的检测模子使用希奇卷积网络来提取希奇体素的特性,然后添加一个或多个额外的猜测头(head)来推理感兴趣的任务。用户可以通过改变编码器或解码器层数和每个层的卷积数,以及调整卷积滤波器巨细来设置 U-Net 网络,从而探索不同骨干网络设置下各种速度或正确率的衡量。
TF 3D 支持的三个 pipeline
目前,TF 3D 支持三个 pipeline,分别是 3D 语义分割、3D 实例分割和 3D 目的检测。
3D 语义分割
3D 语义分割模子仅有一个用于猜测每体素(per-voxel )语义分数的输出头,这些语义被映射回点以猜测每点的语义标签。
下图为 ScanNet 数据集中室内场景的 3D 语义分割效果:

3D 实例分割
除了猜测语义之外,3D 实例分割的另一目的是将属于同一物体的体素集中分组在一起。TF 3D 中使用的 3D 实例分割算法基于谷歌之前基于深度度量学习的 2D 图像分割。模子猜测每体素的实例嵌入向量和每体素的语义分数。实例嵌入向量将这些体素嵌入至一个嵌入空间,在此空间中,属于同一物体实例的体素紧密靠拢,而属于不同物体的体素相互阔别。在这种环境下,输入的是点云而不是图像,并且使用了 3D 希奇网络而不是 2D 图像网络。在推理时,贪婪算法每次选择一个实例种子,并利用体素嵌入之间的隔断将它们分组为片断。
3D 目的检测
3D 目的检测模子猜测每体素巨细、中央、旋转矩阵和目的语义分数。在推理时使用 box proposal 机制,将成千上万个每体素 box 猜测缩减为数个正确的 box 发起;在训练时将 box 猜测和分类丧失应用于每体素猜测。
谷歌在猜测和真值 box 角(box corner)之间的隔断上应用到了 Huber 丧失。由于 Huer 函数根据 box 巨细、中央和旋转矩阵来估计 box 角并且它是可微的,因此该函数将主动传回这些猜测的目的特性。别的,谷歌使用了一个动态的 box 分类丧失,它将与真值猛烈重叠的 box 分类为正(positive),将与真值不重叠的 box 分类为负(negative)。
下图为 ScanNet 数据集上的 3D 目的检测效果:

参考链接:https://ai.googleblog.com/2021/02/3d-scene-understanding-with-tensorflow.html

来源:搜狐
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具

成为第一个回答人

B Color Link Quote Code Smilies
xingyuewang

管理员

  • 主题

    138081

  • 帖子

    138081

  • 关注者

    0

Copyright © 2001-2019 Comsenz Inc.  Powered by Discuz! X3.4