CN111583187B - 一种基于cnn可视化的pcb电路板缺陷检测方法 - Google Patents
一种基于cnn可视化的pcb电路板缺陷检测方法 Download PDFInfo
- Publication number
- CN111583187B CN111583187B CN202010291461.4A CN202010291461A CN111583187B CN 111583187 B CN111583187 B CN 111583187B CN 202010291461 A CN202010291461 A CN 202010291461A CN 111583187 B CN111583187 B CN 111583187B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- pcb
- cnn
- visualization
- 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.)
- Active
Links
- 230000007547 defect Effects 0.000 title claims abstract description 56
- 238000012800 visualization Methods 0.000 title claims abstract description 35
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 44
- 238000010586 diagram Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000000007 visual effect Effects 0.000 claims abstract description 18
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 14
- 238000002372 labelling Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 210000002569 neuron Anatomy 0.000 claims description 8
- 230000004913 activation Effects 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims 1
- 238000013461 design Methods 0.000 claims 1
- 230000001537 neural effect Effects 0.000 claims 1
- 241000282326 Felis catus Species 0.000 description 7
- 230000002950 deficient Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 241000204992 Leopardus tigrinus Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007794 visualization technique 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于CNN可视化的PCB电路板缺陷检测方法,克服了卷积神经网络可解释性差的问题,利用CNN模型结合其模型可视化来修正训练数据误差,检查模型类别定位的准确性来提高缺陷检测的精度。描述通过卷积神经网络对采集到的PCB电路板图像数据进行训练,然后通过Grad‑CAM类别定位热力图来对可视化模型的预测的依据是否正确,同时可以检测预测错误的数据错误的原因,然后对数据进行调整,减少训练集的误差,从而达到提高数据集的精度。
Description
技术领域
本发明涉及深度学习计算机视觉技术领域,尤其涉及一种基于CNN可视化的PCB电路板缺陷检测方法。
背景技术
在很长一段时间内,CNN虽然效果显著但却饱受争议,根源在于其可解释性较差,到底神经网络是如何产生这个结果的?特别是当神经网络的层数较多时,可解释性非常差,深度神经网络的工作原理没有办法用文字进行描述,因此,在卷积可视化出现前,一直被当做是“黑匣子”。但是现实情况是我们用户或者终端需要可解释性,因此,便衍生出了卷积可视化的研究领域。
而Grad-CAM(Gradient-weighted Class Activation Mapping)这一方法可以使得CNN模型具有解释性和透明性,通过计算神经元重要性权重,然后求出对应特征图的加权和,上采样后叠加在原图上就能获得类别定位热力图,可以看出模型重点通过哪些像素来进行预测类别。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于CNN可视化的PCB电路板缺陷检测方法。
本发明的目的通过下述技术方案实现:
一种基于CNN可视化的PCB电路板缺陷检测方法,该检测方法主要包括如下具体步骤:
步骤S1:PCB电路板缺陷图像和正常图像的采集,然后制作待训练使用的训练和验证数据集{(TrainX1,TrainY1)、(TestX1,TestY1)};
步骤S2:构建PCB电路板缺陷检测识别模型,并利用步骤S1制作的数据集进行电路板缺陷的学习,得到初步的识别模型Model1;
步骤S3:计算设计CNN可视化模型(MapModel),通过计算神经元重要性权重wk,然后求出对应特征图的加权和,上采样后叠加在原图上就能获得类别定位热力图;
步骤S4:检查原始图像数据通过CNN可视化模型(MapModel)生成的类别定位热力图,查看清楚是否模型训练过程中,定位的特征像素是否存在错误或者偏差;
步骤S5:根据步骤S4总结的定位出错原因,对数据进行调整;
步骤S6,将调整厚度的数据集输入到ResNet18中进行重新训练,重复步骤S2,最后得到精度更高的PCB电路板缺陷识别模型Model2。
作为本发明的优选方案,所述步骤S5中,如果因为数据的偏差影响了模型的精度,则增加较少类别的数据图像,消除数据的偏差提高数据的精度,然后重新整理出调整后的数据集{(TrainX2,TrainY2)、(TestX2,TestY2)};
作为本发明的优选方案,所述步骤S1中,在图像标注中,为了提高数据标注的效率,设计一个专用的标注界面,通过鼠标勾选数据的类型,实现自动放到对应的标签文件夹下面。
作为本发明的优选方案,所述步骤S2中,所述PCB电路板缺陷识别模型采用ResNet18网络。
作为本发明的优选方案,所述步骤S2中,在模型训练中,通过pytorch框架下的数据增强函数的应用,增加图像的几何变换操作。
作为本发明的优选方案,所述机和变换操作包括:对图片进行随机的水平和竖直翻转,获得更多的训练数据,让模型参数迭代更多次,以获得精度更高的模型。
本发明的工作过程和原理是:本发明公开了一种基于CNN可视化的PCB电路板缺陷检测方法,克服了卷积神经网络可解释性差的问题,利用CNN模型结合其模型可视化来修正训练数据误差,检查模型类别定位的准确性来提高缺陷检测的精度。描述通过卷积神经网络对采集到的PCB电路板图像数据进行训练,然后通过Grad-CAM类别定位热力图来对可视化模型的预测的依据是否正确,同时可以检测预测错误的数据错误的原因,然后对数据进行调整,减少训练集的误差,从而达到提高数据集的精度。
与现有技术相比,本发明还具有以下优点:
(1)本发明所提供的基于CNN可视化的PCB电路板缺陷检测方法利用了一种新颖的类别判别定位技术-梯度加权类激活映射(Grad-CAM)-通过生成视觉解释来使任何基于CNN的模型,并使其更加透明。
(2)本发明所提供的基于CNN可视化的PCB电路板缺陷检测方法采用Grad-CAM定位与现有的高分辨率可视化相结合的方式,以获得高分辨率的类别判别式引导渐变CAM可视化。
(3)本发明所提供的基于CNN可视化的PCB电路板缺陷检测方法的可视化在两个方面都优于所有现有的方法:可解释性和对原始模型的忠实度。
(4)本发明所提供的基于CNN可视化的PCB电路板缺陷检测方法将Grad-CAM应用到了PCB电路板缺陷的识别任务中,帮助确认该分类器的置信程度,它可以为可能的模型决策提供可信的视觉解释,同时,可以帮助检验数据集的平衡性,因为训练数据的好坏直接决定了分类器的精度的高低,而Grad-CAM可以追根溯源的找到模型学习到的像素依据,解决模型在训练时,接收的因数据偏差而导致的精度下降,从而提高模型的泛化性
附图说明
图1是本发明所提供的CNN可视化热力图生成流程示意图。
图2是本发明所提供的特征图加权组合示意图。
图3是本发明所提供的ResNet18网络结构示意图。
图4是本发明所提供的PCB电路板标定软件界面示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明作进一步说明。
实施例1:
如图1至图4所示,本实施例公开了一种基于CNN可视化的PCB电路板缺陷检测方法,该检测方法主要包括如下具体步骤:
步骤S1:PCB电路板缺陷图像和正常图像的采集,然后制作待训练使用的训练和验证数据集{(TrainX1,TrainY1)、(TestX1,TestY1)};
步骤S2:构建PCB电路板缺陷检测识别模型,并利用步骤S1制作的数据集进行电路板缺陷的学习,得到初步的识别模型Model1;
步骤S3:计算设计CNN可视化模型(MapModel),通过计算神经元重要性权重wk,然后求出对应特征图的加权和,上采样后叠加在原图上就能获得类别定位热力图;
步骤S4:检查原始图像数据通过CNN可视化模型(MapModel)生成的类别定位热力图,查看清楚是否模型训练过程中,定位的特征像素是否存在错误或者偏差;
步骤S5:根据步骤S4总结的定位出错原因,对数据进行调整;
步骤S6,将调整厚度的数据集输入到ResNet18中进行重新训练,重复步骤S2,最后得到精度更高的PCB电路板缺陷识别模型Model2。
作为本发明的优选方案,所述步骤S5中,如果因为数据的偏差影响了模型的精度,则增加较少类别的数据图像,消除数据的偏差提高数据的精度,然后重新整理出调整后的数据集{(TrainX2,TrainY2)、(TestX2,TestY2)};
作为本发明的优选方案,所述步骤S1中,在图像标注中,为了提高数据标注的效率,设计一个专用的标注界面,通过鼠标勾选数据的类型,实现自动放到对应的标签文件夹下面。
作为本发明的优选方案,所述步骤S2中,所述PCB电路板缺陷识别模型采用ResNet18网络。
作为本发明的优选方案,所述步骤S2中,在模型训练中,通过pytorch框架下的数据增强函数的应用,增加图像的几何变换操作。
作为本发明的优选方案,所述机和变换操作包括:对图片进行随机的水平和竖直翻转,获得更多的训练数据,让模型参数迭代更多次,以获得精度更高的模型。
本发明的工作过程和原理是:本发明公开了一种基于CNN可视化的PCB电路板缺陷检测方法,克服了卷积神经网络可解释性差的问题,利用CNN模型结合其模型可视化来修正训练数据误差,检查模型类别定位的准确性来提高缺陷检测的精度。描述通过卷积神经网络对采集到的PCB电路板图像数据进行训练,然后通过Grad-CAM类别定位热力图来对可视化模型的预测的依据是否正确,同时可以检测预测错误的数据错误的原因,然后对数据进行调整,减少训练集的误差,从而达到提高数据集的精度。
实施例2:
本实施例公开了一种基于基于CNN可视化的PCB电路板缺陷检测方法,包括以下步骤:
步骤S1,PCB电路板缺陷图像和正常图像的采集,然后制作待训练使用的训练和验证数据集{(TrainX1,TrainY1)、(TestX1,TestY1)}。
步骤S2,构建PCB电路板缺陷检测识别模型,并利用步骤S1制作的数据集进行电路板缺陷的学习,得到初步的识别模型Model1。
步骤S3,计算设计CNN可视化模型(MapModel),通过计算神经元重要性权重wk,然后求出对应特征图的加权和,上采样后叠加在原图上就能获得类别定位热力图。
步骤S4,检查原始图像数据通过CNN可视化模型(MapModel)生成的类别定位热力图,查看清楚是否模型训练过程中,定位的特征像素是否存在错误或者偏差。
步骤S5,根据S4总结的定位出错原因,对数据进行调整,例如如果因为数据的偏差影响了模型的精度,然后增加较少类别的数据图像,消除数据的偏差提高数据的精度,然后重新整理出调整后的数据集{(TrainX2,TrainY2)、(TestX2,TestY2)}。
步骤S6,将调整厚度的数据集输入到ResNet18中进行重新训练,重复步骤2,最后得到新,精度更高的的PCB电路板缺陷识别模型Model2。
优选地,在步骤S1中图像标注中,我们为了数据标注的效率,设计了一个专用的标注界面,可以鼠标勾选数据的类型,自动放到对应的标签文件夹下面,界面如图四。
优选地,在步骤2中采用的PCB电路板的识别模型是采用的ResNet18网络,具体的网络结构如图三所示。
由于卷积模型随着网络的层数加深,梯度消失的现象就越明显,所以在后向传播的时候,无法有效的把梯度更新到前面的网络层,靠前的网络层参数无法更新,导致训练和测试效果变差。而残差网络通过增加了一个identity mapping(恒等映射),把当前输出直接传输给下一层网络(全部是1:1传输,不增加额外的参数),相当于走了一个捷径,跳过了本层运算,这个直接连接命名为“skip connection”,同时在后向传播过程中,也是将下一层网络的梯度直接传递给上一层网络,这样解决了深层网络的梯度消失问题,得到的训练模型精度更高。
优选的,在步骤S2中,在模型训练中,通过pytorch框架框架下的数据增强函数的应用,增加图像的几何变换操作,例如对图片进行随机的水平和竖直翻转,获得更多的训练数据,让模型参数迭代更多次,以获得精度更高的模型。
优选地,在步骤S3中,计算设计CNN可视化模型(MapModel),我们引入了一种使用梯度信号组合特征映射的新方法,该方法不需要对网络架构进行任何修改。这使我们的方法可以应用于任何基于CNN的体系结构,模型的概述,给定一个图像和一个目标类(例如,'虎猫'或任何其他类型的可微分输出)作为输入,我们将图像传播通过模型的CNN部分,然后通过特定任务的计算来获得该类别的原始分数。对于所有类,除了所需的类(虎猫)的梯度设置为1,其余的梯度设置为零。然后将该信号反向传播到所关注的整形卷积特征图,其中我们结合起来计算粗糙的Grad-CAM定位(蓝色热力图),它表明了模型需要看哪里去做出精确决定。最后,我们将热力图与导向反向传播逐点相乘,获得高分辨率和特定概念的GuidedGrad-CAM可视化。
为了获得任意类别c的宽度和高度v的类别定位图Grad-CAM,我们首先需要计算类别c的得分梯度,即yc对应卷积层特征映射Ak的梯度,这些梯度以全局平均池化的反馈,获得神经元重要性的权重Wk,计算公式如下:
该权重Wk表示A下游的神经网络的部分线性化,并且捕获目标类别c的特征映射k的重要性,我们执行前向激活图的加权组合,并通过ReLU函数获取,如下公式:
这导致了与卷积特征映射相同的大小的粗略的热力图,我们将ReLU应用于图谱的线性组合,因为只关注对某一种目标类别具有积极影响的特征,即增加像素的强度是为了增加yc,负像素可能属于图像中的其他类。由于这个结果的大小和特征图是一致的,我们需要对它进行上采样,叠加到原图上去,就能可视化显示出PCB电路板缺陷识别模型M1预测某一目标类别的根据是哪些像素,检查有缺陷的特征是否被模型读取学习到。
优选地,在步骤S3中,尽管Grad-CAM可视化具有类别判别能力,并能很好地定位相关图像区域,但它们缺乏像像素空间梯度可视化方法(导向反向传播和反卷积)那样显示细粒度重要性的能力。例如在图一中,Grad-CAM可以轻松定位猫区域;然而,从低分辨率的热力图上看,为什么网络预测这个特殊情况是“猫”还不清楚。为了结合两者的最佳方面,我们通过逐点乘法(首先使用双线性插值对输入图像分辨率进行上采样)将导向反向传播和Grad-CAM可视化融合在一起。图一左下方说明了这种融合。这种可视化既有高分辨率(当目标类别是‘猫',它识别重要的‘猫'的特征,如条纹,尖的耳朵和眼睛)又有类别判别能力(它显示‘猫',但不是‘狗’)。上面用反卷积代替引导反向传播给出了类似的结果,但是我们发现反卷积具有伪像(并且引导反向传播可视化通常较少噪声),所以我们选择了引导反向传播而不是反卷积。
优选的,在步骤S4中,通过步骤S3中构建的卷积可视化模型MAP,可以检测原始数据中,模型是如何学习定位图像类别像素的,在图一中可以看到,当模型通过猫的权重来获得的类别定位激活图,激活图中高亮区域,即模型预测的重要像素特征应该就是和原图中的猫的像素重合。
实施例3:
本实施例公开了一种基于CNN可视化的PCB电路板缺陷检测方法,其特征在于,包括以下实施步骤:
步骤S1,PCB电路板缺陷图像和正常图像的采集,然后制作待训练使用的训练和验证数据集{(TrainX1,TrainY1)、(TestX1,TestY1)}。
步骤S1-1,在实际生产线上利用工业相机进行拍摄采集PCB电路板的整张图片,然后将其分割成224×224像素的小图方便识别小缺陷和模型训练。
步骤S1-2,将分割后的224×224图片进行人工数据标记分类,分成有缺陷的和无缺陷的两类,并且保证数据的平衡性,两类的数据量是1:1,然后将数据按照9:1分成分成两部分,多的数据作为训练集(TrainX1,TrainY1),少的数据作为验证集(TestX1,TestY1)。
步骤S2,构建PCB电路板缺陷检测识别模型,并利用步骤S1制作的数据集进行电路板缺陷的学习,得到初步的识别模型Model1。
步骤S2-1,利用残差神经网络ResNet18,初始化模型的权重值,读取进行训练集数据(TrainX1,TrainY1)进行训练,然后通过验证集(TestX1,TestY1)结合梯度下降法来降低模型预测误差,其中输入层为224×224×3。
步骤S2-2,设置训练动态学习率和训练总回合数,以及模型的的损失函数,以及数据增强类型,优化模型的训练精度。
步骤S2-3,然后训练完成之后导出初步的训练模型,以待后面可视化检测。
步骤S3,计算设计CNN可视化模型(MapModel),通过计算神经元重要性权重wk,然后求出对应特征图的加权和,上采样后叠加在原图上就能获得类别定位热力图。
步骤S3-1,计算两种特征(有缺陷和无缺陷)的神经元重要性权重wk1和wk0,利用公式,用梯度的全局平均来计算权重wk:
步骤S3-2,结合图一,将原始PCB电路板缺陷识别模型Model1,从最后一层卷积提取后改造成如图所示结构,计算的权重就是用于彩色框中的线性组合,图二施展开图。
步骤S3-3,接着我们执行前向激活图的加权组合,并通过ReLU函数来获取,根据公示二计算得到:
这导致了与卷积特征映射相同的大小的粗略的热力图,我们将ReLU应用于图谱的线性组合,因为只关注对某一种目标类别具有积极影响的特征。
步骤S3-4,由于这个结果的大小和特征图是一致的,我们需要对它进行上采样,叠加到原图上去,就能可视化显示出PCB电路板缺陷识别模型M1预测某一目标类别的根据是哪些像素,检查有缺陷的特征是否被模型读取学习到,如果没有,就需要根据缺陷特征和类别定位热力图之间的差别进行调整。
步骤S4,检查原始图像数据通过CNN可视化模型(MapModel)生成的类别定位热力图,查看清楚是否模型训练过程中,定位的特征像素是否存在错误或者偏差。
步骤S4-1,将原始数据集中预测错误的的图像输入到CNN可视化模型(MapModel),然后上采样叠加到原图像上。
步骤S4-2,查看热力图中的高亮区域是否是和人工判定的缺陷区域一致,如果不是,就根据归纳判定错误的原因,找出其干扰因素或者原始数据存在的数据偏差,可能某一类缺陷的数据较少,使得缺陷没有学习到。
步骤S5,根据S4总结的定位出错原因,对数据进行调整,例如如果因为数据的偏差影响了模型的精度,然后增加较少类别的数据图像,消除数据的偏差提高数据的精度,然后重新整理出调整后的数据集{(TrainX2,TrainY2)、(TestX2,TestY2)}。
步骤S6,将调整厚度的数据集输入到ResNet18中进行重新训练,重复步骤2,最后得到新,精度更高的的PCB电路板缺陷识别模型Model2。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (5)
1.一种基于CNN可视化的PCB电路板缺陷检测方法,其特征在于,包括如下步骤:
步骤S1:PCB电路板缺陷图像和正常图像的采集,然后制作待训练使用的训练和验证数据集{(TrainX1,TrainY1)、(TestX1,TestY1)};
步骤S2:构建PCB电路板缺陷检测识别模型,并利用步骤S1制作的数据集进行电路板缺陷的学习,得到初步的识别模型Mode11;
步骤S3:计算设计CNN可视化模型(MapModel),通过计算神经元重要性权重Wk,计算类别c的得分梯度,即yc对应卷积层特征映射Ak的梯度,这些梯度以全局平均池化的反馈,获得神经元重要性的权重Wk,计算公式如下:
该权重Wk表示A下游的神经网络的部分线性化,并且捕获目标类别c的特征映射k的重要性,执行前向激活图的加权组合,并通过ReLU函数获取,如下公式:
然后求出对应特征图的加权和,上采样后叠加在原图上就能获得类别定位热力图Grad-CAM;
步骤S4:检查原始图像数据通过CNN可视化模型(MapModel)生成的类别定位热力图,查看清楚是否模型训练过程中,定位的特征像素是否存在错误或者偏差;
步骤S5:根据步骤S4总结的定位出错原因,对数据进行调整;
步骤S6,将调整厚度的数据集输入到ResNet18中进行重新训练,重复步骤S2,最后得到精度更高的PCB电路板缺陷识别模型Model2;
所述步骤S2中,所述PCB电路板缺陷识别模型采用ResNet18网络。
2.根据权利要求1所述的基于CNN可视化的PCB电路板缺陷检测方法,其特征在于,所述步骤S5中,如果因为数据的偏差影响了模型的精度,则增加较少类别的数据图像,消除数据的偏差提高数据的精度,然后重新整理出调整后的数据集{(TrainX2,TrainY2)、(TestX2,TestY2)}。
3.根据权利要求1所述的基于CNN可视化的PCB电路板缺陷检测方法,其特征在于,所述步骤S1中,在图像标注中,为了提高数据标注的效率,设计一个标注界面,通过鼠标勾选数据的类型,实现自动放到对应的标签文件夹下面。
4.根据权利要求1所述的基于CNN可视化的PCB电路板缺陷检测方法,其特征在于,所述步骤S2中,在模型训练中,通过pytorch框架下的数据增强函数的应用,增加图像的几何变换操作。
5.根据权利要求4所述的基于CNN可视化的PCB电路板缺陷检测方法,其特征在于,所述几何变换操作包括:对图片进行随机的水平和竖直翻转,获得更多的训练数据,让模型参数迭代更多次,以获得精度更高的模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010291461.4A CN111583187B (zh) | 2020-04-14 | 2020-04-14 | 一种基于cnn可视化的pcb电路板缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010291461.4A CN111583187B (zh) | 2020-04-14 | 2020-04-14 | 一种基于cnn可视化的pcb电路板缺陷检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111583187A CN111583187A (zh) | 2020-08-25 |
CN111583187B true CN111583187B (zh) | 2023-11-07 |
Family
ID=72122376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010291461.4A Active CN111583187B (zh) | 2020-04-14 | 2020-04-14 | 一种基于cnn可视化的pcb电路板缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111583187B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651407B (zh) * | 2020-12-31 | 2023-10-20 | 中国人民解放军战略支援部队信息工程大学 | 一种基于区分性反卷积的cnn可视化方法 |
CN113221867A (zh) * | 2021-05-11 | 2021-08-06 | 北京邮电大学 | 一种基于深度学习的pcb图像字符检测方法 |
US20230033187A1 (en) * | 2021-07-28 | 2023-02-02 | Coopervision International Limited | Systems and methods for acquiring and inspecting lens images of ophthalmic lenses |
CN113592832A (zh) * | 2021-08-05 | 2021-11-02 | 深圳职业技术学院 | 一种工业品缺陷检测方法和装置 |
CN114113147B (zh) * | 2021-11-17 | 2024-05-14 | 佛山市南海区广工大数控装备协同创新研究院 | 一种多层pcb叠板信息提取和层次防呆检测方法 |
CN115098089A (zh) * | 2022-05-27 | 2022-09-23 | 东北大学 | 面向卷积神经网络的特征可视化系统及方法 |
CN114896307B (zh) * | 2022-06-30 | 2022-09-27 | 北京航空航天大学杭州创新研究院 | 时间序列数据增强方法、装置和电子设备 |
CN115187821B (zh) * | 2022-07-05 | 2024-03-22 | 阿波罗智能技术(北京)有限公司 | 验证模型转换前后正确性的方法、相关装置及程序产品 |
CN115829005B (zh) * | 2022-12-09 | 2023-06-27 | 之江实验室 | 面向卷积神经分类网络的缺陷自动诊断与修复方法及装置 |
CN116846688B (zh) * | 2023-08-30 | 2023-11-21 | 南京理工大学 | 基于cnn的可解释流量入侵检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222681A (zh) * | 2019-05-31 | 2019-09-10 | 华中科技大学 | 一种基于卷积神经网络的铸件缺陷识别方法 |
CN110598767A (zh) * | 2019-08-29 | 2019-12-20 | 河南省收费还贷高速公路管理有限公司航空港分公司 | 一种基于ssd卷积神经网络的地下排水管道缺陷识别方法 |
CN110992317A (zh) * | 2019-11-19 | 2020-04-10 | 佛山市南海区广工大数控装备协同创新研究院 | 一种基于语义分割的pcb板缺陷检测方法 |
-
2020
- 2020-04-14 CN CN202010291461.4A patent/CN111583187B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222681A (zh) * | 2019-05-31 | 2019-09-10 | 华中科技大学 | 一种基于卷积神经网络的铸件缺陷识别方法 |
CN110598767A (zh) * | 2019-08-29 | 2019-12-20 | 河南省收费还贷高速公路管理有限公司航空港分公司 | 一种基于ssd卷积神经网络的地下排水管道缺陷识别方法 |
CN110992317A (zh) * | 2019-11-19 | 2020-04-10 | 佛山市南海区广工大数控装备协同创新研究院 | 一种基于语义分割的pcb板缺陷检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111583187A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111583187B (zh) | 一种基于cnn可视化的pcb电路板缺陷检测方法 | |
CN110059694B (zh) | 电力行业复杂场景下的文字数据的智能识别方法 | |
CN108830285B (zh) | 一种基于Faster-RCNN的加强学习的目标检测方法 | |
US10930037B2 (en) | Image processing device for displaying object detected from input picture image | |
CN110490212A (zh) | 钼靶影像处理设备、方法和装置 | |
CN110738697A (zh) | 基于深度学习的单目深度估计方法 | |
CN108764247B (zh) | 基于稠密连接的深度学习物体检测方法及装置 | |
CN113920107A (zh) | 一种基于改进yolov5算法的绝缘子破损检测方法 | |
CN113111817B (zh) | 语义分割的人脸完整度度量方法、系统、设备及存储介质 | |
CN111242026B (zh) | 一种基于空间层次感知模块和度量学习的遥感图像目标检测方法 | |
den Bieman et al. | Deep learning video analysis as measurement technique in physical models | |
CN111652864A (zh) | 一种基于条件式生成对抗网络的铸件缺陷图像生成方法 | |
CN111209858A (zh) | 一种基于深度卷积神经网络的实时车牌检测方法 | |
CN110766027A (zh) | 图像的区域定位方法和目标区域定位模型的训练方法 | |
CN111524113A (zh) | 提升链异常识别方法、系统、设备及介质 | |
CN114021704B (zh) | 一种ai神经网络模型的训练方法及相关装置 | |
CN115439694A (zh) | 一种基于深度学习的高精度点云补全方法及装置 | |
CN117372898A (zh) | 一种基于改进yolov8的无人机航拍图像目标检测方法 | |
CN115830449A (zh) | 显式轮廓引导和空间变化上下文增强的遥感目标检测方法 | |
CN113743521B (zh) | 一种基于多尺度上下文感知的目标检测方法 | |
CN113496480A (zh) | 一种焊缝图像缺陷的检测方法 | |
CN114677670B (zh) | 一种身份证篡改自动识别与定位的方法 | |
CN111582057A (zh) | 一种基于局部感受野的人脸验证方法 | |
CN113971764B (zh) | 一种基于改进YOLOv3的遥感图像小目标检测方法 | |
CN116434230A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |