System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于YOLOv5和PyQt5的死螺检测及计数方法技术_技高网

一种基于YOLOv5和PyQt5的死螺检测及计数方法技术

技术编号:42857500 阅读:11 留言:0更新日期:2024-09-27 17:23
本发明专利技术涉及深度学习目标检测技术领域,具体为一种基于YOLOv5和PyQt5的死螺检测及计数方法,通过使用YOLOv5目标检测算法建立模型实现对死螺和活螺的检测与分类,并使用PyQt5设计出一个具有人机交互功能的GUI使用界面。包括以下步骤:获取死螺和活螺的强光照射表面图像数据集;使用labelimg可视化标注工具对数据集预处理;构建基于YOLOv5算法的死螺视觉检测模型;将处理后的数据集导入模型并生成死螺检测模型的权重文件;将图片、视频或实时画面导入模型;模型对田螺死螺分类并计算死螺和活螺对应数量;设计基于PyQt5的死螺检测GUI界面;将模型检测和统计的结果呈现在GUI界面。可快速、准确的死螺智能检测及计数功能,并具有完整简洁的操作界面,能够使用户具有良好的操作体验。

【技术实现步骤摘要】

本专利技术涉及深度学习目标检测,具体为一种基于yolov5和pyqt5的死螺检测及计数方法。


技术介绍

1、中国圆田螺(cipangopaludina chinensis)隶属腹足纲(gastropoda)田螺科(viviparidae)圆田螺属(cipangopaludina),是一种广泛分布于淡水湖泊、沼泽、稻田等水域的常见淡水软体动物,也是我国重要的鲜食淡水类食材。中国圆田螺肉味鲜美,营养丰富,有良好的保健和药用功效。随着人们的生活水平逐渐提高,食用田螺的数量也逐年上升。在田螺养殖的收螺过程中,未经分拣筛选的田螺含有不少已死亡的田螺,死螺混入在正常螺中经过下游经销商的批发售卖成功流入市场后,出现在消费者的餐桌上。死螺具有强烈的刺激性气味,消费者食用了死螺不仅会影响食欲,严重的会威胁人体生命安全。而在田螺人工育种行业中,针对培育的田螺,在实验过程中是否出现死亡,常见手段为手指按压法和摇晃法,手指按压法通过用手指按压田螺螺口处的厣,根据厣的回弹反馈判定是否存活,摇晃法则是通过人手握持田螺进行摇晃,螺壳和其他器官的重心变化在生螺和死螺中存在明显差异,根据摇晃手感的反馈判定是否存活。上述两种方案都需要操作者具有大量的实践经验,而且判定过程过于人为主观无法客观记录,无法进行客观对照。

2、文献号为cn202320153161.9的一种筛选出死螺和空壳螺的装置,采用活螺自行爬向高溶氧量水体的方式,进而分离死螺与活螺。但是依靠田螺自行爬附这个过程过于缓慢,效率较低;并且田螺容易受到外界刺激而缩进螺体保持不动,若流水冲击较大,会导致较多的田螺在这个过程中保持在螺壳内而不从螺壳伸出,难以判断是否是真正的死螺。


技术实现思路

1、针对以上问题,本专利技术提出一种基于yolov5的死螺检测及计数方法,解决目前针对死螺的快速识别和计数问题,实现ai快速检测和机器自动化计数问题,摆脱传统的人工肉眼鉴别死螺以及传统人工计数。

2、一种基于yolov5和pyqt5的死螺检测及计数方法,包括一种基于yolov5和pyqt5的死螺检测及计数方法,包括检测方法和计数方法;

3、其中:检测方法包括:

4、步骤a1:清洗田螺,取若干成年中国圆田螺样本,执行清洗程序以除去其表面的污渍,并将其表面水分擦干,从而获得若干清洁干净的田螺样品。

5、步骤a2:强光照射,将步骤1中清洗干净的田螺平铺摆放在一块透明板材上,并使用光源自下而上的照射铺在透明板材上的田螺样品,透明板材优选亚克力聚碳酸酯等高透有机材料或者高强度钢化玻璃,光源优选冷光源以减小温度对田螺样品的影响。

6、步骤a3:观测位置,鉴别死螺。在光源的透射之下,在田螺样品的体螺层处,观测出田螺的内部是否出现空泡、螺肉皱缩或者螺体水肿的现象,若出现该现象则该田螺为死螺;若田螺内部螺肉紧实饱满,未出现上述现象的则为活螺。

7、步骤a4:通过工业相机采集田螺样品的图像数据;

8、优选的,上述步骤a1中取用的田螺数量可根据实际的装置材料而定,随着led光源的光照面积增大可检测的田螺数量越多,但建议光照面积不宜过大,否则需要检测的面积越大,工业相机需要捕捉的图像信息越多,会导致每个田螺所占的面积越小,被检测目标越小容易导致检测精度下降。

9、上述步骤a2中应使用合适的拍摄设备和光源,光源采用功率80w以上,色温5000k-6000k,射程1000米以上的高强聚光led光源,以确保图像的清晰度和准确性。

10、上述步骤a4中分别拍摄获取死田螺和活田螺的特征图像,作为初始样本数据集,利用可视化图像标定工具labelimg对获取的数据集进行特征标注,将图像中的目标用矩形框标记出来并打上目标标签。

11、计数方法包括:

12、步骤s1:根据步骤a4的图像数据,训练并建立基于yolov5的死螺视觉检测模型,分别用不同的标签标注出死螺和活螺,并验证模型检测效果;步骤s1采用yolov5算法来构建死螺检测模型,yolov5算法采用了一种单阶段的目标检测网络架构,能够在保持较高准确性的同时实现实时目标检测,与传统的算法相比能够提供更快的推理速度,且具有非常优越的轻量化特性。由于yolov5采用了更小的特征图输入,有利于保留小目标的特征信息,yolov5在检测小目标方面具有较好的性能。

13、步骤s2:通过模型输出的检测结果进行网络检测,以对死螺和活螺进行计数,使用pyqt5设计用户gui界面,将网络检测结果输出至用户界面并对死螺和活螺进行计数计算后,将各自计数结果展示在界面中

14、优选的,所述步骤s1包括:

15、步骤b1:根据步骤a4的图像数据,采用翻转、镜像、裁剪、缩放、亮度调整等方式对初始数据集进行数据增强,将初始数据集扩充为原来的5倍。

16、步骤b2:采用可视化图像标定工具labeilimg将图像数据集中的死螺、活螺分别用不同的标签标注,用以区分并用特定的方框标记出来。随后采取随机抽样的方式,按比例8:1:1将扩充后的数据集划分为训练集、验证集和测试集。将处理过后的原始数据和带标注数据分别存放在设定位置。

17、步骤b3:配置死螺图像数据集的数据集配置文件dead_snail.yaml,填入训练集和验证集路径、类别数量以及类别标签。根据配置完成的dead_snail.yaml和设置的超参数加载相应的yolov5网络模型进行深度训练。

18、步骤b4:根据训练输出的各类别平均精密度和模型损失值的收敛情况,判断是否要修改超参数重新训练直至模型收敛。当模型损失值曲线和平均精密度值曲线随着训练轮数的递增而逐渐收敛时,结束训练,生成相应的权重文件。

19、步骤b5:将生成的权重文件加载到yolov5模型预测网络test.py中,对死螺测试集进行预测,将检测出的田螺死活、置信度等信息在图片中加以标注,并输出相关预测图片。

20、上述步骤b1中获取的样本数据集图像为jpg图像格式,采用的labelimg标注软件生成遵循yolo格式的txt标签文件,原图与标注所得txt文件生成训练神经网络所需死螺图像数据集。

21、上述步骤b3中的超参数主要包括预训练权重weights、训练网络model、配置文件data、训练轮数epochs、处理批次batch size、显卡调用device、输入图片大小input size、工作线程数workers、优化器optimizer、最大最小学习率learning rate,根据具体硬件设备和模型收敛情况调整。

22、上述步骤b4中采用pytorch深度学习框架搭建的yolov5网络主要包括输入层input、主干网络backbone、颈部网络neck与预测网络head;所述主干网络包括cbp模块、c3模块和spp模块;所述颈部网络包括cbs模块、c3模块和panet模块;所述预测网络包含检测头;所述主干网络与颈部网络的c3模块均由支路1与支本文档来自技高网...

【技术保护点】

1.一种基于YOLOv5和PyQt5的死螺检测及计数方法,其特征在于:包括检测方法和计数方法;

2.据权利要求1所述的一种基于YOLOv5和PyQt5的死螺检测及计数方法,其特征在于:所述步骤S1包括:

3.根据权利要求1所述的一种基于YOLOv5和PyQt5的死螺检测及计数方法,其特征在于:所述步骤S2包括:

【技术特征摘要】

1.一种基于yolov5和pyqt5的死螺检测及计数方法,其特征在于:包括检测方法和计数方法;

2.据权利要求1所述的一种基于yolov5和pyqt5的死螺...

【专利技术属性】
技术研发人员:余哲文家燕江林源文露婷吴其琦郑海锋周秀珊刘显晖苏锐
申请(专利权)人:广西科技大学
类型:发明
国别省市:

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

1