Page 95 - 无损检测2024年第七期
P. 95
胡肖肖,等:
基于 B-YOLOv5 的轻量化裂缝检测算法
他层次的特征图中变为背景部分。因此,在检测这 测试集。
些缺陷时,不同层次的特征图之间的信息可能会产 4.1 评价指标
生冲突,从而干扰网络训练中的梯度计算,影响训 为了更好地评价网络模型的性能,一般采用精度
练的稳定性。因此,简单地对其进行相加或叠加处 P,召回率R,精度-召回率曲线 (P-R曲线),所有类
理并不是最佳的操作。为了解决该问题,文章结合 别的平均准确率m ,每一个类别的平均精度A 来衡
P
AP
BIFPN [14-15] 特征融合的思想,提出了B-PANet结构。 量一个网络模型的优劣。评价指标的计算公式如下
BIFPN结构是一种带有特征层权重信息,类似于注 T
P = P (3)
意力机制的特征融合方法。其对于不同输入特征的 T +F
重要性,可以进行有效地区分融合。 P T P
P
B-YOLOv5特征融合公式为 R = T P +F N (4)
c
(1) ∑ AP i
m AP = i =1 (5)
c
(6)
(2) 式中: T P 为将样本正确分类为正样本; F P 为将正样
式中:以P4 层的融合为例,Conv为卷积操作;w , 本错误地分类为负样本; F N 为将负样本错误地分类
1
w ,w 为可学习的权重系数;∈为固定的系数0. 000 1。 为正样本; c为类别数。
2 3
B-YOLOv5 特征融合过程相比于 YOLOv5 4.2 试验结果与分析
的FPN+PANet路径聚合网络,最大的不同在于 文章在同一数据集下对比了YOLOv5算法和改
B-YOLOv5算法更加关注不同特征层的重要程度。 进的B-YOLOv5算法的损失曲线收敛情况,如图5所
在网络训练初始化时,权重系数会随机初始化, 示,图中红色线代表YOLOv5的损失曲线,蓝色线代
in C in
并在训练过程中不断调整。 C , 5 是由特征层C4 表B-YOLOv5的损失曲线。从图5中可以看出,在
4
和C5 经卷积得到的特征层。B-YOLOv5算法首先 3种损失图中,损失值的变化一开始起伏较大,然后
对C 进行上采样resize操作,让输入的特征层与C in 逐渐收敛到某个值,两种算法的损失函数都能够有
in
5 4
in
in
的尺度相同,然后将C 和经过resize的C 乘以不同 效地减小损失值,提高网络模型的收敛速度。在分
4 5
的权重系数w 和w 并相加。相加得到的特征经过 类损失中,YOLOv5算法一开始的收敛性能要稍好
1
2
td
一个1×1的卷积后,作为 C 输入到P4层的融合。 于B-YOLOv5算法,100次迭代次数后,B-YOLOv5
4
td
公式(2)中,P4层由特征层C4、C 和经过下采样的 的收敛速度略优于YOLOV5的,两种算法没有明显
4
P3乘以不同的权重系数卷积得到的。在网络学习的 的区别。在目标损失中,B-YOLOv5的收敛情况要
过程中,B-PANet结构可以不断调整权重系数的大 明显优于YOLOv5算法的。在预测框损失图中,约
小,使得特征融合的过程中更加关注有用的信息。 20次迭代次数后,B-YOLOv5算法收敛速度开始超过
YOLOv5算法的。
4 试验与结果
从损失收敛的情况来看,文章所改进的算法
试验在Windows10系统中进行,GPU为NVIDIA B-YOLOv5能比原来的YOLOv5算法更有效地提高模
GeForce RTX 1050,使 用 Python 编程语言 (在 型的收敛速度,这也充分说明文章所选取的损失函数
Pytorch1. 7 深度学习框架下进行)。试验在训练 是有效的。
的过程中采用动态学习率的方法,初始学习率为 4.3 消融试验对比
0. 001,迭代次数为 500。文章在SDNET2018 路面 文章在同一试验条件和数据集下,比较了在路
缺陷图片中选取300张;在此基础上使用手机相机, 面缺陷检测任务中,两种算法在模型大小和性能测
在武汉科技大学校园中,离地面1 m处低空拍摄200 试上的表现。
张带有路面缺陷信息的照片。即,一共500张图片, 两种算法的P-R曲线对比如图6所示。在测试
其中400张用于训练集,50张用于验证集,50张用于 集中,将IoU设置为0. 5来划分正样本和负性样本。
57
2024 年 第 46 卷 第 7 期
无损检测

