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 期
                                                                                                  无损检测
   90   91   92   93   94   95   96   97   98   99   100