当前位置: 首页 > 科技观察

快20倍!谷歌AI推TensorFlow3D,智能汽车好用

时间:2023-03-18 13:14:07 科技观察

谷歌AI发布TensorFlow3D,在TensorFlow中引入3D深度学习能力,加入3D稀疏卷积网络。在WaymoOpen数据集上的实验表明,这个实现比之前设计的TensorFlow操作“快20倍”。随着自动驾驶汽车和机器人的深入发展,激光雷达、深度感应摄像头、雷达等3D传感器成为获取道路数据的必备设备。利用这些传感器的机器学习系统尤为重要,因为它可以帮助硬件完成诸如导航现实世界之类的事情。最近,包括对象检测、透明对象检测等模型在内的3D场景理解取得了很大进展,但由于可用于3D数据的工具和资源有限,该领域仍面临挑战。TensorFlow3D:TensorFlow与3D深度学习的整合为了进一步完善3D场景的建模,简化研究人员的工作,GoogleAI发布了TensorFlow3D(TF3D),一个高度模块化的高效库,旨在整合3D深度学习介绍TensorFlow.TF3D提供了一系列常用的操作、损失函数、数据处理工具、模型和指标,使更多的研究团队能够开发、训练和部署最先进的3D场景理解模型.TF3D包括最先进的3D语义分割、3D对象检测和3D实例分割的训练和评估任务,还支持分布式训练。此外,TF3D还支持其他潜在应用,例如3D对象形状预测、点云配准和点云致密化。此外,它还提供了训练和评估标准3D场景理解数据集的统一数据集规范和配置。目前,TF3D支持WaymoOpen、ScanNet和Rio数据集。然而,用户可以自由地将其他流行的数据集,如NuScenes和Kitti转换成类似的格式,并在现有或自定义的管道模型中使用,也可以使用TF3D进行各种3D深度学习研究和应用,从快速原型制作到部署实时推理系统。左侧显示的是TF3D中3D对象检测模型在WaymoOpenDataset的一帧上的输出示例。右侧是ScanNet数据集上3D实例分割模型的示例输出。在这里,我们介绍了TF3D中提供的高效且可配置的稀疏卷积主干,这是在各种3D场景理解任务中获得最先进结果的关键。此外,我们将一一介绍TF3D目前支持的3个流水线任务:3D语义分割、3D物体检测分割和3D实例分割。3D稀疏卷积网络传感器收集的3D数据通常包含一个场景,其中包含一组感兴趣的对象(例如汽车、行人等),周围大多是开放空间。因此,3D数据本质上是稀疏的。在这样的环境中,卷积的标准实现将是计算密集型和内存密集型的。因此,在TF3D中,我们采用流形稀疏卷积(子流形稀疏卷积)和池化操作,可以更高效地处理3D稀疏数据。稀疏卷积模型是应用于室外自动驾驶(例如Waymo、NuScenes)和室内基准测试(例如ScanNet)的大多数sota方法的关键。谷歌还应用了各种CUDA技术来加速计算(例如散列、分区/共享内存中的缓存过滤器以及使用位操作)。在WaymoOpen数据集上的实验表明,这种实现比预先设计的TensorFlow操作快“20倍”左右。来源:GitHub上的WaymoOpenDataset然后,TF3D使用3D流形稀疏U-Net架构来提取每个体素的特征。U-Net架构已被证明是有效的,让网络提取粗糙和精细的特征并将它们组合起来进行预测。U-Net网络由三个模块组成:编码器、瓶颈和解码器,每个模块都由许多稀疏卷积块组成,可以池化或非池化。3D稀疏体素U-Net架构。请注意,水平箭头采用体素特征并对它们应用流形稀疏卷积。向下移动的箭头执行流形稀疏池化。向上移动的箭头会收集池化的特征,与水平箭头的特征进行concat,对concat特征进行流形稀疏卷积。上面的稀疏卷积网络是TF3D提供的3D场景理解管道模型的骨干。下面描述的每个模型都使用这个主干网络来提取稀疏的体素特征,然后添加一个或多个额外的预测头来推断感兴趣的任务。用户可以通过改变编码器/解码器的层数和每层的卷积数,以及通过修改卷积滤波器的大小来配置U-Net网络,从而可以通过不同的网络配置来权衡速度和精度。3DSemanticSegmentation3D语义分割模型只有一个输出,用于预测每个点的语义得分,映射回该点,预测每个点的语义标签。来自ScanNet数据集的室内场景3D语义分割。3DInstanceSegmentation在3Dinstancesegmentation中,除了预测语义外,更重要的是将同一物体的体素进行组合。TF3D中使用的3D实例分割算法基于使用深度度量学习方法执行的2D图像分割工作。这种模型预测预测每个体素的实例嵌入向量以及每个体素的语义分数。实例嵌入向量将体素映射到嵌入空间,其中对应于同一对象实例的体素靠得很近,而对应于不同对象的体素相距很远。在这种情况下,输入是点云而不是图像,它将使用3D稀疏网络而不是2D图像网络。在推理过程中,通过贪心算法选取实例种子,利用嵌入体素的距离函数将不同的体素聚合到对应的实例上。3DObjectDetection物体检测模型可以预测每个体素的大小、中心和旋转矩阵以及物体的语义分数。在推理过程中,选择机制将给定的多个候选框处理为几个精确的3D目标框。预测和GT之间的HuberLoss距离用于计算训练过程中的损失。由于使用大小、中心和旋转矩阵估计框角是一个可微分的过程,因此损失可以自然地转移到预测过程的权重中。研究人员利用动态框分类损失来区分预测框的正面和负面示例。ScanNet数据集上的3D对象检测结果。TF3D只是市场上的3D深度学习扩展之一。2020年Facebook推出PyTorch3D,主打3D渲染和虚拟现实。另一个是Nvidia的Kaolin,它是一种模块化的分辨率渲染应用程序,例如高分辨率模拟环境。从这个概述来看,似乎TF3D应用更侧重于机器人感知和映射,而其他选项则更侧重于3D模拟和渲染。为了实现3D渲染,谷歌推出了TensorFlowGraphics。