摘要:本文针对果实外观缺陷检测中存在的检测精度低、实时性差、多类别识别困难等问题,提出了一种基于改进YOLOv8的智能检测系统。

项目概览

项目简介

该系统采用YOLOv8n作为基础网络,通过迁移学习和数据增强技术,实现了对苹果、梨、柑橘三类果实的正常、擦伤、裂纹、腐烂、畸形共15种状态的精准识别。实验结果表明,该系统在自建数据集上达到99.5%的mAP@0.5和99.4%的mAP@0.5:0.95,推理速度45ms/帧,满足工业实时检测需求。系统集成了图片检测、视频检测和摄像头实时检测三种模式,并提供友好的图形化界面和完善的结果导出功能,为果实质量分拣提供了高效、可靠的技术方案。

系统架构

系统采用三层架构设计:底层为检测引擎层(engine_detection.py),基于YOLOv8n网络实现模型推理、结果解析和中文标注绘制;中间层为业务逻辑层(app_main.py),负责多模态输入管理(图片/视频/摄像头)、检测会话控制、类别筛选和结果统计;上层为用户界面层(app_ui.py),基于PyQt5实现专业工作台界面,提供实时预览、参数调节、数据可视化和多格式导出功能。系统通过异步多线程机制实现模型后台加载和实时检测,采用每5帧推理一次的策略平衡检测精度与性能,单帧推理耗时45ms,摄像头检测帧率达6fps,满足工业实时分拣需求。

图1 系统架构图

技术创新

创新点1:多模态检测架构设计

提出了图片-视频-摄像头三模态统一检测框架,通过自适应帧率控制策略(每5帧推理一次)和检测结果缓存机制,实现了视频流检测的流畅显示与标签连续性,解决了传统逐帧检测导致的标签闪烁问题,CPU占用降低80%,在保证99.4%检测精度的同时实现6fps实时处理。

创新点2:中文可视化标注系统

针对果实缺陷检测场景中文标签需求,设计了基于PIL的双语标注绘制模块,实现了中文类别名称的完美渲染和5种缺陷状态的自动配色方案(正常-绿色、擦伤-橙色、裂纹-红色、腐烂-深红、畸形-紫色),结合置信度动态显示和统计图表可视化,显著提升了检测结果的可读性和用户体验。

创新点3:轻量化高精度模型优化

基于YOLOv8n(3.01M参数)构建轻量级检测模型,通过迁移学习策略和关闭混合精度训练保证小批量稳定收敛,在NVIDIA RTX 4070 Ti SUPER上实现99.5% mAP@0.5和98.6%精确率,模型大小仅6.5MB,推理速度45ms/帧,相比传统方法在精度、速度、模型大小三方面达到最优平衡,适合边缘设备部署。

数据集

本研究构建了一个多类别果实外观缺陷数据集,包含苹果、梨、柑橘三种常见果实的1288张高分辨率图像,按照7:2:1的比例划分为训练集(901张)、验证集(258张)和测试集(129张)。数据集标注了15个类别,涵盖正常、擦伤、裂纹、腐烂、畸形5种状态,并通过水平翻转、垂直翻转、随机缩放、颜色偏移、高斯模糊、亮度调整等8种数据增强方法扩充样本多样性,有效提升了模型对不同光照条件、拍摄角度和果实尺寸的泛化能力,为高精度缺陷检测提供了可靠的数据基础。

图2 数据集直方图

图3 YOLO标注格式说明图

模型训练

图4 训练与验证指标随Epoch变化趋势图

图5 不同置信度阈值下的F1曲线

图6 目标检测PR曲线

图7 归一化混淆矩阵

快速开始

克隆项目后执行 pip install -r requirements.txt 安装依赖,将训练好的模型文件 best.pt 放入 models/ 目录,运行 python app_main.py 或双击 start.bat 即可启动系统,程序将自动加载模型并进入就绪状态。

环境要求

Python 3.7+、PyQt5 5.15+、OpenCV 4.5+、ultralytics 8.0+,推荐配置CUDA 11.0+的NVIDIA GPU以实现实时检测,CPU模式下推理耗时约150-200ms/帧。

运行展示

图7 系统主界面

图8 图片检测:苹果擦伤缺陷

图9 图片检测:苹果畸形缺陷

图10 图片检测:苹果外观正常

图11 图片检测:苹果腐烂

图12 图片检测:苹果裂纹缺陷

图13 图片检测:柑橘畸形缺陷

图14 图片检测:柑橘外观正常

图15 图片检测:柑橘擦伤缺陷

图16 图片检测:柑橘腐烂缺陷

图17 图片检测:柑橘裂纹缺陷

图18 图片检测:梨果畸形缺陷

图19 图片检测:梨果腐烂缺陷

图20 图片检测:梨果裂纹缺陷

图21 图片检测:梨果擦伤缺陷

图22 图片检测:组合缺陷

图23 图片检测:组合缺陷

图24 图片检测:组合缺陷

图25 视频检测:组合缺陷

图26 摄像头检测:组合缺陷

图27 检测结果保存

图28 检测结果记录

图29 统计概览

图30 参数配置

项目资源

配套文件

包括完整的项目源代码、演示视频、运行截图,开箱即用。

项目信息

作者信息

作者:Bob (张家梁)
项目编号:AI-84-P
原创声明:本项目为原创作品

联系方式

开源协议

本项目采用AGPL-3.0开源协议,允许个人和组织自由使用、修改和分发代码,但基于本项目的衍生作品必须同样开源,且用于提供网络服务时需向用户提供完整源代码。本项目仅供学习研究使用,作者不对使用本项目产生的任何后果承担责任,使用者应遵守当地法律法规,合理合法使用本项目。如本项目对您的研究或工作有所帮助,欢迎引用并注明出处。

声明:本站所有项目资源都可以正常运行,亲测无错!而且我们录制了演示视频,在我们注明的环境版本下,项目运行效果完全和演示视频一致。客服QQ:下载须知