仅个人总结
原文下载链接
由深度学习技术提供的自动驾驶系统正成为未来移动出行的中心。自动驾驶的性能高度依赖于预测任务的质量。传感技术的发展引领了3D扫描仪可用性的增长。例如LiDAR,从而可以更精确地表示车辆周围环境实现更安全的系统。自从2010年初以来,围绕自动驾驶系统的研究迅速发展和随之而来的兴起,导致目标检测方法的数量和创新上一个急剧的增长。在第一波基础上试图从图像中的物体检测扩展已知技术的作品之后,最近在更新和更适合LiDAR数据的作品方面有了显著的发展。本文探讨了在自动驾驶范围内使用LiDAR数据进行目标检测的部分文献,并提出了系统的分析方法。不像一般目标检测综述,本文聚焦于具有高纬度和稀疏性的点云数据。本文引入了一种常用的目标检测通道和分类方法,以促使不同技术之间的全面比较并从他们出发,这项工作将批判性的检测数据的表示(对于降低复杂性至关重要),特征提取,最后是物体检测模型。包括不同模型之间的性能比较,与一些未来的研究挑战。
关键词:自动驾驶、计算机视觉、深度学习、3D目标检测
研究界和工业界都将自动驾驶汽车视为减少当前交通死亡人数的重要战略。
由于3D传感技术的迅速发展,被称为LiDAR的代表光探测并包括距离,使用遥感、脉冲、激光方法形成光束的3D传感设备来测量地球范围,变得越来越可用和负担得起。
一些因素使得在点云上的感知任务具有挑战性:①环境的多样性。②目标被遮挡或截断。③由于对象的大小不同,不同类的物体的不同表示,对于相同对象的表示也是如此。④具有不同结构和类的整个驱动领域的性能可靠性。
为了克服一些传感技术的缺点,因为不同传感器在不同程度上反映环境的变化并提供不同的传感优势。所以将不同传感技术进行结合。采用最多的多传感器设置架构是将LiDAR与单目摄像机结合。
LiDAR获取深度信息和超远距离甚至恶劣光照条件下,单目相机提供更丰富的纹理信息。
除了LiDAR扫描仪施加的限制外,应用于点云的深度学习还面临着如下挑战:
① 点云的本质,稀疏、非结构化和高纬度
② 在性能上需求高,自动驾驶车辆经过检测,可以从点云中提取特征,并实时检测和分类物体,通常场景以10Hz扫描,这意味着模型有0.1s的间隔来处理每一帧并可靠且健壮的输出模型的预测。
③ 设置限制,装备在车辆上的处理单元资源有限,表明模型必须通过有效的计算模型确定用于提取局部几何特征的点的关系。
2.1通道架构和分类
提出的通道结构分为以下三块:(1)数据表示(2)特征提取(3)检测网络模型
(1) 中,将点云分成体素、视锥体或2D投影视图、或者只是原始点云
(2) 负责提取不同类型的特征,即来自点云的低维和高维要素,已生成将转发到下一个块的要素图。
(3) 是一个多任务模块,以提供3D目标检测,即目标类别预测,被检测物体周围边界框回归,对象定位确定,有时候推测目标速度。此外,改模块在执行3D目标检测之前,从(2)输出的特征图中实现另一组用于特征提取的图层。
2.2数据表示方式
随着基于CNN的神经网络目标检测方法的流行,点云表示自然需要一个能够有效应用卷及操作的结构
2.2.1基于点
基于点的方法,直接处理输入的点云产生一个稀疏的表示,然后,他们对每个点通过聚集他们的邻居特征提取一个特征点。设计的模型首先从每个点独立地提取低维特征来处理点云,然后通过聚合那些低维特征得到高维特征。
2.2.2基于体素
在3D空间中,一个体素表示一个特定网格体的体积元素。
基于体素的方式,把点云划分成三维笛卡尔坐标系中等间距的3D体素。
然后特征学习可以应用于提取每个体素中一组点的特征。
这种表示导致点云的维数点减小,节省内存资源。
基于体素的表示有助于特征外部网络在计算上更有效率并减少内存需求,因为局部/低维和全局/高维特征视为一组点(这里成为体素)提取的,而不是维每个点单独提取这些特征。
2.2.3基于视锥体
通过2D模型通过图像生成2D的bounding box,再通过frustum(平截头体)的方式去映射成一个3D的候选区域。
2.2.4基于柱体
基于柱体的方法,在从中提取特征之前,将点云组织在垂直列中,成为柱体。
如何把3D特征转化为2D图片呢?
(1)分柱子。把俯视图分成H × W个小方格子,再沿着z轴向上拉就成了柱体。
(2)提特征。每个柱体中的点作为一个集合,采用和voxel一样的方式提取特征,最后采用最大池化为[ T , 1 , C ]
(3)转化为二维。因为T = H × W,所以我们最后可以变化成[ H , W , C ],这是啥,这不就是2D卷积的东西了吗。
2.2.5基于投影
将信息压缩成2D投影,意味着减少表示和处理3D LiDAR数据的高计算消耗。
用2D表示3D数据的集中投影方式:前景图(FV)、范围视图(RV)、鸟瞰图(BEV)
在FV的角度看,数据延Z轴压缩,在RV的情况下,数据以360°全景视图投影,因此数据延X轴压缩。
投影方案的目标是满足自动驾驶固有的实时要求。
作为2D LiDAR数据表示方面最后欢迎的选择,BEV与前平面视图相比具有一些优势:首先,遮挡问题被解决,因为BEV中的对象保持标准空间,不同的对象占据不同的空间域,并且彼此不重叠。其次,目标保留其物理大小,具有很小的方差。
2.3数据特征提取方法
通过一个特征提取器提取的特征类型可以分为:(1)局部(2)全局(3)纹理特征
(1) 局部特征:也指定为低维特征,具有丰富的关于一个点定位信息的详细信息,并通常在模型通道的最早期阶段获得。
(2) 全局特征:也被称为高层特征,对于点和他对应的邻居点云的集合结构进行编码,一个单独的或多于一个网络的组合网络被采用与获取全局上下文信息。
(3) 纹理信息在通道的最后截断能被提取,并且希望在定位和语义信息方面具有丰富的内容,这是提供给模型最终任务的特征类型。
2.3.1逐点特征提取器
逐点分类是指将整个点云视为输入的方法分析和标记每个点。PointNet和PointNet++
2.3.2逐部分特征提取器
由于逐点的方案增加了目标检测的运行时间,已经引入了减少它的替代方案。
逐部分特征提取首先把点云分割成多个体积尺度场景,然后将逐点分类模型应用于相应的段(每个点)以提取体积特征。
分段是指直接应用于点云的特征表示的特征提取器,如体素、柱体或视锥体。(VoxelNet、Second、Voxel-FPN和HVNet)
一个VFE网络把一个体素的点作为输入并使用FCN(由线性层、批量归一层和ReLU层)对点之间交互进行编码,以提取特征并获得特征表示。
元素最大池化用于获取每个体素的局部聚和特征,最后逐点和逐元素特征连接起来,并受到第二个VFE层的影响,以获得体素方面的特征。
当应用于体积点云表示时,分割解决方案往往会提高整个3D目标检测模型的效率和推理时间,因为数据量的减小,此外,从一个包含几个点的段中提取的特征比单个点更具有健壮性。
为了减伤处理时间和体素中点之间的不的不平衡性(从而减少抽样偏差,并为训练增加更多变化),在特征提取之前,当体素中包含的点超过预定义数量的点时,模型进行随机采样。当体素中限制点的数量多于预定义限制点时会形成损失,因此模型的预测行为可能会受到不稳定的影响。当体素中限制点的数量少于预定义限制点时会应用零填充,这增加了所需的计算和记忆资源,从而影响模型的推理时间。
另一个需要平衡的参数是体素大小,因为他会影响特征图的大小,从而影响计算和存储消耗和模型性能。
体素大小的增长导致更小的特征图,以牺牲准确性指标为代价来改进推理时间指标,而较小的体素可以提取更精细的几何特征,这有助于目标定位,但会惩罚推理时间。
2.3.3逐目标特征提取器
以前的方法侧重于直接从点区域的点中提取特征,而无需事先知道该点或区域是否属于对象,而逐目标的方法利用成熟的2D目标检测器来过滤点云并检测图像中的目标的解决方案,然后将2D边界框拉伸到3D目标边界框。减少了处理的点的数量。
2.3.4卷积神经网络
其中Xl是l层的输出特征图,Fl+1是输入Xl的运算,例如卷积,标准化或非线性激活。
Fl+1(Xl,θ)表示输入Xl的残差函数,深层的每个特征图是浅层和残差函数的总和。
SC操作以与常规卷积相同的方式计算活动站点集,但丢弃非活动站点的基态。在更深层次的网络上表现不佳。
改进:首先对输入进行填充,以便输出保持与输入相同的维度,然后当且仅当其在接受字段中的中心站点处于活跃状态时,才会将输出限制为活动状态。
4.基于CNN网络的投票方式
处理空间稀疏性的替代方法,其中指出了以特征为中心的投票方案,以从3D空间中提取特征,同时与标准3D卷积相比减少点的运算的数量。
首先点云被离散化成稀疏的3D网格,然后为每个占用的单元提取一个固定维特征向量,其中包含二进制占用值的平均值和方差以及三个形状因子和反射。
由于不存储空白空间中的单元格,这会导致3D空间的稀疏表示。
为了通过投票来执行稀疏卷积,每个非零向量将一组投票(按滤波器权重加权)投给输出层中的周围单元(由滤波器的接受字段定义)
投票权重是通过沿每个维度对卷积滤波进行旋转而获得的,此操作的结果是落在输出的每个单元格中的投票总和。
5.图卷积网络
被认为是不规则或非欧几里得结构化数据的CNN扩展,这允许点云表示方法的一些局限性。
通过检测相邻节点来学习特征,GCN通过将点定义为节点并指定他们之间的连接(此处指定为边)将点转换为图形。
为了基于每个节点提取特征,GCN应用图卷积操作来聚合来自指定节点邻域的一组节点的特征。
GCN的最新发展使得能够引入一组功能:
(1) 残差跳过连接,从而允许实现更深层次的网络,这有助于层之间的梯度下降。
(2) 动态感受野,其中边缘连接在连接层之间动态更新,从而产生不同的关系。
(3) 膨胀,使感受野增加到最佳大小,通过跳过邻居而不增加模型的参数数量,更好的收集特征信息。
无人驾驶中,LiDAR点云的图表示分为(1)每个提案的图表示(2)每一帧的图表示
前一种解决方案中包括一个提案中几何信息的点用一个图的形式表示,并通过基于GCN的每个提案要素聚合提取上下文要素。
后面一个类别中,帧中所有被预测/检测到的对象都表示在图中,其中每个提案/对象对应于GCN节点,节点之间的边缘被解释。
然后利用这些边缘来提取所有提案的上下文信息,从而完善所有提案。
2.3.5在3D目标检测模型中特征提取范例
由于对象(即点云所谓的前景对象)在比例和纵横比方面有很大的差异,因此实现能够学习分层特征的网络的需求增加。
浅层通常在检测小物体时更健壮,它的特征提供丰富的信息,有较小的感受野从而有更高的分辨率。而深层更适合检测大目标,具有语义丰富的特征层,已知对照明和平移更稳健,具有更大的感受野,但分辨率低。
金字塔解决方案的主要优点是能够检测不同大小的物体,而无需执行点云裁剪。
多尺度特征学习模式可以根据其同道中存在或不存在横向连接进行分类。
图7中引用具有单个路径的特征提取器,可分为:
(1) 感知金字塔,其中预测是在单个特征图上进行的,该特征图是在金字塔结构的最优层上经过基层特征提取得到的。
(2) 多重预测金字塔,其中预测是从多个层(每一层负责一定的尺度)进行的,从而导致大量的总体输出(最终预测是通过合并来自不同特征图的所有检测结果而进行的),这导致计算成本昂贵
(3) 集成功能,也称为深层集成,其中仅对最终特征图执行预测,此方法利用跳过连接的概念将来自浅层的空间丰富特征和来自深层特征的语义丰富的特征组合在一起。
2.4.1检测器网络架构
关于检测器网络架构,解决方案可以分为两类
(1) 双极检测器
使用一个提案生成器产生一个区域提案集合。提案生成器标识一组要进一步分类和定位的区域。因此RPN后面跟着一个多任务头,以对每一个类的区域进行评分,从而阻止哪些区域包含对象,因此被设置为模型的最终输出。
(2) 单级检测器
不会将区域提案与分类边界框回归块分开
它将所有这些过程即成为一组连接层,直接对特征图的每个位置进行目标分类和最终边界框预测,而不需要级联区域分类步骤和边界框细化。
单级检测器通常更省时,因此对实时物体检测具有更大的适用性,而两级检测器往往能够实现更高的模型精度。
2.4.2检测设置
目标定位是使用矩形长方体或分割任务完成的。
边界框级定位:依赖于在提案区域步骤中设置的边界框的预定义大小,然后进一步优化其大小和方向。
分割掩码定位:模型旨在学习将点分类为前景点或者背景点。因此,此模型的结果是按像素蒙版(或作为热点/体素蒙版)分割的目标,而不是不太精确的粗边界框。
2.4.3检测器模型技术
1.Region proposal-based frameworks
R-CNN是第一个在两将诶检测通道中使用区域提案处理检测任务的模型。
他使用成为选择性搜索的低级算法生成感兴趣区域(ROI)以为每个图像生成2K个区域提案。
缺点:
(1) 无法正确处理复杂的上下文信息,因为它依赖于低级视觉线索。
(2) 区域生成是一项非常耗时的任务(提取区域提案大约2s)并且效率低下(大多数区域都是冗余的)
(3) 训练此网络是一项非常耗时的任务,因为每个映像需要对2000个区域进行分类(每个测试映像的模型运行时间超过40s)
(4) 不能采用GPU加速
(5) 训练过程在空间方面也很昂贵,因为从区域提案中提取的特征保存在内存中
Fast R-CNN
他没有将每个区域提案输入到CNN模型,相反,整个输入图像输送到CNN以产生特征图,因此将其设置为选择性搜索算法的输入。
提案的区域将经历特征生成阶段,以获得可能对象的特征,使用ROI池对其进行重塑,以便他们可以馈送到完全连接网络。
此网络包含两层:分类层以预测区域可能属于的类别,回归层以确定边界框偏移值。
使用一个RPN的网络产生区域提案。本模块旨在通过求助于锚点来学习每个特征映射,对象是否存在与其响应位置。
与之前的方案相比,这种方法显著减少了锚点的数量,其中在3D空间中直接应用2D目标检测器的检测模块技术是不切实际的
RPN被广泛的应用于性能最佳框架的目标检测任务,用于 RGB图像或点云中的目标检测。
优点:
(1) 经济高效的解决方案,应为他可以处理具有多个比例的物体,依赖于单个尺度的图像或点云
(2) RPN中所有过滤器都具有相同的大小,因此无需创建图像金字塔或者点云(为每个缩放图像提取特征图)或具有多个比例的过滤器金字塔
(3) 他是平移不变的因为计算区域提案的算法遵循完全卷积网络,这确保了这一属性
(4) 如之前总结由于锚点的数量减少了,因此采用这种技术来检测点云中的对象的解决方案会减少模型的大小和推理时间。
2.基于滑动窗口
滑动窗口的方法在计算机视觉物体检测的发展中被广泛的应用。
但是这种方法很少应用于点云中的目标检测
3D的窗口搜索是一项非常详尽的任务(因为需要大量的候选窗口—其中很多都是冗余的),导致极其繁重的计算,因此,非常耗时。
2.4.4无锚点检测器
无锚点检测器本质上是遵循掩摸级检测设置的解决方案。
该解决方案是为RGB图像上的目标检测而开发的,他以多尺度方式输出目标或对象部分的多个掩码,然后通过简单的边界框推理生成提案,也称为逐提案。
前面的解决方案中发现目标之间存在重叠。
为了克服区域提案框架的缺点,Hot-SpotNet引入了一个名为HotSpot-as-Object的检测编码器,他将体素网格化的特征图作为输入,并将点云中的任何对象截石位一组体素样本,形成热点提案。
PointRCNN引入了一种成为自下而上的3D提案生成的检测编码器,表明无锚点解决方案也可以遵循类似于区域提案的方案,即执行分割任务以生成区域,以便通过ROI池进一步细化。
PointRGCN实现了一个与PointRCNN非常相似的模型,但盒子细化被基于GCN的方案取代。
Point A2受到PointRCNN的启发,利用基于体素的特征学习方法,比基于点的学习模型具有更好的召回率,受SECOND骨干网络启发通过一个3DVoxelCNN骨干网络代替PointNet++骨干网络。
2.4.5混合检测器
引入了一个双阶段模型,通过称为提案生成模块的自上而下的提案生成网络获得区域提案
2.4.6Prediction refinement network(RPN)预测优化网络
由于单级网络通常提供较低的精度和更好的推理时间,一些研究工作在其末尾添加了一个预测细化网络,以克服这一局限。
然而,连续的卷积核缩减采样阻碍了最初存在于点云中的精确定位信号,而这正是确保最佳对象定位的基础。
细化过程可以描述为一个四重过程:
(1) 随机选择ROI的内部点,并将坐标转换为规范坐标,以确保平移和旋转不变性以及适当的局部空间特征学习。
(2) 可以包括其他信息,例如PointRCNN,PointRGCN和Part A2Net还包括点到传感器的距离,以及一些额外的特征(激光再切强度和点分割掩摸)和局部特征点的过饭坐标,以改善局部特征学习。
(3) 局部和全局特征被串联并馈送到上下文特征网络
(4) 最后全局特征和ROI的局部特征被连接起来。
总而言之,细化子网旨在以较低的信息丢失来捕获每个上下文信息,这可以通过结合局部和全局要素的优势来实现。
2.5目标检测模型的开发方法
2.5.2学习策略
1.数据增强
讨论在训练阶段进行数据增强的策略,通用于获得更平衡的数据集,这有助于提高目标检测性能并防止过度拟合。
数据增强可以按照两种策略应用,
(1) On-the-fly增强训练数据,其中数据不需要保存到磁盘上
(2) 或将车辆类别的地面实况框中的点从外部点云提取到另一个点云
2.不平衡采样
在训练一个检测器时,通常会提出大量ROI以生成最终的边框预测,但是,大多数ROI只是背景图像(负样本)。在两级检测器中,许多阴性样本被过滤掉并使用级联分类器进行还原。另一方面,单级检测器不包括滤波器策略,也不提供级联分类器,这会在前景(正)和背景(负)样本之间引入高度不平衡。
因此,在训练期间,主导梯度的背景样本将更容易分类,而对象将更难分类。
3.精确定位
2018年之后解决的目标检测模型专注于显著提高检测效率,有时候会牺牲推理时间。
对象定位的不良结果—边界框回归和方向中的残差误差是模型深度的结果。因为应用了几个层来提取特征,这削弱了几何结构定位。
因此,一些解决方案选择将每个内部点的坐标与上一个阶段的全局特征融合起来。
2.5.3评估标准
目标检测指标(特别是应用于自动驾驶中的)
检测指标
为了确定检测过程的质量,引入了
TP(True Positives):正样例,属于基本属实的预测对象
TN(True Negatives):正负例,描述缺乏对不存在的物体的检测
FP(False Positives):假正例,指对基本真理中不存在的物体的检测
FN(False Negatives):假负例,模型为检测到基本实况中存在的对象的情况
精度Precision=TP/(TP+FP)
召回率Recall=TP/(TP+FN)
定位指标
例如IOU
Nuscenes基准采用了三个不同的指标:平均转换误差(ATE),平均尺度误差(ASE),平均方向误差(AOE)
分类指标
平均精度(mAP)使用精度-召回率曲线获得的
推理时间指标
考虑模型完成检测任务所需的时间的一个指标,通常用ms或者Hz单位
2.6目标检测模型比较
2.6.1基于融合的解决方案
相机提供密集的像素信息和比LiDAR多一个数量级的测量值,但没有提供深度信息,这使得从长距离2D图像进行3D预测的任务变得非常具有挑战性。
基于融合的模型通过LiDAR传感器提供的丰富深度物体形成来补充来自相机的信息。
根据所执行的数据融合类型讲这些研究项目分为三类:
(1) 决策级融合:涉及通常执行独立检测的模型,然后将两个输入组合在一起以生成一组出色的输出去切除。
(2) 特征层融合:将LiDAR数据投影到2D空间中然后用一个特征提取器处理RGB图像和LidAR投影输入。之后,他们将这两个功能组合在一起,以补充方案的表示形式
(3) 决策特征级融合:其中图像检测器用于分割3D搜索空间并从LiDAR点云创建检测,该方法结合使用LiDAR数据和图像检测,一提供丰富的3D检测
2.6.2基于LiDAR的解决方案
3.1稀疏数据提取特征
LiDARD点云本质上是稀疏的,虽然自动驾驶追求快速的方法,但使用标准卷积方法处理这种稀疏性已被证明在计算效率上最低效。
最近的主干网络利用了子流形和空间稀疏卷积的优势
GCN的最新发展代表了一条新的探索之路
投票的基于CNN的解决方案并没有得到研究界的太多关注,尽管他在计算上比传统的卷积解决方案更有效。
新的卷积方法—深度分离卷积核,为了加快卷积操作的速度并帮助满足实时的目的,同时还有助于在低计算边缘设备中集成模型。
基于自注意力机制的模型,将成熟的基于ConvNet的主干网络与注意力机制结合。
3.2数据表示
目前为止,数据表示方式是处理数据以加快整个过程的方式,要么将其“压缩”成2D,要么考虑跟粗糙的表示(例如体素,柱体),数据表示尚未得到充分探索。
3.3关于遮挡和截断
基于融合的解决方案具有利用RGB数据来检测此类条件下的目标的优势,但是,在基于LiDAR的解决方案中,解决此问题的研究很少。
如HotSpotNet实现了一个网络,称为基于本部分的模型,旨在学习确定一个区域(称为热点)是否是对象的一部分。因此,及时对象的大部分被遮挡或者部分截断,一些热点仍然能够指示对象的存在并有助于3D几何信息。
但是大多数项目都遵循边界框界别检测设置。
3.4模型训练
监督学习的一个特点是需要大量带有注释的数据,对于计算机视觉,尤其是激光雷达点云,这些数据不容易获得。
此外,拥有涵盖所有相关场景的庞大数据集是实现安全关键操作(例如自动驾驶)所隐含的准确性的关键。
现有的公开数据集,没有提供足够多的真是世界边缘场景实例,目前的模型缺乏在具有挑战性的条件下的测试。
数据增强可有助于克服这个问题,以及使用迁移学习,但此路径尚未适应并应用于有点晕组成的数据集。
主动学习是一种强大的技术,用于通过允许机器学习算法选择从中学习的数据来提高数据效率。
3.5多模态感知的演变
LiDAR测量的语义信息比RGB相机少,数据本质上是稀疏的,传感器范围限制在50-100m之间,相比之下,RGB传感器提供了更大范围,还提供了更丰富的语义信息,在图像平面上具有更好的定位。
因此,多模态设置是互补的,而且提供冗余解决方案来克服故障并处理不利条件和盲点施加的限制。
多模态解决方案带来了与所用多个传感器的校准和同步相关的挑战。
3.6运动信息集成的可能性
整合运动(和跟踪)信息,可以进一步加速模型并增强其鲁棒性和准确性,尤其是针对由于截断和遮挡引起的问题
3.7模型的透明度和可解释性
深度学习方法进行目标检测阻碍了对底层模型和相应的内部决策序列的充分解释。深度学习模型被视为黑盒方法。