基于改进YOLOV4的陶瓷基板瑕疵检测
陶瓷基板是当前大功率电力电子电路结构技术和互连技术的基础材料,在电子制造领域具有广泛的应用。在陶瓷基板的生产过程中,镀金层损伤、边缘多金、陶瓷基板缺瓷、油污、掺杂异物是陶瓷基板生产过程中的常见瑕疵。快速地检测并剔除这些瑕疵基板是保证产品质量的重要环节。传统的陶瓷基板瑕疵检测方法多由检验人员通过光学显微镜进行人工视觉检测,检测效率低,检测精度易受检验人员经验、情绪以及视觉疲劳等因素的影响。
随着机器视觉技术的发展,基于机器视觉的图像检测法被应用于瑕疵检测中。这类检测任务的检测目标大多形状比较单一、固定,且易于区分[
基于深度卷积神经网络的目标(瑕疵)检测方法主要有两种类型。一类是双阶段预测的目标检测,代表性算法有Faster R-CNN[
2 数据集与检测平台
2.1 检测平台与流程
陶瓷基板瑕疵的自动检测硬件平台如
图1 陶瓷基板瑕疵自动检测平台
Fig.1 Automatic defect detecting platform for ceramic substrate
图2 图像处理过程
Fig.2 Image processing
2.2 图像预处理
如
图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部分组成的网络结构。其中,主干网络采用多层次结构网络,提取输入图像的不同尺度的特征图;颈部网络则将来自不同层次的特征图进行融合编码,以增强特征图的信息表达;头部网络将融合之后的特征图进行解码,得到最后的预测结果(目标的种类及位置信息)[
YOLOV4算法构建了反映模型预测框与真实框的差异程度的损失函数,通过反向传递梯度值优化模型权重值,使损失函数值在迭代训练过程中不断减小,从而最小化模型最终的预测结果与真实结果的差异。YOLOV4的损失函数如下:
(1) |
(2) |
(3) |
(4) |
式中:是总的损失函数,为定位损失函数,为置信度损失函数,为分类损失函数;代表预测输出中第网格内第预测框内有目标;,用来平衡不同尺度的定位损失,为特征层长宽值;代表每个特征层上面有个单元格,,代表每个单元格内有3个预测框;分别表示预测框和对应的真实框,表示计算预测框和真实框的交并比值;表示计算预测框和真实框的中心点欧氏距离;c表示能够同时包含预测框和真实框的最小闭包区域的对角线距离;为权重系数,用于调节在不同IOU的情况下,框的长宽比信息在损失中所占权重;用来测量预测框和真实框的长宽比一致性,分别表示预测框和真实框的宽高值;分别代表预测框和真实框的置信度得分;为权重系数,用于平衡正负样本的置信度损失;代表第i网格内第j预测框内无目标;分别代表预测框和真实框中目标属于每一类的概率值。
3.2 算法改进
本文数据集具有瑕疵尺寸跨度大、样本数量分布不均匀以及形状多变的特点,导致一些瑕疵不易被检测出,为了提高这类瑕疵的检出率,本文分别改进了损失函数、网络结构以及先验框尺寸聚类方法。
3.2.1 基于梯度协调机制的置信度损失函数设计
梯度协调机制(Gradient Harmonizing Mechanism, GHM)[
具体实现步骤为:(1)对于第个预测框(,为预测框的总数),其梯度模为:
(5) |
其中分别代表第个预测框的置信度预测值与真实值;
(2)将[0,1]区间按步长划分为若干等长子区间(,为子区间数量),统计预测框的梯度模落在子区间的数量;计算得到各样本的梯度密度调和参数:
(6) |
(3)将原始交叉熵的梯度值分别乘上各自归属子区间的梯度密度调和参数,从而达到衰减其影响的目的,即有:
(7) |
式中:表示最终的基于GHM-C的置信度损失函数,表示交叉熵损失。修改之后模型最终的损失函数如下:
(8) |
3.2.2 基于注意力网络的网络结构设计
由于瑕疵具有一定上下文信息,并且小目标瑕疵如多金、缺瓷的信息更体现在形状与颜色上,因此为了提升网络对这些信息的捕捉能力,本文在每个主干网络的特征层支路添加十字交叉注意力模块(Criss-Cross Attention Net, CCNet)[
图5 CCNet结构
Fig.5 Structure of CCNet
CCNet属于self-attention机制,它通过反复考虑行注意力与列注意力来获得全局信息,同时网络参数量较少,能够满足本文的实时性要求。具体计算过程为:假设输入的特征图为,首先分别通过两个卷积块获得两个特征图和,其中,和均是特征通道数().在特征图上,沿着平面,在位置索引处,获取向量,同时从特征图上获取与行列交叉的个向量构成的向量集,然后通过关联计算得到:
(9) |
其中,反映了和的关联度。对进行softmax操作获得对位置索引处的注意力。同时,通过另外一个卷积块对进行卷积获得特征图,并从的对应位置处获取行列交叉的个向量构成向量集,通过聚合计算获得位置处的上下文信息,即有:
(10) |
沿着平面,遍历所有位置索引,可得到特征图。既保留了原始特征图的特征信息,同时又结合了特征图的上下文信息。为了使网络更好地综合全局信息,需要添加两次CCNet[
传统的YOLOV4网络对尺寸为的输入图片进行特征提取,最后得到,和的特征图。浅层特征图经过卷积的次数较少,能够保留较多的像素信息以及边界信息,适合小目标的检测;深层特征图经过卷积操作不断的提取以及压缩,得到的语义信息较多,适合大目标的检测。由于本文的异物瑕疵和污渍瑕疵多是点状,其中较小的样本像素大约为,经过卷积操作后只能保留较少的信息,的特征图无法满足异物瑕疵和污渍瑕疵中小目标瑕疵的检测需求。因此,本文保留原始的特征提取网络CSPDarknet-53结构,直接将尺度为的特征图引出,与原始的YOLOV4的,38×38和76×76特征图进行同样的上采样和下采样操作,得到融合之后的特征图,并在预测网络中添加一个更大尺度的头部网络负责预测152×152尺度的特征图。
改进后的YOLOV4网络整体结构如
图6 YOLOV4-CS结构
Fig.6 Structure of YOLOV4-CS
3.2.3 基于改进K-means++的瑕疵先验框设计
YOLOV4通常采用K-means++算法对真实目标框的尺寸进行面积交并比并聚类,以获得合适的先验框尺寸。这种方法只能聚类出与真实框重叠程度较高的先验框,无法得到长宽比合适的先验框。因此,本文借鉴CIoU[
(11) |
式中:为两个框之间的得分,代表聚类框,代表真实框,是计算两个框的,分别为聚类框的长和宽,分别为真实框的长和宽。
综合考虑不同制度的特征图尺寸,本文共设计4种尺度、12种尺寸的先验框,如
Feature map size | Anchor Size |
---|---|
(108×121);(20×86);(113×94) | |
(51×49);(54×42);(36×53) | |
(26×24);(24×18);(22×31) | |
(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张用作测试。
为了改善部分种类瑕疵样本数较少的情况,本文采用“复制-粘贴”式数据增强方法[
4.3 模型训练
由于过早地使用基于GHM-C改进的损失函数会导致模型学习到许多假阳性样本的特征从而产生“虚警”现象,因此本实验首先采用原始损失函数训练100轮次Epoch至模型稳定后,然后采用改进后的损失函数继续训练100 Epoch。
在模型训练阶段,本实验的总训练Epoch为200次,批量尺寸为16,初始学习率为0.001,在第50次Epoch之后衰减为0.000 1。本文提出的YOLOV4-CS模型训练的损失曲线如
图7 损失函数收敛曲线
Fig.7 Convergence plot of loss function
4.4 实验结果
4.4.1 不同检测算法的结果对比
待检测图片数量共198张,每张图片包含1~5种类别的瑕疵,瑕疵的个数以及检测结果如
Defect | Total | Correct detection | False detection | Missed detection | Precision/% | Recall/% |
---|---|---|---|---|---|---|
Stain | 1 013 | 1 004 | 5 | 9 | 99.5 | 99.1 |
Foreign matter | 22 | 22 | 0 | 0 | 100 | 100 |
Gold edge bulge | 83 | 83 | 3 | 0 | 96.5 | 100 |
Damage | 185 | 182 | 15 | 4 | 92.4 | 97.9 |
Ceramic gap | 74 | 73 | 0 | 1 | 100 | 98.6 |
Total | 1 377 | 1 364 | 23 | 14 | 98.3 | 99.0 |
为了进一步验证本文算法在陶瓷基板瑕疵检测上的有效性,将本文算法与常见的目标检测算法Faster R-CNN[
Model | Size | Precision/% | Recall/% | Times/s |
---|---|---|---|---|
Faster R-CNN | 83.3 | 82.9 | 0.217 | |
Efficientdet-B3 | 81.3 | 80.5 | 0.256 | |
YOLOV4 | 86.9 | 90.1 | 0.182 | |
YOLOV5 | 87.7 | 89.8 | 0.176 | |
YOLOX | 85.1 | 86.5 | 0.167 | |
YOLOV4-CS | 98.3 | 99.0 | 0.202 |
根据
图8 不同模型的局部检测结果
Fig.8 Local detection results of different models
4.4.2 消融实验
本文的模型结构主要有3个部分的改进,分别为增加小尺度支路、添加注意力网络CCNet以及修改置信度损失函数。为了验证这3个改进的有效性,本文进行了消融实验,结果如
Small scale branch | CCNet | GHMC | Precision/% | Recall/% |
---|---|---|---|---|
√ | 93.6 | 93.3 | ||
√ | 90.1 | 91.2 | ||
√ | 91.9 | 95.0 | ||
√ | √ | 96.7 | 94.2 | |
√ | √ | 96.5 | 97.5 | |
√ | √ | 95.6 | 97.9 | |
√ | √ | √ | 98.3 | 99.0 |
为了验证本文所采用的注意力网络的有效性,将CCNet与目前几种主流的注意力网络Squeeze-and-Excitation Networks(SENet)[
Attentional mechanisms | Precision/% | Recall/% | Time/s |
---|---|---|---|
SENet | 96.4 | 95.1 | 0.201 |
CBAM | 97.5 | 97.6 | 0.227 |
ECA-Net | 97.1 | 97.4 | 0.222 |
CCNet | 98.3 | 99.0 | 0.202 |
针对本文提出的锚框优化策略,进行了对应的消融实验,所对比的模型均采用了CCNet注意力网络、基于GHM的置信度损失函数以及增加小尺度通道,仅对先验框尺寸做出了改变。消融实验的先验框尺寸分别采用了原始的YOLOV4算法先验框尺寸以及经过本文算法优化之后的先验框尺寸,消融实验结果如
Prior box | Precision/% | Recall/% |
---|---|---|
YOLOV4 | 96.3 | 96.6 |
Ours | 98.3 | 99.0 |
5 结 论
本文将深度网络引入到陶瓷基板瑕疵检测中,改进了YOLOV4网络模型以及损失函数,对4个不同尺度特征图进行增强特征融合,重新设计了12个不同尺度的先验框。实验结果表明,改进后的算法对陶瓷基板5种不同类型的瑕疵的检测效果更好,平均检测准确率达到了98.3%,平均召回率达到了99.0%。本文较多考虑了陶瓷基板的瑕疵检测的准确率以及漏检率,在后续的研究中会对网络结构进行优化改进,提高其实时性和轻量化水平。
- 2025年中科院分区表已公布!Scientific Reports降至三区
- 官方认定!CSSCI南大核心首批191家“青年学者友好期刊名单”
- 2023JCR影响因子正式公布!
- 国内核心期刊分级情况概览及说明!本篇适用人群:需要发南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的学者
- 我用了一个很复杂的图,帮你们解释下“23版最新北大核心目录有效期问题”。
- 重磅!CSSCI来源期刊(2023-2024版)最新期刊目录看点分析!全网首发!
- CSSCI官方早就公布了最新南核目录,有心的人已经拿到并且投入使用!附南核目录新增期刊!
- 北大核心期刊目录换届,我们应该熟知的10个知识点。
- 注意,最新期刊论文格式标准已发布,论文写作规则发生重大变化!文字版GB/T 7713.2—2022 学术论文编写规则
- 盘点那些评职称超管用的资源,1,3和5已经“绝种”了