一种基于msa-yolov5的恶劣天气下车辆检测方法及装置
技术领域
1.本发明涉及图像处理及智能交通领域,具体涉及一种基于msa-yolov5的恶劣天气下车辆检测方法及装置。
背景技术:2.近年来,目标检测算法迅速发展,其已经在机器人、安防、物联网等领域得到应用,但是,在恶劣天气中的目标检测依旧是一大难题,在各类恶劣天气中,由于雾霾或沙尘暴天气中雾气或微小颗粒等介质的影响,或者由于暴雨天气中密集雨幕的影响,所捕获的图像会出现模糊、对比度低,色彩丢失及噪声等问题,这些都对目标检测结果造成了极大影响。随着无人驾驶汽车的增加、辅助驾驶技术的普及,雾霾、雨雪等恶劣天气对各类摄像头、传感器的干扰问题渐受关注,恶劣天气下的目标识别也成为一项重大挑战。
3.在现有的目标检测算法分为两类,一类是two-stage,two-stage检测算法将检测问题划分为两个阶段,首先产生候选区域(region proposals),然后对候选区域分类,这一类的典型代表是r-cnn,fast r-cnn,faster r-cnn,mask r-cnn家族。他们识别错误率低,漏识别率也较低,但速度较慢,不能满足实时检测场景。另一类称为one-stage检测算法,其不需要region proposal阶段,直接产生物体的类别概率和位置坐标值,经过单次检测即可直接得到最终的检测结果,因此有着更快的检测速度,比较典型的算法如yolo,ssd,retina-net等。如今,以yolo为代表的one-stage在汲取了其他检测算法的优点,检测速度快的同时依旧保持高准确率,但是对于复杂情况下模糊目标检测依旧无法很好的识别,达不到人们的预期。
技术实现要素:4.发明目的:为提升网络对复杂条件下的目标检测能力,本发明提供了一种基于改进yolov5的恶劣天气下车辆检测方法及装置,可以对恶劣天气下的车辆、行人进行检测,并且具有检测速度快、模型小、准确率高的优点。
5.技术方案:本发明提出一种基于msa-yolov5的恶劣天气下车辆检测,具体包括以下步骤:
6.(1)将dawn数据集划分为训练集与测试集,并进行预处理;
7.(2)构建msa-yolov5模型;所述msa-yolov5模型包括backbone模块、neck模块以及prediction模块;所述backbone模块为msa-resblock,包括focus网络、scbam模块和resblock模块;
8.(3)将预处理好的图片输入到msa-yolov5模型中训练:首先用scbam模块对恶劣天气下,模糊场景中的车辆、行人目标进行特征强化;然后通过多尺度特征融合,使用giou算法作为边界框损失函数,使用focalloss降低预测框内正负样本的不平衡问题;
9.(4)检测出恶劣天气下车辆、行人的位置信息和标签信息,并得出检测的精确度。
10.进一步地,所述步骤(1)实现过程如下:
11.将dawm数据集按照9:1的比例随机划分为训练数据集和测试数据集;并将训练集的图片统一归一化为640*640尺寸大小的图片;对车辆图像进行随机裁剪、旋转的方法进行数据增广;使用mosaic数据增强,利用四张图片,对四张图片进行拼接,每一张图片都有其对应的框,将四张图片拼接之后就获得一张新的图片,同时也获得这张图片对应的框,然后将一张新的图片输入到神经网络当中学习。
12.进一步地,步骤(2)所述backbone模块用于在不同图像细粒度上聚合并形成图像特征的卷积神经网络;对于输入的图像,首先采用focus网络结构,在一张图片中每隔一个像素拿到一个值,获得了四个独立的特征层,然后将四个独立的特征层进行堆叠,此时宽高信息就集中到了通道信息,输入通道扩充了四倍;然后使用了scbam注意力机制模块,实现对恶劣天气造成的模糊效果进行优化,通过3*3的卷积对通过scbam后的特征图进行下采样,使其高宽减半的同时通道数翻倍;接着将特征图送入resblock中,resblock包括cbs、msa以及b-csp模块;cbs模块是卷积、批量归一和激活操作;msa为多头注意力机制模块,在全局中搜寻特征之间的联系;b-csp模块分为两个部分,包括了主干和残差结构bottleneck,b-csp模块主干使用3*3和1*1卷积;残差块中使用了7*7卷积,残差边部分不做任何处理,直接将主干的输入与输出结合,对于上一层输入的不同尺度的特征实现不同的滤波器提取;随后并行添加1*1卷积用于约束通道数,提升网络的表达能力;再结合多头自注意力机制,使其收敛的更加平滑的同时增加对高频噪声鲁棒性;
13.在neck模块中引入动态卷积dy_conv,使用于fpn中不同尺度的特征图融合之中,将一个固定的卷积核,变为可以根据输入自适应改变注意力的卷积核。
14.进一步地,步骤(2)所述scbam模块由输入、通道注意力模块、空间注意力模块和输出组成,使用并行方式连接,通过r这个超参数,对通道注意力模块进行通道分配,c*r的通道数进入通道注意力模块,c*(1-r)进入空间注意力,然后进行相加,并用shuffle对两者生成的信息相互渗透,具体如下:
15.输入特征f∈r
c*h*w
,然后是通道注意力模块一维卷积mc∈r
c*1*1
,同时空间注意力模块的二维卷积ms∈r
1*h*w
,再将两者输出结果相加后shuffle,计算方式如下:
[0016][0017][0018][0019]
通道注意力模块将输入的feature map经过两个并行的maxpool层和avgpool层,将特征图从c*h*w变为c*1*1的大小,然后经过mlp模块,再经过relu激活函数得到两个激活后的结果;将两个输出结果进行逐元素相加,最后通过一个sigmoid激活函数得到channel attention的输出结果,再将这个输出结果乘原图通道注意力公式:
[0020][0021]
式中,σ为sigmoid函数,w0∈r
c/r
×c,w1∈rc×
c/r
,mlp的权重w0和w1共享,在w0前是relu激活函数,和分别是通过平均池化和最大池化后的特征图。
[0022]
空间注意力机制将通道注意力的输出结果通过最大池化和平均池化得到两个1*h*w的特征图,然后经过concat操作对两个特征图进行拼接,通过7*7卷积变为1通道的特征
图,再经过一个sigmoid得到spatial attention的特征图,空间注意力公式:
[0023][0024]
式中,σ为sigmoid函数,f
7x7
为7x7大小的卷积核,和分别是通过最大池化和平均池化后的特征图。
[0025]
进一步地,步骤(3)所述giou算法的计算方式如下:
[0026][0027]
l
giou
=1-giou
[0028]
找到把a和b包含在内的最小封闭区域c,计算c中没有覆盖a和b的面积与c总面积的比值,最后用iou减去这个比值,lgiou则作为边界框损失函数。
[0029]
进一步地,步骤(3)所述focal loss的计算方式如下:
[0030][0031]
fl(p
t
)=-αt(1-p
t
)
γ
log(p
t
)
[0032]
其中,p和1-p是两个参数用于平衡正样本和负样本的权重,p
t
为模型预测概率,γ为样本标签值,通常取值为2,权重因子αt∈[0,1],当为正样本时,权重因子就是αt,当为负样本时,权重因子为1-αt。
[0033]
基于相同的发明构思,本发明还提供一种基于msa-yolov5的恶劣天气下车辆检测装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现上述的一种基于msa-yolov5的恶劣天气下车辆检测方法。
[0034]
有益效果:与现有技术相比,本发明的有益效果:1、本发明设计了一种基于msa-yolov5的特征提取网络,该网络通过多次多尺度融合提高了所提取到特征的复杂性;特征图在该网络的传递过程中不仅可以维持高分辨率的特征,增加了高层特征图的位置信息和低层特征图的语义信息,一定程度上解决了小尺寸目标在高层特征图上消失的问题;2、本发明通过进一步加深网络深度,结合卷积与注意力机制,增加对各种尺度的目标特征的提取能力,提高了算法对恶劣条件下车辆、行人的检测精度;3、本发明针对特征层融合,将固定卷积核改成动态卷积,灵活的对不同特征进行分别提取,一定程度的缓解了融合时特征丢失的问题;4、本发明利用更强的特征提取msa-resblock取代了yolov5算法中的cspdarknet,并且在原本三个特征提取层的基础上又增加了一个特征提取层,解决了小尺度目标的特征高层特征图消失的问题,从而使算法对车辆、行人的检测准确率更高;5、通过融合不同尺度的特征图增加检测算法对中小尺寸目标的关注,使用giou算法和focalloss算法优化损失函数,进一步提高算法的检测精度。
附图说明
[0035]
图1为基于msa-yolov5的恶劣天气下车辆检测方法流程图;
[0036]
图2为msa-yolov5的模型网络结构示意图;
[0037]
图3为b-csp模块的结构示意图
[0038]
图4为bottleneck的结构示意图;
[0039]
图5为scbam模块的结构示意图;
[0040]
图6为msa模块的结构示意图;
[0041]
图7为本发明实施例中的效果图;其中(a)为雨天条件下采用本发明的检测效果图;(b)为雾天条件下采用本发明的检测效果图;
[0042]
图8为本发明实施例中的map图。
具体实施方式
[0043]
下面结合附图对本发明作进一步详细说明。
[0044]
本发明实施例公开的一种基于msa-yolov5的恶劣天气下车辆检测方法,如图1所示,具体包括以下步骤:
[0045]
步骤1:将dawn数据集划分为训练即与测试集,并进行预处理。
[0046]
我们选用dawn恶劣天气中的车辆检测数据集,将dawm数据集按照9:1的比例随机划分为训练数据集和测试数据集,并将训练集的图片统一归一化为640*640尺寸大小的图片;其中包括了国内不同场景、不同天气状况下近1000张恶劣天气下车辆图像。然后,对数据集进行预处理,对车辆图像进行随机裁剪、旋转的方法进行数据增广。使用mosaic数据增强,其方法就是利用了四张图片,对四张图片进行拼接,每一张图片都有其对应的框,将四张图片拼接之后就获得一张新的图片,同时也获得这张图片对应的框,然后我们将这样一张新的图片传入到神经网络当中去学习,相当于一下子传入四张图片进行学习。
[0047]
步骤2:构建msa-yolov5模型,并对其进行训练。
[0048]
本发明构建的msa-yolov5模型如图2所示,主要包括backbone模块、neck模块以及prediction模块。其中backbone部分主要用于在不同图像细粒度上聚合并形成图像特征的卷积神经网络,原有yolov5所使用的backbone是cspdarknet,本发明用msa-resblock代替yolov5中的cspdarknet,其中包括focus、scbam和resblock模块。对于输入的图像,首先采用focus网络结构,在一张图片中每隔一个像素拿到一个值,这个时候获得了四个独立的特征层,然后将四个独立的特征层进行堆叠,此时宽高信息就集中到了通道信息,输入通道扩充了四倍。然后使用scbam注意力机制模块,scbam是一种轻量级的注意力机制模块,它结合了通道和空间的注意力机制,从而实现了对恶劣天气造成的模糊效果进行优化。通过3*3的卷积对通过scbam后的特征图进行下采样,使其高宽减半的同时通道数翻倍。接着将特征图送入resblock中,resblock由三个部分组成,cbs、msa以及b-csp模块;cbs模块是卷积、批量归一和激活操作,目的是不改变特征图的高宽、不改变图像大小,只改变图像深度变化。msa为多头注意力机制模块,通过qkv查询检索与自己相关的序列,然后经过两个全连接层进行分类;其特点是有助于在全局中搜寻特征之间的联系。如图3所示,b-csp模块分为两个部分,包括了主干和如图4所示的残差结构bottleneck,考虑到车辆有大小不一的尺寸,b-csp模块主干使用3*3和1*1卷积;残差块中使用了7*7卷积,残差边部分不做任何处理,直接将主干的输入与输出结合,两种卷积同时进行特征提取,这样对于上一层输入的不同尺度的特征可以实现不同的滤波器提取。随后并行添加1*1卷积用于约束通道数,提升网络的表达能力。再结合多头自注意力机制msa,其结构如图6所示,conv是高通滤波器而msa是低通滤波器,msa倾向于减少高频信号,而conv会放大,两者结合可以互补,使其收敛的更加平滑的
同时增加对高频噪声鲁棒性。
[0049]
在neck模块中主要引入了动态卷积dy_conv,使用于fpn中不同尺度的特征图融合之中,将一个固定的卷积核,变为可以根据输入自适应改变注意力的卷积核。动态卷积并不是在每层都是用单个卷积核,而是根据注意力动态地聚合多个并行的卷积核,注意力会根据输入动态地调整每个卷积核的权重大小,从而生成自适应的动态卷积。由于注意力是输入的函数,动态卷积不再是一个简单的线性函数,通过注意力以这种非线性的方式叠加卷积核具有更强的特征表达能力。动态卷积是由avg pool和两个全连接层组成。得益于其较小的内核尺寸,叠加多个卷积核在计算上并不会造成效率下降,因此,其引入的额外计算量也是非常小的。
[0050]
如图5所示,scbam模块由输入、通道注意力模块、空间注意力模块和输出组成,使用并行方式连接,通过r这个超参数,可以对通道注意力模块进行通道分配,c*r的通道数进入通道注意力模块,c*(1-r)进入空间注意力,然后进行相加,并用shuffle对两者生成的信息相互渗透,这样可以减少一定的运算量但是不降低其性能。
[0051]
输入特征f∈r
c*h*w
,然后是通道注意力模块一维卷积mc∈r
c*1*1
,同时空间注意力模块的二维卷积ms∈r
1*h*w
,再将两者输出结果相加后shuffle,计算方式如下:
[0052][0053][0054][0055]
通道注意力模块将输入的feature map经过两个并行的maxpool层和avgpool层,将特征图从c*h*w变为c*1*1的大小,然后经过mlp模块,再经过relu激活函数得到两个激活后的结果。将这两个输出结果进行逐元素相加,最后通过一个sigmoid激活函数得到channel attention的输出结果,再将这个输出结果乘原图通道注意力公式:
[0056][0057]
式中,σ为sigmoid函数,w0∈r
c/r
×c,w1∈rc×
c/r
,mlp的权重w0和w1共享,在w0前是relu激活函数,和分别是通过平均池化和最大池化后的特征图;
[0058]
空间注意力机制将通道注意力的输出结果通过最大池化和平均池化得到两个1*h*w的特征图,然后经过concat操作对两个特征图进行拼接,通过7*7卷积变为1通道的特征图,再经过一个sigmoid得到spatial attention的特征图,空间注意力公式:
[0059][0060]
式中,σ为sigmoid函数,f
7x7
为7x7大小的卷积核,和分别是通过最大池化和平均池化后的特征图。
[0061]
在precision模块是对图像特征进行预测,生成边界框和预测类别。使用giou算法作为边界框损失函数,使用focalloss降低预测框内正负样本的不平衡问题。giou的计算方式如下:
[0062][0063]
l
giou
=1-giou
[0064]
该公式的含义为:找到可以把a和b包含在内的最小封闭区域c,计算c中没有覆盖a和b的面积与c总面积的比值,最后用iou减去这个比值,l
giou
则作为边界框损失函数。
[0065]
focal loss的计算方式如下:
[0066][0067]
fl(p
t
)=-αt(1-p
t
)
γ
log(p
t
)
[0068]
其中,p和1-p是两个参数用于平衡正样本和负样本的权重,p
t
为模型预测概率,γ为样本标签值,权重因子αt∈[0,1],当为正样本时,权重因子就是αt,当为负样本时,权重因子为1-αt。
[0069]
基于相同的发明构思,本发明还提供一种基于msa-yolov5的恶劣天气下车辆检测装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现上述的一种基于msa-yolov5的恶劣天气下车辆检测方法。
[0070]
模型训练后对雨天和雾天的天气条件下对车辆目标的检测效果如图7所示,标注了所检测出目标的类别以及置信度,其中图7(a)为雨天条件下效果图;图7(b)为雾天条件下效果图。
[0071]
如图8所示,模型训练采用学习率预热,使用随机梯度下降算法进行求解,共训练300轮。学习率预热是指首先使用较低的学习率0.000001进行学习,经过两轮训练之后缓慢上升到0.0001;使用训练得到的最佳模型对公共数据集voc2012测试集进行测试,得到测试精度结果相较于yolov5增加了近8%的精度。
技术特征:1.一种基于msa-yolov5的恶劣天气下车辆检测方法,其特征在于,包括以下步骤:(1)将dawn数据集划分为训练集与测试集,并进行预处理;(2)构建msa-yolov5模型;所述msa-yolov5模型包括backbone模块、neck模块以及prediction模块;所述backbone模块为msa-resblock,包括focus网络、scbam模块和resblock模块;(3)将预处理好的图片输入到msa-yolov5模型中训练:首先用scbam模块对恶劣天气下,模糊场景中的车辆、行人目标进行特征强化;然后通过多尺度特征融合,使用giou算法作为边界框损失函数,使用focalloss降低预测框内正负样本的不平衡问题;(4)检测出恶劣天气下车辆、行人的位置信息和标签信息,并得出检测的精确度。2.根据权利要求1所述的一种基于msa-yolov5的恶劣天气下车辆检测方法,其特征在于,所述步骤(1)实现过程如下:将dawm数据集按照9:1的比例随机划分为训练数据集和测试数据集;并将训练集的图片统一归一化为640*640尺寸大小的图片;对车辆图像进行随机裁剪、旋转的方法进行数据增广;使用mosaic数据增强,利用四张图片,对四张图片进行拼接,每一张图片都有其对应的框,将四张图片拼接之后就获得一张新的图片,同时也获得这张图片对应的框,然后将一张新的图片输入到神经网络当中学习。3.根据权利要求1所述的一种基于msa-yolov5的恶劣天气下车辆检测方法,其特征在于,步骤(2)所述backbone模块用于在不同图像细粒度上聚合并形成图像特征的卷积神经网络;对于输入的图像,首先采用focus网络结构,在一张图片中每隔一个像素拿到一个值,获得了四个独立的特征层,然后将四个独立的特征层进行堆叠,此时宽高信息就集中到了通道信息,输入通道扩充了四倍;然后使用了scbam注意力机制模块,实现对恶劣天气造成的模糊效果进行优化,通过3*3的卷积对通过scbam后的特征图进行下采样,使其高宽减半的同时通道数翻倍;接着将特征图送入resblock中,resblock包括cbs、msa以及b-csp模块;cbs模块是卷积、批量归一和激活操作;msa为多头注意力机制模块,在全局中搜寻特征之间的联系;b-csp模块分为两个部分,包括了主干和残差结构bottleneck,b-csp模块主干使用3*3和1*1卷积;残差块中使用了7*7卷积,残差边部分不做任何处理,直接将主干的输入与输出结合,对于上一层输入的不同尺度的特征实现不同的滤波器提取;随后并行添加1*1卷积用于约束通道数,提升网络的表达能力;再结合多头自注意力机制,使其收敛的更加平滑的同时增加对高频噪声鲁棒性;在neck模块中引入动态卷积dy_conv,使用于fpn中不同尺度的特征图融合之中,将一个固定的卷积核,变为可以根据输入自适应改变注意力的卷积核。4.根据权利要求1所述的一种基于msa-yolov5的恶劣天气下车辆检测方法,其特征在于,步骤(2)所述scbam模块由输入、通道注意力模块、空间注意力模块和输出组成,使用并行方式连接,通过r这个超参数,对通道注意力模块进行通道分配,c*r的通道数进入通道注意力模块,c*(1-r)进入空间注意力,然后进行相加,并用shuffle对两者生成的信息相互渗透,具体如下:输入特征f∈r
c*h*w
,然后是通道注意力模块一维卷积m
c
∈r
c*1*1
,同时空间注意力模块的二维卷积m
s
∈r
1*h*w
,再将两者输出结果相加后shuffle,计算方式如下:
通道注意力模块将输入的feature map经过两个并行的maxpool层和avgpool层,将特征图从c*h*w变为c*1*1的大小,然后经过mlp模块,再经过relu激活函数得到两个激活后的结果;将两个输出结果进行逐元素相加,最后通过一个sigmoid激活函数得到channel attention的输出结果,再将这个输出结果乘原图通道注意力公式:式中,σ为sigmoid函数,w0∈r
c/r
×
c
,w1∈r
c
×
c/r
,mlp的权重w0和w1共享,在w0前是relu激活函数,和分别是通过平均池化和最大池化后的特征图;空间注意力机制将通道注意力的输出结果通过最大池化和平均池化得到两个1*h*w的特征图,然后经过concat操作对两个特征图进行拼接,通过7*7卷积变为1通道的特征图,再经过一个sigmoid得到spatial attention的特征图,空间注意力公式:式中,σ为sigmoid函数,f
7x7
为7x7大小的卷积核,和分别是通过最大池化和平均池化后的特征图。5.根据权利要求1所述的一种基于msa-yolov5的恶劣天气下车辆检测方法,其特征在于,步骤(3)所述giou算法的计算方式如下:l
giou
=1-giou找到把a和b包含在内的最小封闭区域c,计算c中没有覆盖a和b的面积与c总面积的比值,最后用iou减去这个比值,lgiou则作为边界框损失函数。6.根据权利要求1所述的一种基于msa-yolov5的恶劣天气下车辆检测方法,其特征在于,步骤(3)所述focal loss的计算方式如下:fl(p
t
)=-αt(1-p
t
)
γ
log(p
t
)其中,p和1-p是两个参数用于平衡正样本和负样本的权重,p
t
为模型预测概率,γ为样本标签值,权重因子αt∈[0,1],当为正样本时,权重因子就是αt,当为负样本时,权重因子为1-αt。7.一种基于msa-yolov5的恶劣天气下车辆检测装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-6任一项所述的一种基于msa-yolov5的恶劣天气下车辆检测方法。
技术总结本发明公开了一种基于MSA-Yolov5的恶劣天气下车辆检测方法及装置,首先,将DAWN数据集划分为训练集与测试集,并进行预处理;其次,构建MSA-Yolov5模型,包括Backbone模块、Neck模块以及Prediction模块;其中Backbone模块为MSA-ResBlock,包括Focus网络、SCBAM模块和ResBlock模块;首先用SCBAM模块对恶劣天气下,模糊场景中的车辆、行人目标进行特征强化;然后通过多尺度特征融合,使用GIoU算法作为边界框损失函数,使用FocalLoss降低预测框内正负样本的不平衡问题;最后检测出恶劣天气下车辆、行人的位置信息和标签信息,并得出检测的精确度。本发明具有图像校正的计算量减小、检测流程精简、网络的识别精度高的特点,可以对恶劣天气下的车辆、行人进行检测,并且具有检测速度快、模型小、准确率高的优点。准确率高的优点。准确率高的优点。
技术研发人员:高尚兵 刘宇 李杰 陈浩霖 于永涛 张海艳 陈晓兵 张秦涛 胡序洋 李少凡
受保护的技术使用者:淮阴工学院
技术研发日:2022.07.07
技术公布日:2022/11/1