当前位置:网站首页>【2022第十届‘泰迪杯’挑战赛】A题:害虫识别完整版(大致思路。详细过程和代码以及结果csv在压缩包中)
【2022第十届‘泰迪杯’挑战赛】A题:害虫识别完整版(大致思路。详细过程和代码以及结果csv在压缩包中)
2022-07-17 05:03:00 【Big data达闻西】
【2022第十届‘泰迪杯’挑战赛】A题:害虫识别完整版(已有完整结果)
2022泰迪杯挑战赛A题害虫识别完整版(大致思路,详细过程和代码在压缩包中):
正式数据:
提取码: u54n
写在前面:
完整版下载:
建议Chrome浏览器打开
本套压缩包,包含了:
数据预处理代码、YOLO害虫识别定位全套代码、结果处理代码(去归一化为像素坐标等转为csv文件)、已有的结果result2,result3.csv(由于百度网盘速度感人,上传至阿里云盘,包中有网站和提取码)、另外赠送pycharm专业版软件
已有整套结果数据(检测的图片,问题二三的结果csv)
一、数据预处理:(在数据预处理.ipynb中)
1、构造出YOLO格式标签集:

2、预处理部分代码:


3、选出用于训练的图片集和待测图片集:




二、通过txt文件和对应的images图片文件转化为YOLO所需的voc数据集格式:
三、模型训练(全套模型和结果都在YOLO—hc压缩包中)
1、安装好环境,连接好服务器
2、参数设置成本题的数据:

3、训练好后使用best.pt进行验证,val.py参数为:

4、验证好后,进行最后的检测,detect.py,参数方面设置为:选用最好模型,选择待测数据集:
五、结果进行处理转为像素坐标点然后写入csv
runs\train\exp16:




confusion_matrix.png(混淆矩阵)
混淆矩阵能对分类问题的预测结果进行总结,显示了分类模型的在进行预测时会对哪一部分产生混淆。
F1_curve:
F1分数与置信度之间的关系。F1分数(F1-score)是分类问题的一个衡量指标,是精确率precision和召回率recall的调和平均数,最大为1,最小为0, 1是最好,0是最差
P_curve.png :
准确率precision和置信度confidence的关系图
PR_curve.png:
PR曲线中的P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系,一般情况下,将recall设置为横坐标,precision设置为纵坐标。PR曲线下围成的面积即AP,所有类别AP平均值即Map.如果PR图的其中的一个曲线A完全包住另一个学习器的曲线B,则可断言A的性能优于B,当A和B发生交叉时,可以根据曲线下方的面积大小来进行比较。一般训练结果主要观察精度和召回率波动情况(波动不是很大则训练效果较好)Precision和Recall往往是一对矛盾的性能度量指标;提高Precision == 提高二分类器预测正例门槛 == 使得二分类器预测的正例尽可能是真实正例;提高Recall == 降低二分类器预测正例门槛 == 使得二分类器尽可能将真实的正例挑选
R_curve.png :召回率和置信度之间的关系
results.png:
Box_loss: YOLO V5使用 GIOU Loss作为bounding box的损失,Box推测为GIoU损失函数均值,越小方框越准;
Objectness_loss: 推测为目标检测loss均值,越小目标检测越准;
Classification_loss: 推测为分类loss均值,越小分类越准;
Precision: 精度(找对的正类/所有找到的正类);
Recall: 真实为positive的准确率,即正样本有多少被找出来了(召回了多少).Recall从真实结果角度出发,描述了测试集中的真实正例有多少被二分类器挑选了出来,即真实的正例有多少被该二分类器召回。
val Box_loss: 验证集bounding box损失;
val Objectness_loss: 验证集目标检测loss均值;
val classification_loss: 验证集分类loss均值;
C:\Users\X\Desktop\yolov5-hc\runs\val\exp3:

六、结果:
运行detect.py:

检测图片:

转为结果保存到csv文件:

result2.csv:

result3.csv:

优化前:

优化后:

七、写在最后:
由于数据量过大不能一次性上传完,所以拆分些数据先一步上传至阿里云盘,具体在教程中
有包中详细教程,纯手码,创作不易,感谢支持

边栏推荐
猜你喜欢

Cve-2017-12635 CouchDB vertical privilege bypass vulnerability recurrence

thinkphp 官网教程

Mysql database table a data synchronization to table b

Freshman task-5

String string special interception processing according to symbols

【Batch】批量删除中间文件夹-个人研究脚本

畢設:基於Vue+Socket+Redis的分布式高並發防疫健康管理系統

pygame-飞机大战1.0(步骤+窗口无响应问题)

一文了解定时任务

Notes on Advanced Mathematics: selected exercises of Wu Yue
随机推荐
浅聊全局过滤器
Tasking new aurix tc37x demo project
Fanoutexchange switch is simple to use
One article to understand Zipkin
Learn about scheduled tasks in one article
Shallow chat link tracking
Construction and application of knowledge atlas de (V): knowledge reasoning
图片上传的逻辑
ThreadLocal线程安全示例及其原理
MySQL fuzzy matching 1, 11111 similar string problems
DSL query document
Cve-2017-12635 CouchDB vertical privilege bypass vulnerability recurrence
RestAPI
HarmonyOS第二次培训笔记
Order system of middle office
微服务高并发服务治理
fastjson、jackjson、gson区别和注意点
接口的参数返回封装类Result
UE plug-in electronicnodes 5.0.0/4.23-4.27
无限极分类