基于上下文信息融合与动态采样的主板缺陷检测方法
Motherboard defect detection method based on context information fusion and dynamic sampling
通讯作者:
收稿日期: 2024-08-10
基金资助: |
|
Received: 2024-08-10
Fund supported: | 国家自然科学基金资助项目(51477023);辽宁省教育厅科学研究计划资助项目(LJKMZ20220835). |
作者简介 About authors
鞠文博(1997—),男,硕士生,从事机械电子与深度学习研究.orcid.org/0009-0005-8437-3692.E-mail:
在主板缺陷检测任务中,缺陷目标与主板背景相似度高、目标占比小,导致目标容易被漏检和误检. 为此提出基于上下文信息融合与动态采样的主板缺陷检测方法BC-YOLO. 构造上下文融合注意力模块MHCA, 通过独立生成特征映射并利用注意力机制,实现上下文信息的有效融合,从而提升易混淆目标的检测性能. 设计动态上采样FMDU-Upsample模块, 结合多尺度特征提取和动态采样方法,提高特征图的上采样质量. 通过动态偏移的方式,使采样的位置能够根据输入特征进行自适应调整,同时结合多尺度特征提取,增强特征图的表达能力. 在特征提取网络中引入SPD-conv, 重新组织张量中的信息,使得网络可以更好地处理不同尺度的特征,提高卷积操作对局部信息的敏感性. 实验结果表明,在主板缺陷数据集上,BC-YOLO算法的平均精度均值(mAP)达到98.6%,比改进前YOLOv9算法的mAP高2.4个百分点;BC-YOLO算法的平均检测速度为52.6帧/s,优于其他先进模型. 在公开数据集GC10-DET上的实验表明,本研究方法泛化能力较强,检测精度相比于原版YOLOv9提升3.5个百分点,能够更加精确地识别缺陷目标.
关键词:
In the task of motherboard defect detection, the high similarity between defect targets and the motherboard background, coupled with the small proportion of defect targets, lead to a high likelihood of defects being missed or misdetected. To address this issue, a motherboard defect detection method based on context information fusion and dynamic sampling, named BC-YOLO, was proposed. First, a context fusion attention module, named MHCA, was constructed. Contextual information was effectively fused by independently generating feature maps and utilizing an attention mechanism. This enhanced the detection performance of easily confusable targets. Second, a dynamic upsampling module, named FMDU-Upsample, was designed. Multi-scale feature extraction was combined with dynamic sampling methods to improve the quality of feature map upsampling. Sampling positions were adaptively adjusted according to input features by utilizing dynamic offsets. Multi-scale feature extraction was incorporated to enhance the representational capability of feature maps. Finally, SPD-conv was introduced into the feature extraction network. Information in the tensor was reorganized to enable the network to better handle features at different scales, thus improving the sensitivity of convolution operations to local information. Experimental results indicated that the BC-YOLO algorithm achieved a mean average precision (mAP) of 98.6% on the motherboard defect dataset, representing an improvement of 2.4 percentage points over the previous YOLOv9 algorithm. The average detection speed of the YOLOv9 model was 52.6 frames per second, outperforming other advanced models. Experiments on the public dataset GC10-DET demonstrated that the proposed method had strong generalization ability. The detection accuracy was improved by 3.5 percentage points compared with the previous YOLOv9 algorithm, allowing for more precise identification of defect targets.
Keywords:
本文引用格式
鞠文博, 董华军.
JU Wenbo, DONG Huajun.
近年来,电子产品应用广泛,电子工业快速发展. 主板作为电子设备的核心组件,其质量与可靠性对产品的性能至关重要[1]. 主板在制造过程中,可能因材料、工艺或人为因素,产生螺钉松动、缺失、划痕等质量缺陷. 在机箱内,螺钉位置复杂,固定主板元件的螺钉松动或缺失可能导致主板在使用过程中发生位移或振动,进而引发电子元件接触不良、散热效率降低,甚至导致焊点断裂或短路这类严重问题. 这不仅影响设备的正常运行,还可能带来潜在的安全隐患,尤其在对可靠性要求极高的工业、医疗和航空航天领域,可能造成重大风险.
采用传统的人工检验方法进行缺陷检测,效率低[2]、难度大[3]、误检和漏检率高,且容易二次损伤面板元件,会增加制造成本,无法满足当前高效智能的生产需求. 因此,对主板进行高效准确的缺陷检测至关重要. 近年来,基于机器视觉的目标检测技术在各个领域得到了广泛应用[4]. 现有的深度学习目标检测算法可以分为2类. 1)二阶段(two-stage)算法,比如R-CNN[5]. 二阶段算法使用选择性搜索算法[6]生成候选区域,然后对候选区域中的候选框大小和位置进行预测并生成预测框. Chen等[7]将可变形网络、FPN网络和ResNet50网络结合,并结合改进的ResNet50模型提出Fast RCNN深度学习网络,提高算法对多尺度目标尤其是小目标的检测性能. Ye等[8]针对Faster RCNN模型在进行产品表面缺陷检测任务时鲁棒性较差的问题,通过使用路径平衡特征金字塔和动态标签分配,来增强模型识别能力. 2)一阶段(one-stage)算法,比如YOLO[9]系列. 一阶段算法通过将图像网格化,将目标检测简化为单次的概率运算,大幅减少了检测时间. Li等[10]提出基于改进YOLOv4的缺陷检测系统,通过使用密度聚类算法来确定锚框数量以解决K-Means算法聚类的锚点主观性强的问题,通过对特征提取网络进行改进,改善PANet网络中四链卷积造成的局部信息丢失和梯度传播障碍,提高模型的鲁棒性. Hou等[11]在YOLOv8算法基础上,针对电力传输线缺陷识别的任务需求,引入G-GhostNet降低精度损失,将网络的Neck部分替换为S-FPN以减少尺度截断的影响,引入SIoU损失函数以加速收敛并进一步提高检测精度. Chen等[12]为了提高模型的表面缺陷检测性能,在YOLOv8的基础上,设计快捷特征金字塔网络(spatial feature pyramid network, SFPN)以改善信息传输,同时提出自适应解耦头(adaptive decoupling head, ADH)来调整原始解耦头的分类和回归特征. Xie等[13]提出LMS-YOLO模型,通过设计轻量级多尺度混合卷积模块进行多尺度特征提取,将损失函数由CIOU替换为NWD,以增强模型对小尺度缺陷的检测效果. Yi等[14]以YOLOv7为基础,在特征提取网络中引入注意力机制和双流特征提取通道进行差异特征提取,将高层和低层特征进行整合,抑制背景干扰,提高模型在识别缺陷特定特征方面的精准度. 与二阶段算法相比,一阶段算法通过简化流程,能够更高效地实现实时检测. 整体上,基于机器视觉的生产缺陷检测方法已成为主流. 但针对主板缺陷检测的研究较少,缺乏针对主板螺钉和接口类缺陷的针对性设计.
主板元器件种类繁多、背景纹理复杂、缺陷尺寸较小且缺陷之间特征相似,容易造成错检漏检. 本研究针对上述问题,按照当前智能制造背景下的实际需求,提出BC-YOLO检测方法. 为了增强特征表达,提高对易混淆目标的检测性能,提出上下文融合注意力模块. 通过独立生成特征映射,利用注意力机制调整输出,实现上下文信息的有效融合. 通过上下文增强和特征细化提升小目标的检测性能,有效捕获全局上下文信息. 为了提高模型对不同尺度和不同位置目标的检测性能,构建动态采样模块,通过动态采样和多尺度特征提取的方法,使用偏移量自适应地调整采样方式,以更好地捕捉图像中的细节和特征. 利用SPD-conv[15]进行卷积优化,以保留更多信息,同时避免图像中的大物体主导特征学习过程,从而减少小目标的漏检.
1. BC-YOLO模型
1.1. 上下文融合注意力模块
在主板缺陷目标检测任务中,有效捕获全局上下文信息对于提高模型的检测性能至关重要. 在主板生产缺陷检测任务中,主板元件排列聚集,主板本身背景复杂,不同电子元件相似度较高. 在俯视状态下,部分原件如螺钉的螺帽和圆柱状的电容特征较相似,在工作环境明亮时,由于材质原因会出现反光现象,两者极易混淆. 连接线在不同图像中摆放形态不固定,且未正确连接的风扇接口本身容易与主板背景混淆,极易造成错检漏检. 传统的检测模块往往只能得到有限的上下文信息[16],这在小目标与易混淆目标检测中,显得尤为不利.
本研究提出多头上下文融合注意力模块(multi-head context aggregation attention module,MHCA),旨在有效捕获全局上下文信息,并将其融合到局部特征中,以提高模型对目标的检测性能. 模块结合了特征提取、注意力计算、特征融合和特征重加权等关键部分. 模块结构如图1所示. 模块通过对上下文信息的有效融合提高对易混淆物体的检测性能. 在MHCA模块中,输入特征图,通过3个3×3卷积操作生成3个重要的特征映射. 这些映射各自承担不同的功能,共同实现上下文的有效融合.
图 1
第1个映射专注于捕捉输入特征图中各区域的重要性,突出特征图中的重要区域. 首先通过卷积操作生成一个未经过激活函数限制的特征映射Conv(x). 之后应用Sigmoid激活函数对卷积输出的每个元素进行逐点处理,对提取的全局信息进行Sigmoid激活,将特征权重映射中的每个元素归一化到 (0,1.0) ,得到最终注意力权重 A(x):
式中:x为输入特征图,x为输入值.
第2个特征映射被重塑为适合进行注意力计算的格式,并对卷积操作的结果使用Softmax函数进行归一化,以获得对上下文信息的权重分布. 对输入向量中的每个元素进行指数运算,并将结果除以所有元素指数运算结果的和,将结果转换为注意力权重,以确保输出的概率分布之和为1.0. 这一过程确保模型能够聚焦于输入特征图中的关键部分,从而捕捉更具代表性的上下文信息. K(x)为通过卷积层和Softmax函数生成的注意力权重,表示不同位置的重要性,用于在上下文信息融合过程中,对特征信息进行加权. 上述过程表达式如下:
式中:xi为输入向量x的第xi个元素,N为向量的长度.
第3个特征映射在空间维度上与输入特征图对齐,以便通过关键图K(x)对输入特征图X进行加权融合,从而得到融合后的特征Y. 通过这种加权操作,模型不仅能够有效整合特征,还能增强对复杂场景中细微差别的感知能力. 模块通过逐元素相乘操作调整特征表示的权重,使关键特征得到更多关注,同时抑制无关特征. 最终,融合后的上下文特征经过线性变换并与原始输入特征图相加,从而形成更加丰富的特征表示. 特征融合表达式如下:
MHCA注意力机制模块能有效去除杂乱的主板背景,聚焦于特定的目标区域. 通过对输入特征进行上下文聚合,模型可以更好地捕捉到边缘信息,从而提高对物体边界的识别能力. 在特征聚合过程中,模块能够将相似区域的信息进行整合. 这对于处理主板缺陷图像中的相似区域尤为重要,有助于模型更精确地区分不同物体或背景.
1.2. FMDU-Upsample模块
在YOLOv9[17]原版算法中,主板缺陷目标检测面临挑战. 由于小目标在图像中所占的像素较少,其细节信息容易被忽略或丢失. 由于数据集内不同目标类别之间存在相似性,模型在检测时容易混淆导致误检和漏检. 为了提高模型对不同尺度和不同位置目标的检测性能,构建动态采样模块,通过动态采样和多尺度特征提取的方式,通过偏移量自适应地调整采样方法,以更好地捕捉图像中的细节和特征,从而使得模型能够对目标进行更准确的定位和识别.
本研究设计FMDU-Upsample上采样模块(fast micro dynamic upsample module),在设计时,考虑到在模型中添加模块可能会增加运行负担,采用膨胀卷积和深度可分离卷积这类轻量化设计. FMDU-Upsample使用1个1×1卷积,进行轻量级特征融合;使用1个标准3×3深度可分离卷积[18](包含深度卷积[19]和逐点卷积[20])以及1个膨胀3×3深度可分离卷积扩大感受野. 使用1×1卷积可以减少计算量,优化检测速度;使用3×3卷积可以扩大感受野,收集更多信息[21],有利于提高对小目标和易混淆目标的检测性能;使用膨胀卷积[22]可以在不增加参数量的情况下扩大卷积的感受野,使得模型可以在同一层级上捕捉更大范围的信息,有助于提升其对小目标和易混淆目标的检测能力. 综合而言,尽量兼顾轻量化和小目标检测性能.
通过多尺度卷积提取不同尺度的信息,模型能够更精确地捕捉小目标和复杂背景中的目标特征. 通过融合不同尺度的特征,模型可以综合不同层级的信息,从而提高其在复杂背景下的目标感知能力. 这一过程对于易混淆目标的分辨尤为重要.
目标检测网络通常使用固定倍数的上采样层来将低分辨率的特征图扩大到与输入图像相同的尺寸. 然而,这种固定倍数的上采样方式可能会导致特征图出现信息丢失或信息冗余的问题,信息丢失会导致神经网络在小目标检测任务中表现欠佳,而信息冗余会导致目标检测易混淆. 动态采样是在原始特征图的基础上,根据预测的偏移量进行采样,并进行上采样以增强特征,从而使得模型能够对目标进行更准确的定位和识别,提升对小目标和易混淆目标的检测能力.
动态采样部分是FMDU-Upsample模块中的核心部分,负责根据预测的偏移量对输入特征图进行动态调整,以获取更丰富的特征信息. 模块中偏移量的计算过程式如下:
式中:O为初始偏移量,Wo为用于计算偏移量的卷积核,Xt为特征提取后的特征图,*表示卷积运算,S为Sigmoid 激活函数处理后的范围调整因子,Ws为用于范围调整的卷积核,Of为计算出的最终偏移量,Pi为初始位置偏移量.
动态采样主要通过计算偏移量和调整坐标,并结合插值采样操作,实现对输入特征图的动态采样,从而提高模型对目标的检测能力. 为了适配Pytorch中用于在特征图上进行插值采样的函数Grid sample,将输入图像的左上角坐标映射到 [−1.0,1.0],右下角坐标映射到[1.0,1.0]. 这种方法可以简化插值计算,同时使得采样过程不受图像具体尺寸的限制. 这一过程可以表示为
式中:C表示原始坐标值,表示网格中的位置;Cn表示归一化的坐标;s表示用于归一化的尺度因子,由输入的特征图的宽度和高度计算得出.
通过动态采样,模型可以根据目标的位置和尺度变化灵活地调整特征提取方式,从而提高其对不同尺度和不同位置目标的检测性能. 模型能够根据图像的局部特征进行自适应采样,从而在图像增强或重建过程中,保留不连续区域的特征[23],避免由于过度平滑导致细节丢失. 得益于可以自适应地调整采样位置,模型更容易捕捉到变化剧烈的区域,如边缘和轮廓部分[24]. FMDU-Upsample与YOLOv9原有上采样模块相比,对螺钉类和接口类缺陷的检测性能均有所提升. 此外,FMDU-Upsample上采样模块可与MHCA注意力机制模块共同作用,进一步增强模型对特征图的关注度,减少计算量,并准确定位主板目标缺陷,从而提高模型运算效率和检测性能. 模型整体结构如图2所示.
图 2
1.3. SPD-conv优化
在目标检测任务中,当图像分辨率较低或者目标体积较小时,模型性能会迅速下降[25]. 事实上,小目标检测是一项极具挑战性的任务. 较小的物体本身分辨率较低,且其较小的尺寸也限制了模型可以借鉴的上下文信息.
现有CNN结构中常使用跨步卷积和池化操作. 在检测非小型目标时,采用跨步卷积和池化操作能够跳过图像中的冗余信息,且模型依然能够保留较好的学习特征. 但是,在小目标和易混淆目标检测任务中,冗余信息的假设不再成立,检测效果受到细粒度丢失和学习不良的特征的影响.
引入SPD-conv,能在低分辨率特征图中保留更多的细节信息,从而显著提升网络对小目标的检测能力,并且有助于在同一层次内实现多尺度特征融合. SPD-conv能够在特征图中同时保留小物体的细节和大物体的语义信息. 这种融合使得网络在检测任务中能够利用更多的上下文信息,可以在一定程度上缓解大物体主导训练过程的问题.
优化部分卷积操作,使用SPD-conv取代跨步卷积和池化层. SPD-conv将原始图像转换技术引入卷积神经网络,用于对特征图进行下采样. 一般来说,对于任意特征图X,其子图fa,b是由特征图中所有可被比例因子整除的条目X(i, j) 组成的. 这意味着,每个子图都会按照该比例因子对X进行下采样. 例如,对于一个尺寸为S×S×C1的中间特征图X,将其切片出一系列子特征图的过程可以表示为
式中:
2. 实验及结果分析
2.1. 数据集
现有公开数据集多针对传统电路板缺陷构建,针对主板缺陷的数据集较少,针对螺钉类和主板接口类缺陷的更少. 本研究自建主板缺陷检测数据集,涵盖11类主板常见特征及其相关缺陷,具体包括:CPU风扇、CPU风扇螺钉缺失、风扇接口正确连接、风扇接口断开、CPU风扇螺钉松动、CPU风扇螺钉、螺钉不匹配、主板螺钉松动、主板螺钉缺失、主板螺钉及划痕.
数据集构建步骤如下:1)通过实地拍摄和网络搜集缺陷主板图像;2)对数据集图片进行手动筛选,去除数据集中重复或者相似的图像,提高模型训练效率,避免无意义训练;3)将图片中各种缺陷利用Labelimg图像标注工具进行标定,生成标签文件;4)划分并保存数据集.
为了使扩增的训练数据尽可能接近真实分布的数据,采用数据增强的方法扩充数据集. 为了降低图片的相似度,对数据集中的图像进行平移、缩放、旋转等仿射变换操作,使用灰度处理、高斯噪声、椒盐噪声等像素变换操作,并且对图片进行扩展、缩放、平移、旋转等几何变换操作. 数据集总计超过
表 1 数据集分布情况
Tab.1
类别 | n | ||
训练集 | 验证集 | 测试集 | |
CPU风扇 | 136 | 136 | |
CPU风扇螺钉缺失 | 139 | 139 | |
风扇接口正确连接 | 134 | 134 | |
风扇接口断开 | 139 | 139 | |
CPU风扇螺钉松动 | 138 | 138 | |
CPU风扇螺钉 | 152 | 152 | |
螺钉不匹配 | 146 | 146 | |
主板螺钉松动 | 138 | 138 | |
主板螺钉缺失 | 153 | 153 | |
主板螺钉 | 152 | 152 | |
划痕 | 125 | 125 |
在自建数据集中,所有缺陷目标尺寸均较小,且易与主板背景混淆,不同缺陷之间存在较高相似性. 例如, CPU风扇螺钉与CPU风扇螺钉松动在外观上高度相似,这种分类策略充分体现了实际应用中检测任务的复杂性和挑战性. 如图3所示为自建数据集缺陷目标放大图.
图 3
2.2. 实验配置及评价指标
本实验环境配置如下:操作系统为ubuntu18.04,CPU采用 Intel® Xeon® Platinum 8255C (主频为2.50 GHz),显卡为NVDIA RTX 3080(显存为10 GB). 深度学习框架使用Pytorch.
在训练主板缺陷检测算法时,优化器选用动量梯度随机算法(stochastic gradient descent with momentum),设置动量因子为0.937,权重衰减系数为5×10−4,学习率由默认值降至10−4. 为了防止过拟合,设置权重衰减的强度为0.000 05. 实验衡量指标为数据集中各类目标的查准率P、查全率R、平均精度均值mAP和每秒帧数FPS等.
2.3. 对比实验
基于自建的主板缺陷数据集,分别训练二阶段算法Faster-RCNN[26]和Cascade-RCNN [27],以及一阶段算法SSD[28]、YOLOv7tiny[29]、YOLOv8s[30]、YOLOv9等. 实验从对主板缺陷目标识别的查准率、查全率、平均精度均值、参数量以及每秒帧数等多个维度对模型性能进行对比分析,结果如表2所示. 可以看出,与YOLOv7tiny和YOLOv8s相比,YOLOv9的查全率分别提高1.3、3.1个百分点,平均精度均值分别提高1.0、0.7个百分点,尽管其每秒帧数(FPS)略低于YOLOv8s的,但整体性能优于前两者,显示出其在主板缺陷检测任务中的优越性. 基于YOLOv9改进的BC-YOLO模型在性能上实现了显著提升:查准率为98.4%,查全率为98.6%,平均精度均值为98.6%,每秒帧数FPS为52.6. 相较于其他模型,BC-YOLO模型的综合性能更优,BC-YOLO具有更优的精确性和高效性.
表 2 主板缺陷数据集上不同模型的性能参数与检测精度对比
Tab.2
网络模型 | P/% | R/% | mAP/% | Para/107 | FPS/帧 |
Faster-RCNN | 80.9 | 79.2 | 80.3 | 4.1 | 30.0 |
Cascade-RCNN | 85.6 | 88.3 | 86.7 | 6.9 | 28.5 |
SSD | 83.2 | 84.4 | 84.0 | 2.4 | 79.2 |
YOLOv7tiny | 94.5 | 95.6 | 95.2 | 0.6 | 44.6 |
YOLOv8s | 95.9 | 93.8 | 95.5 | 1.1 | 65.5 |
YOLOv9 | 96.6 | 96.9 | 96.2 | 2.5 | 45.2 |
BC-YOLO | 98.4 | 98.6 | 98.6 | 2.7 | 52.6 |
为了验证本研究方法对主板缺陷检测任务中的小目标与易混淆目标的检测效果,对模型改进前后的性能表现进行对比实验,分析改进方法对数据集中11个类别的检测效果.
如表3所示为BC-YOLO与YOLOv9算法在各类别缺陷上的查准率P对比. 针对原版YOLOv9在小目标和易混淆目标检测上的不足,引入MHCA和FMDU-Upsample模块,以提供可供模型借鉴的上下文信息并在特征图上增加关注度,本研究优化方法对于易混淆物体的辨别能力和对小目标的识别能力均有所提升. 由表3可以看出, 优化后的模型在主板背景相似度较高的缺陷目标上识别精度有所提升. 对于与主板电容极相似且易受到拍摄反光影响的螺钉类缺陷,如螺钉不匹配、螺钉松动、螺钉缺失以及主板螺钉类别,其查准率分别提高了6.1、3.7、5.6、3.8个百分点;对于与主板背景纹理及其他元件相似度较高的划痕和风扇接口断开类缺陷,其查准率分别提升了3.3、2.7个百分点.
表 3 BC-YOLO与YOLOv9各类别缺陷上的查准率对比
Tab.3
缺陷类别 | P/% | |
YOLOv9 | BC-YOLO | |
CPU风扇螺钉缺失 | 98.2 | 98.7 |
CPU风扇螺钉松动 | 94.7 | 97.7 |
CPU风扇螺钉 | 95.1 | 98.2 |
CPU风扇 | 99.4 | 99.4 |
风扇接口正确连接 | 97.8 | 98.2 |
风扇接口断开 | 95.2 | 97.9 |
螺钉不匹配 | 92.1 | 98.2 |
螺钉松动 | 94.9 | 98.6 |
螺钉缺失 | 93.2 | 98.8 |
划痕 | 94.8 | 98.1 |
主板螺钉 | 95.1 | 98.9 |
如表4所示为BC-YOLO与原版YOLOv9在查全率上的对比. 在进行主板缺陷检测时,原版YOLOv9的查全率表现与精度表现类似,在小目标缺陷和易与主板背景混淆的目标上容易出现漏检. 主板图像中通常存在CPU风扇这种大目标,大目标容易主导特征学习过程,而图片中的小物体本身分辨率较低且容易与背景混淆,这导致原版模型在检测CPU风扇上的螺钉与螺钉类缺陷时,仅检测出大风扇,而忽略风扇上的螺钉,导致漏检. 针对这一问题,本研究通过MHCA、FMDU-Upsample和SPD-conv优化,保留更多信息,避免与大目标共存的小目标被当作冗余信息消除,显著提升了查全率. 具体来说,对于与大目标共存的小目标,CPU风扇螺钉缺失、松动以及正常的CPU风扇螺钉的查全率分别提升3.2、4.1、1.1个百分点. 对于小型易混淆目标,CPU风扇接口正确连接、CPU风扇接口断开、螺钉不匹配、主板螺钉松动、划痕类缺陷的查全率分别提升了2.7、3.9、3.3、4.7、3.2个百分点.
表 4 BC-YOLO与YOLOv9各类别缺陷上的查全率对比
Tab.4
缺陷类别 | R/% | |
YOLOv9 | BC-YOLO | |
CPU风扇螺钉缺失 | 95.7 | 98.9 |
CPU风扇螺钉松动 | 94.9 | 99.0 |
CPU风扇螺钉 | 96.2 | 97.3 |
CPU风扇 | 100.0 | 100.0 |
风扇接口正确连接 | 96.4 | 99.1 |
风扇接口断开 | 94.3 | 98.2 |
螺钉不匹配 | 95.8 | 99.1 |
螺钉松动 | 93.1 | 97.8 |
螺钉缺失 | 96.5 | 98.6 |
划痕 | 96.1 | 99.3 |
主板螺钉 | 95.3 | 97.4 |
如表5所示为BC-YOLO与原版YOLOv9在各类别缺陷检测平均精度均值mAP上的对比. 可以看出,经过优化,CPU风扇上的螺钉及其他小目标和易混淆目标的错检漏检问题,均有所改善. 例如,CPU风扇螺钉松动、螺钉不匹配、主板螺钉松动、主板螺钉缺失分别提升了3.6、6.8、2.8、2.6个百分点. 经优化后的各个类别mAP均高于98%,满足实际生产需求.
表 5 BC-YOLO与YOLOv9各类别缺陷的mAP对比
Tab.5
缺陷类别 | mAP/% | |
YOLOv9 | BC-YOLO | |
CPU风扇螺钉缺失 | 96.3 | 98.1 |
CPU风扇螺钉松动 | 95.1 | 98.7 |
CPU风扇螺钉 | 97.3 | 99.7 |
CPU风扇 | 98.7 | 99.3 |
风扇接口正确连接 | 97.9 | 98.8 |
风扇接口断开 | 95.4 | 98.6 |
螺钉不匹配 | 92.3 | 99.1 |
螺钉松动 | 95.8 | 98.6 |
螺钉缺失 | 96.2 | 98.8 |
划痕 | 95.2 | 98.2 |
主板螺钉 | 97.1 | 98.5 |
为了进一步验证各处改进对提升算法精度的作用,对改进算法进行消融实验,结果如表6所示. 为了分析本研究方法对主板缺陷数据集不同种类类别的检测效果,将数据集的缺陷类别总体按照特征大小分为大目标类别(AB)与小目标类别(AS). 其中,小目标包含数据集中的所有螺钉类缺陷和接口类小尺度缺陷. 考虑到划痕大小不一,但其俯视视角下尺寸普遍大于螺钉特征,故将划痕与CPU风扇归为大尺寸目标. 由表6可知,各模块在大、小缺陷检测任务上均获得良好的性能. 通过上下文融合注意力机制,MHCA注意力模块能够有效捕捉输入特征图中的重要信息,与基准模型相比,优化后模型的查准率提升了1.3个百分点,对小目标样本的查准率提升了1.6个百分点. FMDU上采样模块,能够根据偏移量进行动态采样,提高模型针对不同尺度目标的检测性能,与基准模型相比,优化后模型的平均精度均值提高了1.5个百分点. 引入SPD-Conv,目标信息得以更多地保留在通道中,同时有效缓解了大物体主导训练过程的问题,使得平均精度均值较基准提升了0.9个百分点,其中,对小目标的查准率提升了1.0个百分点. 将3个模块组合后,虽然部分模型性能受到一定程度的抑制,但经过整体融合优化后,模型的性能更为优秀. 消融实验表明,与原版YOLOv9相比,本研究方法可以在提升小目标检测精度的同时,有效兼顾大尺度目标的检测精度.
表 6 BC-YOLO各模块消融实验结果对比
Tab.6
MHCA-module | FMDU-Upsample | SPD-conv | mAP/% | P/% | |
AB | AS | ||||
− | − | − | 96.2 | 97.1 | 95.2 |
√ | − | − | 97.5 | 97.3 | 96.8 |
− | √ | − | 97.7 | 97.8 | 97.3 |
− | − | √ | 97.1 | 97.5 | 96.2 |
√ | √ | − | 97.9 | 98.4 | 97.6 |
√ | − | √ | 97.5 | 97.9 | 97.5 |
− | √ | √ | 98.2 | 98.6 | 97.7 |
√ | √ | √ | 98.6 | 98.4 | 98.2 |
如图4所示为部分检测效果. 在预测过程中采用的后处理算法是非极大值抑制算法,设置置信度的门槛为0.8,IOU的门槛为0.6. 从检测结果可以看出,BC-YOLO在面对具有杂乱且相似背景的主板时,可以准确地检测出各种类型的缺陷,且预测边界框与实际边界框相近.
图 4
为了验证BC-YOLO在缺陷类目标检测任务上的通用性,使用公开数据集GC10-DET[31]进行对比实验,该数据集包含10种钢铁表面缺陷:冲孔、焊缝、新月形缺口、水斑、油斑、丝斑、夹杂物、轧坑、折痕、腰折,共有
表 7 GC10-DET数据集上本研究算法与其他算法的精度对比
Tab.7
模型 | P/% | mAP/% | |||||||||
冲孔 | 焊缝 | 月牙 | 水斑 | 油斑 | 丝斑 | 异物 | 压痕 | 折痕 | 腰折 | ||
Faster RCNN | 94.4 | 75.1 | 86.0 | 59.9 | 65.5 | 50.1 | 24.5 | 24.4 | 55.0 | 88.3 | 62.3 |
Cascade RCNN | 98.4 | 89.8 | 94.8 | 73.0 | 72.3 | 60.2 | 18.5 | 34.6 | 16.7 | 66.6 | 62.5 |
TridenNet[32] | 94.5 | 66.4 | 95.8 | 76.7 | 72.9 | 67.2 | 38.7 | 41.7 | 38.5 | 82.1 | 67.5 |
RetinaNet | 97.6 | 76.0 | 93.6 | 65.2 | 53.7 | 59.2 | 9.9 | 21.8 | 3.2 | 82.6 | 56.3 |
SSD | 91.6 | 74.4 | 92.8 | 55.2 | 61.2 | 68.9 | 16.8 | 15.5 | 52.7 | 87.2 | 61.6 |
Swin transformer | 97.6 | 86.5 | 94.6 | 70.0 | 64.8 | 61.6 | 14.1 | 28.0 | 8.3 | 88.2 | 61.4 |
YOLOv7tiny | 95.2 | 79.1 | 96.1 | 81.5 | 60.1 | 58.2 | 34.9 | 23.3 | 53.1 | 78.9 | 66.0 |
YOLOv8s | 96.0 | 88.3 | 96.9 | 84.6 | 57.9 | 61.3 | 22.6 | 29.9 | 51.1 | 81.8 | 67.1 |
Yolov9 | 95.6 | 87.0 | 97.0 | 83.5 | 56.6 | 62.0 | 27.1 | 21.4 | 62.8 | 87.1 | 68.0 |
BC-YOLO(本研究算法) | 98.5 | 90.6 | 98.0 | 85.9 | 61.2 | 58.7 | 29.0 | 39.8 | 64.6 | 88.2 | 71.5 |
3. 结 语
针对主板缺陷检测任务中缺陷目标与主板背景相似度高、目标占比小容易被漏检误检的问题,提出BC-YOLO检测方法. 通过MHCA上下文融合注意力模块,独立生成特征映射,并利用注意力机制调整输出,有效捕获全局上下文信息. 构建动态采样模块FMDU-Upsample,通过动态采样和多尺度特征提取的方法,计算偏移量以自适应地调整采样方式,使模型能更好地捕捉图像中的细节特征从而获取更多特征信息. 采用SPD-conv卷积优化,使得更多信息得以保留,同时避免图像中的大物体主导特征学习过程,造成小目标的漏检. 将BC-YOLO在主板缺陷数据集与GC10-DET数据集上进行实验验证,对比模型优化前后对各类别缺陷的检测效果. 结果表明本研究方法泛化能力较强,算法在小目标与易混淆缺陷检测任务上表现较优. 后续将进一步对BC-YOLO进行优化,使其可以适应更多实际生产中的检测任务.
参考文献
基于轻量化卷积神经网络的金属断口图像识别
[J].
Metal fracture recognition based on lightweight convolutional neural network
[J].
REFORMS: consensus-based recommendations for machine-learning-based science
[J].
Selective search for object recognition
[J].
An improved faster RCNN-based weld ultrasonic atlas defect detection method
[J].
Robustness defect detection: improving the performance of surface defect detection in interference environment
[J].DOI:10.1016/j.optlaseng.2024.108035 [本文引用: 1]
Research on fabric surface defect detection algorithm based on improved Yolo-v4
[J].
Real-time defect detection method based on YOLO-GSS at the edge end of a transmission line
[J].
NHD-YOLO: improved YOLOv8 using optimized neck and head for product surface defect detection with data augmentation
[J].DOI:10.1049/ipr2.13073 [本文引用: 1]
A light weight multi-scale feature fusion steel surface defect detection model based on YOLOv8
[J].DOI:10.1088/1361-6501/ad296d [本文引用: 1]
YOLOv7-SiamFF: industrial defect detection algorithm based on improved YOLOv7
[J].DOI:10.1016/j.compeleceng.2024.109090 [本文引用: 1]
基于深度学习的程序合成研究进展
[J].DOI:10.11897/SP.J.1016.2024.02594 [本文引用: 1]
Advances in deep learning-based program synthesis
[J].DOI:10.11897/SP.J.1016.2024.02594 [本文引用: 1]
DO-conv: depthwise over-parameterized convolutional layer
[J].DOI:10.1109/TIP.2022.3175432 [本文引用: 1]
基于卷积神经网络的牵引电机定子绕组匝间短路故障诊断
[J].DOI:10.3969/j.issn.1001-8360.2024.04.008 [本文引用: 1]
Fault diagnosis of stator winding inter-turn short circuit in traction motors based on convolutional neural network
[J].DOI:10.3969/j.issn.1001-8360.2024.04.008 [本文引用: 1]
面向无人机航拍小目标检测的轻量级YOLOv8检测算法
[J].
Lightweight YOLOv8 detection algorithm for small object detection in UAV aerial photography
[J].
基于计算机视觉的工业金属表面缺陷检测综述
[J].
A review of metal surface defect detection based on computer vision
[J].
多尺度语义信息融合的目标检测
[J].DOI:10.11999/JEIT200147 [本文引用: 1]
Multi-scale semantic information fusion for object detection
[J].DOI:10.11999/JEIT200147 [本文引用: 1]
Faster R-CNN: towards real-time object detection with region proposal networks
[J].DOI:10.1109/TPAMI.2016.2577031
Deep metallic surface defect detection: the new benchmark and detection network
[J].DOI:10.3390/s20061562 [本文引用: 1]
/
〈 |
|
〉 |
