一种基于YOLO9000算法的电路板元器件检测方法技术

技术编号:21432225 阅读:39 留言:0更新日期:2019-06-22 11:55
本发明专利技术公开了一种基于YOLO9000算法的电路板元器件检测方法,包括以下步骤:S1:构建包括电路板图片的数据库;S2:利用数据库训练YOLO9000算法模型,得到训练好的YOLO9000算法模型;S3:获取待检测的电路板图片;S4:利用训练好的YOLO9000算法模型对待检测的电路板图片进行检测;S4:输出结果。本发明专利技术训练YOLO9000算法模型,使其能够进行电子元器件的型号类别识别,对电子元器件进行在图像位置上的定位,达到检测电子元器件的型号类别、位置、是否焊接错误,同时因为电路板上有极性的电子元器件的焊接方向,将方向识别问题转化为分类问题,实现对有极性的电子元器件的方向识别。

【技术实现步骤摘要】
一种基于YOLO9000算法的电路板元器件检测方法
本专利技术涉及计算机视觉领域,更具体地,涉及一种基于YOLO9000算法的电路板元器件检测方法。
技术介绍
在工业生产电子产品中,焊接电子元器件后进行检测是必不可少的环节,而现在的检测方式是借用电子仪器根据进行检测,一定程度上浪费了人力物力。而且焊反有极性电子元器件在通电检测时会造成更大的损失。深度学习自从在2012年在Krizhevsky等人提出了一个叫做AlexNet的深度卷积神经网络(DCNN),它在大规模的视觉识别挑战(ILSRVC)中实现了破纪录的图像分类准确率。随后深度学习在目标检测领域有了飞速的发展,YOLO系列的算法不断的涌现。YOLO9000在识别准确率上有很优异的表现,并在医疗图像识别、文字识别、人脸识别上都得到广泛的应用。现有实现电子元器件分类技术缺点如下:1、不能识别有极性元器件的方向;2、需手动提取特征,只能实现简单的分类,不能实现复杂的分类;3、对图片上的元器件不能同时分类与定位。
技术实现思路
本专利技术提供一种基于YOLO9000算法的电路板元器件检测方法,能够进行电子元器件的类别识别、还能对其进行在图像位置上的定位,达到了检测电路板上所有元器件型号类别、方向、位置是否焊接错误。为解决上述技术问题,本专利技术的技术方案如下:一种基于YOLO9000算法的电路板元器件检测方法,包括以下步骤:S1:构建包括电路板图片的数据库,对有极性的电子元器件再分为四类,其中,以电路板图片12点钟方向为基准,逆时针45度至顺时针45度范围为上方向分类;以电路板图片3点钟方向为基准,逆时针45度至顺时针45度范围为右方向分类;以电路板图片6点钟方向为基准,逆时针45度至顺时针45度范围为下方向分类;以电路板图片9点钟方向为基准,逆时针45度至顺时针45度范围为左方向分类;S2:利用数据库训练YOLO9000算法模型,得到训练好的YOLO9000算法模型;S3:获取待检测的电路板图片;S4:利用训练好的YOLO9000算法模型对待检测的电路板图片进行检测;S5:输出结果。上述方案中,YOLO9000算法能够自己学习感知物体的特征,不需要手动提取特征同时检测上百种类别,而且取得不错的效果,甚至达到实时检测的效果,同时能够自己学习感知物体的特征,同时检测上百种类别,而且能够检测物体在图片中的位置。优选地,步骤S1中构建包括电路板图片的数据库,包括以下步骤:S1.1:提取电路板元器件的信息列表;S1.2:根据信息列表对对应型号的元器件进行拍摄,生成第一数据集;S1.3:对第一数据集进行第一次数据增强,生成第二数据集;S1.4:对第一数据集和第二数据集进行第二次数据增强,生成第三数据集;S1.5:对第一数据集、第二数据集和第三数据集中电子元器件的类别与位置进行标记;S1.6:将标记好的数据集分为训练集、验证集和测试集,作为数据库。优选地,第一次数据增强为利用生成对抗网络进行数据增强,由于拍摄数据集样本有限,而YOLO9000算法的训练需要大量的数据集,对第一数据集用生成对抗网络(GAN)进行数据增强,生成第二数据集,。优选地,第二次数据增强为对第一数据集和第二数据集进行旋转90度、旋转180度、旋转270度、水平翻转、垂直翻转和水平垂直翻转六种方式进行数据增强。优选地,步骤S1.5中对第一数据集、第二数据集和第三数据集中电子元器件的类别与位置进行标记,对有极性的电子元器件再分为四类,其中,以电路板图片12点钟方向为基准,逆时针45度至顺时针45度范围为上方向分类;以电路板图片3点钟方向为基准,逆时针45度至顺时针45度范围为右方向分类;以电路板图片6点钟方向为基准,逆时针45度至顺时针45度范围为下方向分类;以电路板图片9点钟方向为基准,逆时针45度至顺时针45度范围为左方向分类;由于电路板上的元器件焊接几乎为水平和垂直这两个方向,对于有极性电子元器件来说有四个,即:向上、向左、向下、向右。由于深度学习还没有算法能够具体识别一个物体的方向角度,所以把方向识别问题转化为分类问题。优选地,步骤S2中利用数据库训练YOLO9000算法模型,得到训练好的YOLO9000算法模型,包括以下步骤:S2.1:将训练集输入YOLO9000算法模型进行前向传播,输出计算结果;S2.2:根据计算结果进行loss计算,并判断最近50次迭代的loss平均值是不是小于设定的值、判断是不是达到最大迭代步数,如果二者有其一是,则停止训练,输出训练好的YOLO9000算法模型,执行步骤S2.4;如果都不是,则执行步骤S2.3:S2.3:根据loss的值更新YOLO9000算法模型中各神经网络的参数并返回步骤S2.1;S2.4:利用测试集对训练好的YOLO9000算法模型进行测试,输出各类的平均精确度AP及平均AP值MAP;S2.5:判断各类的平均精确度AP及平均AP值MAP是否达到要求,如果达到,输出最终的YOLO9000算法模型,否则进行调节参数,返回S2.1重新训练YOLO9000算法模型。优选地,S3中获取待检测的电路板图片,包括以下步骤:S3.1:在焦距、距离电路板的距离、电路板放置的位置均固定的情况下,利用工业摄像头拍摄待检测的电路板;S3.2:检测电路板轮廓,提取电路板部分的图片,获得原图片S3.3:对提取电路板部分的图片进行旋转90度、旋转180度、旋转270度、水平翻转、垂直翻转、水平垂直翻转操作,获取包括原图片的七张图片,用多张图片测试目的是提高测试的准确率;S3.4:输出图片。优选地,步骤S4利用训练好的YOLO9000算法模型对待检测的电路板图片进行检测,包括以下步骤:S4.1:读取待检测电路板的模板;S4.2:向训练好的YOLO9000算法模型依次输入经步骤S3.3操作后的七张图片;S4.3:依次输出检测的结果,包括电子元器件型号类别、位置、置信度;S4.4:把经步骤S3.3中经旋转、翻转的六张图片的检测结果映射回原图片,其中有极性的电子元器件也对应的改变类别;S4.5:得出检测结果。优选地,步骤S4.5中得出检测结果,包括以下步骤:S4.5.1:设置IOU阈值,以原图片检测结果为基础,分别叠加其余六张图片的检测结果,依次检测每张图片,如果与原图片检测结果中的某个位置区域的IOU大于IOU阈值,则为同一位置区域,增加记录该位置区域对应的电子元器件型号类别与置信度;如果与原图片检测结果中的某个电子元器件的IOU小于IOU阈值,则判断为在新的位置检测到电子元器件型号类别,在原图片的检测结果基础上加上该位置区域的位置信息、电子元器件型号类别和置信度;S4.5.2:设置置信度阈值,依次叠加完6张图片的检测结果后,根据记录信息进行判别:1)如果七张图片检测同一位置区域都为一样的电子元器件型号类别,则结果为该电子元器件型号类别;2)如果七张图片检测同一位置区域为k个不同电子元器件型号类别,选取置信度最高的类别作为该位置区域的电子元器件型号类别;3)如果不满七张图片检测同一个位置区域有对应的k个电子元器件型号类别,即有的图片没检测到该区域有电子元器件,但其它图片有,但检测结果不一样,选取置信度最高的电子元器件型号类别作为该位置区域的电子元器件型号类别;4)如果不满7张图片本文档来自技高网...

【技术保护点】
1.一种基于YOLO9000算法的电路板元器件检测方法,其特征在于,包括以下步骤:S1:构建包括电路板图片的数据库,对有极性的电子元器件分为四类,其中,以电路板图片12点钟方向为基准,逆时针45度至顺时针45度范围为上方向分类;以电路板图片3点钟方向为基准,逆时针45度至顺时针45度范围为右方向分类;以电路板图片6点钟方向为基准,逆时针45度至顺时针45度范围为下方向分类;以电路板图片9点钟方向为基准,逆时针45度至顺时针45度范围为左方向分类;S2:利用数据库训练YOLO9000算法模型,得到训练好的YOLO9000算法模型;S3:获取待检测的电路板图片;S4:利用训练好的YOLO9000算法模型对待检测的电路板图片进行检测;S5:输出结果。

【技术特征摘要】
1.一种基于YOLO9000算法的电路板元器件检测方法,其特征在于,包括以下步骤:S1:构建包括电路板图片的数据库,对有极性的电子元器件分为四类,其中,以电路板图片12点钟方向为基准,逆时针45度至顺时针45度范围为上方向分类;以电路板图片3点钟方向为基准,逆时针45度至顺时针45度范围为右方向分类;以电路板图片6点钟方向为基准,逆时针45度至顺时针45度范围为下方向分类;以电路板图片9点钟方向为基准,逆时针45度至顺时针45度范围为左方向分类;S2:利用数据库训练YOLO9000算法模型,得到训练好的YOLO9000算法模型;S3:获取待检测的电路板图片;S4:利用训练好的YOLO9000算法模型对待检测的电路板图片进行检测;S5:输出结果。2.根据权利要求1所述的基于YOLO9000算法的电路板元器件检测方法,其特征在于,步骤S1中构建包括电路板图片的数据库,包括以下步骤:S1.1:提取电路板元器件的信息列表;S1.2:根据信息列表对对应型号的元器件进行拍摄,生成第一数据集;S1.3:对第一数据集进行第一次数据增强,生成第二数据集;S1.4:对第一数据集和第二数据集进行第二次数据增强,生成第三数据集;S1.5:对第一数据集、第二数据集和第三数据集中电子元器件的类别与位置进行标记;S1.6:将标记好的数据集分为训练集、验证集和测试集,作为数据库。3.根据权利要求2所述的基于YOLO9000算法的电路板元器件检测方法,其特征在于,所述第一次数据增强为利用生成对抗网络进行数据增强。4.根据权利要求3所述的基于YOLO9000算法的电路板元器件检测方法,其特征在于,所述第二次数据增强为对第一数据集和第二数据集进行旋转90度、旋转180度、旋转270度、水平翻转、垂直翻转和水平垂直翻转六种方式进行数据增强。5.根据权利要求4所述的基于YOLO9000算法的电路板元器件检测方法,其特征在于,步骤S1.5中对第一数据集、第二数据集和第三数据集中电子元器件的类别与位置进行标记,对有极性的电子元器件再分为四类,其中,以电路板图片12点钟方向为基准,逆时针45度至顺时针45度范围为上方向分类;以电路板图片3点钟方向为基准,逆时针45度至顺时针45度范围为右方向分类;以电路板图片6点钟方向为基准,逆时针45度至顺时针45度范围为下方向分类;以电路板图片9点钟方向为基准,逆时针45度至顺时针45度范围为左方向分类。6.根据权利要求5所述的基于YOLO9000算法的电路板元器件检测方法,其特征在于,步骤S2中利用数据库训练YOLO9000算法模型,得到训练好的YOLO9000算法模型,包括以下步骤:S2.1:将训练集输入YOLO9000算法模型进行前向传播,输出计算结果;S2.2:根据计算结果进行loss计算,并判断最近50次迭代的loss平均值是不是小于设定的值、判断是不是达到最大迭代步数,如果二者有其一是,则停止训练,输出训练好的YOLO9000算法模型,执行步骤S2.4;如果都不是,则执行步骤S2.3:S2.3:根据loss的值更新YOLO9000算法模型中各神经网络的参数并返回步骤S2.1;S2.4:利用测试集对训练好的YOLO9000算法模型...

【专利技术属性】
技术研发人员:陈文帅任志刚吴宗泽付敏跃陈晓聪
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1