CN118229625A - 基于对图输入的pcb裸板缺陷检测方法及相关设备 - Google Patents
基于对图输入的pcb裸板缺陷检测方法及相关设备 Download PDFInfo
- Publication number
- CN118229625A CN118229625A CN202410212152.1A CN202410212152A CN118229625A CN 118229625 A CN118229625 A CN 118229625A CN 202410212152 A CN202410212152 A CN 202410212152A CN 118229625 A CN118229625 A CN 118229625A
- Authority
- CN
- China
- Prior art keywords
- feature
- template
- graph
- pcb
- fusion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007547 defect Effects 0.000 title claims abstract description 174
- 238000001514 detection method Methods 0.000 title claims abstract description 146
- 230000004927 fusion Effects 0.000 claims abstract description 118
- 238000010586 diagram Methods 0.000 claims abstract description 97
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000012937 correction Methods 0.000 claims abstract description 63
- 238000003860 storage Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims description 32
- 238000011176 pooling Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 29
- 230000004913 activation Effects 0.000 claims description 10
- 238000005070 sampling Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 13
- 230000000694 effects Effects 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 8
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007500 overflow downdraw method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000000116 mitigating effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000002679 ablation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 229910052755 nonmetal Inorganic materials 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/52—Scale-space analysis, e.g. wavelet analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于对图输入的PCB裸板缺陷检测方法、装置、设备及存储介质,所述方法包括构建基于对图输入的PCB裸板缺陷检测模型,所述PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,所述孪生主干网络用于提取输入的PCB板产品图和模板图特征,所述特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;所述多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,所述检测头用于对融合后的特征图进行检测并输出结果。本发明方法利用PCB模板图的信息进行PCB缺陷的定位和分类,实现缺陷的高精度、稳定的检测,并具有出色的泛化性。
Description
技术领域
本发明属于PCB缺陷检测技术领域,具体涉及一种基于对图输入的PCB裸板缺陷检测方法、装置、设备及存储介质。
背景技术
现有的PCB裸板缺陷检测技术主要分为两大类,一是基于传统机器视觉的方法,二是基于有监督的深度学习的方法。在基于传统机器视觉的方法中,对图输入通常出现在基于参考比较法中。在通过机器视觉的AOI设备采集PCB裸板图后,与模板图进行对齐,通过数字图像处理的办法比如边缘提取、图像差分等操作对PCB裸板中的缺陷进行定位和分类。专利CN111798443A公开了一种基于标准电路板的PCB缺陷检测方法,通过将PCB裸板分为小检测单元与标准电路板进行逻辑异或运算实现PCB缺陷的检测并绘制缺陷趋势图。专利CN117237347A提出了一种基于重合区域对金属区域和非金属区域分别计算连通域聚类匹配从而进行PCB缺陷检测的方法。专利CN108765416B通过SURF算法提取待测PCB和标准PCB图像的特征点,并采用一种快速的几何对准方法匹配特征点对,通过各特征点对的欧氏距离筛选有效匹配,对齐后进行缺陷检测。专利CN115984197A提出了一种基于标准图的PCB缺陷检测方法,通过比对待检测PCB图像和目标标准PCB设计图像,可以确定PCB图像中的缺陷位置。基于有监督的深度学习的方法中,通过训练神经网络模型来对PCB裸板进行缺陷的区域定位和类别划分。此外,也有用语义分割模型对PCB裸板的缺陷进行分割来实现缺陷检测。对于诸如PCB等工业产品的质检场景而言,训练难度和推理效率是至关重要的两个指标,因此大多技术方案着手于提出更轻量化的算法。专利CN116309427A公开了一种轻量化的模型,替换了YOLOv5算法中的网络结构,单张图片检测时间小于50毫秒,优于传统机器学习算法。专利CN116309434A提出了一种基于多任务学习机制的PCB缺陷检测方法,对偏移、缺件等缺陷进行联合检测。
现有的技术中,基于传统机器视觉的方法通用性差,通常需要对特定的产品进行特殊的算法制定,在不同PCB产品中的迁移效果较差,此外传统机器视觉的方法鲁棒性差,性能上限低,在实际应用中并不能达到精度上的要求。基于有监督的深度学习的方法中,大多数方法仅利用通用目标检测算法在PCB缺陷目标上进行应用,受到PCB缺陷难点如小缺陷、尺寸不一等限制,并没有利用模板图的先验知识,导致无法突破通用目标检测算法的精度上限。总言之,现有的基于深度学习的PCB缺陷检测方法通常只输入产品图,没有利用到模板图的先验知识,大大限制了神经网络的学习能力和性能表现。
发明内容
本发明针对上述问题,提供了一种基于对图输入的PCB裸板缺陷检测方法、装置、设备及存储介质,旨在利用PCB模板图的信息进行PCB缺陷的定位和分类,实现缺陷的高精度、稳定的检测,并具有出色的泛化性。
根据本公开实施例的第一方面,提供一种基于对图输入的PCB裸板缺陷检测方法,所述方法包括以下步骤:
构建基于对图输入的PCB裸板缺陷检测模型,所述PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,所述孪生主干网络用于提取输入的PCB板产品图和模板图特征,所述特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;所述多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,所述检测头用于对融合后的特征图进行检测并输出结果;
利用产品图和模板图数据集训练所述PCB裸板缺陷检测模型;
将PCB板待检测产品图和模板图输入到训练好的所述PCB裸板缺陷检测模型中,即可输出检测结果。
在一些实施例中,训练所述PCB裸板缺陷检测模型前,利用随机仿射变换数据扩充方法对产品图和模板图进行数据增强,得到产品图和模板图数据集,所述随机仿射变换数据扩充方法包括对所述产品图和模板图进行旋转、缩放、错切以及平移。
在一些实施例中,所述特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正,具体包括:
对输入的产品特征图和模板特征图进行乘法运算,并将乘法运算结果输入空间注意力模块,得到空间注意力图;
将所述空间注意力图分别与输入的PCB板产品特征图和模板特征图进行乘法运算,得到第一产品特征图和第一模板特征图,将所述第一产品特征图和所述第一模板特征图分别输入两个通道注意力模块,获取产品通道注意力图和模板通道注意力图;
将所述产品通道注意力图与所述第一产品特征图进行乘法运算,得到修正后的第二产品特征图;
将所述模板通道注意力图与所述第一模板特征图进行乘法运算,得到修正后的第二模板特征图。
在一些实施例中,所述空间注意力模块针对输入的特征,沿通道维度经过通道最大池化和通道平均池化操作提取通道关键信息,并将通道最大池化和通道平均池化操作的结果进行通道拼接,将通道拼接的结果经过一个7×7卷积层将通道数压缩为1,将通道数为1的特征利用Sigmoid激活函数得到空间注意力图。
在一些实施例中,所述通道注意力模块针对输入的特征,经过全局最大池化和全局平均池化操作提取上下文关键特征,并将全局最大池化和全局平均池化操作的结果进行特征融合,将特征融合的结果输入多层感知机进行重校准,将多层感知机的输出结果利用Sigmoid激活函数得到通道注意力图。
在一些实施例中,所述多尺度模板图特征融合网络包括跨模态特征融合模块和跨尺度特征融合模块,所述跨模态特征融合模块将修正后的产品特征图和模板特征图采用通道拼接进行融合,获取第一融合特征,将所述第一融合特征采用特征金字塔结构重修正并获得不同尺度的特征图,将不同尺度的特征图进行元素相加来实现多尺度特征图的融合。
在一些实施例中,从所述孪生主干网络的四个阶段收集四个输出特征图,并在自下而上的连接中完成跨模态特征和跨尺度特征的融合,具体包括以下步骤:
对所述孪生主干网络第1层至第4层特征分别经所述特征修正模块对齐修正,获取模板图特征Ai和产品图特征Bi,i∈[1,2,3,4],经过所述跨模态特征融合模块进行通道拼接,得到第一融合特征Ci=[Ai,Bi];
所述第一融合特征Ci=[Ai,Bi]经过一个1×1的卷积层进行融合,得到第二融合特征Pi;
将P2、P3、P4通过双线性插值法进行两倍上采样;
将第一融合特征C1、C2、C3分别与第二融合特征P2、P3、P4通过两倍上采样得到的特征图进行元素相加融合,实现多尺度特征图的融合;
将多尺度特征图融合后的特征经过一层3×3的卷积层进行特征修正后输出。
在一些实施例中,所述PCB裸板缺陷检测模型中定位损失函数为改进的CIoU损失函数,具体表达式为:
其中A表示预测框,B表示真值框,IoU(A,B)表示预测框和真值框的交并比值,Actr表示预测框的中心点,Bctr表示真值框的中心点,ρ2(Actr,Bctr)表示预测框和真值框中心点的欧氏距离,c表示能够包围预测框和真值框的最小矩形框的对角线长度,β表示长宽比和中心点距离的惩罚因子,w表示预测矩形框的宽,h表示预测矩形框的高,wgt表示真值矩形框的宽,hgt表示真值矩形框的高。
在一些实施例中,所述PCB裸板缺陷检测模型中定位分支采用的分类损失函数具体表示式为:
其中pi表示第i类目标正样本的概率,αi表示控制第i类正负样本平衡的超参数,γ表示控制分类难易样本的平衡因子。
根据本公开实施例的第二方面,提供一种基于对图输入的PCB裸板缺陷检测装置,所述装置包括:
PCB裸板缺陷检测模型构建单元,用于构建基于对图输入的PCB裸板缺陷检测模型,所述PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,所述孪生主干网络用于提取输入的PCB板产品图和模板图特征,所述特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;所述多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,所述检测头用于对融合后的特征图进行检测并输出结果;
PCB裸板缺陷检测模型训练单元,用于利用产品图和模板图数据集训练所述PCB裸板缺陷检测模型;
检测单元,用于将PCB板待检测产品图和模板图输入到训练好的所述PCB裸板缺陷检测模型中,即可输出检测结果。
根据本公开实施例的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种基于对图输入的PCB裸板缺陷检测方法的步骤。
根据本公开实施例的第四方面,提供一种非临时计算机可读存储介质,所述存储介质上存储有计算机指令,所述指令被处理器执行时实现上述一种基于对图输入的PCB裸板缺陷检测方法的步骤。
本公开实施例提供的技术方案:一种基于对图输入的PCB裸板缺陷检测方法、装置、设备及存储介质,能够利用PCB裸板模板图的信息进行对图理解,实现对缺陷的高精度检测,同时提出了双维度特征对齐修正模块、多尺度模板图特征融合网络和基于缺陷形状的损失函数,最终在一个公开的数据集和自建的数据集上表现出卓越的检测性能,具体有益效果如下:
1.精度高:针对现有基于深度学习的缺陷检测算法在真实PCB生产场景中效果差,无法大规模应用的问题,本发明通过设计对图输入的检测方法框架,引入了模板图的先验知识,提高了方法对各种PCB缺陷的整体检测精度;
2.小缺陷效果好:针对PCB缺陷检测场景中难以解决的小缺陷和极端尺寸缺陷等痛点,本发明通过模板图的特征融合引入了额外信息,并通过双维度特征对齐修正模块弥补了不对齐情况带来的噪声影响,本发明还通过基于缺陷形状的回归损失函数提高训练初期对极端尺寸缺陷的学习能力,最终提高整体模型的性能上限。
3.泛化性好:在DeepPCB和PairPCB两个数据集上进行实验验证,对比了近年来的缺陷检测算法以及主流的目标检测算法与本发明提出的对图输入的检测模型之间的mAP指标,并给出了可视化图,能够证明本发明提出的检测模型具有很好的泛化性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理
图1是本发明实施例中基于对图输入的PCB裸板缺陷检测方法流程示意图;
图2是本发明实施例中基于对图输入的PCB裸板缺陷检测模型训练与检测方法示意图;
图3是本发明实施例中基于对图输入的PCB裸板缺陷检测模型架构图;
图4是本发明实施例中双维度特征修正融合模块TFRM结构示意图;
图5是本发明实施例中TFRM的空间注意力模块和通道注意力模块结构示意图;
图6是本发明实施例中多尺度模板图特征融合网络结构示意图;
图7是本发明实施例中基于对图输入的PCB裸板缺陷检测装置结构示意图;
图8是本发明实施例中一种电子设备结构图;
图9是本发明实施例中PIDDN的各类别缺陷检测的效果图;
图10是本发明实施例中PIDDN的各场景缺陷检测的效果图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅出示了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例针对一种基于对图输入的PCB裸板缺陷检测方法、装置、设备及存储介质,提供了如下实施例:
实施例一用于说明基于对图输入的PCB裸板缺陷检测方法,如图1所示,基于对图输入的PCB裸板缺陷检测方法,方法包括以下步骤:
S1、构建基于对图输入的PCB裸板缺陷检测模型,PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,孪生主干网络用于提取输入的PCB板产品图和模板图特征,特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,检测头用于对融合后的特征图进行检测并输出结果;
S2、利用产品图和模板图数据集训练PCB裸板缺陷检测模型;
S3、将PCB板待检测产品图和模板图输入到训练好的PCB裸板缺陷检测模型中,即可输出检测结果。
具体地,实施例构建的基于对图输入的PCB裸板缺陷检测模型(Pair-imageDefect Detection Network,PIDDN)的训练与推理框架如图2所示,能够基于对图输入利用PCB模板图的先验信息精确定位和分类PCB产品图上的缺陷,基于对图输入的PCB裸板缺陷检测模型(Pair-image Defect Detection Network,PIDDN)架构如图3所示,PIDDN整个网络由孪生主干网络、特征修正模块、多尺度模板图特征融合网络、检测头组成。具体地,输入成对PCB板图像到孪生主干网络中,经过特征提取后输出对图特征图,利用特征修正模块将模板图和待检测图的特征进行对齐修正,并经过基于特征金字塔的多尺度模板图特征融合网络来对多尺度模板图特征进行融合,最后经过通用的检测头输出检测结果。
训练PCB裸板缺陷检测模型前,利用随机仿射变换数据扩充方法对产品图和模板图进行数据增强,得到产品图和模板图数据集,随机仿射变换数据扩充方法包括对产品图和模板图进行旋转、缩放、错切以及平移。
具体地,由于生产工艺的成熟以及产品的涉密性,工业缺陷数据集往往采集困难,成本高,没有大规模的公开数据集。因此PCB的数据集通常规模小,分布窄,而数据集的质量往往决定了基于深度学习的模型的效果。因此对于基于深度学习的PCB缺陷检测算法而言,数据增强是一个及其重要的训练策略,能够提升模型的性能。数据增强即通过一些方法扩充数据的分布,比如常见的随机裁剪,随机翻转,随机HSV变换,随机尺寸缩放等。对于对图输入PCB场景而言,对齐情况的多变往往是影响数据质量的一大因素,这种多变可能是由于产品图图像采集与模板图设计图像无法对齐带来的,也可能是由于匹配对齐算法精度上限导致的,还可能是由于生产的客观因素带来的尺寸变化导致的不对齐。因此本发明实施例提出了一种基于随机仿射变换扩充数据的训练策略。不同输入的模板图和产品图对图在训练阶段会依次经过多个仿射变换来进行数据增强,并保证对图所做的操作都是一致的,具体策略流程见算法1所示:
特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正,具体包括:
对输入的产品特征图和模板特征图进行乘法运算,并将乘法运算结果输入空间注意力模块,得到空间注意力图;
将空间注意力图分别与输入的PCB板产品特征图和模板特征图进行乘法运算,得到第一产品特征图和第一模板特征图,将第一产品特征图和第一模板特征图分别输入两个通道注意力模块,获取产品通道注意力图和模板通道注意力图;
将产品通道注意力图与第一产品特征图进行乘法运算,得到修正后的第二产品特征图;
将模板通道注意力图与第一模板特征图进行乘法运算,得到修正后的第二模板特征图。
空间注意力模块针对输入的特征,沿通道维度经过通道最大池化和通道平均池化操作提取通道关键信息,并将通道最大池化和通道平均池化操作的结果进行通道拼接,将通道拼接的结果经过一个7×7卷积层将通道数压缩为1,将通道数为1的特征利用Sigmoid激活函数得到空间注意力图。
通道注意力模块针对输入的特征,经过全局最大池化和全局平均池化操作提取上下文关键特征,并将全局最大池化和全局平均池化操作的结果进行特征融合,将特征融合的结果输入多层感知机进行重校准,将多层感知机的输出结果利用Sigmoid激活函数得到通道注意力图。
具体地,实施例提出的双维度特征修正融合模块TFRM如图4所示,在该模块中,输入的两个特征首先进行元素乘法运算。对于二进制的模板图数据,可以作为掩码或激活值,进行乘法操作可以将模板图的特征图作为一种滤波来过滤PCB待检测图中的正常无缺陷区域。作为该相乘的结果,产品图空间中与模板图不同的区域被强调。随后,将空间注意力块应用于相乘的特征。通过利用空间注意力块,网络能够对特定的空间区域进行优先级排序,这些区域通常对应于模板和测试图像之间的不相似性(即缺陷通常发生的位置)显现的区域。共享空间注意力图对原始模板图像和测试图像进行操作,有助于在具有不同模态的两个图像的空间域中对齐,从而减轻未对齐的影响。
输入的两个特征首先进行元素乘法运算。对于二进制的模板图数据,可以作为掩码或激活值,进行乘法操作可以将模板图的特征图作为一种滤波来过滤PCB待检测图中的正常无缺陷区域。作为该相乘的结果,产品图空间中与模板图不同的区域被强调。随后,将空间注意力块应用于相乘的特征。通过利用空间注意力块,网络能够对特定的空间区域进行优先级排序,这些区域通常对应于模板和测试图像之间的不相似性(即缺陷通常发生的位置)显现的区域。共享空间注意力图对原始模板图像和测试图像进行操作,有助于在具有不同模态的两个图像的空间域中对齐,从而减轻未对齐的影响。输入的PCB模板图和产品图对图在经过孪生Swin Transformer主干网络进行特征提取后,会分别得到四个尺寸的特征图 和/>其中上标i代表第i个索引的特征图并且i∈[1,···,4]。首先通过对不同尺寸的特征图分别进行对图特征图相乘来进行初步对齐,得到对齐后的多尺度特征图/>如式(1)所示
对齐后的特征图会经过一个空间注意力模块来生成空间注意力图。在实际生产中,产品图是基于模板图进行生产的,因此在理想情况下,空间域中产品图和对应的模板图是完全对齐的。为了校正各类由于生产和图像采集环境等因素导致的不对齐情况,这个空间注意力图被共享作用于输入的模板图和产品图,如图5(a)所示。
在空间注意力操作中,对齐后的第i层的特征会沿通道维度经过最大池化(CAP)和平均池化(CMP)操作提取通道关键信息,随后将两种池化操作的结果进行通道拼接,在压缩通道维度的同时从两个方面,即两种池化操作的结果进行拼接,求最大值和平均值分别保留了原始特征不同方面的信息。通道拼接的结果再经过一个7×7卷积层将通道数压缩为1,最后经过一个Sigmoid激活函数得到注意力图Si,如式(2)所示。
最后将共享的这份空间注意力图分别与输入的PCB模板图和产品图特征进行相乘来进行自适应调整,由此得到了强调缺陷区域,弱化正常区域的特征图。本发明提出的基于空间注意力的特征修正模块既提高了模型面对不对齐情况的鲁棒性,减少尺寸和位姿不对齐带来的噪声影响,也实现了二次特征提取,让模型更关注对图特征中与缺陷相关度更高的区域,即更容易出现缺陷的区域,从而进行空间上的特征筛选。
模板图和产品图的特征各有特点。模板图作为无缺陷的灰度图,包含的信息少,只提供了铜路和边界等信息;产品图作为最终的生产所得,重要性更强,且与最终检测目标缺陷直接相关,同时RGB格式具有更多的细节信息,因此所包含的通道特征与模板图处于完全不同的特征空间。为此,本发明实施例中基于通道注意力机制设计了独立的特征修正模块。具体地,在经过空间域对齐后的模板图和待检测图,会分别经过通道注意力模块生成两个通道注意力图,这两个通道注意力图分别作用于经过空间域修正后的特征进行通道级修正,即特征域的修正。具体地,如图5(b)所示,首先会沿空间维度经过全局最大池化和全局平均池化提取空间关键信息,在消除空间维度的同时尽可能保留原本空间上的PCB板信息。通过两种池化操作,模型学习通道维度中的上下文描述,随后相加进行特征融合,并送入一个多层感知机,进行进一步的重校准,最终通过Sigmoid激活函数得到最终的通道注意力图C,如式(3)所示。
这种融合有助于提炼出更丰富、更具代表性的特征,增强了网络对PCB缺陷的关注。此外,多层感知机中的非线性变换,使模型能够捕捉更复杂的特征间关系,从而提高注意力机制的表现力。最后得到的通道注意力图分别作用于(空间域对齐后的)PCB模板图和产品图,用于分别将模板图和产品图的原始通道特征进行信息过滤和强化,有利于后续融合模板图特征,进而提高模型的缺陷检测性能。
如图6所示,多尺度模板图特征融合网络针对特征修正模块输出的修正后的模板图特征和产品图特征,多尺度模板图特征融合网络会将二者进行一个通道拼接,成为一个融合的特征。而后构建成特征金字塔进行不同尺度特征的进一步融合。多尺度模板图特征融合网络的主要作用是将模板图的特征融合入产品图的特征,通过利用模板图的特征进一步提高缺陷检测性能。
如图6所示,多尺度模板图特征融合网络包括跨模态特征融合模块和跨尺度特征融合模块,跨模态特征融合模块将修正后的产品特征图和模板特征图采用通道拼接进行融合,获取第一融合特征,将第一融合特征采用特征金字塔结构重修正并获得不同尺度的特征图,将不同尺度的特征图进行元素相加来实现多尺度特征图的融合。
从孪生主干网络的四个阶段收集四个输出特征图,并在自下而上的连接中完成跨模态特征和跨尺度特征的融合,具体包括以下步骤:
对孪生主干网络第1层至第4层特征分别经特征修正模块对齐修正,获取模板图特征Ai和产品图特征Bi,i∈[1,2,3,4],经过跨模态特征融合模块进行通道拼接,得到第一融合特征Ci=[Ai,Bi];
第一融合特征Ci=[Ai,Bi]经过一个1×1的卷积层进行融合,得到第二融合特征Pi;
将P2、P3、P4通过双线性插值法进行两倍上采样;
将第一融合特征C1、C2、C3分别与第二融合特征P2、P3、P4通过两倍上采样得到的特征图进行元素相加融合,实现多尺度特征图的融合;
将多尺度特征图融合后的特征经过一层3×3的卷积层进行特征修正后输出。
具体地,多尺度模板图特征融合网络是多模态学习任务中的特征融合是一个关键过程,它涉及将来自不同模态的数据合并为一个统一的表示。特征融合的方式主要可以分为以下三种:早期融合(Early Fusion)、晚期融合(Late Fusion)、中间融合(IntermediateFusion)。在早期融合中,来自不同模态的特征在输入层就被结合在一起。这种方法的优势在于能够捕捉跨模态特征间的低层次关联,但其缺点是可能会因为模态间差异较大而导致信息丢失。晚期融合是在模型的输出阶段进行融合,即先分别处理每种模态的数据,然后在决策层将这些处理后的信息或预测结果结合起来,这种方法更适合于那些模态间相关性不是很高的情况。中间融合是在模型的中间层进行融合,这种方法试图在早期融合和晚期融合之间找到一个平衡点,同时捕捉低层次和高层次的跨模态关系。
对于PCB对图跨模态特征融合场景而言,早期融合会带来过量的噪声,因为模板图与产品图并没有经过任何对齐修正,不对齐的区域反而会使得模型误以为是缺陷区域。由于PCB模板图只起到一个辅助检测的作用,本身并不包含目标缺陷,因此也不会有决策结果,晚期融合是不符合常理的。
本实施例提出的融合方法发生在中间融合,这种中间融合方法利用了深度学习网络在特征提取阶段的强大能力,允许模型首先分别处理模板图和产品图,从而提取出各自的特征。这一步骤至关重要,因为它使得模型能够独立理解每个模态的特性和信息,同时避免了早期融合中可能出现的噪声影响。在此基础上,提取出的特征经过对齐修正后,在空间上达到了初步对齐,在数据域中相对统一,适合融合。而且允许模型在更深层次上探索两种数据之间的相互关系。在模板图特征融合操作后,PIDDN以特征金字塔的形式进行多尺度特征融合加强,深入加强模板图融合后的产品图特征,能够赋予模型拟合能力进一步地修正跨模态融合带来的失衡。
本实施例提出的多尺度模板图特征融合网络(Template Feature FusionNetwork,TFFN)具体结构附图6所示。整个TFFN可以分为两部分,一部分是跨模态的特征融合,另一部分是跨尺度的特征融合。跨模态的特征融合发生在跨模态特征对齐修正后,跨尺度特征融合前。当特征对齐修正后,模板图和产品图在空间域上的不对齐情况会被自适应修正,并且在通道域会被自适应选择,使得模板图中对产品图缺陷检出最有帮助的特征被筛选出,同时对产品图中与缺陷最直接相关的特征被增强。这两部分的特征相辅相成,因此PIDDN采用通道拼接来将二者融合,来实现一个粗合并。接着采用特征金字塔结构来重修正合并后的特征并获得不同尺度的特征图,不同尺度的特征图有助于模型对不同尺寸的PCB缺陷进行精准定位和正确分类。为了加强不同层级特征之间的信息交互以及对融合后的特征重修正,本实施例采用了从上到下的信息交互和跳跃连接。
跨尺度的特征融合以特征金字塔的结构给出,特征金字塔总共分为三部分,分别是自下而上的连接、从上到下的连接和跳跃连接。本实施例分别从孪生主干网络的四个阶段收集四个输出特征图,并在自下而上的连接中完成跨模态特征的融合。具体来说,对于第i层特征对齐修正后的模板图特征Ai和产品图特征Bi,首先会经过通道拼接,得到新特征Ci=[Ai,Bi]。拼接得到的新特征会经过一个1×1的卷积层进行融合,将通道数还原,这将使新特征相比于无模板图的纯产品图而言多了模板图的蕴含信息。接着,第四层的融合特征C4=[A4,B4]会通过一个1×1的卷积层进行特征重修正得到P4,以ResNet-50为主干网络,输入图片为256×256分辨率为例,第四个阶段的下采样率为32,即P4的长宽大小为[8,8],即每个位置的感受野对应原图像中的32个像素点,这对于PCB的缺陷检测而言感受野过大,因为PCB产品上的缺陷相对整图面积较小,这部分的特征图并不适合送入检测头进行预测包围框,因此PIDDN不收集P4作为输出特征,而是将P4通过双线性插值法进行两倍上采样。双线性插值法目标矩阵到源接矩阵的坐标映射公式如下所示:
目标点的值是四个已知点值的加权平均,权重由目标点在水平和垂直方向上相对于邻近两个已知点的位置决定。双线性插值能够在网格上平滑地估算目标点的值,实现将某一层的特征图进行上采样跟上一层的特征图尺寸对齐。从第1层到第3层,第i层特征图首先会经过独立的1×1的卷积层修改通道数为输出通道数,这个卷积层一方面是为了修改特征图的通道数为预定义的输出通道数,与后续的检测头的输入对齐,另一方面通过卷积实现了粗融合特征的重修正。接着会跟上一层i+1层的Pi特征图通过2倍上采样得到的特征图进行元素相加来融合来自大感受野所包含的语义信息,实现多尺度特征图的融合,最后再经过一层3×3的卷积层进行特征最后的修正。PIDDN只收集来自第一层和第三层的特征图P1,P2,P3,分别对应了4、8、16倍下采样的比率。
最终,输出特征会经过检测头进行检测。经过了多尺度模板图特征融合网络,输出特征会融入模板图的信息,且每层的特征图都包含了低层的细节信息和高层的语义信息,此外,模型通过多模态学习能够对输入的不对齐情况提高鲁棒性,并且提高缺陷检测效果。
为了让定位更加准确,本发明实施例提出的算法PIDDN中定位的损失函数设计了一种与IoU密切相关的改进版CIoU(Complete IoU Loss)损失函数,具体表示如式(4)所示。
其中A表示预测框,B表示真值框,IoU(A,B)表示预测框和真值框的交并比值,Actr表示预测框的中心点,Bctr表示真值框的中心点,ρ2(Actr,Bctr)表示预测框和真值框中心点的欧氏距离,c表示能够包围预测框和真值框的最小矩形框的对角线长度,β表示长宽比和中心点距离的惩罚因子,w表示预测矩形框的宽,h表示预测矩形框的高,wgt表示真值矩形框的宽,hgt表示真值矩形框的高。
从几何上来看,加入该惩罚项引入边界框之间的中心点距离和重叠率以及尺度,对于所有无重叠区域(即IoU=0)的情况,来源于中心点之间的距离和包围框对角线长度带来的损失能让预测框尽可能朝着真实框靠近,使得目标框的回归更加符合预期。此外,本发明实施例对长宽比和中心点距离添加了一个惩罚因子β,这是由于PCB缺陷的特性决定的,这个超参数优选设置为2,使网络着重学习PCB缺陷的长宽比和总体轮廓,尤其对于模型的早期训练至关重要。因为在训练初期,小缺陷的预测框和对应的真值框往往没有相交,IoU为0,而本发明实施例提出的回归损失函数能够通过计算中心点距离提供回归方向。此外,惩罚项αv的加入使得模型训练过程中对于预测框的长宽比回归更加精确,能够克服具有极端长宽比的PCB缺陷如划痕等带来的检测难题。
正负样本不均衡是PCB缺陷存在的一个问题,受Focal Loss的启发,本发明实施例的定位分支采用的分类损失函数如式(5)所示。
其中pi表示第i类目标正样本的概率,αi表示控制第i类正负样本平衡的超参数,γ表示控制分类难易样本的平衡因子。
在分类分支对应的损失计算中,本发明提出的损失函数中α设置为0.25,γ设置为2,能够更好地在训练过程中兼顾难分类样本以及占比小的正样本,使得网络不被占比大的负样本所影响,并持续学习分类难例来进行优化。最终本发明在训练PIDDN时总损失函数如式(6)所示。
其中α=12.0和β=1.0是针对PCB缺陷定位困难设置的两个缩放因子,用来调整两个分支对于整个模型的比重。本发明实施例提出的对图输入的缺陷检测网络通过计算损失函数对应各个可学习参数的梯度,来进行反向传播,更新模型各个模块的参数,最终实现整个模型的端到端训练。
另一实施例用于说明基于对图输入的PCB裸板缺陷检测装置,如图7所示,装置700包括:PCB裸板缺陷检测模型构建单元710,用于构建基于对图输入的PCB裸板缺陷检测模型,PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,孪生主干网络用于提取输入的PCB板产品图和模板图特征,特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,检测头用于对融合后的特征图进行检测并输出结果;PCB裸板缺陷检测模型训练单元720,用于利用产品图和模板图数据集训练PCB裸板缺陷检测模型;检测单元730,用于将PCB板待检测产品图和模板图输入到训练好的PCB裸板缺陷检测模型中,即可输出检测结果。除了上述单元和模块以外,装置还可以包括其他部件,然而,由于这些部件与本公开实施例的内容无关,因此在这里省略其图示和描述。
基于对图输入的PCB裸板缺陷检测装置700的其他具体工作过程参照上述基于对图输入的PCB裸板缺陷检测方法实施例的描述,不再赘述。
另一实施例用于说明本发明系统也可以借助于图8所示的计算设备的架构来实现。图8示出了该计算设备的架构。如图8所示,计算机系统810、系统总线830、一个或多个CPU 840、输入/输出820、存储器850等。存储器850可以存储计算机处理和/或通信使用的各种数据或文件以及CPU所执行包括实施例基于对图输入的PCB裸板缺陷检测方法的程序指令。图8所示的架构只是示例性的,在实现不同的设备时,根据实际需要调整图8中的一个或多个组件。存储器850作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于对图输入的PCB裸板缺陷检测方法对应的程序指令/模块。一个或多个CPU 840通过运行存储在存储器850中的软件程序、指令以及模块,从而执行本发明系统的各种功能应用以及数据处理,即实现上述的基于对图输入的PCB裸板缺陷检测方法,该方法包括以下步骤:
构建基于对图输入的PCB裸板缺陷检测模型,PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,孪生主干网络用于提取输入的PCB板产品图和模板图特征,特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,检测头用于对融合后的特征图进行检测并输出结果;
利用产品图和模板图数据集训练PCB裸板缺陷检测模型;
将PCB板待检测产品图和模板图输入到训练好的PCB裸板缺陷检测模型中,即可输出检测结果。
当然,本发明实施例所提供的服务器,其处理器不限于执行如上所述的方法操作,还可以执行本发明任意实施例所提供的基于对图输入的PCB裸板缺陷检测方法中的相关操作。
存储器850可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器850可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器850可进一步包括相对于一个或多个CPU 840远程设置的存储器,这些远程存储器可以通过网络连接至装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入/输出820可用于接收输入的数字或字符信息,以及产生与装置的用户设置以及功能控制有关的键信号输入。输入/输出820还可包括显示屏等显示设备。
本发明实施例还提供了一种非临时计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中所述的基于对图输入的PCB裸板缺陷检测方法,本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
此外,一种非临时计算机可读存储介质的其他具体工作过程参照上述基于对图输入的PCB裸板缺陷检测方法实施例的描述,不再赘述。
为了更好地体现本发明的有效性,实施例对提出的对图输入模型在一个公开的PCB缺陷数据集DeepPCB和一个自建的数据集PairPCB上进行实验验证。
DeepPCB数据集总共包含了1500对模板图和测试图像(产品图),并标注了6种PCB缺陷的位置和类别,是学术界第一个用于PCB缺陷检测的公共数据集。该数据集中的所有图像均通过线性扫描CCD获得,分辨率约为每毫米48像素。PCB模板和测试图像的原始尺寸约为1600×1600像素。原始的PCB整图被裁剪成尺寸为640×640的许多子图像,并通过模板匹配技术进行对齐,并设计阈值以采用二值化处理,最后产品图和模板图以灰度图的形式给出。
PairPCB数据集从真实工业生产场景中。具体来说,以PCB生产线为数据源采集PCB数据,并以对图形式给出,其中PCB产品图用CCD拍摄采集,并以RGB格式给出,PCB模板图遵循实际的生产方式以灰度图格式的Gerber文件给出,将完整的模板图和PCB产品图裁剪成尺寸大小为166×166的子图并配对,然后利用模板匹配技术将他们在空间上进行粗对齐。PairPCB总共包含4573张图片,其中3124张划分为训练集,1449张划分为验证集,为了比较不同算法的泛化性,验证集中有部分缺陷并没有在训练集中给出,对于这些缺陷的检测实际上属于zero-shot的问题,这极大考验算法的性能,并体现了实际应用价值。PairPCB中的缺陷包含了纹理型缺陷以及结构型缺陷,其中不乏有污渍、划痕等实际生产场景中常见的缺陷,这些是公开的学术合成数据集所不包含的。对所有的图片进行了精细化的标注,并将缺陷类型划分为块缺陷、点缺陷、线缺陷三种类型,具体数量分布如表1所示:
表1缺陷类型划分表
DeepPCB和PairPCB数据集的差别如表2所示:
表2DeepPCB和PairPCB数据集的差别表
本发明提出的特征提取器为ImageNet数据集上预训练的Swin Transformertiny。整个模型训练中采用带Momentum动量的SGD优化器,学习率初始值为2.5e-3,权重衰减为1e-4,batchsize设置为16,共训练300epochs。推理中不改变训练权重。本发明提出的PIDDN与已有算法在DeepPCB上的实验对比结果如表3所示:
表3PIDDN与已有算法在DeepPCB上的实验对比结果表
其中部分可视化对比图如图9所示,从实验结果可以看出PIDDN在各类别缺陷的精度上具有绝对优势,并且在不同的缺陷难点场景中都表现优异。
本发明提出的PIDDN与已有算法在PairPCB上的实验对比结果如下表4所示:
表4IDDN与已有算法在PairPCB上的实验对比结果表
其中部分可视化如图10所示,PIDDN能够在大多数PCB缺陷检测场景中正确检出缺陷,并对于小缺陷和一些极端尺寸的缺陷都表现良好。
为进一步说明本发明提出的PIDDN模型、双维度特征修正对齐模块和基于缺陷形状的损失函数的有效性,本发明进行了大量消融实验,以Faster R-CNN作为基线算法,对比了采用各个优化策略后的结果,并在PairPCB数据集上进行实验验证,如表5所示:
表5PIDDN模型各模块效果对比表
综合上述各实施例提供的技术方案,一种基于对图输入的PCB裸板缺陷检测方法、装置、设备及存储介质,能够利用PCB裸板模板图的信息进行对图理解,实现对缺陷的高精度检测,同时提出了双维度特征对齐修正模块、多尺度模板图特征融合网络和基于缺陷形状的损失函数,最终在一个公开的数据集和自建的数据集上表现出卓越的检测性能,具体有益效果如下:
1.精度高:针对现有基于深度学习的缺陷检测算法在真实PCB生产场景中效果差,无法大规模应用的问题,本发明通过设计对图输入的检测方法框架,引入了模板图的先验知识,提高了方法对各种PCB缺陷的整体检测精度;
2.小缺陷效果好:针对PCB缺陷检测场景中难以解决的小缺陷和极端尺寸缺陷等痛点,本发明通过模板图的特征融合引入了额外信息,并通过双维度特征对齐修正模块弥补了不对齐情况带来的噪声影响,本发明还通过基于缺陷形状的回归损失函数提高训练初期对极端尺寸缺陷的学习能力,最终提高整体模型的性能上限。
3.泛化性好:在DeepPCB和PairPCB两个数据集上进行实验验证,对比了近年来的缺陷检测算法以及主流的目标检测算法与本发明提出的对图输入的检测模型之间的mAP指标,并给出了可视化图,能够证明本发明提出的检测模型具有很好的泛化性。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的步骤、方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种步骤、方法所固有的要素。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种基于对图输入的PCB裸板缺陷检测方法,其特征在于,所述方法包括以下步骤:
构建基于对图输入的PCB裸板缺陷检测模型,所述PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,所述孪生主干网络用于提取输入的PCB板产品图和模板图特征,所述特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;所述多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,所述检测头用于对融合后的特征图进行检测并输出结果;
利用产品图和模板图数据集训练所述PCB裸板缺陷检测模型;
将PCB板待检测产品图和模板图输入到训练好的所述PCB裸板缺陷检测模型中,即可输出检测结果。
2.根据权利要求1所述的基于对图输入的PCB裸板缺陷检测方法,其特征在于,所述特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正,具体包括:
对输入的产品特征图和模板特征图进行乘法运算,并将乘法运算结果输入空间注意力模块,得到空间注意力图;
将所述空间注意力图分别与输入的PCB板产品特征图和模板特征图进行乘法运算,得到第一产品特征图和第一模板特征图,将所述第一产品特征图和所述第一模板特征图分别输入两个通道注意力模块,获取产品通道注意力图和模板通道注意力图;
将所述产品通道注意力图与所述第一产品特征图进行乘法运算,得到修正后的第二产品特征图;
将所述模板通道注意力图与所述第一模板特征图进行乘法运算,得到修正后的第二模板特征图。
3.根据权利要求2所述的基于对图输入的PCB裸板缺陷检测方法,其特征在于,所述空间注意力模块针对输入的特征,沿通道维度经过通道最大池化和通道平均池化操作提取通道关键信息,并将通道最大池化和通道平均池化操作的结果进行通道拼接,将通道拼接的结果经过一个7×7卷积层将通道数压缩为1,将通道数为1的特征利用Sigmoid激活函数得到空间注意力图。
4.根据权利要求2所述的基于对图输入的PCB裸板缺陷检测方法,其特征在于,所述通道注意力模块针对输入的特征,经过全局最大池化和全局平均池化操作提取上下文关键特征,并将全局最大池化和全局平均池化操作的结果进行特征融合,将特征融合的结果输入多层感知机进行重校准,将多层感知机的输出结果利用Sigmoid激活函数得到通道注意力图。
5.根据权利要求1所述的基于对图输入的PCB裸板缺陷检测方法,其特征在于,所述多尺度模板图特征融合网络包括跨模态特征融合模块和跨尺度特征融合模块,所述跨模态特征融合模块将修正后的产品特征图和模板特征图采用通道拼接进行融合,获取第一融合特征,将所述第一融合特征采用特征金字塔结构重修正并获得不同尺度的特征图,将不同尺度的特征图进行元素相加来实现多尺度特征图的融合。
6.根据权利要求5所述的基于对图输入的PCB裸板缺陷检测方法,其特征在于,从所述孪生主干网络的四个阶段收集四个输出特征图,并在自下而上的连接中完成跨模态特征和跨尺度特征的融合,具体包括以下步骤:
对所述孪生主干网络第1层至第4层特征分别经所述特征修正模块对齐修正,获取模板图特征Ai和产品图特征Bi,i∈[1,2,3,4],经过所述跨模态特征融合模块进行通道拼接,得到第一融合特征Ci=[Ai,Bi];
所述第一融合特征Ci=[Ai,Bi]经过一个1×1的卷积层进行融合,得到第二融合特征Pi;
将P2、P3、P4通过双线性插值法进行两倍上采样;
将第一融合特征C1、C2、C3分别与第二融合特征P2、P3、P4通过两倍上采样得到的特征图进行元素相加融合,实现多尺度特征图的融合;
将多尺度特征图融合后的特征经过一层3×3的卷积层进行特征修正后输出。
7.根据权利要求1所述的基于对图输入的PCB裸板缺陷检测方法,其特征在于,所述PCB裸板缺陷检测模型中定位损失函数为改进的CIoU损失函数,具体表达式为:
其中A表示预测框,B表示真值框,IoU(A,B)表示预测框和真值框的交并比值,Actr表示预测框的中心点,Bctr表示真值框的中心点,ρ2(Actr,Bctr)表示预测框和真值框中心点的欧氏距离,c表示能够包围预测框和真值框的最小矩形框的对角线长度,β表示长宽比和中心点距离的惩罚因子,w表示预测矩形框的宽,h表示预测矩形框的高,wgt表示真值矩形框的宽,hgt表示真值矩形框的高;
所述PCB裸板缺陷检测模型中定位分支采用的分类损失函数具体表示式为:
其中pi表示第i类目标正样本的概率,αi表示控制第i类正负样本平衡的超参数,γ表示控制分类难易样本的平衡因子。
8.一种基于对图输入的PCB裸板缺陷检测装置,其特征在于,所述装置包括:
PCB裸板缺陷检测模型构建单元,用于构建基于对图输入的PCB裸板缺陷检测模型,所述PCB裸板缺陷检测模型包括孪生主干网络、特征修正模块、多尺度模板图特征融合网络和检测头,所述孪生主干网络用于提取输入的PCB板产品图和模板图特征,所述特征修正模块用于对产品特征图和模板特征图进行空间域对齐修正;所述多尺度模板图特征融合网络用于融合修正后的产品特征图和模板特征图,所述检测头用于对融合后的特征图进行检测并输出结果;
PCB裸板缺陷检测模型训练单元,用于利用产品图和模板图数据集训练所述PCB裸板缺陷检测模型;
检测单元,用于将PCB板待检测产品图和模板图输入到训练好的所述PCB裸板缺陷检测模型中,即可输出检测结果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1和7任一项所述基于对图输入的PCB裸板缺陷检测方法的步骤。
10.一种非临时计算机可读存储介质,所述存储介质上存储有计算机指令,其特征在于,所述指令被处理器执行时实现如权利要求1和7任一项所述基于对图输入的PCB裸板缺陷检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410212152.1A CN118229625A (zh) | 2024-02-27 | 2024-02-27 | 基于对图输入的pcb裸板缺陷检测方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410212152.1A CN118229625A (zh) | 2024-02-27 | 2024-02-27 | 基于对图输入的pcb裸板缺陷检测方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118229625A true CN118229625A (zh) | 2024-06-21 |
Family
ID=91513137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410212152.1A Pending CN118229625A (zh) | 2024-02-27 | 2024-02-27 | 基于对图输入的pcb裸板缺陷检测方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118229625A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118657177A (zh) * | 2024-08-13 | 2024-09-17 | 昆明理工大学 | 基于IEC61499标准的电路板缺陷识别Transformer网络分布式推理方法 |
-
2024
- 2024-02-27 CN CN202410212152.1A patent/CN118229625A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118657177A (zh) * | 2024-08-13 | 2024-09-17 | 昆明理工大学 | 基于IEC61499标准的电路板缺陷识别Transformer网络分布式推理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu et al. | Multi-scale adversarial network for underwater image restoration | |
CN115331087B (zh) | 融合区域语义与像素特征的遥感影像变化检测方法及系统 | |
CN110991560A (zh) | 一种结合上下文信息的目标检测方法及系统 | |
CN111768415A (zh) | 一种无量化池化的图像实例分割方法 | |
CN117557784B (zh) | 目标检测方法、装置、电子设备及存储介质 | |
CN118154603B (zh) | 基于级联多层特征融合网络的显示屏缺陷检测方法及系统 | |
CN114972312A (zh) | 基于YOLOv4-Tiny改进的绝缘子缺陷检测方法 | |
CN118229625A (zh) | 基于对图输入的pcb裸板缺陷检测方法及相关设备 | |
CN114331946A (zh) | 一种图像数据处理方法、设备以及介质 | |
CN116912541A (zh) | 模型训练及图像检测方法、装置、电子设备及存储介质 | |
CN114037666B (zh) | 一种数据集扩充和阴影图像分类辅助的阴影检测方法 | |
CN116129417A (zh) | 一种基于低质量图像的数字仪表读数检测方法 | |
CN116363064A (zh) | 融合目标检测模型和图像分割模型的缺陷识别方法及装置 | |
CN112598043A (zh) | 一种基于弱监督学习的协同显著性检测方法 | |
CN111915599A (zh) | 一种基于边界感知的火焰显著性检测方法 | |
CN111985535A (zh) | 一种通过神经网络优化人体深度图的方法及其装置 | |
CN116993653B (zh) | 相机镜头缺陷检测方法、装置、设备、存储介质及产品 | |
CN117274817B (zh) | 裂缝自动化识别方法、装置、终端设备及存储介质 | |
Huangfu et al. | A robust feature matching algorithm based on adaptive feature fusion combined with image superresolution reconstruction | |
CN117197134B (zh) | 缺陷检测方法、装置、设备及存储介质 | |
CN111862098A (zh) | 基于光场语义的个体匹配方法、装置、设备和介质 | |
CN117953545B (zh) | 基于彩色图像的三维手部姿态估计方法、装置及处理设备 | |
CN114581806B (zh) | 一种基于主干边缘特征提取的工业零件空载率计算方法 | |
Zhao et al. | CoGANet: Co-Guided Attention Network for Salient Object Detection | |
Wu et al. | FHFN: content and context feature hierarchical fusion networks for multi-focus image fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |