钨棒作为一种优良的合金棒材,在中国高端制造领域中扮演着不可忽视的重要角色。近年来,随着合金市场的快速扩大以及钨棒需求的不断增加,钨棒生产企业对钨棒质量提出了更高的要求,而外观质量是钨棒质量的关键。受制造工艺等因素影响,钨棒可能会出现强度降低、致密度下降、服役寿命缩短等问题,经过锻压、挤压、拉伸、抛光等复杂过程,钨棒表面也可能会产生多种缺陷。这些缺陷不仅影响了钨棒成品的外观,而且降低了钨棒的使用寿命和耐磨性,给企业带来经济损失,严重时甚至会带来安全隐患。目前,我国钨棒表面缺陷检测通常采用人工检测的方式,即由经验丰富的工人使用肉眼观察。然而,这种方式并不可靠,很大程度上依赖员工的主观经验。此外,人工检测对检测光源有很高的要求,长时间的目检也容易导致视觉疲劳,从而降低检测效率,增加误检和漏检的风险,相较之下,基于深度学习的目标检测算法凭借其优秀的表征学习能力,可以有效地解决这类问题[1]。
近年来,计算机视觉领域的端到端深度学习是一个重要的研究热点。HE等[2]将ResNet34作为骨干网络的缺陷检测网络(DDN)和多级特征融合网络(MFN)用于多层检测熔融带彩表面缺陷,在NEU-DET数据集上实现了0.748的mAP(全类平均正确率)。XING等[3]将主干网络替换为具有对称模块的卷积神经网络,采用特征金字塔网络(FPN)结构加强特征提取与改进的损失函数XIOU,将mAP提升至79.89%。RACKI等[4]采用CNN架构进行缺陷分割,利用决策网络进行缺陷分类,提高了检测精度。胡欣等[5]通过改进YOLOv5模型,改进包括融合多空间金字塔池化模块(M-SPP)和空间坐标注意力模块(SCA)在内的多个模块,在螺纹钢数据集上,mAP达到0.976。李鑫等[6]进一步优化YOLOv5算法,采用数据增强策略搜索算法和EIoU损失函数,在航空发动机数据集上使mAP达到0.985,与基准网络相比提升了1.2%。刘艳菊等[7]将YOLOv5主干网络替换为MobileNetv3,提升了检测速度,并在热轧钢条缺陷检测中表现优异。毛欣翔等[8]基于YOLOv5模型,通过生成对抗网络生成数据训练模型,检出率可达到0.90以上。
以上基于深度学习的工业材料表面缺陷检测方法虽然在各自场景中提升了一定的检测精度,但是其针对的缺陷类型与钨棒表面缺陷类型存在明显差异。钨棒表面缺陷具有其独特性,存在小缺陷分辨率低、信息量不足、图像污渍、噪声和背景干扰等问题以及缺陷尺度相差较大的特点。因此,有必要深入开展钨棒表面缺陷识别研究,针对钨棒表面缺陷的特点进行模型设计和优化,以解决类似问题。
文章提出一种基于改进YOLOv5的钨棒表面缺陷检测算法。首先,针对缺陷微小,信息量不足的问题,添加小尺度检测头,采用更大的特征图,提高分辨率缩小感受野,提升对小缺陷的检测能力;其次,针对图像中存在污渍、噪声和背景干扰的问题,采用增加注意力机制的方法,强化关键特征并抑制干扰信息,从而提高对缺陷的关注度;最后,针对钨棒表面缺陷尺度相差较大的特点,采用BiFPN[9]结构实现多尺度特征融合,减少以融合不同特征为目标的结构中的冗余,提高多尺度目标特征的融合度。通过以上3种改进策略,提高检测模型对钨棒表面缺陷检测的准确性和鲁棒性。
文章采用YOLOv5作为目标检测框架,结合钨棒表面缺陷检测特点,提出了3种策略对算法进行改进。改进后的YOLOv5模型如图1所示(图中Bottleneck为瓶颈层,BN,SiLU等为相关处理工序,X,n为变量),包含输入端Input、特征提取网络Backbone、特征融合网络Neck、预测输出端Prediction四个部分。其在输入端添加了小尺度检测头,以更好地处理小缺陷的漏检问题;其次在特征提取层添加了注意力机制;最后通过加权双向特征金字塔网络改进特征融合网络。改进算法能够在保持轻量化的同时,提高钨棒表面缺陷的检测精度。
原始YOLOv5 模型在3个不同尺度的特征图上进行缺陷检测,针对每个尺度的特征图设置3种不同规格的先验框,通过自适应锚框计算得到9个最佳锚框值。在YOLOv5模型基础上增加一个4倍下采样的检测头,可以有效提高目标检测性能。添加小尺度检测头P2后的YOLOv5模型,共聚类生成12种不同尺度的先验框,可以在4倍、8倍、16倍和32倍下采样特征图上进行不同尺度缺陷的预测。改进后的模型显著提升了在多尺度缺陷检测上的性能。
在模型中引入小尺度检测头,网络模型的特征融合模式发生了变化(见图2)。如图2所示,在添加了小尺度检测头P2后,特征融合结构发生了改变,图中的C2、C3、C4、C5分别代表骨干网络提取的经过4倍、8倍、16倍和32倍降采样的特征图,而F3、F4是特征融合层,P2、P3、P4、P5是4个检测头。
针对图像污渍、噪声、粗糙复杂背景等因素干扰的问题,原有网络模型的特征提取网络模型难以有效、充分地学习到钨棒表面缺陷的特征。文章提出使用增加注意力机制的方法,强化关键特征,抑制干扰因素,提高模型对钨棒缺陷特征的关注度。CA(注意力机制)模块将通道注意力分解为一维特征编码过程,沿宽和高方向聚合特征,其结构如图3所示(X,Y为变量,Concat,Conv2d等为处理函数)。
CA[10]模块对全局平均池化进行分解,对尺寸为H×W×L(高×宽×长)的输入特征图xn在高度和宽度两个方向分别使用尺寸为(H,1)和(1,W)的池化核进行一维的平均池化操作,经过该操作后获得尺寸分别为H×1×L和1×W×L的特征图zh和zw,该模块不仅对空间信息十分敏感,并且具有良好的全局感受野,即

式中:h为特征图在高度方向上的某一行;j为特征图在高度方向上的索引;W为特征图在宽度方向上的索引。
在坐标信息嵌入过程中,CA模块与传统的SEnet[11]有所区别。传统的SEnet对整个特征图进行全局平均池化操作,而CA模块则在两个方向上进行单方向的池化操作,方便了下一步对两个方向特征信息的融合。
经过上述池化操作后,将两个特征图zh和zw进行拼接,利用1×1卷积模块F1进行特征图降维,然后通过激活函数δ和批量归一化处理得到f,即

式中:f为通过下采样操作得到的中间特征向量;将得到的特征向量f沿空间维度切分后可得到两个单独张量fh和fw,然后分别使用1×1卷积模块Fh和Fw,还原两个特征图通道维数,最后通过 Sigmoid 激活函数,分别获得特征图在高度方向上的注意力权重gh和宽度方向上的注意力权重gw,即

最后将此两个权重值乘以原始的特征图,得到经过注意力加权后的特征图y(i,j),即

多尺度特征融合网络是一种用于计算机视觉任务的深度学习模型,旨在解决不同尺度下特征信息的融合问题。在图像处理中,不同尺度的特征包含了不同层次的语义信息和细节信息。多尺度特征融合网络通过将来自不同层次的特征进行融合,以提高模型的性能。通过多尺度特征融合网络,可以有效地解决缺陷尺度跨度大的问题,提高缺陷检测的性能和鲁棒性。图4(图中P6,P7表示相对较深层级的特征图)展示了3种经典的多尺度特征融合网络(FPN,PAN,BiFPN)的设计形式,笔者引入图4(c)所示的BiFPN 网络,即 EfficientDet 检测模型中提出的 BiFPN(加权双向特征金字塔网络)加速特征融合与保持双向跨尺度连接的时效性。
BiFPN 相较于PAN和FPN,具有更好的双向信息流动、多尺度特征融合、动态特征扩张和信息传递路径优化等优势,可以更好地适应不同钨棒表面缺陷尺度的大幅度变化,提高缺陷检测的准确性和泛化能力。
在进行特征融合之前,为每个输入特征图添加一个额外的权重,使得网络可以学习不同输入特征图的重要性。通过 BiFPN学习不同输入特征信息的重要性,对重要的特征信息进行融合。为了尽量减少特征融合的时间,采用快速归一化的融合策略,即

式中:Ii为第i个特征值;wi为其对应的权重;ε通常是一个极小的正数,防止分母为零的情况出现;wj为第j个特征对应的权重。
文章采用GPU来提高模型训练速度,并结合Nvidia公司开发的CUDA运算平台对模型进行训练,环境配置如表1所示。
| 参数 | 数值/型号 |
|---|---|
| 操作系统 | Windows 10×64 |
| CPU | Intel(R) Core(TM) i5-12600KF |
| GPU | NVIDIA GeForce RTX3060 |
| 环境 | PyCharm+Pytorch1.12.1+Python3.8+Cuda11.6+OpenCV |
经过对上述不同种类预测框的统计,可以计算检测模型的两个重要指标,精确率P(Precision)和召回率R(Recall)。精确率计算如式(8)所示;召回率为检测正确的预测框与所有真实标签框的比,如式(9)所示。对于整个数据集的检测指标为平均精确度AP(Average Precision),对于整个数据集的检测指标为全类平均精确度mAP,有
式中:TP表示实际为真,预测为真;FP表示实际为假,预测为真;FN表示实际为真,预测为假。
此次试验中部分超参数设计如表2所示。
| 参数 | 名称 | 数值/型号 |
|---|---|---|
| 训练批次 | batch_size | 16 |
| 初始学习率 | learning_rate_base | 0.01 |
| 权重衰减系数 | weight_decay | 0.000 5 |
| 优化器 | optimizer | SGD |
| 轮次 | epoch | 250 |
利用工业相机在实验室自制钨棒上采集表面缺陷数据集,得到2 372张原始的钨棒表面缺陷图像,数据增强后扩充到3 552张图像,其中各个缺陷类型的钨棒图像样本数量分别为斑块668张、裂口709张、刮伤713张、孔洞762张、粗痕700张,各类缺陷样例如图5所示,图像数量分布情况如图6所示。
为说明改进算法的优点,试验分别从检测头重构、CA注意力机制和基于BiFPN的特征融合结构三个角度来进行验证。
为了验证添加小尺度检测头的有效性,以原始YOLOv5模型的检测结果为基准,保持其他超参数与训练过程不变,只在原始目标检测模型上添加新的小尺度检测头P2,并将其模型命名为YOLOv5-P2。YOLOv5与YOLOv5-P2的检测性能对比如表3所示。
| 模型名称 | 粗痕AP/% | 孔洞AP/% | 裂口AP/% | 斑块AP/% | 刮伤AP/% | mAP@.5/% |
|---|---|---|---|---|---|---|
| YOLOv5 | 92.64 | 83.31 | 87.43 | 86.41 | 96.08 | 89.17 |
| YOLOv5-P2 | 92.89 | 85.67 | 88.27 | 86.73 | 95.61 | 89.83 |
由表3可知,YOLOv5-P2的mAP@.5(目标检测领域的一个重要评估指标,表示在交并比为0.5的条件下计算得到的平均精度值)提高到了89.83%,模型添加小尺度检测头后整体的mAP@.5相对于原始YOLOv5模型上升了0.66%;从每一类缺陷的AP值来看,孔洞缺陷的检测精度提高显著,AP值提高了 2.36%,粗痕缺陷、裂口缺陷和斑块缺陷的AP值都有一定程度的提升。
为了更加直观地分析模型添加小尺度检测头的效果,对不同算法得到的小缺陷检测结果进行对比,其结果如图7所示。
从图像对比结果中可以明显看出,模型对小缺陷检测效果有一定的提升,验证了增加新的小尺度检测头的有效性。
为了进一步验证添加CA空间注意力模块的优越性,继续以上述改进后的YOLOv5-P2模型作为基础,在特征提取网络中添加CA注意力机制与其他常见的注意力机制模块,在钨棒表面缺陷数据集上进行对比试验,以验证其效果,其检测性能对比如表4所示。
| 模型名称 | 粗痕AP/% | 孔洞AP/% | 裂口AP/% | 斑块AP/% | 刮伤AP/% | mAP@.5/% |
|---|---|---|---|---|---|---|
| YOLOv5-P2 | 92.89 | 85.67 | 88.27 | 86.73 | 95.61 | 89.83 |
| YOLOv5-P2+SE | 93.46 | 86.23 | 88.87 | 85.93 | 95.32 | 89.96 |
| YOLOv5-P2+CBAM | 93.03 | 85.94 | 88.06 | 84.89 | 95.89 | 89.26 |
| YOLOv5-P2+ECA | 91.81 | 84.55 | 86.37 | 87.53 | 96.30 | 89.37 |
| YOLOv5-P2+CA | 93.51 | 86.37 | 88.51 | 87.75 | 96.21 | 90.47 |
由表4可以看出,添加CA注意力机制后的平均检测精度提升了0.64%,提升最多;添加SE注意力机制后的平均检测精度仅提升了0.13%;添加CBAM[12]、ECA[13]注意力模块后,模型的检测性能反而有所下降,原因在于注意力模块引入了额外的计算复杂度,导致训练过程更加困难,也可能是模型在训练过程中学习到了更多的噪声或产生了过拟合的现象。
综上所述,添加CA注意力机制的模型平均检测精度优于添加其他注意力机制的,故将CA注意力机制嵌入到特征提取网络末尾处的模型检测性能最优。
为了验证改进双向特征融合网络BiFPN结构的有效性,现以经过上述引入小尺度检测头和CA注意力机制模块的模型YOLOv5-P2-CA为基础,在特征融合网络引入BiFPN结构替换原始结构,其余部分保持原样。将改进后的网络结构、原始网络结构和未添加BiFPN结构的模型在钨棒表面缺陷数据集上进行对比试验,其检测性能对比如表5所示。
| 模型名称 | 粗痕AP/% | 孔洞AP/% | 裂口AP/% | 斑块AP/% | 刮伤AP/% | mAP@.5/% |
|---|---|---|---|---|---|---|
| YOLOv5 | 92.64 | 83.31 | 87.43 | 86.41 | 96.08 | 89.17 |
| YOLOv5-P2-CA | 93.51 | 86.37 | 88.51 | 87.75 | 96.21 | 90.47 |
| YOLOv5-P2+BiFPN | 94.94 | 87.49 | 88.98 | 88.52 | 96.12 | 91.21 |
从表5中可以看出,YOLOv5-P2-CA的特征融合结构进行改进后,模型的mAP@.5达到了91.21%,相较于改进前增加了0.74%,其中粗痕缺陷和孔洞缺陷的平均精确度提升尤为明显,分别提高了1.43%和1.12%,证明了改进特征融合网络的有效性。
最终改进后的算法称为YOLOv5-P2-CA-BiFPN,其对应三种改进方法分别为P2(小尺度检测头)、CA(空间注意力机制)和BiFPN(加权双向特征融合网络)。YOLOv5-P2-CA-BiFPN模型与原始YOLOv5模型相比,mAP@.5值提升了2.04%,同时各类缺陷的平均精确度值相较于原始YOLOv5模型的值均有所提高,其中孔洞缺陷、粗痕缺陷以及斑块缺陷的AP值提升尤为明显,分别提高了4.18%、2.30%和2.11%。
为了更加直观地发现改进算法YOLOv5-P2-CA-BiFPN的优势,将其与其他主流算法的缺陷检测结果进行对比分析,结果如表6所示。
| 模型名称 | 粗痕AP/% | 孔洞AP/% | 裂口AP/% | 斑块AP/% | 刮伤AP/% | mAP@.5/% |
|---|---|---|---|---|---|---|
| YOLOv5 | 92.64 | 83.31 | 87.43 | 86.41 | 96.08 | 89.17 |
| Faster R-CNN | 91.38 | 80.58 | 83.90 | 80.35 | 92.97 | 85.84 |
| SSD | 90.63 | 75.01 | 77.10 | 84.23 | 93.99 | 84.19 |
| YOLOv3 | 87.63 | 82.14 | 75.96 | 82.96 | 92.11 | 84.36 |
| YOLOv4 | 90.36 | 86.31 | 83.66 | 87.63 | 94.61 | 88.51 |
| YOLOv5-P2-CA-BiFPN | 94.94 | 87.49 | 88.98 | 88.52 | 96.12 | 91.21 |
由表6可见,文章提出的算法相比于其他主流检测模型,模型体积最小,同时保持了较高的检测精度。相比于原始YOLOv5s模型,其检测精度提高了2.03%。与传统的two-stage算法Faster R-CNN[14]相比,其具有较大的检测速度优势,检测精度也有极大提升。改进后的模型相比于SSD[15]、YOLOv3、YOLOv4、Faster R-CNN算法,在检测精度上也有较大提升。综上所述,文章提出的YOLOv5-P2-CA-BiFPN算法在保持轻量化的同时,检测精度最高,保持了较好的实时性,整体表现较为突出,具有可行性与优越性。
为了更加直观地发现改进算法YOLOv5-P2-CA-BiFPN的优势,对检测结果做了可视化分析。
为了验证对漏检情况的改进,对比原始YOLOv5和改进后网络的检测结果(见图8),可见,对于视觉特征不明显的粗痕、斑块缺陷以及小尺度缺陷的检测性能,文章算法比原始YOLOv5算法更具优势,能够很好地解决原始YOLOv5 模型的缺陷漏检问题。
为了验证对误检情况的改进,对比原始YOLOv5和改进后算法的检测结果(见图9),图中蓝色圈出的目标是原始YOLOv5算法误检的情况,其实际为钨棒表面中存在的碳素笔标记,原始的YOLOv5算法将其误检为斑块缺陷,经过改进后的YOLOv5算法检测时避免了这类误检问题;对于拍摄钨棒时的角度以及光照度问题,原始的YOLOv5算法会将在光照度较强,棒身出现反光的地方误检为钨棒刮伤缺陷,改进后的YOLOv5算法有效地避免了此类误检情况;原始的YOLOv5算法检测时会将钨棒表面的污渍生锈误检为钨棒粗痕缺陷,改进后的YOLOv5有效地避免了此类误检情况;钨棒斑块缺陷出现在近端面位置,其部分斑块缺陷信息特征与裂口特征相近,原始的YOLOv5算法检测时会将裂口缺陷误检为斑块缺陷,改进后的YOLOv5有效地避免了此类误检情况。综上所述,文章改进的算法能够有效地减少钨棒表面缺陷的误检,达到更好地检测效果。
文章提出了一种基于改进YOLOv5的钨棒表面缺陷检测算法,首先通过添加小尺度检测头,能够更好地处理小缺陷的漏检问题;其次在特征提取层添加了注意力机制;最后通过加权双向特征金字塔网络改进特征融合网络。该算法在钨棒表面缺陷数据集上的mAP@.5达到了91.21%,与原始YOLOv5模型相比,mAP@.5值提升了2.04%,同时各类缺陷的平均精确度值均有所提高,为钨棒表面缺陷的精准识别提供了有效技术手段。
Copyright C 2009-2014 All Rights Reserved 河南旻宸企业管理咨询有限公司 版权所有 豫ICP备2024047879号-1
地址:河南省新乡市高新技术开发区20号街坊开祥天下城11号楼 EMAIL:154740484@qq.com