CN116523885A - 一种基于多尺度融合及深度学习的pcb缺陷检测方法 - Google Patents
一种基于多尺度融合及深度学习的pcb缺陷检测方法 Download PDFInfo
- Publication number
- CN116523885A CN116523885A CN202310507925.4A CN202310507925A CN116523885A CN 116523885 A CN116523885 A CN 116523885A CN 202310507925 A CN202310507925 A CN 202310507925A CN 116523885 A CN116523885 A CN 116523885A
- Authority
- CN
- China
- Prior art keywords
- pcb
- defect detection
- model
- swin
- feature
- 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 89
- 238000001514 detection method Methods 0.000 title claims abstract description 78
- 230000004927 fusion Effects 0.000 title claims abstract description 30
- 238000013135 deep learning Methods 0.000 title claims abstract description 14
- 238000012549 training Methods 0.000 claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000012795 verification Methods 0.000 claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 10
- 238000000605 extraction Methods 0.000 claims description 12
- 230000002950 deficient Effects 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 6
- 101001014572 Homo sapiens MARCKS-related protein Proteins 0.000 claims description 5
- 102100028162 ATP-binding cassette sub-family C member 3 Human genes 0.000 claims description 4
- 102100028187 ATP-binding cassette sub-family C member 6 Human genes 0.000 claims description 4
- 101000986633 Homo sapiens ATP-binding cassette sub-family C member 3 Proteins 0.000 claims description 4
- 101000986621 Homo sapiens ATP-binding cassette sub-family C member 6 Proteins 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000011478 gradient descent method Methods 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 abstract 1
- 230000006872 improvement Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 229910052802 copper Inorganic materials 0.000 description 3
- 239000010949 copper Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 102100032514 MARCKS-related protein Human genes 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000003704 image resize Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000010200 validation analysis 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/045—Combinations of networks
-
- 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/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于多尺度融合及深度学习的PCB缺陷检测方法,该方法首先采集了大量多类别的PCB缺陷图像,同时准备同数量的正常PCB图像;然后对采集到的图像做处理和标注,并将数据划分为训练集、测试集和验证集;使用以Swin Transformer为骨干网络结合特征融合模块的Faster RCNN,并进行模型训练和模型测试,并将模型用于实际产出。和传统的PCB缺陷检测算法不同,本发明使用基于多尺度融合的深度学习技术,解决了PCB检测中小目标缺陷检测精度不高、检测性能不足的问题。
Description
技术领域
本发明属于PCB板缺陷检测技术领域,具体涉及一种基于多尺度融合及深度学习的PCB缺陷检测方法。
背景技术
PCB板(Printed Circuit Board,印制电路板)缺陷检测一直以来都是工业计算机视觉质量检测领域一项具有挑战性的任务;在工业生产过程中,由于各方面的原因,会导致PCB板出现不同类型不同程度的缺陷。截至目前,工业领域对PCB板缺陷的检测方法,虽然已经逐渐从人工检验替换成机器校验,但是大多数检验技术依托于传统机器视觉技术,在很多场景类似光线不良、板材翘边的情况下,会出现缺陷识别误检漏检的情况;因此在很多时候仍然需要人工作二次校验,虽然这样可以将真正存在缺陷的和误检成缺陷的PCB板筛选出来,但是随着生产速率的提升,这种方式将限制生产产能的提升。
常见的缺陷检测方法就是使用机器视觉,使用若干工业相机呈矩阵布置,对PCB进行图形学和光学层面的操作,采用小波变换、图形轮廓提取的方法进行缺陷检测,例如公开号为CN216411098U的中国专利申请中就使用了机器视觉技术,构建摄像阵列来采集图像并通过机器视觉方法进行PCB缺陷检测,这些方法确实可以提升检测的效率和检测的效果,但是上述提到的问题仍然没有办法解决。
当前,有一些工厂企业尝试用深度学习的方法去进行PCB板缺陷检测,因为深度学习是由传统神经网络发展来的具有强大拟合能力和泛化能力的分析模型,它可以自动且有效的对PCB板的特征进行分析提取,学习PCB板的特征,在大量和多类型的数据的训练下,模型能够在克服各种干扰和噪音的同时能更准确的检验出PCB板的缺陷,有效的提高PCB板的产能。但是市面上针对PCB板缺陷检测的深度学习较为基础,使用的检测模型比较简单,较为常见的检测模型有YOLO、MobileNet等模型,例如公开号为CN113538375A的中国专利申请使用的就是YOLO模型来进行PCB缺陷检测,该类模型特征提取较为简单,很多关键特征会没法提取到,此外这些模型没有融合多个尺度的信息,对小目标缺陷的检测存在一定程度的缺漏,总体来说这些模型的检测性能不足。
发明内容
鉴于上述,本发明提出了一种基于多尺度融合及深度学习的PCB缺陷检测方法,通过将Faster RCNN与Swin Transformer进行多尺度特征融合,从而训练出对PCB板缺陷检测性能更优异,对小目标缺陷检测更敏感的深度神经网络模型,使得缺陷检测性能得到提升,小目标缺陷检出率更高,增强缺陷识别的精度。
一种基于多尺度融合及深度学习的PCB缺陷检测方法,包括如下步骤:
(1)采集大量PCB图像作为数据集;
(2)对数据集中的PCB图像进行裁剪,并筛选出正样本和负样本;
(3)对负样本进行标注,并将所有样本划分成训练集、验证集和测试集;
(4)构建基于Faster RCNN网络架构的PCB缺陷检测模型;
(5)利用训练集样本及其标签对PCB缺陷检测模型进行训练;
(6)将测试集样本输入至训练好的模型中,即可检测出对应的PCB图像是否存在缺陷以及缺陷的位置和类别。
进一步地,所述步骤(1)中将采集到的PCB图像通过二值化转化成位图的形式。
进一步地,所述步骤(2)中首先将数据集中的PCB图像裁剪成640×640的尺寸大小,然后从数据集中筛选出一定数量存在缺陷的PCB图像作为负样本,同样数量没有缺陷的PCB图像作为正样本,且保证负样本中每类缺陷的PCB图像的数量相同。
进一步地,所述步骤(3)中对于存在缺陷的PCB图像即负样本进行标注,标注信息包括缺陷类别以及缺陷目标框的坐标信息,进而将存在缺陷的PCB图像及其标注信息打包生成XML格式的文件并保存。
进一步地,所述PCB缺陷检测模型基于Faster RCNN网络架构,该网络架构中的主干特征提取网络Backbone由Patch Embedding模块和Swin Transformer网络连接组成。
进一步地,所述Patch Embedding模块首先resize输入PCB图像的尺寸大小,然后将PCB图像等距离切分成4个patch,并将4个patch沿通道维度进行拼接整合成特征图,最后将该特征图通过卷积的方式使其通道数翻倍后输出给Swin Transformer网络。
进一步地,所述Swin Transformer网络由四个stage级联组成,前三个stage由Swin Transformer Block和Patch Merging连接组成,最后一个stage单独由SwinTransformer Block组成,Patch Merging则在相邻stage之间采用下采样方法使特征图的尺寸大小逐级减半。
进一步地,所述Swin Transformer Block由层归一化LN1、窗口自注意力机制层W-MSA、层归一化LN2、多层感知器MLP1、层归一化LN3、转换窗口自注意力机制层SW-MSA、层归一化LN3、多层感知器MLP2依次连接组成,其中LN1的输入与W-MSA的输出叠加后作为LN2的输入,LN2的输入与MLP1的输出叠加后作为LN3的输入,LN3的输入与SW-MSA的输出叠加后作为LN4的输入,LN4的输入与MLP2的输出叠加后作为Swin Transformer Block最终的输出。
进一步地,所述Swin Transformer网络与Faster RCNN网络架构中的RPN网络(Region Proposal Network,区域提议网络)之间建立特征融合机制,即将SwinTransformer网络中每个stage输出的特征图进行特征融合,利用最邻近插值法对底层特征图进行2倍上采样,使其与上层特征图尺寸相匹配后进行特征融合,最后在RPN网络中根据不同特征图的尺寸分配不同尺度的anchor。
进一步地,所述步骤(5)的具体实现方式如下:
5.1初始化模型参数,包括每一层的偏置向量和权值矩阵、学习率以及优化器;
5.2将训练集样本输入至模型,模型正向传播输出得到对应的检测结果,计算检测结果与标签之间的损失函数;
5.3根据损失函数利用优化器通过梯度下降法对模型参数不断迭代更新,直至损失函数收敛,训练完成;
5.4在完成训练后,利用验证集样本对模型进行验证,将在验证集上表现最好的模型作为最终的PCB缺陷检测模型。
本发明使用Swin Transformer作为主干特征提取网络,解决CNN网络特征提取不充分的问题,增强了网络的鲁棒性;通过增加特征融合模块,引入金字塔结构,解决了小目标检测性能不足的问题,在检测头部使用了ROI Align来替代ROI Pooling消除了取整量化所产生的误差,提升检测框的准确度,解决了PCB检测中小目标缺陷检测精度不高,检测性能不足的问题。相对于现有技术,本发明具有以下优点:
1.和传统的PCB缺陷检测算法不同,本发明使用基于深度学习技术,使用FasterRCNN与Swin Transformer进行多尺度特征融合,从而训练出对PCB板缺陷检测性能更优异,对小目标缺陷检测更敏感的深度神经网络模型。
2.本发明使用基于深度学习技术,能进行模型的部署,能快速的进行工业场景的应用和推进。
附图说明
图1为本发明PCB缺陷检测方法的流程示意图。
图2为本发明模型中主干特征提取网络Backbone的结构示意图。
图3为Swin Transformer Block的结构示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
如图1所示,本发明基于多尺度融合及深度学习的PCB缺陷检测方法,包括如下具体步骤:
步骤S1:采集数据。
本实施方式采用PCB-AOI设备采集PCB板的矢量图,进而通过二值化转换成位图的形式,作为数据集。
步骤S2:数据准备;对数据集内PCB图像进行切割和筛选,先将数据裁成640*640的尺寸,再将存在缺陷的PCB图像从数据集中筛选出来,组成存在缺陷的PCB图像数据集;同时准备和存在缺陷PCB图像数量一样的正常PCB图像作为正常PCB图像数据集。
由于二值化的PCB位图尺寸过大,需要将图像切割成640*640的尺寸;在完成尺寸切割的PCB数据集中挑选出存在开路、短路、杂散、伪铜、缺失孔洞、鼠咬这六类缺陷的PCB缺陷图像,在缺陷图像归类的同时要考虑到不同缺陷类别数据的样本均衡性,保证每一类缺陷的数量都基本相同,然后再从完成尺寸切割的PCB数据集中挑选出和缺陷数据样本数量相同的无缺陷PCB图像作为正常样本数据集。
步骤S3:数据标注;对缺陷PCB图像数据集进行缺陷的标注,标注信息包含缺陷检测框坐标信息和缺陷类别,标注信息最终形成XML格式的缺陷标注数据集和TXT格式的缺陷标注数据集。
本实施方式请PCB厂内专家使用标注工具对缺陷进行检测框标注并生成XML格式的缺陷标注数据集,在XML格式的文件中包含检测框的PCB图像信息、坐标信息、检测框长宽信息和缺陷类别信息,并将XML文件中的标注信息读取出来并写入TXT文件中。
步骤S4:数据划分;将数据集分类成训练集、验证集和测试集。
本实施方式将缺陷数据和正常数据以及与其对应的标注数据,划分成训练集、测试集和验证集,划分比例是7:2:1。
步骤S5:模型训练;构建PCB缺陷检测模型,使用步骤S4中的训练集对模型进行训练,通过模型训练和优化得到缺陷检测效果最优模型。
本发明PCB缺陷检测模型是基于Swin Transformer改进的Faster RCNN网络架构,该网络架构由主干特征提取网络Backbone、特征融合模块、RPN网络以及检测头部四个部分组成,其中:
主干特征提取网络Backbone为Swin Transformer,是一个由Patch Embedding连接三个由Swin Transformer Block和Patch merging组成的stage1~stage3和单独由SwinTransformer Block组成的stage4组成的。
特征融合模块将Swin Transformer每个Stage产生的特征图,将特征图尺寸和上一级的特征图对齐,进行相加融合操作,产生新的特征图通过RPN对每个层级的特征图放置一种尺寸的anchor,生成一种尺度的检测框。
RPN网络采用移动窗口机制,将特征图上的每个点作为中心,生成多个比例不同的anchor,然后用监督信息计算anchor是否包含检测信息并归类,然后分别对结果进行分类和回归学习。
检测头部采用ROI Align替代Faster RCNN原本的ROI Pooling,遍历候选框时对候选框的浮点数边界不做量化取整,同时将候选框切割成M×M个单元时对边界也不做量化取整。
本发明建立以Swin Transformer作为Faster RCNN网络的主干特征提取网络Backbone,具体结构如图2所示,先将PCB图像resize为224×224尺寸,主干提取先通过Patch Embedding模块将resize后的PCB图像切分成小的patch后重组,并通过使用卷积方式调整提取到的特征图的通道数channel;Patch Embedding模块中输入图像是224×224×1的灰度图像,将输入图像等距离切割成4块,然后将处理后的图像块随着通道channel维度进行拼接,将图片重新整合成56×56×16的特征图,最后将特征图的通道channel通过卷积的方式转化成32通道数,使得最终特征图为56×56×32送入Swin Transformer后续网络进行特征提取。
Swin Transformer后续网络共四个stage,前三个stage(stag1、stag2、stage3)每一个stage都是由Swin Transformer Block和Patch Merging组成,stage4单独由SwinTransformer Block组成。如图3所示,Swin Transformer Block包含窗口自注意力机制层W-MSA、转换窗口自注意力机制层SW-MSA、层归一化LN和多层感知器MLP;Patch Merging是相邻stage之间所采用的下采样方法,特征图从stage1到stage4的图像特征提取,图像尺寸从56×56×32转化成28×28×64再到14×14×128,到stage4输出特征图尺寸为7×7×256。
此外,本发明将Swin Transformer与Faster RCNN的RPN网络之间建立特征融合模块网络,将Swin Transformer每个stage输出的特征图进行特征融合,即利用最邻近插值法对底层特征图进行2倍上采样,让其与上层特征图尺寸相匹配然后进行特征融合,每层融合后产生新的特征图P1、P2、P3、P4、P5,最后在RPN网络中根据不同特征图的寸尺分配不同尺度的anchor。
本发明结合了Swin Transformer和特征融合模块的Faster RCNN,通过PCB图像进行模型训练,根据模型结果,适当增加伪铜数据的数量以提高伪铜缺陷的检出性能;对缺陷检测网络训练,每个epoch计算mAP(平均准确率),选取所有epoch中mAP最高的模型作为最终模型。
步骤S6:模型产出;将步骤S5训练得到的模型用于实际测试,即将训练得到的最佳性能模型封装后在现实生产环境中测试。
相较于baseline的Faster RCNN,本发明结合了Swin Transformer和特征融合模块的Faster RCNN不论是mAP还是各类缺陷的检测都有一定幅度的提升,下表是在当前数据集内使用两种模型检测的效果对比。
表1
可以看出结合了Swin Transformer和特征融合模块的Faster RCNN性能比普通的Faster RCNN更好,在鼠咬和杂散这类小目标较多的缺陷上,检测性能更加优异,尽管Faster RCNN已经能做到较好的检测结果,但是结合了Swin Transformer和特征融合模块的Faster RCNN做出的性能提升能更有效的进行PCB缺陷检测。
上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明,熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
Claims (10)
1.一种基于多尺度融合及深度学习的PCB缺陷检测方法,包括如下步骤:
(1)采集大量PCB图像作为数据集;
(2)对数据集中的PCB图像进行裁剪,并筛选出正样本和负样本;
(3)对负样本进行标注,并将所有样本划分成训练集、验证集和测试集;
(4)构建基于Faster RCNN网络架构的PCB缺陷检测模型;
(5)利用训练集样本及其标签对PCB缺陷检测模型进行训练;
(6)将测试集样本输入至训练好的模型中,即可检测出对应的PCB图像是否存在缺陷以及缺陷的位置和类别。
2.根据权利要求1所述的PCB缺陷检测方法,其特征在于:所述步骤(1)中将采集到的PCB图像通过二值化转化成位图的形式。
3.根据权利要求1所述的PCB缺陷检测方法,其特征在于:所述步骤(2)中首先将数据集中的PCB图像裁剪成640×640的尺寸大小,然后从数据集中筛选出一定数量存在缺陷的PCB图像作为负样本,同样数量没有缺陷的PCB图像作为正样本,且保证负样本中每类缺陷的PCB图像的数量相同。
4.根据权利要求1所述的PCB缺陷检测方法,其特征在于:所述步骤(3)中对于存在缺陷的PCB图像即负样本进行标注,标注信息包括缺陷类别以及缺陷目标框的坐标信息,进而将存在缺陷的PCB图像及其标注信息打包生成XML格式的文件并保存。
5.根据权利要求1所述的PCB缺陷检测方法,其特征在于:所述PCB缺陷检测模型基于Faster RCNN网络架构,该网络架构中的主干特征提取网络Backbone由Patch Embedding模块和Swin Transformer网络连接组成。
6.根据权利要求5所述的PCB缺陷检测方法,其特征在于:所述Patch Embedding模块首先resize输入PCB图像的尺寸大小,然后将PCB图像等距离切分成4个patch,并将4个patch沿通道维度进行拼接整合成特征图,最后将该特征图通过卷积的方式使其通道数翻倍后输出给Swin Transformer网络。
7.根据权利要求5所述的PCB缺陷检测方法,其特征在于:所述Swin Transformer网络由四个stage级联组成,前三个stage由Swin Transformer Block和Patch Merging连接组成,最后一个stage单独由Swin Transformer Block组成,Patch Merging则在相邻stage之间采用下采样方法使特征图的尺寸大小逐级减半。
8.根据权利要求7所述的PCB缺陷检测方法,其特征在于:所述Swin TransformerBlock由层归一化LN1、窗口自注意力机制层W-MSA、层归一化LN2、多层感知器MLP1、层归一化LN3、转换窗口自注意力机制层SW-MSA、层归一化LN3、多层感知器MLP2依次连接组成,其中LN1的输入与W-MSA的输出叠加后作为LN2的输入,LN2的输入与MLP1的输出叠加后作为LN3的输入,LN3的输入与SW-MSA的输出叠加后作为LN4的输入,LN4的输入与MLP2的输出叠加后作为Swin Transformer Block最终的输出。
9.根据权利要求7所述的PCB缺陷检测方法,其特征在于:所述Swin Transformer网络与Faster RCNN网络架构中的RPN网络之间建立特征融合机制,即将Swin Transformer网络中每个stage输出的特征图进行特征融合,利用最邻近插值法对底层特征图进行2倍上采样,使其与上层特征图尺寸相匹配后进行特征融合,最后在RPN网络中根据不同特征图的尺寸分配不同尺度的anchor。
10.根据权利要求1所述的PCB缺陷检测方法,其特征在于:所述步骤(5)的具体实现方式如下:
5.1初始化模型参数,包括每一层的偏置向量和权值矩阵、学习率以及优化器;
5.2将训练集样本输入至模型,模型正向传播输出得到对应的检测结果,计算检测结果与标签之间的损失函数;
5.3根据损失函数利用优化器通过梯度下降法对模型参数不断迭代更新,直至损失函数收敛,训练完成;
5.4在完成训练后,利用验证集样本对模型进行验证,将在验证集上表现最好的模型作为最终的PCB缺陷检测模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310507925.4A CN116523885A (zh) | 2023-05-08 | 2023-05-08 | 一种基于多尺度融合及深度学习的pcb缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310507925.4A CN116523885A (zh) | 2023-05-08 | 2023-05-08 | 一种基于多尺度融合及深度学习的pcb缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116523885A true CN116523885A (zh) | 2023-08-01 |
Family
ID=87407881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310507925.4A Pending CN116523885A (zh) | 2023-05-08 | 2023-05-08 | 一种基于多尺度融合及深度学习的pcb缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116523885A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777905A (zh) * | 2023-08-16 | 2023-09-19 | 厦门微亚智能科技股份有限公司 | 基于长尾分布数据的智能工业旋转检测方法及*** |
CN117541554A (zh) * | 2023-11-15 | 2024-02-09 | 江西理工大学 | 一种基于深度学习的表面缺陷检测方法 |
-
2023
- 2023-05-08 CN CN202310507925.4A patent/CN116523885A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116777905A (zh) * | 2023-08-16 | 2023-09-19 | 厦门微亚智能科技股份有限公司 | 基于长尾分布数据的智能工业旋转检测方法及*** |
CN116777905B (zh) * | 2023-08-16 | 2023-12-08 | 厦门微亚智能科技股份有限公司 | 基于长尾分布数据的智能工业旋转检测方法及*** |
CN117541554A (zh) * | 2023-11-15 | 2024-02-09 | 江西理工大学 | 一种基于深度学习的表面缺陷检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Doshi et al. | Road damage detection using deep ensemble learning | |
KR102166458B1 (ko) | 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치 | |
CN111368690B (zh) | 基于深度学习的海浪影响下视频图像船只检测方法及*** | |
CN116523885A (zh) | 一种基于多尺度融合及深度学习的pcb缺陷检测方法 | |
JP2020126601A (ja) | 不良検知方法および不良検知装置 | |
CN114399672A (zh) | 一种基于深度学习的铁路货车闸瓦故障检测方法 | |
CN115830471B (zh) | 一种多尺度特征融合和对齐的域自适应云检测方法 | |
CN114495029A (zh) | 一种基于改进YOLOv4的交通目标检测方法及*** | |
CN113610070A (zh) | 一种基于多源数据融合的滑坡灾害识别方法 | |
CN114120361A (zh) | 一种基于编解码结构的人群计数定位方法 | |
CN116385958A (zh) | 一种用于电网巡检和监控的边缘智能检测方法 | |
CN112288700A (zh) | 一种铁轨缺陷检测方法 | |
CN116071315A (zh) | 一种基于机器视觉的产品可视缺陷检测方法及*** | |
CN117540779A (zh) | 一种基于双源知识蒸馏的轻量化金属表面缺陷检测方法 | |
Chu et al. | Deep learning method to detect the road cracks and potholes for smart cities | |
Manninen et al. | Multi-stage deep learning networks for automated assessment of electricity transmission infrastructure using fly-by images | |
CN111881914B (zh) | 一种基于自学习阈值的车牌字符分割方法及*** | |
CN113506281A (zh) | 一种基于深度学习框架的桥梁裂缝检测方法 | |
CN117372876A (zh) | 一种多任务遥感影像道路损毁评估方法及*** | |
CN117523394A (zh) | 一种基于聚合特征增强网络的sar船舰检测方法 | |
CN116994161A (zh) | 一种基于改进YOLOv5的绝缘子缺陷检测方法 | |
CN113487550B (zh) | 一种基于改进激活函数的目标检测方法及装置 | |
CN115690001A (zh) | 一种用于检测钢管焊接数字射线图像中缺陷的方法 | |
CN113888604A (zh) | 一种基于深度光流的目标跟踪方法 | |
CN113642473A (zh) | 一种基于计算机视觉的矿下煤机状态识别方法 |
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 |