作者 | 黄浴
来源 | 转载自知乎专栏自动驾驶的挑战和发展
【导读】在近日发布的《值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)》一文中,作者介绍了一部分各大公司和机构基于激光雷达的目标检测所做的工作,本文是补充的第二部分。
继续介绍一些工作。没想到,这个研究方向很热。

“FVNet: 3D Front-View Proposal Generation for Real-Time Object Detection from Point Cloud”

这是一个称为FVNet的框架,从点云生成3D前视图提议和目标检测。它包括两步:生成前视图提议和估计3D边框参数。

首先将点云投影到圆柱面上以生成保留丰富信息的前视特征图,而不是从摄像机图像或鸟瞰图中生成提议。然后,引入提议生成网络(proposal generation network),从生成的图中预测3D区域提议,并进一步从整个点云中提取出感兴趣的目标。最后提出了另一个网络,用于从提取出的目标点中提取点特征,并在规范坐标中回归最终的3D边框参数。该框架实现了每点云样本处理时间12ms的实时性能。

如图(a)FVNet的概述。由两个子网组成:(b)用于生成3D区域提议的提议生成网络(PG-Net)和用于估计3D边框参数的参数估计网络(PE-Net)。

如图是PG-Net架构。顶部是主干网,底部分别显示残余块、卷积块和上采样块的细节。

如图显示一个3D边框及其相应的圆柱片段。左:具有维度先验(Pw,Ph)、位置预测(bx,by)和截断距离预测(r1,r2)的3D边框。右:3D空间中的相应圆柱片段,它通过截取具有两个径向距离r1和r2的平截头( frustum)生成。

形成圆柱投影的公式是:

“Part-A^2 Net: 3D Part-Aware and Aggregation Neural Network for Object Detection from Point Cloud”

本文提出从点云中进行三维物体检测的部件-觉察(part-aware)和聚合神经网络(Part-A^2 Net)。整个框架由部件-觉察阶段和部件聚合阶段两个组成。

首先,部件觉察阶段学习用3D真实(GT)框导出的免费监督同时预测粗略3D提议和准确目标内(intra-object)部件位置。通过设计的RoI-觉察(-aware)点云池化模块对相同提议中预测的目标内(intra-object)部件位置进行分组,从而实现3D提议特征编码的有效表示。

然后,部件聚合阶段学习重新对边框进行评分并基于池化部件位置来细化边框位置。

下图所示,即使当目标被部分遮挡时,所提出的部件-觉察和聚合网络也可以鲁棒地预测目标内部件位置和分割掩码。这样的部件位置可以辅助更准确的3D目标检测。

下图是用于3D目标检测的部件-觉察(part-aware)和聚合神经网络(Part-A^2 Net)总体框架。它包括两个阶段:(a)第一个部分,部件-觉察阶段准确地估计目标内部件位置,并通过将原始点云馈送到设计的骨干网络来生成3D提议。(b)第二部分,聚合阶段进行提议的RoI-觉察点云池化操作对每个3D提议的部件信息进行分组,然后利用部件聚合网络根据部件特征和信息对边框进行评分和细化位置。

下面介绍稀疏上采样和特征细化块。该模块在基于稀疏卷积的UNet骨干解码器中采用。横向特征和底部特征首先通过稀疏卷积融合和变换。然后通过稀疏逆卷积对融合特征进行上采样。

再说RoI-觉察点云特征池化图。由于上述BEV图中显示的模糊性,无法使用先前的点云池化方法恢复原始边框形状。提出的RoI-觉察点云池化方法可以通过保持空体素来编码边框形状,这个只需要跟着稀疏卷积即可。

如下图是一些结果展示:

“Voxel-FPN: multi-scale voxel feature aggregation in 3D object detection from point clouds”

点云数据中的目标检测是计算机视觉系统中的关键组件之一,尤其是自动驾驶场景。Voxel-FPN,是一种单步3D目标探测器,仅利用LIDAR传感器的原始数据。

核心框架包括编码器网络和相应的解码器,后跟区域提议网络。编码器以自下而上的方式提取多尺度体素信息,而解码器以自上而下的方式融合来自不同尺度的多个特征图,如下所示。

下图是VFE框架:体素特征提取。

这是RPN-FPN框架图:

如图是可视化汽车检测结果:绿色立方体表示真实3D框,红色表示检测结果。

“STD: Sparse-to-Dense 3D Object Detector for Point Cloud ”

本文提出了一种两步3D目标检测框架,称为从稀疏到密集的3D目标探测器(STD)。第一步是自下而上的提议生成网络,使用原始点云作为输入,通过使用球形锚点(spherical anchor)为每个点撒种来生成准确的提议。实现了高召回率,计算量更少。

然后,应用PointsPool将其内部点特征从稀疏表达转换为紧凑表示,生成提议特征,从而节省更多的计算时间。

在第二步的边框预测中,实现了并行的交叉联合(IoU)分支,提高对定位精度的觉察,从而进一步提高性能。

下面是包括三个不同部分的框架示意图。第一部分是提议生成模块(proposal generation module,PGM),用于从人工基于点的球形锚点生成准确的提议。第二部分是PointsPool层,用于将提议特征从稀疏表达转换为紧凑表示。最后一个是边框预测网络,对提案进行分类和回归,并选择高质量的预测。

接着说提议生成模块的网络。(a)3D分割网络(基于PointNet ++),将原始点云(x,y,z,r)作为输入,并通过堆叠集合抽象(set abstraction,SA)层和特征传播(feature propagation,FP)模块为每个点生成语义分割分以及全局上下文特征。(b)提议生成网络(基于PointNet)。它将锚点内点的归一化坐标和语义特征作为输入,产生分类和回归预测。

下图是可视化的KITTI测试结果。汽车、行人和骑自行车者分别以黄色、红色和绿色突出显示。每个图像的上行是投影到RGB图像上的3D对象检测结果。另一个是LiDAR阶段的结果。

“Fast Point RCNN”

这个腾讯的工作是为基于点云的三维目标检测提供统一、高效和有效的框架。这种两步法同时利用体素表示和原始点云数据来利用各自的优势。

第一步中以体素表示为输入的网络仅由轻卷积运算组成,产生少量高质量的初始预测。初始预测中每个点的坐标和索引卷积特征(indexed convolutional feature)与注意机制有效融合,保留了准确的定位和上下文信息。

第二步利用其融合特征在内部点上工作,以进一步细化预测。

如图给出两步法框架概述。在第一步,将点云体素化并将它们馈送到VoxelRPN产生少量初始预测。然后通过融合VoxelRPN的内部点坐标和上下文特征为每个预测生成框特征。边框特征被送到RefinerNet进行进一步改进。

假设点云的感兴趣区域是大小为(L,W,H)的长方体,并且每个体素大小(vl,vw,vh),3D空间被划分为大小(L/ vl,W/ vw,V/ vh)的3D体素网格。

下图是VoxelRPN的网络结构。图中使用的层格式如下(内核大小)(通道)/(步幅),即(kx,ky,kz)(chn)/(sx,sy,sz)。除非另有说明,否则默认步幅为1。

下图是RefinerNet架构:

而这个是边框的经典化,其中数字表示RefinerNet中角点预测的顺序。

给个结果:

“StarNet: Targeted Computation for Object Detection in Point Clouds”

这是谷歌的工作。提出一个专门为单步和两步法的点云数据混合(blending)的目标检测系统。观察到点云的目标与传统的相机图像截然不同:目标稀疏且位置变化很大,但没有展示出在单个相机视角中观察到的尺度失真。这两个观察现象表明,简单且廉价的数据驱动目标提议可以使空间覆盖最大化,或与观察到的点云数据密度相匹配。这种识别与局部非卷积的基于点网络相结合,允许为点云建立目标探测器,该检测器可以仅训练一次,但适应不同的计算设置 - 针对不同的预测优先级或空间区域。在KITTI检测数据集以及大规模Waymo Open Dataset上,他们展示了这种灵活性和有针对性的检测策略。StarNet如图结构:

如图是StarNet点特征器(point featurizer)。(a)StarNet块将一组点作为输入,其中每个点都有一个相关的特征向量。每个块首先计算点云的聚合统计数据(最大值)。接下来,将全局统计数据连接回每个点特征。最后,应用两个全连接层,每个层由BN、线性投影和ReLU激活组成。(b)StarNet点特征器(point featurizer)堆叠多个StarNet块,并使用平均聚合(mean aggregation)读出每个块输出。读数连接在一起形成点云特征(featurization)。

注意看算法伪代码:

“Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection”

本文介绍了一个赢得自动驾驶研讨会(WAD,CVPR 2019)中nuScenes 3D检测挑战赛的冠军方法。通常,利用稀疏3D卷积来提取丰富的语义特征,然后将其馈送到类平衡(class-balanced)的多头网络执行3D目标检测。为了处理自动驾驶场景中固有的严重类别不平衡问题,设计了一种类平衡的采样和增强策略,以生成更平衡的数据分布。

此外,提出了一个平衡的分组头,以提高具有相似形状的类别性能。如图是其网络架构。3D特征提取器由子流形(submanifold)和常规3D稀疏卷积组成。3D特征提取器的输出具有16×缩减比,其沿着输出轴扁平化并且馈送到随后的区域提议网络(RPN)生成8×特征图,随后是多组头部网络以生成最终预测。注:头部的组数是根据分组规范来设置的。

如下是验证分开的检测结果示例。GT注释为绿色,检测结果为蓝色。每个点云鸟视图图像顶部的标记是其对应的样本数据标记。

“Deep Hough Voting for 3D Object Detection in Point Clouds”

当前的3D目标检测方法受2D检测器的严重影响。为了利用2D检测器的架构,经常将3D点云转换为常规网格(即,到体素网格或鸟瞰图像),或者依赖于2D

图像的检测来提出3D框。很少有人尝试直接检测点云中的目标。

这项工作回到第一个原则来构建点云数据的3D检测流程图,并尽可能通用化。然而,由于数据的稀疏性 - 来自3D空间中的2D流形的样本 - 当从场景点直接预测边框参数时,面临一个主要挑战:3D目标质心可能远离任何表面点,因此难以准确地回归一步到位。

为了应对这一挑战,提出了VoteNet,一种基于深度点集网络和Hough投票(voting)协同工作的端到端3D目标检测网络。VoteNet使用纯粹的几何信息而不依赖于彩色图像。

注意该方法提供了开源代码:github.com/ facebookresearch/votenet。

如下图所示即具有深度Hough投票模型的点云三维目标检测。给定3D场景的点云,VoteNet投票到目标中心,然后分组并聚合投票以预测3D边框和目标的语义类。

下图是VoteNet架构在点云3D对象检测示意图。给定具有XYZ坐标的N个点的输入点云,一个骨干网络(PointNet++层实现)亚采样并且学习点深度特征并输出M个点子集,但被C维度特征扩展。

该点子集被视为种子点。每个种子通过投票模块独立地产生投票。然后,将投票分组为集群(clusters )并由提议模块处理以生成最终提议。分类和非最大抑制(NMS)处理的提议成为最终的3D 边框输出。

下图解释投票如何有助于增加检测上下文信息。生成好的边框(BoxNet)或好的投票(VoteNet)的种子点反过来生成好边框,就叠加在代表性的ScanNet数据场景上(蓝色)。由于投票步骤有效地增加了上下文,VoteNet展示了更密集的场景覆盖面,因此增加了准确检测的可能性。

大家可以看出来,一些激光雷达点云的3D目标检测器和2-D目标检测器有相似之处,也分单步法和两步法,也有区域提议网络(RPN),特征提取的设计上自由度更大,可以在投影(多是鸟瞰视图)图像,也可以在3-D体素空间,甚至直接点云空间,并可能设计2-D投影和3-D之间的转换通道提供某种特征聚合机制。

(*本文为AI科技大本营转载文章,转载联系作者)

精彩推荐

【结果提交倒计时】PV,UV流量预测算法大赛,结果提交截止时间为9月20日,还没有提交的小伙伴抓紧时间了~~9月25日公布初赛成绩。最新排行榜请扫码查看。

推荐阅读

  • 我所理解的零次学习

  • 华为全球最快AI训练集群Atlas 900诞生

  • 还怕电脑被偷吗?我用Python偷偷写一个自动木马程序

  • 用Python进行金融市场文本数据的情感计算

  • 前端也能玩转机器学习?Google Brain 工程师来支招!

  • 华为 | 泰山之巅 鲲鹏展翅 扶摇直上九万里

  • 6大思维模型, 揭秘硅谷高管如何做区块链应用决策

  • 走出腾讯和阿里,大厂员工转型记

你点的每个“在看”,我都认真当成了喜欢“

值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(下)相关推荐

  1. 值得收藏!基于激光雷达数据的深度学习目标检测方法大合集(上)

    作者 | 黄浴 转载自知乎专栏自动驾驶的挑战和发展 [导读]上周,我们在激光雷达,马斯克看不上,却又无可替代?>一文中对自动驾驶中广泛使用的激光雷达进行了简单的科普,今天,这篇文章将各大公司和机 ...

  2. 深度学习目标检测方法汇总

    目标检测简介   目标检测是计算机视觉的一个重要研究方向,是指从一个场景(或图片)中找到感兴趣的目标.任务大致分为三个流程: 从场景中提取候选区 从候选区提取特征 识别候选区的类别并对有效的候选框进行 ...

  3. 【西安交大】2020年最新深度学习目标检测方法综述

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 目标检测的任务是从图像中精确且高效地识别.定位出大量预定义类别的物体实例.随着深度 ...

  4. 深度学习目标检测方法综述

    参考:https://blog.csdn.net/Standing_On_Giant/article/details/60333329 参考:https://blog.csdn.net/xiaohu2 ...

  5. 深度学习目标检测方法

    转自:http://blog.csdn.net/yimingsilence/article/details/53995721 这里搜集了一些关于物体检测的方法分析和介绍,看好哪个可以去详细研究一下,基 ...

  6. 深度学习目标检测工具箱mmdetection,训练自己的数据

    文章目录 一.简介 二.安装教程 1. 使用conda创建Python虚拟环境(可选) 2. 安装PyTorch 1.1 3. 安装Cython ~~4. 安装mmcv~~ 5. 安装mmdetect ...

  7. 动手学深度学习——目标检测 SSD R-CNN Fast R-CNN Faster R-CNN Mask R-CNN

    来源:13.4. 锚框 - 动手学深度学习 2.0.0-beta1 documentation 目标检测:锚框算法原理与实现.SSD.R-CNN_神洛华的博客 目录 目标检测简介 目标检测模型 ​编辑 ...

  8. 基于改进SSD的车辆小目标检测方法

    基于改进SSD的车辆小目标检测方法 人工智能技术与咨询 来源:<应用光学>,作者李小宁等 摘 要:地面车辆目标检测问题中由于目标尺寸较小,目标外观信息较少,且易受背景干扰等的原因,较难精确 ...

  9. 一文入门基于三维数据的深度学习

    本文转载自北京智源人工智能研究院. 这是一篇三维数据深度学习的入门好文,兼顾基础与前沿,值得收藏!为方便大家学习,本文PDF版本和所列出的所有文献提供下载,(2020年7月27日11点后)在我爱计算机 ...

最新文章

  1. Spring @bean冲突解决方案
  2. 解决Android中多次点击启动多个相同界面的问题
  3. tensorflow 卷积、反卷积形式的去噪自编码器
  4. 极简写作语言-Markdown
  5. 用Ajax将checkbox选中的值发送给后台
  6. strak组件(3):URL别名的优化
  7. 查看git当前tag_同学,也该学着用Git了......
  8. LintCode MySQL 1928. 网课上课情况分析 I
  9. SpringBoot基础篇日志管理之默认配置
  10. 详解HTML5中rel属性的prefetch预加载功能使用
  11. 关于python文件打开模式表示错误的是_python文件读取失败了该怎么处理 !
  12. CFS内网渗透三层内网漫游靶场-2019某CTF案例
  13. 华为手机屏幕锁屏时间设置_华为手机自动锁屏时间设置
  14. 如何让自己像打王者荣耀一样疯狂且不知疲倦地学习?
  15. 如何成为深度学习工程师
  16. t00ls.net关闭了
  17. Web开发技术课程设计
  18. 会议怎样召开_是否可以仅使用免费软件来召开会议?
  19. c++ LintCode刷题记录之52. 下一个排列
  20. android 全屏广告,手机端全屏广告展示问题

热门文章

  1. js调用ios的方法
  2. ReactiveCocoa代码实践之-更多思考
  3. Transform-style和Perspective属性
  4. 安装Ecshop首页出现报错:Only variables should be passed by referen
  5. Maven安装中央仓库没有的jar到本地
  6. html5转apicloud,使用APICloud编写优雅的HTML5代码
  7. OpenCV特征检测
  8. 类继承中的构造函数与析构函数
  9. 2018/8/28-29 Some metaheuristics should be simplified
  10. WPF XAML 资源样式模板属性存放位置