一种基于NVIDIAJetsonTX2的PCB缺陷检测系统及方法
未命名
08-18
阅读:99
评论:0

一种基于nvidia jetson tx2的pcb缺陷检测系统及方法
技术领域:
1.本发明涉及pcb缺陷检测技术领域,具体涉及一种基于nvidia jetson tx2的pcb缺陷检测系统及方法。
背景技术:
2.pcb(印制电路板)已经成为人们日常生活中很多电子产品的关键部件,在新能源、汽车、计算机、军事、工业控制等领域有着广泛的应用。pcb生产过程中可能产生的缺陷种类繁多,位置不定,存在缺陷的pcb会使相关电子产品的日常使用存在风险,故在实际检测中对pcb缺陷的检测速度和精度都提出了极高的要求。
3.早期的pcb缺陷检测方法需要凭借检测工人肉眼观测pcb产品,判断是否存在缺陷,检测人员的情绪、身体状态、工作经验等对检测效果影响很大,该检测方法检测精度低,检测速度慢,不符合实际的生产需要。传统的pcb检测方法已经无法满足现在pcb检测的实际需求,图像处理、机器学习、深度学习领域的蓬勃发展,给pcb缺陷检测带来了新的检测方法,这些领域的检测方法凭借非接触检测、检测效率高、检测效果稳定的优势,在pcb缺陷检测任务中有着广阔的应用前景。
技术实现要素:
4.为了克服传统pcb缺陷检测方法存在的检测速度慢、精度不高的问题,本发明提供了一种基于nvidia jetson tx2的pcb缺陷检测系统及方法,可以精确且快速地检测pcb表面常见的缺陷。
5.本发明所要解决的技术问题采用以下的技术方案来实现:
6.本发明的第一个目的是提供一种基于nvidia jetson tx2的pcb缺陷检测系统,包括布置在nvidia jetson tx2板卡上的pcb图像采集模块、缺陷检测模块以及人机交互界面模块。
7.所述pcb图像采集模块利用nvidia jetson tx2上外接的摄像头拍摄待测的pcb图片,采集到的图像传送给缺陷检测模块进行检测。
8.所述缺陷检测模块利用部署在nvidiajetson tx2上的改进yolov5模型对pcb图像采集模块传送来的待测pcb图片进行检测,并输出检测结果,检测结果包括每种缺陷的位置、类别信息以及单张图片的检测耗时。
9.所述人机交互界面模块用于对检测结果进行归纳和分析,显示检测到的pcb缺陷总数、每类pcb缺陷的数目、检测过程的总耗时以及包含标注信息的检测后的pcb图片。
10.本发明的第二个目的是提供一种基于nvidiajetson tx2的pcb缺陷检测方法,包括以下步骤:
11.s1、pcb图像采集模块通过外接摄像头采集pcb图片,并对图片进行裁剪和填充处理,将图片调整到检测模型指定的图片大小,调整后的图片输入到缺陷检测模块;
12.s2、利用部署在nvidia jetson tx2上的改进yolov5模型对采集的pcb图像依次通
过由focus、conv、c3、spp、upsample构成的卷积网络进行特征提取和特征融合,生成包含各种图像语义信息的特征图,再通过大小分别为40
×
40、80
×
80和160
×
160的检测层对图片进行多尺度检测;
13.s3、检测结果输出到人机交互界面上,在检测信息区中显示检测到的pcb缺陷总数、每类pcb缺陷的数目以及检测过程的总耗时,在检测结果区中显示包含标注信息的检测后的pcb图片。
14.步骤s2中,所述改进yolov5模型是在yolov5特征融合网络的第二个concat模块后依次添加c3模块、conv模块和upsample模块,upsample模块的输出与特征提取层模块第一个c3模块的输出在通道维度上进行堆叠,堆叠后的特征图通过c3模块和conv模块进行特征提取,提取后的特征图输入到yolov5特征融合网络中的第二个c3模块,将特征融合网络结构中第四个c3模块的输出通过上采样进行扩展,并与特征融合网络中第三个c3模块的输出进行堆叠,特征融合网络中第五个c3模块的输出通过上采样与第四个c3模块的输出进行堆叠,特征融合网络中第六个c3模块的输出通过上采样与第五个c3模块的输出进行堆叠,增加一层在新的特征融合网络中第三个c3模块输出的尺寸大小为160
×
160的特征图上进行预测的检测层,同时删去yolov5模型在大小为20
×
20的特征图上进行检测的检测层,并把由eca注意力和cbam中的空间注意力机制构成的混合注意力机制模块添加到特征融合网络中每个与concat模块紧邻的c3模块后。
15.步骤s3中,所述人机交互界面分为待测区、参数选择区、功能按钮区、检测结果区和检测信息区。待测区展示待测的pcb图片;参数选择区可以选择检测使用的模型、模型权重、预设的confidence阈值和iou阈值;功能按钮区包括选择本地图片、选择外部图片、选择本地视频、选择外部视频、开始检测、结果保存、结果删除和程序退出;检测结果区展示检测完成后的pcb图片,在图片上利用矩形框标注检测到的缺陷位置,并在矩形框上面标注缺陷类别和置信度,置信度表示模型认为该缺陷属于标注缺陷类别的概率;检测信息区展示检测到的缺陷总数和每类缺陷的具体数目以及检测过程的耗时。
16.本发明所述检测系统包括pcb图像采集模块、缺陷检测模块以及人机交互界面模块,为了提升模型对微小缺陷的检测效果,降低检测过程中的误检率和漏检率,改进yolov5模型在yolov5模型中增加了一个大小为160
×
160的检测头,删除原有的大小为20
×
20的检测头,构建了新的特征融合网络;并在特征融合网络中,把由eca注意力和cbam中的空间注意力机制构成的混合注意力机制模块添加到特征融合网络中每个与concat模块紧邻的c3模块后。
17.本发明的有益效果是:本发明针对传统pcb缺陷方法存在精度低、速度慢以及如今基于图像处理、机器学习和深度学习检测方法存在的模型检测效果不佳、部署工作缺乏等问题,设计了一种基于nvidia jetson tx2的pcb缺陷检测系统及方法,有效提升了pcb缺陷检测的检测精度和检测速度,具有广阔的应用前景。
附图说明:
18.图1为本发明pcb缺陷检测系统的检测流程图;
19.图2为现有yolov5模型的网络结构图;
20.图3为本发明改进yolov5模型的网络结构图;
21.图4为归一化后pcb各类缺陷的分布和大小;
22.图5为pcb缺陷检测的人机交互界面;
23.图6为本发明改进yolov5模型在nvidia jetson tx2上的检测结果。
具体实施方式:
24.为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例和图示,进一步阐述本发明。
25.本发明提供了一种基于nvidia jetson tx2的pcb缺陷检测方法,如图1所示,具体包括如下步骤:
26.s1、构建pcb数据集,对数据集中的数据进行扩充。选择北京大学智能机器人开放实验室提供的开源的pcb缺陷数据集作为模型训练的数据集,pcb数据集图片包含六类缺陷,分别为缺孔(missing hole)、缺口(mouse bite)、铜渣(spurious copper)、短路(short)、开路(open circuit)和毛刺(spur),各类缺陷数目如表1所示。为了解决数据集样本较小的问题,采用图像预处理方法扩充数据集,包括图像旋转、镜像处理、平移、暗化、添加噪声几种预处理方法,扩充后的各类缺陷数目如表2所示。
27.表1pcb各类缺陷的数目
[0028][0029]
表2pcb各类缺陷扩充后的数目
[0030]
[0031][0032]
s2、使用labelimg软件标注每张图片存在的缺陷,标注完成,生成包含标注信息的xml文件。
[0033]
s3、分析pcb数据集中各种缺陷样本的位置和大小。pcb各类缺陷相对于整张pcb图片的相对中心坐标分布信息如图4(a)所示,从图4(a)中可以看出,各类缺陷均匀分布在pcb图片的各个位置,图片边缘处缺陷分布较稀疏。pcb各类缺陷的相对于整张pcb图片的相对宽度和高度信息如图4(b)所示,训练集中的各种缺陷的宽度和高度主要分布在整个图像宽度和高度的6%以内,这些缺陷尺寸小,对模型检测微小缺陷提出了很高的要求。
[0034]
s4、将yolov5检测算法应用的pcb缺陷检测任务中,yolov5检测算法是一种基于卷积神经网络的检测算法,yolov5模型的网络结构图如图2所示,广泛应用于各种实时检测任务中。
[0035]
s5、特征融合网络的改进,在yolov5特征融合网络的第二个concat模块后依次添加c3模块、conv模块和upsample模块,upsample模块的输出与特征提取层模块第一个c3模块的输出在通道维度上进行堆叠,堆叠后的特征图通过c3模块和conv模块进行特征提取,提取后的特征图输入到yolov5特征融合网络中的第二个c3模块;将特征融合网络结构中第四个c3模块的输出通过上采样进行扩展,并与特征融合网络中第三个c3模块的输出进行堆叠,特征融合网络中第五个c3模块的输出通过上采样与第四个c3模块的输出进行堆叠,特征融合网络中第六个c3模块的输出通过上采样与第五个c3模块的输出进行堆叠。
[0036]
s6、特征检测头的优化。增加一层在新的特征融合网络中第三个c3模块输出的尺寸大小为160
×
160的特征图上进行预测的检测层,同时删去yolov5模型在大小为20
×
20的特征图上进行检测的检测层,提升模型的检测速度。
[0037]
s7、混合注意力机制的加入。把由eca注意力和cbam中的空间注意力机制构成的混合注意力机制模块添加到特征融合网络中每个与concat模块紧邻的c3模块后。concat模块负责把宽高尺度相同但来自不同网络层的特征图拼接在一起,c3模块负责整合堆叠后的特征图的特征信息,混合注意力机制模块负责提取特征图中的关键信息,忽略无用的信息,该混合注意力机制包括eca网络和cbam中的空间注意力网络,使得网络既能够实现跨通道特性信息交互,又能够获取不同空间上的特征信息,从而增强模型的检测精度,改进yolov5模型的网络结构图如图3所示。
[0038]
s8、数据集划分。在pcb缺陷检测任务中,构建的pcb数据集的数据量偏少,为了简化数据集的划分,采用固定比例划分的方法,按照8:1:1的比例划分训练集、验证集、测试集,赋予训练集较大比例,保证训练数据样本量的充足。
[0039]
s9、标注信息归一化。在yolo算法中需要对数据集的中的位置信息进行归一化,这
样可以提高模型的训练速度。yolo算法中采用的数据归一化流程如下:
[0040]
(1)给定图片的宽度w和高度h,单个缺陷的四个坐标信息xmin、xmax、ymin和ymax;
[0041]
(2)计算包含缺陷信息的矩形框的宽度w1和高度h1;
[0042]
w1 = xmax
ꢀ–ꢀ
xmin
ꢀꢀ
(1)
[0043]
h1 = ymax
ꢀ–ꢀ
ymin
ꢀꢀ
(2)
[0044]
(3)计算矩形框的中点位置x、y;
[0045][0046][0047]
(4)归一化操作得到xout、yout、wout和hout;
[0048][0049][0050]
xout = x
ꢀ×ꢀ
dw
ꢀꢀ
(7)
[0051]
yout = y
ꢀ×ꢀ
dh
ꢀꢀ
(8)
[0052]
wout = w1
ꢀ×ꢀ
dw
ꢀꢀ
(9)
[0053]
hout = h1
ꢀ×ꢀ
dh
ꢀꢀ
(10)
[0054]
通过上述计算,得到每个标注信息的归一化操作后的xout、yout、wout和hout。
[0055]
s10、设置模型训练的超参数。训练中采用的超参数如表3所示。
[0056]
表3模型训练主要超参数设置
[0057][0058]
s11、开始模型训练,训练结束生成模型权重。在pcb缺陷检测实验中,模型训练采用的硬件环境和软件环境分别如表4、表5所示。采用的权重是原始模型在coco数据集上训练得到的权重,利用迁移学习的知识,模型在pcb数据集上进行迁移训练。模型训练结束后,得到包含权重信息的pt文件。
[0059]
表4硬件环境
[0060][0061]
表5软件环境
[0062][0063][0064]
s12、训练结果分析。为了验证改进yolov5模型在台式机上的训练结果,本发明分别列举了单阶段经典目标检测算法yolov3、yolov3-spp、retinanet网络和双阶段经典目标检测算法faster r-cnn在pcb数据集上的台式机上性能,主要从模型精度、模型生成的权重大小以及模型的检测速度三个方面进行分析,具体数据如表6所示。
[0065]
表6不同检测算法在pcb数据集上的检测性能
[0066][0067]
从表6中的数据可以看出,本发明提出的改进yolov5模型的map@0.5和map@0.5:0.95分别达到0.986和0.554,模型的权重文件只有15.5m,模型的检测速度达到143fps。相
较于其它几种模型,本发明提出的改进yolov5模型的检测精度最高,检测速度最快,模型权重也最小。
[0068]
s13、利用tensorrt将台式机上训练的改进yolov5模型部署到tx2板卡上。
[0069]
s14、搭建检测平台。将待测的pcb样品放置在检测工作台上,在检测台上方安装罗技pro c920摄像头,摄像头通过usb线连接到nvidia jetson tx2板卡上,从顶部拍摄pcb样品。
[0070]
s15、在nvidia jetson tx2上开启模型检测,通过外接摄像头拍摄检测工作台上的pcb样品。
[0071]
s16、对输入图像进行裁剪或填充,把图像大小调整到检测模型的预设大小。
[0072]
s17、预处理后的图像输入到nvidia jetson tx2上的改进yolov5模型中,模型对图像进行网格化划分,每个网格负责检测目标中心落在该网格内的物体,并需要预测b个边界框,边界框预测的结果包括四个位置信息和一个置信度分数confidence,confidence表达式如式(11)所示,confidence参数包含了预测的边界框包含物体的概率信息和这个边界框与目标真实位置的重合程度信息,位置的重合程度采用iou来表示,其表达式如式(12)所示,iou参数越大,代表预测框与真实框的重叠程度越高。每个网格还要负责类别预测任务,预测的结果需要通过nms算法删除冗余的边界框,得到最终的检测结果。
[0073]
confidence=pr(object)
×
iou (11)
[0074]
式中,当网格中没有待测物体时,pr(object)=0,当网格中存在待测物体,pr(object)=1,iou代表预测框与真实框的交并比。
[0075][0076]
式中,a、b分别代表模型预测的矩形框与真实包含物体的矩形框。
[0077]
s18、检测完成,模型利用矩形框准确标记出检测到的所有缺陷位置,并在矩形框上方标记出置信度分数。
[0078]
s19、统计检测到的所有缺陷数目、每类缺陷数目以及检测过程总耗时。
[0079]
s20、将检测结果输送给人机交互界面,人机交互界面如图5所示,检测的结果展示在交互界面的检测结果区,并在检测信息区显示检测的具体信息。
[0080]
s21、改进yolov5模型在nvidia jetson tx2上对pcb六类缺陷的检测效果如图6所示。从图6中可以看出,改进yolov5模型能够精确的检测出每张图片中存在的missing hole、mouse bite、open circuit、short、spur和spurious copper六类缺陷,且缺陷位置预测准确,基本符合pcb缺陷检测模型部署的实际需求。
[0081]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
技术特征:
1.一种基于nvidiajetson tx2的pcb缺陷检测系统,其特征在于:包括布置在nvidiajetson tx2板卡上的pcb图像采集模块、缺陷检测模块以及人机交互界面模块。2.根据权利要求1所述的pcb缺陷检测系统,其特征在于:所述pcb图像采集模块利用nvidiajetson tx2上外接的摄像头拍摄待测的pcb图片,采集到的图像传送给缺陷检测模块进行检测。3.根据权利要求1所述的pcb缺陷检测系统,其特征在于:所述缺陷检测模块利用部署在nvidiajetson tx2上的改进yolov5模型对pcb图像采集模块传送来的待测pcb图片进行检测,并输出检测结果,检测结果包括每种缺陷的位置、类别信息以及单张图片的检测耗时。4.根据权利要求1所述的pcb缺陷检测系统,其特征在于:所述人机交互界面模块用于对检测结果进行归纳和分析,显示检测到的pcb缺陷总数、每类pcb缺陷的数目、检测过程的总耗时以及包含标注信息的检测后的pcb图片。5.一种基于nvidiajetson tx2的pcb缺陷检测方法,通过应用权利要求1-4任一项所述的pcb缺陷检测系统实现,其特征在于,包括以下步骤:s1、pcb图像采集模块通过外接摄像头采集pcb图片,并对图片进行裁剪和填充处理,将图片调整到检测模型指定的图片大小,调整后的图片输入到缺陷检测模块;s2、利用部署在nvidia jetson tx2上的改进yolov5模型对采集的pcb图像依次通过由focus、conv、c3、spp、upsample构成的卷积网络进行特征提取和特征融合,生成包含各种图像语义信息的特征图,再通过大小分别为40
×
40、80
×
80和160
×
160的检测层对图片进行多尺度检测;s3、检测结果输出到人机交互界面上,在检测信息区中显示检测到的pcb缺陷总数、每类pcb缺陷的数目以及检测过程的总耗时,在检测结果区中显示包含标注信息的检测后的pcb图片。6.根据权利要求5所述的pcb缺陷检测方法,其特征在于:步骤s2中,所述改进yolov5模型是在yolov5特征融合网络的第二个concat模块后依次添加c3模块、conv模块和upsample模块,upsample模块的输出与特征提取层模块第一个c3模块的输出在通道维度上进行堆叠,堆叠后的特征图通过c3模块和conv模块进行特征提取,提取后的特征图输入到yolov5特征融合网络中的第二个c3模块,将特征融合网络结构中第四个c3模块的输出通过上采样进行扩展,并与特征融合网络中第三个c3模块的输出进行堆叠,特征融合网络中第五个c3模块的输出通过上采样与第四个c3模块的输出进行堆叠,特征融合网络中第六个c3模块的输出通过上采样与第五个c3模块的输出进行堆叠,增加一层在新的特征融合网络中第三个c3模块输出的尺寸大小为160
×
160的特征图上进行预测的检测层,同时删去yolov5模型在大小为20
×
20的特征图上进行检测的检测层,并把由eca注意力和cbam中的空间注意力机制构成的混合注意力机制模块添加到特征融合网络中每个与concat模块紧邻的c3模块后。7.根据权利要求5所述的pcb缺陷检测方法,其特征在于:步骤s3中,所述人机交互界面分为待测区、参数选择区、功能按钮区、检测结果区和检测信息区。8.根据权利要求7所述的pcb缺陷检测方法,其特征在于:所述待测区展示待测的pcb图片;所述参数选择区选择检测使用的模型、模型权重、预设的confidence阈值和iou阈值;所述功能按钮区包括选择本地图片、选择外部图片、选择本地视频、选择外部视频、开始检测、
结果保存、结果删除和程序退出;所述检测结果区展示检测完成后的pcb图片,在图片上利用矩形框标注检测到的缺陷位置,并在矩形框上面标注缺陷类别和置信度;所述检测信息区展示检测到的缺陷总数和每类缺陷的具体数目以及检测过程的耗时。
技术总结
本发明公开了一种基于NVIDIA Jetson TX2的PCB缺陷检测系统及方法,涉及PCB缺陷检测技术领域,本发明针对传统PCB缺陷方法存在精度低、速度慢以及如今基于图像处理、机器学习和深度学习检测方法存在的模型检测效果不佳、部署工作缺乏等问题,设计了一种基于NVIDIA Jetson TX2的PCB缺陷检测系统及方法,有效提升了PCB缺陷检测的检测精度和检测速度,具有广阔的应用前景。广阔的应用前景。广阔的应用前景。
技术研发人员:舒双宝 张宇 郎贤礼
受保护的技术使用者:合肥工业大学
技术研发日:2023.05.17
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/