缺陷检测方法、装置、智能终端及计算机可读存储介质与流程

文档序号:27970358发布日期:2021-12-13 00:47阅读:94来源:国知局
缺陷检测方法、装置、智能终端及计算机可读存储介质与流程

1.本发明涉及机器视觉技术领域,尤其涉及的是一种缺陷检测方法、装置、智能终端及计算机可读存储介质。


背景技术:

2.高效、可靠的缺陷检测是电子制造业自动化的一个重要环节。目前,随着科学技术的发展,电子产品生产采用的元器件尺寸越来越小、组装集成密度越来越高,对于缺陷检测的要求也越来越高。
3.现有技术中,通常由检测人员对需要进行缺陷检测的对象进行目检,即由检测人员通过目测来进行表面缺陷检测。现有技术的问题在于,人工目检的方式受主观因素影响且很难检测到小的缺陷,不利于提高缺陷检测的准确性和效率。
4.因此,现有技术还有待改进。


技术实现要素:

5.本发明的主要目的在于提供一种缺陷检测方法、装置、智能终端及计算机可读存储介质,旨在解决现有技术中人工目检的方式受主观因素影响且很难检测到小的缺陷,不利于提高缺陷检测的准确性和效率的问题。
6.为了实现上述目的,本发明第一方面提供一种缺陷检测方法,其中,上述方法包括:
7.获取目标神经网络;
8.获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集;
9.获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型;
10.获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。
11.可选的,上述获取目标神经网络,包括:
12.获取神经网络训练集,其中,上述神经网络训练集包括多组对应的二维训练图像和三维训练图像;
13.获取待训练神经网络,基于上述神经网络训练集对上述待训练神经网络进行训练,获得目标神经网络。
14.可选的,上述待训练神经网络为bp神经网络。
15.可选的,上述获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集,包括:
16.获取多组对应的待训练二维图像和待训练三维图像,其中,上述待训练二维图像由电荷耦合器件摄像机拍摄获得,上述待训练三维图像基于光栅投影相位测量轮廓术获得;
17.基于上述目标神经网络分别对每组上述待训练二维图像和待训练三维图像进行训练,获得模型训练集。
18.可选的,上述待训练缺陷检测模型为yolov3模型。
19.可选的,上述获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测,包括:
20.获取待检测对象的图像,作为待检测图像;
21.将上述待检测图像输入上述目标缺陷检测模型中,对上述待检测对象进行缺陷检测。
22.可选的,在上述获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测之后,上述方法还包括:
23.输出缺陷检测的结果。
24.本发明第二方面提供一种缺陷检测装置,其中,上述装置包括:
25.目标神经网络获取模块,用于获取目标神经网络;
26.模型训练集获取模块,用于获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集;
27.目标缺陷检测模型获取模块,用于获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型;
28.缺陷检测模块,用于获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。
29.本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的缺陷检测程序,上述缺陷检测程序被上述处理器执行时实现任意一项上述缺陷检测方法的步骤。
30.本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有缺陷检测程序,上述缺陷检测程序被处理器执行时实现任意一项上述缺陷检测方法的步骤。
31.由上可见,本发明方案中,获取目标神经网络;获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集;获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型;获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。与现有技术中由检测人员通过目测来进行表面缺陷检测的方法相比,本发明方案结合神经网络和缺陷检测模型自动进行缺陷检测,有利于提高缺陷检测的准确性和效率。同时,基于目标神经网络对待训练二维图像和待训练三维图像进行训练获取模型训练集,通过模型训练集训练获得目标缺陷检测模型,有利于提高目标缺陷检测模型的检测精度,进一步提高缺陷检测准确性。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些
附图获得其它的附图。
33.图1是本发明实施例提供的一种缺陷检测方法的流程示意图;
34.图2是本发明实施例图1中步骤s100的具体流程示意图;
35.图3是本发明实施例图1中步骤s200的具体流程示意图;
36.图4是本发明实施例图1中步骤s300的具体流程示意图;
37.图5是本发明实施例提供的一种二维图像示意图;
38.图6是本发明实施例提供的一种三维图像示意图;
39.图7是本发明实施例图6中一个焊点的放大图;
40.图8是本发明实施例提供的一种缺陷检测装置的结构示意图;
41.图9是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
42.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
43.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
44.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
45.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当

时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0046]
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0047]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
[0048]
高效、可靠的缺陷检测是电子制造业自动化的一个重要环节。目前,随着科学技术的发展,电子产品生产采用的元器件尺寸越来越小、组装集成密度越来越高,对于缺陷检测的要求也越来越高。现有技术中,通常由检测人员对需要进行缺陷检测的对象进行目检,即由检测人员通过目测来进行表面缺陷检测。现有技术的问题在于,人工目检的方式受主观因素影响且很难检测到小的缺陷,不利于提高缺陷检测的准确性和效率。
[0049]
目前有些贴片元件长宽尺寸仅为0.1x0.2mm,细器件引脚间距也只有0.1mm。在印
刷电路板表面贴片安装生产线的主要生产环节包括装板、焊膏印刷、射片、放置ic片、再流焊固定、穿孔元件装配、波峰焊、包装等。而其中贴片生产的电子产品的质量缺陷超过80%都是由焊膏印刷缺陷所引起的。但焊膏印刷质量检查技术难度大,人工目检的方式难以判断该细微缺陷。
[0050]
因此可以基于微结构3d检测设备和三维重建技术进行缺陷检测。基于微结构3d检测设备和三维重建技术进行缺陷检测的方法大致包括三类:快速激光三角法、基于特殊光源照明下采集的二维图像分析三维属性、基于多视角电荷耦合器件(ccd,charge

coupled device)摄像机采集的双目二维图像特征点匹配位置分析的三维重建。但二维图像的方法精确模型不易建立;在三维检测中特征点的匹配计算量大、速度慢,而且特征点匹配误差使稳定性差,得到的三维精度也不高;本发明中,采用基于激光三角法进一步发展的光栅投影相位测量轮廓术(pmp)进行检测,且基于二维图像,通过神经网络训练出来深度学习模型来改进pmp的三维测量性能,得到更加准确的图片,然后再通过yolo深度学习算法检测相关缺陷。
[0051]
具体的,为了解决现有技术中存在的问题,本实施例中,提出一种缺陷检测方法、装置、智能终端及计算机可读存储介质,获取目标神经网络;获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集;获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型;获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。与现有技术中由检测人员通过目测来进行表面缺陷检测的方法相比,本发明方案结合神经网络和缺陷检测模型自动进行缺陷检测,有利于提高缺陷检测的准确性和效率。同时,基于目标神经网络对待训练二维图像和待训练三维图像进行训练获取模型训练集,通过模型训练集训练获得目标缺陷检测模型,有利于提高目标缺陷检测模型的检测精度,进一步提高缺陷检测准确性。
[0052]
示例性方法
[0053]
如图1所示,本发明实施例提供一种缺陷检测方法,具体的,上述方法包括如下步骤:
[0054]
步骤s100,获取目标神经网络。
[0055]
其中,上述目标神经网络是训练完成的神经网络。本实施例中,可以基于目标神经网络对相应配对的二维图像和三维图像进行训练,获得更精确的三维图像,从而提升缺陷检测的准确性。
[0056]
步骤s200,获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集。
[0057]
其中,上述待训练二维图像和待训练三维图像是用于输入目标神经网络的图像,将上述待训练二维图像和待训练三维图像输入目标神经网络之后,经过目标神经网络进行训练,将待训练二维图像与待训练三维图像进行优化,获得精确的三维图像,并基于获得的精确的三维图像的集合获取模型训练集。
[0058]
步骤s300,获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型。
[0059]
其中,上述待训练缺陷检测模型是需要进一步进行训练后才可用于进行缺陷检测
的模型,可以选用基于机器学习的目标检测模型作为待训练缺陷检测模型,例如yolo模型。基于获得的上述精确的三维图像获得模型训练集并对上述待训练缺陷检测模型进行训练,提升待训练缺陷检测模型的缺陷检测性能,获得目标缺陷检测模型。上述目标缺陷检测模型即为训练完成后的待训练缺陷检测模型,可以直接用于进行缺陷检测。
[0060]
步骤s400,获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。
[0061]
其中,上述待检测图像是需要检测的对象(例如电子元器件)的三维图像,可以基于pmp三维测量方法获得(三维图像是通过pmp获取的投影光源的调制,通过采集图像的灰度来计算调制的相位变化,最后计算得到三维高度)。将待检测图像输入到目标缺陷检测模型中,基于目标缺陷检测模型对待检测图像中的电子元器件进行目标识别,从而实现缺陷检测。
[0062]
由上可见,本发明实施例提供的缺陷检测方法中,获取目标神经网络;获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集;获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型;获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。与现有技术中由检测人员通过目测来进行表面缺陷检测的方法相比,本发明方案结合神经网络和缺陷检测模型自动进行缺陷检测,有利于提高缺陷检测的准确性和效率。同时,基于目标神经网络对待训练二维图像和待训练三维图像进行训练获取模型训练集,通过模型训练集训练获得目标缺陷检测模型,有利于提高目标缺陷检测模型的检测精度,进一步提高缺陷检测准确性。
[0063]
具体的,本实施例中,如图2所示,上述步骤s100包括:
[0064]
步骤s101,获取神经网络训练集,其中,上述神经网络训练集包括多组对应的二维训练图像和三维训练图像。
[0065]
步骤s102,获取待训练神经网络,基于上述神经网络训练集对上述待训练神经网络进行训练,获得目标神经网络。
[0066]
其中,上述神经网络训练集中包括的多组对应的二维训练图像和三维训练图像是预先获得的多个与待检测对象(例如微结构或电子元器件)相似的结构或器件对应的多组二维图像和三维图像。其中,上述二维训练图像可以由ccd摄像机拍摄获得,上述三维训练图像可以由pmp方式测量获得。分别基于关联的每一组二维训练图像和三维训练图像对待训练神经网络进行训练。
[0067]
在一种应用场景中,基于以下方法获取二维训练图像(由ccd摄像机获取)和三维训练图像(基于pmp方法获取)。将光电瞄准装置安装于三维移动台工作面上(点亮激光器),在初始z位置(x为水平方向,y为竖直方向,z为高度),控制三维移动台沿x方向调整,使光电瞄准装置中硅光电三极管的输出电压最大,以完成光平面与光电瞄准装置上的瞄准孔孔心的精确重合。记此时瞄准孔所处空间位置为物坐标起始位置(物坐标系原点)。关闭激光器,由ccd摄像机获取光电瞄准装置上的瞄准孔的二维图像,通过边缘检测和椭圆拟合可以获得与空间坐标相对应的瞄准孔图像中心的亚像素级图像坐标。再次点亮激光器,控制三维移动台沿竖直(y)方向移动一定距离,然后再次控制三维移动台沿水平(x)方向调整,使光电瞄准装置中硅光电三极管的输出电压最大,以完成光平面与光电瞄准装置上的瞄准孔孔
心的再次精确重合,由三维移动台的移动量,记录瞄准孔孔心的空间物坐标。其中,z位置可以设定为拍摄对象的某一指定位置(如电路板焊点的起始位置)。上述过程中,通过先设定一个原点,然后把孔心对准到需要获取的待检测结构中心位置,再次将孔心移动到原点,记录移动的方向和距离来测量待检测结构的坐标,从而可以获得对应的三维图像。
[0068]
在一种应用场景中,还可以对ccd摄像机拍摄获得的二维图像进行预处理,以获得本实施例中需要的二维训练图像(以及实施例中需要的其它二维图像,例如待训练二维图像),预处理的目的是方便计算,节省时间开销,预处理过程可以包括灰度化、滤波、锐化、引脚框选等。具体的,ccd拍摄获得的图像是彩色的,对彩色图像进行处理时,需要对三个通道依次进行处理,时间开销将会很大。因此,为了提高处理速度,达到实时性的要求,需要减少所需处理的数据量,可以对彩色图像进行灰度化处理以减小需要处理的数据量。在进行灰度化处理之后,通过滤波降低图像噪声,可选的,可以使用均值滤波、中值滤波等方式。进一步的,对处理后的图像进行锐化处理,突出图像中物体的边缘轮廓,便于对物体的边缘进行识别,具体的,可以使用opencv自带的锐化函数库,对图像的边缘进行锐化。进一步的,进行引脚框选,对锐化后的图像以opencv的最小外接形函数进行处理,根据输入各矩形面积大小保留缺陷的引脚边框。具体的,获取到整个部件和引脚的最小外接图形,基于输入矩形面积(或预设矩形面积)的大小保留缺陷的引脚边框,其中,输入矩形面积是输入的各引脚对应的矩形的标准面积,通过获得的面积大小与标准面积大小的差值判断标记的矩形是否为引脚、判断其大小是否标准、是否有缺陷。
[0069]
其中,opencv是一个用于图像处理、分析、机器视觉方面的开源函数库。该库采用c及c++语言编写,可以在windows、linux、mac osx系统上面运行。使用opencv函数来对工件表面图像进行滤波、二值化、芯片定位等操作,以实现对工件表面图像进行像素优化,提高后续工件表面质量检测的精确度。同时完成对缺陷的定位和标记功能,以便于后续的挑拣处理等操作。
[0070]
本实施例中,上述待训练神经网络为bp神经网络。bp模型是神经网络的重要模型之一,在分类、预测、故障诊断和参数检测中具有广泛的应用。其网络结构不仅有输入层节点,输出层节点,而且可以有一层或多层隐层节点。对于输入信号,首先向前传播到隐节点,经过作用函数后,再把隐节点的输出信息传播到输出节点,最后输出节点通过输出函数给出输出结果。这个算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信号从输入层经隐单元层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果输出层不能得到期望的输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,使得误差信号最小。实际上bp模型把一组样本的i/o问题变为一个非线性优化问题。使用了优化中最普通的梯度下降法,用迭代运算求解,相应于学习记忆问题,加入隐节点使优化问题的可调参数增加,从而可得到更精确的解。
[0071]
具体的,对于需要输入bp神经网络中进行训练(或测试)的图像,将图像划分为尺寸相同互不相连的子区域,扫描各子区域的局部极小值点,即感受野的中央点,在中央点的380个邻域方向上别搜索离其最近的顶部,各顶部对应的像素点即为周边点。按照上述样本数据的获取和处理方法,获取空间采样点380个(具体数目与划分的区域个数相关,可根据实际需求进行设置和调整),采样间隔1mm。将其中280个点作为网络训练样本。100个点作为网络测试样本。上述样本数据获取方法能够保证采样点的空间定位精度和图像定位精度分
别为10μm和0.1个像素左右,精度较高,也不至于过度细分。在网络训练和测试中,可以采用s形函数和双曲函数作为神经元的转换函数,本实施例中优选为双曲函数,以提高精度。由于双曲函数为饱和函数,因此在数据的预处理中,利用线性变换将输入训练样本(即输入到bp神经网络内对bp神经网络进行训练的图像)变换到[

1,1],将输出样本变换到[

0.95,0.95]内,减少计算量。
[0072]
本实施例的bp神经网络中,在输入层有2个节点,在输出层有3个节点,且空间点的图像坐标(x,y)作为网络输入节点的输入值,上述图像坐标是在pmp获取的图像上建立直角坐标系后确定的坐标,对应其空间点的物坐标(x,y,z)作为输出节点的输出值(整个图像是一个直角坐标系,检测点是一个物坐标)。通过调整网络中可调参数(隐层数、隐层节点数、学习速率、动量因子和双曲函数中的特性参数)进行网络的训练和测试,并采用均方根误差计算训练精度和测试精度。
[0073]
具体的,本实施例中基于以下步骤对bp神经网络进行训练和优化:第一步,将网络初始化,随机设置各层神经元的权值。第二步,给定网络的输入对象和目标输出;其中,输入对象是二维训练图像和pmp得到的三维训练图像,输出目标是更加精确的三维图像。第三步,计算网络隐层,输出层各单元的输出;即通过输入对象和各层的权值,由网络自行计算各层各单元输出,各单元就是各神经元。第四步,计算目标值与实际输出的偏差;目标值是指用户在训练过程中,通过自己计算(或其它方式计算)获得的理想状态下网络的输出值。第五步,调整各层神经元的权值,具体的,根据目标值与各单元的输出的偏差调整各神经元的权值;例如,如果计算过快且无法得到期望的数值,可以缩小学习速率来遍历更多数据。第六步,返回至第三步重新开始学习,直到目标值与实际输出的偏差满足预设的训练精度的要求(例如,与期望最佳值之间的误差不超过0.1)。如此,在每次学习过程中,可以通过调整输入层节点数、隐层数、隐层节点数、输出层节点数、学习速率、动量因子、输出函数、作用函数及其增益系数等参数以得到各层神经元之间的最佳权值。使输出层尽可能地得到期望的输出,达到偏差信号最小。进而通过样本点坐标来确定不同的待测部位,通过ccd的二维图像来优化pmp的三维图像。上述bp神经网络训练完成以后通过测试样本进行测试,检测测试样本与真实值的偏差,从而判断其精度是否符合要求。
[0074]
具体的,本实施例中,如图3所示,上述步骤s200包括:
[0075]
步骤s201,获取多组对应的待训练二维图像和待训练三维图像,其中,上述待训练二维图像由电荷耦合器件摄像机拍摄获得,上述待训练三维图像基于光栅投影相位测量轮廓术获得。
[0076]
步骤s202,基于上述目标神经网络分别对每组上述待训练二维图像和待训练三维图像进行训练,获得模型训练集。
[0077]
其中,上述待训练二维图像和待训练三维图像是一一对应的需要通过目标神经网络进行训练的图像,训练过程中可以基于待训练二维图像提升三维图像精确度,获得精确的三维图像,从而基于精确的三维图像获得模型训练集并对待训练缺陷检测模型进行训练。
[0078]
基于激光三角法进一步发展的光栅投影相位测量轮廓术(pmp)精度高,采用面结构光投影,提高了速度。而且采集多幅投影光栅相移的图像来计算调制后的相位,将基于图像的距离测量转换为图像灰度测量。pmp和激光三角法类似,都是主动立体视觉测量,而且
都是基于被测物体对投影光的调制来测量三维高度。不同的是光栅投影是采用亮度呈正弦变化的光栅作为面结构投影光源,这样一次可以测量整幅图像,提高了测量速度。而且它是利用被测物体对投影光源的调制,通过采集图像的灰度来计算调制的相位变化,最后计算得到三维高度。但由于结构光投影测量方法中投影角和ccd采集角间必须有一定的夹角,而焊膏存在高度变化,所以光栅投影也必然存在阴影。在阴影处采集不到光栅投影图像,也就无法计算阴影部分的高度信息,同时,对相位展开也造成了间断区域,使常规相位展开方法在该区域出现错误。且某些电子微结构还需要检测二维缺陷,利用这些二维信息可以对pmp进行改进,可以使pmp解决提高相位测量精度、相位展开和阴影区域的处理,从而使微结构3d检测精确、快速。因此本实施例中结合三维形状的特点、二维图像灰度信息和相邻点的三维高度插值,重构三维图像。利用深度学习的bp神经网络将二维图像提取的特征与光栅投影相位测量得到的三维信息匹配融合,使得二维图像特征准确反映出阴影处的三维变化,从而提高三维图像的精确度。如此,基于二维图像特征训练bp神经网络,改进pmp三维测量性能,以帮助提高pmp相位展开算法速度、解决投影阴影区域的测量问题。可以提高微结构3d检测精度和速度,并使鲁棒性增强,受噪声和其它干扰影响小。
[0079]
需要说明的是,对于采集后准备作为待训练二维图像和待训练三维图像的图像,也可以先进行预处理。预处理过程包括灰度化、滤波、锐化、引脚框选等,具体的预处理过程可以参照上述获得二维训练图像时的预处理过程,在此不再赘述。
[0080]
本实施例中,上述待训练缺陷检测模型为yolov3模型。具体的,选用yolov3作为本实施例中的模型,通过在其darknet框架下进行代码的修改,实现对模型的优化。上述步骤s202具体包括:获取bp神经网络训练出来的精确的三维图像,使用yolo

mark标定工具对图像中的目标进行标定,将制作好的数据集作为yolov3模型的训练集,训练yolov3模型。训练完成后,还可对该模型进行测试与改进,最终获得目标缺陷检测模型。具体的,由于神经网络模型的训练过程不可预测,当训练结束后模型测试结果可能不满足使用条件,需要调整数据集使之尽可能与最终待检测图像接近,从而提高模型的识别准确率。
[0081]
具体的,本实施例中,如图4所示,上述步骤s300包括:
[0082]
步骤s301,获取待检测对象的图像,作为待检测图像。
[0083]
步骤s302,将上述待检测图像输入上述目标缺陷检测模型中,对上述待检测对象进行缺陷检测。
[0084]
其中,上述待检测对象是需要进行缺陷检测的对象,例如电路板、电子元器件或其它微结构工件。上述待检测图像是通过pmp获取的待检测对象的三维图像。将待检测图像输入到训练完成的目标缺陷检测模型中,通过yolo深度学习算法检测相关缺陷(例如缺焊等)。如此,可以实现对工件上的微结构的二维和三维图像获取,通过bp神经网络来训练二维和三维图像的联系,从而基于二维图像,通过神经网络训练出来深度学习模型来改进pmp的三维测量性能,得到更加准确的图像,然后再通过yolo深度学习算法检测相关缺陷,达到对三维结构的快速识别与检测。将三维重建技术与深度学习算法进行结合,只需要对数据集进行相关训练,不需要求解相关函数,提高了检测的精度和速度,降低计算量。
[0085]
进一步的,本实施例中,在进行缺陷检测之后,输出缺陷检测的结果,以便检测人员及时获知缺陷情况。可选的,可以通过语音播报、文字输出等方式输出缺陷检测的结果,还可以输出缺陷报告,在此不作具体限定。
[0086]
本实施例中,通过工业相机、工业计算机等替代人力进行快速操作,可以提升检测速度与效率,且在批量处理时可以降低检测成本。同时,通过机器视觉和深度学习技术,可以实现对检测目标的高准确率识别。同时,上述方法还可以应用于其它工业领域,当应用到其它工业领域时,只需重新构建模型结构,制作适当的数据集重新训练模型,从而重新获取新的缺陷检测模型,该方法的应用可拓展性高。
[0087]
本实施例中,还通过具体的实验验证上述缺陷检测方法的性能。图5是本发明实施例提供的一种二维图像示意图,具体的,图5中所示的二维图像是对芯片经过灰度化、滤波、锐化、引脚框选等预处理过程后获得的二维图像。图6是本发明实施例提供的一种三维图像示意图,图7是图6中一个焊点的放大图。具体的,图6中的三维图像是待检测图像,通过不同方法对图6中的焊点高度进行测量,从而对各方法进行对比。通过两种方法对3个印刷焊膏的测量数据如下表所示:
[0088]
样本编号123激光三角法的均值152.0157.5152.5激光三角法的标准差362.4479.5514.8本实施例方法的均值155.0162.5157.5本实施例方法的标准差122.6142.798.3
[0089]
由上表可知,用激光三角测量方法获得的数据的标准差都大于用本实施例方法获得的数据的标准差。用激光三角测量方法测量的高度的平均值小于用本实施例方法测量的平均值。本实施例方法提高了测量的准确性。
[0090]
示例性设备
[0091]
如图8中所示,对应于上述缺陷检测方法,本发明实施例还提供一种缺陷检测装置,上述缺陷检测装置包括:
[0092]
目标神经网络获取模块510,用于获取目标神经网络。
[0093]
其中,上述目标神经网络是训练完成的神经网络。本实施例中,可以基于目标神经网络对相应配对的二维图像和三维图像进行训练,获得更精确的三维图像,从而提升缺陷检测的准确性。
[0094]
模型训练集获取模块520,用于获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集。
[0095]
其中,上述待训练二维图像和待训练三维图像是用于输入目标神经网络的图像,将上述待训练二维图像和待训练三维图像输入目标神经网络之后,经过目标神经网络进行训练,将待训练二维图像与待训练三维图像进行优化,获得精确的三维图像,并基于获得的精确的三维图像的集合获取模型训练集。
[0096]
目标缺陷检测模型获取模块530,用于获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型。
[0097]
其中,上述待训练缺陷检测模型是需要进一步进行训练后才可用于进行缺陷检测的模型,可以选用基于机器学习的目标检测模型作为待训练缺陷检测模型,例如yolo模型。基于获得的上述精确的三维图像获得模型训练集并对上述待训练缺陷检测模型进行训练,提升待训练缺陷检测模型的缺陷检测性能,获得目标缺陷检测模型。上述目标缺陷检测模型即为训练完成后的待训练缺陷检测模型,可以直接用于进行缺陷检测。
[0098]
缺陷检测模块540,用于获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。
[0099]
其中,上述待检测图像是需要检测的对象(例如电子元器件)的三维图像,可以基于pmp三维测量方法获得(三维图像是通过pmp获取的投影光源的调制,通过采集图像的灰度来计算调制的相位变化,最后计算得到三维高度)。将待检测图像输入到目标缺陷检测模型中,基于目标缺陷检测模型对待检测图像中的电子元器件进行目标识别,从而实现缺陷检测。
[0100]
由上可见,本发明实施例提供的缺陷检测装置中,通过目标神经网络获取模块510获取目标神经网络;通过模型训练集获取模块520获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集;通过目标缺陷检测模型获取模块530获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型;通过缺陷检测模块540获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。与现有技术中由检测人员通过目测来进行表面缺陷检测的方法相比,本发明方案结合神经网络和缺陷检测模型自动进行缺陷检测,有利于提高缺陷检测的准确性和效率。同时,基于目标神经网络对待训练二维图像和待训练三维图像进行训练获取模型训练集,通过模型训练集训练获得目标缺陷检测模型,有利于提高目标缺陷检测模型的检测精度,进一步提高缺陷检测准确性。
[0101]
具体地,本实施例中,上述缺陷检测装置及其各个模块的具体功能还可以参照上述缺陷检测方法中的对应描述,在此不再赘述。
[0102]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图9所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和缺陷检测程序。该内存储器为非易失性存储介质中的操作系统和缺陷检测程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该缺陷检测程序被处理器执行时实现上述任意一种缺陷检测方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
[0103]
本领域技术人员可以理解,图9中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0104]
在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的缺陷检测程序,上述缺陷检测程序被上述处理器执行时进行以下操作指令:
[0105]
获取目标神经网络;
[0106]
获取待训练二维图像和待训练三维图像,基于上述目标神经网络对上述待训练二维图像和待训练三维图像进行训练后获得模型训练集;
[0107]
获取待训练缺陷检测模型,基于上述模型训练集对上述待训练缺陷检测模型进行训练,获得目标缺陷检测模型;
[0108]
获取待检测图像,基于上述目标缺陷检测模型和上述待检测图像进行缺陷检测。
[0109]
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有缺陷检测程序,上述缺陷检测程序被处理器执行时实现本发明实施例提供的任意一种缺陷检测方法的步骤。
[0110]
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0111]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0112]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0113]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0114]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0115]
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
[0116]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1