本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。
一、项目描述
基于 YOLO 与 PyQt5 的番茄成熟度检测桌面应用,通过训练好的目标检测模型对图片或视频中番茄的成熟度进行实时识别与可视化标注。
二、项目功能
– 支持加载本地图片(jpg/png/bmp)和视频(mp4/mkv/avi)进行番茄检测
– 支持多模型切换:YOLOv5/v8/v11/v12 等多个 .pt 权重文件
– 置信度阈值(conf)与 IoU 阈值滑动条实时调节
– 原图与检测结果双窗口对比显示
– 检测目标列表展示(类别、置信度、中心坐标)
– FPS 实时统计与进度条显示
– 检测结果自动保存到 ./result 目录(图片直接存、视频按原帧率写 mp4)
– 配置持久化(设置与上次打开的文件夹)
三、运行环境
– 操作系统:Windows
– Python:3.11
– 硬件:CPU 即可运行,有 NVIDIA GPU 可加速推理
– 依赖:ultralytics、PyQt5、torch、torchvision、opencv-python、numpy、Pillow、matplotlib、pandas、scipy、tqdm、PyYAML、seaborn
四、项目技术
– GUI 框架:PyQt5(无原生标题栏的自定义窗口、QThread 异步检测线程、信号槽通信)
– 推理引擎:ultralytics 统一加载并调用 YOLO 系列模型
– 深度学习:PyTorch(CPU/CUDA)、预训练模型迁移学习
– 图像处理:OpenCV 完成视频流读取、帧处理与结果写出
– 模型来源:基于 YOLOv8s 官方预训练权重,使用自建番茄数据集训练 100 epoch(mAP50≈0.95、mAP50-95≈0.92),训练产物为 best.pt
以上系统源码经过技术整理与调试,确保能正常运行
五、项目截图