浅析无人驾驶中多尺度车辆行人检测算法
无人驾驶汽车在复杂多变的交通场景中能提前且准确检测到车辆行人的动态信息尤为重要。然而,无人驾驶场景下存在相机快速运动、尺度变化大、目标遮挡和光照变化等问题。为了应对这些挑战,本文提出了一种基于注意力机制的多尺度目标检测算法。基于YOLOv3网络,首先,使用空间金字塔池化模块对多尺度局部区域特征进行融合和拼接,使网络能够更全面地学习目标特征;其次,利用空间金字塔缩短通道间的信息融合,构造了YOLOv3- SPP+ -PAN网络;最后,基于注意力机制设计了更高效的目标检测器SE-YOLOv3- SPP+ -PAN。实验结果表明:相比于YOLOv3网络,提出的SE-YOLOv3- SPP+ -PAN网络的平均精度均值提升了2.2,且推理速度仍然保持智能驾驶平台下实时的要求。实验证明了所提出的SE-YOLOv3- SPP+ -PAN网络比YOLOv3更加高效、准确,因此更适合于实际智能驾驶场景下的目标检测任务。
随着城市的发展和汽车数量的快速增长,交通场景越来越多样,行车环境也越来越复杂,这带来了一系列交通拥堵以及道路行车安全问题,无人驾驶和深度学习发展为解决这些问题提供了新的思路。通过摄像头检测车辆和行人的位置,无人驾驶系统可以根据这些信息控制行车速度并且提前做出预判,能有效减少事故发生的几率。因此,能够高效准确检测出道路场景信息尤为重要。由于开放部署环境的多样性,对智能驾驶平台上的场景自动分析提出了更高的要求,给目标检测算法带来了许多新的挑战。这些挑战主要包括:如何处理智能驾驶场景中物体视觉外观的各种变化。如光照、视野、小尺寸和尺度变化。基于传统机器学习和手工特征的目标检测方法在处理这些变化时容易失败。解决这些挑战的一种有竞争力的方法是基于深度学习技术的对象检测器,近年来得到了广泛的应用。随着深度学习的发展,多种基于深度学习的目标检测方法被提出。目前广泛使用的基于深度学习的目标检测方法可分为两类。第一类是两阶段目标检测方法,如FastR-CNN、FasterR-CNN等。第二类是一级目标检测算法,如SSD,YOLO,YOLO9000,YOLOv3不需要先生成候选目标,这些方法直接通过网络预测目标的位置和类别。因此,一级目标检测方法具有更快的检测速度。具体来说,YOLO深度学习目标检测器在实际应用中被广泛使用。因为其在检测精度和速度两方面具有较好的平衡性。尽管如此,其网络精度仍存在很大的改进空间以提高实际问题中目标检测的准确率。这也成为了我们迫切需要解决的问题。本文提出了基于注意力机制的多尺度车辆及行人检测算法,具体来说,本文的主要贡献如下:(1)为了更全面地学习多尺度目标特征,提出了一种改进的空间金字塔池化方法,在同一卷积层中收集并拼接不同尺度的局部区域特征。(2)进一步加强特征金字塔的结构,缩短了高低层特征融合的路径,构造了YOLOv3- SPP+ -PAN网络。(3)基于注意力机制构建了更高效的目标检测器SE-YOLOv3- SPP+ -PAN。YOLOv3在目标检测精度上对YOLO进行了改进。首先,YOLOv3采用骨干网络Darknet-53作为特征提取器。其次,YOLOv3遵循特征金字塔网络的思想,在三种不同的尺度上预测边界盒。在三个不同尺度的特征图上分别建立三个检测头,负责检测不同尺度的目标。检测头中的每个网格被分配了三个不同的锚,从而预测由4个边界框偏移、1个目标和C个类别预测组成的三个检测。检测头的最终结果张量为N×N×(3×(4+1+C)),其中N×N表示最后卷积特征图的空间大小。本文以YOLOv3为基础网络,针对无人驾驶实际场景中目标检测所面临的问题,对网络进行改进优化。为了应对无人驾驶场景中尺度变化大问题。在此,本文通过融合不同尺度特征图和不同感受野的信息的方法,提高多尺度检测的准确性。何凯明等人提出了空间金字塔池化(Spatial Pyr⁃amid Pooling,SPP)方法。将任意大小的特征映射集合到固定大小的特征向量中,CNN(卷积神经网络)不仅不需要固定输入图像的大小,而且通过融合多尺度特征,对多尺度目标的检测具有很强的鲁棒性。然而,此方法并没有充分利用同一卷积层不同尺度上的局部区域特征,仍然难以准确地检测出具有丰富局部区域特征的小目标。YOLOv3的多尺度预测侧重于将多尺度卷积层的全局特征串联起来,但其忽略了同一卷积层上多尺度局部特征的融合。因此,本文的设计中,将SPP模块引入到YOLOv3中,对多尺度局部区域特征进行池化合并,然后将全局和局部多尺度特征结合起来提高目标检测的精度。为了进一步丰富深度特征,本文将改进的空间金字塔池模块称为SPP+模块,如图1所示。改进的SPP+模块由4个大小分别为5×5,7×7,9×9和13×13的并行最大池化层组成。针对无人驾驶场景车辆及行人检测实验,我们在YO⁃LOv3第一个检测头前的第5和第6卷积层之间集成了一个改进的SPP+模块,以形成YOLOv3- SPP+ 检测网络。改进的SPP模块能够提取具有不同感受野的多尺度深度特征,并通过在特征映射的通道维度上拼接来融合。在同一层中获得的多尺度特征有望进一步提高YOLOv3的检测精度,且计算量小。在上一节已有YOLOv3- SPP+ 网络基础上,为了缩短网络通道间的信息融合,提高智能驾驶场景车辆行人小目标检测,进一步优化网络。对于卷积神经网络而言,不同深度对应着不同层次的语义特征,浅层网络分辨率高,学习更多细节特征;深层网络分辨率低,学习更多语义特征,丢失了位置信息,导致小目标检测性能下降。特征金字塔网络(Feature Pyramid Net⁃works,FPN)提出不同分辨率特征融合的方式,即每个分辨率的特征图和上采样的低分辨率特征相加,使得不同层次的特征增强。FPN结构如图2所示。FPN的高层级特征与低层级别特征之间路径较长(如图3(a)所示红色虚线所示),增加了访问准确定位信息的难度。为了缩短信息路径和用低层级的准确定位信息增强特征金字塔,PAN(Path Aggregation Network)在FPN基础上创建了自下而上的路径增强(如图3(b)所示)。这种路径增强方式用于缩短信息路径,利用低层特征中存储的精确定位信号,提升特征金字塔架构。具体来说,对于FPN结构,输入图像到得到输出P6特征需要经过较长信息流动(如图3(a)红色虚线所示),其中有Darknet-53很多卷积层。而对于FPN结构,可直接由P4复制得到N4特征,N4特征仅仅需要经过几个降维卷积(如图3(a)绿色虚线所示)得到P6特征。PAN结构如图3所示。