一种基于改进的YOLOv3的坑洼检测方法转让专利

申请号 : CN202110737810.5

文献号 : CN113486764B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗春雷黄强胡均平罗睿袁确坚段吉安夏毅敏赵海鸣

申请人 : 中南大学

摘要 :

本发明公开了一种基于改进的YOLOv3的坑洼检测方法,包括:S1、通过视觉采集系统采集坑洼图像,预处理后得到坑洼数据集,坑洼数据集包括预处理后的坑洼图像;S2、构建改进的YOLOv3坑洼检测网络模型;S3、将所述坑洼数据集的训练数据集输入所述改进的YOLOv3坑洼检测网络模型训练,当所述改进的损失函数趋近于零时,得到所述改进的YOLOv3坑洼检测网络模型的参数最优解;S4、将所述坑洼数据集输入代入了参数最优解的所述改进的YOLOv3坑洼检测网络模型,得到坑洼检测结果。本发明解决坑洼检测即要保证实时性,又要使得准确率进一步提高的问题。

权利要求 :

1.一种基于改进的YOLOv3的坑洼检测方法,其特征在于,包括以下步骤:S1、通过视觉采集系统采集坑洼图像,预处理后得到坑洼数据集,坑洼数据集包括预处理后的坑洼图像;

S2、构建改进的YOLOv3坑洼检测网络模型;

S2.1、构建特征提取网络my_Darknet‑101:通过Get_Feature特征提取模块对坑洼数据集提取坑洼的边缘和纹理信息作为初始模块,使用3个密集连接块Pothole_Block作为特征提取的主干,在每个Pothole_Block之后使用过渡层Pothole_Transition进行过渡,最终构建卷积层数为101的特征提取网络my_Darknet‑101;

所述Get_Feature特征提取模块为:以坑洼图像为输入,依次经过卷积核为1×1、过滤器数为32、步长为1的卷积层,卷积核为3×3、过滤器数为64、步长为1的卷积层,卷积核为1×1、过滤器数为32、步长为2的卷积层,之后分两通道,一通道依次经过卷积核为1×1、过滤器数为16、步长为1的卷积层,卷积核为3×3、过滤器数为32、步长为2的卷积层,另一通道经过卷积核为2×2、步长为2的均值池化卷积层,两个通道通过Concat合并后输出;

所述3个密集连接块Pothole_Block分别通过6,12和16个Pothole_Bottleneck模块构建,组增长率统一取64,所述Pothole_Bottleneck模块为:将输入卷积划分成4个通道,其中两个通道依次经过卷积核为1×1的卷积层,卷积核为3×3的卷积层,卷积核为1×1的卷积层,另两个通道依次经过卷积核为1×1的卷积层,卷积核为3×3的卷积层,卷积核为3×3卷积核为卷积层,然后四个通道通过Concat合并后输出;

所述过渡层Pothole_Transition为:将输入卷积依次通过卷积核为3×3、步长为1的卷积层,卷积核为2×2、步长为2的均值池化卷积层后输出;

S2.2、使用YOLOv3中的多尺度检测和上采样机制,作为整个网络框架的骨架,连接所述特征提取网络my_Darknet‑101和输出部分,最终构建改进的YOLOv3坑洼检测网络模型;

S3、将所述坑洼数据集的训练数据集输入所述改进的YOLOv3坑洼检测网络模型训练,采用余弦退火的学习率调整方法,并计算改进的损失函数,当所述改进的损失函数趋近于零时,得到所述改进的YOLOv3坑洼检测网络模型的参数最优解;

S4、将所述坑洼数据集输入代入了参数最优解的所述改进的YOLOv3坑洼检测网络模型,得到坑洼检测结果。

2.根据权利要求1所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,步骤S2中所述改进的YOLOv3坑洼检测网络模型为:第一通道为将第三个所述过渡层Pothole_Transition的输出卷积,依次经Conv‑unit、Conv、Conv2d后输出特征图Y1,第二通道为将第一通道的Conv‑unit的输出卷积进行上采样后,与第二个所述过渡层Pothole_Transition的输出卷积以concat方式进行连接,依次经Conv‑unit、Conv、Conv2d后输出特征图Y2,第三通道为将第二通道的Conv‑unit的输出卷积进行上采样后,与第一个所述过渡层Pothole_Transition的输出卷积以concat方式进行连接,依次经Conv‑unit、Conv、Conv2d后输出特征图Y3。

3.根据权利要求2所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,所述Y1、Y2、Y3是输出的由小到大的三个尺度的特征图,Y1、Y2、Y3的尺度分别为13×13×255,26×26×

255,52×52×255。

4.根据权利要求2所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,输入的所述坑洼图像的尺度范围为320×320×3到608×608×3,缩放尺度为32,待检测的物体数量为

1,所述输出特征图的尺度范围为10×10×18到19×19×18。

5.根据权利要求2所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,所述Conv‑unit卷积组件为依次经卷积核为1×1、3×3、1×1、3×3、1×1卷积层,所述Conv为一维卷积层,Conv2d为二维卷积层。

6.根据权利要求1所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,每个卷积层包括的激活函数为Mish激活函数。

7.根据权利要求1所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,步骤S3中所述改进的损失函数为:

Lmy‑Loss=Lmy‑conf+Lmy‑loc+Lmy‑class其中,Lmy‑conf为置信度损失,Lmy‑loc为回归损失,Lmy‑class为分类损失;α是控制样本正负γ 2

的权重系数,(1‑pj) 是调制系数,γ>0;S表示图片被分割成S×S个网格,B表示锚框个数;

表示第i个网格的第j个锚框是否负责该目标,如果负责,则 否则表示第i个网格的第j个锚框是否不负责该目标,如果不负责, 如果负责,表示第i个网格的第j个边界框的置信度, 由网格的边界框是否负责预测当前对象决定,如果负责, 否则 λnoobj控制单个网格内没有目标的损失,λcoord控制边界框预测位置的损失, 表示改变不同尺寸候选框的损失, 是第i个网格第j个真实边界框的宽度, 是第i个网格第j个预测边界框的宽度, 是第i个网格第j个真实边界框的高度, 是第i个网格第j个预测边界框的高度,xi是第i个网格中心坐标的x值, 是第i个网格第j个锚框所产生的边界框的中心坐标的x值,yi是第i个网格中心坐标的y值, 是第i个网格第j个锚框所产生的边界框的中心坐标的y值,pi(c)是对象条件类别概率,表示该网格存在物体且属于第i类的真实值概率, 是对象条件类别概率,表示该网格存在物体且属于第i类的预测值概率。

8.根据权利要求1所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,步骤S3中所述余弦退火的学习率调整方法为:

j j

其中,ηi表示调整后的学习率,ηmin表示学习率最小值,ηmax则表示学习率最大值,Tcur代表当前的迭代次数,Tj代表网络训练的总迭代次数。

9.根据权利要求1所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,步骤S3中将所述坑洼数据集的训练数据集输入所述改进的YOLOv3坑洼检测网络模型后,还包括对输出的特征图进行锚框处理,包括以下步骤:

S3.1.1、对输出的特征图进行网格划分;

S3.1.2、使用K‑Means聚类方法对训练数据集的边界框尺寸进行聚类,获得符合训练数据集的锚框尺寸。

10.根据权利要求9所述的基于改进的YOLOv3的坑洼检测方法,其特征在于,所述步骤S3.1.2包括:

a)对每一张坑洼图片的坑洼进行标注,获得xml文件,然后提取xml文件中标记框的位置和类别,格式为:(xp,yp,wp,hp),p∈[1,N],xp,yp,wp,hp分别表示第p个标记框相对原图的中心坐标和宽、高,N表示所有标记框的数量;

b)随机选择K个聚类中心点(wq,hq),q∈[1,K],该点的坐标表示锚框的宽和高;

c)依次计算每个标记框与K个聚类中心点的距离d,距离定义为d=1‑IoU[(xp,yp,wp,hp),(xp,yp,Wq,Hq),p∈[1,N],q∈[1,K],IoU为交并比,将标记框划分到距离最近的聚类中心点中去;

d)所有标记框分配结束后,对每个簇重新计算聚类中心,其中Nq表示第q簇的标记框的数量,Wq′,Hq′表示更新后的聚类中心点坐标,即更新的锚框的宽和高:e)重复c,d两步,直到聚类中心不再变化,所得标记框即为所求锚框的尺寸。

说明书 :

一种基于改进的YOLOv3的坑洼检测方法

技术领域

[0001] 本发明涉及图像识别技术领域,尤其涉及一种基于改进的YOLOv3的坑洼检测方法。

背景技术

[0002] 坑洼是一种呈不规则闭合曲线开口的碗状路面障碍物,容易改变无人驾驶车辆的行驶状态,最终酿成交通事故。传统的坑洞检测算法主要以坑洞的纹理等几何特征作为坑
洞检测的依据,存在坑洞检测准确率低和实时性不足的问题。当前,深度学习已经成为目标
检测的主流手段,包括使用两阶段、多阶段和单阶段算法对坑洼进行检测。两阶段检测算法
Faster RCNN和多阶段检测算法Cascade RCNN检测精度较高,但是无法满足实时性,单阶段
检测算法SSD则相反,满足实时性要求但是对于尺寸较大的坑洼检测精度不高。由此可见,
使用单阶段算法将有利于实现检测实时性。当前,单阶段算法YOLOv3在目标检测基准数据
集上的实时性优于FasterRCNN和Cascade RCNN,并且在检测精度和实时性上超越了SSD,
YOLOv3是YOLO系列算法的第三个版本,YOLOv3是一个单阶段的目标检测算法,同时也是一
个全卷积神经网络,但是YOLOv3的坑洼检测准确率仍需要进一步提高。

发明内容

[0003] (一)要解决的技术问题
[0004] 基于上述问题,本发明提供一种基于改进的YOLOv3的坑洼检测方法,解决坑洼检测即要保证实时性,又要使得准确率进一步提高的问题。
[0005] (二)技术方案
[0006] 基于上述的技术问题,本发明提供一种基于改进的YOLOv3的坑洼检测方法,包括以下步骤:
[0007] S1、通过视觉采集系统采集坑洼图像,预处理后得到坑洼数据集,坑洼数据集包括预处理后的坑洼图像;
[0008] S2、构建改进的YOLOv3坑洼检测网络模型;
[0009] S2.1、构建特征提取网络my_Darknet‑101:通过Get_Feature特征提取模块对坑洼数据集提取坑洼的边缘和纹理信息作为初始模块,使用3个密集连接块Pothole_Block作为
特征提取的主干,在每个Pothole_Block之后使用过渡层Pothole_Transition进行过渡,最
终构建卷积层数为101的特征提取网络my_Darknet‑101;
[0010] 所述Get_Feature特征提取模块为:以坑洼图像为输入,依次经过卷积核为1×1、过滤器数为32、步长为1的卷积层,卷积核为3×3、过滤器数为64、步长为1的卷积层,卷积核
为1×1、过滤器数为32、步长为2的卷积层,之后分两通道,一通道依次经过卷积核为1×1、
过滤器数为16、步长为1的卷积层,卷积核为3×3、过滤器数为32、步长为2的卷积层,另一通
道经过卷积核为2×2、步长为2的均值池化卷积层,两个通道通过Concat合并后输出;
[0011] 所述3个密集连接块Pothole_Block分别通过6,12和16个Pothole_Bottleneck模块构建,组增长率统一取64,所述Pothole_Bottleneck模块为:将输入卷积划分成4个通道,
其中两个通道依次经过卷积核为1×1的卷积层,卷积核为3×3的卷积层,卷积核为1×1的
卷积层,另两个通道依次经过卷积核为1×1的卷积层,卷积核为3×3的卷积层,卷积核为3
×3卷积核为卷积层,然后四个通道通过Concat合并后输出;
[0012] 所述过渡层Pothole_Transition为:将输入卷积依次通过卷积核为3×3、步长为1的卷积层,卷积核为2×2、步长为2的均值池化卷积层后输出;
[0013] S2.2、使用YOLOv3中的多尺度检测和上采样机制,作为整个网络框架的骨架,连接所述特征提取网络my_Darknet‑101和输出部分,最终构建改进的YOLOv3坑洼检测网络模
型;
[0014] S3、将所述坑洼数据集的训练数据集输入所述改进的YOLOv3坑洼检测网络模型训练,采用余弦退火的学习率调整方法,并计算改进的损失函数,当所述改进的损失函数趋近
于零时,得到所述改进的YOLOv3坑洼检测网络模型的参数最优解;
[0015] S4、将所述坑洼数据集输入代入了参数最优解的所述改进的YOLOv3坑洼检测网络模型,得到坑洼检测结果。
[0016] 进一步的,步骤S2中所述改进的YOLOv3坑洼检测网络模型为:第一通道为将第三个所述过渡层Pothole_Transition的输出卷积,依次经Conv‑unit、Conv、Conv2d后输出特
征图Y1,第二通道为将第一通道的Conv‑unit的输出卷积进行上采样后,与第二个所述过渡
层Pothole_Transition的输出卷积以concat方式进行连接,依次经Conv‑unit、Conv、
Conv2d后输出特征图Y2,第三通道为将第二通道的Conv‑unit的输出卷积进行上采样后,与
第一个所述过渡层Pothole_Transition的输出卷积以concat方式进行连接,依次经Conv‑
unit、Conv、Conv2d后输出特征图Y3。
[0017] 进一步的,所述Y1、Y2、Y3是输出的由小到大的三个尺度的特征图,Y1、Y2、Y3的尺度分别为13×13×255,26×26×255,52×52×255。
[0018] 进一步的,输入的所述坑洼图像的尺度范围为320×320×3到608×608×3,缩放尺度为32,待检测的物体数量为1,所述输出特征图的尺度范围为10×10×18到19×19×
18。
[0019] 进一步的,所述Conv‑unit卷积组件为依次经卷积核为1×1、3×3、1×1、3×3、1×1卷积层,所述Conv为一维卷积层,Conv2d为二维卷积层。
[0020] 进一步的,每个卷积层包括的激活函数为Mish激活函数。
[0021] 进一步的,步骤S3中所述改进的损失函数为:
[0022] Lmy‑Loss=Lmy‑conf+Lmy‑loc+Lmy‑class
[0023]
[0024]
[0025]
[0026] 其中,Lmy‑conf为置信度损失,Lmy‑loc为回归损失,Lmy‑class为分类损失;α是控制样本γ 2
正负的权重系数,(1‑pj) 是调制系数,γ>0;S表示图片被分割成S×S个网格,B表示锚框个
数; 表示第i个网格的第j个锚框是否负责该目标,如果负责,则 否则
表示第i个网格的第j个锚框是否不负责该目标,如果不负责, 如
果负责, 表示第i个网格的第j个边界框的置信度, 由网格的边界框是否
负责预测当前对象决定,如果负责, 否则 λnoobj控制单个网格内没有目标的
损失,λcoord控制边界框预测位置的损失, 表示改变不同尺寸候选框的损失,
是第i个网格第j个真实边界框的宽度, 是第i个网格第j个预测边界框的宽度, 是
第i个网格第j个真实边界框的高度, 是第i个网格第j个预测边界框的高度,xi是第i个网
格中心坐标的x值, 是第i个网格第j个锚框所产生的边界框的中心坐标的x值,yi是第i个
网格中心坐标的y值, 是第i个网格第j个锚框所产生的边界框的中心坐标的y值,pi(c)是
对象条件类别概率,表示该网格存在物体且属于第i类的真实值概率, 是对象条件类
别概率,表示该网格存在物体且属于第i类的预测值概率。
[0027] 进一步的,步骤S3中所述余弦退火的学习率调整方法为:
[0028]
[0029] 其中,ηi表示调整后的学习率,ηjmin表示学习率最小值,ηjmax则表示学习率最大值,Tcur代表当前的迭代次数,Tj代表网络训练的总迭代次数。
[0030] 进一步的,步骤S3中将所述坑洼数据集的训练数据集输入所述改进的YOLOv3坑洼检测网络模型后,还包括对输出的特征图进行锚框处理,包括以下步骤:
[0031] S3.1.1、对输出的特征图进行网格划分;
[0032] S3.1.2、使用K‑Means聚类方法对训练数据集的边界框尺寸进行聚类,获得符合训练数据集的锚框尺寸。
[0033] 进一步的,所述步骤S3.1.2包括:
[0034] a)对每一张坑洼图片的坑洼进行标注,获得xml文件,然后提取xml文件中标记框的位置和类别,格式为:(xp,yp,wp,hp),p∈[1,N],xp,yp,wp,hp分别表示第p个标记框相对原
图的中心坐标和宽、高,N表示所有标记框的数量;
[0035] b)随机选择K个聚类中心点(wq,hq),q∈[1,K],该点的坐标表示锚框的宽和高;
[0036] c)依次计算每个标记框与K个聚类中心点的距离d,距离定义为d=1‑IoU[(xp,yp,wp,hp),(xp,yp,Wq,Hq),p∈[1,N],q∈[1,K],IoU为交并比,将标记框划分到距离最近的聚类
中心点中去;
[0037] d)所有标记框分配结束后,对每个簇重新计算聚类中心,其中Nq表示第q簇的标记框的数量,Wq′,Hq′表示更新后的聚类中心点坐标,即更新的锚框的宽和高:
[0038]
[0039]
[0040] e)重复c,d两步,直到聚类中心不再变化,所得标记框即为所求锚框的尺寸。
[0041] (三)有益效果
[0042] 本发明的上述技术方案具有如下优点:
[0043] (1)本发明在YOLOv3中引入Get_Feature特征提取模块提取坑洼的边缘和纹理信息,不仅采用小卷积1×1和3×3保持输入分辨率不变,也采用均值池化卷积层降低分辨率,
丰富特征层,为改进的YOLOv3坑洼检测网络模型引入更多特征信息,提高坑洼纹理等浅层
特征的提取能力,有利于提高检测精度;
[0044] (2)本发明采用多尺度检测,在YOLOv3中引入改进的密集连接特征提取主干Pothole_Block,用于构建密集连接块Pothole_Block的Pothole_Bottleneck模块既能提取
较大的特征,也能提取较小的特征,提高算法对深层特征的提取能力;
[0045] (3)本发明改进的YOLOv3坑洼检测网络模型在训练过程中为多尺度训练,保证检测精度和速度上的平衡,对不同尺度图像的分辨率不同;
[0046] (4)本发明使用K‑Means聚类方法对坑洼数据集进行聚类优化,获得符合数据集的锚框,对于不同尺寸的目标,使用相应的锚框进行初始匹配,可以大大提高网络的训练速
度,减少迭代时间,更有利于提高检测精度和实现实时性检测;
[0047] (5)本发明提出了改进的损失函数,在交叉熵损失函数中加入权重控制项以提高正样本的权重,降低负样本的权重,引入调制系数,提高网络对难分类样本的检测精度,计
算宽高误差时直接去除根号,同时在计算宽高损失时加上系数 以改变不同
尺寸候选框的损失,解决了待检测数据中正样本数量远远小于负样本的数量,产生类别不
均衡,使得负样本在网络中的权重过大,梯度难以下降,网络收敛速度慢的问题;
[0048] (6)本发明采用余弦退火学习率调整方法,使得网络训练跳出局部最优,达到全局最优。

附图说明

[0049] 通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0050] 图1为本发明实施例的基于改进的YOLOv3的坑洼检测方法的流程图;
[0051] 图2为本发明实施例的Get_Feature特征提取模块的结构示意图;
[0052] 图3为本发明实施例的Pothole_Bottleneck模块的结构示意图;
[0053] 图4为本发明实施例的过渡层Pothole_Transition的结构示意图;
[0054] 图5为本发明实施例的特征提取网络my_Darknet‑101的结构示意图;
[0055] 图6为本发明实施例的改进的YOLOv3坑洼检测网络模型的结构示意图;
[0056] 图7为本发明实施例的输出特征图网格划分示意图;
[0057] 图8为本发明实施例的my_YOLOv3网络坑洼检测训练过程分析图。

具体实施方式

[0058] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0059] 本发明为一种基于改进的YOLOv3的坑洼检测方法,如图1所示,包括以下步骤:
[0060] S1、通过视觉采集系统采集坑洼图片,预处理后得到坑洼数据集,坑洼数据集包括预处理后的坑洼图像;
[0061] S2、构建改进的YOLOv3坑洼检测网络模型
[0062] S2.1、构建特征提取网络my_Darknet‑101:通过Get_Feature特征提取模块对坑洼数据集提取坑洼的边缘和纹理信息作为初始模块,使用3个密集连接块Pothole_Block作为
特征提取的主干,在每个Pothole_Block之后使用过渡层Pothole_Transition进行过渡,最
终构建卷积层数为101的特征提取网络my_Darknet‑101,具体包括以下步骤:
[0063] S2.1.1、通过Get_Feature特征提取模块对坑洼数据集提取坑洼的边缘和纹理信息作为初始模块:
[0064] 坑洼属于几何结构简单的路面缺陷,大体成椭圆形,容易被雨水、阴影等噪声遮挡,因此,坑洼的纹理、边缘等几何特征的有效提取是影响坑洼检测精度的关键部分;而增
加网络的宽度可以获得更丰富的特征信息,提高网络的性能;Get_Feature特征提取模块的
结构如图2所示,以坑洼图像为输入,依次经过卷积核为1×1、过滤器数为32、步长为1的卷
积层,卷积核为3×3、过滤器数为64、步长为1的卷积层,卷积核为1×1、过滤器数为32、步长
为2的卷积层,之后分两通道,一通道依次经过卷积核为1×1、过滤器数为16、步长为1的卷
积层,卷积核为3×3、过滤器数为32、步长为2的卷积层,另一通道经过卷积核为2×2、步长
为2的均值池化卷积层,两个通道通过Concat合并后输出;即首先使用小卷积1×1和3×3在
保持输入分辨率不变的基础上引入非线性,随后使用stride 2、2×2的均值池化卷积作为
降低分辨率的方式,该方式丰富了特征层,为网络引入了更多的上下文信息;
[0065] S2.1.2、使用3个密集连接块Pothole_Block作为特征提取的主干:
[0066] 综合考虑DenseNet、PeleeNet和ResNeXt中的核心模块,提出的Pothole_Bottleneck模块的结构如图3所示,将输入卷积划分成4个通道,其中两个通道依次经过卷
积核为1×1的卷积层,卷积核为3×3的卷积层,卷积核为1×1的卷积层,负责提取较小特征
的同时引入非线性,降低网络梯度消失的风险;另两个通道依次经过卷积核为1×1的卷积
层,卷积核为3×3的卷积层,卷积核为3×3的卷积层,负责提取较大的特征;然后四个通道
通过Concat合并后输出。
[0067] 假设网络的输入分辨率为W×H×N,卷积核的分辨率为w×h×N×M,则卷积运算的计算量公式如式(1)所示。
[0068] 计算量=w×h×(W‑w+1)×(H‑h+1)×N×M   (1)
[0069] 根据式(1),分别对DenseNet、PeleeNet的Bottleneck结构和本文提出Pothole_Bottleneck的计算量进行计算,结果表明,即使增加通道数,计算量也基本没有增加,计算
结果如表1所示。
[0070] 表1 Bottleneck计算量对比
[0071]
[0072] 然后所述使用Pothole_Bottleneck模块构建3个密集连接块Pothole_Block,组成Pothole_Block的Pothole_Bottleneck个数分别为6、12和16,组增长率统一取64。
[0073] S2.1.3、在每个Pothole_Block之后使用过渡层Pothole_Transition进行过渡:
[0074] 在每个Pothole_Block之后需要设计过渡层Pothole_Transition以降低特征图的分辨率,Pothole_Transition的具体结构如图4所示,将输入卷积依次通过卷积核为3×3、
步长为1的卷积层,卷积核为2×2、步长为2的均值池化卷积层后输出。
[0075] S2.1.4、最终构建卷积层数为101的特征提取网络my_Darknet‑101:
[0076] my_Darknet‑101的具体结构如图5所示,与仅由一系列的1×1和3×3的卷积层组成的,并通过步长实现张量的尺寸变换的YOLOv3的特征提取网络Darknet‑53存在很大区
别,my_Darknet‑101有利于提高坑洼纹理等浅层特征的提取能力和深层特征的提取能力。
[0077] S2.2、使用YOLOv3中的多尺度检测和上采样机制,作为整个网络框架的骨架,连接所述特征提取网络my_Darknet‑101和输出部分,最终构建改进的YOLOv3坑洼检测网络模
型;
[0078] 为了实现多尺度检测,改进的YOLOv3同YOLOv3一样,由一系列的1×1和3×3的卷积层组成,无池化层和全连接层的,通过改变卷积核的步长实现张量的尺寸变换,最终构建
改进的YOLOv3坑洼检测网络模型如图6所示,第一通道为将第三个所述过渡层Pothole_
Transition的输出卷积,依次经Conv‑unit、Conv、Conv2d后输出特征图Y1,第二通道为将第
一通道的Conv‑unit的输出卷积进行上采样后,与第二个所述过渡层Pothole_Transition
的输出卷积以concat方式进行连接,依次经Conv‑unit、Conv、Conv2d后输出特征图Y2,第三
通道为将第二通道的Conv‑unit的输出卷积进行上采样后,与第一个所述过渡层Pothole_
Transition的输出卷积以concat方式进行连接,依次经Conv‑unit、Conv、Conv2d后输出特
征图Y3,所述Y1、Y2、Y3是输出的由小到大三个尺度的特征图,用于检测由大到小尺度的坑
洼,本实施例中,输入图像尺度为416×416×3,Y1输出特征图尺度为13×13×255,用于检
测较大尺度的坑洼;Y2输出特征图尺度为26×26×255,用于检测中等尺度的坑洼;Y3输出
特征图尺度为52×52×255,用于检测小尺度的坑洼,255为通道数。
[0079] 所述Conv‑unit卷积组件为依次经卷积核为1×1、3×3、1×1、3×3、1×1卷积层,所述Conv为一维卷积层,Conv2d为二维卷积层。
[0080] 由于道路坑洼与正常路面的灰度和纹理在某些情况下相近,在检测时容易产生漏检和误检现象,为了提高my_YOLOv3的坑洼检测精度,在坑洼检测网络模型的每个卷积层输
出端引入激活函数,即每个卷积层为卷积+BN+激活函数,激活函数使网络可以非线性变化,
有利于增加网络的非线性,同时可以迅速的提高网络的深度,避免过拟合,本实施例采用
Mish激活函数。
[0081] S3、将所述坑洼数据集的训练数据集输入所述改进的YOLOv3坑洼检测网络模型训练,采用余弦退火的学习率调整方法,并计算改进的损失函数,当所述改进的损失函数趋近
于零时,得到所述改进的YOLOv3坑洼检测网络模型的参数最优解;
[0082] 为使网络能够学习不同大小和不同长宽比的物体特征,采用K均值聚类方法自动学习训练数据集中出现次数最多的坑洼大小和长宽比,并将学习到的数据用于锚框的尺
寸,包括以下步骤:
[0083] S3.1、将所述坑洼数据集的训练数据集输入所述改进的YOLOv3坑洼检测网络模型,对输出的特征图进行锚框处理;
[0084] S3.1.1、对输出的特征图进行网格划分;
[0085] 高分辨率的图像包含着更丰富的物体特征信息,一般而言能够更精确的检测出待检物体,但是相应的检测速度会下降;低分辨率的图像的物体特征有时候则不明显,但是对
于小物体而言大分辨率的图像则可能噪声过多,使得检测精度过于糟糕。因此,为了在检测
精度和速度上取的平衡,本发明实施例在训练过程中使用多尺度训练,输入图像的尺度范
围为320×320×3到608×608×3。
[0086] 由于坑洼大多数位于道路中央,为了使最终的预测框靠近特征图中间,将输出特征图的大小设置为奇数。本发明实施例取缩放尺度为32,待检测的物体数量为1,因此输出
特征图的尺度范围为10×10×18到19×19×18,图7为输入尺度为608×608×3时对应的网
格划分示意图。
[0087] S3.1.2、使用K‑Means聚类方法对训练数据集的边界框尺寸进行聚类,获得符合训练数据集的锚框尺寸;具体步骤如下:
[0088] a)对每一张坑洼图片的坑洼进行标注,获得xml文件,然后提取xml文件中标记框的位置和类别,格式为:(xp,yp,wp,hp),p∈[1,N],xp,yp,wp,hp分别表示第p个标记框相对原
图的中心坐标和宽、高,N表示所有标记框的数量;
[0089] b)随机选择K个聚类中心点(wq,hq),q∈[1,K],该点的坐标表示锚框的宽和高,因为锚框位置不固定,所以没有x和y的坐标;
[0090] c)依次计算每个标记框与K个聚类中心点的距离d,距离定义为d=1‑IoU[(xp,yp,wp,hp),(xp,yp,Wq,Hq),p∈[1,N],q∈[1,K],IoU为交并比,将标记框划分到距离最近的聚类
中心点中去;
[0091] d)所有标记框分配结束后,对每个簇重新计算聚类中心,其中Nq表示第q簇的标记框的数量,Wq′,Hq′表示更新后的聚类中心点坐标,即更新的锚框的宽和高:
[0092]
[0093]
[0094] e)重复c,d两步,直到聚类中心不再变化,所得标记框即为所求锚框的尺寸。
[0095] 每个网格单元预测三个边界框,有三个输出特征图,则K取9。在坑洼数据集上使用K‑Means聚类技术生成对应的锚框尺寸,聚类获得锚框尺寸如表2所示。
[0096] 表2聚类产生的锚框尺寸
[0097]
[0098] S2、采用余弦退火的学习率调整方法:
[0099] 对于较复杂的训练数据集,网络在训练过程中容易产生震荡,存在多个局部最优点,如果学习率选择不合理,很有可能使得网络陷入局部最优,导致损失无法下降,因此,本
实施例采用余弦退火的学习率调整方法,余弦退火的学习率调整方法,使得学习率按照余
弦函数周期性变化,并在每个周期最大值时重新设置学习率。在网络训练时,余弦退火学习
率以初始学习率为最大学习率,随着epoch的增加,学习率先急速下降,再陡然提升,然后不
断重复这个过程。学习率的急剧变化,可以使得梯度下降不会卡在任何局部最小值,使得网
络训练跳出局部最优,达到全局最优。余弦退火的学习率调整方法为:
[0100]
[0101] 其中,ηi表示调整后的学习率,ηjmin表示学习率最小值,ηjmax则表示学习率最大值,Tcur代表当前的迭代次数,Tj代表网络训练的总迭代次数。
[0102] 3.3、计算改进的损失函数,当所述改进的损失函数趋近于零时,得到所述改进的YOLOv3坑洼检测网络模型的参数最优解;
[0103] 多阶段网络、两阶段网络在检测精度上高于单阶段网络,但是在检测速度上单阶段网络则高于两阶段网络和多阶段网络。在单阶段网络中,由于没有两阶段网络中候选框
产生机制,而在待检测数据中正样本数量远远小于负样本的数量,产生类别不均衡,使得负
样本在网络中的权重过大,梯度难以下降,网络收敛速度慢。为了解决该问题,对原始
YOLOv3损失函数进行改进,引入Focal Loss损失函数机制。
[0104] 针对正负样本不均衡,在交叉熵损失函数中加入权重控制项以提高正样本的权重,降低负样本的权重;为了进一步控制易分类样本和难分类样本的权重,引入调制系数
γ
(modulating factor)(1‑pj) ,提高网络对难分类样本的检测精度,其中,γ>0;而my_
YOLOv3的损失函数由置信度损失Lmy‑conf、回归损失Lmy‑loc和分类损失Lmy‑class组成,其中回归
损失又分为中心坐标损失和宽高损失,在YOLOv3中,将分类损失和置信度损失从YOLOv1中
采用的均方和损失修改为交叉熵损失。此外,在YOLOv2中作者发现在解决不同候选框对损
失贡献不一致的问题时,使用宽高开根号的方式效果并不明显。因此,YOLOv3计算宽高误差
时直接去除根号,同时在计算宽高损失时加上系数2‑wi×hi,以改变不同尺寸候选框的损
失。my_YOLOv3的改进的损失函数如式(5)、(6)、(7)、(8)所示。
[0105] Lmy‑Loss=Lmy‑conf+Lmy‑loc+Lmy‑class   (5)
[0106]
[0107]
[0108]
[0109] 其中,S2表示图片被分割成S×S个网格,B表示锚框个数; 表示第i个网格的第j个锚框是否负责该目标,如果负责,则 否则 表示第i个网格的第j个
锚框是否不负责该目标,如果不负责, 如果负责, 表示第i个网格
的第j个边界框的置信度, 由网格的边界框是否负责预测当前对象决定,如果负责,
否则 λnoobj控制单个网格内没有目标的损失,λcoord控制边界框预测位置的损
失, 表示改变不同尺寸候选框的损失, 是第i个网格第j个真实边界框的宽
度, 是第i个网格第j个预测边界框的宽度, 是第i个网格第j个真实边界框的高度,
是第i个网格第j个预测边界框的高度,xi是第i个网格中心坐标的x值, 是第i个网格第j
个锚框所产生的边界框的中心坐标的x值,yi是第i个网格中心坐标的y值, 是第i个网格
第j个锚框所产生的边界框的中心坐标的y值,pi(c)是对象条件类别概率,表示该网格存在
物体且属于第i类的真实值概率, 是对象条件类别概率,表示该网格存在物体且属于
第i类的预测值概率。
[0110] 为证明本发明的改进效果,依次对YOLOv3模型和my_YOLOv3模型进行训练。对于YOLOv3模型,采用的是AlexeyAB在github上开源的YOLOv3模型,初始权重为darknet53_
448.weights,在训练过程中我们仅对该模型的输入输出进行了更改,其余参数均没有改
变。对于my_YOLOv3模型,模型的初始权重分为两部分。第一部分为my_YOLOv3中与YOLOv3不
同的特征提取部分,使用ImageNet对模型进行预训练。第二部分为my_YOLOv3中与YOLOv3网
络结构相同的部分,即模型的输出部分,该部分使用随机初始化权重的方式进行初始化。
[0111] 网络训练过程中使用的1800个数据集相同,my_YOLOv3和YOLOv3输入为544×544×3,测试图片则为640×640×3,实验环境相同,性能评价指标包括交并比IoU、召回率、精
确率、平均精确度(AP)、误检率和漏检率等。网络训练参数设置一致,bachsize取2,动量设

置为0.9,迭代次数均取100,激活函数为Leaky ReLU,初始学习率为2.5×10 ‑4,采用多步
长学习策略,在第25和第60个epoch时学习率除以10继续训练。对比结果如下:
[0112] 根据图8的my_YOLOv3网络坑洼检测训练过程分析可知,改进的网络的分类损失、置信度损失和训练总损失下降非常平滑,且最终的损失值也趋近于0。此外,my_YOLOv3的回
归损失下降过程总体趋于平滑,当训练结束时,YOLOv3的回归损失为7.091,my_YOLOv3的则
为2.339,两者比值达到3倍以上,my_YOLOv3网络在训练坑洼数据集阶段大大优于YOLOv3网
络。
[0113] 计算YOLOv3和my_YOLOv3各项评价指标,即交并比IoU、召回率、精确率、平均精确度(AP)、误检率和漏检率,并与FasterRCNN等模型进行比较,结果如表3所示。
[0114] 表3各个模型性能(P,IOU=0.5),(AP,IOU=0.50:0.95)
[0115]
[0116] 由表3可知,在交并比IOU阈值取0.5时,YOLOv3检测精度为0.813,而my_YOLOv3达到了0.943,比YOLOv3高出13%,高出多阶段网络Cascade RCNN11.9%,提升效果非常明显。
my_YOLOv3不仅在IOU阈值取0.5的水平上表现出优秀的检测精度,在IOU取0.5到0.95时的
平均精确度仍达到了0.912,比SSD还高出40.4%。由此可见,改进的my_YOLOv3坑洼检测网
络的性能远优于YOLOv3。
[0117] 表4各个模型的检测速度(IOU=0.50:0.95)
[0118]
[0119] 由表4可知,在训练速度上,my_YOLOv3与YOLOv3和SSD网络相差不大,在检测速度上,YOLOv3刚刚达到实时性检测速度,但是my_YOLOv3网络的检测速度不仅达到了实时性检
测要求,还是YOLOv3的1.7倍。由此可见,my_YOLOv3可以满足实现高精度的坑洼实时检测要
求。
[0120] 综上可知,通过上述的一种基于改进的YOLOv3的坑洼检测方法,具有以下优点:
[0121] (1)本发明在YOLOv3中引入Get_Feature特征提取模块提取坑洼的边缘和纹理信息,不仅采用小卷积1×1和3×3保持输入分辨率不变,也采用均值池化卷积层降低分辨率,
丰富特征层,为改进的YOLOv3坑洼检测网络模型引入更多特征信息,提高坑洼纹理等浅层
特征的提取能力,有利于提高检测精度;
[0122] (2)本发明采用多尺度检测,在YOLOv3中引入改进的密集连接特征提取主干Pothole_Block,用于构建密集连接块Pothole_Block的Pothole_Bottleneck模块既能提取
较大的特征,也能提取较小的特征,提高算法对深层特征的提取能力;
[0123] (3)本发明改进的YOLOv3坑洼检测网络模型在训练过程中为多尺度训练,保证检测精度和速度上的平衡,对不同尺度图像的分辨率不同;
[0124] (4)本发明使用K‑Means聚类方法对坑洼数据集进行聚类优化,获得符合数据集的锚框,对于不同尺寸的目标,使用相应的锚框进行初始匹配,可以大大提高网络的训练速
度,减少迭代时间,更有利于提高检测精度和实现实时性检测;
[0125] (5)本发明提出了改进的损失函数,在交叉熵损失函数中加入权重控制项以提高正样本的权重,降低负样本的权重,引入调制系数,提高网络对难分类样本的检测精度,计
算宽高误差时直接去除根号,同时在计算宽高损失时加上系数 以改变不同
尺寸候选框的损失,解决了待检测数据中正样本数量远远小于负样本的数量,产生类别不
均衡,使得负样本在网络中的权重过大,梯度难以下降,网络收敛速度慢的问题;
[0126] (6)本发明采用余弦退火学习率调整方法,使得网络训练跳出局部最优,达到全局最优。
[0127] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范
围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围
之内。