基于弱光环境的车辆识别研究

2024-04-02 03:42张峻祎
现代电子技术 2024年7期
关键词:弱光特征提取卷积

张峻祎,丁 冰,丁 洁

(1.太原理工大学电气与动力工程学院,山西太原 030024;2.北京理工大学集成电路与电子学院,北京 100081)

0 引 言

随着道路基建的完善与车辆保有量的提升,人们对于智能交通系统的需求日益增加。作为智能交通系统的基础,车辆检测引起了研究人员的关注并逐渐成为相关领域研究的重点。基于图像的车辆检测算法可分为传统检测算法与基于深度学习的检测算法。传统检测算法通常基于手工特征,具有检测精度差、检测速度慢等问题;基于深度学习的车辆检测算法因其检测精度高、检测速度快等优势,逐渐成为车辆检测研究的主要研究方向。相较于正常光照环境下的车辆识别,弱光环境下的车辆识别更为复杂,在弱光条件下车辆往往会与背景融合导致神经网络难以提取车辆特征,进而难以识别车辆。因此,研究如何在弱光环境下识别车辆具有重要的现实意义。

目前深度学习的检测算法通常基于早期提出的经典神经网络——AlexNet。在此之后,深度学习逐渐广泛用于目标检测领域,并提出了许多经典的底层框架,如VGG、GoogleNet、MobileNet[1]等,同时也提出了许多经典的网络结构,如FPN、CSP[2]、SPP、残差结构等。相较于传统检测方法,2014 年Ross 等人提出的基于卷积神经网络的RCNN 网络在检测准确率方面有了大幅提升,而RCNN 系列网络也是two-stage 检测的代表作之一。相较于two-stage 检测,Girshick 等人于2016 年提出的one-stage 代表作YOLO 网络,以牺牲较小的准确率,大幅提高了网络的运行速度,使之可以进行实时检测,并在之后以此为基础陆续提出了多个YOLO[3-6]系列网络,在检测速度、检测精度上都有了显著的提高。近年来,随着transformer[7-8]在NLP 领域的兴起,许多研究人员尝试将其引入到计算机视觉领域并提出了各种注意力机制[9-11],这些注意力机制在图像分类、目标识别等传统计算机视觉任务中可有效提高网络的效果,同时也有着非常可观的发展前景。

基于以上研究,可在正常光照条件下较好地完成各种车辆识别任务。但想要在弱光环境下完成车辆识别任务就需要进一步的研究。文献[12]通过融合来自CycleGAN的多尺度特征等方法提取弱光环境下的目标车辆特征进而进行识别;文献[13]基于全卷积网络提出了一个端到端训练的低光图像处理网络以增强图像在弱光环境下的特征;文献[14]提出了一种改进的BIMEF算法并将不同尺度的目标车辆特征进行融合以增强目标车辆特征,进而有效识别弱光环境下的车辆;文献[15]提出了一种基于细粒度车辆识别的全局拓扑约束网络,采用全局拓扑约束的关系以集成目标车辆各部分的特征进而识别车辆。

目前基于深度学习的弱光环境车辆检测网络虽然可以完成检测任务,但仍有提升的空间,主要包括以下三点:

1)虽然当前弱光检测神经网络可提取弱光环境下的目标特征,但仍要考虑如何进一步优化网络在弱光环境下的特征提取能力以提高网络的检测效果。

2)为了能更好地在弱光环境下进行车辆识别,通常会在网络中设计复杂的模块以提取弱光环境下的车辆特征。虽然可以提高网络的检测效果,但是也会使网络更为复杂、检测时间更长,因此也要考虑如何在保证网络检测效果的同时提高网络的检测速度。

3)目前现有的方法虽然可以有效提取目标车辆在弱光环境下的特征,但对训练数据集的要求较高,需要建立专门的对比数据集,即在相同背景环境、相同车辆、不同光照条件下的车辆图片。

为了建立这样的数据集,一种方法是在不同的光照条件下拍摄相同背景环境、相同车辆的真实图片,但这种方法对现实条件要求较高,很难获得大量有效的图片;另一种方法是拍摄车辆图片后用计算机随机调整亮度,并加入人工模拟噪声,虽然这种方法可以获得大量不同光照条件下的图片,但训练出的网络在效果上不如使用真实图片的效果好。为了解决上述问题,本文提出了一种弱光环境下的车辆识别网络,在该网络中,通过提出的特征提取模块以提取弱光环境下的目标车辆特征;使用设计的特征融合模块以提高网络的检测精度;最后在网络中使用模型结构重参数化的方法以提高网络的检测速度。在构建训练网络的数据集时不需要额外地对照图片,仅使用弱光环境下的图片就可训练网络且取得较好的效果。

1 本文网络

为了使网络能在弱光环境下有效检测目标车辆,同时保证网络检测的实时性,本文基于YOLO-v7 网络,使用了PAN、SPP 等结构,提出了特征提取模块、特征融合模块,并使用模型结构重参数化方法以优化网络。

网络的整体架构如图1 所示。

图1 网络结构

网络可分为三个部分:特征提取部分、特征增强部分与检测部分。

1)特征提取部分用以提取弱光图像的特征,该部分由卷积模块、ELAN 模块、特征提取模块等构成,其核心是本文提出的特征提取模块。

2)特征增强部分用以增强特征提取部分提取到的图像特征,进一步提高网络的检测精度。该模块由卷积模块、特征融合模块等模块构成,其核心是本文提出的特征融合模块。

3)检测部分的核心是三个检测输出头,用以输出网络在不同尺度上的预测结果,最后统一缩放映射到原图片。

1.1 特征提取模块

现有的目标检测网络通常较为依赖输入的图像或视频的质量,即待检测的图片或视频中目标特征较为明显时会有较好的效果。但在弱光环境下,目标往往与背景相融合或被外界光源干扰,此时难以提取有效特征。为了解决该问题,本文提出了特征提取模块,如图2所示。

图2 特征提取模块结构

考虑到弱光环境下图像内容较为复杂,如果使用简单的网络结构难以提取有效的目标特征,因此采用多分支的方式设计特征提取模块,将弱光环境下的特征提取问题分解为不同维度下特征相关的子问题,最后将多分支的输出进行融合以实现对弱光环境下目标特征的提取。在特征提取模块的构成上,首先输入特征提取模块的特征图经过5 个串联的卷积层,用以提取不同维度的特征,其中每个卷积层的后面都接了一层BN(Batch Normalization)层与一层Mish 激活函数层,用以提高网络的训练速度与收敛速度,同时也防止过拟合。同时,在其中加入了SimAM 注意力机制以进一步提高该模块的特征提取能力,用以从通道维度与空间维度对特征进一步细化增强,SimAM 注意力机制将在1.2 节中阐述。其次给上述每一个串联的卷积层都并联了一个子网络,其中每个子网络由一层卷积层与一层反卷积层组成,最后将每一个子网络的反卷积层输出在深度上进行拼接,并通过一个卷积核为1×1 的卷积层进行特征的融合。最后也对该模块使用模块结构重参数化的方法进行优化,以提高其运行速度,模块结构重参数化将在1.3 节中阐述。

图3 为设计的特征提取模块在对弱光环境下的图像进行增强后的效果图,使用的图片为训练集中的图片。此时图片成像效果更好,目标车辆与背景环境有明显的区分,目标特征更为明显,便于之后的检测。

图3 特征提取模块效果图

1.2 特征融合模块

为了进一步提高网络的检测效果,在特征提取模块后,本文设计了相应的特征融合模块,以对提取到弱光环境下的目标特征进一步的增强。特征融合模块的具体结构如图4 所示。该模块采用自上而下的传播路径与横向连接的方式将特征提取模块中不同尺度的特征图进行融合。首先,在特征提取部分的三个指定层各引出一个分支作为特征融合模块的输入,此时这三个输入的特征图尺寸不同,以便之后网络利用不同维度的特征识别原始输入图像上不同大小的目标;其次,当最小尺寸的特征图输入到特征融合模块时,先经过三层并联的池化层与一层卷积层,将每个池化层的输出特征图在深度上进行拼接,再将拼接后的特征图与卷积层输出的特征图再次在深度上进行拼接,这样既初步实现了不同尺度的特征图融合,也提高了网络对小目标的检测能力;然后,将上述拼接后的特征图依次通过卷积、池化、上采样等操作进行进一步处理,并与特征提取部分剩下的两个输入特征图在指定的位置于深度上进行拼接,此时特征融合模块将低分辨率和语义强的特征与高分辨率及语义弱的特征相结合,以提高网络的特征提取能力与对不同大小目标的检测能力;最后,在特征融合模块的指定层引出三个分支作为该模块的输出。

图4 特征融合模块结构

同时,本文在特征融合模块中引入了SimAM 注意力机制,以进一步提高网络的检测效果。在视觉神经科学中,信息量最大的神经元通常与其周围神经元的放电模式不同且活动的神经元也会抑制其周围神经元的活动。基于这一理论,不同于传统的注意力机制对一个通道或一个空间位置的所有神经元进行同等的处理,SimAM 注意力机制在一维通道维度上与二维空间维度上进一步提出了一个三维权重,通过设计的能量函数对网络中每一个神经元的重要性进行评估,以增强特征在通道维度与空间维度的联系。

此时网络的特征提取能力有了进一步的增强,同时也不会增加额外的参数以对网络的运行速度产生负面影响。

1.3 模块结构重参数化

基于以上所提出的网络,虽然可以有效地提高网络对弱光环境下目标特征的提取能力,但不可避免地使网络的结构更复杂。而在实际应用中,复杂的网络不仅对硬件有一定的要求,也会影响网络的推理速度。因此,本文采用结构重参数化的方法简化网络模型,提高网络运行速度。

结构重参数化的核心思想是保留多分支结构优点的同时将多分支结构转为单路模型,这样可以使得网络更快、更灵活且节约内存。在多分支结构中,网络推理在每个分支的推理速度不同,此时往往要等待所有的分支计算完成后才会进行下一层推理,这无疑增加了网络运行的时间成本,同时也要考虑内存访问成本(Memory Access Cost, MAC),即在计算机计算时每一次计算都要访问内存。

相较于单路模型,多分支结构的访问次数更多,消耗的时间也更多,因此结构重参数化可提高网络的运行速度。同时,相较于复杂的多分支结构,单路模型构建的更简单,也更容易修改,因此结构重参数化使得网络更灵活。最后,相较于复杂的多分支结构,单路模型由于只有一条通道,也可以节约内存,降低网络对硬件的要求。

模块结构重参数化的具体应用如图5 所示。

图5 模块结构重参数化

最初设计的多分支结构共有三个分支:第一个分支由一个卷积核为3×3的卷积层与一层BN 层组成;第二个分支由一个卷积核为1×1 的卷积层与一层BN 层组成;第三个分支只有一层BN 层。之后再将这三个分支的输出在通道上拼接,最后输入到激活函数中。为了进一步优化网络,首先是将卷积层与BN 层进行融合,其中BN层的计算公式如下:

式中:i= 1,2,…,c(c为通道数)为输入BN 层的特征图的第i个通道;μi=为沿着输入特征图的批次方向计算每个相同通道位置处所有像素值的均值;=为沿着输入特征图的批次方向计算每个相同通道位置处所有像素的方差;ε为一个无穷小的正数,用以防止分母处为0;γi与βi为待学习的BN参数,一开始训练时分别设为1与0,之后可通过反向传播进行学习。

对于方程(1),可以进一步对其进行变换,此时公式如下:

进一步将方程(2)展开,此时公式如下:

此时将BN 层的计算公式转换为y=WTx+b的形式,而在卷积神经网络中,其基础卷积计算的形式也是y=WTx+b,也就是说,可以将相邻的卷积层与BN 层融合为一层,此时公式如下:

而在程序编写中,为了使得经过该模块的输入特征图与输出特征图尺寸相同,在第一个卷积核为3×3 的分支中将输入的特征图周围填充了一圈0;在第二个卷积核为1×1 的分支中,原输入的特征图不变,将卷积核周围填充了一圈0,使其尺寸由1×1 变为3×3,但输出结果不变;在第三个只有BN 层的分支中,为了使其满足y=WTx+b的形式,人为添加了一层卷积,在该卷积层中卷积核尺寸为3×3,其不同通道的卷积核中心处的值依次为1,其余值分别为0,以此保证不改变原输出的前提下满足形式要求。

2 实验验证与结果分析

2.1 实验平台

本文采用的操作系统版本为Ubuntu 18.04;处理器为Intel@XeonⓇSilver 4210R CPU @2.40 GHz*20;GPU 为NVIDIA GeForce RTX 3090/PCIe/SSE2;CUDA 版本为11.4;深度学习框架为PyTorch 1.13.1;编程语言为Python。

2.2 数据集与评价指标

本文自制了训练数据集,为了使网络可以在不同光照环境下都可有效地检测车辆,在制作数据集时选择了不同光照环境(即正常光照环境与弱光环境)、不同背景、不同视角的道路图片共计18 000 张。在训练网络时按照7∶3 的比例将其划分为训练集与验证集。同时,也额外建立了一个测试数据集,用以检测训练好的网络针对弱光环境下的检测效果,该测试数据集包含200 张弱光环境下的道路图片。本文提出的网络与后面对比实验提到的网络在训练时都使用自制的训练数据集。

本文使用的评价指标为以下三种:准确率P(Precision)、召回率R(Recall)与mAP(mean Average Precision),其计算公式如下:

式中:当网络预测框与GT(Ground Truth)的IoU 大于设定阈值时为TP(True Positive),表示网络检测结果为目标的同时实际上也是目标;当网络预测框与GT 的IoU小于设定阈值时为FP(False Positive),表示网络检测结果为目标但实际上不是目标;FN(False Negative)表示网络检测结果不是目标但实际上是目标。此外,将网络预测框与GT 的IoU 阈值设置为0.5。

2.3 实验结果与分析

为了验证提出方法的有效性,本文采用Faster-RCNN 网络、RetinaNet 网络、SSD 网络、YOLO-v3 网络、YOLO-v5 网络、YOLO-v7 网络这些主流检测网络作为对比网络,并使用自制的数据集对本文提出的网络与对比网络进行训练。同时也对对比网络进行一定的优化:在Faster-RCNN、SSD、RetinaNet 网络中将底层特征提取部分改为ResNet50 以进行结构优化,同时在SSD 网络中采用了混合精度训练的方法;在RetinaNet 网络加入了FPN 结构;而在YOLO-v3 网络中加入了SPP 结构并使用了CIoU 损失。各网络的训练结果如图6 与表1 所示,从中可见,本文提出的网络不仅在mAP 值上高于其他网络,提高了检测的效果,同时检测单张图片仅需要5.2 ms,低于其他大部分网络且与检测速度最快的网络仅差了0.4 ms,保证了检测的速度,可进行实时检测。

表1 不同网络检测结果

图6 不同网络效果对比

本文也使用自制的测试数据集将提出的网络与对比实验中检测效果最好的网络进一步进行测试,其结果如表2 所示。

表2 网络检测结果对比

由表2 可见,本文提出的网络在检测准确率、召回率、mAP 上都有较好的表现。

图7是本文提出的网络与对比网络的实际检测效果图。

图7 实际检测结果对比(漏检)

由图7 可见:在对比网络检测的图像中,通常存在漏检目标车辆的情况,如在无灯光辅助照明的条件下车辆会与背景相融合,此时肉眼难以有效看出目标车辆,对比网络也无法有效地检测出来,甚至无法检测到任何车辆目标,在图像中的车辆重叠部分,由于光照环境差导致车辆特征不明显,此时对比网络只能检测到1 个或0 个目标车辆;而本文提出的网络则可有效检测出目标车辆,效果较好。

图8 是本文提出的网络与对比网络的实际检测效果图。

图8 实际检测结果对比(误检)

由图8 可见:在对比网络检测的图像中,通常存在误检目标车辆的情况,如图中桥上的指示灯、车辆尾灯等也会被对比网络误检测为车辆目标;而在本文提出的网络中,不仅可以有效地检测出目标车辆,同时也不会将其他目标误检为车辆,减少了误检问题的发生。

3 结 语

本文以one-stage 目标检测算法YOLO-v7 为基础,对弱光环境下的目标车辆进行检测,提出了特征提取模块与特征融合模块以增强网络的特征提取能力与目标识别能力,并使用模型结构重参数化的方法以提高网络的检测速度,使网络可以在保证检测速度的前提下有效检测弱光环境下的目标车辆。在使用相同的数据集进行训练后,本文方法不仅在检测指标上有较理想的效果,同时在实际检测结果上也有较好的表现。在实验中,本文方法对弱光环境下小目标的检测有一定效果,但仍有较大的提升空间,下一阶段的工作将以小目标检测为核心进行研究。

注:本文通讯作者为丁洁。

猜你喜欢
弱光特征提取卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法
太阳能联栋温室耐弱光蔬菜养心菜栽培初探
Bagging RCSP脑电特征提取算法
拔节期弱光胁迫对扬麦15麦秸营养成分和体外发酵的影响
四苯基卟啉钯(Ⅱ)/9,10-二苯基蒽弱光上转换体系的介质效应
基于MED和循环域解调的多故障特征提取
一种基于卷积神经网络的性别识别方法