本发明涉及工业质检,具体涉及一种基于多任务学习机制的pcb缺陷检测方法、系统。
背景技术:
1、pcb(printed circuit board)即印制线路板,简称印制板,是电子工业的重要部件之一。几乎每种电子设备,小到电子手表,大到计算机、通信电子设备、军用武器系统,只要有集成电路等电子元件,为了使各个电子元件之间的电气互连,都要使用印制板。目前已有相关算法来检测pcb板贴片封装元件的缺陷,而现有通用算法难以兼容各种贴片元件缺陷检测,并且缺陷的种类和特点一般是多种多样的,因此传统缺陷检测方法可能存在不稳定性,适应性低的问题。
2、目前,多任务深度学习受到越来越多的关注,该方法通过信息共享,能够提高泛化性能、减少计算量。通常深度学习需要大量的训练数据,而采集大量pcb元件封装缺陷样本的难度极大。同时在pcb的各种表面缺陷中,pcb上的贴装元件较小,通常数量高达上千,分布十分密集,一般深度学习方法检测速度无法满足。产品缺陷检测精度要求高(99%),现有业界ai检测模型无法达到此精度。
3、因此,针对偏移和缺件样本较少、样本特征难以检测、特征弱导致的模型过拟合、泛化性能差的问题,本发明设计了一种基于多任务学习机制的pcb缺陷检测方法、系统。
技术实现思路
1、为解决上述技术问题,本发明提供一种基于多任务学习机制的pcb缺陷检测方法、系统。
2、为解决上述技术问题,本发明采用如下技术方案:
3、一种基于多任务学习机制的pcb缺陷检测方法,通过pcb缺陷检测模型的编码器得到图像的特征图,将特征图输入至pcb缺陷检测模型的各解码器中,检测图像是否为缺陷图像并得到缺陷图像的缺陷区域;
4、pcb缺陷检测模型的训练方法,包括以下步骤:
5、步骤一:获取缺陷图像后,进行数据增强和数据预处理,获得缺陷样本数据集;缺陷图像中缺陷的类型包括偏移缺陷、缺件缺陷;
6、步骤二、构建基于u-net结构的pcb缺陷检测模型:
7、pcb缺陷检测模型包括一个共享编码器和三个解码器,三个解码器分别为偏移缺陷解码器、缺件缺陷解码器以及二分类缺陷检测解码器,共享编码器和偏移缺陷解码器、缺件缺陷解码器之间采用u-net结构,二分类缺陷检测解码器采用多层感知器的全连接结构;共享编码器与偏移缺陷解码器用于进行偏移缺陷检测任务,共享编码器与缺件缺陷解码器用于进行缺件缺陷检测任务,共享编码器与二分类缺陷检测解码器用于进行图像是否存在缺陷的检测任务;
8、步骤三、对偏移缺陷检测任务、缺件缺陷检测任务、二分类缺陷检测任务分别设置损失函数,并通过参数搜索方式为每个任务的损失函数设置不同的权重。
9、具体地,步骤一中对获取的缺陷图像进行数据增强时:
10、对缺陷图像进行几何变换即对图像进行几何变换,包括翻转、旋转、移位、裁剪和缩放操作,并添加高斯噪声;
11、步骤一中对获取的缺陷图像进行数据预处理时:
12、对缺陷图像进行等比例的缩放,然后添加灰条,调整为512像素*512像素的大小。
13、具体地,步骤三中,偏移缺陷检测任务的损失函数l1=dice+focal;
14、缺件缺陷检测任务的损失函数l2=dice+focal;
15、二分类缺陷检测任务的损失函数l3=llogic;
16、其中,ldice为相似系数损失函数,lfocal为focal损失函数,llogic为逻辑损失函数,x为预测样本正例的面积,y为真实样本正例的面积,ε是为防止分母为零设置的参数;lfocal=-α(1-)γlog(p),α是对不同类别的样本进行减重的参数,γ为调制系数,p为样本的预测值;yi为标签的样本值,g(x)为真实的样本值;
17、pcb缺陷检测模型的损失函数ltotal=1l1+2l2+3l3,λ1、λ2、λ3分别为缺件损失函数、偏移损失函数、二分类缺陷检测损失函数的权重。
18、具体地,步骤二中,使用resnet作为共享编码器的主干特征提取网络,用于进行特征提取。
19、一种基于多任务学习机制的pcb缺陷检测系统,包括pcb缺陷检测模型;将缺陷图像输入至pcb缺陷检测模型,能够得到缺陷图像对应的缺陷区域;
20、pcb缺陷检测模型的训练模块,包括:
21、数据集获取模块:获取缺陷图像后,进行数据增强和数据预处理,获得缺陷样本数据集;缺陷图像中缺陷的类型包括偏移缺陷、缺件缺陷;
22、pcb缺陷检测模型构建模块,用于构建基于u-net结构的pcb缺陷检测模型:
23、pcb缺陷检测模型包括一个共享编码器和三个解码器,三个解码器分别为偏移缺陷的解码器、缺件缺陷的解码器以及二分类缺陷解码器,共享编码器和前两个解码器之间采用u-net结构,后一个解码器采用多层感知器的全连接结构;共享编码器与偏移缺陷的解码器用于进行偏移缺陷检测任务,共享编码器与缺件缺陷的解码器用于进行缺件缺陷检测任务,共享编码器与二分类缺陷解码器用于进行图片是否存在缺陷检测任务;
24、损失训练模块:对偏移缺陷检测任务、缺件缺陷检测任务、二分类缺陷检测任务分别设置损失函数,并通过参数搜索方式为每个任务的损失函数设置不同的权重。
25、本发明的系统与方法对应,方法中的优选方案同样适用于系统。
26、与现有技术相比,本发明的有益技术效果是:
27、本发明采用u-net网络结构,使用resnet作为编码器主干特征提取网络,在解码端连接不同的任务相关网络,包括偏移缺陷检测任务、缺件缺陷检测任务和二分类缺陷检测任务,利用任务间的信息互补性,降低过拟合风险,充分利用多层次贴片元件缺陷信息。
1.一种基于多任务学习机制的pcb缺陷检测方法,通过pcb缺陷检测模型的编码器得到输入图像的特征图,将特征图输入至pcb缺陷检测模型的各解码器中,检测图像是否为缺陷图像并得到缺陷图像的缺陷区域;
2.根据权利要求1所述的基于多任务学习机制的pcb缺陷检测方法,其特征在于,步骤一中对获取的缺陷图像进行数据增强时:
3.根据权利要求1所述的基于多任务学习机制的pcb缺陷检测方法,其特征在于,步骤三中,偏移缺陷检测任务的损失函数l1=ldice coff+lfocal;
4.根据权利要求1所述的基于多任务学习机制的pcb缺陷检测方法,其特征在于:步骤二中,使用resnet作为共享编码器的主干特征提取网络,用于进行特征提取。
5.一种基于多任务学习机制的pcb缺陷检测系统,其特征在于,包括pcb缺陷检测模型;将缺陷图像输入至pcb缺陷检测模型,能够得到缺陷图像对应的缺陷区域;