基于改进YOLOv4算法的铝材表面缺陷识别方法研究
2021-05-07栾明慧李松松李晨王宇恒郭忠宇
栾明慧 李松松 李晨 王宇恒 郭忠宇
摘 要:文章针对铝材表面缺陷识别原始算法精度低与提取突出特征能力弱的问题,提出一种改进的YOLOv4算法。首先,为提高对小目标缺陷的检测能力,改进了多尺度预测,增强更浅层的细粒度特征信息融合;其次,对铝材标注数据样本采用K-means聚类,获取更适合缺陷目标的先验框。实验结果表明,在检测速度基本不变的前提下,改进YOLOv4算法的平均精度达到95.02%,比原始的YOLOv4算法提高了1.42%,比YOLOv3提高了2.34%,比Faster R-CNN提高了11.48%。
关键词:铝材表面缺陷;YOLOv4;多尺度预测;K-means算法
中图分类号:TP391.4 文献标识码:A文章编号:2096-4706(2021)23-0096-05
Research on Aluminum Surface Defect Identification Methods Based on Improved YOLOv4 Algorithm
LUAN Minghui, LI Songsong, LI Chen, WANG Yuheng, GUO Zhongyu
(School of Information Engineering, Dalian Ocean University, Dalian 116023, China)
Abstract: Aiming at the problems of low accuracy of the original algorithm for aluminum surface defect recognition and weak ability to extract prominent features, an improved YOLOv4 algorithm is proposed in this paper. First, in order to improve the defect detection ability of small targets, improve multi-scale prediction and enhance the fusion of shallower fine-grained feature information; secondly, use K-means clustering for aluminum labeling data sample to obtain priori frame that is more suitable for defect target. The experimental results show that on the premise of basically unchanged detection speed, the average accuracy of the improved YOLOv4 algorithm reaches 95.02%, which is 1.42% higher than the original YOLOv4 algorithm, 2.34% higher than YOLOv3 and 11.48% higher than Faster R-CNN.
Keywords: aluminum surface defect; YOLOv4; multi-scale prediction; K-means algorithm
0 引 言
铝材具有良好的导电导热性,具有较高的硬度和延展性,比不具备磁性的同体积金属材料更轻,广泛应用于化工、交通、建筑、国防等领域,在我国现代化进程中发挥着至关重要的作用。表面质量作为铝材产品质量的重要评价指标,也成为很多企业挑选铝材产品的主要因素。为了保证产品质量和美观程度,铝材表面的缺陷无损检测已成为不可或缺的重要环节[1]。
在早期,对工业产品的缺陷检测主要是通过人眼去观察,对检测人员有较高的能力要求且检测受主观因素影响较大,因此人眼检测难以满足需求,容易造成缺陷的误检、漏检[2]。随着计算机技术、图像处理技术的飞速发展,利用机器视觉手段进行缺陷检测得到了较为广泛的应用[3]。传统的机器视觉检测方式需要人工设定规则参与图像的特征提取,操作过程烦琐,不能满足工业检测需求。近年来,深度学习作为机器学习领域的一个重要分支,在机器视觉检测领域成为一种新的检测方向,本文将采用深度学习算法进行表面缺陷檢测。
目前,深度学习检测算法分为两类:一类是两阶段检测算法,这种算法首先产生候选区域,其次在候选区域进行分类和回归,具有良好的精测精度,错识别和漏识别率较低,但提取过程复杂致使速度较慢,典型代表有R-CNN、Fast R-CNN、Faster R-CNN算法;另一类是一阶段检测算法,该算法直接对物体的类别概率和位置坐标值进行预测,通过端到端的检测即可直接得到最终的检测结果,与两阶段检测算法相比检测速度更快,典型代表有YOLO、SSD等。一阶段检测算法随网络结构的不断更新与优化,检测速度及检测准确性均得到了极大的提高,广泛应用于金属表面缺陷检测。徐镪等[4]采用一种改进后的YOLOv3网络模型对钢板表面缺陷进行检测,使用MobileNet代替Darknet-53减少网络模型参数,并引入空洞卷积和Inception结构,在测试集上达到了较好的准确度。Ferguson等人[5]采用三种深度学习算法基于X射线图像对铸造缺陷进行检测,分析了两种主干网络,结果表明SSD算法结合VGG特征提取网络在检测速度上有明显优势;方叶祥等[6]采用YOLOv3算法对钢材表面的压痕与划痕缺陷进行检测,在输入端对图像进行直方图均值化预处理,并基于权重优化了算法的损失函数,结果显示改进后的算法对压痕检测精度提高为92%、划痕检测精度提高为90%。
YOLOv4作为YOLO中更优的目标检测算法,在残差网络的基础上引入CSPNet结构,形成了更深的网络层次,在保持一阶段算法检测速度的优势下,提高了检测目标的准确性,因此本文将YOLOv4算法应用于铝材表面缺陷检测中。为解决铝材表面缺陷数据宽高比差异偏大和目标较小的问题,为提高缺陷识别效果以及增强原始算法的提取突出特征能力,提出一种基于改进YOLOv4算法的铝材表面缺陷识别方法。
1 YOLOv4算法
YOLOV4[7]是在YOLOv3的基础之上,对网络结构进行改进并融合大量的训练技巧,达到了精度与速度的更优平衡。YOLOv4网络结构图如图1所示,主干网络CSPDarknet-53中的特征层是由5个残差结块构成的,残差结构中残差单元个数分別为1、2、8、8、4。残差单元中引入了CSPNet结构,增强卷积神经网络的学习能力,能够在保持准确性的同时降低计算量,减少内存需求。颈部网络分为SPP结构和PANet结构。SPP结构通过最大池化增大感受野,加强了全局特征和局部特征的融合。而PANet结构是对三个特征层进行特征融合,通过从底至上路径传递强定位特征信息,加强了浅层信息融合,并且实现了特征的反复提取。头部网络与YOLOv3头部部分原理相同,包括网络输出、loss计算与预测结果。
2 改进的YOLOv4算法
2.1 改进多尺度预测
图像输入到YOLOv4主干网络中归一化为416×416,分别经过5次下采样后,所得到的特征图大小依次为208、104、52、26、13。网络深度由浅至深,YOLOv4选取3个特征尺度进行结果预测。但在铝材表面缺陷数据中不同类型缺陷尺度变化较大,其中存在喷流小缺陷,所占像素小,在经过多次卷积操作和池化操作后,会削弱甚至丢失小目标的特征信息,使小目标的检测能力并不突出。
针对浅层信息利用不够充分的问题,为增强YOLOv4主干网络输出的浅层特征层的信息融合,能够更多地获取有利于小目标检测的细节信息,提出了由3尺度预测增大至4尺度预测。如图2所示,改进YOLOv4的网络结构中设定的4个尺度大小分别为104×104、52×52、26×26和13×13。增加的104×104细粒度特征检测层融入PANet结构中,最后预测头数量也由3个增加至4个。由于新增加了104×104的特征层,需要计算出更精确的先验框,增加了检测图片的先验框数量,改进算法具有更优的检测精度。
2.2 K-means先验框聚类
YOLOv4算法包含三个特征层共9个先验框,改进的YOLOv4算法增加检测层后为4个尺寸的特征层,需要12个先验框,并且需要在铝材数据集上重新计算。此外,铝材金属表面缺陷中存在缺陷目标宽高比差异较大的情况,VOC数据集上的部分anchor并不合理。本文采用K-means算法[8]依据铝材表面缺陷数据聚类计算anchor。
如图3所示,K-means算法聚类得到聚类中心,横坐标与纵坐标代表先验框的宽和高,菱形点代表聚类对象,五角星代表聚类中心。由图3可以看出,以输入图像尺寸416×416为基准聚类先验框,聚类后的先验框更符合铝材数据的目标,与各特征层目标有更大的重合面积,提高缺陷的检测精度。
3 实验结果与分析
3.1 实验环境
本文实验的硬件配置为:Inter(R) Core(TM)i5-10600KF CPU@4.10 GHz的处理器,16 GB的内存;软件配置:操作系统为Windows10(64位),驱动显卡为NVIDIA和CUDA。
3.2 数据处理
本文中铝材表面缺陷类型包括桔皮、擦花、不导电、喷流、角位漏底、杂色、漏底、起坑八种。由于每类原始缺陷图像数量有限,且深度学习方法需要大量数据的支撑,为防止出现过拟合的问题,进行水平、垂直和水平垂直翻转变换以实现数据增强的目的。扩增后图片总数量为9 600张,随机选取8 160张图片作为训练集,选取1 440张图片作为测试集。YOLOv4在训练中采用Mosaic算法,选用四张图片拼成一张图片输入网络中,并根据混合区域调整标签信息,不但间接提高了batch_size,而且丰富了物体检测背景,在GPU资源有限的条件下增强网络鲁棒性和泛化能力。
3.3 结果对比
为研究增加多尺度预测、K-Means算法聚类改进方法对YOLOv4算法检测精度以及小缺陷检测能力的影响,通过对比实验,在1 440张测试图片上对检测速度(Time)和平均精度均值(mAP)进行计算,其中IOU阈值为0.5。
原始YOLOv4算法与改进后的YOLOv4算法对各种类型缺陷预测结果对比情况如图4所示。由图4可以看出,大部分缺陷的平均检测精度都有所提升,喷流的平均检测精度提高1.78%,桔皮的平均检测精度提高2.22%,尤其是小目标擦花的检测精度提高了9.8%。
如表1所示,原始算法和改进后算法整体上精度和时间对比情况。从表1中可以看出,增加检测层并重新聚类先验框后的YOLOv4算法在测试集上的mAP值达到95.02%,比原始的YOLOv4算法提高了1.42%。原始算法的图片检测时间为0.025 s,在改进网络结构后单张图片的检测时间为0.027 s,略微有所增加。随着检测层的增加,会使参数量增加,网络的计算更复杂,从而影响算法的计算效率。但从整体上看,改进前后单张图片的检测时间差异不大,对模型的检测速度影响不大。
对上述结果进行分析,增加为4尺度预测,更加充分地利用了浅层网络的细节特征,加深了浅层特征与深层语义特征的融合,增强了特征提取,同时又改善了小目标特征丢失的问题,提高了铝材表面的缺陷检测能力。在铝材自身数据集上聚类先验框,先验框之间的尺寸差异更加明显,对不同尺寸的复杂缺陷目标更具有针对性,减少错检、漏检情况的发生,更有利于铝材表面缺陷的识别与检测。
常见目标检测算法与改进后的YOLOv4算法在铝材表面缺陷数据集上的检测性能对比情况如表2所示。可以发现在检测精度方面,本文算法比YOLOv3算法、Faster R-CNN算法分别提高了2.34%、11.48%。主要原因是铝材表面缺陷目标种类存在多样性且宽高比差异大,Faster R-CNN收敛速度慢导致训练效率较低,特征融合程度差导致检测精度略低;相较于YOLOv3,YOLOv4为更优一阶段算法,同时本文对基础网络进行优化,实现更好的收敛速度和準确性,进一步增强了算法对缺陷的检测能力。在检测速度方面,一阶段算法与二阶段算法的区别在于没有经过候选区域,直接端到端进行结果预测,缩短网络计算时间。改进后的YOLOv4增加检测尺度会增加参数的计算,但对算法检测时间影响并不大,满足一阶段算法检测速度的要求。
4 结 论
针对原始YOLOv4在铝材表面缺陷检测应用中的不足,改进了多尺度预测,并使用K-means算法对铝材表面缺陷数据进行聚类,在训练时采用Mosaic数据增强,在训练过程中丰富铝材缺陷的检测背景。实验结果表明,在保证一阶段检测速度的优势下,缺陷检测的效果有一定程度的提升,精度均值由93.60%提升至95.02%,且检测性能优于YOLOv3、FasterR-CNN算法。实现了对铝材表面缺陷的高效检测,为金属质量的智能化检测提供了新方向。
参考文献:
[1] 彭向前.产品表面缺陷在线检测方法研究及系统实现 [D].武汉:华中科技大学,2008.
[2] 昊贵芳,徐科,杨朝霖.钢板表面质量在线监测技术 [M].北京:科学出版社,2010:102.
[3] 吴晓君,唐婷,张林,等.基于机器视觉技术的表面缺陷在线检测系统设计 [J].自动化与仪表,2016,31(4):72-76.
[4] 徐镪,朱洪锦,范洪辉,等.改进的YOLOv3网络在钢板表面缺陷检测研究 [J].计算机工程与应用,2020,56(16):265-272.
[5] FERGUSON M,AK R,LEE Y T,et al. Automatic localization of casting defects with convolutional neural networks [C]//2017 IEEE International Conference on Big Data (Big Data).Boston:IEEE,2017:1726-1735.
[6] 方叶祥,甘平,陈俐.金属表面缺陷检测的改进YOLOv3算法研究 [J].机械科学与技术,2020,39(9):1390-1394.
[7] BOCHKOVSKIY A,WANG C Y,LIAO H Y M. YOLOv4:Optimal Speed and Accuracy of Object Detection [J/OL].arXiv:2004.10934 [cs.CV].(2020-04-23).https://arxiv.org/abs/2004.10934.
[8] REDMON J,FARHADI A. YOLO9000:Better,Faster,Stronger [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu:IEEE,2017:6517-6525.
作者简介:栾明慧(1996.12—),女,满族,辽宁朝阳人,硕士研究生在读,主要研究方向:检测技术与自动化装置;通讯作者:李松松(1973.10—),女,汉族,辽宁凌源人,教授,硕士生导师,博士,主要研究方向:超声无损检测技术、无损检测信号及图像处理技术。