APP下载

面向带钢表面小目标缺陷检测的改进YOLOv7算法

2024-03-31马小陆

关键词:卷积精度特征

樊 嵘, 马小陆

(安徽工业大学 电气与信息工程学院,安徽 马鞍山 243002)

0 引 言

热轧带钢作为我国钢铁工业的重要原材料之一,在航空航天、土地基建以及汽车制造等领域有重要的应用价值。热轧带钢的尺寸精度、表面质量以及性能是衡量带钢产品质量的关键因素。实际生产过程中,由于生产工艺及环境因素的限制,钢体易出现划痕、裂纹、污渍以及斑块等缺陷,不仅有损产品外观,而且易使产品锈蚀和损坏。因此,钢体表面缺陷检测成为工业质检领域的研究热点。

近年来,随着深度神经网络研究的不断进展,基于深度学习的物体表面检测算法逐步替代了传统的机器学习方法和人工检测方法。基于深度学习的物体表面缺陷检测方法主要分为端到端完成检测任务的一阶段检测算法和基于区域生成结构的二阶段检测算法。文献[1]通过使用加权K-means聚类方法以及对特征融合层进行改进,提升了算法的缺陷检测精度;文献[2]通过引入注意力机制并改进特征融合网络,提升了算法的缺陷检测精度;文献[3]在SSD网络中融入残差网络结构和多级特征融合策略,提升了算法的缺陷检测精度;文献[4]在RetinaNet网络中融入通道注意力机制和自适应空间特征融合模块,提升了网络的特征融合能力;文献[5]基于Faster-RCNN模型提出一个带钢缺陷检测系统;文献[6]使用特征递归金字塔结构和神经网络架构搜索技术对Cascade-RCNN网络进行改进,提升了算法缺陷检测进度。以上工作均有效提升了算法对金属表面缺陷的总体检测精度,但仍未针对金属表面小目标缺陷的漏检问题进行优化与改进,使得实际检测中带钢表面部分小目标缺陷仍存在漏检问题。

小目标缺陷在采样图中所占像素量较少,经过多次下采样后小目标缺陷分辨率会进一步降低,特征信息逐步减弱,使得检测难度提升。文献[7]通过采用transformer预测头并增加目标检测头个数提升了网络对小目标的检测性能;文献[8]通过采用改进的双向特征金字塔网络(bi-directional feature pyramid network,BiFPN)提升了模型对小目标的检测效果;文献[9]提出多层特征金字塔网络(multi level feature pyramid network,MLFPN),将不同尺度的特征进行融合,有效缓解了小目标特征信息不足的问题;文献[10]利用空间金字塔池化和额外的特征转换生成不同尺度的特征,然后将特征扩展到统一尺度并聚合上下文信息,有效缓解了小目标特征信息不足的问题;文献[11]通过将空洞卷积与特征融合相结合,有效增强网络提取的浅层特征的语义信息,提升了小目标的检测性能。以上工作均有效提升了算法对小目标物体的检测性能,但大多面向遥感场景,当面对分布复杂的密集工业缺陷检测场景时,检测效果提升有限。

针对以上问题,本文在YOLOv7网络[12]的基础上进行以下3方面改进。

1) 将多分支卷积模块[13]和通道空间注意力模块(convolutional block attention module,CBAM)[14]融入特征提取骨干网络,提升网络在特征提取阶段对小目标特征的提取及后续提纯能力。

2) 采用融入BiFPN[15]思想的颈部网络对骨干网络提取的多尺度特征图进行双向加权融合,缓解小目标特征在下采样过程中的丢失问题。

3) 采用解耦检测头[16]替换原有的目标检测头,将预测目标的类别信息与回归信息进行解耦输出,提升模型检测精度。

最终在经过小目标数据增强的Neu-Det数据集上与部分常用缺陷检测算法进行对比实验,实验结果表明,改进的YOLOv7算法有较好的小目标带钢缺陷检测能力。

1 相关工作

1.1 改进YOLOv7算法

YOLOv7是最新的YOLO系列算法,其模型设计思路与YOLOv4[17]、YOLOv5类似,功能上可将网络分为进行特征提取的骨干网络(Backbone)、进行特征融合的颈部网络(Neck)以及进行目标检测结果输出的检测头(Head)3个部分。检测时输入图像被送入骨干网络进行特征提取;然后由颈部网络对提取的特征进行特征融合,并得到大、中、小3种尺寸的特征;最后由检测头对融合后的特征进行处理,并输出最终检测结果。由于采用了扩展的高效长程注意力网络(extended efficient layer aggregation networks,E-ELAN)以及SPPCSPC空间金字塔池化等模块,并在前向传播时引入了重参数化卷积以及辅助头检测等策略,YOLOv7算法获得了较好的检测性能。

YOLOv7采用4个常规卷积进行初期特征提取,使得小目标语义信息易被网络忽略;在特征融合阶段YOLOv7沿用了YOLOv5的双向路径聚合网络(path aggregation network for instance segmentation,PANet)[18]结构并加入了更多的卷积模块,导致骨干网络提取的小目标语义信息难以在特征融合时被有效提纯。

以上两点均易使YOLOv7在小目标带钢缺陷场景中产生漏检,因此本文从特征提取和特征融合2个角度出发,提升YOLOv7对小目标带钢缺陷的检测能力。

改进的YOLOv7网络结构如图1所示。

图1 改进的YOLOv7结构图

1.2 改进的特征提取骨干网络

1.2.1 结构重参数化

针对YOLOv7初期特征提取时易丢失部分小目标信息的问题,本文采用可重参数化卷积(reparameterization convolution,RepConv)模块替换网络最初的第2层和第4层的常规卷积模块,使网络早期可以对重要特征进行更高效的提取,缓解重要特征在卷积操作中产生的丢失现象。重参数化(reparameterization,Rep)的核心思想是利用参数恒等变换实现网络结构的简化。RepConv在训练阶段采用3*3卷积、1*1卷积、短接分支以及批归一化(batch normalization,BN)模块构建的多分支可重参数化卷积RepConv模块进行训练,训练完成后的推理阶段中,可重参数化卷积RepConv模块会被参数重构为一个与原分支性能等效的3*3卷积模块,使模型兼顾训练时的高精度和推理时的高速度。

可重参数化卷积RepConv模块结构如图2所示。

图2 可重参数化卷积RepConv模块结构

RepConv模块在进行结构重参数化时,先将短接分支结构等价转换为一个以单位矩阵为卷积核的1*1卷积,之后将2个1*1的卷积通过填充0转换为2个3*3的卷积,之后将3个3*3卷积分别与其对应的批归一化BN模块进行融合,融合过程如下:

(1)

(2)

其中:Wi、Wi′分别为转换前、后的卷积层参数;βi、βi′分别为转换前、后的批归一化层偏移因子;yi为批归一化层的尺度因子;μi为批归一化层的均值;σi为批归一化层的方差。

卷积层和批归一化层融合后,可以用一个3*3卷积替换模型训练时使用的原始3*3卷积、1*1卷积、短接分支以及批归一化BN模块,模型重构后仅有一个3*3的卷积用于模型推理。

1.2.2 通道空间注意力模块

在含有较多小目标带钢缺陷的检测环境中,小目标缺陷像素往往分布于图像的少量区域,大部分图像内容仍为正常带钢表面。小目标瑕疵尺寸小特征少且不明显,为了更好地对其标特征进行提纯与学习,本文将通道空间注意力模块 CBAM穿插于常规卷积模块以及可重参数化卷积模块之间,利用CBAM模块对卷积模块学习到的特征信息进行注意力权重重构,提高重要特征的权重,为颈部网络提供更为高效的特征图。

CBAM模块是一种轻量级即插即用的卷积注意力模块,它会依次计算通道与空间2个维度的注意力图,并将注意力图与特征图相乘以进行自适应特征优化,模仿人类的注意力感知[19],自动过滤不重要的信息,并把更多的计算资源用于需要重点关注的特征。

CBAM模块结构如图3所示。

图3 通道空间注意力CBAM模块结构

1.3 融合BiFPN结构的颈部网络

YOLOv7沿用了YOLOv5采用的PANet颈部网络,实现了自顶向下和自底向上的双向特征融合,因此使网络可以有效结合不同尺度的特征进而提升检测精度。但在YOLOv7中PANet关注的仍是中高维度的特征图,由于经过多次卷积后,中高维度的特征图中小目标信息的含量较少,使得网络对小目标特征的学习效率较低,针对此问题本文提出融合BiFPN思想的改进颈部网络,并以此替换YOLOv7原有的PANet特征融合网络。

1.3.1 原始的BiFPN颈部网络

BiFPN结构如图4所示。

图4 单层BiFPN结构

BiFPN是一种基于双向加权特征融合思想的高效多尺度特征融合方法,它与PANet一样采用双相多尺度特征融合操作,使网络可以有效结合不同尺度的特征。相较于PANet,BiFPN可以聚合更多不同尺度的特征并进行跨尺度特征融合,使网络拥有更高的重要特征提纯效率,且在进行特征融合时BiFPN引入了可学习的权重因子,使重要的特征在融合后得到了更好的保留。

1.3.2 改进的BiFPN颈部网络

为了充分利用改进骨干网络提取的包含大量小目标特征的多尺度特征图,本文借鉴了BiFPN的设计思想,在进行特征融合时,采用最近邻插值上采样模块[20]和长短链路高效聚合网络(ELAN-W)模块分别作为上采用模块和下采样学习模块。同时为了进一步实现对小目标特征的有效保留及提纯,当经过上采样的高维特征与低维特征进行融合时,采用可学习的加权特征融合方式,使网络在训练过程中自适应学习更重要的特征;当经过下采样的低维特征与高维特征进行融合时,采用拼接特征融合方式,以最大限度地保留特征提取初期未被丢失的小目标信息。改进后的颈部网络在进行特征融合时,更偏向于提升初期卷积提取的包含较多小目标特征信息的特征图所占比重,缓解多次卷积造成的小目标特征丢失现象。改进后的单层BiFPN结构如图5所示。

图5 改进的单层BiFPN颈部网络

1.4 改进的目标检测头

在目标检测任务中,分类操作与回归操作对目标特征的关注点不同[21]。分类操作更加关注目标的纹理特征信息,而回归操作更加关注目标的边缘信息。因此目标的置信度评价分数与回归框可能产生不一致性,即目标置信度分数最高的检测框不一定是回归最准的框,而回归最准的框也不一定是置信度分数最高的框。在原始的YOLOv7中,检测时仍然使用耦合检测头,导致分类、回归、置信度计算的操作产生耦合。

针对以上问题,本文采用任务解耦特征检测头,先使用一个1*1卷积特征图进行降维,之后分别通过2个3*3卷积将特征图转化为用于分类的特征图以及用于回归及置信度计算的特征图。用于分类的特征图通过1个1*1卷积后直接输出类别信息,用于回归及置信度计算的特征图通过2个1*1卷积分别进行位置回归输出以及置信度计算。采用解耦检测头后模型将目标的类别信息、置信度与回归信息进行解耦输出,使模型在训练过程中可以进一步收敛至更高精度。解耦检测头结构如图6所示。

图6 解耦检测头

2 实验结果与分析

2.1 数据集与数据增强

为了获取含有较多小目标[22]缺陷的带钢表面缺陷数据集,本文对东北大学制作的NEU-DET数据集[23]进行随机拼接以及分辨率缩放数据增强。NEU-DET数据集包含裂纹、杂质、斑纹、点蚀、氧化以及划痕6种常见的带钢表面缺陷共计1 800张图像。

本文从1 800张图像中随机抽取16张图像进行拼接,并将分辨率由拼接后的800×800缩放至640×640作为一张试验图像,经上述方法数据增强后得到拼接数据集共1 800张,以8∶2划分为训练集与测试集。为了进一步提升算法的鲁棒性,训练过程中沿用了YOLOv5提出的Mosaic数据增强。

2.2 实验配置与评测标准

本文在16 GiB运行内存、Ryzen5-5600G处理器、NVIDIA TeslaP40显卡的硬件平台上进行模型训练,运行库版本为CUDA11.6,软件环境为Pytorch1.12.1。为了更好地与其他检测网络进行性能对比,本文采用平均精准度(average precision,AP)衡量模型检测精度,平均精准度IoU阈值取0.50以及0.50~0.95,分别记作AP50和AP50∶95。

2.3 消融实验

为验证本文添加的各个模块是否起到作用,设置了消融实验。每组模型在数据增强后的NEU数据集上进行300轮训练,使用AP50和AP50∶95作为模型的性能衡量指标。所有实验组均未使用预训练权重且均选择随机梯度下降(stochastic gradient descent,SGD)[24]优化器进行优化,初始学习率为0.000 5。实验编号和实验结果见表1所列,其中“√”表示本组实验已使用该模块。

表1 消融实验结果数据

对比消融实验A与B可知,添加CBAM注意力模块可以有效提升模型的检测精度;对比消融实验A与C可知,采用RepConv模块替换常规卷积模块可以有效提升模型的检测精度;对比消融实验A与E可知,采用改进的BiFPN颈部网络可以有效提升模型的检测精度;对比消融实验A与G可知,采用解耦检测头DecoupledHead进行检测可以有效提升模型的检测精度;对比消融实验B与D可知,CBAM注意力模块与RepConv模块的引入有效提升了骨干网络的特征提取与提纯效率,可以有效提升模型的检测精度;对比消融实验D与F可知,改进的BiFPN颈部网络相较于原有的PANet颈部网络有更高的特征融合效率,可以有效提升模型检测精度;对比消融实验F与G可知,添加解耦检测头可以进一步使网络收敛至更高精度。

2.4 横向对比实验

为验证本文算法的有效性,将本文算法在含有大量小目标的热轧带钢缺陷数据集中与常用缺陷检测算法YOLOv5、YOLOv6、YOLOX、Faster-RCNN[25]以及YOLOv7进行对比实验。每个模型在数据增强后的NEU数据集上进行300轮训练,使用AP50与AP50∶95作为模型的性能衡量指标。所有实验组均未使用预训练权重且均选择SGD优化器进行优化,初始学习率为0.000 5。横向对比实验结果见表2所列。

由表2可知,在包含大量小目标带钢缺陷的检测场景中,本文检测精度高于YOLOv5及YOLOX等常见目标检测算法。

3 结论

本文以YOLOv7为基础框架,对骨干网络、颈部网络以及检测头分别作出改进。采用RepConv模块和CBAM模块对骨干网络进行改进,改进的骨干网络为模型提供了高效的多尺度特征图,使模型检测精度进一步提升;采用改进的BiFPN替换原有的PANet结构,使模型的特征融合效率得到提升,进一步提高了模型在小目标缺陷检测环境下的检测精度;采用解耦检测头替换原有的预测头,使模型在训练中可以收敛至更高的精度。在含有大量小目标带钢缺陷的数据集中进行的对比实验结果表明,本文提出的改进YOLOv7算法精度高于YOLOX、YOLOv6等常用缺陷检测算法。

猜你喜欢

卷积精度特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
如何表达“特征”
从滤波器理解卷积
不忠诚的四个特征
基于DSPIC33F微处理器的采集精度的提高
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
GPS/GLONASS/BDS组合PPP精度分析
改进的Goldschmidt双精度浮点除法器
一种基于卷积神经网络的性别识别方法