CN113159064A - 基于精简的YOLOv3电路板电子元件目标检测的方法与装置 - Google Patents
基于精简的YOLOv3电路板电子元件目标检测的方法与装置 Download PDFInfo
- Publication number
- CN113159064A CN113159064A CN202110365914.8A CN202110365914A CN113159064A CN 113159064 A CN113159064 A CN 113159064A CN 202110365914 A CN202110365914 A CN 202110365914A CN 113159064 A CN113159064 A CN 113159064A
- Authority
- CN
- China
- Prior art keywords
- training
- detection
- blue
- recognition model
- images
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明提供了基于精简的YOLOv3网络的电路板元件检测方法。通过对少量原始图像按照不同起始点进行预设尺寸截取,获得大量训练样本。采用双模型并联检测模式,一个模型检测蓝色环状电阻,另一个检测电容,然后将两个模型检测结果汇总,采用非极大值抑制法消除冗余检测窗口,该模式解决了原始数据中蓝色环状电阻较多,而电容较少的目标对象数据量不平衡的问题,提高了检测准确率。对训练识别蓝色环状电阻模型的图像进行滤色,保留蓝色部分,突出目标特征,提高了识别准确率。对YOLOv3剪裁,减少权重数量,降低计算成本,提高了检测效率。通过模型自动输出检测目标的类别、位置、尺寸信息,解决了相关AOI设备需要人工制程,标出元件,才能进行缺陷检测的问题。
Description
【技术领域】
本发明涉及人工智能、光学、计算机视觉、自动化控制技术技术领域,尤其涉及一种基于精简的YOLOv3神经网络的电路板电子元件的检测方法、装置、终端及存储介质。
【背景技术】
在工业生产中,通常需要通过AOI(Automated Optical Inspection,自动光学检测设备)对PCB(Print Circle Board,印刷电路板)插件后的电子元件进行检测,如蓝色环状电阻、环状电容、块状电容等,进而判断是否存在插错、极性插反、破损、元件弯角等缺陷。具体的,通常需要先做制程,将AOI拍摄的图片中的电子元件以手动的方式标识出来,然后再将标识好的电子元件从整个PCB板的图像中截取出来,与标准模板库中的电子元件图片进行比对,从而检测出电子元件在插件时是否产生缺陷。然而,以手工方式做制程,大大降低了AOI的检测效率,并且这种方式不适合在线式检测,只适合离线式检测,限制了AOI的检测用途。采用基于深度学习神经网络识别的方法,可以自动对PCB上的电子元件进行分类识别,并且直接输出元件在原图像上的位置和大小。根据上述信息,可自动割出图像,然后匹配,大大提高了检测效率。
相对于传统的图像处理算法,采用基于深度学习神经网络识别的方法不需要进行滤波、二值化、边缘检测、腐蚀、膨胀等技术和设置各种处理参数,对于背景复杂的图像,也能以较高的准确率识别图像中的目标。然而,训练深度学习网络模型通常需要大量的图片,尤其随着网络层数(深度)的增加,所需的图片数量更为巨大。通过大量并且多样化的图片训练出来的模型往往识别的准确率更高,不容易过拟合。但是在工业应用中,通常很难收集大量的PCB图像。此外,即使能够获得大量的PCB图像,对图像上的元件进行标注也需要耗费极大的工作量。
鉴于此,实有必要提供一种基于精简的YOLOv3神经网络的电路板电子元件的检测方法、装置、终端及存储介质以克服上述缺陷。
【发明内容】
本发明的目的是提供一种基于精简的YOLOv3神经网络的电路板电子元件的检测方法、装置、终端及存储介质,旨在解决因PCB图像较少而导致训练出来的神经网络模型识别准确率不高的问题。
为了实现上述目的,本发明第一方面是提供一种基于精简的YOLOv3神经网络的电路板电子元件的检测方法,包括以下步骤:
基于精简的YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型;
收集多个电路板的原始图像,采用多个不同起始点扫描分割的方式对每个原始图像的不同区域按照预设的尺寸进行截取,生成多个新的训练图像;
对所述的蓝色环状电阻识别模型与电容识别模型,分别建立不同的训练数据集。对训练识别蓝色环状电阻的模型所需的训练集,挑选含有蓝色环状电阻的图像;对训练识别电容的模型所需的训练集,挑选含有电容的图像。
采集电路板实时图像并对图像按照预设尺寸进行分割,然后分别输入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,从而分别得到蓝色环状电阻检测框与电容检测框;
在同一所述实时图像上对所述蓝色环状电阻检测框与所述电容检测框进行汇总,采用非极大值抑制法消除冗余的检测窗口,得到对蓝色环状电阻与电容的最终检测结果。
在一个优选实施方式中,在所述基于精简的YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型步骤中包括:
对所述YOLOv3神经网络进行剪裁,只保留13×13×(3×(5+num))和26×26×(3×(5+num))两个不同尺度的输出;其中,num为要识别的物体种类的数量。
在一个优选实施方式中,将所述训练集中的图像分别输入所述蓝色环状电阻识别模型与所述电容识别模型中进行训练步骤中包括:
对输入所述蓝色环状电阻识别模型的所述训练集中的所述训练图像进行颜色过滤,保留所述训练图像中的蓝色部分。
在一个优选实施方式中,将所述训练集中的图像分别输入所述蓝色环状电阻识别模型与所述电容识别模型中进行训练步骤中包括:
加载YOLOv3神经网络的主干的Darknet53的预训练权重,并训练YOLOv3神经网络的后半段部分预设的轮次,获得初始化权重;然后再对整个网络所有权重进行微调训练,获得最终训练模型。
根据预设损失函数计算损失值,并进行反向传播,通过反复循环前向传播和反向传播对所述蓝色环状电阻识别模型与所述电容识别模型的权重与配置进行更新,直至达到预设迭代停止条件,生成训练完成的蓝色环状电阻识别模型与电容识别模型。
在一个优选实施方式中,训练的batch size批量数字设置为32,预训练轮次设为2000,微调训练轮次设为20000,初始学习率设置为0.0001,如果连续五个轮次损失误差不下降,则学习率乘以0.1。
在一个优选实施方式中,所述采集电路板实时图像,并分别输入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,从而分别输出蓝色环状电阻检测框与电容检测框步骤中包括:
对所述实时图像进行预设尺寸的分割,生成多个检测图像;
将每个检测图像分别输入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,相应地输出蓝色环状电阻与电容的位置信息;
将所述蓝色环状电阻与电容的位置信息根据预设的映射公式映射回所述实时图像,输出蓝色环状电阻检测框与电容检测框。
在一个优选实施方式中,所述对所述实时图像进行预设尺寸的分割,生成多个检测图像步骤中包括:
计算所述实时图像的宽度与高度对预设尺寸的余数;
判断宽度与高度任一项的所述余数是否大于预设数组,若结果为是,则对所述实时图像的***用黑色进行填充,补成宽度和高度是预设尺寸的整数倍;
将填充后的实时图像进行多轮分割,生成多个检测图像;其中,相邻轮次的分割所生成的相邻的检测图像的重合尺寸为所述预设尺寸的一半。
本发明第二方面提供一种基于精简的YOLOv3神经网络的电路板电子元件的检测装置,包括:
图像分割模块,用于收集多个电路板的原始图像,采用多个不同起始点扫描分割的方式对每个原始图像的不同区域按照预设的尺寸进行截取,生成多个新的训练图像;
训练集建立模块,用于对所述训练图像的蓝色环状电阻与电容分别进行目标方框标注,并对蓝色环状电阻训练图片进行滤色处理,保留图像的蓝色部分,建立训练集;
模型构建模块,用于基于精简的YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型;
模型训练模块,用于将所述训练数据集中的所述训练图像分别输入所述蓝色环状电阻识别模型与所述电容识别模型中进行训练;
图像检测模块,用于采集电路板实时图像,分别代入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,从而分别输出蓝色环状电阻检测框与电容检测框;
结果汇总模块,用于在同一所述实时图像上对所述蓝色环状电阻检测框与所述电容检测框进行汇总,采用非极大值抑制法消除冗余的检测窗口,得到对蓝色环状电阻与电容的最终检测结果。
本发明第三方面提供了一种终端,所述终端包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的基于精简的YOLOv3神经网络的电路板电子元件的检测程序,所述基于精简的YOLOv3神经网络的电路板电子元件的检测程序被所述处理器执行时实现如上述实施方式任一项所述的基于精简的YOLOv3神经网络的电路板电子元件的检测方法的各个步骤。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有基于精简的YOLOv3神经网络的电路板电子元件的检测程序,所述基于精简的YOLOv3神经网络的电路板电子元件的检测程序被处理器执行时实现如上述实施方式任一项所述的基于精简的YOLOv3神经网络的电路板电子元件的检测方法的各个步骤。
综上所述,本发明提供的基于精简的YOLOv3神经网络的电路板电子元件的检测方法,通过将少量原始图像按照不同起始点进行预设尺寸的截取,获得大量训练样本数量。另外,本发明采用双模型并联检测的模式,其中一个模型负责检测蓝色环状电阻,另一个模型负责检测电容,然后将两个模型检测结果汇总起来,解决了图像中蓝色环状电阻元件较多,而电容数量相对较少的目标对象数据量不平衡的问题,从而提高了整个检测方法的准确率。在准备训练识别蓝色环状电阻模型的数据集时,通过滤色处理,保留图像中蓝色部分,突出了检测目标的特征,降低了学习难度,从而提高了蓝色环状电阻识别模型的准确率。通过对YOLOv3网络的剪裁,减少了整个网络的权重数量,降低了计算成本,从而提高了检测效率。在最终识别过程中,使分割图像的尺寸608×608大于制作训练图像时的416×416,可减少检测图像的分割次数,提高了检测速度,同时不影响检测的准确率。通过识别模型自动输出检测目标的类别,位置和尺寸等信息,解决了相关AOI设备先前需要人工制程,标出PCB板上的元件,然后才能进行缺陷检测的问题。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的基于精简的YOLOv3神经网络的电路板电子元件的目标检测方法的流程图;
图2为图1所示基于精简的YOLOv3神经网络的电路板电子元件的检测方法中步骤S15的子步骤流程图;
图3为基于精简的YOLOv3神经网络的电路板电子元件的检测装置的框架图。
【具体实施方式】
为了使本发明的目的、技术方案和有益技术效果更加清晰明白,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并不是为了限定本发明。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
需要先说明的是,卷积:在计算机视觉领域,卷积核、滤波器通常为较小尺寸的矩阵,比如3×3、5×5等,数字图像是相对较大尺寸的2维(多维)矩阵(张量),通过卷积神经网络逐层学到由简单到复杂的特征(模式)。
在本发明的实施例中,第一方面是提供一种基于精简的YOLOv3神经网络的电路板电子元件的检测方法,采用双模型并联检测的模式,对AOI所拍摄的电路板(PCB)中的电子元件进行识别,输出位置与尺寸信息(即检测框),从而便于后续与标准模板库中的电子元件图片进行比对步骤中,电子元件的检测框自动割出图像,然后匹配,提高电子元件缺陷的检测效率。
如图1所示,基于精简的YOLOv3神经网络的电路板电子元件的检测方法包括以下步骤S11-S16。
步骤S11,收集多个电路板的原始图像,采用多个不同起始点扫描分割的方式对每个原始图像的不同区域按照预设的尺寸进行截取,生成多个新的训练图像。
能够理解的是,训练一个大型的深度学习神经网络通常需要大量的数据集,在相同的网络架构情况下,数据集越大,图片多样性越丰富,训练出来的模型识别准确率越高。由于在实际工业应用中,收集大量PCB图片较困难,因此,可采用以下方式对原始图像进行分割截取,从而得到多个较小尺寸的训练图像。
举例来说,对于一张收集到的PCB的原始图像,上面有我们要检测的蓝色环状电阻、环状电容及块状电容。假定该图片的分辨率是2985×1546,而YOLOv3网络的输入尺寸是416×416。如果将原图改变形状尺寸,转换成416×416,图中的许多元件将变得十分微小,将极大地增加网络识别的难度。而YOLOv3原本在识别小物体目标上精度就较差,因此我们采取滑块分割的方法将此图分成许多416×416的小图像(即训练图像)来制作训练数据集。2985÷416≈7.2,该图像在x(宽度)方向上,可分割成7段,但在图像的边缘处也有可能存在要识别的电子元件,所以在x方向,将图像的宽度补全为416的8倍数,补全部分用黑色填充。类似地,在y(高度)方向,1546÷416≈3.7,图像可被分割成4段,所以整个图像可以被分割8×4=32。但是这样分割出来的图片数量作为训练数据集还是太少,所以我们可以从不同的起始位置对原图像进行分割,例如在x方向可以从24、32、50、74、82、100、124、132、150、……、2860、2878、2896等点开始,y方向仍是0、416、832、1248等点,在图像截出的区域为[24:24+416,0:416]、[32:32+416,0:416]、[50:50+416,0:416]、[24:24+416,416:832]、[32:32+416,416:832]、[50:50+416,416:832]、……、[2860:2860+416,0:416]、[2878:2878+416,0:416]、[2896:2896+416,0:416]等,以此类推。类似地,我们也可以在y方向上从24、32、50、74、82、100、124、132、150、……、1196、1214、1232等点开始,x方向是0、416、832、1248、1664、……、2496、2912等点开始,在图像上截出[0:416,24:24+416]、[0:416,32:32+416]、[0:416,50:50+416]、[416:832,24:24+416]、[416:832,32:32+416]、[416:832,50:50+416]、……、[0:416,1196:1196+416]、[0:416,1214:1214+416]、[0:416,1232:1232+416]等区域。按照此方法,加上之前的32张该原图总共可以截出1056张尺寸为416×416图像。
此外,有些相同的电子元件在不同的图像多次出现,这并不会影响训练图像数据集的多样性。虽然是同样的电子元件,但在不同的图像中,他们的位置不同。目标检测项目中,检测出物体的位置,也就是物体在图像中的(x,y)坐标值也非常重要,只有得到正确的(x,y)值,才能将元件完整地截取出来,再进行匹对。此外,PCB板上的电子元件往往都有各自的物料号,其实具有相同物料号的元件其形状和大小都非常近似,但是在PCB板的位置却是***的,所以利用上述方法,对一张AOI设备所拍摄大的原始图像按不同区域进行分割,可制作大量的训练图片,同时又可以保证数据集的多样性。此外,我们还分割另外两张原始图像,最终整理出1883张训练图片。
步骤S12,对训练图像中的蓝色环状电阻与电容分别进行目标方框标注,建立训练集。
具体的,可利用LabelImg软件等工具自动标注出电子元件在图像中的位置、大小和类别。在某些截取图像中由于没有要检测的电子元件,这类图像对于后续的神经网络训练没有帮助,还会占用训练时的处理内存,因此需将这些图像除去,从而得到至少含有一类待检测的电子元件的训练图像。
步骤S13,基于YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型。具体的,蓝色环状电阻通常为蓝色环状电阻,电容包括环状电容与块状电容。其中,环状电容表面颜色以白色为主,块状电容颜色以灰黑色为主。
具体的,本技术方案采用两个模型并联的方式,一个模型专门识别蓝色环状电阻,另外一个模型识别环状电容和块状电容,然后将两个模型识别的结果汇总起来,删去重复的结果,得到最终的检测结果。这种检测方法一是可以减轻模型识别难度,提高检测的准确率;二是训练数据集中蓝色环状电阻的数量远多于环状电容和块状电容的数量,检测对象之间的数量不平衡也会影响最终模型识别的准确度。
需要说明的是,YOLOv3以Darknet53为主要架构,输出端采用FPN(FeaturePyramid Networks)结构,多尺寸输出。其中Darknet53主要采取Resnet残差网络架构,将输入和经过卷积、正则化和Leaky-Relu激活函数等操作的输出相加所得值作为输出,可有效解决网络训练过程中产生的梯度消失和***的问题,训练更深网络。FPN结构采用多尺度输出,可针对不同尺寸的目标进行检测,提高了检测的准确率。其中,YOLOv3具有三条预测支路,每条预测支路均为全卷积结构,包括y1,y2和y3,深度都是255,输出尺寸规律是13:26:52,设定每个网格单元预测3个box,所以每个box需要有(x,y,w,h,confidence)五个基本参数。
进一步的,在一个实施例中,对YOLOv3神经网络进行剪裁,只保留13×13×(3×(5+num))和26×26×(3×(5+num))两个不同尺度的输出;其中,num为要识别的物体种类的数量。
需要说明的是,整个YOLOv3网络有252层,如果采用原版网络结构,计算成本高,检测效率低。针对此问题,对YOLOv3做了剪裁,将原先的3个不同尺度的输出减少为2个不同尺度的输出,可减少计算时间,满足实时在线检测。具体的,原版的YOLOv3网络分别有13×13×(3×(5+num))、26×26×(3×(5+num))、52×52×(3×(5+num))三个尺度的不同输出。由于电子元件都是按照一定物料号进行设计生产的,PCB板是上许多电子元件都是出自同一物料,所以他们外形尺寸变化范围不是很大,没有必要采用较多的锚框去检测,所以可只选择13×13×(3×(5+num))和26×26×(3×(5+num))两个尺度的输出,这样既可以保证识别的准确率,又降低了网络的规模,减少了计算量,提高了检测效率及提高模型的运行速度。然后采用K-means方法,对训练数据集里的蓝色环状电阻的尺寸进行聚类,设置聚类核数为6,得到6个参照锚框的尺寸。其中分配给输出网格13×13这一层的锚框尺寸为(36,102),(65,173),(98,36);26×26这一层的锚框尺寸为(28,63),(61,30),(65,28)。同时对训练识别电容模型的数据集中的电容进行聚类,得到6个参照锚框的尺寸,分配给输出网格13×13这一层的锚框尺寸为(385,385),(181,181),(37,100);26×26这一层的锚框尺寸为(97,32),(64,29),(28,67)。
步骤S14,将训练数据集中的图像分别输入蓝色环状电阻识别模型与电容识别模型中进行训练。具体的,本步骤包括以下子步骤:
首先,加载YOLOv3神经网络的主干的Darknet53的预训练权重,并训练YOLOv3神经网络的后半段部分预设的轮次,获得初始化权重与初始偏置。
然后,根据预设损失函数计算损失值,并进行反向传播,通过反复循环前向传播和反向传播对蓝色环状电阻识别模型与电容识别模型的权重与配置进行更新,直至达到预设迭代停止条件,生成训练完成的蓝色环状电阻识别模型与电容识别模型。进一步的,训练的batch size批量数字设置为32,初始学习率设置为0.0001,如果连续五个轮次损失误差不下降,则学习率乘以0.1。
需要说明的是,在预训练的时候,要先加载网络的主干部分的Darknet53的预训练权重,训练网络的后端部分2000轮次。在这个阶段loss误差数值会下载得很快几万下降到几十,然后对整个网络的所有权重进行微调,训练20000轮次,得到最终的输出模型。这里加载预训练模型,可以使网络获得较好的初始化权重。这些权重已经在COCO这样的大型数据集上训练过,可以抽取较通用的图像特征,能够帮助识别边缘、纹理、形状等图像特征,同时也就降低了大量的训练工作量,一定程度上解决了训练数据集图片数量太少的所带来的问题。
进一步的,对蓝色环状电阻识别模型的训练数据集中的图像进行颜色过滤处理,保留图像中的蓝色部分。先将图片存储格式转化为HSV格式,然后设置HSV最低阈值为[90,60,60],最高阈值为[130,255,255],对图片上的颜色进行过滤。过滤之后,训练图片上的蓝色被保留下来,从而整个蓝色环状电阻被凸显出来,与周围背景对比明显,这大大降低了神经网络学习识别蓝色环状电阻的难度,可有效提高最终的识别准确率。需要说明的是,对图片格式的转化以及颜色过滤的方法可参考现有技术,本发明在此不作限定。
步骤S15,采集电路板实时图像,分别代入到训练完成的蓝色环状电阻识别模型与电容识别模型进行检测,从而分别输出蓝色环状电阻检测框与电容检测框。
能够理解的是,训练好的模型嵌入到在AOI设备的操作软件中,然后在实时检测相机拍摄的PCB图像时,也需要对图像进行一系列的分割操作,才能够进行检测。如果将拍摄的原图像尺寸直接转化为416×416,然后输入到模型中,将会大大降低检测的准确率,因为原图上的电子元件在转化过程将会被压缩得非常小,变得很难识别。在制作训练数据集的时候将一张原始图像分割成了多张416×416图片,这种方法可以解决很大尺寸的图像输入模型进行检测的问题,但是分割成太多的图像会影响检测效率,所以在设备上进行实际检测时,采用一种新的分割方法。如图2所示,步骤S15包括以下子步骤S151-S153。
步骤S151,对实时图像进行预设尺寸的分割,生成多个检测图像。具体的,步骤S151包括如下步骤:首先计算实时图像的宽度与高度对预设尺寸的余数;然后判断宽度与高度任一项的余数是否大于预设数组,若结果为是,则对实时图像的***用黑色进行填充,补成宽度和高度是预设尺寸的整数倍;最后将填充后的实时图像进行多轮分割,生成多个检测图像;其中,相邻轮次的分割所生成的相邻的检测图像的重合尺寸为预设尺寸的一半。
举例来说,假定分割出的预设的图像尺寸为608×608,一是这个尺寸较大,一次覆盖的面积多,可以减少分割原图像的次数,提高了检测效率;二是这个尺寸与416相差不是很大,通过尺寸变换转化为416×416,不会影响检测的准确率。其次,在分割原图像时,不需要像制作训练数据集时从那么多点进行分割,只要能够保证所有需要检测的电子元件能够被覆盖就可以了。所以,先计算原始图像的宽度和高度对608的余数,如果只要有一个方向上的余数大于5,那就对图像的***用黑色进行填充,补成宽度和高度是608的整数倍,因为根据统计,电子元件很少会位于PCB最边缘的5个像素点范围内。
检测时图像分割分四轮进行,假设原图像在x宽度方向长度是608的w_num倍,在y高度方向是608的h_num倍。第一轮分割区域为[608*i:608*(i+1),608*j:608*(j+1)],其中i=0、1、……、w_num-1,j=0、1、……、h_num-1;第二轮的分割区域为[608*i+304:608*(i+1)+304,608*j:608*(j+1)],其中i=0、1、……、w_num-2,j=0、1、……、h_num-1;第三轮的分割区域为[608*i:608*(i+1),608*j+304:608*(j+1)+304],其中i=0、1、……、w_num-1,j=0、1、……、h_num-2;第四轮的分割区域为[608*i+304:608*(i+1)+304,608*j+304:608*(j+1)+304],其中i=0、1、……、w_num-2,j=0、1、……、h_num-2。假定某待检测的实时图像其分辨率是1624×2147,其w_num=3,h_num=4。根据上述分割方法,可分割为35张608×608图片,如果按416×416尺寸,则要分割为77张,所以检测效率提高了约1倍。
步骤S152,将每个检测图像分别输入到训练完成的蓝色环状电阻识别模型与电容识别模型进行检测,相应地输出蓝色环状电阻与电容的位置信息。具体的,检测后模型输出的蓝色环状电阻的位置信息(x,y),x,y是电阻的中心点(框住电阻的矩形框的对角线交点)在输入的检测图像中宽度和高度方向上的坐标值。
步骤S153,将蓝色环状电阻与电容的位置信息根据预设的映射公式映射回原始图像中。具体的,当输出电子元件在检测图像中的坐标值之后,需要映射回原始图像(AOI设备拍摄的图像)中。第一轮分割中得到的检测图像上的电阻及电容的坐标值映射回原始图像的公式为(1)和(2);其中xoriginal和yoriginal分别为蓝色环状电阻或电容在检测的原始图像中的坐标值,x,y是电阻或电容在输入到神经网络模型进行检测的检测图像中的坐标值,i=0、1、……、w_num-1,j=0、1、……、h_num-1;
xoriginal=x+i*608 (1)
yoriginal=y+j*608 (2)
第二轮分割中得到的检测图像上的电阻及电容的坐标值映射回检测的实时图像的公式为(3)和(4);
其中i=0、1、……、w_num-2,j=0、1、……、h_num-1;
xoriginal=x+i*608+304 (3)
yoriginal=y+j*608 (4)
第三轮分割中得到的检测图像上的电阻及电容的坐标值映射回检测的实时图像的公式为(5)和(6),其中i=0、1、……、w_num-1,j=0、1、……、h_num-2;
xoriginal=x+i*608 (5)
yoriginal=y+j*608+304 (6)
第四轮分割中得到的检测图像上的电阻及电容的坐标值映射回检测的实时图像的公式为(7)和(8),其中i=0、1、……、w_num-2,j=0、1、……、h_num-2;
xoriginal=x+i*608+304 (7)
yoriginal=y+j*608+304 (8)
需要说明的是,检测图像的坐标值映射回检测的实时图像后,有些蓝色环状电阻会有两个或更多的相近的坐标。在分割过程中,有些电阻可能在不同轮次都被完整地分割了,同一个元件在不同的图片中处在不同的位置,所以映射回实时图像中,同一元件会有很接近的坐标值。这里设置像素距离阈值为10,当多个坐标值之间像素距离小于阈值10,保留其中所对应的推测出的矩形框面积最大的那个坐标值,因为面积越大,约有可能覆盖所要检测的元件。
同时,在检测蓝色环状电阻时,先用原始图像分割出的图片输入训练好的模型进行检测,得到一组解,然后再将待检测实时图像进行颜色过滤,保留蓝色部分,再分割送入到模型检测,得到另一组解。然后将这两组解汇总在一起,进行比对,删除多余重复的解,得到最终的检测结果。用实时图像进行检测,可以消除因为过滤蓝色而使部分电阻变得模糊不易检测;用过滤后的图像进行检测,对某些背景复杂的电阻,可以突出相关特征,降低识别难度。所以这两种图像的检测结果可以互补,提高最终检测准确率。在识别电容时不需要对图片进行滤色处理。环状电容表面颜色以白色为主,块状电容颜色以灰黑色为主,并且表面印有字符,这些特征有利于神经网络的识别。
最后执行步骤S16,在同一实时图像上对蓝色环状电阻检测框与电容检测框进行汇总,采用非极大值抑制法消除冗余的检测窗口,得到对蓝色环状电阻与电容的最终检测结果。
需要说明的是,对蓝色环状电阻及电容的目标检测的过程中在同一目标的位置上会产生大量的候选框,这些候选框相互之间可能会有重叠,此时我们需要利用非极大值抑制找到最佳的目标边界框,消除冗余的边界框。具体的,设定目标边界框列表及其对应的置信度得分列表与阈值,阈值用来删除重叠较大的边界框。
本发明第二方面提供一种基于精简的YOLOv3神经网络的电路板电子元件的检测装置100,用于采用双模型并联检测的模式,对AOI所拍摄的电路板(PCB)中的电子元件进行识别,输出位置与尺寸信息(即检测框)。需要说明的是,基于精简的YOLOv3神经网络的电路板电子元件的检测装置100的实现原理及实施方式与上述的基于精简的YOLOv3神经网络的电路板电子元件的检测方法相一致,故以下不再赘述。
如图3所示,基于精简的YOLOv3神经网络的电路板电子元件的检测装置100包括:
图像分割模块10,用于收集多个电路板的原始图像,采用多个不同起始点扫描分割的方式对每个原始图像的不同区域按照预设的尺寸进行截取,生成多个新的训练图像;
训练集建立模块20,用于对训练图像的蓝色环状电阻与电容分别进行目标方框标注,并去掉均不包含蓝色环状电阻与电容的所述训练图像,建立训练集;
模型构建模块30,用于基于YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型;
模型训练模块40,用于将训练数据集中的所述训练图像分别输入蓝色环状电阻识别模型与电容识别模型中进行训练;
图像检测模块50,用于采集电路板实时图像,分别输入到训练完成的蓝色环状电阻识别模型与电容识别模型进行检测,从而分别输出蓝色环状电阻检测框与电容检测框;
结果汇总模块60,用于在同一实时图像上对蓝色环状电阻检测框与电容检测框进行汇总,采用非极大值抑制法消除冗余的检测窗口,得到对蓝色环状电阻与电容的最终检测结果。
本发明再一方面是提供一种终端(图中未示出),终端包括存储器、处理器以及存储在存储器并可在处理器上运行的基于精简的YOLOv3神经网络的电路板电子元件的检测程序,基于精简的YOLOv3神经网络的电路板电子元件的检测程序被所述处理器执行时实现如上述实施方式任一项所述的基于精简的YOLOv3神经网络的电路板电子元件的检测方法的各个步骤。
本发明还提供一种计算机可读存储介质(图中未示出),计算机可读存储介质存储有基于精简的YOLOv3神经网络的电路板电子元件的检测程序,基于精简的YOLOv3神经网络的电路板电子元件的检测程序被处理器执行时实现如上述实施方式任一项所述的基于精简的YOLOv3神经网络的电路板电子元件的检测方法的各个步骤。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的***或装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的***或装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明并不仅仅限于说明书和实施方式中所描述,因此对于熟悉领域的人员而言可容易地实现另外的优点和修改,故在不背离权利要求及等同范围所限定的一般概念的精神和范围的情况下,本发明并不限于特定的细节、代表性的设备和这里示出与描述的图示示例。
Claims (10)
1.一种基于精简的YOLOv3神经网络电路板电子元件目标检测的方法,其特征在于,包括以下步骤:
收集多个电路板的原始图像,采用多个不同起始点扫描分割的方式对每个原始图像的不同区域按照预设的尺寸进行截取,生成多个新的训练图像;
对所述训练图像的蓝色环状电阻与电容分别进行目标方框标注,并去掉均不包含蓝色环状电阻与电容的所述训练图像,建立训练数据集;
基于精简的YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型;
将所述训练数据集中的所述训练图像分别输入所述蓝色电阻识别模型与所述电容识别模型中进行训练;
采集电路板实时图像,分别输入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,从而分别输出蓝色环状电阻检测框与电容检测框;
在同一所述实时图像上对所述蓝色环状电阻检测框与所述电容检测框进行汇总,采用非极大值抑制法消除冗余的检测窗口,得到对蓝色环状电阻与电容的最终检测结果。
2.如权利要求1所述的基于精简的YOLOv3电路板电子元件目标检测的方法,其特征在于,在所述基于精简的YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型步骤中包括:
对所述YOLOv3神经网络进行剪裁,只保留13×13×(3×(5+num))和26×26×(3×(5+num))两个不同尺度的输出;其中,num为要识别的物体种类的数量。
3.如权利要求1所述的基于精简的YOLOv3电路板电子元件目标检测的方法,其特征在于,在所述将所述训练集中的所述训练图像分别输入所述蓝色环状电阻识别模型与所述电容识别模型中进行训练步骤中包括:
对输入所述蓝色环状电阻识别模型的所述训练数据集中的所述训练图像进行颜色过滤处理,保留所述训练图像中的蓝色部分。
4.如权利要求1所述的基于精简的YOLOv3电路板电子元件目标检测的方法,其特征在于,所述将所述训练集中的所述训练图像分别输入所述蓝色环状电阻识别模型与所述电容识别模型中进行训练步骤中包括:
加载YOLOv3神经网络的主干的Darknet53的预训练权重,并训练YOLOv3神经网络的后半段部分预设的轮次,获得初始化权重;然后整个网络权重再进行微调训练。
根据预设损失函数计算损失值,并进行反向传播,通过反复循环前向传播和反向传播对所述蓝色环状电阻识别模型与所述电容识别模型的权重与配置进行更新,直至达到预设迭代停止条件,生成训练完成的蓝色环状电阻识别模型与电容识别模型。
5.如权利要求4所述的基于精简的YOLOv3电路板电子元件目标检测的方法,其特征在于,训练的batch size批量数字设置为32,预训练轮次设为2000,微调训练轮次设为20000,初始学习率设置为0.0001,如果连续五个轮次损失误差不下降,则学习率乘以0.1。
6.如权利要求1所述的基于精简的YOLOv3电路板电子元件目标检测的方法,其特征在于,所述采集电路板实时图像,分别输入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,从而分别输出蓝色环状电阻检测框与电容检测框步骤中包括:
对所述实时图像进行预设尺寸的分割,生成多个检测图像;
将每个检测图像分别代入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,相应的输出蓝色环状电阻与电容的位置和尺寸信息;
将所述蓝色环状电阻与电容的位置信息根据预设的映射公式映射回所述实时图像,输出蓝色环状电阻检测框与电容检测框。
7.如权利要求6所述的基于精简的YOLOv3电路板电子元件目标检测的方法,其特征在于,所述对所述实时图像进行预设尺寸的分割,生成多个检测图像步骤中包括:
计算所述实时图像的宽度与高度对预设尺寸的余数;
判断宽度与高度任一项的所述余数是否大于预设数组,若结果为是,则对所述实时图像的***用黑色进行填充,补成宽度和高度是预设尺寸的整数倍;
将填充后的实时图像进行多轮分割,生成多个检测图像;其中,相邻轮次的分割所生成的相邻的检测图像的重合尺寸为所述预设尺寸的一半。
8.一种基于精简的YOLOv3电路板电子元件目标检测的装置,其特征在于,包括:
图像分割模块,用于收集多个电路板的原始图像,采用多个不同起始点扫描分割的方式对每个原始图像的不同区域按照预设的尺寸进行截取,生成多个新的训练图像;
训练集建立模块,用于对所述训练图像的蓝色环状电阻与电容分别进行目标方框标注,并去掉均不包含蓝色环状电阻与电容的所述训练图像,建立训练数据集;
模型构建模块,用于基于精简的YOLOv3神经网络分别构建蓝色环状电阻识别模型与电容识别模型;
模型训练模块,用于将所述训练集中的所述训练图像分别输入所述蓝色环状电阻识别模型与所述电容识别模型中进行训练;
图像检测模块,用于采集电路板实时图像,分别代入到训练完成的所述蓝色环状电阻识别模型与所述电容识别模型进行检测,从而分别输出蓝色环状电阻检测框与电容检测框;
结果汇总模块,用于在同一所述实时图像上对所述蓝色环状电阻检测框与所述电容检测框进行汇总,采用非极大值抑制法消除冗余的检测窗口,得到对蓝色环状电阻与电容的最终检测结果。
9.一种终端,其特征在于,所述终端包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的基于精简的YOLOv3神经网络的电路板电子元件的检测程序,所述基于精简的YOLOv3神经网络的电路板电子元件的检测程序被所述处理器执行时实现如权利要求1-7任一项所述的基于精简的YOLOv3神经网络的电路板电子元件的检测方法的各个步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有基于精简的YOLOv3神经网络的电路板电子元件的检测程序,所述基于精简的YOLOv3神经网络的电路板电子元件的检测程序被处理器执行时实现如权利要求1-7任一项所述的基于精简的YOLOv3神经网络的电路板电子元件的检测方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365914.8A CN113159064A (zh) | 2021-04-06 | 2021-04-06 | 基于精简的YOLOv3电路板电子元件目标检测的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110365914.8A CN113159064A (zh) | 2021-04-06 | 2021-04-06 | 基于精简的YOLOv3电路板电子元件目标检测的方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113159064A true CN113159064A (zh) | 2021-07-23 |
Family
ID=76888654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110365914.8A Withdrawn CN113159064A (zh) | 2021-04-06 | 2021-04-06 | 基于精简的YOLOv3电路板电子元件目标检测的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113159064A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113793323A (zh) * | 2021-09-16 | 2021-12-14 | 云从科技集团股份有限公司 | 一种元器件检测方法、***、设备及介质 |
CN114206005A (zh) * | 2021-12-10 | 2022-03-18 | 南京高喜电子科技有限公司 | 一种降低印制电路板电路吸收或发射功率的方法及*** |
CN116245882A (zh) * | 2023-05-11 | 2023-06-09 | 深圳市世宗自动化设备有限公司 | 电路板电子元件检测方法、装置及计算机设备 |
CN117197248A (zh) * | 2023-11-08 | 2023-12-08 | 成都数之联科技股份有限公司 | 一种电解电容方向判定方法、装置、设备及存储介质 |
CN117609695A (zh) * | 2023-11-29 | 2024-02-27 | 中创华源科技有限公司 | 基于dnn检测算法和ai智能识别检测方法及电子设备 |
-
2021
- 2021-04-06 CN CN202110365914.8A patent/CN113159064A/zh not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113793323A (zh) * | 2021-09-16 | 2021-12-14 | 云从科技集团股份有限公司 | 一种元器件检测方法、***、设备及介质 |
CN114206005A (zh) * | 2021-12-10 | 2022-03-18 | 南京高喜电子科技有限公司 | 一种降低印制电路板电路吸收或发射功率的方法及*** |
CN116245882A (zh) * | 2023-05-11 | 2023-06-09 | 深圳市世宗自动化设备有限公司 | 电路板电子元件检测方法、装置及计算机设备 |
CN117197248A (zh) * | 2023-11-08 | 2023-12-08 | 成都数之联科技股份有限公司 | 一种电解电容方向判定方法、装置、设备及存储介质 |
CN117197248B (zh) * | 2023-11-08 | 2024-01-26 | 成都数之联科技股份有限公司 | 一种电解电容方向判定方法、装置、设备及存储介质 |
CN117609695A (zh) * | 2023-11-29 | 2024-02-27 | 中创华源科技有限公司 | 基于dnn检测算法和ai智能识别检测方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113159064A (zh) | 基于精简的YOLOv3电路板电子元件目标检测的方法与装置 | |
CN110060237B (zh) | 一种故障检测方法、装置、设备及*** | |
Adibhatla et al. | Applying deep learning to defect detection in printed circuit boards via a newest model of you-only-look-once | |
CN109978839B (zh) | 晶圆低纹理缺陷的检测方法 | |
CN109977997B (zh) | 基于卷积神经网络快速鲁棒的图像目标检测与分割方法 | |
CN109191424B (zh) | 一种乳腺肿块检测与分类***、计算机可读存储介质 | |
CN106503724A (zh) | 分类器生成装置、有缺陷/无缺陷确定装置和方法 | |
CN109343920B (zh) | 一种图像处理方法及其装置、设备和存储介质 | |
CN109658454B (zh) | 一种位姿信息确定方法、相关装置及存储介质 | |
GB2398469A (en) | Identifying an object from images recorded at different positions and orientations | |
CN112949661B (zh) | 检测框自适应外扩方法、装置、电子设备及存储介质 | |
CN112364865B (zh) | 一种复杂场景中运动小目标的检测方法 | |
CN110675425B (zh) | 一种视频边框识别方法、装置、设备及介质 | |
CN113538603B (zh) | 一种基于阵列产品的光学检测方法、***和可读存储介质 | |
CN115017931B (zh) | 一种批量qr码实时提取方法及*** | |
CN116245882A (zh) | 电路板电子元件检测方法、装置及计算机设备 | |
CN114255223A (zh) | 基于深度学习的双阶段卫浴陶瓷表面缺陷检测方法和设备 | |
CN116777877A (zh) | 电路板缺陷检测方法、装置、计算机设备及存储介质 | |
CN114255212A (zh) | 一种基于cnn的fpc表面缺陷检测方法及其*** | |
CN117557784B (zh) | 目标检测方法、装置、电子设备及存储介质 | |
CN113205511B (zh) | 基于深层神经网络的电子元器件批量信息检测方法及*** | |
CN113673515A (zh) | 一种计算机视觉目标检测算法 | |
CN113283441A (zh) | 一种贴片电阻上的印刷字符识别方法、装置、终端及介质 | |
CN112734747A (zh) | 一种目标检测方法、装置、电子设备和存储介质 | |
Abbas | Recovering homography from camera captured documents using convolutional neural networks |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210723 |
|
WW01 | Invention patent application withdrawn after publication |