基于深度学习的夜间交通标志图像检测模型建立方法

文档序号:32870655发布日期:2023-01-07 03:39阅读:67来源:国知局
基于深度学习的夜间交通标志图像检测模型建立方法

1.本发明涉及交通标志检测识别领域,具体涉及基于深度学习的夜间交通标志图像检测模型建立方法。


背景技术:

2.随着各类目标检测框架逐渐成熟、以及大型国外交通标志数据集的出现,已出现许多基于深度学习的交通标志检测与识别实证研究,研究结果显示出了深度学习在交通标志检测与识别领域的优越性,基于深度学习的交通标志进行检测与识别方法成为当前的研究主流。但是,在采用目前较为成熟的深度学习模型检测交通标志时,发现在夜间等弱光照条件下的交通标识样本识别检测的失败率,远远大于光照条件充足条件下的交通标识样本识别检测失败率。检测失败的表现形式为漏检和定位不准、置信度较低。
3.本案发明人在研究过程中发现,在夜晚,交通标志四周的灯光强度等因素也会反映到交通标志图像上,表现为图像中样本的辨识度出现显著的差异,特别是交通标志周围存在其它夜间强光源的时候,交通标志较难从场景中被分离出来。因此传统图像检测模型很难满足实际的应用需求。在智能交通应用中,不可避免的出现很多复杂的夜间交通标志识别的工况,因此有必要对夜间条件下的交通标志检测与识别方法进行深入研究,以提高其在实际应用中的效果。


技术实现要素:

4.本发明提供基于深度学习的夜间交通标志图像检测模型建立方法,以解决现有技术中的图像检测模型在夜间交通标志识别中面临的定位不准、特征提取困难、识别失败率较高等问题,实现改善对夜间交通标志的识别效果、提高识别精确率的目的。
5.本发明通过下述技术方案实现:
6.基于深度学习的夜间交通标志图像检测模型建立方法,包括:
7.采集包含夜间交通标志的图像作为训练集;
8.聚类先验框;
9.在yolov3特征提取网络中引入注意力机制,得到改进的yolov3网络;所述注意力机制通过浅层特征图实现空间注意力,通过深层特征图实现通道注意力;
10.确定边框损失函数;
11.将所述训练集输入改进的yolov3网络进行训练,得到夜间交通标志图像检测模型。
12.针对现有技术中图像检测模型在夜间交通标志识别中面临的定位不准、特征提取困难、识别失败率较高等问题,本发明提出一种基于深度学习的夜间交通标志图像检测模型建立方法,本方法采集包含多种夜间交通标志的图像作为训练集,将训练集代入至深度学习网络中进行训练,以训练后的网络作为夜间交通标志图像检测模型。本方法所使用的深度学习网络以yolov3作为基础框架,在所引入的注意力机制中进行改进。
13.本案发明人在研究过程中发现,在夜间交通标志识别模型的生成中,深层网络空间的特征图小,通道数多;在夜间模糊、光照条件不足的图片中,提取的通道权重概括性大且落到一些具体特征上。因此,本方法通过浅层特征图实现空间注意力、通过深层特征图实现通道注意力,即是采用深层特征网络实现通道注意力机制权重分布,浅层特征网络实现空间注意力机制权重分布,与传统的cbam注意力机制相比,所提取的通道注意力通道数多,权重能得到充分的体现,因此更容易提高对夜间交通标志检测识别的准确率。
14.进一步的,所述注意力机制通过如下方法输出:
15.在yolov3网络残差结构生成的特征图中,确定来自网络深层的深层特征图、来自网络浅层的浅层特征图;其中,浅层特征图是深层特征图的两倍大的分支;
16.以深层特征图作为注意力机制的第一个输入,得到具有通道重要性差异的全新特征图作为第一特征图;
17.以浅层特征图作为注意力机制的第二个输入,得到附带空间像素权重关系的全新特征图作为第二特征图;
18.对所述第一特征图和第二特征图作连接操作,得到注意力机制的输出。
19.本方案对改进的注意力机制的运行过程作出更细化的限定。作为本领域现有技术,yolov3的主干特征提取网络为darknet53、残差网络为residual,整个主干部分都由残差卷积构成,使用resblock_body残差结构进行重复。图像经过卷积网络的特征提取后,残差结构会生成多个通道特征图,本方案将来自网络深层和网络浅层的特征图分别处理,满足浅层特征图是深层特征图的两倍大的分支,即是当深层特征图为13
×
13时,浅层特征图则为26
×
26。可以看出,本方案采用深层特征网络实现通道注意力机制权重分布得到第一特征图,浅层特征网络实现空间注意力机制权重分布得到第二特征图,最后对两者进行连接操作,作为改进后的注意力机制的输出。
20.进一步的,得到所述第一特征图的方法包括:
21.对所述深层特征图执行最大池化和平均池化轮询操作,得到每个通道最大值和平均值;
22.执行全局平均池化和全局最大池化操作,得到平均池化、最大池化两个维度的通道特征量;
23.对两个维度的通道特征量共享全连接层,共享过程中保持特征量维度不变,对共享后的两个结果进行相加,得到全局通道特征量;使用sigmoid函数对全局通道特征量进行非线性激活,得到c1×1×
1维度的通道权重系数;其中,c1为输入深层特征图的通道数;
24.对所述深层特征图做微步卷积,得到第三特征图;
25.将所述第三特征图与所述通道权重系数相乘,得到所述第一特征图。
26.进一步的,对所述深层特征图做微步卷积的方法包括:
27.对所述深层特征图做内部填充:在特征图的x坐标方向和y坐标方向每两个特征点之间填充它们的平均值,并在x坐标方向和y坐标方向的末尾复制最后一个特征点;其中,当某特征点在x坐标方向或y坐标方向无对应参照点时,取四个斜对角的均值进行填充;
28.做卷积核大小为3
×
3的卷积。
29.其中,无对应参照点是指位于边界的、向外(上下左右)无对应匹配的特征点可以构成前述“两个特征点”的特征点,对于这类特征点,在该特征点与特征图末尾之间填充的
是特征图四个斜对角的平均值。
30.对于通道注意力机制,在通道卷积的上采样过程中,现有方式是直接在特征图边界直接做一个简单复制填充,破坏了夜间图片原有的空间分布深层语义信息,让夜间交通标志检测在弱光照条件下,图片昏暗、不够清晰、简单上采样的情况下的准确度下降明显。而本方案采用改良后的微步卷积代替上采样的门控作用,在特征点之间填充两点的均值,最大程度保留了深层网络的空间结构和上下语义信息,对漏检、像素有限、小目标检测等情况的检测有稳定的提升,对现有的夜间交通标志图片识别技术存在的问题有较大改善。
31.进一步的,得到所述第二特征图的方法包括:
32.在c2个通道上对浅层特征图的特征点做局部最大编码、局部平均编码,分别得到编码结果f
pmax
,f
pavg

33.分别在f
pmax
,f
pavg
空间沿着通道方向特征点,生成数量为h2×
w2的特征向量;其中,h2为输入浅层特征图的高,w2为输入浅层特征图的宽;
34.使用c2×
1的向量卷积对h2×
w2个向量进行卷积处理,得到两张经过编码和卷积的权重图;
35.将两张权重图的映射转发到卷积层,产生只有一个通道的权重图,使用sigmoid函数激活,得到空间注意力权重矩阵;
36.将所述浅层特征图与空间注意力权重矩阵相乘,得到所述第二特征图。
37.进一步的,所述浅层特征图的特征张量为其中f2为输入的浅层特征图。作为本领域公知常识,本领域技术人员应当理解,其中r为特征张量的实数集符号,无具体含义。
38.进一步的,在做局部最大编码、局部平均编码的过程中,所采用的过滤器宽为d、高为d、步长为1;其中,r为比率。
39.本案发明人在研究过程中发现,在夜间弱光照条件下的交通标识样本检测准确率大大小于光照条件充足下的情况,其原因主要在于图片特征表现形式不够清晰,特征提取网络没能有效提取特征的空间结构信息。为了克服上述问题,本方案在浅层网络实现空间注意力时,抛弃了现有技术中在每一个特征点的通道上取最大值和平均值的方式,而是分别对每个通道做过滤器为d
×
d、步长为1的局部最大编码和局部平均编码,增大了感受视野,增强了夜间交通标志图像在经过图像预处理后的局部特征性,克服了现有技术在通道特征点上取最大值和平均值造成深层特征的丢失问题。
40.并且,本方案采用c2×
1的向量卷积对每个通道特征点形成的向量做权重二维卷积变换,能够有效地捕捉不同通道同一特征点的上下语义特征,增强了权重图的表达能力、提高了算法模型对夜间昏暗图像预处理后的突出特征检测能力,更加改善了对夜间交通标志的识别效果。
41.进一步的,所述聚类先验框采用k-means++算法实现,所采用的k-means++算法的质心计算公式为:
[0042][0043]
δx=|c
i-1-x|
[0044]
式中:ci为聚类中心,x为样本点,|ci|为该类样本个数,c
i-1
为上一次迭代的聚类中心,δx为样本点与c
i-1
的曼哈顿距离,δxm为中位数m与c
i-1
的曼哈顿距离。
[0045]
现有的k-means++算法中,将簇的质心看成聚类中心加入到下一轮计算当中,因此少量的该类数据都能够对平均值产生极大影响,导致结果的不稳定甚至错误,这也对夜间交通标志的准确检测造成困难。为了克服上述问题,本方案对k-means++算法的质心计算进行优化,在选举质心时做权重调整,加入中位数m作为临界点,从而克服了现有技术所面临的噪声和孤立点数据敏感问题,更加有利于对夜间交通标志的准确检测。
[0046]
进一步的,所确定的边框损失函数包括置信度误差、定位误差和分类误差;
[0047]
其中,置信度误差和分类误差采用交叉熵误差计算;
[0048]
定位误差采用如下方法计算:
[0049]
计算预测框与真实框的交并比iou;
[0050]
计算目标定位损失l
loc

[0051][0052][0053][0054]
式中:b、b
gt
分别为真实框、预测框的中心点,ρ(
·
)表示欧氏距离,c为b、b
gt
最小外接矩形的对角线距离,h、h
gt
分别为预测框、真实框的对角线,α、v均为影响因子,β为预测框和真实框的对角线夹角。
[0055]
损失函数计算定位损失时会考虑预测框会向目标框移动,同时需要考虑中心点距离和边界框的重叠面积,目标框对角线与锚框对角线之间的角度也是非常重要的,因此本方案引入影响因子α、v,将预测框和真实框的对角线比例和夹角考虑到损失函数的计算中。
[0056]
进一步的,还包括对所述训练集中的图像采用如下方法预处理:
[0057]
计算图像亮度,若亮度低于130,则引入自适应gamma校正做图像亮度增强;在所引入的自适应gamma校正中,伽马值γ通过下式计算:其中x为图像平均亮度;
[0058]
使用shi-tomasi角点检测算法获取图像的角点特征;
[0059]
对样本数量少于设定阈值的夜间交通标志图像做数据增强。
[0060]
针对现有技术夜间交通标志图片检测失败的现象,本方案还提出了专门的图像预处理方式。其核心思路是在自适应gamma校正中引入图像亮度自适应调整,对图像的亮度和对比度进行调整。图像的对比度指的是间隔,在调大像素值的同时增加像素值之间的间隔,就会提高交通标志与背景间的区分度。对不同光照程度的图像进行自适应处理,针对不同光照条件的图像合理的均衡化像素分布范围,调整图像亮度和对比度。交通标志的图像多为三角形和矩形,交通标志图案的轮廓会存在明显角度,通过检测突出角度区域的特征表现,同时它们的区分度特别高,可以精确定位稳定的特征,获取夜间交通标志图像的角点特征,进而将这些特征融入卷积神经网络的训练数据集中,使模型对夜间交通标志的特征提
取效果得到更为显著的改善。
[0061]
本发明与现有技术相比,具有如下的优点和有益效果:
[0062]
1、本发明基于深度学习的夜间交通标志图像检测模型建立方法,采用深层特征网络实现通道注意力机制权重分布,浅层特征网络实现空间注意力机制权重分布,再将两者连接后作为改进后的注意力机制的输出,与传统的cbam注意力机制相比,所提取的通道注意力通道数多,权重能得到充分的体现,因此更容易提高对夜间交通标志检测识别的准确率。
[0063]
2、本发明基于深度学习的夜间交通标志图像检测模型建立方法,对于通道注意力机制采用改良后的微步卷积代替传统上采样的门控作用,在特征点之间填充两点的均值,最大程度保留了深层网络的空间结构和上下语义信息,对漏检、像素有限、小目标检测等情况的检测有稳定的提升,对现有的夜间交通标志图片识别技术存在的问题有较大改善。
[0064]
3、本发明基于深度学习的夜间交通标志图像检测模型建立方法,对于空间注意力机制,抛弃了现有技术中在每一个特征点的通道上取最大值和平均值的方式,而是分别对每个通道做局部最大编码和局部平均编码,增大了感受视野,增强了夜间交通标志图像在经过图像预处理后的局部特征性,克服了现有技术在通道特征点上取最大值和平均值造成深层特征的丢失问题。
[0065]
4、本发明基于深度学习的夜间交通标志图像检测模型建立方法,对每个通道特征点形成的向量做权重二维卷积变换,能够有效地捕捉不同通道同一特征点的上下语义特征,增强了权重图的表达能力、提高了算法模型对夜间昏暗图像预处理后的突出特征检测能力,更加改善了对夜间交通标志的识别效果。
[0066]
5、本发明基于深度学习的夜间交通标志图像检测模型建立方法,对k-means++算法的质心计算进行优化,在选举质心时做权重调整,加入中位数m作为临界点,从而克服了现有技术所面临的噪声和孤立点数据敏感问题,更加有利于对夜间交通标志的准确检测。
[0067]
6、本发明基于深度学习的夜间交通标志图像检测模型建立方法,在损失函数计算过程中引入影响因子α、v,将预测框和真实框的对角线比例和夹角考虑到损失函数的计算中,以此提高检测精度。
[0068]
7、本发明基于深度学习的夜间交通标志图像检测模型建立方法,在图像预处理过程中,于自适应gamma校正中引入图像亮度自适应调整,对图像的亮度和对比度进行调整;并且可以精确定位稳定的特征,获取夜间交通标志图像的角点特征,进而将这些特征融入卷积神经网络的训练数据集中,使模型对夜间交通标志的特征提取效果得到更为显著的改善。
附图说明
[0069]
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本技术的一部分,并不构成对本发明实施例的限定。在附图中:
[0070]
图1为本发明具体实施例的流程示意图;
[0071]
图2为本发明具体实施例中网络结构示意图;
[0072]
图3为本发明具体实施例中注意力机制的示意图;
[0073]
图4为本发明具体实施例中图像预处理前后的对比示意图。
具体实施方式
[0074]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。在本技术的描述中,需要理解的是,术语“前”、“后”、“左”、“右”、“上”、“下”、“竖直”、“水平”、“高”、“低”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术保护范围的限制。
[0075]
实施例1:
[0076]
如图1所示的基于深度学习的夜间交通标志图像检测模型建立方法,包括:
[0077]
采集包含夜间交通标志的图像作为训练集;
[0078]
聚类先验框;
[0079]
在yolov3特征提取网络中引入注意力机制,得到改进的yolov3网络;所述注意力机制通过浅层特征图实现空间注意力,通过深层特征图实现通道注意力;
[0080]
确定边框损失函数;
[0081]
将所述训练集输入改进的yolov3网络进行训练,得到夜间交通标志图像检测模型。
[0082]
其中,所引入的注意力机制的工作流程如图3所示,包括:
[0083]
在yolov3网络残差结构生成的特征图中,确定来自网络深层的深层特征图、来自网络浅层的浅层特征图;其中,浅层特征图是深层特征图的两倍大的分支;
[0084]
以深层特征图作为注意力机制的第一个输入,得到具有通道重要性差异的全新特征图作为第一特征图;
[0085]
以浅层特征图作为注意力机制的第二个输入,得到附带空间像素权重关系的全新特征图作为第二特征图;
[0086]
对所述第一特征图和第二特征图作连接操作,得到注意力机制的输出。
[0087]
本实施例中,得到所述第一特征图的方法包括:
[0088]
对所述深层特征图执行最大池化和平均池化轮询操作,得到每个通道最大值和平均值,其主要目的是聚合空间信息并提取通道的表示符号:
[0089]
设输入特征张量c2=2c1,h2=2h1,w2=2w1;f1为输入的深层特征图,c1为深层特征图的通道数,h1为深层特征图的高,w1为深层特征图的宽,c2为浅层特征图的通道数,h2为浅层特征图的高,w2为浅层特征图的宽;
[0090]
执行全局平均池化和全局最大池化操作,得到平均池化、最大池化两个维度的通道特征量,该通道特征量初步表征了不同通道间的重要程度,全局平均池化和全局最大池化的过程为:
[0091]
[0092][0093]
其中,f
avg
(x)和f
max
(x)分别表示全局平均池化函数和全局最大池化函数,x(i,j)表示坐标为(i,j)的像素值,k表示第k个通道。
[0094]
对两个维度的通道特征量共享全连接层,共享过程中保持特征量维度不变,对共享后的两个结果进行相加,得到全局通道特征量;使用sigmoid函数对全局通道特征量进行非线性激活,得到c1×1×
1维度的通道权重系数;
[0095]
对所述深层特征图做微步卷积:对所述深层特征图做内部填充,在特征图的x坐标方向和y坐标方向每两个特征点之间填充它们的平均值,并在x坐标方向和y坐标方向的末尾复制最后一个特征点;其中,当某特征点在x坐标方向或y坐标方向无对应参照点时,取四个斜对角的均值进行填充;
[0096]
本实施例以x坐标方向为例进行说明,x坐标方向的具体填充公式如下:
[0097]
当i为偶数,j为奇数时:
[0098]
x(i,w2)=x(i,w
2-1)
[0099]
i∈h2,j∈w2,i=2k,j=2k+1,k为正整数
[0100]
当i,j都为奇数时:
[0101][0102]
x(i,w2)=x(i-1,w
2-1),x(h2,j)=x(h
2-1,j-1)
[0103]
i∈h2,j∈w2,i=2k+1,j=2k+1,k为正整数
[0104]
y坐标方向同理。
[0105]
之后进行微步卷积的最后一步,做卷积核大小为3
×
3的卷积,得到的第三特征图;
[0106]
将所述第三特征图与所述通道权重系数相乘,得到全新的特征图f
″1,定义为第一特征图:
[0107]f′1=f
conv1
(f1)
[0108]f″1=δ[w0f
max
(f1)+w1f
avg
(f1)]
·f′1[0109]
其中,f
conv1
表示微步卷积,w0,w1表示全连接层权重系数矩阵,δ表示sigmoid激活函数。
[0110]
本实施例中,得到所述第二特征图的方法包括:
[0111]
设浅层特征图的输入特征张量为在c2个通道上对特征点做过滤器为d
×
d、步长为1、复制填充的局部最大编码、局部平均编码,分别得到编码结果f
pmax
,f
pavg
;其中,r为比率;具体公式为:
[0112]fpavg
(x)=max(x(i,j)),i,j∈d
[0113]fpmax
=f
pmax
(x(i,j)),f
pavg
(x)=f
pavg
(x(i,j)),for i=1,j=1,

,d
[0114]
然后,分别在f
pmax
,f
pavg
空间沿着通道方向特征点,生成数量为h2×
w2的的特征向量:
[0115]
x
pmax
(i,j)∈f
pmax
[0116]
x
pavg
(i,j)∈f
pavg
[0117]
使用c2×
1的向量卷积对h2×
w2个向量进行卷积处理,分别得到两张经过编码和卷积的权重图;将两张权重图的映射转发到卷积层,产生只有一个通道的权重图,使用sigmoid函数激活,得到空间注意力权重矩阵;将所述浅层特征图与空间注意力权重矩阵相乘,得到所述第二特征图f
′2;具体公式为:
[0118][0119][0120]f′2=δ[f
conv2
(f
conc
(f
conv1
,f
conv2
))]
·
f2[0121]
式中,为自定义的函数,x
pmax
(i,j)为特征像素点,f
conv1
为向量卷积,f
conv2
为通道调整卷积,f
conc
表示连接操作,δ表示sigmoid激活函数。
[0122]
本实施例中对所述第一特征图f
″1和第二特征图f
′2作连接操作,得到注意力机制的输出的公式表达为:f
cbam-1
=f
conc
(f
″1,f
′2)。
[0123]
在更为优选的实施方式中,所采集的训练集以包含当前地区所有可能出现的交通标志为优。
[0124]
实施例2:
[0125]
基于深度学习的夜间交通标志图像检测模型建立方法,在实施例1的基础上,本实施例使用k-means++算法来聚类先验框、划分先验框的9个尺度。
[0126]
本实施例在k-means++算法选举质心时做权重调整,加入中位数m作为临界点,质心计算公式为:
[0127][0128]
δx=|c
i-1-x|
[0129]
式中:ci为聚类中心,x为样本点,|ci|为该类样本个数,c
i-1
为上一次迭代的聚类中心,δx为样本点与c
i-1
的曼哈顿距离,δxm为中位数m与c
i-1
的曼哈顿距离。
[0130]
实施例3:
[0131]
基于深度学习的夜间交通标志图像检测模型建立方法,在实施例1或2的基础上,边框损失函数包括置信度误差、定位误差和分类误差;
[0132]
其中,置信度误差和分类误差采用交叉熵误差计算;
[0133]
定位误差采用如下方法计算:
[0134]
计算预测框与真实框的交并比iou;
[0135]
计算目标定位损失l
loc

[0136][0137][0138][0139]
式中:b、b
gt
分别为真实框、预测框的中心点,ρ(
·
)表示欧氏距离,c为b、b
gt
最小外接矩形的对角线距离,h、h
gt
分别为预测框、真实框的对角线,α、v均为影响因子,β为预测框和真实框的对角线夹角。
[0140]
实施例4:
[0141]
基于深度学习的夜间交通标志图像检测模型建立方法,在上述任一实施例的基础上,还包括对所述训练集中的图像采用如下方法预处理。
[0142]
本实施例在自适应gamma校正中引入图像亮度自适应调整:
[0143]
计算图像亮度,若亮度低于130,则引入自适应gamma校正做图像亮度增强;在所引入的自适应gamma校正中,伽马值γ通过下式计算:其中x为图像平均亮度;
[0144]
在经过上述的gamma平衡后,图像变得更加清晰锐化,交通标志图案突出颜色、形状和符号,夜间反光等基本要素就会显示出来,然后使用shi-tomasi角点检测算法获取夜间交通标志图像的角点特征,其分数公式为:r=min(λ1,λ2);式中,r为分数,λ1表征了像素点在x方向的梯度变化信息,λ2表征了像素点在y方向的梯度变化信息,如果该分数大于设定的阈值,则认为它是一个角点。
[0145]
最后对样本数量少于设定阈值的夜间交通标志图像做数据增强。
[0146]
实验表明γ(gamma)为2.2时是最合适的。
[0147]
本实施例方法预处理前后的对比如图4所示,图4中左图为原图,右图为经本实施例方法预处理的图像。
[0148]
实施例5:
[0149]
基于深度学习的夜间交通标志图像检测模型建立方法,具体过程包括:
[0150]
步骤1:数据采集及预处理
[0151]
1.1.通过车载摄像头采集包含共45类交通标志的夜间图像,如禁止、指示、警告等其他交通标志,图像中大部分交通标志边长尺寸介于1000到500像素之间。对重复的图像和目标模糊的数据集进行筛选删除。
[0152]
1.2.将采集到的图像制作成voc格式的数据集。使用labelme标注工具对图像进行标注,得到xml格式文件,xml文件中包括目标检测框在图像中的宽度、高度、位置信息和类别信息,位置信息。对夜间图像使用如实施例4所记载的改进后的自适应gamma校正调整图像亮度和对比度、使用shi-tomasi角点检测处理,对部分样本数量稀少的交通标志进行数据增强。
[0153]
1.3.将处理完的图像数据放在jpegimages文件夹下,图像标注数据放在
annotations文件夹下。将标注完毕的所有数据,按照5:1的比例划分为训练集用数据和测试用数据,训练用数据进一步按照9:1的比例划分为训练集和验证集,测试用数据用作测试集。
[0154]
步骤2:搭建如图2所示的改进yolov3网络模型:
[0155]
2.1.yolov3的主干特征提取网络为darknet53,使用残差网络residual,将darknet53中的残差卷积分为两个部分,主干部分是一次1x1的卷积和一次3x3的卷积;残差边部分不做任何处理,直接将主干的输入与输出结合。
[0156]
2.2.整个主干部分都由残差卷积构成,使用resblock_body残差结构重复了总共1+2+8+8+4次。
[0157]
2.3.用上述的yolov3模型的卷积神经主干网络提取数据集中夜间交通标志的多尺度特征,一共提取三个特征层。三个特征层位于主干部分darknet53的不同位置,分别位于中间层,中下层,底层,三个特征层的shape分别为(52,52,256)、(26,26,512)、(13,13,1024)。
[0158]
2.4.接下来对darknet-53中的残差结构生成的特征图使用如实施例1所记载的改进后的cbam-1处理,用浅层特征图实现空间注意力,用深层特征图实现通道注意力,第一个输入是来自网络深层的特征图13x13,第二个是来自浅层网络的特征图26x26。
[0159]
2.5.首先利用13x13特征图进行最大池化和平均池化轮询操作来获取每个通道最大值和平均值,并行经过两种模式的全局池化,即全局平均池化和全局最大池化,由此得到两个维度的通道特征量,该通道特征量初步表征了不同通道间的重要程度。
[0160]
2.6.全局通道特征量直接通过共享全连接层,过程中特征量维度不变,对处理后的两个结果进行相加。接着使用sigmoid函数进行非线性激活,得到c1×1×
1维度的通道权重系数。
[0161]
2.7.接下里对输入的13x13特征图做微步卷积,首先是内部填充,在x坐标方向和y坐标方向每两个特征点之间填充它们的平均值,末尾复制最后一个特征点,上下左右无参照点时取四个斜对角的均值。
[0162]
2.8.最后将输入特征图与通道权重系数相乘得到具有通道重要性差异的全新特征图f
″1。
[0163]
2.9.接下来用26x26特征图实现空间注意力,在通道上对特征点做过滤器为d
×
d的局部最大编码和局部平均编码,在空间沿着通道方向特征点生成特征向量。
[0164]
2.10.使用向量卷积对向量进行卷积处理,分别得到两张经过编码和卷积的权重图。接下来将两张图的映射转发到卷积层,以产生只有一个通道的权重图,经过sigmoid激活函数得到最终的空间注意力权重矩阵。
[0165]
2.11.将权重矩阵与输入特征图相乘即可得到附带空间像素权重关系的特征图。
[0166]
2.12.最后将两个实现通道注意力和空间注意力处理后的特征图进行一个连接操作,作为cbam-1注意力机制的输出。
[0167]
2.13.将26x26,52x52特征图输入cbam-1注意力机制重复上述过程,我们可以获得两个加强特征和一个原始13x13特征,这三个特征的shape分别为(52,52,128)、(26,26,256)、(13,13,512),然后我们用这三个shape的特征层进过五次卷积后传入yolohead获得预测结果,
[0168]
2.14.得到的预测结果后还要进行得分排序与非极大抑制筛选。
[0169]
2.15.接下来进行loss计算,需要对三个特征层进行处理,这里以最小的特征层为例。
[0170]
2.16.取出该特征层中真实存在目标的点的位置(m,13,13,3,1)及其对应的种类(m,13,13,3,45)。
[0171]
2.17.将yolo_outputs的预测值输出进行处理,得到reshape后的预测值,shape分别为(m,13,13,3,50),(m,26,26,3,50),(m,52,52,3,50)。
[0172]
2.18.获取真实框编码后的值,后面用于计算loss,编码后的值其含义与预测值相同,可用于计算loss。
[0173]
2.19.对于每一幅图,计算其中所有真实框与预测框的iou,取出每个网络点中iou最大的先验框,如果这个最大的iou都小于ignore_thresh,则保留,一般来说ignore_thresh取0.5,该步的目的是为了平衡负样本。
[0174]
2.20.计算中心的和宽高上的loss,其计算的是实际上存在目标的,利用2.19真实框编码后的结果和未处理的预测结果进行对比得到loss。
[0175]
2.21.计算置信度的loss,其有两部分构成,第一部分是实际上存在目标的,预测结果中置信度的值与1对比;第二部分是实际上不存在目标的,在第四步中得到其最大iou的值与0对比。
[0176]
2.22.计算预测种类的loss,其计算的是实际上存在目标的,预测类与真实类的差距。
[0177]
步骤3:利用处理好的数据和搭建好的模型进行训练:
[0178]
3.1.打乱训练集,每次从训练集中随机选取一批图片,并对选取的图像进行数据扩增的预处理操作,包括随即缩放、平移、翻转图像和添加噪音。将经过数据扩增处理的图像数据送入模型,通过损失函数对数据的预测值和真实值之间的误差进行计算,反向传播时按照链式法则对神经网络权值进行优化更新。
[0179]
3.2.训练过程分为两个阶段,第一阶段利用在imagenet数据集上的预训练模型,引入效果较好的预训练模型,第二阶段对整个网络参数进行更新。
[0180]
3.2.1.冻结训练第一阶段学习率取0.001,预训练模型的模型结构保持不变,将模型前k个网络层权重锁定,保持不变,利用交通标志检测数据集,重新训练未锁定的层,网络在训练集上训练50轮,得到新的权重;
[0181]
3.2.2.训练第二阶段使用学习率衰减和早停策略,对训练参数进行微调,初始学习率取0.0001,开始进行解冻训练,保持训练上一阶段得到的模型结构和参数权重,利用训练集继续训练50轮,直到损失值开始收敛,计算每个时间周期内模型在验证集损失上的误差,当模型在某个周期内的误差大于上一个周期内验证集上的误差时,停止训练,保存网络模型;当网络在连续k个周期迭代后在验证集上的损失开始小于预定的损失值时,则将训练的学习率进行减半。
[0182]
在训练完成后,用验证集进行验证,完成模型建立。
[0183]
步骤4:用测试集对模型进行测试。
[0184]
本实施例将模型经过50个epoch的训练后得到如下实验结果:
[0185]
原始yolov3模型+cbam注意力模型:在白天图片和夜间图片数量比1:1的测试集上
平均精确率为76.42%,平均召回率为76.73%,平均map为79.54%;
[0186]
本技术模型:在同样的白天图片和夜间图片数量比1:1的测试集上,平均精确率为85.54%,平均召回率为84.92%,平均map为85.51%。
[0187]
可以看出,没有任何先验信息的传统检测方法存在着定位不准、特征提取困难、浪费大量计算资源等问题。本发明提供了一种快速且精确地用于检测夜间交通标志目标的方法,有效改善了夜间交通标志存在其它强光源的时候、交通标志较难从场景中分离出来的问题。
[0188]
实施例6:
[0189]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一实施例中记载方法的步骤。
[0190]
本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序可存储于一计算机可读存介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码、对象代码形式、可执行文件或某些中间形式等。所述计算机可读取介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存储器、点载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0191]
所述处理器可以是中央处理器,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0192]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0193]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体,意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1