深度学习实战电路板缺陷检测【数据集+YOLOv5模型+源码+PyQt5界面】

news/2024/9/19 4:30:38/ 标签: 深度学习, YOLO, 人工智能, 计算机视觉, python, pyqt

在这里插入图片描述

基于深度学习的电路板缺陷检测-

文章目录

  • 研究背景
      • 1. 电路板制造的重要性
      • 2. 传统检测方法的局限性
      • 3. 深度学习技术的兴起
      • 4. 深度学习在缺陷检测中的应用
      • 5. 研究进展
      • 6. 面临的挑战
      • 7. 结论
  • 代码下载链接
  • 一、效果演示
    • 1.1 图像演示
    • 1.2 视频演示
    • 1.3 摄像头演示
  • 二、技术原理
    • 2.1 整体流程
    • 2.2 电路板缺陷数据集介绍
    • 2.3 YOLOV5电路板缺陷检测原理
      • 2.3.1 概述
      • 2.3.2 输入层
      • 2.3.3 Backbone层
      • 2.3.4 Backbone层
      • 2.3.5 Head层
    • 2.4 模型训练
      • 2.4.1 Conda环境构建
      • 2.4.2 基础环境构建
      • 2.4.3 安装YOLOv5环境
      • 2.4.4 构建电路板缺陷检测模型
      • 2.4.5 电路板缺陷数据集标记与校验
      • 2.4.6 电路板缺陷检测模型训练
      • 2.4.7 电路板缺陷验证测试
  • 代码下载链接
  • 参考文献


研究背景

  深度学习在电路板缺陷检测领域的应用是工业自动化和质量控制的重要方向。随着电子制造业的快速发展,电路板的复杂性和精细度不断提高,传统的人工检测方法已经难以满足高效率和高精度的要求。因此,利用深度学习技术进行自动化的电路板缺陷检测成为了研究的热点。以下是关于深度学习电路板缺陷检测研究背景的详细阐述:

1. 电路板制造的重要性

电路板(Printed Circuit Board, PCB)是现代电子设备中不可或缺的组成部分,它们承载着电子元件并确保这些元件之间的电气连接。电路板的质量直接影响到电子产品的性能和可靠性。因此,电路板的制造过程需要严格的质量控制。

2. 传统检测方法的局限性

传统的电路板缺陷检测主要依赖于人工视觉检查或简单的自动化设备。这些方法存在以下局限性:

  • 效率低下:人工检测速度慢,难以应对大规模生产的需求。
  • 主观性强:人工检测易受操作者疲劳、情绪等因素的影响,导致检测结果不稳定。
  • 精度有限:对于微小或隐蔽的缺陷,人工检测难以发现。

3. 深度学习技术的兴起

深度学习是机器学习的一个分支,它通过构建多层次的神经网络来学习数据的高层特征。近年来,深度学习在图像识别、语音处理等领域取得了显著的成果。特别是在图像识别领域,深度学习模型如卷积神经网络(CNN)已经证明了其在图像特征提取方面的强大能力。

4. 深度学习在缺陷检测中的应用

深度学习应用于电路板缺陷检测,可以有效地解决传统方法的局限性:

  • 自动化程度高深度学习模型可以自动从大量图像数据中学习缺陷特征,实现自动化检测。
  • 检测精度高深度学习模型能够识别微小或复杂的缺陷,提高检测的准确性。
  • 适应性强:通过持续学习新的数据,深度学习模型可以适应不同的电路板类型和缺陷模式。

5. 研究进展

目前,深度学习在电路板缺陷检测领域的研究主要集中在以下几个方面:

  • 数据集的构建:收集和标注大量的电路板图像数据,为模型训练提供基础。
  • 模型的优化:研究和设计适合电路板缺陷检测的深度学习模型,如改进的卷积神经网络。
  • 检测算法的改进:开发高效的算法,提高缺陷检测的速度和准确性。
  • 系统集成:将深度学习模型集成到电路板生产线中,实现实时在线检测。

6. 面临的挑战

尽管深度学习在电路板缺陷检测中展现出巨大的潜力,但仍面临一些挑战:

  • 数据获取难度:高质量的标注数据获取成本高,且需要专业知识。
  • 模型泛化能力:模型在特定数据集上表现良好,但在不同环境或条件下的泛化能力有待提高。
  • 计算资源需求深度学习模型训练和推理需要大量的计算资源,对硬件设备有较高要求。

7. 结论

深度学习技术为电路板缺陷检测提供了新的解决方案,通过自动化和高精度的检测,有助于提高电子制造业的生产效率和产品质量。随着技术的不断发展和优化,深度学习在电路板缺陷检测领域的应用前景广阔。


觉得不错的小伙伴,感谢点赞、关注加收藏哦!更多干货内容持续更新…

代码下载链接

关注博主的G Z H【小蜜蜂视觉】,回复【电路板缺陷检测】即可获取下载方式


  若您想获得博文中涉及的实现完整全部程序文件(包括系统UI设计文件,电路板缺陷测试数据集、py文件,模型权重文件,调试说明等),代码获取与技术指导,具体见可参考博客与视频,已将所有涉及的文件同时打包到里面,软件安装调试有具体说明,我们有专业的调试技术人员,将远程协助客户调试,具体请看安装调试说明.txt,完整文件截图如下:
在这里插入图片描述

一、效果演示

  本文构建的电路板缺陷检测系统基于PyQt5构建,支持图像、视频、摄像头以及RTSP等数据源输入。

1.1 图像演示

在这里插入图片描述

1.2 视频演示

在这里插入图片描述

1.3 摄像头演示

在这里插入图片描述

二、技术原理

2.1 整体流程

  深度学习电路板缺陷检测技术的目标是从输入图像中准确地定位手写的位置,通常是通过目标检测技术来实现。

  1. 数据准备: 首先,需要准备电路板缺陷数据集。

  2. 网络架构: 选择一个适合电路板缺陷定位任务的深度学习网络架构。一种常见的选择是基于卷积神经网络(CNN)的架构,例如Faster R-CNN、YOLO(You Only Look Once)或SSD(Single Shot MultiBox Detector)。这些网络可以同时预测边界框的位置和类别,适用于目标检测任务。

  3. 训练: 使用准备好的训练数据集对所选网络架构进行训练。训练过程涉及将输入图像传递给网络,然后通过反向传播优化网络的权重,使其能够准确地预测电路缺陷位置。训练数据中的每个样本都包括输入图像和相应的缺陷位置标注。

  4. 预测: 在训练完成后,将训练得到的网络应用于新的图像。通过将图像输入网络,网络将输出电路缺陷位置的预测结果,这通常是一个边界框或四个关键点的坐标。

  5. 后处理: 根据网络输出的预测结果,可以使用一些后处理技术来提高定位的准确性。例如,可以使用非极大值抑制(NMS)来抑制重叠的边界框,只保留最有可能的车牌位置。

  6. 评估和调优: 对预测结果进行评估,可以使用评价指标如IoU(Intersection over Union)来衡量预测框与真实标注框的重叠程度。根据评估结果,可以对网络架构、训练参数等进行调优,以提高定位的准确性和稳定性。

2.2 电路板缺陷数据集介绍

  电路板缺陷数据集一共690张图象左右,包含六种缺陷,missing_hole【缺失孔】, mouse_bite【鼠咬】, open_circuit【开路】, short【短路】, spur【杂散】, spurious_copper【杂铜】,如下图所示
在这里插入图片描述

YOLOV5_99">2.3 YOLOV5电路板缺陷检测原理

2.3.1 概述

  YOLOv5算法是一种单阶段目标检测算法,其网络结构主要由输入端(Input)、主干网络Backbone)、特征融合模块(Neck )和预测层(Head)4个部分组成。如下图所示。
在这里插入图片描述
  对不同尺寸的目标进行检测时,输入图片经过处理后变成大小为640×640的图片,再输入骨干网络处理得到20×20 、40×40、80×80 三种特征图,再将三种不同尺度的特征图进行融合,使得网络学习同时兼顾目标的顶层和底层特征。

2.3.2 输入层

  为了提升模型的泛化能力,在YOLOv5 中增加了Mosaic数据增强方式,即从一个 batch 中随机选取 4 张图片,并将图片进行随机缩放、裁剪,再拼接成一个设定边长的训练样本,作为训练集图片送入神经网络。这样做可以在不改变原来的数据集数量的基础上获得更多数据特征进行训练,既能有效提高系统的鲁棒性,也能在一定程度上减少GPU 的损耗,也可以加快网络训练速度。马赛克数据增强原理如下图所示。
在这里插入图片描述

2.3.3 Backbone层

  YOLOv5 中的主干网络 Backbone 主要作用是提取输入图像的目标特征,使用了Focus结构作为Backbone中的基准网络,网络结构模型为CSPDarknet53 ,并通过切片操作来获得得到二倍下采样图,可以有效增强主干网络特征提取能力。
1)Focus 结构
输入的图像先经过 Focus 模块,进行切片操作,即在图片中每隔像素值进行取值,得到四张互补的输入图像,再输入骨干网络进行处理,从而达到对系统提速的效果。Focus结构如下图所示。
在这里插入图片描述
2)CSP 结构
  YOLOv5 中的 CSP 结构主要用于增强主干网络提取深层图的信息,常用的CSP 结构主要有两种,被用于 Backbone 主干网络的是CSP1 模块,被用于特征融合Neck结构的是CSP2 模块。CSP1 模块能有效减少网络计算量和保证网络模型整体的准确性,其结构共有两个分支,一个分支连接残差组件,另一分支在卷积后通过 Concat 方式和上一分支相连接。结构如下图所示。
在这里插入图片描述
  CBL 模块主要由图像的卷积、批量标准化操作和 Leaky_Relu 激活函数组成,如下图所示。

在这里插入图片描述
残差结构 Resunit 主要用于防止当网络深度加深时网络性能退化,如下图所示。
在这里插入图片描述
  SPP 模块主要用于把输入图像送入池化层中,获得不同的池化特征值,再将这些池化特征值和原图的特征值用Concat进行连接,使得在不影响网络的训练速率的前提下,显著分离图像特征值,如下图所示。

在这里插入图片描述

2.3.4 Backbone层

  YOLOv5中的Neck 层主要用于将 Backbone 结构中提取到的目标特征进行融合,再输入 Head 层。在YOLOv5的Neck模块中采用FPN+PAN网络结构和CSP2 模块来增加特征融合能力。其中, 特征金字塔网络(FPN),主要用于采集图像中的高层信息,并将其传递给低层,路径聚合网络(PAN),则相反,将目标位置信息由低层传递给高层,从而有效提高目标识别的准确性,如下图所示。

在这里插入图片描述

2.3.5 Head层

  YOLOv5 的 Head 层主要功能是对经过 Neck 结构特征融合后的目标进行类别的判断和预测。Head 层主要包含损失函数和非极大值抑制两部分,损失函数用于评价训练时预测值与真实值之间的误差程度。其中,YOLOv5 以 GIOU_Loss 做为损失函数,其数值越小,说明模型的预测效果越好。非极大值抑制处理主要用于对最后的目标检测框进行非极大值抑制处理,保留最优目标框,提高了目标识别的准确性。

2.4 模型训练

模型训练主要分为如下几步:

2.4.1 Conda环境构建

  新人安装Anaconda环境可以参考博主写的文章Anaconda3与PyCharm安装配置保姆教程

2.4.2 基础环境构建

  新人安装PyTorch GPU版本可以参考博主写的文章基于conda的PyTorch深度学习框架GPU安装教程

YOLOv5_141">2.4.3 安装YOLOv5环境

python">conda create -n yolov5 python=3.8
conda activate yolov5
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
pip install -r requirement.txt

2.4.4 构建电路板缺陷检测模型

python"># Parameters
nc: 6  # number of classes
depth_multiple: 0.33  # model depth multiple
width_multiple: 0.50  # layer channel multiple
anchors:- [10,13, 16,30, 33,23]  # P3/8- [30,61, 62,45, 59,119]  # P4/16- [116,90, 156,198, 373,326]  # P5/32# YOLOv5 v6.0 backbone
backbone:# [from, number, module, args][[-1, 1, Conv, [64, 6, 2, 2]],  # 0-P1/2[-1, 1, Conv, [128, 3, 2]],  # 1-P2/4[-1, 3, C3, [128]],[-1, 1, Conv, [256, 3, 2]],  # 3-P3/8[-1, 6, C3, [256]],[-1, 1, Conv, [512, 3, 2]],  # 5-P4/16[-1, 9, C3, [512]],[-1, 1, Conv, [1024, 3, 2]],  # 7-P5/32[-1, 3, C3, [1024]],[-1, 1, SPPF, [1024, 5]],  # 9]# YOLOv5 v6.0 head
head:[[-1, 1, Conv, [512, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 6], 1, Concat, [1]],  # cat backbone P4[-1, 3, C3, [512, False]],  # 13[-1, 1, Conv, [256, 1, 1]],[-1, 1, nn.Upsample, [None, 2, 'nearest']],[[-1, 4], 1, Concat, [1]],  # cat backbone P3[-1, 3, C3, [256, False]],  # 17 (P3/8-small)[-1, 1, Conv, [256, 3, 2]],[[-1, 14], 1, Concat, [1]],  # cat head P4[-1, 3, C3, [512, False]],  # 20 (P4/16-medium)[-1, 1, Conv, [512, 3, 2]],[[-1, 10], 1, Concat, [1]],  # cat head P5[-1, 3, C3, [1024, False]],  # 23 (P5/32-large)[[17, 20, 23], 1, Detect, [nc, anchors]],  # Detect(P3, P4, P5)]

2.4.5 电路板缺陷数据集标记与校验

  数据集按照7:2:1的比例划分,即训练集70%,验证集20%,测试集10%,标注格式采用yolo格式组织

python">pcbDefectimagestrainimage1.jpgimage2.jpg...valimage11.jpgimage22.jpg...testimage111.jpgimage222.jpg...labelstrainimage1.txtimage2.txt...valimage11.txtimage22.txt...testimage111.txtimage222.txt...

在这里插入图片描述

2.4.6 电路板缺陷检测模型训练

python">
python train.py --data data/pcbDefect.yaml --weights weights/yolo5s.pt --epochs 200 --img 640 --batch 32
python">epoch,      train/box_loss,      train/obj_loss,      train/cls_loss,   metrics/precision,      metrics/recall,     metrics/mAP_0.5,metrics/mAP_0.5:0.95,        val/box_loss,        val/obj_loss,        val/cls_loss,               x/lr0,               x/lr1,               x/lr20,             0.12484,             0.02737,             0.05086,                   0,                   0,                   0,                   0,            0.099175,            0.022928,            0.041956,              0.0003,              0.0003,              0.09731,              0.1142,            0.023805,            0.047829,          1.8484e-05,           0.0019608,          9.3664e-06,          4.6832e-06,            0.094973,            0.022314,            0.040621,          0.00060698,          0.00060698,            0.0945072,             0.12133,            0.023373,            0.048619,          2.3914e-05,           0.0039216,          1.2268e-05,          3.0787e-06,             0.09351,             0.02185,            0.039008,          0.00091089,          0.00091089,            0.0917113,             0.10872,            0.022898,            0.045056,                   0,                   0,                   0,                   0,            0.090055,            0.023763,             0.03879,           0.0012117,           0.0012117,            0.0889124,             0.10918,              0.0239,            0.043116,           8.742e-06,           0.0019608,          4.7785e-06,          9.5569e-07,            0.088986,            0.023305,             0.03792,           0.0015095,           0.0015095,             0.086115,             0.10875,            0.024434,            0.043995,          0.00019947,            0.010214,          0.00010997,          2.6007e-05,            0.088992,            0.022971,            0.037073,           0.0018042,           0.0018042,            0.0833046,             0.11414,            0.025017,            0.043744,                   0,                   0,                   0,                   0,            0.085712,            0.025487,            0.036888,           0.0020958,           0.0020958,            0.0804967,             0.10827,            0.026964,            0.042441,             0.16709,           0.0024155,          2.6152e-05,          2.6152e-06,            0.084743,            0.025547,            0.035558,           0.0023844,           0.0023844,            0.0776848,             0.10007,            0.027432,            0.040806,          0.00018402,            0.024385,           0.0001051,          4.1652e-05,            0.083923,            0.025623,            0.034752,           0.0026699,           0.0026699,             0.074879,              0.1022,            0.027681,            0.038991,             0.83637,           0.0048309,            0.000838,          0.00016014,             0.08344,            0.025185,            0.033924,           0.0029523,           0.0029523,            0.07205210,             0.10668,            0.028629,            0.041762,           0.0043043,             0.11947,           0.0028779,          0.00070002,            0.081718,            0.026008,             0.03363,           0.0032317,           0.0032317,            0.06923211,            0.094817,            0.028187,            0.037223,            0.010421,             0.13669,           0.0064485,           0.0023622,            0.079839,            0.026461,             0.03251,            0.003508,            0.003508,            0.06640812,             0.10223,            0.029149,             0.03979,             0.08995,             0.11447,            0.026334,           0.0071619,            0.077197,            0.026976,            0.031045,           0.0037812,           0.0037812,            0.06358113,            0.096238,            0.030066,            0.033945,             0.29717,             0.12115,            0.046143,            0.011257,            0.073834,             0.02661,             0.03009,           0.0040514,           0.0040514,            0.06075114,            0.093807,            0.029488,            0.033628,             0.29149,             0.20257,             0.09556,             0.02552,            0.064574,            0.026527,            0.028707,           0.0043184,           0.0043184,            0.05791815,            0.086757,            0.029328,            0.036134,             0.34997,             0.20591,             0.12756,            0.032759,            0.058909,            0.025801,             0.02892,           0.0045825,           0.0045825,            0.05508216,            0.076235,            0.028122,            0.033492,             0.26873,             0.16685,            0.082917,            0.023012,             0.06048,            0.023564,            0.028187,           0.0048434,           0.0048434,            0.05224317,            0.081788,            0.027419,            0.036132,              0.1771,             0.27427,             0.13825,            0.038245,            0.054586,            0.023455,            0.026885,           0.0051013,           0.0051013,            0.04940118,            0.072503,             0.02621,            0.035861,             0.19031,             0.26175,             0.13786,            0.039231,            0.055165,             0.02206,            0.026718,           0.0053561,           0.0053561,            0.04655619,            0.075154,            0.025401,            0.035481,             0.13098,             0.29517,             0.15981,            0.051945,            0.053173,             0.02305,            0.026441,           0.0056078,           0.0056078,            0.04370820,             0.07247,            0.027697,            0.034355,             0.16031,               0.387,             0.19065,            0.063287,            0.050783,            0.023427,              0.0259,           0.0058565,           0.0058565,            0.04085621,            0.070079,            0.024609,             0.03242,              0.2172,             0.40022,             0.22486,            0.070513,            0.051542,            0.020548,             0.02562,           0.0061021,           0.0061021,            0.03800222,            0.072638,            0.023778,            0.033797,             0.23871,             0.40299,             0.23364,            0.079628,            0.048709,            0.019411,            0.025403,           0.0063446,           0.0063446,            0.03514523,            0.067763,            0.023429,            0.031075,             0.30583,             0.42377,             0.31444,              0.1101,            0.045775,            0.018809,            0.024514,           0.0065841,           0.0065841,            0.03228424,            0.068432,             0.02275,            0.031787,             0.23464,             0.47114,             0.25414,            0.076288,            0.045868,            0.017216,            0.023834,           0.0068205,           0.0068205,             0.0294225,             0.06421,            0.021766,            0.029952,             0.36794,             0.46555,             0.42251,             0.16531,            0.044276,            0.016465,            0.022828,           0.0070538,           0.0070538,            0.02655426,            0.060759,             0.02159,            0.028128,             0.29827,             0.53119,             0.39159,             0.13732,             0.04389,            0.016635,            0.021993,           0.0072841,           0.0072841,            0.02368427,             0.06263,            0.021824,            0.029637,             0.37995,             0.49254,             0.40589,             0.13539,            0.044346,            0.017079,            0.020667,           0.0075113,           0.0075113,            0.02081128,            0.061617,            0.021408,            0.024676,             0.38632,             0.54125,             0.46086,             0.16602,            0.044787,            0.016174,            0.019635,           0.0077354,           0.0077354,            0.01793529,            0.065169,            0.020749,            0.026807,             0.38223,             0.60098,             0.45897,             0.15665,            0.045328,            0.016849,                0.02,           0.0079564,           0.0079564,            0.01505630,            0.063139,             0.02049,            0.024576,              0.4257,             0.46196,             0.40128,             0.14993,            0.044961,            0.019111,            0.018987,           0.0081744,           0.0081744,            0.01217431,            0.067716,            0.020788,             0.02591,             0.39936,             0.57545,             0.44998,                0.16,            0.044199,            0.016384,            0.017622,           0.0083893,           0.0083893,           0.009289332,            0.056865,            0.019899,            0.023785,              0.4629,             0.68263,             0.54684,             0.17261,            0.044873,            0.015662,            0.015883,            0.008416,            0.008416,            0.00841633,            0.058964,             0.01995,            0.021784,             0.55403,             0.58913,              0.5685,             0.22085,            0.040284,            0.015942,             0.01443,            0.008416,            0.008416,            0.00841634,            0.058454,            0.019378,            0.020485,             0.42254,             0.70449,             0.54222,             0.21409,            0.046571,            0.014397,            0.013292,           0.0083665,           0.0083665,           0.008366535,            0.058928,             0.02042,            0.019211,             0.60793,             0.70669,             0.64054,             0.25293,            0.041433,            0.014017,            0.012946,            0.008317,            0.008317,            0.00831736,            0.054344,            0.019364,            0.018559,             0.63038,             0.63844,             0.60525,               0.214,            0.040027,            0.014703,             0.01273,           0.0082675,           0.0082675,           0.008267537,            0.056027,            0.018725,            0.019346,             0.58863,             0.65128,             0.61601,              0.2186,             0.04146,            0.014097,            0.012551,            0.008218,            0.008218,            0.00821838,            0.051582,            0.017833,            0.017648,             0.65324,             0.68514,             0.66436,             0.26664,            0.037995,            0.014601,            0.011902,           0.0081685,           0.0081685,           0.008168539,            0.056378,            0.019822,            0.019619,             0.64028,             0.69426,             0.64908,             0.26194,            0.038427,            0.015223,            0.012832,            0.008119,            0.008119,            0.00811940,            0.055912,            0.019035,            0.019743,             0.56056,             0.66146,             0.61191,             0.24558,              0.0392,             0.01611,            0.012616,           0.0080695,           0.0080695,           0.008069541,            0.057096,            0.018863,            0.018639,             0.60676,             0.65111,             0.64875,             0.24476,            0.037914,            0.015474,            0.012516,             0.00802,             0.00802,             0.0080242,            0.052602,            0.018758,            0.016409,             0.73267,             0.65367,             0.66801,             0.24529,            0.039337,            0.014857,            0.010857,           0.0079705,           0.0079705,           0.007970543,            0.052403,             0.01904,            0.016651,             0.66987,             0.65322,             0.65329,             0.23442,            0.038708,            0.014813,            0.010211,            0.007921,            0.007921,            0.00792144,            0.054819,            0.018756,            0.016562,               0.726,             0.71208,             0.72272,             0.28136,            0.038059,            0.014965,            0.011355,           0.0078715,           0.0078715,           0.007871545,            0.051945,            0.018247,             0.01558,             0.65716,             0.74192,             0.71502,             0.29463,            0.036035,            0.014914,            0.010335,            0.007822,            0.007822,            0.00782246,            0.048662,            0.018387,             0.01261,             0.75183,             0.74856,             0.78253,             0.32716,            0.035286,            0.013997,             0.00908,           0.0077725,           0.0077725,           0.007772547,            0.051778,            0.018055,            0.013956,             0.75034,             0.74415,             0.78651,             0.32863,            0.037475,            0.013481,           0.0087572,            0.007723,            0.007723,            0.00772348,             0.04879,            0.017522,            0.014655,             0.84672,             0.77846,             0.83463,             0.36633,             0.03312,            0.013482,            0.008113,           0.0076735,           0.0076735,           0.007673549,            0.045367,            0.016369,            0.011432,             0.88172,             0.78395,              0.8345,             0.36982,            0.034699,              0.0136,           0.0077343,            0.007624,            0.007624,            0.00762450,            0.049162,            0.017486,            0.013406,             0.87596,             0.78937,             0.85484,              0.3911,            0.033765,            0.013094,           0.0071882,           0.0075745,           0.0075745,           0.007574551,            0.048895,             0.01649,            0.010995,               0.818,             0.76106,             0.79677,             0.31772,            0.035831,            0.013744,           0.0072649,            0.007525,            0.007525,            0.00752552,            0.048196,             0.01597,            0.012448,             0.91648,             0.79214,             0.87183,             0.39436,            0.033049,            0.012967,           0.0064913,           0.0074755,           0.0074755,           0.007475553,            0.049006,            0.016843,            0.012422,             0.89503,             0.82083,             0.85232,             0.35166,            0.034703,            0.013242,           0.0060425,            0.007426,            0.007426,            0.00742654,            0.045039,            0.016665,            0.010964,             0.88004,             0.76269,             0.82095,             0.34482,            0.035443,             0.01379,           0.0058685,           0.0073765,           0.0073765,           0.007376555,            0.049921,            0.017242,             0.01021,              0.8134,             0.69093,             0.73544,             0.27637,            0.037711,             0.01636,           0.0078486,            0.007327,            0.007327,            0.00732756,            0.045715,            0.016572,            0.010712,             0.89924,              0.7686,              0.8494,             0.34522,            0.033694,            0.014355,           0.0064229,           0.0072775,           0.0072775,           0.007277557,            0.045321,             0.01685,           0.0097301,             0.93359,             0.78541,             0.86524,             0.35157,             0.03404,            0.013498,           0.0055048,            0.007228,            0.007228,            0.00722858,            0.045265,             0.01607,           0.0089117,             0.92405,             0.80675,             0.86445,             0.36384,            0.032952,            0.012936,           0.0052725,           0.0071785,           0.0071785,           0.007178559,            0.046811,            0.017249,           0.0079751,             0.88507,             0.77521,             0.85653,             0.35136,            0.034862,            0.013452,            0.005372,            0.007129,            0.007129,            0.00712960,            0.044543,            0.016109,            0.010059,             0.92684,             0.82112,             0.89208,             0.39844,            0.031855,            0.013012,           0.0046403,           0.0070795,           0.0070795,           0.007079561,             0.04393,            0.016937,            0.010026,             0.96179,             0.79142,             0.88832,              0.3887,            0.032853,            0.013447,            0.004644,             0.00703,             0.00703,             0.0070362,             0.04447,            0.017083,             0.00857,             0.91542,             0.81076,             0.85554,             0.37937,            0.033633,            0.012946,           0.0044348,           0.0069805,           0.0069805,           0.006980563,            0.048069,            0.015914,            0.010106,             0.88183,             0.83371,             0.88729,             0.38924,            0.035211,            0.012345,           0.0043419,            0.006931,            0.006931,            0.00693164,            0.047465,            0.015861,            0.010033,             0.94491,             0.81236,             0.87716,              0.3876,            0.033621,            0.012739,           0.0042835,           0.0068815,           0.0068815,           0.006881565,            0.046503,            0.016447,           0.0096603,             0.93186,             0.82607,             0.86643,             0.39011,            0.031858,            0.013193,            0.005143,            0.006832,            0.006832,            0.00683266,            0.043081,            0.016306,           0.0098997,             0.91899,             0.82768,             0.88598,             0.38536,             0.03219,            0.012865,           0.0050801,           0.0067825,           0.0067825,           0.006782567,            0.046527,            0.015942,            0.010459,             0.94605,             0.81018,             0.89336,             0.39331,            0.032565,            0.013048,           0.0044286,            0.006733,            0.006733,            0.00673368,            0.044154,            0.015473,            0.008497,             0.92187,              0.8141,             0.87062,             0.39324,            0.032281,            0.013037,           0.0039939,           0.0066835,           0.0066835,           0.006683569,            0.044052,            0.016617,            0.010523,             0.92972,             0.82751,             0.86467,              0.3902,            0.033314,            0.013084,           0.0051996,            0.006634,            0.006634,            0.00663470,            0.045459,            0.016656,           0.0086925,             0.88645,             0.80142,             0.84436,             0.33819,            0.036311,            0.013742,           0.0047912,           0.0065845,           0.0065845,           0.006584571,            0.044562,            0.016596,            0.010416,             0.90629,             0.83939,             0.88171,              0.3867,            0.033018,            0.013289,           0.0042312,            0.006535,            0.006535,            0.00653572,            0.041348,            0.017017,           0.0083758,             0.95946,             0.81294,             0.90342,             0.40224,            0.031912,            0.012792,           0.0042021,           0.0064855,           0.0064855,           0.006485573,            0.044251,            0.016574,           0.0080459,             0.88369,              0.7731,             0.87218,             0.38941,            0.032398,            0.016928,           0.0039136,            0.006436,            0.006436,            0.00643674,            0.041181,            0.016271,           0.0060709,             0.79849,             0.79458,               0.765,             0.31907,             0.03449,            0.036394,           0.0044259,           0.0063865,           0.0063865,           0.006386575,            0.042834,            0.015841,           0.0086537,             0.92066,             0.79164,             0.88469,              0.3953,            0.031921,            0.014896,           0.0036765,            0.006337,            0.006337,            0.00633776,             0.04294,            0.015388,           0.0073545,             0.91545,             0.81423,             0.89903,             0.41682,            0.030503,            0.013578,           0.0033275,           0.0062875,           0.0062875,           0.006287577,            0.040866,            0.014745,           0.0058436,             0.93302,             0.86188,             0.90637,             0.40798,            0.031485,            0.012598,           0.0029572,            0.006238,            0.006238,            0.00623878,            0.041912,            0.015394,           0.0052194,             0.93608,             0.85307,             0.90307,             0.42248,            0.031025,            0.012454,           0.0031475,           0.0061885,           0.0061885,           0.006188579,            0.039007,            0.015139,           0.0061208,             0.91964,              0.8273,             0.87532,             0.36615,            0.032998,            0.012248,           0.0031014,            0.006139,            0.006139,            0.00613980,            0.043204,             0.01559,           0.0075981,             0.93912,             0.87994,             0.91136,             0.42586,             0.03035,            0.012175,           0.0032027,           0.0060895,           0.0060895,           0.006089581,            0.040371,            0.014788,           0.0064149,             0.97283,             0.85112,             0.92561,             0.43932,            0.029957,            0.011927,           0.0028763,             0.00604,             0.00604,             0.0060482,            0.041994,             0.01537,           0.0066436,             0.95699,             0.86119,             0.92346,             0.41763,            0.030161,             0.01205,           0.0027768,           0.0059905,           0.0059905,           0.005990583,            0.042882,            0.015644,           0.0062851,             0.96661,             0.87436,             0.93015,             0.45028,            0.030057,            0.011764,           0.0027965,            0.005941,            0.005941,            0.00594184,             0.03866,            0.014544,           0.0057479,             0.95962,             0.87919,             0.93729,             0.44303,            0.030041,            0.011658,           0.0026109,           0.0058915,           0.0058915,           0.005891585,            0.041031,             0.01497,           0.0064724,             0.95067,             0.85396,             0.91883,             0.43661,            0.031194,            0.011717,           0.0024433,            0.005842,            0.005842,            0.00584286,            0.043856,            0.015274,           0.0071839,             0.94593,             0.88202,             0.92081,              0.4285,            0.030159,            0.011857,           0.0027411,           0.0057925,           0.0057925,           0.005792587,            0.039042,            0.014907,           0.0056313,             0.94987,             0.87799,             0.92806,             0.41992,            0.029423,             0.01182,           0.0029971,            0.005743,            0.005743,            0.00574388,            0.039156,            0.014449,           0.0058202,             0.93032,             0.92113,               0.936,             0.41752,            0.030294,            0.011555,            0.002698,           0.0056935,           0.0056935,           0.005693589,            0.038369,            0.015305,           0.0057764,             0.94996,             0.88343,              0.9351,              0.4419,            0.029601,            0.011693,           0.0027395,            0.005644,            0.005644,            0.00564490,            0.039153,            0.014749,           0.0062159,             0.94639,             0.89046,             0.92992,             0.43134,            0.029415,            0.011824,           0.0024304,           0.0055945,           0.0055945,           0.005594591,            0.039486,            0.014833,           0.0059336,               0.933,             0.90507,             0.93022,             0.43061,            0.030484,            0.011829,           0.0023976,            0.005545,            0.005545,            0.00554592,            0.037397,            0.014199,           0.0060579,             0.94522,             0.90726,             0.93538,              0.4515,            0.030685,             0.01187,           0.0022765,           0.0054955,           0.0054955,           0.005495593,            0.037392,            0.014398,            0.005526,              0.9546,             0.87499,              0.9291,             0.44996,            0.028949,             0.01183,           0.0023412,            0.005446,            0.005446,            0.00544694,            0.038571,            0.014143,           0.0051352,             0.94653,             0.86266,             0.91688,             0.44484,            0.029331,            0.011822,           0.0024087,           0.0053965,           0.0053965,           0.005396595,            0.039126,            0.014401,            0.004951,             0.95383,             0.89699,              0.9396,             0.44699,            0.029785,             0.01173,           0.0024243,            0.005347,            0.005347,            0.00534796,            0.035678,              0.0143,           0.0047188,             0.94611,             0.89373,             0.93404,              0.4459,            0.029089,            0.011582,           0.0022794,           0.0052975,           0.0052975,           0.005297597,            0.035773,            0.014327,           0.0042397,             0.94307,             0.89542,             0.93623,             0.45345,            0.028663,            0.011711,           0.0023837,            0.005248,            0.005248,            0.00524898,            0.035447,            0.014431,           0.0059631,             0.94095,              0.9063,             0.93334,             0.45018,             0.02879,            0.011681,           0.0022759,           0.0051985,           0.0051985,           0.005198599,            0.036644,            0.014601,           0.0055177,             0.96148,             0.90983,             0.95032,             0.45671,            0.028263,            0.011551,           0.0021521,            0.005149,            0.005149,            0.005149100,            0.037563,            0.014183,           0.0079009,             0.96421,             0.88252,             0.93722,             0.44607,            0.029796,            0.011798,           0.0022199,           0.0050995,           0.0050995,           0.0050995101,            0.038423,            0.014047,           0.0052177,             0.96269,             0.88753,             0.93611,             0.44788,            0.030238,            0.011613,            0.002229,             0.00505,             0.00505,             0.00505102,            0.041102,            0.014574,           0.0062728,             0.95869,             0.88132,             0.93141,             0.45731,              0.0297,            0.011374,           0.0024294,           0.0050005,           0.0050005,           0.0050005103,            0.040239,            0.015299,           0.0045802,             0.93908,             0.87286,             0.91821,             0.44729,            0.029021,            0.011544,           0.0026109,            0.004951,            0.004951,            0.004951104,            0.037945,            0.015084,           0.0047527,             0.92849,              0.8798,             0.92594,             0.45464,            0.029488,            0.011624,           0.0025235,           0.0049015,           0.0049015,           0.0049015105,            0.035728,            0.014625,           0.0041137,             0.93104,             0.89017,             0.93473,             0.45106,            0.028464,            0.011536,           0.0024739,            0.004852,            0.004852,            0.004852106,            0.036095,            0.014377,           0.0035695,             0.95104,             0.89067,             0.93275,             0.45525,            0.028681,            0.011324,           0.0023388,           0.0048025,           0.0048025,           0.0048025107,            0.033129,            0.013745,           0.0045044,             0.96466,             0.87034,             0.92253,             0.43602,            0.029847,            0.011526,           0.0026187,            0.004753,            0.004753,            0.004753108,             0.03581,            0.014129,            0.004466,             0.94246,             0.87897,             0.93256,             0.44235,            0.029161,            0.011498,            0.002383,           0.0047035,           0.0047035,           0.0047035109,            0.036119,            0.014118,             0.00385,             0.94807,             0.88811,             0.93238,              0.4495,            0.028547,            0.011253,           0.0021958,            0.004654,            0.004654,            0.004654110,            0.036586,            0.013732,           0.0057441,             0.95179,             0.89555,             0.93243,             0.45773,            0.028935,            0.011324,           0.0022486,           0.0046045,           0.0046045,           0.0046045111,             0.03723,            0.014682,           0.0049151,             0.90559,             0.87265,             0.90411,             0.43171,            0.030688,            0.011908,            0.003186,            0.004555,            0.004555,            0.004555112,             0.03769,            0.014841,           0.0041948,             0.91731,             0.89011,             0.93053,             0.44163,            0.029824,            0.011698,           0.0021341,           0.0045055,           0.0045055,           0.0045055113,            0.038761,            0.014188,           0.0038471,             0.95437,             0.86884,             0.92727,             0.45618,            0.028281,            0.011817,           0.0022187,            0.004456,            0.004456,            0.004456114,            0.036452,            0.014331,           0.0057453,             0.96522,             0.87871,             0.93824,             0.46064,            0.028799,            0.011588,           0.0021392,           0.0044065,           0.0044065,           0.0044065115,            0.039601,            0.014884,           0.0051718,             0.96994,             0.88182,             0.94156,             0.46756,            0.028833,            0.011381,             0.00205,            0.004357,            0.004357,            0.004357116,             0.03565,            0.013554,           0.0051132,             0.96426,             0.87265,              0.9426,             0.48181,            0.028461,            0.011433,           0.0023655,           0.0043075,           0.0043075,           0.0043075117,            0.034671,             0.01408,           0.0047611,             0.95432,              0.8779,             0.93406,             0.46503,            0.028968,            0.011435,           0.0022321,            0.004258,            0.004258,            0.004258118,            0.035034,            0.013762,            0.005086,             0.96119,             0.89065,             0.94045,             0.47809,             0.02748,            0.011298,            0.002148,           0.0042085,           0.0042085,           0.0042085119,            0.036641,            0.013784,           0.0046315,             0.96592,             0.88876,             0.93777,             0.46226,             0.02947,            0.011419,           0.0021617,            0.004159,            0.004159,            0.004159120,            0.035707,            0.014564,           0.0046529,             0.96137,             0.87907,             0.93435,             0.45536,            0.028311,            0.011509,           0.0020214,           0.0041095,           0.0041095,           0.0041095121,            0.036372,            0.013897,           0.0039082,             0.97488,             0.86659,             0.93632,             0.46514,            0.028935,            0.011269,           0.0020603,             0.00406,             0.00406,             0.00406122,            0.035962,             0.01397,            0.004511,             0.95351,             0.88176,             0.94079,             0.47849,            0.028425,            0.011238,           0.0020694,           0.0040105,           0.0040105,           0.0040105123,             0.03481,            0.013681,           0.0047074,             0.95818,             0.88796,             0.94004,             0.47831,            0.027879,             0.01152,           0.0019698,            0.003961,            0.003961,            0.003961124,            0.032671,            0.013762,           0.0040278,             0.96445,             0.89987,             0.93647,             0.46653,            0.027991,             0.01143,           0.0016975,           0.0039115,           0.0039115,           0.0039115125,            0.036008,            0.013361,           0.0047041,             0.96146,              0.9013,             0.93424,             0.45903,            0.028519,            0.011311,           0.0017047,            0.003862,            0.003862,            0.003862126,             0.03401,            0.013447,           0.0040689,             0.95604,             0.90185,             0.93919,             0.47158,            0.027806,            0.011117,           0.0018529,           0.0038125,           0.0038125,           0.0038125127,            0.031878,            0.013099,           0.0027967,             0.96041,             0.90457,             0.94384,             0.47963,            0.028383,            0.011013,           0.0018119,            0.003763,            0.003763,            0.003763128,            0.034706,             0.01369,           0.0027384,             0.96853,             0.88868,             0.94017,             0.48097,             0.02741,            0.011032,           0.0018237,           0.0037135,           0.0037135,           0.0037135129,             0.03394,             0.01386,           0.0032774,             0.95868,             0.89865,             0.93642,             0.46987,            0.028186,            0.011018,           0.0018775,            0.003664,            0.003664,            0.003664130,            0.034989,            0.013471,           0.0039545,             0.93797,             0.91745,             0.94262,             0.46758,            0.027316,            0.011095,           0.0019048,           0.0036145,           0.0036145,           0.0036145131,            0.033065,             0.01357,           0.0039853,              0.9269,             0.93499,             0.94237,             0.46206,            0.027146,             0.01123,           0.0019533,            0.003565,            0.003565,            0.003565132,            0.032226,            0.013642,           0.0029681,             0.94436,              0.9174,             0.94702,             0.47563,            0.027191,            0.011339,           0.0017685,           0.0035155,           0.0035155,           0.0035155133,            0.035862,            0.013621,           0.0048942,             0.94663,             0.92488,             0.94931,             0.47343,            0.027177,            0.010983,           0.0016468,            0.003466,            0.003466,            0.003466134,            0.032855,             0.01324,           0.0045393,             0.94466,             0.91886,             0.94822,             0.48145,            0.026784,              0.0109,           0.0016719,           0.0034165,           0.0034165,           0.0034165135,             0.03274,            0.013255,           0.0030268,              0.9484,             0.91461,             0.95161,             0.47642,            0.027377,            0.011027,           0.0015977,            0.003367,            0.003367,            0.003367136,            0.033074,            0.013192,            0.003337,             0.95303,              0.9182,             0.94721,             0.48645,            0.026837,            0.011032,           0.0016092,           0.0033175,           0.0033175,           0.0033175137,            0.033013,            0.013323,            0.003707,             0.93758,             0.91747,             0.94717,             0.47612,            0.027161,            0.010983,           0.0016134,            0.003268,            0.003268,            0.003268138,            0.030322,            0.013092,           0.0025357,             0.94052,             0.91465,             0.94666,             0.48368,            0.026713,            0.010899,           0.0016353,           0.0032185,           0.0032185,           0.0032185139,            0.033769,            0.013375,           0.0031571,             0.95437,             0.91911,             0.95307,             0.48591,            0.027083,             0.01088,           0.0016468,            0.003169,            0.003169,            0.003169140,            0.034674,            0.013167,           0.0034438,             0.95476,             0.90341,             0.94133,             0.48328,             0.02734,            0.010869,           0.0016518,           0.0031195,           0.0031195,           0.0031195141,            0.034613,             0.01286,           0.0034004,             0.95353,             0.91442,             0.94604,             0.48783,            0.027129,            0.010867,           0.0018675,             0.00307,             0.00307,             0.00307142,            0.032892,            0.013876,           0.0035535,              0.9322,             0.91933,              0.9457,             0.49279,            0.026627,            0.010771,           0.0019343,           0.0030205,           0.0030205,           0.0030205143,            0.031011,            0.013132,            0.003447,             0.92268,             0.92772,             0.94732,             0.49448,            0.026822,            0.010732,           0.0017231,            0.002971,            0.002971,            0.002971144,            0.032919,            0.013046,            0.004605,             0.94068,             0.92479,             0.94934,             0.49588,            0.026757,            0.010778,           0.0015787,           0.0029215,           0.0029215,           0.0029215145,            0.031458,            0.013003,           0.0034416,             0.93822,              0.9246,             0.94658,             0.49657,            0.027682,            0.010705,           0.0015234,            0.002872,            0.002872,            0.002872146,            0.031623,            0.013087,           0.0035433,             0.93304,             0.93561,             0.94772,             0.49624,            0.028391,            0.010767,           0.0013857,           0.0028225,           0.0028225,           0.0028225147,            0.032807,             0.01306,           0.0029549,             0.93738,             0.90933,             0.94098,             0.49238,             0.02858,            0.010758,           0.0013865,            0.002773,            0.002773,            0.002773148,            0.036935,            0.013306,           0.0032721,             0.92351,             0.91808,              0.9423,             0.47735,            0.028816,            0.010793,           0.0015612,           0.0027235,           0.0027235,           0.0027235149,            0.030831,            0.012657,           0.0039643,             0.91736,             0.91401,              0.9414,             0.49229,            0.027486,            0.010801,           0.0020861,            0.002674,            0.002674,            0.002674150,            0.032044,            0.013002,           0.0041448,             0.95351,             0.90876,             0.94856,              0.4788,            0.027577,            0.010924,           0.0018295,           0.0026245,           0.0026245,           0.0026245151,            0.031503,            0.013092,           0.0028095,             0.94881,             0.90539,             0.95116,             0.49358,            0.026849,            0.011107,           0.0017219,            0.002575,            0.002575,            0.002575152,            0.031583,            0.013609,           0.0039922,             0.92632,             0.93211,             0.94618,             0.49088,            0.026933,            0.011233,            0.001522,           0.0025255,           0.0025255,           0.0025255153,            0.031909,            0.013541,            0.003112,              0.9427,             0.92273,             0.94507,              0.4937,            0.026627,            0.011193,           0.0015387,            0.002476,            0.002476,            0.002476154,            0.030239,            0.012999,             0.00289,             0.97151,             0.90291,             0.94399,              0.4949,            0.027178,             0.01108,           0.0014948,           0.0024265,           0.0024265,           0.0024265155,            0.030373,            0.012644,           0.0023986,             0.97148,             0.89704,             0.94592,             0.49002,            0.027153,            0.011089,           0.0014694,            0.002377,            0.002377,            0.002377156,            0.031883,             0.01289,            0.002711,             0.93966,             0.92571,             0.94411,             0.49418,            0.026661,            0.011046,           0.0016071,           0.0023275,           0.0023275,           0.0023275157,            0.029923,            0.012475,           0.0029759,             0.94115,             0.92157,             0.94618,             0.49813,            0.026859,            0.011083,           0.0016252,            0.002278,            0.002278,            0.002278158,            0.030265,            0.012474,           0.0024685,             0.94215,             0.91655,             0.94856,             0.48548,             0.02631,             0.01111,           0.0016479,           0.0022285,           0.0022285,           0.0022285159,            0.031297,            0.013007,           0.0040787,             0.94493,             0.90204,             0.94156,             0.46938,            0.026793,            0.011069,           0.0017465,            0.002179,            0.002179,            0.002179160,            0.030058,            0.012764,           0.0037174,             0.95447,             0.89408,             0.94238,             0.48629,            0.026789,            0.010908,           0.0016649,           0.0021295,           0.0021295,           0.0021295161,            0.031778,            0.012688,           0.0029219,             0.93461,             0.92777,              0.9492,             0.49049,            0.026714,            0.010916,           0.0015429,             0.00208,             0.00208,             0.00208162,            0.031261,            0.012908,           0.0029539,             0.94651,             0.91275,             0.94502,             0.49397,            0.026811,            0.010991,           0.0014428,           0.0020305,           0.0020305,           0.0020305163,            0.030035,            0.012285,           0.0026411,              0.9596,             0.91855,             0.95084,             0.48836,            0.026452,            0.011055,           0.0013155,            0.001981,            0.001981,            0.001981164,             0.02853,             0.01247,           0.0030658,             0.94318,             0.93036,             0.94797,             0.49946,            0.026565,            0.011087,           0.0013172,           0.0019315,           0.0019315,           0.0019315165,             0.03144,            0.013278,           0.0022033,             0.93844,             0.92516,             0.94625,             0.48882,            0.026606,            0.011076,           0.0014597,            0.001882,            0.001882,            0.001882166,            0.028238,            0.012273,           0.0022988,             0.93881,             0.91819,             0.94724,             0.49165,            0.027022,            0.011048,           0.0014657,           0.0018325,           0.0018325,           0.0018325167,            0.029581,            0.012764,           0.0018928,             0.94996,             0.91838,             0.95192,             0.49397,            0.027021,            0.010946,           0.0014319,            0.001783,            0.001783,            0.001783168,            0.030364,            0.012646,            0.002652,             0.95142,             0.92398,             0.94893,             0.49144,            0.026209,            0.010894,           0.0013961,           0.0017335,           0.0017335,           0.0017335169,            0.029047,            0.013155,           0.0022754,             0.94613,             0.92001,             0.94914,             0.50106,            0.026235,            0.010813,           0.0013629,            0.001684,            0.001684,            0.001684170,            0.030348,            0.012868,           0.0025903,             0.94442,             0.92638,             0.94826,             0.49845,            0.026182,             0.01084,           0.0013827,           0.0016345,           0.0016345,           0.0016345171,            0.028844,            0.013418,             0.00221,             0.94845,             0.91907,             0.94593,             0.49442,            0.025945,            0.010825,           0.0013878,            0.001585,            0.001585,            0.001585172,            0.028044,            0.012475,           0.0020475,             0.94977,             0.91562,             0.94693,             0.49909,            0.025607,            0.010884,           0.0013793,           0.0015355,           0.0015355,           0.0015355173,             0.03037,            0.012416,           0.0020514,             0.95493,             0.91276,             0.94515,             0.49652,            0.025832,            0.010954,           0.0014017,            0.001486,            0.001486,            0.001486174,             0.02901,            0.012575,           0.0022523,             0.93349,             0.93395,             0.94592,             0.49279,            0.025973,            0.010781,             0.00136,           0.0014365,           0.0014365,           0.0014365175,              0.0299,            0.013539,           0.0023896,              0.9492,             0.92686,              0.9518,             0.50485,            0.026004,            0.010724,           0.0013465,            0.001387,            0.001387,            0.001387176,            0.028433,            0.012411,           0.0016765,             0.95407,             0.92405,              0.9525,             0.50396,            0.025779,            0.010821,           0.0013625,           0.0013375,           0.0013375,           0.0013375177,              0.0271,            0.012667,           0.0019585,             0.95087,             0.92476,             0.95126,             0.50414,            0.026096,            0.010865,           0.0014006,            0.001288,            0.001288,            0.001288178,            0.026388,            0.012452,           0.0016576,             0.94651,               0.923,             0.94803,             0.50449,            0.025548,            0.010875,           0.0013988,           0.0012385,           0.0012385,           0.0012385179,            0.028348,            0.012673,           0.0030774,             0.94689,             0.92148,             0.94484,             0.49438,            0.025692,            0.010761,           0.0013638,            0.001189,            0.001189,            0.001189180,            0.029453,            0.012794,           0.0026043,             0.95834,             0.91733,             0.94887,             0.49784,            0.025882,            0.010789,           0.0013153,           0.0011395,           0.0011395,           0.0011395181,            0.028473,            0.012477,           0.0022936,             0.95265,             0.92939,             0.95142,             0.49798,            0.025795,            0.010809,           0.0013028,             0.00109,             0.00109,             0.00109182,            0.028324,            0.012459,           0.0019193,              0.9466,             0.91467,             0.94467,             0.49455,            0.026117,            0.010848,           0.0013132,           0.0010405,           0.0010405,           0.0010405183,            0.029356,            0.012703,            0.003578,             0.95437,             0.91491,             0.95042,             0.50744,            0.025541,            0.010811,           0.0013132,            0.000991,            0.000991,            0.000991184,            0.027983,            0.012892,           0.0025631,             0.95246,             0.91897,             0.94813,             0.50401,            0.025867,            0.010776,           0.0013071,           0.0009415,           0.0009415,           0.0009415185,            0.027208,            0.012446,           0.0024887,             0.95587,             0.91898,             0.94605,             0.50406,            0.025502,              0.0108,           0.0013051,            0.000892,            0.000892,            0.000892186,            0.028043,            0.012252,            0.003118,             0.95491,             0.91842,             0.94713,             0.50056,            0.025583,            0.010805,           0.0012869,           0.0008425,           0.0008425,           0.0008425187,            0.026881,            0.012273,           0.0021586,             0.95228,              0.9148,             0.94728,             0.49569,            0.025704,            0.010731,           0.0012944,            0.000793,            0.000793,            0.000793188,            0.028154,            0.012503,           0.0026297,             0.95994,             0.92402,              0.9504,             0.49985,            0.025299,            0.010703,           0.0012784,           0.0007435,           0.0007435,           0.0007435189,            0.025187,             0.01273,           0.0016661,             0.95789,             0.92415,             0.95036,             0.50167,            0.025299,            0.010691,           0.0012481,            0.000694,            0.000694,            0.000694190,            0.026276,            0.012488,           0.0024498,             0.96238,             0.92072,             0.95109,             0.50031,            0.025391,            0.010723,           0.0012344,           0.0006445,           0.0006445,           0.0006445191,            0.026011,            0.012287,           0.0018118,              0.9519,             0.91835,             0.94936,             0.50506,            0.025053,            0.010712,             0.00121,            0.000595,            0.000595,            0.000595192,            0.026917,            0.012097,           0.0022713,             0.95405,              0.9194,             0.95635,             0.50289,            0.025229,            0.010745,           0.0012023,           0.0005455,           0.0005455,           0.0005455193,            0.027752,            0.012482,           0.0019695,             0.96902,             0.90241,             0.95131,             0.50304,            0.025084,            0.010724,            0.001186,            0.000496,            0.000496,            0.000496194,            0.027573,            0.012552,           0.0020059,             0.96912,             0.91049,             0.95099,             0.50273,            0.025304,            0.010815,            0.001182,           0.0004465,           0.0004465,           0.0004465195,            0.026493,            0.012007,           0.0028567,             0.96807,              0.9147,             0.95072,              0.5051,            0.025475,            0.010831,           0.0011794,            0.000397,            0.000397,            0.000397196,            0.025988,            0.012443,           0.0015634,             0.95381,             0.91784,              0.9473,             0.50111,            0.025466,            0.010827,           0.0012101,           0.0003475,           0.0003475,           0.0003475197,            0.027279,            0.012284,           0.0022347,             0.96237,             0.90546,             0.94477,             0.49965,            0.025437,            0.010829,           0.0012444,            0.000298,            0.000298,            0.000298198,            0.027767,            0.012665,           0.0024972,             0.95433,             0.91548,             0.94497,             0.50231,            0.025252,            0.010814,           0.0012563,           0.0002485,           0.0002485,           0.0002485199,            0.027364,            0.012457,           0.0030708,              0.9553,             0.91458,             0.94536,             0.50262,            0.025289,            0.010801,            0.001247,            0.000199,            0.000199,            0.000199

训练曲线如下
在这里插入图片描述
训练混淆矩阵如下
在这里插入图片描述

在这里插入图片描述

2.4.7 电路板缺陷验证测试

python">
class CPcbDefectCnnModel(object):def __init__(self, model_path):self.weights= model_pathself.data='data/pcbDefect.yaml'self.imgsz=(640, 640)self.conf_thres=0.5self.iou_thres=0.45# Load modelself.device = select_device()print(self.device)self.model = DetectMultiBackend(self.weights, device=self.device, dnn=self.dnn, data=self.data, fp16=self.half)stride, self.names, pt =  self.model.stride,  self.model.names,  self.model.ptimgsz = check_img_size(self.imgsz, s=stride)  # check image sizedef predict(self, image_numpy_data):# Padded resizeimg = letterbox(image_numpy_data, 640, 32, True)[0]print(img.shape)# Convertimg = img.transpose((2, 0, 1))[::-1]  # HWC to CHW, BGR to RGBimg = np.ascontiguousarray(img)pred = self.model(im, augment=self.augment, visualize=self.visualize)pred = non_max_suppression(pred, self.conf_thres, self.iou_thres, self.classes)detect_results = []# Process predictionsfor i, det in enumerate(pred):  # per imageif len(det):# Rescale boxes from img_size to im0 sizedet[:, :4] = scale_coords(im.shape[2:], det[:, :4], image_numpy_data.shape).round()detections = det.cpu().numpy()for v in detections:detect_results.append(v)bboxes = []scores = []classIds = []# [x,y,w,h,p,class]for detection in detect_results:print(detection)score = detection[4]classId = detection[5](x1, y1, x2, y2) = detection[:4]bboxes.append([int(x1), int(y1), \int(x2 - x1), int(y2 - y1)])scores.append(float(score))classIds.append(classId)print(detect_results)for *xyxy, conf, cls in reversed(det):c = int(cls)  # integer classlabel = None if self.hide_labels else (self.names[c] if self.hide_conf else f'{self.names[c]} {conf:.2f}')annotator.box_label(xyxy, label, color=colors(c, True))return im0

模型验证结果如下:
在这里插入图片描述

觉得不错的小伙伴,感谢点赞、关注加收藏哦!更多干货内容持续更新…

代码下载链接

关注博主的G Z H【小蜜蜂视觉】,回复【电路板缺陷检测】即可获取下载方式

参考文献

[1] 袁氢.基于特征融合与神经网络的深度学习图像识别技术研究[D]:(硕士学位论文).武汉:武汉科技大学,2020.
[2] 白天毅.基于神经网络的深度学习图像识别关键技术研究[D]:(硕士学位论文).西安:西安工业大学,2019.
[3] Hubel D H,Wiesel T N.Receptive fields,binocular interaction and functional architecture in the cat’s visual cortex[J].Journal of Physiology,1962,160(1):106–154.
[4] Fukushima K.A neural network model for selective attention in visual pattern DEEP[J].Biological Cybernetics,1986,55(1):5-15.
[5] 徐珊珊. 卷积神经网络的研究与应用[D]:(硕士学位论文). 南京:南京林业大学,2013.
[6] VapnikV著,张学工译. 统计学习理论的本质[M]. 北京:清华大学出版社,2000.
[7] 郑君里,应启珩等.信号与系统[M]. 北京:高等教育出版社,2000.
[8] Haykin S著,申富饶译. 神经网络与机器学习[M]. 北京:机器工业出版社,2011.
[9] Lecun Y,Bottou L,et al.Gradient-based learning applied to document DEEP[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[10] 田一然.深度学习图像识别技术的研究与实现[D]:(硕士学位论文).长春:吉林大学,2015.
[11] Naigong Y,Panna J,et al.Handwritten digits DEEP base on improved LeNet5[C].Chinese Control and Decision Conference (CCDC),IEEE,2015:4871-4875.
[12] 尹宝才,王文通等.深度学习研究综述[J]. 北京大学学报,2015,41(1):49-51.
[13] Dalal N, Triggs B.Histograms of oriented gradients for human detection[A].In Proc.IEEE CVPR[C], 2005,886-893.
[14] Zhu Q, Yeh C, Cheng T.Fasthuman detection using a cascade of histograms of oriented gradients[A]. In Proc.IEEE CVPR [C], 2006, 2:1491-1498.
[15] Ojala T, Pietikainen M, Harwood D.A comparative study of texture measures with classification based on feature distributions[J]. Pattern DEEP, 1996, 19(3):51-59.
[16] Mu Y, Yan S, Liu Y, et al.Discriminative local binary patterns for pedestrian detection in personal album[A]. In Proc.IEEE CVPR[C], 2008.
[17] Wang X, Han X, Yan S.A HOG-LBP human detector with partial occlusion handling[A]. In Proc.IEEE ICCV[C], 2009.
[18] Walk S, Majer N, Schindler K, et al.New features and insights for pedestrian detection[A]. In Proc.IEEE CVPR[C], 2010.
[19] Wu J X, Rehg J M. CENTRIST: A visual descriptor for scene categorization[J]. IEEE Trans.on Pattern Analysis and Machine Intelligent, 2011, 33(8):1489-1501.
[20] Wu J, Geyer C, Rehg J M. Real-time human detection using contour cues[C]. IEEE International Conference on Robotics and Automation. IEEE, 2011:860-867.
[21] Viola P, Jones M. Robust real-time face detection[J]. International Journal of Computer Vision, 2004, 57(2):137-154.
[22] Papageorgiou C P, Oren M, Poggio T. A general framework for object detection[C]. International Conference on Computer Vision. IEEE, 1998:555-562.
[23] Viola P, Jones M, Snow D. Detecting pedestrians using patterns of motion and appearance[J], Inter-national Journal of Computer Vision, 2005, 63(2):153-161.
[24] Guo L, Ge P S, Zhang M H, et al. Pedestrian detection for intelligent transportation systems combining AdaBoost algorithm and support vector machine[J]. Expert Systems with Applications, 2012, 39(4):4274-4286.
[25] D.M. Gavrila, V. Philomin. Real-Time Object Detection for “Smart” Vehicles[C]. The Proceedings of the Seventh IEEE International Conference on Computer Vision. IEEE Xplore, 1999:87-93 vol.1.


http://www.ppmy.cn/news/1527094.html

相关文章

2024年9月HarmonyOS鸿蒙应用开发者高级认证全新题库(覆盖99%考题)

一个小时通过鸿蒙高级认证 1、在开发 Harmony0S 应用工程时, 随着业务的发展,现在需要创建一个模块, 关于在 DevEco Studio 中创建 Module , 下列选项哪种方式是错误的? 必对 在 hvigor 目录下,单击鼠标右键&#xf…

Rust程序结构与代码注释

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 3.1 Rust程序结构 我们从一个最简单的程序入手,来观察一个Rust的程序结…

AD的入门操作

锦囊 1、打开AD后,一般默认打开上一个工程,这个时候如果想要打开新的工程,那就必须要创建一个项目,然后再在项目中添加原理图库和PCB库。 2、大多数情况下,直接使用库,不用自己再画原理图和封装库。 3、…

python压缩图片的代码

从网上复制的,不知道对不对 def compress_image(infile, outfile, mb1500, step10, quality80):"""不改变图片尺寸压缩到指定大小:param infile: 压缩源文件:param outfile: 压缩文件保存地址:param mb: 压缩目标,KB:param step: 每次调…

多层建筑能源参数化模型和城市冠层模型的区别

多层建筑能源参数化(Multi-layer Building Energy Parameterization, BEP)模型和城市冠层模型(Urban Canopy Model, UCM)都是用于模拟城市环境中能量交换和微气候的数值模型,但它们的侧重点和应用场景有所不同。以下是…

Ubuntu 下载软件包时,提示 但是它将不会被安装E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决办法: 打开 软件和更新 先更新一下: sudo apt-get update 接下来再次安装你需要的软件包,例如: sudo apt install libsdl2-dev

【网络安全的神秘世界】渗透测试基础

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 渗透测试基础 基于功能去进行漏洞挖掘 1、编辑器漏洞 1.1 编辑器漏洞介绍 一般企业搭建网站可能采用了通用模板&#xff…

JavaScript 事件处理

一、简介 ​ 事件:发生在HTML元素上的事情,可以是用户的行为,也可以是浏览器的行为,如 用户点击了某个HTML元素用户将鼠标移动到某个HTML元素上用户输入数据时光标离开页面加载完成 ​ 事件源:事件触发的源头&#xf…

C语言 | Leetcode C语言题解之题409题最长回文串

题目&#xff1a; 题解&#xff1a; int longestPalindrome(char * s) {int c[128]{0},ret0;for(int i0;i<strlen(s);i){c[s[i]];}for(int i0;i<128;i){retc[i]-c[i]%2;}return ret(ret!strlen(s)); }

VUE下拉选择分页,远程搜索

实现效果 实现思路 初始化加载第一页&#xff1b;监听下拉框的滚动事件&#xff0c;当滚动到底部的时候加载下一页&#xff1b;输入搜索时&#xff0c;重置为第一页加载&#xff1b;关闭下拉选择框时&#xff0c;判断如果存在搜索值&#xff0c;要清空搜索值、并加载第一页。 …

7天速成前端 ------学习日志 (继苍穹外卖之后)

前端速成计划总结&#xff1a; 全26h课程&#xff0c;包含html&#xff0c;css&#xff0c;js&#xff0c;vue3&#xff0c;预计7天内学完。 起始日期&#xff1a;9.16 预计截止&#xff1a;9.22 每日更新&#xff0c;学完为止。 学前计划 课…

keep-alive缓存不了iframe

最近做了个项目&#xff0c;其中有个页面是由 iframe 嵌套了一个另外的页面&#xff0c;在运行的过程中发现 KeepAlive 并不生效&#xff0c;每次切换路由都会触发 iframe 页面的重新渲染&#xff0c;代码如下&#xff1a; <router-view v-slot"{ Component }">…

Blender渲染太慢怎么办?blender云渲染已开启

动画行业蓬勃发展&#xff0c;动画制作软件亦持续推陈出新&#xff0c;当制作平台日益丰富&#xff0c;创作难度降低&#xff0c;创作效率提升&#xff0c;如何高效完成复杂动画的渲染就成了从业者更关心的问题。 云渲染技术的出现&#xff0c;无疑为动画制作者提供了前所未有…

Python 入门教程(4)数据类型 | 4.2、数据类型转换

文章目录 一、数据类型转换1、 整数&#xff08;int&#xff09;与浮点数&#xff08;float&#xff09;之间的转换2、字符串&#xff08;str&#xff09;与整数/浮点数之间的转换3、列表&#xff08;list&#xff09;与字符串之间的转换4、注意事项 一、数据类型转换 在Python…

Cpp快速入门语法(下)(2)

文章目录 前言一、函数重载概念与使用C为何支持函数重载&#xff1f; 二、引用概念语法特性权限(常引用)使用场景与指针的区别 三、内联函数四、auto关键字(C11)五、基于范围的for循环(C11)六、指针空值nullptr(C11)总结 前言 承前启后&#xff0c;正文开始&#xff01; 一、函…

Java网络编程 TCP通信(Socket 与 ServerSocket)

1.TCP通信原理 TCP通信涉及两个端点&#xff1a;客户端和服务器。服务器端使用 ServerSocket 监听特定端口&#xff0c;等待客户端的连接请求。客户端使用 Socket 连接到服务器的IP地址和端口。一旦连接建立&#xff0c;双方就可以通过输入输出流进行数据交换. ServerSocket是…

详细分析Uniapp中的轮播图基本知识(附Demo)

目录 前言1. 基本知识2. Demo2.1 基本2.2 自定义分页2.3 自定义动画 3. 扩展 前言 先看代码示例&#xff1a; 实现了一个带有分页指示器的轮播图组件 <template><view class"work-container"><!-- 轮播图 --><uni-swiper-dot class"uni…

【电脑组装】✈️从配置拼装到安装系统组装自己的台式电脑

目录 &#x1f378;前言 &#x1f37b;一、台式电脑基本组成 &#x1f37a;二、组装 &#x1f379;三、安装系统 &#x1f44b;四、系统设置 &#x1f440;五、章末 &#x1f378;前言 小伙伴们大家好&#xff0c;上篇文章分享了在平时开发的时候遇到的一种项目整合情况&…

TCP/IP网络编程概念及Java实现TCP/IP通讯Demo

背景 在当今数字化的世界中&#xff0c;网络通信是连接各种设备和系统的关键。TCP/IP协议作为互联网通信的基石&#xff0c;被广泛应用于各种网络场景。了解TCP/IP网络编程的概念&#xff0c;并掌握如何在Java中实现TCP/IP通讯&#xff0c;对于开发人员来说是非常重要的。 TC…

webpack打包原理

目录 1、搭建结构&#xff0c;读取配置参数2、配置参数对象初始化 Compiler&#xff08;new Compiler(webpackOptions)&#xff09;3、挂载配置文件中的插件&#xff0c;4、执行Compiler 中的 run 方法进行编译5、根据配置文件中的entry 配置项找到所有的入口6、从入口文件出发…