深度学习实战TT100K中国交通标志检测【数据集+YOLOv5模型+源码+PyQt5界面】
文章目录
- 研究背景
- 代码下载链接
- 一、效果演示
- 1.1 图像演示
- 1.2 视频演示
- 二、技术原理
- 2.1 整体流程
- 2.2 TT100K中国交通标志数据集介绍
- 2.3 YOLOV5 TT100K中国交通标志检测原理
- 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 构建TT100K交通标志检测模型
- 2.4.5 TT100K数据集标记与校验
- 2.4.6 TT100K中国交通标志检测模型训练
- 2.4.7 TT100K中国交通标志验证测试
- 代码下载链接
- 结束语
研究背景
交通标志识别研究的背景主要有以下几方面:
- 交通安全需求:
- 交通事故频发推动研究:随着汽车保有量的不断增加,交通事故成为严重的社会问题。许多交通事故是由于驾驶员疏忽交通标识、错判交通信号等因素导致的。准确识别交通标志能够为驾驶员提供及时、准确的道路信息,指导驾驶员做出合理的反应,对于减少交通事故、保障人身安全和财产安全具有重要意义。
- 自动驾驶发展的关键技术:在自动驾驶技术中,车辆需要准确理解和识别各种交通标志,才能做出正确的驾驶决策。交通标志识别是自动驾驶系统的关键环节之一,对于实现自动驾驶的安全性和可靠性至关重要。
- 智能交通系统的发展:
- 智能交通的重要组成部分:智能交通系统旨在提高交通效率、改善交通管理和保障交通安全。交通标志识别系统作为智能交通系统的重要组成部分,能够为交通管理部门提供实时的交通标志信息,帮助实现交通流量的优化控制、道路状况的监测和预警等功能。
- 交通数据采集与分析的基础:准确识别交通标志可以为交通数据的采集和分析提供基础信息。通过对交通标志的识别和分析,可以了解不同路段的交通规则、交通流量分布等情况,为交通规划和管理提供科学依据。
- 技术进步的推动:
- 计算机视觉技术的发展:计算机视觉技术的不断进步为交通标志识别提供了技术支持。图像采集设备的性能不断提高,能够获取高质量的交通标志图像;图像处理算法的不断优化,使得对交通标志的特征提取和分析更加准确和高效。
- 深度学习算法的兴起:深度学习算法在图像识别领域取得了显著的成果,为交通标志识别提供了新的解决方案。深度学习模型可以自动学习交通标志的特征,具有较高的识别准确率和鲁棒性,能够适应复杂的道路环境和光照条件。
- 实际道路环境的复杂性:
- 多变的光照条件:自然场景下的光照条件变化很大,如白天、夜晚、阴天、晴天等不同的光照条件会对交通标志的颜色、亮度和对比度产生影响,增加了交通标志识别的难度。
- 复杂的背景干扰:道路上的背景复杂多样,如建筑物、树木、车辆等物体可能会遮挡交通标志,或者与交通标志的颜色、形状相似,干扰交通标志的识别。
- 交通标志的损坏和变形:交通标志在长期使用过程中可能会出现损坏、变形、掉色等情况,导致交通标志的特征发生变化,影响识别的准确性。
代码下载链接
关注博主工忠浩【小蜜蜂视觉】,回复【TT100K】即可获取
一、效果演示
本文构建的TT100K中国交通标志检测系统基于PyQt5构建,支持图像、视频、摄像头以及RTSP等数据源输入。
1.1 图像演示
1.2 视频演示
二、技术原理
2.1 整体流程
深度学习实战TT100K中国交通标志检测是从输入图像中准确地定位交通标志的位置,通常是通过目标检测技术来实现。
-
数据准备: 首先,需要准备中国交通标志数据集。
-
网络架构: 选择一个适合YOLOv5深度学习网络架构。一种常见的选择是基于卷积神经网络(CNN)的架构,例如Faster R-CNN、YOLO(You Only Look Once)或SSD(Single Shot MultiBox Detector)。这些网络可以同时预测边界框的位置和类别,适用于目标检测任务。
-
训练: 使用准备好的训练数据集对所选网络架构进行训练。训练过程涉及将输入图像传递给网络,然后通过反向传播优化网络的权重,使其能够准确地预测交通标志位置。训练数据中的每个样本都包括输入图像和相应的缺陷位置标注。
-
预测: 在训练完成后,将训练得到的网络应用于新的图像。通过将图像输入网络,网络将输出交通标志位置的预测结果,这通常是一个边界框或四个关键点的坐标。
-
后处理: 根据网络输出的预测结果,可以使用一些后处理技术来提高定位的准确性。例如,可以使用非极大值抑制(NMS)来抑制重叠的边界框,只保留最有可能的交通标志位置。
-
评估和调优: 对预测结果进行评估,可以使用评价指标如IoU(Intersection over Union)来衡量预测框与真实标注框的重叠程度。根据评估结果,可以对网络架构、训练参数等进行调优,以提高定位的准确性和稳定性。
2.2 TT100K中国交通标志数据集介绍
TT100K指的是Tsinghua-Tencent 100K,是一个大型交通标志基准数据集。以下是关于它的详细介绍:
- 数据来源与规模:
- 该数据集是由清华-腾讯联合实验室提出的,来源于100,000张腾讯街景全景图。数据集中提供了100,000张分辨率为2048像素×2048像素的图像,其中包含30,000个交通标志实例。
- 标注信息:
- 对于数据集中的每个交通标志,都带有详细的标注信息,包括类别标签、边界框以及像素蒙版。这些标注信息为交通标志的识别和检测算法提供了准确的训练和测试数据。
- 数据多样性:
- 图像涵盖了不同光照和天气状况,例如白天、夜晚、晴天、阴天、雨天等各种条件下的交通标志图像,这使得基于该数据集训练的模型能够更好地适应不同的实际场景。
- 应用价值:
- 在交通标志识别研究领域,TT100K 数据集为研究人员提供了丰富的实验数据,有助于推动交通标志识别算法的发展和优化。许多研究人员使用该数据集来训练和测试他们的交通标志识别模型,并与其他先进的方法进行比较,以验证其算法的有效性和优越性。
- 对于自动驾驶技术的发展也具有重要意义,准确的交通标志识别是自动驾驶系统的关键环节之一,通过使用 TT100K 数据集进行训练,可以提高自动驾驶系统对交通标志的识别能力,从而增强自动驾驶的安全性和可靠性。
总之,TT100K 数据集是交通标志识别领域中一个非常重要的基准数据集,为交通标志识别技术的研究和发展提供了有力的支持。如下图所示
2.3 YOLOV5 TT100K中国交通标志检测原理
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安装教程
2.4.3 安装YOLOv5环境
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 构建TT100K交通标志检测模型
TT100K数据集进行清洗,最终选择了50种中国交通标志,分别为
names: ['pl80', 'p6', 'ph', 'w', 'pa', 'p27', 'i5', 'p1', 'il70', 'p5', 'pm', 'p19', 'ip', 'p11', 'p13', 'p26', 'i2', 'pn', 'p10', 'p23', 'pbp', 'p3', 'p12', 'pne', 'i4', 'pb', 'pg', 'pr','pl5','pl10', 'pl15','pl20','pl25','pl30','pl35','pl40','pl50','pl60','pl65','pl70','pl90','pl100','pl110','pl120','il50','il60','il80','il90','il100','il110']
模型选用YOLOv5s来训练,参数如下:
# Parameters
nc: 50 # 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 TT100K数据集标记与校验
TT100K数据集训练集一共20000张左右,验证集4000张左右,标注格式采用yolo格式组织
TT100Kimagestrainimage1.jpgimage2.jpg...valimage11.jpgimage22.jpg...labelstrainimage1.txtimage2.txt...valimage11.txtimage22.txt...
2.4.6 TT100K中国交通标志检测模型训练
python train.py --data data/tt100k.yaml --weights weights/yolo5s.pt --epochs 300 --img 640 --batch 32
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.063361, 0.013733, 0.088093, 0.019856, 0.44401, 0.023848, 0.013745, 0.040425, 0.0081039, 0.088355, 0.0033307, 0.0033307, 0.0700231, 0.045026, 0.0082092, 0.084019, 0.99071, 0.034742, 0.061011, 0.035571, 0.034428, 0.0064194, 0.082601, 0.0066421, 0.0066421, 0.0400012, 0.042414, 0.0074137, 0.07688, 0.34249, 0.25845, 0.11027, 0.068245, 0.03558, 0.0059564, 0.074893, 0.0099314, 0.0099314, 0.00995733, 0.03855, 0.0068509, 0.069874, 0.48283, 0.34299, 0.16249, 0.1086, 0.032213, 0.0054188, 0.069299, 0.009901, 0.009901, 0.0099014, 0.035629, 0.0064825, 0.065864, 0.62325, 0.293, 0.20435, 0.14103, 0.028827, 0.0051086, 0.06401, 0.009901, 0.009901, 0.0099015, 0.034627, 0.0061857, 0.060686, 0.21299, 0.49078, 0.22633, 0.15646, 0.028586, 0.005032, 0.060611, 0.009868, 0.009868, 0.0098686, 0.034033, 0.0061096, 0.058237, 0.18917, 0.55519, 0.2565, 0.18519, 0.027525, 0.0046499, 0.057097, 0.009835, 0.009835, 0.0098357, 0.033843, 0.0060086, 0.055699, 0.19722, 0.55381, 0.28461, 0.20411, 0.028055, 0.0047453, 0.055075, 0.009802, 0.009802, 0.0098028, 0.033772, 0.0060093, 0.054237, 0.19437, 0.6019, 0.2962, 0.21088, 0.02756, 0.0046903, 0.053216, 0.009769, 0.009769, 0.0097699, 0.033476, 0.0059833, 0.052363, 0.20441, 0.59436, 0.31073, 0.22382, 0.027098, 0.004673, 0.051697, 0.009736, 0.009736, 0.00973610, 0.032851, 0.0057573, 0.051422, 0.22232, 0.61606, 0.34443, 0.25356, 0.027246, 0.0044971, 0.049342, 0.009703, 0.009703, 0.00970311, 0.03272, 0.0056973, 0.049853, 0.24867, 0.61201, 0.3626, 0.26863, 0.026034, 0.0043373, 0.047599, 0.00967, 0.00967, 0.0096712, 0.03266, 0.0056695, 0.047681, 0.28717, 0.61165, 0.39347, 0.29665, 0.025374, 0.004349, 0.045888, 0.009637, 0.009637, 0.00963713, 0.032153, 0.0055037, 0.046518, 0.3058, 0.57287, 0.40662, 0.30909, 0.025011, 0.0042358, 0.044333, 0.009604, 0.009604, 0.00960414, 0.032576, 0.0054886, 0.04542, 0.33658, 0.58213, 0.42061, 0.32379, 0.024829, 0.0041742, 0.043134, 0.009571, 0.009571, 0.00957115, 0.032387, 0.0055425, 0.044446, 0.37355, 0.52607, 0.42231, 0.32391, 0.024602, 0.0042754, 0.042749, 0.009538, 0.009538, 0.00953816, 0.032671, 0.0056246, 0.043551, 0.36358, 0.5695, 0.45077, 0.34856, 0.024069, 0.0041521, 0.040751, 0.009505, 0.009505, 0.00950517, 0.03226, 0.0053648, 0.042455, 0.3658, 0.57732, 0.45753, 0.35646, 0.023806, 0.0040891, 0.039581, 0.009472, 0.009472, 0.00947218, 0.03243, 0.0055152, 0.042473, 0.3621, 0.57262, 0.4535, 0.3522, 0.02402, 0.0042186, 0.039545, 0.009439, 0.009439, 0.00943919, 0.03275, 0.005531, 0.040938, 0.37596, 0.59058, 0.47926, 0.37439, 0.023726, 0.0041094, 0.038301, 0.009406, 0.009406, 0.00940620, 0.033239, 0.0056834, 0.040887, 0.41268, 0.56448, 0.48873, 0.38445, 0.023789, 0.0040913, 0.037346, 0.009373, 0.009373, 0.00937321, 0.032865, 0.0054198, 0.039451, 0.42437, 0.57752, 0.5105, 0.40284, 0.022967, 0.0039995, 0.036103, 0.00934, 0.00934, 0.0093422, 0.032828, 0.0053395, 0.038421, 0.44325, 0.58882, 0.52703, 0.41799, 0.022897, 0.0039739, 0.035061, 0.009307, 0.009307, 0.00930723, 0.032811, 0.0054493, 0.036931, 0.44394, 0.60169, 0.54538, 0.43321, 0.022514, 0.003919, 0.034121, 0.009274, 0.009274, 0.00927424, 0.03268, 0.005388, 0.037201, 0.44381, 0.61491, 0.5533, 0.44201, 0.022378, 0.0039265, 0.033726, 0.009241, 0.009241, 0.00924125, 0.032402, 0.005423, 0.036682, 0.47562, 0.58721, 0.55986, 0.44753, 0.022448, 0.0039325, 0.033295, 0.009208, 0.009208, 0.00920826, 0.033003, 0.0054167, 0.036404, 0.49296, 0.58061, 0.56703, 0.45353, 0.022303, 0.0039037, 0.032514, 0.009175, 0.009175, 0.00917527, 0.033008, 0.0053913, 0.035039, 0.49935, 0.59701, 0.58161, 0.46631, 0.021898, 0.0038903, 0.031634, 0.009142, 0.009142, 0.00914228, 0.032476, 0.0053106, 0.03442, 0.54556, 0.55914, 0.58927, 0.47249, 0.021813, 0.0038598, 0.030857, 0.009109, 0.009109, 0.00910929, 0.032375, 0.0053179, 0.033558, 0.57121, 0.57172, 0.60157, 0.48411, 0.021647, 0.0038647, 0.030234, 0.009076, 0.009076, 0.00907630, 0.032728, 0.0052627, 0.032921, 0.59628, 0.56386, 0.60798, 0.49015, 0.021591, 0.0038217, 0.029875, 0.009043, 0.009043, 0.00904331, 0.032719, 0.0052322, 0.03244, 0.59523, 0.57938, 0.61583, 0.49755, 0.021523, 0.0038025, 0.029317, 0.00901, 0.00901, 0.0090132, 0.03286, 0.0052865, 0.031345, 0.56057, 0.61302, 0.6258, 0.50429, 0.021365, 0.0037989, 0.028644, 0.008977, 0.008977, 0.00897733, 0.032526, 0.0053013, 0.031186, 0.60673, 0.58878, 0.63047, 0.50989, 0.021331, 0.003777, 0.028041, 0.008944, 0.008944, 0.00894434, 0.0326, 0.0053323, 0.031624, 0.59372, 0.60155, 0.63147, 0.51128, 0.021231, 0.0037723, 0.027678, 0.008911, 0.008911, 0.00891135, 0.032783, 0.0053221, 0.031254, 0.59656, 0.60743, 0.63621, 0.51489, 0.021004, 0.0037619, 0.027334, 0.008878, 0.008878, 0.00887836, 0.033119, 0.0053159, 0.030469, 0.64668, 0.58125, 0.64055, 0.51886, 0.02108, 0.0037737, 0.026995, 0.008845, 0.008845, 0.00884537, 0.032538, 0.0052159, 0.029027, 0.65477, 0.58883, 0.64825, 0.52594, 0.020977, 0.0037651, 0.026315, 0.008812, 0.008812, 0.00881238, 0.032932, 0.0052535, 0.029924, 0.63616, 0.60366, 0.65139, 0.52838, 0.020967, 0.003748, 0.025895, 0.008779, 0.008779, 0.00877939, 0.033062, 0.0052943, 0.029677, 0.66848, 0.59473, 0.65422, 0.53131, 0.020937, 0.0037527, 0.025598, 0.008746, 0.008746, 0.00874640, 0.032384, 0.0052629, 0.028554, 0.66109, 0.60544, 0.65856, 0.53575, 0.020842, 0.0037502, 0.025287, 0.008713, 0.008713, 0.00871341, 0.033194, 0.0051974, 0.027931, 0.62554, 0.63166, 0.66413, 0.54023, 0.020755, 0.0037449, 0.024943, 0.00868, 0.00868, 0.0086842, 0.032743, 0.0051519, 0.027257, 0.65158, 0.6261, 0.66896, 0.54414, 0.020681, 0.0037297, 0.024577, 0.008647, 0.008647, 0.00864743, 0.03308, 0.005295, 0.028377, 0.66213, 0.62352, 0.67199, 0.5467, 0.020678, 0.0037395, 0.024318, 0.008614, 0.008614, 0.00861444, 0.032709, 0.0052557, 0.0275, 0.64745, 0.63553, 0.67496, 0.54934, 0.020637, 0.0037424, 0.024106, 0.008581, 0.008581, 0.00858145, 0.032875, 0.0052871, 0.027811, 0.64394, 0.64258, 0.67693, 0.55146, 0.020595, 0.0037384, 0.023931, 0.008548, 0.008548, 0.00854846, 0.033106, 0.0052173, 0.026308, 0.64515, 0.64619, 0.67994, 0.55399, 0.020563, 0.0037373, 0.023685, 0.008515, 0.008515, 0.00851547, 0.032743, 0.0053661, 0.027287, 0.65528, 0.64148, 0.68218, 0.55603, 0.02056, 0.0037373, 0.02343, 0.008482, 0.008482, 0.00848248, 0.032783, 0.0051316, 0.02628, 0.65353, 0.64715, 0.6846, 0.55786, 0.020541, 0.0037341, 0.02324, 0.008449, 0.008449, 0.00844949, 0.033169, 0.00518, 0.025224, 0.65421, 0.6491, 0.68819, 0.56068, 0.020537, 0.0037266, 0.023026, 0.008416, 0.008416, 0.00841650, 0.032762, 0.0051755, 0.024361, 0.66691, 0.64322, 0.69143, 0.5632, 0.020525, 0.0037191, 0.022816, 0.008383, 0.008383, 0.00838351, 0.032688, 0.005195, 0.024139, 0.67172, 0.64494, 0.69447, 0.56648, 0.020498, 0.0037175, 0.022625, 0.00835, 0.00835, 0.0083552, 0.033155, 0.0051913, 0.024461, 0.66517, 0.65231, 0.69703, 0.56887, 0.020462, 0.0037136, 0.022443, 0.008317, 0.008317, 0.00831753, 0.032538, 0.0052959, 0.025882, 0.67526, 0.64679, 0.69903, 0.57142, 0.020447, 0.0037166, 0.022296, 0.008284, 0.008284, 0.00828454, 0.033405, 0.0053291, 0.025363, 0.70203, 0.63234, 0.7006, 0.57304, 0.020417, 0.0037208, 0.022181, 0.008251, 0.008251, 0.00825155, 0.033117, 0.0053235, 0.02563, 0.69674, 0.63709, 0.70143, 0.57447, 0.020415, 0.0037269, 0.022101, 0.008218, 0.008218, 0.00821856, 0.032616, 0.0052915, 0.024074, 0.69781, 0.63901, 0.70254, 0.57595, 0.020397, 0.0037259, 0.022001, 0.008185, 0.008185, 0.00818557, 0.032899, 0.0051291, 0.022947, 0.7243, 0.62732, 0.70451, 0.57765, 0.02038, 0.0037233, 0.021901, 0.008152, 0.008152, 0.00815258, 0.033528, 0.0052153, 0.023924, 0.73188, 0.62646, 0.70652, 0.57978, 0.020359, 0.0037229, 0.02177, 0.008119, 0.008119, 0.00811959, 0.032791, 0.0052104, 0.02353, 0.74785, 0.62166, 0.70859, 0.58161, 0.020345, 0.0037196, 0.021649, 0.008086, 0.008086, 0.00808660, 0.032782, 0.0052591, 0.02366, 0.73689, 0.62871, 0.71018, 0.583, 0.020347, 0.0037166, 0.021515, 0.008053, 0.008053, 0.00805361, 0.033105, 0.005191, 0.023096, 0.75221, 0.62455, 0.71193, 0.5842, 0.020378, 0.0037143, 0.021392, 0.00802, 0.00802, 0.0080262, 0.032828, 0.0051065, 0.022109, 0.75581, 0.62469, 0.71433, 0.58598, 0.020375, 0.0037095, 0.021269, 0.007987, 0.007987, 0.00798763, 0.032723, 0.0051402, 0.021845, 0.73776, 0.63563, 0.71624, 0.58827, 0.020353, 0.0037058, 0.021149, 0.007954, 0.007954, 0.00795464, 0.032645, 0.0051876, 0.022193, 0.76202, 0.6253, 0.71793, 0.58966, 0.020328, 0.0037009, 0.021028, 0.007921, 0.007921, 0.00792165, 0.032686, 0.0051379, 0.021638, 0.76173, 0.62734, 0.71986, 0.59118, 0.020313, 0.0036968, 0.020894, 0.007888, 0.007888, 0.00788866, 0.033133, 0.0052641, 0.022097, 0.74754, 0.63598, 0.7215, 0.59273, 0.020314, 0.0036944, 0.02077, 0.007855, 0.007855, 0.00785567, 0.03282, 0.0051806, 0.021866, 0.75078, 0.63631, 0.72343, 0.59433, 0.020316, 0.0036919, 0.020657, 0.007822, 0.007822, 0.00782268, 0.032406, 0.0050863, 0.020631, 0.75866, 0.63413, 0.72519, 0.59593, 0.020305, 0.0036886, 0.020537, 0.007789, 0.007789, 0.00778969, 0.032291, 0.0051567, 0.020383, 0.76347, 0.63402, 0.7269, 0.5977, 0.020299, 0.0036852, 0.020417, 0.007756, 0.007756, 0.00775670, 0.032656, 0.00514, 0.021058, 0.76951, 0.6329, 0.72843, 0.59917, 0.020292, 0.0036837, 0.020295, 0.007723, 0.007723, 0.00772371, 0.032562, 0.0051437, 0.020336, 0.76394, 0.63723, 0.72984, 0.6, 0.020284, 0.0036829, 0.020184, 0.00769, 0.00769, 0.0076972, 0.033339, 0.0051422, 0.020397, 0.78689, 0.62788, 0.73128, 0.60119, 0.02028, 0.0036796, 0.02007, 0.007657, 0.007657, 0.00765773, 0.032924, 0.0051349, 0.019935, 0.79185, 0.62849, 0.73262, 0.60218, 0.020269, 0.0036791, 0.019949, 0.007624, 0.007624, 0.00762474, 0.032712, 0.0050793, 0.01975, 0.80314, 0.62483, 0.73388, 0.60357, 0.020261, 0.0036779, 0.019835, 0.007591, 0.007591, 0.00759175, 0.032649, 0.0051876, 0.021183, 0.79815, 0.62941, 0.73496, 0.60496, 0.020255, 0.0036766, 0.019728, 0.007558, 0.007558, 0.00755876, 0.032327, 0.0051959, 0.020844, 0.78488, 0.63673, 0.73601, 0.60588, 0.020256, 0.0036762, 0.019629, 0.007525, 0.007525, 0.00752577, 0.033221, 0.0055748, 0.023089, 0.78882, 0.63588, 0.7363, 0.60617, 0.020271, 0.0036816, 0.019567, 0.007492, 0.007492, 0.00749278, 0.032745, 0.0053106, 0.020553, 0.81674, 0.62355, 0.73688, 0.60638, 0.020282, 0.0036867, 0.019512, 0.007459, 0.007459, 0.00745979, 0.032628, 0.0052305, 0.020333, 0.82063, 0.62387, 0.73751, 0.60694, 0.020278, 0.0036888, 0.019428, 0.007426, 0.007426, 0.00742680, 0.032683, 0.0050951, 0.019174, 0.81818, 0.62727, 0.7384, 0.60774, 0.020279, 0.0036862, 0.019333, 0.007393, 0.007393, 0.00739381, 0.032434, 0.0051544, 0.020096, 0.81329, 0.63119, 0.73916, 0.60829, 0.020288, 0.0036853, 0.019238, 0.00736, 0.00736, 0.0073682, 0.032803, 0.0051839, 0.019458, 0.81857, 0.62966, 0.73985, 0.60883, 0.020285, 0.0036846, 0.019136, 0.007327, 0.007327, 0.00732783, 0.03249, 0.0052054, 0.019774, 0.8188, 0.62989, 0.74089, 0.60965, 0.020287, 0.0036766, 0.019014, 0.007294, 0.007294, 0.00729484, 0.032005, 0.0050745, 0.019692, 0.82507, 0.62846, 0.74191, 0.61064, 0.020289, 0.0036704, 0.018906, 0.007261, 0.007261, 0.00726185, 0.032442, 0.0050993, 0.019001, 0.83204, 0.62638, 0.74313, 0.61128, 0.02029, 0.0036669, 0.018793, 0.007228, 0.007228, 0.00722886, 0.032386, 0.0050815, 0.018914, 0.83875, 0.6245, 0.7442, 0.61192, 0.020288, 0.0036636, 0.018678, 0.007195, 0.007195, 0.00719587, 0.032351, 0.0050276, 0.018433, 0.8234, 0.63342, 0.74526, 0.61274, 0.020285, 0.0036584, 0.018566, 0.007162, 0.007162, 0.00716288, 0.032578, 0.0051392, 0.01944, 0.81976, 0.63689, 0.74625, 0.61391, 0.020283, 0.0036545, 0.018464, 0.007129, 0.007129, 0.00712989, 0.032239, 0.004979, 0.018214, 0.83379, 0.63199, 0.74732, 0.61476, 0.020272, 0.0036513, 0.018355, 0.007096, 0.007096, 0.00709690, 0.032618, 0.0050673, 0.019266, 0.84107, 0.6304, 0.74844, 0.61581, 0.02027, 0.0036465, 0.018238, 0.007063, 0.007063, 0.00706391, 0.032067, 0.0050042, 0.018535, 0.81888, 0.64185, 0.74939, 0.61693, 0.020255, 0.003644, 0.018129, 0.00703, 0.00703, 0.0070392, 0.032051, 0.0050181, 0.018502, 0.82316, 0.64247, 0.75046, 0.61782, 0.020242, 0.0036414, 0.018008, 0.006997, 0.006997, 0.00699793, 0.031761, 0.0049327, 0.017309, 0.82136, 0.64464, 0.75178, 0.61893, 0.02023, 0.0036384, 0.01788, 0.006964, 0.006964, 0.00696494, 0.031771, 0.0049112, 0.017089, 0.82038, 0.64759, 0.75305, 0.62, 0.020216, 0.0036331, 0.017752, 0.006931, 0.006931, 0.00693195, 0.031649, 0.0048784, 0.017121, 0.82372, 0.64756, 0.75443, 0.62102, 0.020214, 0.0036291, 0.017622, 0.006898, 0.006898, 0.00689896, 0.031286, 0.0050115, 0.017306, 0.83245, 0.64511, 0.75575, 0.62196, 0.020206, 0.0036264, 0.017498, 0.006865, 0.006865, 0.00686597, 0.031636, 0.0049934, 0.017788, 0.83834, 0.64372, 0.75687, 0.62287, 0.020194, 0.0036229, 0.017378, 0.006832, 0.006832, 0.00683298, 0.031732, 0.004993, 0.017667, 0.84219, 0.64446, 0.75806, 0.62414, 0.020187, 0.0036207, 0.017265, 0.006799, 0.006799, 0.00679999, 0.031885, 0.0049469, 0.017463, 0.83978, 0.64723, 0.75912, 0.62501, 0.02018, 0.0036165, 0.017149, 0.006766, 0.006766, 0.006766100, 0.032113, 0.0049781, 0.018377, 0.84517, 0.64556, 0.76021, 0.62611, 0.02017, 0.0036131, 0.017043, 0.006733, 0.006733, 0.006733101, 0.031877, 0.0049538, 0.017199, 0.84022, 0.65048, 0.76138, 0.62663, 0.020156, 0.00361, 0.016926, 0.0067, 0.0067, 0.0067102, 0.031947, 0.0049057, 0.016569, 0.84697, 0.64847, 0.76247, 0.62757, 0.020148, 0.003606, 0.016806, 0.006667, 0.006667, 0.006667103, 0.031553, 0.0048878, 0.016301, 0.84633, 0.65073, 0.76361, 0.62846, 0.02013, 0.0036015, 0.016691, 0.006634, 0.006634, 0.006634104, 0.031434, 0.0048729, 0.016646, 0.85391, 0.64748, 0.76434, 0.62885, 0.020115, 0.0035975, 0.016594, 0.006601, 0.006601, 0.006601105, 0.031806, 0.0050806, 0.018338, 0.84972, 0.65018, 0.76497, 0.62943, 0.0201, 0.0035943, 0.016496, 0.006568, 0.006568, 0.006568106, 0.031046, 0.0050535, 0.01826, 0.83371, 0.65966, 0.76563, 0.63023, 0.020094, 0.0035909, 0.016395, 0.006535, 0.006535, 0.006535107, 0.031261, 0.0049281, 0.016505, 0.83666, 0.65892, 0.76661, 0.63071, 0.020083, 0.0035885, 0.016286, 0.006502, 0.006502, 0.006502108, 0.032034, 0.0051916, 0.018763, 0.8493, 0.65227, 0.76741, 0.63124, 0.02008, 0.003586, 0.016173, 0.006469, 0.006469, 0.006469109, 0.031512, 0.0050455, 0.018, 0.84341, 0.65515, 0.767, 0.63117, 0.020096, 0.0035875, 0.016086, 0.006436, 0.006436, 0.006436110, 0.031427, 0.0051308, 0.018631, 0.84003, 0.65713, 0.76769, 0.63152, 0.020084, 0.0035843, 0.016001, 0.006403, 0.006403, 0.006403111, 0.031827, 0.0050066, 0.017365, 0.85014, 0.65301, 0.76858, 0.63242, 0.020081, 0.003582, 0.015906, 0.00637, 0.00637, 0.00637112, 0.030934, 0.0048533, 0.015904, 0.87947, 0.63874, 0.76966, 0.63348, 0.02007, 0.0035777, 0.015805, 0.006337, 0.006337, 0.006337113, 0.03153, 0.0048292, 0.015772, 0.84913, 0.65636, 0.77084, 0.6344, 0.020066, 0.0035747, 0.015707, 0.006304, 0.006304, 0.006304114, 0.030914, 0.0048851, 0.016255, 0.88032, 0.64124, 0.77196, 0.63526, 0.020051, 0.0035698, 0.01561, 0.006271, 0.006271, 0.006271115, 0.031569, 0.0049324, 0.016916, 0.8923, 0.63666, 0.77286, 0.63615, 0.020036, 0.0035675, 0.015523, 0.006238, 0.006238, 0.006238116, 0.03189, 0.0050273, 0.017454, 0.84748, 0.66028, 0.77354, 0.63721, 0.020019, 0.0035648, 0.015436, 0.006205, 0.006205, 0.006205117, 0.031168, 0.0048909, 0.015903, 0.85865, 0.65541, 0.77439, 0.63761, 0.02001, 0.003563, 0.015349, 0.006172, 0.006172, 0.006172118, 0.031597, 0.0048817, 0.016465, 0.86109, 0.65502, 0.77524, 0.63831, 0.02001, 0.0035602, 0.015266, 0.006139, 0.006139, 0.006139119, 0.031691, 0.0048574, 0.016009, 0.8507, 0.66263, 0.7763, 0.63903, 0.020005, 0.0035575, 0.015178, 0.006106, 0.006106, 0.006106120, 0.031368, 0.0048128, 0.015618, 0.85214, 0.66439, 0.77758, 0.63996, 0.019994, 0.0035546, 0.01509, 0.006073, 0.006073, 0.006073121, 0.031325, 0.0049538, 0.017231, 0.84948, 0.66651, 0.77813, 0.64065, 0.019994, 0.0035506, 0.015019, 0.00604, 0.00604, 0.00604122, 0.030841, 0.0049518, 0.017417, 0.85127, 0.66597, 0.77855, 0.64099, 0.019977, 0.003547, 0.014954, 0.006007, 0.006007, 0.006007123, 0.031086, 0.0048497, 0.016481, 0.85359, 0.66504, 0.77911, 0.64177, 0.019964, 0.0035423, 0.01488, 0.005974, 0.005974, 0.005974124, 0.030517, 0.004914, 0.016658, 0.85335, 0.66582, 0.77967, 0.64231, 0.019958, 0.0035384, 0.014808, 0.005941, 0.005941, 0.005941125, 0.031265, 0.0048175, 0.016053, 0.85698, 0.66433, 0.78048, 0.6428, 0.019952, 0.0035351, 0.014739, 0.005908, 0.005908, 0.005908126, 0.030632, 0.0047603, 0.015218, 0.88499, 0.65083, 0.78129, 0.64361, 0.019934, 0.003531, 0.01467, 0.005875, 0.005875, 0.005875127, 0.030986, 0.0047461, 0.014968, 0.88118, 0.65412, 0.78197, 0.64427, 0.019922, 0.0035266, 0.014597, 0.005842, 0.005842, 0.005842128, 0.030575, 0.0047971, 0.015223, 0.8868, 0.65261, 0.78148, 0.64303, 0.019935, 0.003522, 0.014554, 0.005809, 0.005809, 0.005809129, 0.030405, 0.0048258, 0.015621, 0.88782, 0.65238, 0.78154, 0.64335, 0.019939, 0.0035198, 0.014497, 0.005776, 0.005776, 0.005776130, 0.030507, 0.0048118, 0.015942, 0.88719, 0.65295, 0.78199, 0.64399, 0.019928, 0.0035156, 0.014437, 0.005743, 0.005743, 0.005743131, 0.030374, 0.0048454, 0.016069, 0.88629, 0.65416, 0.78262, 0.64451, 0.019909, 0.0035137, 0.014375, 0.00571, 0.00571, 0.00571132, 0.030838, 0.0049723, 0.017097, 0.8914, 0.6531, 0.78329, 0.64482, 0.019899, 0.0035112, 0.014306, 0.005677, 0.005677, 0.005677133, 0.030861, 0.004896, 0.016528, 0.88947, 0.65395, 0.78391, 0.64578, 0.019882, 0.0035089, 0.014243, 0.005644, 0.005644, 0.005644134, 0.030806, 0.0048672, 0.016085, 0.88524, 0.65611, 0.78437, 0.64605, 0.019867, 0.0035069, 0.014185, 0.005611, 0.005611, 0.005611135, 0.03115, 0.0048788, 0.016257, 0.88477, 0.65736, 0.78488, 0.64634, 0.019851, 0.0035045, 0.014127, 0.005578, 0.005578, 0.005578136, 0.030839, 0.0048022, 0.015253, 0.88644, 0.65705, 0.7854, 0.64714, 0.019839, 0.0035033, 0.01407, 0.005545, 0.005545, 0.005545137, 0.030376, 0.0047212, 0.014489, 0.87715, 0.66325, 0.78625, 0.6478, 0.019826, 0.0035001, 0.014006, 0.005512, 0.005512, 0.005512138, 0.029985, 0.0047087, 0.015312, 0.86364, 0.67173, 0.78701, 0.64853, 0.019814, 0.0034963, 0.013946, 0.005479, 0.005479, 0.005479139, 0.030604, 0.0048447, 0.015221, 0.86334, 0.6732, 0.78773, 0.64921, 0.019797, 0.0034934, 0.013887, 0.005446, 0.005446, 0.005446140, 0.030748, 0.004771, 0.015497, 0.86672, 0.67253, 0.7886, 0.65019, 0.01978, 0.0034895, 0.013828, 0.005413, 0.005413, 0.005413141, 0.03022, 0.0048063, 0.015194, 0.86254, 0.67601, 0.78932, 0.6508, 0.01976, 0.0034869, 0.013765, 0.00538, 0.00538, 0.00538142, 0.029818, 0.0047004, 0.01471, 0.86634, 0.67553, 0.79001, 0.65152, 0.019743, 0.0034834, 0.013707, 0.005347, 0.005347, 0.005347143, 0.030387, 0.0047326, 0.014323, 0.87472, 0.67176, 0.79075, 0.65188, 0.01973, 0.0034797, 0.013645, 0.005314, 0.005314, 0.005314144, 0.030215, 0.0047528, 0.015347, 0.87765, 0.67133, 0.79121, 0.65235, 0.019708, 0.0034762, 0.013595, 0.005281, 0.005281, 0.005281145, 0.0298, 0.0047936, 0.015609, 0.87538, 0.67342, 0.79161, 0.65263, 0.019694, 0.0034744, 0.013553, 0.005248, 0.005248, 0.005248146, 0.029669, 0.0048091, 0.015629, 0.875, 0.67419, 0.79202, 0.65293, 0.01968, 0.0034723, 0.01351, 0.005215, 0.005215, 0.005215147, 0.029889, 0.0048393, 0.015743, 0.87275, 0.67638, 0.79238, 0.65355, 0.019671, 0.0034701, 0.013469, 0.005182, 0.005182, 0.005182148, 0.030303, 0.004692, 0.014702, 0.87847, 0.67445, 0.79274, 0.65362, 0.019665, 0.0034678, 0.013428, 0.005149, 0.005149, 0.005149149, 0.030168, 0.004706, 0.015006, 0.88225, 0.67328, 0.79311, 0.65403, 0.019655, 0.003466, 0.013395, 0.005116, 0.005116, 0.005116150, 0.029806, 0.0046252, 0.014383, 0.88195, 0.67364, 0.79356, 0.65466, 0.019643, 0.0034622, 0.013358, 0.005083, 0.005083, 0.005083151, 0.029649, 0.0046202, 0.01415, 0.88847, 0.67084, 0.79402, 0.65506, 0.019639, 0.0034579, 0.01332, 0.00505, 0.00505, 0.00505152, 0.02953, 0.0045877, 0.014023, 0.89276, 0.66953, 0.7947, 0.65564, 0.019624, 0.0034543, 0.013279, 0.005017, 0.005017, 0.005017153, 0.029266, 0.004573, 0.013272, 0.89334, 0.67037, 0.79559, 0.65636, 0.019612, 0.0034493, 0.013235, 0.004984, 0.004984, 0.004984154, 0.029439, 0.0046827, 0.014827, 0.89534, 0.66967, 0.79612, 0.657, 0.0196, 0.0034459, 0.013198, 0.004951, 0.004951, 0.004951155, 0.029172, 0.004629, 0.014836, 0.885, 0.67589, 0.79654, 0.65756, 0.019587, 0.0034425, 0.013164, 0.004918, 0.004918, 0.004918156, 0.029751, 0.0047398, 0.015841, 0.88817, 0.67561, 0.79701, 0.65807, 0.019583, 0.0034404, 0.01313, 0.004885, 0.004885, 0.004885157, 0.02981, 0.0048484, 0.016958, 0.89535, 0.67148, 0.79726, 0.65808, 0.019582, 0.0034387, 0.013106, 0.004852, 0.004852, 0.004852158, 0.029677, 0.0046674, 0.013917, 0.89434, 0.67234, 0.79741, 0.65835, 0.019586, 0.0034382, 0.013071, 0.004819, 0.004819, 0.004819159, 0.029464, 0.0045948, 0.013542, 0.89265, 0.67363, 0.79786, 0.65883, 0.019586, 0.0034363, 0.013031, 0.004786, 0.004786, 0.004786160, 0.029218, 0.004708, 0.014342, 0.8856, 0.67784, 0.79818, 0.65933, 0.019582, 0.0034349, 0.012994, 0.004753, 0.004753, 0.004753161, 0.029343, 0.0046623, 0.014719, 0.88885, 0.67613, 0.79853, 0.6598, 0.019574, 0.0034322, 0.012953, 0.00472, 0.00472, 0.00472162, 0.029323, 0.0046967, 0.014958, 0.89266, 0.67382, 0.79884, 0.65984, 0.019562, 0.0034307, 0.012922, 0.004687, 0.004687, 0.004687163, 0.029396, 0.0046844, 0.014559, 0.88638, 0.67755, 0.79911, 0.66011, 0.019551, 0.003429, 0.012892, 0.004654, 0.004654, 0.004654164, 0.029645, 0.0048339, 0.015533, 0.87965, 0.68065, 0.79908, 0.65998, 0.01954, 0.0034278, 0.012879, 0.004621, 0.004621, 0.004621165, 0.029143, 0.0048531, 0.016001, 0.88006, 0.68057, 0.79925, 0.6603, 0.019527, 0.0034253, 0.012857, 0.004588, 0.004588, 0.004588166, 0.029355, 0.0046257, 0.014049, 0.8832, 0.67887, 0.79965, 0.6608, 0.019518, 0.0034221, 0.012822, 0.004555, 0.004555, 0.004555167, 0.029609, 0.0049048, 0.017226, 0.87486, 0.68331, 0.7995, 0.66086, 0.019501, 0.0034224, 0.012811, 0.004522, 0.004522, 0.004522168, 0.029227, 0.0046878, 0.014494, 0.88423, 0.67854, 0.79962, 0.66086, 0.019495, 0.0034235, 0.012791, 0.004489, 0.004489, 0.004489169, 0.028963, 0.0046821, 0.014431, 0.88801, 0.67668, 0.79974, 0.66112, 0.019491, 0.003425, 0.012767, 0.004456, 0.004456, 0.004456170, 0.028792, 0.0046551, 0.014323, 0.88618, 0.67864, 0.80019, 0.66131, 0.019481, 0.0034249, 0.01274, 0.004423, 0.004423, 0.004423171, 0.028833, 0.0047184, 0.014769, 0.88584, 0.6792, 0.80029, 0.66137, 0.019477, 0.0034259, 0.012709, 0.00439, 0.00439, 0.00439172, 0.029024, 0.0045442, 0.013321, 0.89036, 0.67712, 0.8006, 0.66162, 0.019467, 0.0034259, 0.01268, 0.004357, 0.004357, 0.004357173, 0.02841, 0.0045506, 0.013934, 0.87756, 0.68475, 0.80094, 0.66228, 0.019454, 0.0034232, 0.012654, 0.004324, 0.004324, 0.004324174, 0.02903, 0.0047525, 0.014831, 0.8811, 0.68269, 0.8014, 0.66284, 0.019439, 0.0034217, 0.012631, 0.004291, 0.004291, 0.004291175, 0.028494, 0.0045341, 0.013479, 0.86662, 0.69268, 0.80191, 0.66313, 0.019424, 0.0034192, 0.0126, 0.004258, 0.004258, 0.004258176, 0.028275, 0.0044714, 0.012635, 0.87422, 0.68897, 0.80257, 0.66377, 0.019411, 0.003415, 0.012558, 0.004225, 0.004225, 0.004225177, 0.028392, 0.0044671, 0.012628, 0.8761, 0.68958, 0.80325, 0.66449, 0.019393, 0.0034106, 0.012516, 0.004192, 0.004192, 0.004192178, 0.028098, 0.0045219, 0.013251, 0.87967, 0.68822, 0.80392, 0.66485, 0.019379, 0.003406, 0.012475, 0.004159, 0.004159, 0.004159179, 0.028316, 0.0045562, 0.013679, 0.87757, 0.6905, 0.80439, 0.66541, 0.01936, 0.0034017, 0.01243, 0.004126, 0.004126, 0.004126180, 0.028266, 0.0045204, 0.013536, 0.87832, 0.69125, 0.80493, 0.66603, 0.019342, 0.0033985, 0.012389, 0.004093, 0.004093, 0.004093181, 0.028115, 0.0045113, 0.013767, 0.87478, 0.69366, 0.8056, 0.66674, 0.019323, 0.0033951, 0.012351, 0.00406, 0.00406, 0.00406182, 0.028973, 0.0045893, 0.014179, 0.87357, 0.69558, 0.80605, 0.66693, 0.019307, 0.0033911, 0.012299, 0.004027, 0.004027, 0.004027183, 0.028398, 0.0045255, 0.01315, 0.86279, 0.70187, 0.80665, 0.66747, 0.019291, 0.0033867, 0.012239, 0.003994, 0.003994, 0.003994184, 0.028347, 0.0046116, 0.014029, 0.86156, 0.70312, 0.80708, 0.66819, 0.01928, 0.0033823, 0.012213, 0.003961, 0.003961, 0.003961185, 0.028126, 0.0044354, 0.012803, 0.86827, 0.70004, 0.80771, 0.66844, 0.019264, 0.0033783, 0.012179, 0.003928, 0.003928, 0.003928186, 0.028092, 0.0044288, 0.012635, 0.85921, 0.70728, 0.80816, 0.6688, 0.019249, 0.0033743, 0.012144, 0.003895, 0.003895, 0.003895187, 0.028219, 0.0044341, 0.012455, 0.8597, 0.70751, 0.80868, 0.66937, 0.019237, 0.0033696, 0.012106, 0.003862, 0.003862, 0.003862188, 0.028297, 0.0044604, 0.013685, 0.86853, 0.70219, 0.80926, 0.6699, 0.019225, 0.0033652, 0.012083, 0.003829, 0.003829, 0.003829189, 0.028089, 0.0044908, 0.013035, 0.86344, 0.70547, 0.80969, 0.67069, 0.019209, 0.0033617, 0.012048, 0.003796, 0.003796, 0.003796190, 0.028265, 0.0044647, 0.012995, 0.87179, 0.70153, 0.81014, 0.6713, 0.019195, 0.003359, 0.012001, 0.003763, 0.003763, 0.003763191, 0.027968, 0.0044832, 0.013211, 0.87127, 0.70281, 0.81054, 0.67156, 0.019184, 0.0033564, 0.011958, 0.00373, 0.00373, 0.00373192, 0.02819, 0.0044138, 0.012269, 0.87067, 0.70463, 0.81111, 0.67218, 0.01917, 0.0033532, 0.011915, 0.003697, 0.003697, 0.003697193, 0.027483, 0.0044478, 0.012964, 0.87322, 0.7037, 0.81165, 0.67277, 0.019166, 0.0033503, 0.011878, 0.003664, 0.003664, 0.003664194, 0.027975, 0.0043979, 0.01293, 0.87524, 0.70343, 0.81218, 0.67302, 0.01916, 0.0033473, 0.011833, 0.003631, 0.003631, 0.003631195, 0.028067, 0.0044256, 0.012334, 0.88085, 0.70041, 0.81271, 0.67337, 0.019153, 0.003345, 0.011791, 0.003598, 0.003598, 0.003598196, 0.0279, 0.0045048, 0.013608, 0.89154, 0.69518, 0.81295, 0.67396, 0.019145, 0.0033433, 0.011759, 0.003565, 0.003565, 0.003565197, 0.02758, 0.0044779, 0.013187, 0.88395, 0.70034, 0.81364, 0.6745, 0.019134, 0.0033405, 0.011734, 0.003532, 0.003532, 0.003532198, 0.027943, 0.0044789, 0.013491, 0.88299, 0.70136, 0.81395, 0.67496, 0.019127, 0.0033391, 0.011698, 0.003499, 0.003499, 0.003499199, 0.027604, 0.0044764, 0.012396, 0.86991, 0.71011, 0.81444, 0.67534, 0.019111, 0.0033367, 0.011651, 0.003466, 0.003466, 0.003466200, 0.027905, 0.0044609, 0.013532, 0.87429, 0.70821, 0.81511, 0.67561, 0.019101, 0.0033339, 0.011603, 0.003433, 0.003433, 0.003433201, 0.027205, 0.0044224, 0.012354, 0.8785, 0.70566, 0.81534, 0.6761, 0.019092, 0.0033307, 0.011553, 0.0034, 0.0034, 0.0034202, 0.027364, 0.004326, 0.011794, 0.87383, 0.70961, 0.81579, 0.67664, 0.019081, 0.0033271, 0.011496, 0.003367, 0.003367, 0.003367203, 0.027034, 0.0043808, 0.012486, 0.88445, 0.70409, 0.81623, 0.67716, 0.019069, 0.0033234, 0.01144, 0.003334, 0.003334, 0.003334204, 0.027096, 0.0043339, 0.012473, 0.88645, 0.70395, 0.81675, 0.67764, 0.019056, 0.0033205, 0.01145, 0.003301, 0.003301, 0.003301205, 0.02718, 0.0044947, 0.013286, 0.88663, 0.70472, 0.817, 0.67766, 0.019045, 0.0033171, 0.011448, 0.003268, 0.003268, 0.003268206, 0.02737, 0.0043754, 0.012324, 0.88532, 0.70629, 0.81732, 0.67782, 0.019033, 0.0033138, 0.011418, 0.003235, 0.003235, 0.003235207, 0.026862, 0.0043414, 0.011856, 0.88522, 0.70735, 0.81771, 0.67826, 0.019021, 0.0033098, 0.011374, 0.003202, 0.003202, 0.003202208, 0.027041, 0.0043822, 0.012505, 0.88641, 0.70764, 0.8183, 0.679, 0.019005, 0.0033065, 0.011301, 0.003169, 0.003169, 0.003169209, 0.027375, 0.0044019, 0.012307, 0.88915, 0.70627, 0.81876, 0.67965, 0.018992, 0.0033027, 0.01124, 0.003136, 0.003136, 0.003136210, 0.026408, 0.0042864, 0.011387, 0.88826, 0.7068, 0.81916, 0.68025, 0.018979, 0.003299, 0.011185, 0.003103, 0.003103, 0.003103211, 0.026816, 0.004366, 0.01286, 0.88913, 0.70698, 0.81964, 0.68057, 0.018966, 0.0032956, 0.011134, 0.00307, 0.00307, 0.00307212, 0.026834, 0.0044753, 0.013064, 0.89418, 0.70444, 0.81979, 0.68096, 0.018962, 0.0032933, 0.01108, 0.003037, 0.003037, 0.003037213, 0.026738, 0.0043588, 0.01216, 0.89288, 0.70576, 0.82012, 0.68117, 0.018951, 0.0032915, 0.011037, 0.003004, 0.003004, 0.003004214, 0.026799, 0.0042897, 0.012575, 0.88061, 0.71423, 0.8204, 0.68118, 0.01894, 0.0032887, 0.011005, 0.002971, 0.002971, 0.002971215, 0.026789, 0.0042323, 0.01162, 0.88217, 0.71481, 0.821, 0.68169, 0.018924, 0.0032853, 0.010981, 0.002938, 0.002938, 0.002938216, 0.026271, 0.0042765, 0.011859, 0.88071, 0.71599, 0.82138, 0.68209, 0.018914, 0.003282, 0.010951, 0.002905, 0.002905, 0.002905217, 0.026506, 0.0042575, 0.011895, 0.89548, 0.70758, 0.82185, 0.68266, 0.018899, 0.0032787, 0.010915, 0.002872, 0.002872, 0.002872218, 0.026573, 0.0042308, 0.011324, 0.8798, 0.71738, 0.82225, 0.68307, 0.018888, 0.003275, 0.010867, 0.002839, 0.002839, 0.002839219, 0.026802, 0.0042771, 0.011784, 0.90278, 0.70469, 0.82267, 0.68341, 0.018875, 0.0032717, 0.010832, 0.002806, 0.002806, 0.002806220, 0.026294, 0.0042496, 0.012278, 0.88689, 0.71446, 0.82299, 0.68382, 0.018861, 0.0032689, 0.010801, 0.002773, 0.002773, 0.002773221, 0.026162, 0.0041922, 0.011727, 0.88652, 0.71544, 0.82347, 0.68423, 0.018849, 0.0032651, 0.010765, 0.00274, 0.00274, 0.00274222, 0.026085, 0.0041818, 0.011185, 0.87998, 0.72014, 0.82422, 0.68488, 0.018834, 0.0032612, 0.010727, 0.002707, 0.002707, 0.002707223, 0.025764, 0.0042888, 0.012347, 0.88198, 0.71947, 0.82454, 0.68545, 0.018818, 0.003259, 0.010698, 0.002674, 0.002674, 0.002674224, 0.026048, 0.0042901, 0.011907, 0.88291, 0.71991, 0.82483, 0.68547, 0.018802, 0.0032568, 0.010663, 0.002641, 0.002641, 0.002641225, 0.025829, 0.0042861, 0.011404, 0.88415, 0.7199, 0.82507, 0.686, 0.018789, 0.0032535, 0.01063, 0.002608, 0.002608, 0.002608226, 0.026066, 0.0042921, 0.012395, 0.88502, 0.71965, 0.82533, 0.68627, 0.018781, 0.0032511, 0.010617, 0.002575, 0.002575, 0.002575227, 0.025661, 0.0042114, 0.011332, 0.88562, 0.71944, 0.8256, 0.68681, 0.018774, 0.0032485, 0.01061, 0.002542, 0.002542, 0.002542228, 0.025668, 0.0042967, 0.011914, 0.88481, 0.71983, 0.82577, 0.68685, 0.018762, 0.0032454, 0.010596, 0.002509, 0.002509, 0.002509229, 0.025457, 0.0041623, 0.01098, 0.90693, 0.7071, 0.82607, 0.68704, 0.018757, 0.003242, 0.010577, 0.002476, 0.002476, 0.002476230, 0.025143, 0.0041684, 0.010599, 0.88612, 0.71991, 0.82641, 0.6873, 0.018744, 0.0032381, 0.010558, 0.002443, 0.002443, 0.002443231, 0.025387, 0.0041142, 0.011331, 0.90645, 0.70892, 0.82669, 0.68776, 0.018737, 0.0032354, 0.010545, 0.00241, 0.00241, 0.00241232, 0.025271, 0.0041676, 0.010882, 0.90885, 0.70837, 0.82711, 0.68817, 0.018728, 0.0032321, 0.010513, 0.002377, 0.002377, 0.002377233, 0.025422, 0.0041519, 0.010758, 0.91081, 0.70795, 0.8274, 0.68849, 0.018716, 0.0032283, 0.010493, 0.002344, 0.002344, 0.002344234, 0.025042, 0.0041172, 0.010893, 0.90996, 0.70908, 0.82769, 0.68903, 0.018705, 0.0032258, 0.010481, 0.002311, 0.002311, 0.002311235, 0.025003, 0.0041943, 0.011081, 0.91139, 0.70889, 0.82817, 0.68926, 0.01869, 0.0032234, 0.010455, 0.002278, 0.002278, 0.002278236, 0.025495, 0.0041886, 0.011161, 0.90653, 0.71192, 0.82845, 0.68968, 0.018679, 0.0032202, 0.010438, 0.002245, 0.002245, 0.002245237, 0.024853, 0.0041379, 0.01109, 0.90219, 0.71449, 0.82858, 0.68999, 0.018668, 0.0032175, 0.010422, 0.002212, 0.002212, 0.002212238, 0.025359, 0.0042637, 0.011631, 0.89763, 0.71717, 0.82876, 0.69032, 0.018664, 0.0032149, 0.010398, 0.002179, 0.002179, 0.002179239, 0.025138, 0.0041634, 0.010866, 0.89976, 0.71686, 0.82914, 0.69072, 0.018658, 0.0032125, 0.010367, 0.002146, 0.002146, 0.002146240, 0.025191, 0.0042017, 0.01147, 0.90105, 0.71653, 0.82931, 0.69081, 0.018654, 0.0032102, 0.010338, 0.002113, 0.002113, 0.002113241, 0.024415, 0.0040783, 0.010546, 0.90208, 0.71607, 0.82966, 0.69108, 0.018647, 0.0032065, 0.010307, 0.00208, 0.00208, 0.00208242, 0.024771, 0.0041411, 0.010643, 0.90229, 0.71697, 0.82998, 0.69137, 0.018636, 0.0032033, 0.010276, 0.002047, 0.002047, 0.002047243, 0.024879, 0.0041102, 0.010742, 0.90345, 0.7157, 0.83009, 0.69113, 0.018626, 0.0032001, 0.010245, 0.002014, 0.002014, 0.002014244, 0.024687, 0.0040893, 0.010514, 0.90102, 0.71857, 0.83059, 0.69153, 0.018616, 0.0031977, 0.010224, 0.001981, 0.001981, 0.001981245, 0.024453, 0.0040245, 0.009946, 0.90133, 0.71889, 0.83091, 0.69212, 0.018608, 0.0031937, 0.010202, 0.001948, 0.001948, 0.001948246, 0.024697, 0.004068, 0.010138, 0.90193, 0.71892, 0.83113, 0.6926, 0.018597, 0.00319, 0.01018, 0.001915, 0.001915, 0.001915247, 0.024104, 0.0040036, 0.0098895, 0.9028, 0.7194, 0.83159, 0.69295, 0.018585, 0.0031867, 0.010157, 0.001882, 0.001882, 0.001882248, 0.024311, 0.0041231, 0.010796, 0.90309, 0.71971, 0.83193, 0.69327, 0.01858, 0.0031838, 0.010132, 0.001849, 0.001849, 0.001849249, 0.024564, 0.0041038, 0.010224, 0.90306, 0.71991, 0.83241, 0.69372, 0.018572, 0.0031802, 0.010103, 0.001816, 0.001816, 0.001816250, 0.023878, 0.0040245, 0.010154, 0.90286, 0.72076, 0.83287, 0.69407, 0.018562, 0.0031758, 0.010073, 0.001783, 0.001783, 0.001783251, 0.024395, 0.0040523, 0.010766, 0.90464, 0.71976, 0.8331, 0.69441, 0.018554, 0.0031725, 0.01007, 0.00175, 0.00175, 0.00175252, 0.023987, 0.0040441, 0.009975, 0.89771, 0.72504, 0.83346, 0.69491, 0.018548, 0.0031685, 0.010077, 0.001717, 0.001717, 0.001717253, 0.023958, 0.0039825, 0.0099026, 0.90173, 0.72389, 0.83378, 0.69496, 0.018537, 0.0031654, 0.010077, 0.001684, 0.001684, 0.001684254, 0.023851, 0.0039409, 0.0098038, 0.90892, 0.72011, 0.83425, 0.69554, 0.018527, 0.0031616, 0.010087, 0.001651, 0.001651, 0.001651255, 0.023708, 0.0040062, 0.010849, 0.90224, 0.7249, 0.83458, 0.69571, 0.018517, 0.0031589, 0.010091, 0.001618, 0.001618, 0.001618256, 0.023637, 0.0039904, 0.010232, 0.90757, 0.72244, 0.83481, 0.69606, 0.01851, 0.0031562, 0.010077, 0.001585, 0.001585, 0.001585257, 0.023538, 0.0039196, 0.0096139, 0.90594, 0.72435, 0.83514, 0.69628, 0.0185, 0.0031535, 0.010053, 0.001552, 0.001552, 0.001552258, 0.023372, 0.0040115, 0.0098075, 0.90904, 0.72332, 0.83556, 0.69681, 0.01849, 0.0031515, 0.010032, 0.001519, 0.001519, 0.001519259, 0.023071, 0.0039129, 0.0094614, 0.90798, 0.72446, 0.8358, 0.6973, 0.018476, 0.0031483, 0.010016, 0.001486, 0.001486, 0.001486260, 0.023335, 0.0039356, 0.0098765, 0.90549, 0.72739, 0.8363, 0.69757, 0.018465, 0.0031453, 0.010006, 0.001453, 0.001453, 0.001453261, 0.023355, 0.0039533, 0.0097373, 0.90543, 0.72807, 0.83655, 0.69784, 0.018457, 0.0031423, 0.0099884, 0.00142, 0.00142, 0.00142262, 0.023173, 0.0038814, 0.0094556, 0.9022, 0.73081, 0.83708, 0.69852, 0.018449, 0.0031393, 0.0099691, 0.001387, 0.001387, 0.001387263, 0.022969, 0.0039175, 0.0094699, 0.90072, 0.73256, 0.83735, 0.6989, 0.018439, 0.0031365, 0.0099656, 0.001354, 0.001354, 0.001354264, 0.022732, 0.0038617, 0.0093456, 0.90198, 0.73203, 0.83767, 0.6992, 0.018434, 0.0031332, 0.0099503, 0.001321, 0.001321, 0.001321265, 0.022798, 0.0037935, 0.0092447, 0.90197, 0.73286, 0.83808, 0.69939, 0.018426, 0.0031298, 0.0099482, 0.001288, 0.001288, 0.001288266, 0.022469, 0.0038351, 0.0090556, 0.90257, 0.73256, 0.83836, 0.69983, 0.018418, 0.003126, 0.0099335, 0.001255, 0.001255, 0.001255267, 0.022526, 0.0038402, 0.0090142, 0.90367, 0.73213, 0.83863, 0.70025, 0.01841, 0.003123, 0.0099296, 0.001222, 0.001222, 0.001222268, 0.022521, 0.0037604, 0.0088468, 0.90334, 0.73282, 0.83898, 0.70062, 0.018395, 0.0031187, 0.009916, 0.001189, 0.001189, 0.001189269, 0.022164, 0.0037553, 0.0087953, 0.90895, 0.73013, 0.83948, 0.70106, 0.018383, 0.0031149, 0.0099, 0.001156, 0.001156, 0.001156270, 0.022302, 0.0038188, 0.0088961, 0.90912, 0.73083, 0.83986, 0.70125, 0.018371, 0.0031116, 0.0098842, 0.001123, 0.001123, 0.001123271, 0.022217, 0.003799, 0.0088319, 0.90955, 0.73091, 0.84019, 0.7019, 0.01836, 0.0031077, 0.0098568, 0.00109, 0.00109, 0.00109272, 0.022204, 0.0037048, 0.0087159, 0.91319, 0.72971, 0.84054, 0.7021, 0.018351, 0.0031049, 0.0098304, 0.001057, 0.001057, 0.001057273, 0.021826, 0.0037491, 0.0085838, 0.91365, 0.7296, 0.84098, 0.70252, 0.018339, 0.0031017, 0.009798, 0.001024, 0.001024, 0.001024274, 0.021465, 0.0037103, 0.0085357, 0.914, 0.72963, 0.84141, 0.70293, 0.018326, 0.0030983, 0.0097775, 0.000991, 0.000991, 0.000991275, 0.021561, 0.0037047, 0.0086047, 0.90844, 0.73335, 0.84168, 0.7033, 0.018322, 0.0030957, 0.0097627, 0.000958, 0.000958, 0.000958276, 0.02168, 0.0036804, 0.0084067, 0.90803, 0.73425, 0.84206, 0.70398, 0.018313, 0.003092, 0.0097405, 0.000925, 0.000925, 0.000925277, 0.021412, 0.0036595, 0.0085608, 0.89973, 0.74041, 0.84237, 0.70436, 0.018303, 0.0030894, 0.0097202, 0.000892, 0.000892, 0.000892278, 0.021379, 0.0036755, 0.0085213, 0.90422, 0.73851, 0.84279, 0.70488, 0.018291, 0.0030864, 0.0096985, 0.000859, 0.000859, 0.000859279, 0.021257, 0.0036746, 0.0083755, 0.90334, 0.73957, 0.84305, 0.70511, 0.01828, 0.0030838, 0.0096725, 0.000826, 0.000826, 0.000826280, 0.020995, 0.0036793, 0.0082731, 0.90475, 0.73979, 0.84334, 0.70558, 0.01827, 0.0030806, 0.0096496, 0.000793, 0.000793, 0.000793281, 0.02095, 0.0036471, 0.0082025, 0.90763, 0.73882, 0.84368, 0.70591, 0.018263, 0.0030777, 0.009621, 0.00076, 0.00076, 0.00076282, 0.02075, 0.0035969, 0.0083073, 0.90675, 0.74035, 0.84416, 0.70597, 0.018255, 0.0030745, 0.0095917, 0.000727, 0.000727, 0.000727283, 0.020712, 0.0036154, 0.0081972, 0.90728, 0.74112, 0.84444, 0.70644, 0.018248, 0.003072, 0.0095615, 0.000694, 0.000694, 0.000694284, 0.020743, 0.0036614, 0.008176, 0.91021, 0.7395, 0.84478, 0.70657, 0.018241, 0.0030696, 0.0095361, 0.000661, 0.000661, 0.000661285, 0.020447, 0.0035952, 0.0081307, 0.90565, 0.74237, 0.8451, 0.70688, 0.018235, 0.0030672, 0.0095091, 0.000628, 0.000628, 0.000628286, 0.020352, 0.0036225, 0.0079415, 0.90728, 0.74148, 0.84542, 0.7073, 0.018227, 0.0030641, 0.0094885, 0.000595, 0.000595, 0.000595287, 0.020107, 0.0035801, 0.0079622, 0.90978, 0.73999, 0.84558, 0.70771, 0.018224, 0.0030618, 0.009461, 0.000562, 0.000562, 0.000562288, 0.020113, 0.0035625, 0.007827, 0.91324, 0.73873, 0.84588, 0.70797, 0.018216, 0.0030584, 0.0094275, 0.000529, 0.000529, 0.000529289, 0.020102, 0.0035462, 0.0078679, 0.91347, 0.73902, 0.84617, 0.70843, 0.018211, 0.0030563, 0.0093967, 0.000496, 0.000496, 0.000496290, 0.019723, 0.0035561, 0.007874, 0.91413, 0.73879, 0.84636, 0.7087, 0.018206, 0.0030537, 0.0093633, 0.000463, 0.000463, 0.000463291, 0.019586, 0.003598, 0.0077383, 0.90863, 0.74279, 0.8466, 0.70924, 0.018201, 0.0030511, 0.0093388, 0.00043, 0.00043, 0.00043292, 0.019334, 0.003496, 0.007661, 0.91775, 0.73778, 0.84683, 0.70941, 0.018191, 0.0030489, 0.0093137, 0.000397, 0.000397, 0.000397293, 0.019356, 0.0035508, 0.0077956, 0.91807, 0.73799, 0.84707, 0.70967, 0.018188, 0.0030469, 0.0092924, 0.000364, 0.000364, 0.000364294, 0.019264, 0.0035092, 0.0077458, 0.91742, 0.73873, 0.84727, 0.70975, 0.018183, 0.0030443, 0.0092659, 0.000331, 0.000331, 0.000331295, 0.019174, 0.0034744, 0.0074608, 0.91612, 0.73933, 0.84755, 0.70996, 0.018176, 0.0030418, 0.009244, 0.000298, 0.000298, 0.000298296, 0.01921, 0.003498, 0.0075991, 0.91606, 0.73941, 0.84774, 0.71024, 0.01817, 0.0030398, 0.0092163, 0.000265, 0.000265, 0.000265297, 0.018812, 0.0034964, 0.007491, 0.90979, 0.74374, 0.84804, 0.71049, 0.018164, 0.0030372, 0.0091905, 0.000232, 0.000232, 0.000232298, 0.018673, 0.0034746, 0.0074683, 0.91274, 0.74207, 0.84819, 0.71087, 0.018159, 0.0030349, 0.0091677, 0.000199, 0.000199, 0.000199299, 0.01854, 0.0034561, 0.0072729, 0.91246, 0.74268, 0.84839, 0.71101, 0.018156, 0.0030323, 0.0091422, 0.000166, 0.000166, 0.000166
训练曲线如下
训练混淆矩阵如下
准确率曲线
召回率曲线
2.4.7 TT100K中国交通标志验证测试
class CPcbDefectCnnModel(object):def __init__(self, model_path):self.weights= model_pathself.data='data/tt100k.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
模型验证结果如下:
代码下载链接
关注博主工忠浩【小蜜蜂视觉】,回复【TT100K】即可获取
若您想获得博文中涉及的实现完整全部程序文件(包括系统UI设计文件,电路板缺陷测试数据集、py文件,模型权重文件,调试说明等),代码获取与技术指导,具体见可参考博客与视频,已将所有涉及的文件同时打包到里面,软件安装调试有具体说明
演示与介绍视频:https://www.bilibili.com/video/BV1j6xge2EyF/
结束语
由于博主能力有限,博文中提及的方法即使经过试验,也难免会有疏漏之处。希望您能热心指出其中的错误,以便下次修改时能以一个更完美更严谨的样子,呈现在大家面前。同时如果有更好的实现方法也请您不吝赐教。