APP下载

基于深度学习的道路车辆目标检测方法研究

2022-04-21贾淑滟

九江学院学报(自然科学版) 2022年1期
关键词:锚点集上特征提取

贾淑滟

(山西旅游职业学院 山西太原 030031)

随着计算机视觉和深度学习的迅速发展,道路车辆检测技术逐渐成为自动驾驶系统和智能交通系统的重要组成部分。它要求检测器快速实时检测车辆,以检测交通监控中的异常情况,如交通拥堵、违章停车等[1]。基于运动的模型包括背景差分、光流和帧减法。背景差分网络是基于高斯混合模型[2]通过区分前景和背景来检测车辆。而在光流方法中,特征向量的像素由模型进行定位,然后对这些向量像素进行跟踪。显然这很耗时,存在复杂性问题[3],无法大量应用。而帧相减技术是通过计算两个或多个帧之间的差分来检测运动中的车辆,但这仍不适合用于检测快速的运动。基于特征的模型有梯度方向直方图、Haar特征和SURF特征等。梯度方向直方图特征具有丰富的描述性,根据梯度对像素进行分组。使用Haar特征可以指出感兴趣的区域[4]。SURF为尺度不变特征变换的描述符,在目标标记、车辆零件识别和物体识别方面非常有效[5]。早期的基于可变形部件的模型[6]在使用HOG特征和分类器进行检测时表现更好。卷积神经网络方法,如R-CNN,使用选择性搜索来生成建议区域[7]。而后深度学习取得了一些进展,出现了Fast-RCNN和Faster-RCNN,实现了最先进的结果[8-10]。Mask-RCNN是Faster-RCNN的进一步扩展,旨在解决定位像素级别目标实例分割的问题,但检测率低[11]。对检测到的目标进行跟踪对于分析和预测车辆的运动至关重要。跟踪器主要分为基于CNN和基于RNN[12]。基于CNN的跟踪器由于其卓越的特征提取能力和分类技术而在跟踪方面表现出色。此外,现有的工作主要集中在检测通用物体,而不是车辆。因此,车辆检测是一个特例,如果将物体检测网络直接用于检测车辆,显然会存在许多问题。车辆检测需要低级别的特征图和小纵横比的图像,并且要求足够快地进行高精度的实时预测。当具备了设计车辆检测网络的所有必要细节后,如何合适的基础网络作为构建该车辆检测器网络模型也尤为重要。文章基于YOLOV3-tiny网络结构,对其特征提取部分进行改进,以提升其在车辆检测上的速度和精度。具体来说,将空间金字塔结构和不同规模的聚集层应用在现有网络中,用于连接不同层(感受野)之间的语义特征,并使用回归损失和广义交并比损失来增强模型的特征学习和车辆检测能力。

1方法介绍

YOLOv3-tiny网络是YOLOv3物体检测网络的微型版本。这些网络在MS COCO数据集上进行训练,取得了较好的效果。文章在YOLOv3-tiny的基础上,新增了了空间特征金字塔池化层[17]和广义交并比损失(Intersection over Union,IoU)[18]作为回归任务的监督信号,也用作最终的评测指标。K-means++算法用于为预测目标选择合适的边界框。文章针对道路车辆检测任务进行而设计,因此仅使用车辆相关的类别数据进行训练。图1展示了文章方法的网络结构示意图。

图1 框架结构示意图

1.1网络结构

YOLO网络最早是由Redmon等人提出的[16],它在一个流程中处理图像以快速检测出目标物体。为了实现这一目的,建立一个良好的特征提取网络是非常重要的。如果网络提取更多丰富的特征,那么就有更大概率能够准确地检测对象。YOLO使用GoogleNet[19]作为特征提取网络。YOLOv2和YOLOv3则分别使用Darknet19和Darknet53作为特征提取网络[15,16]。YOLOv3-tiny网络虽然速度很快,但检测结果不够准确。因此,需要进行一些改进来构建一个强大的车辆检测网络,具体网络结构如表1所示。

表1 网络结构细节

1.2特征提取层

最初的YoLoV3-tiny网络有10个卷积层和6个最大池层作为特征提取器。有关网络的详细信息参考[16]。虽然该网络在目标检测方面表现较好,但其处理速度和计算复杂度较高。对于车辆检测模型,应当对其进行进一步的简化,以构建可靠的车辆检测器。

文章方法主要由13个卷积层组成,它们之间通过跳层连接来实现特征聚合用作特征提取。同时移除了YOLOv3-tiny中卷积层后的最大池化层,然后在特征提取层之后并入空间金字塔池化网络。该网络旨在提取丰富的特征进行检测,同时该过程不会很慢,空间金字塔结构实现了计算复杂性的最小化。它在一次前向过程中从整个图像输入到输出特征图。当使用空间金字塔时,卷积层的特征不会被反复处理,因此网络速度大大提高。

1.3锚点框聚类

YOLOv3-tiny使用k-means聚类来选择锚框。k-means是一种基于距离的聚类算法,它根据目标对象的属性对其进行聚类,被很多网络模型广泛使用。聚类的每个簇由簇的中心和这些簇的质心的交点来定义。它是通过为每个目标预测最接近聚类的种子点并计算种子点作为聚类的当前平均点的质心来进行初始化。但该算法存在很多缺点,例如k个数的簇必须提前指定,在有噪声的图像中表现不够鲁棒。因此,锚是从k-means++算法计算的,比k-means算法好。在k-means++中,质心是随机初始化的,然后计算初始数据点与所有其他数据点之间的距离,然后一个接一个地选择所有其他数据点,并像初始步骤一样计算它们之间的距离。

11-means++算法用于PASCAL VOC和MS COCO数据集,以计算具有6个簇的锚点框。对于尺寸为640×640的输入图像,六个锚点框分别为(25×25),(60×60),(120×120),(320×160),(280×340),(520×460)。前三个锚点用于检测最终YOLO层上的小型车辆,后三个锚点用于检测第一个YOLO检测层上的大型车辆。

1.4检测网络

文章点预测过程是由YOLO检测网络负责的。该网络由几个卷积层组成,上采样因子为2。使用由k-means++算法定义的锚点框来预测车辆的边界框。在YOLO层中,会分别进行边界框、分数、锚点框坐标和类别的预测。对于每个边界框,网络预测四个坐标值。YOLO层之前的卷积层的核大小通过1×1来计算[Bbox×(5 +类数)]。Bbox是锚点框数量(为3),分别预测4个边界框偏移量和1个分数。这里使用的类别数,在PASCAL VOC中是2,分别是汽车和公共汽车,在MS COCO是3,分别是汽车、公共汽车和卡车。所以预测层的核大小分别是1×1×21和1×1×24,接着对特征图进行上采样。利用空间金字塔提取细粒度特征,然后利用最终的特征图通过YOLO层预测出车辆的位置。

1.5包围框回归损失函数

网络中使用的损失函数有广义IoU和均方误差损失。包围框回归是车辆检测中的一项重要任务,车辆检测和定位通常依赖于精确的包围框回归。IoU损失函数是目标检测算法中常用的手段,但是它对于非重叠的目标存在问题,另一个用于包围框回归的GIoU则解决了这个问题。因此,在训练过程中使用了GIoU作为边界回归损失。

(1)

(2)

(3)

对于不重叠的锚点框,IoU损失的梯度为零,而GIoU在所有目标中都能形成梯度。在大多数网络中,均方误差损失函数通常用于回归。均方误差是真实物体标注和预测目标值之间的平方距离之和:

(4)

2实验

2.1数据集

该工作中使用的数据集为PASCAL VOC 2007、PASCAL VOC2012、MS COCO 2014[11-12]。PASCAL VOC总共包含20个不同的类,而MS COCO有80个类,这些数据集通常用于目标检测模型。文章在训练过程中仅使用了PASCAL VOC中汽车、公共汽车等类别和MS COCO中汽车、公共汽车、卡车等类别组合的数据集。最终,车辆检测的组合数据集包含总共27 983个训练图像和10 497个验证图像。表2为文章使用的数据集情况。

表2 训练和验证图片数据集

对模型的评价指标主要有:0.5阈值下的平均精度均值(mean average precision,MAP),输入大小、平均运算速度和基于浮点运算的推理时间等指标,表3列出了实验平台的配置。

表3 实验平台设置

2.2模型训练与实验结果分析

文章训练过程是通过不同的方法在三个不同的数据集上进行的。在第一种训练方法中,使用SGD在PASCAL VOC 2007、2012数据集上训练网络。从数据集中移除不需要的类,然后使用基于车辆的类汽车和公共汽车。网络的输入大小为416×416,批大小分别为64和8。数据集中的训练图像总数为16,551,验证图像集为4952。动量为0.9,学习率为0.001,权重衰减为0.0005。网络处理的迭代次数接近10万次。YOLO检测层上使用了均方误差损失,缩放和0.50的IOU阈值等超参。多尺度训练用于训练不同大小的图像,而不考虑原始大小。如表4所示,这种训练方法获得76.74%的mAP,比YOLOv2-tiny和YOLOv3-tiny高。该网络对于177 FPS也达到了5ms左右的推理时间。

表4 不同方法在PASCAL VOC2007、2012数据集上的性能表现

在第二个训练模型中,使用了MS COCO 2017数据集,其中包含汽车、公共汽车和卡车类别。输入大小和使用的所有其他参数和函数与之前的训练方法相同。表5总结了五种模型的比较结果。这五个模型都是在相同配置设置下训练出来的。实验结果表明,所提方法在平均测试时间上取得了更好的结果。它还实现了53.75%的mAP,这比现有的网络模型更好,如表5所示。与YOLOv3-tiny相比,文章方法的检测准确率提高了7.63%。

表5 不同方法在MS COCO 2014数据集上的性能对比上的表现

在最后一种训练方法中,将PASCAL VOC和MS COCO数据集进行合并。总共有27983幅训练图像是从汽车、公共汽车和卡车三个不同的类别中选取的。该网络以416×416和640×640的输入规模进行训练。在416 × 416模型中,批量为64,小批量为8,学习率为0.001,权值衰减为0.0005。训练网络时分别使用MSE损失和GIoU损失函数。在640×640尺寸中,批量增加到90,小批量增加到32。然后遵循上一次训练网络的所有其他默认设置,并使用GIoU loss。网络处理的迭代为10~15万次。该网络在YOLO检测层中使用的超参有GIoU损失、边界框的比例因子为1.05、IoU阈值为0.23、IoU归一化和类归一化。

为了优化网络,所有卷积层上的批量归一化保持不变,这也被证明在改进mAP方面是有效的[13]。文章方法在640尺寸下实现了47.41%的mAP,如表6所示。与PASCAL VOC和MS COCO数据集相比,在合并数据集上获得的mAP更低。

表6 在PASCAL VOC 2007, 2012 和MS COCO 2014合并数据集

用PASCAL VOC 2017、2012数据集训练的输入尺寸为416 × 416的网络预测结果如图2所示。可见文章方法能够快速检测远程小尺寸的噪声车辆。在表5为用MS COCO 2014数据集训练的输入尺寸为416的模型预测结果,表明该网络能够准确预测多辆重叠的车辆。而且文章方法比最初的YOLOv3-tiny网络更加简单。

图2 在PASCAL VOC 2007、2012数据集上训练后的检测结果

相比而言,YOLOv3-tiny在近距离定位的基础上产生了很多误差。它也很难探测到远距离的车辆。因此,文章主要致力于改善这些问题。在PASCAL VOC数据集上,所提方法在小型车辆上产生一些误检。在MS COCO中,误检主要出现在中型和大型车辆上,并且还会出现背景误检。这些误检大多在合并两个数据集时得到纠正,但与MS COCO相比,总体来看mAP下降了。文章的网络结构也进行了一系列改进,采用性能更好的残差连接取代了最大池化层,空间金字塔模块、均方误差损失、GIoU损失、批量归一化和非最大抑制等手段也都被用于优化网络。在评估用PASCAL VOC、MS COCO和组合数据集训练的这些模型时,在MS COCO数据集上训练的网络在准确性方面更好,但是组合数据集上性能更高。

总的来说,现有许多目标检测网络并不完全集中在车辆上。文章从数据集中删除了车辆类别之外的其他类别。汽车、公共汽车和卡车等车辆类别用于训练该网络。因此,该方法的训练速度和基于车辆特征的学习都很好。许多基于YOLO的目标检测网络具有高计算成本,并且由于其复杂性,其训练速度也很慢。在YOLOv3-tiny中, 特征提取卷积层通过最大池化分离,文章通过移除那些最大池化层并添加空间金字塔池来提高网络的性能。

图3显示了一些错误预测的结果,还错误地将一辆油罐车标注为公共汽车。加油机的前端有公共汽车的特征,但加油机的背面没有参与训练。PASCAL和MS COCO数据集不包含加油机的图像,因此网络无法正确检测到它。帧中漏检的车辆是由于数据集中的图像较少。为了提高网络的检测精度,在训练过程中需要更多的车载图像来丰富数据集。

图3 错误检测结果

3结语

文章提出了一种高效车辆检测算法,由改进的特征提取层、空间金字塔池和GIoU损失函数组成。K-means++聚类算法用于初始化锚点框。该网络在PASCAL VOC 2007、2012和MS COCO数据集上的mAP分别达到76.74%和53.75%。实验结果表明,该网络速度很快,能够以高精度从交通CCTV摄像机采集的视频中实时检测车辆。

猜你喜欢

锚点集上特征提取
艺术史研究的锚点与视角
——《艺术史导论》评介
关于短文本匹配的泛化性和迁移性的研究分析
5G手机无法在室分NSA站点驻留案例分析
5G NSA锚点的选择策略
基于互信息的多级特征选择算法
5G NSA组网下锚点站的选择策略优化
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
基于Daubechies(dbN)的飞行器音频特征提取