优胜从选择开始,我们是您最好的选择!—— 中州期刊联盟(新乡市博翰文化传媒有限公司)
0373-5939925
2851259250@qq.com
我要检测 我要投稿 合法期刊查询
您的位置:网站首页 > 优秀论文 > 其他论文 > 正文

基于改进YOLOV4的陶瓷基板瑕疵检测

作者:郭峰 朱启兵 黄敏 徐晓祥来源:《光学精密工程》日期:2022-09-03人气:904

陶瓷基板是当前大功率电力电子电路结构技术和互连技术的基础材料,在电子制造领域具有广泛的应用。在陶瓷基板的生产过程中,镀金层损伤、边缘多金、陶瓷基板缺瓷、油污、掺杂异物是陶瓷基板生产过程中的常见瑕疵。快速地检测并剔除这些瑕疵基板是保证产品质量的重要环节。传统的陶瓷基板瑕疵检测方法多由检验人员通过光学显微镜进行人工视觉检测,检测效率低,检测精度易受检验人员经验、情绪以及视觉疲劳等因素的影响。

随着机器视觉技术的发展,基于机器视觉的图像检测法被应用于瑕疵检测中。这类检测任务的检测目标大多形状比较单一、固定,且易于区分1-3。近年来,随着深度学习的发展,基于深度卷积神经网络的目标检测技术被广泛地应用于瑕疵检测中。王宸4等提出了一种基于改进YOLOV3的轮毂焊缝缺陷检测平台。伍济钢5等提出了一种改进YOLOV3的智能手机玻璃盖板缺陷检测方法。楼豪杰6等结合YOLOV4网络与Siamese网络进行印刷品缺陷检测。孙广民7等结合两幅不同尺度以及分辨率的图像,利用Mask R-CNN网络对楼面缺陷进行检测。由于陶瓷基板部分的瑕疵目标较小,不同类型瑕疵之间尺度变化较大,形状多变,不易识别,基于上述方法的瑕疵技术难以满足陶瓷基板瑕疵检测准确性和实时性的需求。

基于深度卷积神经网络的目标(瑕疵)检测方法主要有两种类型。一类是双阶段预测的目标检测,代表性算法有Faster R-CNN8,Mask R-CNN9等。双阶段目标检测算法需要利用原图提取到的特征,筛选出可能包涵感兴趣目标的区域,然后再进行回归预测,因此通常需要较长的检测时间,难以满足工业现场快速检测的实时性要求。另一类是基于端到端的单阶段回归的目标检测,代表性算法有SSD10,YOLOV311,YOLOV412以及YOLOX13等。单阶段目标检测算法直接利用提取到的特征进行回归预测,通常具有较快的检测速度。YOLOV4网络通过修改残差网络结构以形成更深的网络层次,在保证检测快速性的同时,提高了目标检测的准确性。本文针对陶瓷基板瑕疵形状多变、尺寸跨度大,且多金和缺瓷瑕疵有较多小目标,样本量小,各类瑕疵数量分布不均匀等问题,基于YOLOV4算法,通过修改置信度损失函数,引入注意力机制,优化锚框尺寸等策略,大大提高了瑕疵的检出率。实验结果表明,本文提出的陶瓷基板瑕疵检测方法YOLOV4-CS具有较高的检测准确性和实时性。

2 数据集与检测平台

2.1 检测平台与流程

陶瓷基板瑕疵的自动检测硬件平台如图1所示。检测平台主要由传送装置、图像采集装置(海康MV-CE200工业相机,像素为2000万)、点墨标记装置以及拾取装置(上料夹爪)构成。传送装置将装有整张陶瓷基板片(如图2(a)所示)的模具由上一工序传输到检测平台,当模具到达指定位置后触发光电传感器并锁死传输带;图像采集装置采集模具上的陶瓷基板图像(如图2(b)所示),由检测算法对图像中是否存在瑕疵及具体瑕疵位置进行检测;图像采集完成后,释放锁死装置,模具传输到点墨标记装置下方,对带有瑕疵的基板进行点墨标记;拾取装置将整张基板片拾取到另外一个模具上送往下一道工艺。后续工艺将带有墨点的陶瓷基板进行分拣筛选。

图1  陶瓷基板瑕疵自动检测平台

Fig.1  Automatic defect detecting platform for ceramic substrate


图2  图像处理过程

Fig.2  Image processing


2.2 图像预处理

图2(b)所示,原始的陶瓷基板图像中包含了来自其他区域的干扰(图中方框内区域为目标检测区域)。为了减少其他区域对检测结果的干扰,首先采用OpenCV算法库中的霍夫圆检测法检测图片中的圆心位置,如图2(c)所示;根据圆心位置以及半径计算出目标区域范围,根据此范围对图片进行裁剪得到待检测图片,如图2(d)所示。图3给出了含有典型瑕疵(污染,异物,多金,缺瓷与损伤)的两块陶瓷基板图像,其中方块区域为镀金层,本文所指的瑕疵都是指出现在镀金层上的瑕疵。其中,污染瑕疵会出现在镀金层上多个区域,且尺寸跨度大、形状多变;而异物瑕疵的形状和颜色具有多样性及随机性;缺瓷瑕疵主要分布在镀金层边缘,其形状较小;损伤瑕疵主要是镀金层的划伤或者刮伤,尺寸跨度大且形状像素分布多变;多金瑕疵主要是镀金层边缘出现凸起,形状较小且分布区域多变。图4给出了训练集中各种类瑕疵的尺寸分布情况和样本数量。从图中可见,瑕疵尺寸变化均较大,不具有固定的长宽比信息,且瑕疵的样本数分布不均匀,给瑕疵检测造成了很大的难度。

图3  陶瓷基板瑕疵

Fig.3  Defects of ceramic substrate


图4  瑕疵样本数量及尺寸分布统计图

Fig.4  Statistical chart of sample number of defects and their size distribution


3 算法原理与改进

3.1 YOLOV4算法

自YOLOV3以来,YOLO系列算法形成了由主干网络、颈部网络,以及头部网络3部分组成的网络结构。其中,主干网络采用多层次结构网络,提取输入图像的不同尺度的特征图;颈部网络则将来自不同层次的特征图进行融合编码,以增强特征图的信息表达;头部网络将融合之后的特征图进行解码,得到最后的预测结果(目标的种类及位置信息)12

YOLOV4算法构建了反映模型预测框与真实框的差异程度的损失函数,通过反向传递梯度值优化模型权重值,使损失函数值在迭代训练过程中不断减小,从而最小化模型最终的预测结果与真实结果的差异。YOLOV4的损失函数如下:



(1)


(2)


(3)


(4)

式中:是总的损失函数,为定位损失函数,为置信度损失函数,为分类损失函数;代表预测输出中第网格内第预测框内有目标;,用来平衡不同尺度的定位损失,为特征层长宽值;代表每个特征层上面有个单元格,,代表每个单元格内有3个预测框;分别表示预测框和对应的真实框,表示计算预测框和真实框的交并比值;表示计算预测框和真实框的中心点欧氏距离;c表示能够同时包含预测框和真实框的最小闭包区域的对角线距离;为权重系数,用于调节在不同IOU的情况下,框的长宽比信息在损失中所占权重;用来测量预测框和真实框的长宽比一致性,分别表示预测框和真实框的宽高值;分别代表预测框和真实框的置信度得分;为权重系数,用于平衡正负样本的置信度损失;代表第i网格内第j预测框内无目标;分别代表预测框和真实框中目标属于每一类的概率值。

3.2 算法改进

本文数据集具有瑕疵尺寸跨度大、样本数量分布不均匀以及形状多变的特点,导致一些瑕疵不易被检测出,为了提高这类瑕疵的检出率,本文分别改进了损失函数、网络结构以及先验框尺寸聚类方法。

3.2.1 基于梯度协调机制的置信度损失函数设计

梯度协调机制(Gradient Harmonizing Mechanism, GHM)14认为模型预测输出值经过sigmoid函数激活后,得到的交叉熵梯度即为预测值与真实值的差距,并将这种差距的模定义为梯度的模。在模型训练即将结束时,如果样本的梯度模过大,则代表预测的正负样本与各自真实值偏差过大,多是离群样本;如果模型继续学习这类样本特征,则会导致真实样本(非离群样本)的分类精度过低。为了缓解这种情况,本文利用GHM分类损失函数(Gradient Harmonizing Mechanism-classification, GHM-C)改进了YOLOV4的置信度损失函数。

具体实现步骤为:(1)对于第个预测框(为预测框的总数),其梯度模为:



(5)

其中分别代表第个预测框的置信度预测值与真实值;

(2)将[0,1]区间按步长划分为若干等长子区间为子区间数量),统计预测框的梯度模落在子区间的数量;计算得到各样本的梯度密度调和参数



(6)

(3)将原始交叉熵的梯度值分别乘上各自归属子区间的梯度密度调和参数,从而达到衰减其影响的目的,即有:



(7)

式中:表示最终的基于GHM-C的置信度损失函数,表示交叉熵损失。修改之后模型最终的损失函数如下:



(8)

3.2.2 基于注意力网络的网络结构设计

由于瑕疵具有一定上下文信息,并且小目标瑕疵如多金、缺瓷的信息更体现在形状与颜色上,因此为了提升网络对这些信息的捕捉能力,本文在每个主干网络的特征层支路添加十字交叉注意力模块(Criss-Cross Attention Net, CCNet)15,CCNet模块结构如图5所示。

图5  CCNet结构

Fig.5  Structure of CCNet


CCNet属于self-attention机制,它通过反复考虑行注意力与列注意力来获得全局信息,同时网络参数量较少,能够满足本文的实时性要求。具体计算过程为:假设输入的特征图为,首先分别通过两个卷积块获得两个特征图,其中均是特征通道数().在特征图上,沿着平面,在位置索引处,获取向量,同时从特征图上获取与行列交叉的个向量构成的向量集,然后通过关联计算得到:



(9)

其中,反映了的关联度。对进行softmax操作获得对位置索引处的注意力。同时,通过另外一个卷积块对进行卷积获得特征图,并从的对应位置处获取行列交叉的个向量构成向量集,通过聚合计算获得位置处的上下文信息,即有:



(10)

沿着平面,遍历所有位置索引,可得到特征图既保留了原始特征图的特征信息,同时又结合了特征图的上下文信息。为了使网络更好地综合全局信息,需要添加两次CCNet15

传统的YOLOV4网络对尺寸为的输入图片进行特征提取,最后得到的特征图。浅层特征图经过卷积的次数较少,能够保留较多的像素信息以及边界信息,适合小目标的检测;深层特征图经过卷积操作不断的提取以及压缩,得到的语义信息较多,适合大目标的检测。由于本文的异物瑕疵和污渍瑕疵多是点状,其中较小的样本像素大约为,经过卷积操作后只能保留较少的信息,的特征图无法满足异物瑕疵和污渍瑕疵中小目标瑕疵的检测需求。因此,本文保留原始的特征提取网络CSPDarknet-53结构,直接将尺度为的特征图引出,与原始的YOLOV4的,38×38和76×76特征图进行同样的上采样和下采样操作,得到融合之后的特征图,并在预测网络中添加一个更大尺度的头部网络负责预测152×152尺度的特征图。

改进后的YOLOV4网络整体结构如图6所示。相比于原始结构,该结构仅增加一个预测头部网络以及对应的支路,并在每层特征融合网络的起始部分添加了两个CCNet网络模块,增加的模块及支路均由深色虚线表示。

图6  YOLOV4-CS结构

Fig.6  Structure of YOLOV4-CS


3.2.3 基于改进K-means++的瑕疵先验框设计

YOLOV4通常采用K-means++算法对真实目标框的尺寸进行面积交并比并聚类,以获得合适的先验框尺寸。这种方法只能聚类出与真实框重叠程度较高的先验框,无法得到长宽比合适的先验框。因此,本文借鉴CIoU16的思想,引入了长宽比的信息,使聚类出来的先验框能更好地反映出真实框的长宽比分布,计算公式如下:



(11)

式中:两个框之间的得分,代表聚类框,代表真实框,是计算两个框的分别为聚类框的长和宽,分别为真实框的长和宽。

综合考虑不同制度的特征图尺寸,本文共设计4种尺度、12种尺寸的先验框,如表1所示。

表1  先验框尺寸
Tab.1  Size of prior boxes
Feature map sizeAnchor Size
19×19(108×121);(20×86);(113×94)
38×38(51×49);(54×42);(36×53)
76×76(26×24);(24×18);(22×31)
152×152(7×9);(11×14);(16×12)

4 实验及结果分析

4.1 实验环境

本次实验的操作系统为Windows 10(64位),CPU为英特尔Core i9-10900X@3.50GHz,内存为64 GB,GPU为两张NVIDIA GeForce RTX 3090,总显存为48 GB。深度学习框架实现为Python Pytorch, GPU加速库为CUDA11.0。

4.2 数据集增强

本实验共采集2 413张陶瓷基板图像,经过目标区域提取预处理之后得到陶瓷基板数据集,其中2 215张用作训练,198张用作测试。

为了改善部分种类瑕疵样本数较少的情况,本文采用“复制-粘贴”式数据增强方法17,对2 215张训练样本进行数据增强,这种数据增强方法可以增加数据中出现次数较少的瑕疵数量,提高模型对这一类瑕疵的检测性能。具体步骤为:从2 215张图片中裁剪出50张包含典型瑕疵(多为样本数较少的瑕疵)的子区域(每个区域只包含一种典型缺陷);并将这50张子区域图像进行水平、垂直翻转,尺度的缩放,引入高斯噪声(标准差为1.2)以及锐化操作等;最后将这些增强后的裁剪图像“粘贴”至无瑕疵陶瓷基板图像中可能出现瑕疵的区域,从而获得2 386张增强后的图片。使用LabelImg图像标注软件进行人工标注,数据集格式为VOC2007。

4.3 模型训练

由于过早地使用基于GHM-C改进的损失函数会导致模型学习到许多假阳性样本的特征从而产生“虚警”现象,因此本实验首先采用原始损失函数训练100轮次Epoch至模型稳定后,然后采用改进后的损失函数继续训练100 Epoch。

在模型训练阶段,本实验的总训练Epoch为200次,批量尺寸为16,初始学习率为0.001,在第50次Epoch之后衰减为0.000 1。本文提出的YOLOV4-CS模型训练的损失曲线如图7所示,当Epoch达到200次时,loss值趋于稳定,最终下降到14.5左右。

图7  损失函数收敛曲线

Fig.7  Convergence plot of loss function


4.4 实验结果

4.4.1 不同检测算法的结果对比

待检测图片数量共198张,每张图片包含1~5种类别的瑕疵,瑕疵的个数以及检测结果如表2所示。其中,准确率表示预测正确的正样本占所有预测结果中正样本的比例,召回率表示预测正确的正样本占所有实际正样本的比例。由表2可知,本文提出的算法对于陶瓷基板中污渍、异物、多金、损伤以及缺瓷5种瑕疵的检测精确率以及召回率均已在92.4%以上,基本满足本文的任务要求。

表2  瑕疵检测结果
Tab.2  Results of defect detection
DefectTotalCorrect detectionFalse detectionMissed detectionPrecision/%Recall/%
Stain1 0131 0045999.599.1
Foreign matter222200100100
Gold edge bulge83833096.5100
Damage18518215492.497.9
Ceramic gap74730110098.6
Total1 3771 364231498.399.0

为了进一步验证本文算法在陶瓷基板瑕疵检测上的有效性,将本文算法与常见的目标检测算法Faster R-CNN8,Efficientdet-D318,YOLOV5,YOLOX13以及改进前的YOLOV412在本文数据集上进行对比试验,采用原文作者的实验参数,选取平均准确率、平均召回率和每张图片的检测时间作为评价指标,不同算法的结果如表3所示。

表3  不同算法的瑕疵检测结果
Tab. 3  Defect detection results of different algorithms
ModelSizePrecision/%Recall/%Times/s
Faster R-CNN(600×600)83.382.90.217
Efficientdet-B3(768×768)81.380.50.256
YOLOV4(608×608)86.990.10.182
YOLOV5(640×640)87.789.80.176
YOLOX(640×640)85.186.50.167
YOLOV4-CS(608×608)98.399.00.202

根据表3,改进的YOLOV4-CS算法对陶瓷基板瑕疵检测平均达到了98.3%,平均召回率达到了99.0%。相比于原始的YOLOV4算法,检测准确率提高了11.4%,召回率提高了8.9%。YOLOV4-CS算法能够以0.202 s的时间完成每张图片的检测,基本满足工业现场的检测要求。

图8给出了陶瓷基板典型瑕疵的检测结果(局部截图)。图8中,1~6号所标均为真实瑕疵,其中,1号、3号、5号和6号瑕疵为损伤,2号和4号瑕疵为污染;4号污染和6号损伤颜色较浅,5号损伤较小,检测困难。从图中可以看出,YOLOV4-CS将所有瑕疵都已正确检出并且没有漏检;而YOLOV4漏检了4号、5号和6号瑕疵;YOLOV5对模型结构和激活函数进行了调整,使得模型的检测能力有所提升,但是仍然漏检了6号损伤瑕疵;Efficientdet-D3虽然在速度和精度上得到了均衡,但没有针对本文瑕疵特征做出优化设计,在本文瑕疵检测中表现不佳,出现大量漏检(2号、3号、4号和6号瑕疵漏检);Faster R-CNN为双阶段目标检测算法,虽然准确率较高,但出现了误检情况(图8(d)中2号瑕疵左侧),以及较多漏检情况(4号、5号和6号瑕疵漏检);YOLOX采用了无锚框设计,提高了准确性和实时性,但是对小目标样本的检测能力改善有限,有较多漏检瑕疵(4号、5号和6号瑕疵),并出现了误检的情况(图8(e)中2号瑕疵左侧)。由此可知,本文提出的模型YOLOV4-CS的准确率以及召回率在实际检验中较其他方法有明显提升。

图8  不同模型的局部检测结果

Fig.8  Local detection results of different models


4.4.2 消融实验

本文的模型结构主要有3个部分的改进,分别为增加小尺度支路、添加注意力网络CCNet以及修改置信度损失函数。为了验证这3个改进的有效性,本文进行了消融实验,结果如表4所示。从表中可以看出,单独增加小尺度支路能够均衡地提升准确率和召回率;单独修改置信度损失函数能较好地提高召回率,但准确率提升相对较少;单独增加CCNet能均衡地提高准确率和召回率,但幅度小于增加小尺度支路所带来的提升;同时增加小尺度支路和添加CCNet网络虽然能得到较高的准确率,但召回率的提升较小;同时添加CCNet网络和修改置信度损失函数能带来较高的召回率,但是准确率不如同时增加小尺度支路和修改置信度损失函数;3种不同改进结合在一起能够取得最好的准确率和召回率,因此本文最终选择将3个部分的改进添加到原始YOLOV4模型中得到YOLOV4-CS模型。

表4  不同消融实验的结果
Tab. 4  Results of different ablation experiments
Small scale branchCCNetGHMCPrecision/%Recall/%


93.693.3


90.191.2


91.995.0

96.794.2

96.597.5

95.697.9
98.399.0

为了验证本文所采用的注意力网络的有效性,将CCNet与目前几种主流的注意力网络Squeeze-and-Excitation Networks(SENet)19, Convolutional Block Attention Module(CBAM)20, Efficient Channel Attention Networks (ECA-Net)21进行了对比,对比模型均采用基于GHM的置信度损失函数,并增加了小尺度通道,仅对注意力机制进行了替换。对比结果如表5所示,性能提升较多体现在小目标瑕疵上,因此相比于通道注意力,空间注意力在本文任务中的表现更好。SENet属于通道注意力网络,在几乎不增加网络参数量的情况下,能够较好地提高模型检测的准确率以及召回率,但相比其他注意力网络,提升相对有限;ECA-Net同样属于通道注意力网络,相比于SENet网络,并未过多增加网络参数量,同时加入了跨通道交互,因此进一步提高了准确率和召回率;CBAM结合了通道注意力和空间注意力,能够较好地关注小目标的特征信息,因此取得了更好的准确率以及召回率;CCNet注意力网络属于空间注意力网络,能够较好地提取低维图像特征,相比于其他注意力网络实现了较高的准确率以及召回率,同时也保持着与SENet相近的实时性。

表5  不同种类注意力网络的对比结果
Tab.5  Results of different kinds of attention networks
Attentional mechanismsPrecision/%Recall/%Time/s
SENet96.495.10.201
CBAM97.597.60.227
ECA-Net97.197.40.222
CCNet98.399.00.202

针对本文提出的锚框优化策略,进行了对应的消融实验,所对比的模型均采用了CCNet注意力网络、基于GHM的置信度损失函数以及增加小尺度通道,仅对先验框尺寸做出了改变。消融实验的先验框尺寸分别采用了原始的YOLOV4算法先验框尺寸以及经过本文算法优化之后的先验框尺寸,消融实验结果如表6所示。从表中可以看出,相比于原始YOLOV4先验框尺寸的检测结果,本文的先验框尺寸优化算法的检测准确率提高了2.0%,召回率提高了2.4%。

表6  不同先验框尺寸的对比结果
Tab. 6  Results of different kinds of prior box
Prior boxPrecision/%Recall/%
YOLOV496.396.6
Ours98.399.0

5 结 论

本文将深度网络引入到陶瓷基板瑕疵检测中,改进了YOLOV4网络模型以及损失函数,对4个不同尺度特征图进行增强特征融合,重新设计了12个不同尺度的先验框。实验结果表明,改进后的算法对陶瓷基板5种不同类型的瑕疵的检测效果更好,平均检测准确率达到了98.3%,平均召回率达到了99.0%。本文较多考虑了陶瓷基板的瑕疵检测的准确率以及漏检率,在后续的研究中会对网络结构进行优化改进,提高其实时性和轻量化水平。


关键字:优秀论文

网络客服QQ: 沈编辑

投诉建议:0373-5939925    投诉建议QQ:

招聘合作:2851259250@qq.com (如您是期刊主编、文章高手,可通过邮件合作)

地址:河南省新乡市金穗大道东段266号中州期刊联盟 ICP备案号:豫ICP备2020036848

【免责声明】:中州期刊联盟所提供的信息资源如有侵权、违规,请及时告知。

版权所有:中州期刊联盟(新乡市博翰文化传媒有限公司)

关注”中州期刊联盟”公众号
了解论文写作全系列课程

核心期刊为何难发?

论文发表总嫌贵?

职院单位发核心?

扫描关注公众号

论文发表不再有疑惑

论文写作全系列课程

扫码了解更多

轻松写核心期刊论文

在线留言