Press "Enter" to skip to content

TensorFlow 3D-快速入门

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

概述

在本文中,我们将讨论开源Google AI库的最新版本–TensorFlow 3D。
本文将带您了解Google用来开发TensorFlow 3D库的3D场景捕获方法和优化技术。
同时,讨论了当前计算机视觉在解决三维场景理解方面的局限性。

引言

 

随着技术的发展和发展,三星、谷歌、苹果等公司。在他们的技术上努力工作,在他们现有的产品中尝试不同的东西,向客户提供尖端技术。和三星一样,三星在Galaxy Note 10和Galaxy S10 5G中使用飞行时间传感器,尽管它在当前一代机型中已经放弃了这一传感器。雷达尔通过谷歌Pixel 4中的Project Soli客串了一小段时间。最近,苹果在iPhone12 Pro和iPad Pro阵容中安装了LiDAR传感器,因为它突破了TrueDepth前置摄像头,开启了Notch时代。

 

像特斯拉这样的公司在他们的自动驾驶车辆中使用3D传感器,如激光雷达、雷达和深度传感摄像头,以了解他们周围的场景,并在现实世界中导航和操作。你可以称它为–一辆自动驾驶汽车。

 

过去几年,随着激光雷达、深度传感相机和雷达等传感器的使用日益增多,对能够理解场景并以非常优化的方式处理这些设备捕获的数据的技术产生了需求。

 

这里是TensorFlow3D即将上映的…

 

Google AI的团队已经开源并发布了最新的TensorFlow 3D库。TensorFlow 3D库是一个建立在TensorFlow 2和KERAS之上的开源框架,可以轻松构建、训练和部署3D对象检测、3D语义分割和3D实例分割模型。此次发布将让社区对撞击的3D场景理解领域变得简单得多。

 

为什幺我们需要TensorFlow 3D?简历还不够吗?

 

三维场景理解在目标检测、以人为中心的理解和图形学中都是至关重要的。计算机视觉领域必须在3D场景理解方面取得良好进展,包括用于移动3D对象检测、透明对象检测等的模型,但由于可应用于3D数据的工具和资源有限,进入该领域可能具有挑战性。

 

而且,使用现有的工具和技术来优化3D场景也是相当困难的,因为它的效率较低。

 

TensorFlow 3D

 

为了进一步提高对3D场景的理解,降低感兴趣的研究人员的准入门槛,谷歌AI发布了TensorFlow 3D(TF 3D),这是一个高度模块化和高效的库,旨在将3D深度学习能力引入TensorFlow。

 

TF 3D提供一套流行的操作、损失函数、数据处理工具、模型和指标,使更广泛的研究团体能够开发、培训和部署最先进的3D场景理解模型。

 

TF 3D包含用于最先进的3D语义分割、3D对象检测和3D实例分割的训练和评估管道,并支持分布式训练。它还支持其他潜在的应用,如3D对象形状预测、点云配准和点云增密。

 

那数据集呢?

 

众所周知,对于深度学习,我们需要大量的数据来使我们的模型健壮,并在现实世界中表现良好。为此,TensorFlow 3D提供了统一的数据集规范和配置,用于训练和评估标准3D场景理解数据集。

 

我们所有的数据集都有以下反复出现的概念:

帧:每个条目都包含帧级数据,如颜色和深度相机图像、点云、相机本征、地面真实语义和实例分割注释。
场景:每个条目包含整个场景的点云/网格数据和场景中所有帧的轻量级信息。

然而,用户可以自由地将其他流行的数据集(如NuScenes和Kitti)转换为类似的格式,并在预先存在的或自定义创建的管道中使用它们,并且可以利用TF 3D进行广泛的3D深度学习研究和应用,从快速制作原型和尝试新想法到部署实时推理系统。

 

架构

现在,让我们了解一下架构。

 

TF 3D使用高效且可配置的稀疏卷积骨干,这是在各种3D场景理解任务中获得最先进结果的关键。

 

传感器捕获的3D数据通常由包含一组感兴趣对象(例如,汽车、行人等)的场景组成。周围大多是开阔的空间,这是有限的(或没有)兴趣。

 

因此,3D数据本质上是稀疏的。直接应用密集卷积将由于空空间中的无效计算而浪费大量计算资源。同样,经过传统的卷积处理后,提取的特征不再是稀疏的。

 

稀疏卷积模型是大多数室外自动驾驶(如Waymo、NuScenes)和室内基准(如ScanNet)中应用的最先进方法的核心。

 

我们还使用各种CUDA技术来加速计算(例如,散列、分区等)。

 

目前TF 3D支持三条流水线:3D语义分割、3D对象检测、3D实例分割。

 

3D语义分割:3D语义分割涉及将表示为点云的3D对象或场景分割成其组成部分,其中必须为输入空间中的每个点分配一个零件标签。3D语义分割模型仅具有一个用于预测每体素语义分数的输出头,该输出头被映射回点以预测每点的语义标签。

U-网使用子流形稀疏卷积网络,因为它们可以处理生活在高维空间中的低维数据,因为大多数3D数据是稀疏的,应用卷积的标准实现是计算密集型的,并且需要很大的存储空间。

3D语义分割模型使应用程序能够区分前景对象或对象与场景的背景,就像Zoom上的虚拟背景一样。谷歌已经在YouTube上实现了类似的虚拟视频背景技术。

 

3D实例分割:在3D实例分割中,除了预测语义之外,目标是将属于同一对象的体素分组在一起。TF 3D使用的模型预测每个体素的实例嵌入向量以及每个体素的语义得分。实例嵌入向量将体素映射到嵌入空间,在该嵌入空间中,对应于相同对象实例的体素靠近,而对应于不同对象的体素相隔很远。

 

简单地说,3D实例分割模型将一组对象识别为单独的对象,就像Snapchat镜头一样,它可以在相机视图中为多个人戴上虚拟面具。

 

默认情况下,TF 3D使用U-Net网络作为主干,并具有两个输出头,用于预测每个体素的语义逻辑和实例嵌入。在推断时,贪婪算法一次挑选一个实例种子,并使用体素嵌入之间的距离将它们分组为片段。

 

3D对象检测:3D对象检测模型还通过对视图中的对象进行分类,使实例分割更进一步。3D对象检测模型预测每个体素的大小、中心和旋转矩阵以及对象语义分数。

 

而在推理时,使用盒建议机制将数十万个每体素的盒预测缩减为几个精确的盒建议,然后在训练时将盒预测和分类损失应用于每体素预测。

 

它使用动态盒子分类损失,将与地面真实强烈重叠的盒子分类为正,将不重叠的盒子分类为负。

TensorFlow 3D支持两种类型的深度网络,UNET网络和沙漏网络。

对输入稀疏体素进行下采样的编码器。
一个瓶颈。
具有将稀疏体素特征向上采样回原始分辨率的跳过连接的解码器。

每个部分由多个稀疏卷积块组成,这些稀疏卷积块具有可能的合用或解合操作,用于提取每个体素的特征。体素表示三维空间中规则栅格上的值。

 

三维子流形稀疏卷积挡路

 

卷积挡路接收一组稀疏体素索引及其特征,对它们执行一系列3D子流形稀疏卷积,并返回计算出的体素特征。

 

# voxel_features: A tf.float32 tensor of size [b, n, f] where b is batch size, n s the number of voxels and f is the feature size.
# voxel_indices: A tf.int32 tensor of size [b, n, 3].
# num_valid voxels: A tf.int32 tensor of size [b] containing number of valid voxels in each of the batch examples.

 

三维稀疏体素UNET

U-net的数字可以描述为:

水平箭头接受体素特征,并对其应用子流形稀疏卷积。
向下移动的箭头执行子流形稀疏池。
向上移动的箭头将聚集回集合的特征,将它们与来自水平箭头的特征连接,并对连接的特征执行子流形稀疏卷积。

该模型已被TF 3D用作3D对象检测、3D语义分割和3D实例分割模型的骨干架构。TF 3D允许通过改变编解码器层的数目和每层中的卷积数目以及通过基于使用情况修改卷积过滤大小来配置U-NET网络。

 

以下是创建上图中显示的U-Net模型的代码。

 

from tf3d.layers import sparse_voxel_unet

 

沙漏网络是一个或多个堆叠的UNET网络。

 

要对…求和,请执行以下操作

 

TensorFlow 3D是一个令人惊叹的3D场景理解库,因为在数据集上的实验表明,TF 3D的实现速度比使用现有TensorFlow操作的精心设计的实现快20倍左右。这比3D场景上的任何现有计算机视觉解决方案都要快得多。

 

TensorFlow 3D只是市场上3D深度学习扩展之一。Facebook在2020年推出了PyTorch3D,更致力于3D渲染和虚拟现实。

 

市场上的另一个参与者是NVIDIA的高岭土,这是一种用于高分辨率模拟环境等应用的模块化可区分渲染。从这个概观来看,似乎

 

TensorFlow 3D应用程序更多地致力于机器人感知和地图绘制,而其他选项则更多地致力于3D模拟和渲染。出于3D渲染的目的,Google使用了TensorFlow Graphics。

 

感谢您的阅读!

 

参考文献:

 

https://arxiv.org/pdf/1711.10275.pdf https://arxiv.org/pdf/1711.10275.pdf

 

https://github.com/google-research/google-research/tree/master/tf3d https://github.com/google-research/google-research/tree/master/tf3d

 

http://ai.googleblog.com/2021/02/3d-scene-understanding-with-tensorflow.html http://ai.googleblog.com/2021/02/3d-scene-understanding-with-tensorflow.html

 

原创文章,:fendouai,如若转载,请注明出处:https://panchuang.net/2021/06/18/tensorflow-3d-%e5%bf%ab%e9%80%9f%e5%85%a5%e9%97%a8/

Be First to Comment

发表评论

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