基于改进YOLOX的车辆检测技术研究

来源:优秀文章 发布时间:2023-03-10 点击:

李 卓

(山东科技大学交通学院 山东 青岛 266400)

随着社会经济的快速发展,运输行业也因此得到大力发展,人们对出行的需求日益增加。现如今,道路上会出现各种类型的车辆,使道路环境愈加复杂,截至2022年,全国汽车保有量已达3.07亿辆,这对道路行车安全是极大的挑战,而车辆检测在自动驾驶[1]和交通安全[2]领域中已广泛使用,智能车辆的目标检测技术能大大弥补交通参与者因为疲劳或走神而引发的交通事故,对车辆的识别检测也是驾驶风险评估的重要组成部分。

相较于传统方式的目标检测,目前主流的目标检测算法大致上可以分为双阶段(two-stage)检测算法和单阶段(one-stage)检测算法,双阶段检测算法中具有代表性的有Ross Girshick[3]提出的R-CNN算法和Ren[4]提出的Fast-RCNN算法,它们第一阶段运用算法定位出可能含有目标的感兴趣区域,第二阶段则是进行深层特征提取,然后根据这些特征点去定位到检测的目标。而一阶段检测算法的代表作是Redmon等[5]提出的YOLOv3算法,它是目前使用非常广泛的目标检测算法,YOLOv3算法以固定数量的锚框代替二阶段算法中无定量且大量冗余的区域提案,大幅提升了检测效率,比Fast R-CNN快100倍,但因为特征提取位置不够全面,所以检测容易发生遗漏,精度较二阶段算法低。

国内外学者在提高检测精度、优化训练网络上已经做了大量研究。刘学平等[6]结合K-means聚类并在YOLOv3网络中加入SENet结构来增加网络的感受野;
为了提高检测的实时性,徐丽等[7]基于YOLOv4算法模型,将主干特征提取网络更改为灵活性强且易于实现的MobileNet V2,并用深度可分离卷积替换掉原来加强特征提取网络里面的普通卷积;
为了避免传统锚框对于检测性能所产生的负面影响,Fu等[8]提出了一种基于特征平衡和细化网络的小目标检测方法,使用无锚框机制进行语义增强使检测效果达到最佳;
为了缓解正样本和负样本的数量不均衡问题,并且解决数据集小且少的问题,Yu等[9]提出了一种Scale Match方法,对预训练数据集进行尺度变换,实现了额外数据的增强式扩充。

综上,权衡实时性与准确性,本文决定以YOLO系列中识别效率高的YOLOX-S为基础,对其网络结构进行优化改进,通过加入注意力机制CBAM以实现网络自适应,减少计算资源的浪费,并且使用Gamma变换进行数据集增强,避免过拟合,从而提高模型的泛化能力,进一步提高该算法的检测性能。

2.1 YOLOX网络结构

YOLOX使用了Anchor-free和标签分配策略SimOTA[10]。在输入端中,YOLOX对输入到网络的图片进行Mosaic和Mixup数据增强,输入图像的3个通道在输入后,继续使用Focus网络将图像的长和宽的信息集中到12个通道信息中去,backbone主干网络部分采用了CSPDarknet-53作为提取网络,然后运用卷积和silu激活函数,通过不同池化核大小的最大池化进行特征提取。

在Neck结构中,采用了FPN结构进行特征融合,它是对主干网络中提取到的特征点进行强化,在此YOLOX沿用了YOLOv3中经典的特征金字塔网络结构。它将从主干系统中收集到的有效特征层,先进行对深层特征层的取样并与浅层特征层结合,之后再对与浅层特征层混合后的数据进行下取样并与深层特征层中的有效特征结合。

Yolo Head是目标检测的分类器和回归器[11],预测时先进行分类,然后再进行特征点对比回归。首先经过卷积运算和激活函数找到与特征点最接近的物体的种类来进行分类,然后进行相同的卷积激活操作查找到与这个特征点相匹配的对象。本文YOLOX基于YOLOv3的整体架构, 在此部分将Head进行了decouple,这种去耦合方式能够更好地让网络学习到类别和对应的坐标回归。

综上,YOLOX的网络结构如图1所示。

图1 YOLOX网络结构

2.2 CBAM注意力机制

在人眼视觉中,人类会选择性地关注视觉区域内的特定部分,然后集中关注它,同时忽略其他可见的信息,这样可以避免造成视觉资源的浪费;
注意力机制的核心重点就是让网络关注到它更需要关注的地方,使用注意力机制可以让卷积神经网络去自适应的关注重要的物体,它是实现网络自适应注意的一个方式。

CBAM是注意力机制的一种,是通道注意力机制和空间注意力机制的结合,比SENet单独的注意力机制对网络的优化更好。CBAM对输入进来的特征层进行通道注意力模块和空间注意力模块的运算后,分别得到通道和空间的注意力权重,然后将权重与原始特征图相乘,从而对特征进行自适应调整,更关注对目标物体的识别,使其关注重要特征,抑制不必要特征。其实现示意图如图2所示。

图2 CBAM注意力机制示意图

由图2可知,图像的前半部分为通道注意力机制,通道注意力机制的实现可以分为两个部分,它会对输入进来的单个特征层,分别进行平均池化和最大池化,通过全连接层处理经过平均池化和最大池化的特征层,接着对得到的两个结果进行相加,再取一次sigmoid函数后,获得输入特征层的通道的权值,最后再将这个权值乘上原输入特征层。综上,通道注意力机制公式如下式所示:

式中,σ为sigmoid函数,MLP为人工神经网络,MLP的权重由W0和W1共享;

图像的后半部分为空间注意力机制,它会对输入进来的特征层,在每一个特征点的通道上取最大值和平均值,之后将这两个结果进行一次堆叠,利用一次通道数为1的卷积调整通道数,然后取一次激活函数,此时获得了输入特征层的特征点的权值,最后同样是将这个权值乘上原输入特征层。综上,通道注意力机制公式如下式所示:

式中,σ为sigmoid函数,f7×7为7×7大小的卷积核。

本文在主干网络Darknet中加入注意力机制,在提取出来的三个有效特征层上增加了注意力机制,同时在特征金字塔中每个上采样和下采样之后使用注意力机制。在之后的实验中将未添加注意力机制之前和添加注意力机制之后的算法效果进行对比实验,从而证明本文注意力机制对车辆检测方法的有效性。

2.3 数据集增强——Gamma变换

数据集的拍摄时间为中午12点到傍晚6点,其光照强度由30 000 lux变化到500 lux,亮度变化明显,由于傍晚的车辆亮度不足的原因,处于图像暗部时车辆轮廓模糊,若将未处理的数据集直接输入,目标检测的难度会大大增加,于是对数据集进行增强。

Gamma变换又称幂律变换[12],是图像数据预处理的一种常用方法,尤其适用于目标处于过度曝光和曝光不足时,通过拓展图像的灰度值,调整亮度及对比度,对图像进行矫正。在此主要是用来提升暗部细节,它的主要原理是对输入图像灰度值进行非线性操作,让输出图像灰度值与输入图像灰度值呈指数关系:

式中Vout为输出的灰度值,Vin为输入的灰度值,γ为Gamma,当γ=1时,此变换是线性的,通过线性方式改变原图,当γ不为1时,输出图像会通过拉伸暗区域的灰度或压缩亮区域的灰度,来使处于阴影或过度曝光区域内的物体变得清晰。经过Gamma转化的前后图像效果对比如图3所示。

图3 前后效果对比图

3.1 实验平台及参数配置

本次实验编程语言选择使用python3.7。实验所用的计算机硬件配置:CPU为AMD Ryzen9 5900HX with Radeon Graphics 3.30 GHz,内存为双通道16 GB,显卡为RTX3060,显存为8G,操作系统为Windows11家庭版,训练的batch size设置为16,有300个epoch,initial lr为0.01。进行数据集采集的摄像头默认分辨率为640*480,输入训练网络时图片resize为640*640。

3.2 实验数据集与评价指标

本次目标检测实验的原始数据集采用自建数据集,测试时间为白天和傍晚,光照强度在每次实验前使用照度计进行测试,数据集获取地点是青岛市黄岛区,是以驾驶员为第一视角,在不同时间段不同光照强度下进行的,数据集中含有照片1 887张,其中设置了训练集1 287张,验证集300张,测试集300张,本次实验使用Labelimg对数据集进行标注。本次实验会采用准确率(P),召回率(R)和平均精度(AP)等指标来衡量模型性能。在网络进行训练的过程中,对数据集进行检测验证时,通常会产生这4类检测结果:

TP:预测为正例(P),事实上是反例(N)的数量(预测错误);

TN:预测为反例(N),事实上是反例(N)的数量(预测正确);

FP:预测为正例(P),事实上是正例(P)的数量(预测正确);

FN:预测为反例(N),事实上是正例(P)的数量(预测错误)。

式中,P、R分别代表准确率与召回率,以准确率为纵坐标,召回率为横坐标,得到准确率-召回率曲线,这条曲线和坐标轴围成的面积就是目标检测的平均精度(AP)。

实验中使用迁移学习进行模型训练,用Labelimg进行标注,下图为使用Labelimg软件进行数据标注时的界面,车辆被标注为car。Labelimg界面图如图4所示。

图4 Labelimg界面图

3.3 实验结果

利用改进的YOLOX算法检验自建数据集的识别效果,通过训练自建车辆的数据集,获得最终车辆检测模型权重。改进后的YOLOX检测网络对车辆的检测精确率达到93.11%,召回率达到86.27%,模型的平均精度达到91.98%,其效果图如图5、图6所示。

图5 模型的精确率和召回率

图6 模型的平均精度

为了证实结合CBAM和数据集增强的检测方法的有效性,本次实验还对比了不同的深度学习网络,具体如表1所示。可以看出,在对同一种数据集进行深度学习时,改进的算法相较Faster R-CNN算法在Precision值、Recall值和AP值上都有较大的提升;
与直接使用YOLOX检测网络模型进行检测对比,在精确率(Precision)提高了1.63%,平均精度(AP)提高了1.64%;
对比之前经常使用的二阶段算法YOLOv5,在Precision值、Recall值和AP值上均分别提高了2.44%,1.27%,4.52%,因此,结合CBAM和数据集增强的YOLOX训练模型在车辆检测实验中具有较好的鲁棒性。

表1 不同网络模型对比

为了验证改进后算法的检测性能和它在应用场景中的检测效果,选取隧道内、傍晚光照不足环境时的图像,两个场景的实际运用中的检测效果如图7和图8所示。从两张图中可以看出,原始YOLOX算法对于处于隧道口黑暗环境,轮廓不鲜明的车辆的检测效果不太理想,很容易产生漏检。改进后的YOLOX算法能对在不同光照强度下的车辆进行准确的识别检测,在车辆目标较小,光照不同的道路环境下,也能取得较为稳定良好的效果。因此,在实际运用的道路车辆检测中尤其是车辆处于弱光照射的环境中时,改进后的YOLOX算法的检测效果明显高于原始YOLOX算法。

图7 原YOLOX算法检测结果

图8 改进后YOLOX算法检测结果

综上所述,本文在YOLOX-S目标检测算法的基础上,自制交通场景数据集并利用Gamma变换进行增强,防止过暗场景下的汽车轮廓模糊,避免了特征提取过程中的信息缺失遗漏,加强了网络的泛化能力;
同时在网络中引入注意力机制模块,强化了网络性能,使原有网络的特征表达能力得到改善。在对原模型改进后的模型和网络模型的对比实验中,实验结果表明,相较于传统YOLOX算法,改进后的算法在准确率、召回率、平均精度方面均提升了1.63%,0.71%和1.64%,车辆检测效果得到提升。未来车辆检测系统会在实时性方面进行研究,在后续研究中,训练网络会结合行车场景,平衡正负样本,在准确性方面进一步优化,进一步提高智能车辆的环境感知能力。

猜你喜欢 注意力车辆机制 让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09自制力是一种很好的筛选机制文苑(2018年21期)2018-11-09车辆小太阳画报(2018年3期)2018-05-14“扬眼”APP:让注意力“变现”传媒评论(2017年3期)2017-06-13冬天路滑 远离车辆阅读与作文(小学低年级版)(2016年12期)2016-12-22A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21提高车辆响应的转向辅助控制系统汽车文摘(2015年11期)2015-12-02破除旧机制要分步推进中国卫生(2015年9期)2015-11-10注重机制的相互配合中国卫生(2014年3期)2014-11-12打基础 抓机制 显成效中国火炬(2014年4期)2014-07-24推荐访问:技术研究 改进 车辆
上一篇:基于PaaS平台的媒体云技术架构及设计思想
下一篇:供应链大数据视角下中小企业融资约束研究——以汽车制造业为例

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有