基于改进YOLOv4-tiny的铝合金型材表面缺陷检测

2022-12-19 10:19梁维中王洪玉王淑涵
黑龙江科技大学学报 2022年6期
关键词:型材先验铝合金

梁维中, 王洪玉, 王淑涵

(黑龙江科技大学 材料科学与工程学院, 哈尔滨 150022)

0 引 言

近年来,铝合金型材作为一种工业建材,由于其自身优异的性能被广泛应用在船舶、飞机、汽车等制造领域,逐渐成为应用最广泛的有色金属结构材料。在传统铝型材加工过程中,型材易受外界物体碰撞,表面产生擦花、喷流、脏点等缺陷。带有缺陷的铝合金型材不仅影响美观,还会存在安全隐患[1],因此,对铝合金型材表面缺陷检测的研究是极其重要的。

传统表面缺陷检测主要通过边缘检测等算法提取出物体表面的特征,再通过像素对比法选择出缺陷特征,进而判断缺陷的种类。传统表面缺陷检测方法存在检测可靠性较低,难以检测小目标缺陷等问题。随着计算机硬件水平和深度学习技术的提高,目标检测算法也不断更新发展。当前,目标检测算法主要发展为两大类,一类是双阶段目标检测算法;另一类是单阶段目标检侧算法。双阶段目标检测算法在检测过程中先生成预选框,然后进行细粒度物体检测,最后进行分类和预测位置。双阶段目标检测准确率高[2],但存在着检测速度慢,难以实现实时检测等缺点[3],如 R-CNN[4]、Fast R-CNN[5]等。单阶段目标检测算法直接在网络中提取特征来预测物体的分类和位置,其特点是一步到位,送入网络一次就可以预测出所有的边界框,速度相对较快[6],能够达到实时要求,且背景错误较少,泛化能力强,适合工业生产环境下的铝合金型材表面缺陷目标检测,如YOLO[7]、SSD[8]等。在工业环境中,铝合金型材表面缺陷的目标检测存在较多不确定性因素,要求不仅仅要做到速度快,更要在保证检测结果准确性的同时尽可能减小模型自身所占内存。

目前,基于深度学习的铝合金表面缺陷检测的研究已取得一定进展。黄荣锐等[9]将特征金字塔结构添加到Faster R-CNN中,使用可变形卷积网络优化特征提取过程。将模型检测准确率和鲁棒性有效提高。崔亚飞等[10]引入了多阶段模型训练方法使部分无缺陷样本生成对抗样本,用ResNeXt105网络代替原始VGG16网络提取图像特征,设计了Cascade Faster R-CNN的网络结构,采用FPN提取多尺度特征图并进行特征图融合,测试结果显示改进后网络模型有效提高了对小目标特征的提取能力和泛化能力。吴晓成等[11]利用K-means聚类算法将数据集的目标框重新聚类,改进YOLOv3模型的参数,通过多尺度训练方法,增强模型对不同尺度缺陷的适应性和识别精度。上述对原有网络进行了改进,有效提高模型检测目标的精度,同时也存在模型过大,检测速度慢,未能满足实时检测等问题。

针对铝合金型材表面缺陷实时检测速度快、模型小、准确率高等要求,笔者运用迁移学习,提出一种改进后的YOLOv4-tiny算法,在保证实时检测速度高的前提下,添加通道注意力机制,提高均值平均精度。

1 YOLOv4-tiny的改进算法

1.1 数据集构建

文中实验数据集为某铝合金型材公司所提供擦花、喷流、脏点三类缺陷,利用Python批量处理为PASCAL VOC2007格式,如图1所示。将数据集去除背景处理,进行手动数据增强,顺时针旋转90°、180°、270°,如图2和3所示。最终得到2 182张图片,其中,擦花728张、喷流726张、脏点728张。整理完数据图像后使用Labelimg进行标注,并生成xml文件。

图1 三类不同缺陷Fig. 1 Three different types of defects

图2 去除背景Fig. 2 Remove background

图3 图片旋转Fig. 3 Image rotation

1.2 K-means算法

K-means聚类算法[12]采用距离作为相似性的评价指标,两个被聚类对象的距离越近,其相似度就越大。基本思想是给定样本集D={x1,x2,…,xm}中,每个向量都是d维,将样本集中m个数据分为k簇的集合C={c1,c2,…,ck},距离靠近的被聚类对象组成类簇,因此,K-means聚类算法的最终目标是得到紧凑且独立的簇,而最小化平方误差E刻画了Ci的均值向量(μi)的紧密程度,最小化平方误差越小则簇内样本相似度越高。均值向量公式为

(1)

式中:Ci——集合C的子集;

x——集合D的元素。

(2)

由于文中主要运用迁移学习,YOLOv4-tiny原始目标先验框是通过聚类COCO数据集得来的,其中存在80类大小不同物体的目标先验框,而文中研究所用数据集为自制铝合金型材表面缺陷数据集,且三类缺陷大小差异明显,若继续沿用原始目标先验框,则会存在先验框不敏感等问题。因此,利用K-means算法重新确立目标框,使目标检测时定位更加准确[13]。文中将K-means算法中欧氏测距法进行改进,根据交并比(Intersection over union,IOU)计算先验框之间的距离,其值越大先验框之间的距离越小,交并比θIOU的计算公式和先验框之间的距离为

(3)

式中:θIOU——交并比(真实框与预测框交集和并集的比值);

AOL——真实框与预测框的交集;

AU——真实框与预测框的并集。

D(B,C)=1-θIOU(B,C),

(4)

式中:D——先验框之间的距离;

B——任意一个先验框;

C——先验框中心。

文中设定K值1~10,分析结果如图4所示。由图4可知,随着K值的增大,交并比的值不断增加,增长率不断减小。K=6以后,交并比增长缓慢,为保证交并比的值能够大于0.6且最大程度减少模型计算量,使模型趋向于轻量化,最终选取合适的K值为6。当K=6时,聚类结果的目标框为(7,8),(13,17),(33,17),(70,24),(152,28),(410,42),聚类结果如图5所示,图中,h为缺陷目标高,单位为像素点;b为缺陷目标宽,单位为像素点。

图4 交并比随K变化关系Fig. 4 Intersection over union with K

图5 聚类结果Fig. 5 Clustering results

SEnet[14]的原理是通过控制权重的大小,将重要的特征增强,不重要的特征减弱,从而使提取的特征指向性更强。SEnet的网络结构中对输入图像的高和宽进行全局平均池化,再进行两次全连接,第一次全连接神经元个数较少,第二次全连接神经元个数和输入特征层相同,完成两次全连接后,进行一次Sigmoid取值,将输入特征层每个通道的权值固定在0~1之间,运用Scale操作将计算出来的各通道权重值分别和原特征图对应通道的二维矩阵相乘,输出结果。SEnet的网络结构如图6所示。

图6 SEnet网络结构Fig. 6 SEnet network structure

1.3 改进YOLOv4-tiny

YOLOv4-tiny[15]是YOLOv4的改进版本,在YOLOv4的基础上,简化其结构,减少模型运算量,大大提高了目标检测的速率,但同时也存在检测精度降低等问题。

YOLOv4-tiny主要由输入、主干特征提取网络,加强特征提取网络和预测输出四部分组成。输入图像的大小可以是416×416和608×608。主干特征提取网络为CSPDarknet53-tiny,在加强特征提取网络进行特征融合,经分类器和回归器预测输出。

文中输入的图像大小为416×416×3,在加强特征提取网络模块的上采样之前和上采样之后以及第二次最大池化之后添加三次通道注意力机制SEnet,以增强网络对图像特征的提取能力。改进后的YOLOv4-tiny网络结构如图7所示。图中,Conv为卷积,Concat为通道数相加的特征融合方式,BN为Batch normalization,批量归一化,LeakyRelu为激活函数,Upsample为上采样,MaxPool为最大池化。

图7 改进后的YOLOv4-tiny网络结构Fig. 7 Improved YOLOV4-tiny network structure

2 实 验

2.1 环境配置

实验所使用的操作系统为Windows 11,处理器为Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz,GPU为 NVIDIA GTX 1650 Ti(显存4 G),采用的深度学习框架为Pytorch 1.7,编程软件为Pycharm,编程语言 Python,运行环境为 Anaconda 3。

2.2 评价标准

在实验过程中,主要在相同阈值条件下,通过比较改进前后模型对于测试集测试结果的αmap、F1、λFPS值及模型所占内存大小,分析模型的性能。αmap为均值平均精度,是综合考虑召回率和精度的值,αmap的计算公式为

(5)

式中:P——精确度;

TP——正类被判定为正类;

FP——负类被判定为负类。

(6)

式中:R——召回率;

FN——正类被判定为负类。

(7)

式中:Pi——精确度的插值;

ri——按升序排列的精确度插值段第一个插值处对应的召回率的值。

(8)

式中:APi——第i类平均准确度;

k——类别数。

F1值是精确度和召回率的调和平均值,其值在0~1之间,F1值越大说明模型性能越好计算,F1值的公式为

(9)

式中:F1Si——第i类的精确度和召回率的调和平均值;

Pi——第i类的精确度;

Ri——第i类的召回率。

(10)

式中,F1——精确度和召回率的调和平均值。

在工业环境下,实时检测要求能够适应生产线上铝合金型材的运行速度,在实验中用每秒传输帧数λFPS的值来体现模型的目标检测速度。

2.3 实验过程

实验过程中数据集按照8∶1∶1划分训练集(1 744张)、验证集(219张)和测试集(219张)。训练过程中选用SGD优化器,设置初始学习率为0.01,学习率下降方式采用余弦退火衰减,batch_size设置为8,动量设置为0.937,权重衰减decay设置为0.000 5,使用COCO数据集的预训练权重,迭代周期设置为300,将每个epoch的loss保存在loss.txt文件用于绘制loss变化曲线,每10个epoch保存一次权值,训练结束后保存最佳模型。

训练过程中loss随迭代周期增加变化曲线如图8所示,改进后YOLOv4-tiny为添加K-means算法和SEnet的网络。由图8可知,改进前模型初始loss大于改进后模型初始loss,随着epoch增加,loss曲线先明显下降,训练过程中epoch大于10时,改进后YOLOv4-tiny收敛速度略有加快,表明改进后的网络能够更有针对性地进行训练,在epoch为50时,loss下降到较小的值,然后趋近于不变,最终保持在0.054左右,说明模型最终能够收敛。

图8 训练过程中loss随迭代周期增加变化曲线Fig. 8 Change curve of loss with increasing iteration period during training

2.4 结果分析

为验证模型性能,在实验中分别对YOLOv4-tiny、YOLOv4-tiny-Kmeans、YOLOv4-tiny-Kmeans-SEnet及YOLOv5s进行对比训练,训练结束后,利用测试集测试保存的最佳模型。各模型测试集输出结果对比如表1所示。由表1可以看出,添加Kmeans聚类算法后,将αmap值提高2.34%,说明聚类后的目标先验框更适合实验所用数据集,有效解决了目标先验框对缺陷不敏感问题。YOLOv4-tiny-Kmeans-SEnet的网络模型FPS值略有下降,模型所占内存增加0.2 MB。改进后有效提高模型对缺陷特征提取能力,结果显示,αmap值共提高3.46%,F1的值提高2.67%;虽然测试集αmap值不如YOLOv5s高,但是在目标检测速度方面远高于YOLOv5s,改进后模型所占内存也要小于YOLOv5s,对硬件条件要求较低,可以适用于小型设备,因此改进后的网络模型更适合工业环境下实时检测。

表1 各模型测试集输出结果对比

验证模型性能时,从三类缺陷中各选取一张图像,设置预测置信度为0.5使用模型预测。三类缺陷检测输出图如图9~11所示。

图9 模型检测擦花缺陷Fig. 9 Model detection of scratch defects

图10 模型检测喷流缺陷Fig. 10 Model to detect jet defects

对于擦花缺陷图像,YOLOv5s模型存在漏检现象;对于喷流缺陷图像,YOLOv4-tiny-Kmeans-SEnet能够检测出全部缺陷,其余模型均有漏检现象;对于脏点缺陷的目标检测,改进前后检测结果置信度相差不大,而YOLOv5s模型检测结果的置信度较低,综上,改进后的模型对于模糊缺陷和微小缺陷的识别精确性较高。

图11 模型检测脏点缺陷Fig. 11 Model detection of dirty spot defects

3 结 论

(1)引入K-means聚类算法,将目标先验框重新聚类,得到6个新的目标先验框,增强目标检测过程中定位的准确性。在YOLOv4-tiny网络中添加三次通道注意力机制SEnet,增强网络模型对于图像中缺陷信息的关注度,从而有效提高模型性能。

(2)改进后的网络模型相比于原来网络YOLOv4-tiny的mAP值有明显提升。虽然改进后模型αmap值不及YOLOv5s,但检测速度λFPS值远高于YOLOv5s,模型所占内存也要小于YOLOv5s,更改后的模型更适合工业环境和低硬件条件下的实时检测。

猜你喜欢
型材先验铝合金
铝合金加筋板焊接温度场和残余应力数值模拟
朗盛推出空心型材混合技术
基于无噪图像块先验的MRI低秩分解去噪算法研究
被动房用四密封多断桥隔热铝塑共挤型材
基于自适应块组割先验的噪声图像超分辨率重建
一种用于低压开关柜“S”形型材的设计与运用
康德审美判断的先验演绎与跨文化交流
高速列车6N01铝合金型材焊接接头疲劳性能
2219铝合金TIG焊接头残余应力分布
基于平滑先验法的被动声信号趋势项消除