APP下载

基于Dim env-YOLO 算法的昏暗场景车辆多目标检测

2023-03-16郭克友王苏东

计算机工程 2023年3期
关键词:照度卷积车辆

郭克友,王苏东,李 雪,张 沫

(1.北京工商大学 人工智能学院,北京 100048;2.交通运输部公路科学研究院,北京 100088)

0 概述

据调查显示,截止2020 年末,中国汽车保有量已经达到28 087 万辆,超过美国成为全球汽车总量最大的国家[1]。汽车的普及能够方便出行,但是同时也导致交通拥堵问题,提高了交通压力。近年来,计算机技术不断进步,人工智能发展迅速,智能识别技术在交通行业的应用也越来越广泛,其中的车辆目标智能检测引起了研究人员的关注。

车辆目标检测是一个计算机视觉领域的经典任务,在辅助驾驶、交通监控等方面具有巨大的研究价值和应用前景,在自动无人驾驶领域更是不可或缺[2]。夜间车况复杂、照度急剧下降、驾驶员视线变差、不规范使用的远光灯等都成为车辆行驶的巨大干扰。因此,在昏暗的场景下对车辆进行识别检测具有实际应用价值。白天室外平均照度大约为500 lx(lx 为勒克斯,是照度单位)[3],阴天照度一般低于100 lx,昏暗场景一般为照度低于50 lx 的道路环境。人眼在照度低于50 lx 时对周边事物的判别感知能力明显下降,相较于白天的自然光,驾驶员对车灯、路灯等辅助照明的适应性也明显不足。我国一般城市道路夜间照度平均为17.5 lx,本文针对该照度条件下的车辆目标检测展开研究。

智能检测技术可以减少城市智慧交通中的人力成本,降低因驾驶员反应不及时或误操作等因素导致的交通事故发生概率,进一步保障出行安全。对于道路目标的识别,通常分为传统检测方法和深度学习检测方法。传统检测方法须随道路场景和背景不断变化从而提取不同特征,精度较低,鲁棒性也较差[4]。基于深度学习的目标检测算法可分为两类:一类是以R-CNN[5]、Faster R-CNN[6]等为代表的两阶段检测算法,它们使用区域候选网络来提取候选目标信息;另一类是以YOLO[7]、SSD[8]等为代表的端到端的一阶段目标检测算法。两阶段算法的区域建议模块计算机内存消耗很大,而一阶段算法从学习输入图像直接到目标位置和类别的输出,由于没有区域候选过程,目标检测被视为回归问题,因此提升了检测速度。其中,YOLOv4 算法以其检测速度较快、精度较高的特性而受到广泛的青睐[9]。

本文在YOLOv4 的基础上提出一种Dim env-YOLO 改进算法。利用MobileNetV3[10]网络替换YOLOv4 的主干网络,并在特征金字塔部分引入注意力机制,进一步降低参数量。由于现有公开车辆数据集夜间场景样本有限,因此本文自制昏暗道路场景下的车辆数据集,在此数据集上对改进网络进行训练及测试。为验证极端照度条件下算法的有效性,设计不同照度实验场景探索环境照度边界值,同时为验证模型的鲁棒性,在高斯噪声、模糊处理、雨雾夜晚等干扰下进行实验分析。

1 算法原理

1.1 YOLOv4 模型结构

YOLOv4 是YOLOv3 的改进版,其在YOLOv3的基础上大幅提高了精度和速度[11]。YOLOv4 的主干网络CSPDarknet53 在Darknet53 网络的基础上加入CSP(Cross Stage Partial),特征金字塔部分使用SPP 结构和PANet 结构[12],如图1 所示。

图1 YOLOv4 结构Fig.1 Structure of YOLOv4

Darknet 网络采用Mish 激活函数,如图2 所示。Mish 激活函数是对Leaky-ReLU 的折点小修正,平滑的激活函数允许更好的信息深入神经网络,从而得到更好的准确性和泛化能力[13]。Mish 函数如式(1)所示:

图2 函数图像Fig.2 Function images

Darknet53 存在一系列残差模块,它们由一次下采样和多次残差结构堆叠构成。CSP Net 即为跨阶段局部网络,在原有Darknet53 的残差模块中加入了交叉分通道卷积[14]。交叉分通道卷积虽然可以增强CNN 的学习能力,在轻量化和低内存访问成本的同时增强梯度融合,减小计算瓶颈,但是由于YOLOv4原网络结构中存在较多的卷积过程,这些卷积模块计算冗长,导致模型参数过多,计算量仍然较大。

1.2 MobileNet 网络

神经网络中的数据在卷积层最耗费时间,轻量化网络模型一直是研究热点,因此,深度可分离卷积块DW 应运而出[15],利用DW 卷积替换传统的卷积,可以减小参数量,提升检测速度。DW 卷积分为逐通道卷积和逐点卷积,逐通道卷积过程中一个通道只被分配一个卷积核,两者一一对应[16],逐点卷积核尺寸为1×1×Cout。对于深度可分离卷积,设输入特征图通道数为Cin,shape 为H×W,卷积核尺寸是Ksize,输出特征图通道数为Cout,大小为H×W,则:

其中:FLOPsdw指深度可分离卷积计算量;FLOPsconv指传统卷积计算量。在一般情况下,假定采用3×3的卷积核,那么当Cout相对较大时可以降低近90%的计算量[17]。

此外,MobileNetV3 结合了 MobileNetV1、MobileNetV2 的一系列特点,并使用h-swish 代替swish作为激活函数,减少了运算量,提高了检测性能。h‐swish函数表达式如式(5)所示:

MobileNetV3 结构详解如表1 所示。

表1 MobileNetV3 结构参数Table 1 Structural parameters of MobileNetV3

在表1 中,HS 和RE 分别代表h-swish 激活函数和ReLU 激活函数,步距表示每次block 结构所用的步长[18]。由表1 可知,每个特征层经过bneck 模块,输入的特征层尺度均多次发生相应的变化,其中又在5、6、7、12~16 层加入了注意力机制。

1.3 损失函数

在YOLO 网络中,每一张完整图片都被有效特征层分成S×S的网格,随后在网格中心建立先验框的局部坐标,再通过网络预测的坐标偏移量、物体置信度和种类置信度[19]三项指标,与每一个先验框分别比较损失以进行拟合,最后根据得分排序和非极大值抑制筛选得出预测结果。本文模型采用二分类交叉熵的方法计算损失函数[20],将多分类目标问题转化为二分类问题,类别划分转为此目标物体是否属于该分类类别,损失函数如式(6)所示:

其中:Lxywh为真实框的坐标轴偏移量和长宽差值;λcoord为坐标系数;Lconfi为目标置信度误差,分为有无目标两项,λobj和λnobj分别表示是否有目标的置信度系数;Lclasses为物体种类的分类损失;表示第i个网格第j个先验框的拟合情况。

IoU[21]是目标检测中经典的评价指标,它反映了预测边框与真实边框的重叠程度,即预测框与真实框交集与并集之间的比值,计算方式如图3 所示,其中,A、B分别表示预测框和真实框的面积。

图3 IoU 定义Fig.3 The definition of IoU

但是,仅仅依靠IoU 进行评价会存在一些问题[22],若真实框和预测框并无相交,则IoU 为0,此时无法体现两者的距离(重合度)。同时,因为损失LLoss=0,梯度不回向传播,所以无法进行学习训练。此外,IoU 仅依靠预测框和真实框的重合面积,忽略了位置关系,如图4 所示,3 种情况下IoU 均相等,为0.33,然而真实框和预测框的重合程度存在差异,回归效果从左至右依次递减。

图4 3 种IoU 均相同的情况Fig.4 Three cases that IoUs are the same

针对上述问题,本文引入CIoU 代替IoU 作为边框回归损失函数评价指标[23]。CIoU 将预测框和真实框之间的关键几何因素,即重叠面积、中心点距离和长宽比列入边框回归损失,使得边框回归更加稳定,收敛精度更高。CIoU 损失函数如式(7)所示:

其中:b和bgt分别表示预测框与真实框的中心点;ρ(·)表示欧氏距离;c表示预测框与真实框重叠多边形的最小外接矩形对角线长度;α和v为惩罚因子,它们拟合了预测框和真实框的长宽比,α是协调比例参数,v是用来衡量长宽比一致性的参数。α与v的计算公式分别如式(8)和式(9)所示:

2 Dim env-YOLO 网络

2.1 框架改进

由于环境昏暗,使得目标检测精度有所下降,为了在低光照的条件下增强图像的色彩对比度,凸显目标信息,可以引入图像暗光增强技术。传统的暗光图像处理法有直方图处理、伽马均衡等方法[24]。近年来,随着计算机技术的发展,研究人员尝试利用深度学习的方法处理暗光图像,如MSR-net 算法、Ret-Net 模型、K.D++算法等[25]。

本文选择一种轻量化HDR 暗光图像增强方法,如图5 所示。该方法仅对缺失光照部分进行补光增强,对于光照充足的区域,不会产生较大的影响,从而避免已有一些方法在暗光增强的同时造成图片过度曝光从而影响检测处理效果的问题。

图5 HDR 图像增强效果Fig.5 HDR image enhancement effect

针对昏暗环境的车辆目标检测,本文在YOLOv4的基础上结合HDR 图像暗光增强技术,设计一种Dim env-YOLO 道路车辆检测网络,其结构如图6 所示。网络输入是经暗光增强预处理后的数据图片,主干网络由CSPDarknet 替换成MobileNetV3 网络,将主干网络中用到的普通卷积替换成深度可分离卷积,并在随后有效特征层和加强特征网络以及上采样后的结果中引入注意力机制模块,进一步减少模型的参数量[26]。

图6 Dim env-YOLO 网络结构Fig.6 Dim env-YOLO network structure

2.2 算法优化

神经网络的学习率是比较重要的超参数,其值大小与模型性能密切相关[27],如何设置学习率一直是个难题,同时,训练过程中的损失通常只对参数空间的某些特定方向敏感。为进一步提高算法的检测效率,研究人员提出一系列算法优化方法。为避免引入过多的新参数,致使参数量增加,本文采用优化效果较好、鲁棒性较高的Adam 自适应学习率算法,其描述如下:

3 实验结果与分析

3.1 实验描述

本文采集北京市某区域一带道路的数据自制数据集,对于昏暗城市道路,主要目标类别分为轿车、公交车和卡车,如图7 所示。数据集包含2 000 张图片,约11 000 个车辆目标,使用LableImg 对车辆进行标注,制作成VOC 数据集,标注情况如图8 所示。

图7 车辆类别Fig.7 Classes of vehicle

图8 数据集示例Fig.8 Dataset example

本文实验在Ubuntu18.0 操作系统上运行,GPU 为NVIDIA 1080Ti,内存为16 GB。深度学习框架为PyTorch1.2.0,CUDA 版本为11.4,Python 版本为3.7.0。

实验采用冻结训练的方式以提高训练速度,节省GPU 显存[28]。由于主干特征提取网络所提取的特征通用,因此引入迁移学习的思想,依次进行冻结、解冻训练,由此提高训练效率并防止权值被破坏。网络参数设置如表2 所示。

表2 网络参数设置Table 2 Network parameters setting

网络的最终性能不仅取决于模型本身的结构和参数,还依赖于硬件平台的配置,检测结果影响因素如图9 所示。

图9 网络模型的影响因素Fig.9 Influence factors of network model

计算机的计算能力用算力和带宽来评估[29],算力即FLOPs(Floating-point Operations Per Second),表示计算机每秒执行的浮点运算次数;计算机的带宽指计算机内存交换能力,用Byte/s 表示。算力和带宽之比则为计算机的计算强度上限Imax,单位是FLOPs/Byte,表示每单位内存交换中完成的浮点运算量,公式表达如式(10)所示,计算强度上限数值越大,表示计算机内存使用效率越高。

网络模型的计算能力是指模型的计算量和访存量,分别是模型浮点计算次数和模型一次迭代(iteration)前后传播的内存交换量,即时间复杂度和空间复杂度。模型的时间复杂度表示为:

其中:D表示模型卷积层数;Cl-1表示l层输入通道数;Cl表示输出通道数;K为卷积核边长;M是输出特征图的大小。时间复杂度决定训练的时长,训练耗时过多的模型结构较为复杂。

模型的空间复杂度表示为:

空间复杂度是网络的各层参数权重和输出特征图所占的内存,访存量越大表示网络参数越多。

3.2 实验数据分析

本文进行实验验证所提模型的效果,如图10 所示,设置冻结阶段迭代次数为50 次,由于模型主干被冻结,特征提取网络不发生改变,占用显存较少,因此网络仅发生微调。

图10 Dim env-YOLO 训练过程中loss 的变化情况Fig.10 Changes of loss during Dim env-YOLO training

在冻结阶段,改进的网络loss 值不断下降并收敛。在解冻阶段,占用显存变大,主干网络参数发生变动,但是训练效果提升,损失值进一步下降,由此可以看出网络模型具有良好的收敛能力。

图11 所示为本文算法在简单场景下的检测效果,可以看出,该算法可成功检测出昏暗环境下的近距离车辆目标。

图11 简单场景下的检测效果Fig.11 Detection effect in simple scenes

如图12 所示,对于昏暗道路常见的小汽车、SUV 中型车和大巴客车,本文算法的检测AP 值分别为93%、91%和87%,检测mAP 值达到90.49%。

图12 本文算法的AP 值Fig.12 AP values of this algorithm

3.3 复杂场景对比实验

为了进一步验证复杂道路情况下的车辆目标检测效果,扩充已有数据集,新增包括拥挤路口场景下的车辆目标、远距离车辆目标以及重叠的车辆目标。制作数据集时要训练样本的多样性,同时减少数据冗余和训练体量。隔帧抽取所拍摄的车流视频能够保证不同密度,从而获得较优的数据样本,如图13 所示。

图13 复杂路口数据样本Fig.13 Complex intersection data sample

夜间环境照度不足、车灯刺眼干扰、明暗对比强烈,严重影响驾驶员对道路情况的判断,使得暗光条件下路口阻塞车流检测难度提升。如图14 所示,对于昏暗复杂的路口,Dim env-YOLO 检测效果优异,证明其在低照度的复杂场景下具有有效性,可以为夜间智能出行提供一定技术支持。

图14 复杂场景下的检测效果Fig.14 Detection effect in complex scenes

3.4 算法鲁棒性验证和最低照度研究

按照国家相关规定,一般城市主干道路路灯照明要求为30 lx,次路约为10 lx。为了进一步探究更低照度的道路车辆识别效果,测试微弱路灯光的城市次干道(照度仅为3~5 lx)和支路以及几乎黑暗(照度为0.05 lx)的居民巷等路况下的车辆目标识别效果,实验结果如图15 所示。从图15 可以看出,当车灯直射车辆和在照度极低的暗处角落,车辆依旧可以被准确检测出,即对于光照不均匀、光斑混照等复杂情况,本文算法识别效果依然良好。

图15 城市支路检测效果(照度为5 lx)Fig.15 Detection effect of urban branch road(illumination is 5 lx)

对于照度低于0.5 lx 的黑暗道路场景,实验结果如图16 所示。从图16 可以看出,对于汽车灯光照射的区域,可检测出车辆目标,而无车灯照射区域,车辆目前无法被识别,纯黑暗区域可以通过闪光灯补光来提升识别率。

图16 黑暗道路检测效果(照度为0.5 lx)Fig.16 Detection effect of dark road(illumination is 0.5 lx)

综上,在照度不低于5 lx 的道路环境,本文算法识别准确率较好。为了进一步验证模型的鲁棒性,随机选取夜间道路车辆并加入高斯噪声、模糊、雨雾夜晚等扰动,路况如图17 所示,检测结果如图18 所示,实验定量结果如表3 所示。

表3 不同照度条件及干扰下的目标识别情况Table 3 Target recognition under different illumination conditions and interference

图17 扰动下的4 种路况Fig.17 Four road conditions under disturbance

图18 不同路况下的检测结果Fig.18 Detection results under different road conditions

从图18 和表3 中的数据可以看出,即使在低照度、复杂噪声下,实验结果也未随扰动而大幅退化,平均识别率能达到86.00%以上。在极黑暗的环境中,车灯照射区域识别准确率良好,对于模糊扰动敏感度稍有降低,对于高斯噪声具有更好的鲁棒性,尤其在雨夜体现出良好的泛化性能,使得本文算法具有广阔的应用前景。

3.5 与经典模型的对比

为了验证本文Dim env-YOLO 模型相较其他经典网络的优势,选取3 种常用的目标检测模型与本文Dim env-YOLO 进行性能对比分析,用于对比的检测模型包括Faster-RCNN、YOLOv3 以及原始YOLOv4。在实验验证过程中,用4 类检测器分别训练相同的数据集,训练结果如表4 所示。

表4 不同模型的效果对比Table 4 Effect comparison of different models

从表4 可以看出,在昏暗场景下,本文算法的mAP值比原始YOLOv4 提高了3.18 个百分点,优于同等情况下的其他网络模型,且通过对比可知,本文模型的体量约为Faster-RCNN 的40%,约为YOLOv3 和YOLOv4的50%。

4 结束语

本文基于YOLOv4 提出一种昏暗条件下面向道路车辆目标检测的Dim env-YOLO 算法,以改善原始YOLOv4 网络夜间检测精度和速度较低的问题。对夜间图片进行暗光增强处理,使用MobileNetV3替换CSPDarknet 主干特征提取网络,引入注意力机制选择重要信息,利用深度可分离卷积减少模型参数,从而提升检测效果。实验结果表明,Dim env-YOLO 对于夜间小汽车的检测AP 值达到96%以上,且在各种噪声干扰下依然具有良好的鲁棒性,优于同类型模型在昏暗光照条件下的检测效果,本文算法可以为夜间场景下的车辆目标检测提供一种新的思路。

Dim env-YOLO 算法可以满足夜间智慧交通的实时性要求,为识别道路车辆、分析夜间道路路况和路口阻塞情况等提供技术支持。但是模型同时也存在一些问题,如数据集采集角度单一化。下一步将丰富训练集,采用俯角拍摄道路车辆,增加卡车、公共汽车等大型车辆的样本集,以及使用更多不同的目标场景数据集等,从而实现更复杂场景下的高效车辆目标检测。

猜你喜欢

照度卷积车辆
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
恒照度智慧教室光环境
车辆
基于傅里叶域卷积表示的目标跟踪算法
体育建筑照明设计中垂直照度问题的研究
冬天路滑 远离车辆
提高车辆响应的转向辅助控制系统
一种基于卷积神经网络的性别识别方法