1.一种基于深度学习的PCB表面缺陷检测方法,其特征在于包括如下步骤:步骤1:采集PCB图像,在PCB生产线上对PCB进行拍照采集,生成图片样本数据集;
步骤2:挑选图像,对采集的图片样本数据集进行缺陷图片的筛选,选出缺陷图片生成原始缺陷图片数据集;
步骤3:扩增图像,使用GAN对原始缺陷数据集进行数据生成,扩增缺陷图片数据集;
步骤4:图像标注,对缺陷图片数据集进行分析标注,形成XML格式的缺陷图片标签数据集,将缺陷图片标签数据集转化为TXT格式,并对缺陷图片数据集以及TXT缺陷图片标签数据集进行划分;
步骤5:图像预处理,对缺陷图片数据集进行图片预处理;
步骤6:图像训练及模型封装,对预处理好的图片进行深度学习目标检测模型训练,获取训练好的模型,对模型进行测试,选出测试结果最好的模型进行封装。
2.根据权利要求1所述基于深度学习的PCB表面缺陷检测方法,其特征在于,所述的步骤 2中,在PCB挑选出缺陷的图片,并按缺陷种类对图片分为6类,分别是缺失孔,鼠标咬伤,开路,短路,杂散,伪铜,在挑选过程中,对每一类的缺陷图片进行样本均衡处理,使每一类缺陷图片的数量相同,对伪铜缺陷增加样本数目,但不超过其余种类缺陷数量的1/3。
3.根据权利要求1所述基于深度学习的PCB表面缺陷检测方法,其特征在于,所述的步骤 3中,还包含以下步骤:步骤31:使用GAN对缺陷图像数据集进行扩增,输入图片尺度为[960,960],输出尺度不变;
步骤32:GAN由两个模型构成, 判别模型和生成模型, 判别模型用于训练,生成模型用于测试,使用生成模型分析真实PCB缺陷样本的分布, 并根据分布生成新的PCB缺陷样本,随后使用判别器进行PCB缺陷图片的判别,最后将生成模型和判别模型通过不断的对抗训练,使判别模型正确判别训练样本来源,同时生成模型生成的图片缺陷样本与真实样本更相像;
步骤33:在生成式对抗网络生成PCB表面缺陷图片生成过程中,使用目标函数计算生成的PCB表面缺陷图片与真实PCB表面缺陷图片的误差,其中,为保证数值稳定的无穷小量;在第一项 中,x表示输入的真实数据, 是一个概率分布,表示将x分类为真实数据,而非生成数据的概率, 表示在真实数据中对 求取期望,在第二项 中, 表示把生成的样本分类成真的的概率,波 用来描述把生成的样本分类成假的的概率, 表示在生成样本中对 求期望;
步骤34:对PCB表面缺陷数据进行判别模型训练及优化,优化好判别模型后,将目标函数的第一项变成常数,调整生成模型参数的时候只有第二项在变化,对于生成模型来说,第二项要朝 缩小,对于生成模型的优化是目标函数 中G(生成模型)最小化,D判别模型最大化的过程,是整个目标函数最小化的过程;
步骤35:当GAN的目标函数减低到 时,生成结束,将生成图像与原始图像数据进行整合。
4.根据权利要求3所述基于深度学习的PCB表面缺陷检测方法,其特征在于,所述的步骤 4中,还包含以下步骤:步骤41:使用labelimg软件对PCB缺陷数据进行分析标注,将不同类别的PCB缺陷用不同颜色的矩形框标出,方便进行训练;
步骤42:确定矩形框所标出的PCB表面缺陷物体的位置、物体类别信息并生成 XML标签数据集,标签数据中包含PCB表面缺陷物体的种类、位置以及宽高,与原图片一一对应;提取XML数据里的种类、位置、宽高信息生成TXT格式的标签数据集,TXT命名时与原图片名称一一对应;
步骤43:将PCB缺陷图片数据集以及标签数据集文件名一一对应,将其分别划分为训练集、测试集、验证集,比例为 6:2:2。
5.根据权利要求4所述基于深度学习的PCB表面缺陷检测方法,其特征在于,所述的步骤 5中,对PCB缺陷图像进行光度失真变化,将图像像素通过变换函数 进行转换,其中c、γ为常数,为了突出前景物体与背景的差别,取 。
6.根据权利要求5所述基于深度学习的PCB表面缺陷检测方法,其特征在于,所述的步骤 6中,还包括以下步骤:训练PCB图片的目标检测网络使用的损失函数为CIOU: ,其中,IOU 计算的是“预测的边框”和“真实的边框”的交集和并集的比值,其中 代表了预测框和真实框的中心点的欧式距离,c 代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离, 是用于平衡比例的参数, 是用来描述预测框和真实框的长宽比的比例一致性的参数, , ,其中, 以及 为真实框的宽高, 以及 为预测框的宽高,对目标检测网络训练300个回合,每个回合计算AP,AP就是平均准确率;即P‑R曲线上准确度的平均值;对于P‑R曲线,使用积分 来计算,最后,挑选出所有回合中最高AP的模型,保留模型为ONNX格式,当目标检测网络训练完毕时,对AP最高的模型进行tensorrt加速,封装为DLL文件。