基于改进YOLOv3-tiny的轻量级车辆检测网络

2021-10-21 08:16:14李孝疆黎敬涛
电视技术 2021年8期
关键词:网络结构边界损失

李孝疆,黎敬涛,邱 润

(昆明理工大学 信息工程与自动化学院,云南 昆明 650500)

0 引 言

随着经济的快速发展,我国城市的机动车辆不断增加,带来了严重的交通堵塞问题。为了缓解交通阻塞,提高交通运输效率,智能交通系统应运而生。智能交通监控是智能交通系统的一个重要组成部分,其首要任务是准确地检测车辆[1]。车辆检测技术是大多数交通应用如道路实时监控、智能交通控制及无人驾驶等的关键技术[2]。因此,实时的车辆检测和类别识别,是智能交通监控急需解决的一个问题。

1 相关研究

车辆检测主要依靠目标检测算法。目标检测算法分为双阶段和单阶段两种方法。

在双阶段的方法中,具有代表性的网络有基于区域的卷积神经网络(Region-based Convolutional Neural Networks,R-CNN)[3]、Fast R-CNN[4]、Faster R-CNN[5]和SPP-net[6]。这类网络在预测方面有很高的准确性,但由于网络在候选框的选取上耗费了大量的时间,因此检测速度往往不能满足实时性的需求。

在单阶段方法中,具有代表性的网络有YOLO系列算法[7]。这类算法直接通过卷积神经网络预测目标的位置和类别,摒弃了候选框的选取,因此在牺牲一定准确率的条件下,很大程度地提高了物体检测速率。

对于车辆检测来说,检测网络要尽可能地简单,模型必须容易部署,因此模型参数要尽可能地小。但不论是R-CNN系列的网络还是YOLO系列的网络,模型都很大,不利于模型的部署。除此之外,现有的目标检测主要集中在物体检测而不是更具体的车辆检测,如果将物体检测网络直接用于车辆检测,检测效果将会大打折扣。车辆检测需要低级别的特征图,而且要有足够快的速度来实时预测,同时需要较高的准确性。因此本文的主要目的是改进YOLOv3-tiny的网络结构,设计一个实时的轻量级的车辆检测网络。

2 研究内容

2.1 YOLOv3-tiny网络结构

YOLOv3-tiny网络是YOLOv3[8]物体检测网络的一个微型版本,网络检测速度很快,但检测精度不高。该网络的特征提取层由10个卷积层和6个最大池层构成,检测层由卷积层和上采样层构成。YOLOv3-tiny网络结构如图1所示。

图1 YOLOv3-tiny网络结构图

2.2 YOLO-s网络结构

2.2.1 网络结构的改进

拟定的系统由一个改进的YOLOv3-tiny网络组成,称为YOLO-s网络。YOLO-s网络结构如图2所示。YOLO-s的特征提取层由5个残差块构成,并且使用了mish激活函数,该函数是一个平滑的曲线,因此可以很好地使特征信息深入神经网络,从而使模型拥有更好的准确性和泛化性。利用卷积层代替YOLOv3-tiny中的最大池化下采样层,在特征提取层的末尾加入SPP网络。SPP网络可以在不同尺寸上提取车辆特征,一次性形成特征图,因此一定程度上减少了网络的计算复杂度,加快了网络检测速度。

图2 YOLO-s网络结构图

输出层对预测结果进行处理,并生成一系列的锚框。在锚框的聚类生成方面,为了减少k-means算法中初始聚类中心的选择对聚类结果的影响,本文使用了k-means++算法。利用k-means++算法对数据集选取了6个聚类中心,因此有6个簇的锚框。当输入图片的尺寸为416×416时,聚类出来的 锚 框 尺 寸 为(16×23)、(38×40)、(87×73)、(113×161)、(254×197)、(312×304)。前3个锚点是为了在输出层2检测较小的车辆,而后3个锚点则用于输出层1检测较大尺寸的车辆。

2.2.2 损失的计算

YOLOv3的定位损失使用的是均方误差(Mean Square Error,MSE)损失,交并比(Intersection over Union,IoU)损失与MSE损失相比,IoU损失可以很好地反映预测框和真实框的重合程度。由于重合程度与矩形框的尺度是无关的,因此IoU损失具有尺度不变性。IoU损失计算公式如式(1)所示。预测边界框与真实边界框的位置关系图如图3(a)所示。其中,G表示真实边界框,B表示预测边界框。

图3 预测边界框与真实边界框的位置关系图

但是IoU损失也有着明显的缺点。当预测边界框和真实边界框不相交时,交并比为0,此时就会出现梯度消失的现象,网络将无法进行权重更新。针对此问题,文献[9]提出了泛化交并比(Generalized Intersection over Union,GIoU)损失。GIoU不仅关注重叠区域,还关注其他的非重合区域,因此能更好地反映预测框和真实框的重合程度,GIOU损失计算公式如式(2)所示。预测边界框与真实边界框的位置关系图如图3(b)所示。其中,C表示可以将预测边界框和真实边界框框住的最小矩形框。

但是GIoU损失也存在一定的缺点。当预测目标边界框和真实目标边界框有着相同的高和宽并处于水平位置时,GIoU损失就会退化成IoU损失,且IoU损失和GIoU损失有着收敛慢、回归不准确的问题。因此本文使用了距离交并比(Distance Intersection over Union,DIoU)损失函数[10]。DIoU损失函数能够直接最小化两个边界框之间的距离,同时考虑了边界框的重叠率和尺度,因此收敛速度更快,目标框回归更加稳定。DIOU损失计算公式如式(3)示。预测边界框与真实边界框的位置关系图如图3(c)所示。其中d表示两边界框中心点之间的欧式距离,s表示C矩形框两对角之间的欧式距离。

3 实验结果与分析

本文使用UA-DETRAC作为车辆检测的数据集[11]。为了减少模型训练时间,同时保证模型训练效果,本文选取了UA-DETRAC数据集中20 000张图片,同时从网上选取了1 000张道路监控图片,并对其进行手工标注,制作了补充数据集。数据集共有21 000张图片,按照8∶2的比例分为训练集和测试集。数据集包含4个类别的车辆数据,分别为car、van、bus、others。本文实验环境配置为:CPU为Intel i5-10500,主频3.1 GHz,内存为16 GB,GPU 为GeForce RTX 3060,显存大小为 12 GB,操作系统为Windows 10。

在车辆检测中,图片边缘的车辆目标往往比较小,因此较难检测到。为了提高训练的效果,本文使用了马赛克数据增强的方法将4张图片按照一定的比例拼接组合成一张图片。该方法可以有效解决小目标车辆难以检测的问题。在训练阶段,初始学习率设为0.001,借助余弦函数的特性来调整学习率;在迭代优化的中期,学习率减小、速度加快,因此梯度下降速度加快;在迭代优化的后期,学习率的减小速度会变慢,这将有助于算法的收敛。学习率变化曲线图4所示。

图4 学习率变化曲线

本文对车辆目标检测模型的评价指标主要有平均精度(mean Average Precision,mAP)、每秒传输帧数(Frames Per Second,FPS)以及网络模型大小。mAP表示检测4种类别车辆的平均精度,FPS表示1 s内所能检测的图片数量。不同车辆目标检测算法的测试结果如表1所示。

表1 常见的网络模型与YOLOv3-s的性能比较

由表1可知,在平均精度方面,改进的YOLOv3-tiny网络YOLOv3-s的mAP为74.58%,与YOLOv3-tiny模型相比提高了5.64%的平均精度,与MobileNet[12]模型相比提高了4.56%的平均精度。在检测速度方面,处理速度最快的是YOLOv3-tiny模型,本文提出的YOLOv3-s模型的检测速度比YOLOv3-tiny模型下降了8 FPS,但是比MobileNet模型提高了78 FPS。在模型大小方面,YOLOv3-s比起YOLOv3-tiny模型小了0.1 Mb。综合表1可以看出,YOLOv3-s在牺牲较小的检测速度、保持较小的模型大小的情况下,较大地提升了车辆检测的平均精度。

MobileNet、YOLOv3-tiny、YOLOv3-s网 络 的检测效果如图5所示。从图5可以看出,MobileNet和YOLOv3-tiny对图像边缘的车辆都存在一定的漏检,但是YOLOv3-s对图像边缘的车辆检测效果要好很多。

图5 MobileNet、YOLOv3-tiny与YOLOv3-s的检测效果对比

4 结 语

本文提出了一种基于YOLOv3-tiny改进的轻量级车辆检测网络YOLOv3-s。YOLOv3-s的特征提取层中引入了残差模块,并在特征提取层后加入了SPP网络,同时,使用DIoU损失函数加快模型的收敛。所提出的网络在UA-DETRAC数据集中实现了74.58%的mAP,124 FPS的检测速度。实验结果表明,YOLO-s可以从交通监控摄像头的反馈中实时检测车辆,且具有较高的准确率。但是该算法对重合的车辆存在漏检的情况,未来的研究需要优化模型结构和数据集来解决这些问题。

猜你喜欢
网络结构边界损失
少问一句,损失千金
拓展阅读的边界
胖胖损失了多少元
玉米抽穗前倒伏怎么办?怎么减少损失?
今日农业(2019年15期)2019-01-03 12:11:33
论中立的帮助行为之可罚边界
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
管理现代化(2016年3期)2016-02-06 02:04:41
沪港通下A+ H股票网络结构演化的实证分析
管理现代化(2016年3期)2016-02-06 02:04:13
复杂网络结构比对算法研究进展
一般自由碰撞的最大动能损失