APP下载

基于YOLOV5s_Attention的表面缺陷检测的应用研究

2023-02-07庞宁雅杜安钰

现代电子技术 2023年3期
关键词:注意力精度特征

庞宁雅,杜安钰

(新疆大学 信息科学与工程学院,新疆 乌鲁木齐 830046)

0 引言

随着工业生产中对热轧钢带的质量要求不断提升,热轧钢带表面缺陷自动检测受到广泛关注。传统的表面缺陷检测方法经历三个阶段:人工目视法检测、漏磁检测技术和机器视觉检测技术。人工目视依靠肉眼,成本高且精度低。文献[1]利用有限元仿真软件建立了特殊部件和复杂结构的磁场模型,并得到了相关缺陷信号分量及其分布规律,经验证该模型对外管的缺陷具有较好的检测能力。文献[2]进行了基于CCD玻璃缺陷测量技术的研发,对原始图像进行矫正,针对矫正图像进行阈值分割、滤波、散点去除完成缺陷物体标记并设计软件系统,根据输出结果和特征参数进行分析,满足自动检测要求,该系统在检测平板玻璃划伤、杂质等缺陷上取得了较好的效果。

现实工业生产中的复杂环境下,表面缺陷却面临着许多挑战:内部因素如缺陷的存在与背景差异较小,缺陷的尺寸变化很大,缺陷类型丰富;外部因素如:工业噪声、产线污染、相机镜头选择和场景更迭等,传统的机器视觉算法很难做到对缺陷特征完整的建模和迁移,复用性不大。随着深度学习目标检测算法的发展,尤其是基于表征学习的检测网络的提出,使得目标检测网络得到了快速的发展。文献[3]将SSD网络运用到钢带表面检测中,根据正负样本失衡引入改进的Focal Loss函数,同时采用k-means聚类方法对先验框进行优化,使模型更有针对性,改进后的mAP达到73.36%,检测速度为32 f/s。文献[4]选用图像压缩方法,卷积自编码CAE作为压缩预处理框架,采用YOLO-tiny作为Backbone,与原始YOLO-tiny相比,在mAP和各类AP上均有一定提升,但是较低像素深度的检测性能较差。文献[5]融合了单阶段和双阶段的优势,在PASCAL VOC2007数据集上检测精度达到80%,该文章设计的RefineDet由锚细化模块和对象检测模块组成,核心思想在于引入双阶段算法对框由粗到细的回归思想;保留SSD框架,保证模型检测速度;引入FPN特征融合用于提高检测小目标的检测效果。

1 YOLOV5s算法介绍

YOLOV5根据型号大小可以分为四个版本:YOLOV5s、YOLOV5m、YOLOV5l和YOLOV5x,模 型 的Backbone,Neck和Prediction一致,区别在模型的深度和宽度设置。主干网络越深,得到的特征图就越多,更深层次的网络意味着更加复杂[6]。其中,YOLOV5s网络深度最小、特征图宽度最小,但并不是模型越大,得到的检测精度就会越好,需根据实际而定,YOLOV5的网络结构图如图1所示。

图1 YOLOV5网络模型

1.1 Backbone

输入端首先输入图片大小为640×640×3,经过Focus的切片操作,将图片切成12×320×320的特征图,再沿着通道维度对特征图进行融合,后经过一个64卷积核的卷积操作,输出图片大小为320×320×64。接着经过卷积核大小为3×3,步长为2的卷积模块,起到下采样作用,进行特征提取。然后经过3次BottleneckCSP和Conv卷积操作得到特征图,对特征图采用空间金字塔池化模块(Spatial Pyramid Pooling,SPP)提升精度,通过不同尺寸的最大池化方式进行多尺度特征融合,再通过Concat将池化后的特征图聚合起来。

1.2 Neck

Neck部分示意图如图2所示,多尺度预测通过特征金字塔(Feature Pyramid Net,FPN)和感知对抗网络(Path Aggregation Network,PAN)结构实现上采样和下采样过程[7]。FPN执行两次上采样自顶向下传递强语义特征,得到预测特征图,由FPN输出76×76预测特征图;PAN在FPN后添加自底向上的金字塔,传递低层定位特征,由PAN输出19×19和38×38预测特征图;将FPN和PAN从不同的主干层对不同的检测层进行特征聚合,使特征金字塔既拥有语义信息也拥有定位信息。

图2 Neck部分

1.3 Prediction

该部分主要包括非极大值抑制处理(Non-maximum Suppression,NMS)和损失函数GIOU[7],经过非极大值抑制处理滤除冗余的预测框来提升表面缺陷检测精度。

注意力机制是指集中关注检测区域而忽略无关要素,比如在热轧钢带的缺陷中,缺陷区域是注意力模型最应该关注的点,并投入更大的权重,突出显著特征,抑制和忽略无关特征。文献[8]建模各个特征之间的重要性,通过不同的特征通道的权重进行重新分配,对各个通道特征施加不同程度注意力,命名为挤压和激励(Squeeze-and-Excitation,SE)模块,如图3所示,分为四个步骤:Transformation,Squeeze,Excitation和Scale。

图3 SENET模块

卷积模块的注意力机制模块(Convolutional Block Attention Module,CBAM),由文献[9]融合了两种注意力机制,结合了空间和通道的注意力机制模块,相比通道注意力机制可以取得更好的效果。如图4所示,通道注意力特征图对原特征图F进行校正得到F′,空间注意力特征图,对特征图F′再进行校正输出F″。

图4 通道、空间注意力模块图

2 YOLOV5s_Attention表面缺陷检测

2.1 数据预处理

本文将传统的数据增强与马赛克数据增强相结合,丰富数据集的数量,提高模型的泛化能力,减少模型中部分无效的高频特征对检测结果的影响。

图5a)是马赛克数据增强图片,将四张图片进行随机裁剪、随机旋转和随机排列拼接,丰富数据量。图5b)是用传统方法增加对比度,增加色彩饱和度、添加高斯模糊并同马赛克数据增强相结合打印出的图像,利用数据增强来降低样本不均衡比例,提升模型的鲁棒性。

图5 数据增强前后对比

2.2 基于YOLOV5s_Attention表面缺陷检测网络

本文对YOLOV5网络进行改进,分别在Backbone和Neck中添加注意力机制,具体如下:

创新点1:如图6所示,将SELayer中的SE模块嵌入到Backbone的结构中,图中虚线框所在位置为添加模块。本文将Backbone中添加第一个SE的位置,即第5层位置称为SE1,将添加在第二和第三个位置的SE模块,即第8层和第11层分别称为SE2和SE3,同时在第一个位置和第二个位置添加SE模块,即同时添加在第5层和第8层的称为SE1,2。通过SE模块中生成的通道特征因子来建立通道间特征图的联系,使得模型能够关注通道维度的特征关系,建模各个通道的重要程度,然后针对不同缺陷任务增强或者抑制不同的通道,提升模型的判别能力,从而极大提升了模型在表面缺陷检测问题上的鲁棒性。

创新点2:如图6所示,将CBAM模块嵌入到Neck跳链处的网络结构中,图中虚线框所在位置为添加模块。本文将Neck中添加第一个CBAM的位置,即第17层位置称为CBAM1,将添加在第二和第三个位置的CBAM模块,即第22层和第26层位置分别称为CBAM2和CBAM3,同时在第一个位置和第二个位置添加CBAM模块,即同时添加在第22层和第26层位置称为CBAM1,2。CBAM是轻量级模块,可以忽略该模块的开销,即插即用,可集成到大多数CNN架构中。文献[10]提到注意力的有效性会随着位置发生变化,模块的深度影响到注意力插入位置。本文将CBAM深层次融合到YOLOV5s中,通过网络不断深层次的训练,更好地进行通道与空间维度的融合,保留图像的通道特征与空间位置信息,有利于提高网络检测精度。

图6 YOLOV5s_Attention网络结构图

3 实验结果与分析

3.1 实验环境

本文所采用的实验环境是由本地主机SSH远程连接服务器所搭建的,模型的实验环境配置如表1所示。

表1 实验环境配置表

3.2 数据集介绍

该数据集共包括六种常见的热轧钢带表面缺陷,如图7所 示,分 别 为 细 裂 纹(Crazing,Cr)、表 面 杂 质(Inclusion,In)、斑点(Patches,Pa)、麻点(Pitted Surface,PS)、轧 入 氧 化 皮(Rolled-in Scale,RS)与 划 痕(Scratches,Sc)。数据的图像初始分辨率为200×200,每个缺陷类各300张,一共1 800张图片,数据集按照8∶2随机划分训练集和验证集。数据集图片为灰度图片,相比其他三通道RGB图片信息量更少,且边界没有明显的统一划分,增加了检测难度。另外,由于照明和材料变化的影响,类内缺陷图像的灰度是变化的。NEU_DET数据集包括两个困难的挑战,即类内缺陷外观上存在较大差异,而类间缺陷具有相似的方面。

图7 缺陷类别图片

3.3 评价指标

3.3.1 模型评价精确度指标

目标检测的评价指标有平均精度(Average Precision,AP)和平均精度均值(mean Average Precision,mAP),除此之外用每秒检测帧数(Frames Per Second,FPS)来衡量该模型缺陷检测的速度是否达到工业实际应用标准要求,其中,平均精度均值是基于准确率(Precision,P)、召回率(Recall,R)、平均精度(Average Precision,AP)这三个标准。

准确率Precision的计算公式如式(1)所示:

式中:TP为真正例;FP为假正例。

召回率Recall的计算公式如式(2)所示:

平均精度AP:不同查全率下精确率的平均值,衡量对一个类检测的好坏。

平均精度均值mAP:对多个类检测好坏,一般用来评价网络模型的性能,如式(3)所示:

式中:AP(i)为某个类别的检测精度;n为类别数。

3.3.2 模型速度评价指标

在工业实际检测中,要求检测系统在较短时间内检测定位到热轧刚带的缺陷位置和类别,因此,网络的检测速度指标也是重要的模型评价标准,评估常用单帧处理时间(包括推理时间和非极大值抑制时间),例如模型处理一张图片需要10 ms,则可近似认为FPS=1 0.01=100,则表示每秒检测100张图片。FPS值越大,代表模型的检测速度越快。

3.4 训练方法

在模型训练过程中,使用的权重为YOLOV5s在COCO数据集上训练好的权重文件yolo5s.pt,作为YOLOV5s模型的初始权值,采用小批量随机梯度下降法(SGD)训练模型,模型的BatchSize设置为32,网络的初始学习率设置为0.01,动量参数设为0.937,权重衰减系数为0.000 5。根据表2所示数据,选取合适基础模型进行实验。

表2 不同YOLOV5模型的热轧刚带表面缺陷检测模型的性能

表格中数据均为同一实验环境测得。从本文选取数据集角度:数据特征单一、复杂度低,绝大多数为单标签;工程需求角度:适用于工厂,缺陷检测的需求趋向轻量化,均衡检测精度与检测速度。对表格数据进行分析,空间复杂度:模型大小、参数量多;时间复杂度:FLOPs衡量模型的复杂度,同时影响训练时间。综合考虑本文采用YOLOV5s模型作为本文基线。

3.5 消融实验

本小节进行消融实验,检验各个模块添加效果,实验结果统计如表3所示。

表3 消融实验结果

在Backbone中,本文对分别添加的SE模块进行消融实验,数据表明:添加两个位置即同时添加在第5层、第8层的SE2,3模块相比其他单个或者两个模块的检测精度高,当同时添加三个SE模块即SE1,2,3的检测精度与SE1,2的检 测 精 度 相差不 大,如图8a)黑 色 框 标注;在Neck中,同时添加两个位置和三个位置的CBAM模块检 测 精 度 相 差 不 大,最 高 检 测 精 度CBAM1,2,3达 到81.6%,如图8b)黑色框标注所示。

图8 模型添加注意力模块对比图

如图9所示,分别选取Backbone中检测精度较高的SE1,2,3和SE1,2模块,Neck中检测精度最高的CBAM1,2,3和CBAM1,3模块进行7组实验,数据表明,检测精度较高的SE2,3+CBAM1,3模 块 相 组 合 精 度 较 低,而SE1,2,3+CBAM1,2,3模块相组合检测精度同其他模块相比性能最佳,即本文所提出的YOLOV5s_Attention模型检测精度最高,达到83.6%,单帧处理时间达到91 f/s,充分满足工业需求。

图9 本文模块检测精度对比图

3.6 对比实验

本文将选用的YOLOV5s与经典目标检测算法:单阶 段SSD[11]、YOLOV3[12]、YOLOV4和 双 阶 段Fast-RCNN[13]等进行对比,主要对比的是FPS、mAP和各个缺陷类别的AP,结果如表4所示。

表4 算法性能对比

对表4进行分析,Fast-RCNN是经典的two-stage检测算法,是目前在热轧钢带数据集上结果比较优秀的模型,MMDection是开源的、丰富的检测工具箱,包含常用的检测模型的组件和模块,表格中的CenterNet_resNet18和Paa算法的数据均是在同一硬件实验环境下训练验证得出的结果,YOLO系列是one-stage的典型代表模型,检测速度相比其他模型有较大优势。

结合FPS和整体检测精度mAP,YOLOV5s的检测精度为75.30%,与其他同类型的模型整体检测精度接近,YOLOV5s_Attention模型的检测精度达到83.6%,相较YOLOV5s提 升 了8.3%,其 中Cr由32.8%提 升 到76.8%,RS由60.4%提升到76.1%,检测精度效果提升比较明显,由于模型深度增加,YOLOV5s_Attention的单帧处理时间为91 f/s,要略慢于YOLOV5s,但充分满足工业需求。

本文中提到选取YOLOV5s作为基线,经过改进模型得到的YOLOV5s_Attention的各项对比数据如表5所示。

表5 YOLOV5模型的热轧钢带表面缺陷检测模型的性能

从表5中可以看出,本文模型YOLOV5s_Attention的mAP为83.6%,相比YOLOV5s的检测精度提升8.3%,相比YOLOV5x的精度提升2.1%,并且参数量相较YOLOV5x更少。

3.7 检测结果

本文模型预测结果如图10所示。其中,图10a)为人工标记,图10b)为原始YOLO,图10c)为本文YOLOV5s_Attention的预测结果。从图中可以看出,本文YOLOV5s_Attention模型相比原始模型检测到的缺陷要更加精确,漏检的数量更少,如图10c)中的箭头所标注,YOLOV5s_Attention模型在crazing_4.jpg、scratches_4.jpg、rolled_in_scale_1.jpg和rolled_in_scale_2.jpg的 图片相比原始YOLO模型都检测到缺陷,但是对于背景颜色与缺陷近乎类似的crazing一类的图片,两个模型也都出现了漏检的情况。

图10 人工、原始和本文模型预测结果对比图

4 结论

针对热轧钢带表面缺陷检测工程问题,本文提出一种YOLOV5s_Attention算法。首先将传统的数据增强方法与马赛克增强相结合对数据进行预处理,接着对YOLOV5s网络进行优化调整。在NEU-DET数据集上,检测速度达到91 f/s,最佳检测精度达到83.6%,高于YOLOV5x的检测精度81.5%。同时,在与其他算法进行对比时,不弱于其他检测算法,有效均衡了工程中的检测精度与检测速度,实现在NEU-DET数据集上端到端快速、精确的检测。

猜你喜欢

注意力精度特征
让注意力“飞”回来
如何表达“特征”
不忠诚的四个特征
基于DSPIC33F微处理器的采集精度的提高
抓住特征巧观察
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
GPS/GLONASS/BDS组合PPP精度分析
改进的Goldschmidt双精度浮点除法器
线性代数的应用特征