摘要:本文实现了一套面向温室与自然田间场景的番茄成熟度目标检测桌面系统,围绕“训练对比—部署推理—结果管理”构建闭环:前端采用 PySide6/Qt 提供统一交互界面,支持 图片/视频/本地摄像头输入,在主显示区实时叠加检测框(类别与置信度),并以 处理进度条 与耗时统计反馈推理状态。系统内置 登录/注册(可跳过),账户与检测记录通过 SQLite 本地入库 管理,兼顾可追溯性与离线使用;同时支持 模型选择/权重加载(.pt 热切换),无需重启即可更换 YOLO 模型并刷新类别信息。算法侧覆盖 YOLOv5–YOLOv12(共 8 种),对比输出 mAP、F1、PR 以及训练曲线等评测结果;工程侧提供 CSV 导出 与带框结果一键导出能力:单帧保存为 PNG,多帧序列保存为 AVI,便于复查、归档与共享。文末提供完整工程与数据集下载链接。
@
- 1. 系统功能与效果
- 2. 绪论
- 2.1 研究背景及意义
- 2.2 国内外研究现状
- 2.3 要解决的问题及其方案
- 2.4 博文贡献与组织结构
- 3. 数据集处理
- 4. 模型原理与设计
- 5. 实验结果与分析
- 6. 系统设计与实现
- 6.1 系统设计思路
- 6.2 登录与账户管理 — 流程图
- 7. 下载链接
- 参考文献(GB/T 7714)
功能效果展示视频:热门实战|《基于深度学习的番茄成熟度检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
➷点击跳转至文末所有涉及的完整代码文件下载页☇
1. 系统功能与效果
(1)登录注册:系统启动后提供登录、注册与跳过入口,跳过仅对本次会话生效,便于快速进入检测流程;完成登录后会自动载入个人偏好与历史记录,主导航动线遵循“概览—图片检测/视频检测/摄像头检测—模型选择—导出视图”的顺序,用户可在概览页快速定位最近一次任务与关键统计。账户与会话信息以本地方式管理,兼顾口令校验与离线使用体验,同时将检测记录与导出索引绑定,便于后续按时间或文件名复查与追溯。

(2)功能概况:主界面以“左侧输入源与阈值、中央结果显示、右侧目标详情、底部记录与进度”构成固定交互骨架,使用户在不同任务页之间切换时保持一致的操作心智。系统在统一的结果面板中展示类别、置信度、位置与耗时等信息,并支持从记录表中直接回跳到对应样本或高亮目标,减少在多批次数据间来回翻找的成本。整体流程强调“选择输入—设置阈值—查看结果—导出归档”的闭环,让检测、对比与留存形成连续体验。

(3)选择模型:系统支持从本地选择权重文件切换当前 YOLO 模型,加载后会同步刷新类别信息与配色方案,确保框选结果与右侧详情始终一致。模型切换面向使用者的核心目标是“无需重启即可对比”,用户可以在同一批数据上快速更换模型并观察检测差异,从而更直观地进行精度与速度的权衡。与界面相关的常用配置会在本地持久化保存,使得下次进入系统时能延续上一次的模型偏好与显示风格。

(4)图片检测:图片检测支持单张与批量输入,推理完成后在主显示区叠加检测框,并以“类别名+置信度”形式呈现关键识别信息,便于快速判断成熟度分级的可靠性。用户可直接调节 Conf/IoU 阈值以控制误检与漏检的平衡,并在目标列表中进行选择与高亮,使得密集遮挡或相近外观目标也能被逐一核对。检测记录与当前页面联动更新,便于在多图对比时保持结果可追踪、可复现。

(5)文件保存:系统提供面向复查与归档的一键导出能力,既可导出结构化 CSV 以便统计分析,也可导出带框可视化结果用于展示与质检留存。保存策略采用时间戳命名与统一归档思路,减少手动重命名与目录整理的负担,并支持按文件名快速定位到对应任务记录。对于图片场景可直接生成带框结果图,批量处理时也能保持导出与记录索引一致,方便后续批量管理与追溯。

2. 绪论
2.1 研究背景及意义
番茄采摘与分级正从“经验驱动”走向“数据与算法驱动”,其中成熟度检测是决定采收时机、降低损耗与提升商品一致性的关键环节。1 在温室与自然田间环境中,枝叶遮挡、果实重叠以及背景杂乱会显著削弱传统基于颜色阈值或手工特征的方法稳定性,使得自动化采摘机器人仍面临“看得见但抓不准”的瓶颈。1
目标检测模型以端到端方式同时输出目标位置与类别,为成熟度分级提供了可直接落地的视觉入口,并天然适配流水线分拣、移动采摘与边缘端巡检等工程形态。2 现有研究表明,通过在检测网络中引入注意力、多尺度特征融合与轻量化设计,能够在遮挡与光照不均等复杂场景下兼顾精度与推理效率,从而支撑在线、无损的成熟度判别。2
另一方面,成熟度检测并不仅是“把模型训练好”,还要求在一线使用时具备可解释的可视化、可控的阈值调节、可追溯的结果归档与可复现实验对比。[3] 因此,构建一个面向番茄成熟度检测的桌面端系统,将多模型推理与交互式可视化融为一体,不仅能提升科研与工程迭代效率,也能为后续边缘部署与采摘决策闭环提供规范化支撑。[3]
2.2 国内外研究现状
面向温室与自然田间的番茄成熟度实时检测,研究普遍聚焦于“细粒度分类+复杂背景检测”的耦合难题,即类间相似度高(相邻成熟阶段颜色差异细微)、目标尺度差异大(远近视角与小果)、目标密集且遮挡重,以及光照变化导致的颜色漂移与阴影干扰。2 此外,成熟度样本往往存在长尾分布与类别不均衡,使得模型在半熟、转色等过渡阶段更易出现漏检与误检。[3]
在任务驱动的改进方向上,国内外工作多以 YOLO 系列为主干进行结构与训练策略增强:例如针对遮挡与光照不均,研究通过通道注意力与双向特征融合提升特征表达,并在复杂场景下取得较高 mAP 与 F1,同时保持毫秒级推理以满足在线需求。2 也有工作在 YOLOv5s 上进行检测层尺度、聚类与轻量卷积模块改造,强调模型体积压缩与硬件可部署性,但在端侧速度与精度之间仍需根据场景取舍。[4] 面向更贴近真实环境的综合策略改进,近期研究在 YOLOv10s 框架上通过多头小目标检测、形状感知的 IoU 损失与剪枝压缩实现精度与速度的协同提升,并给出了边缘设备上的帧率验证。[5]
| 方法名称 | 范式/家族 | 数据集/场景 | 关键改进技术 | 优势与局限性 | 关键性能指标(示例) | 对应任务难点 | 引用 |
|---|---|---|---|---|---|---|---|
| Mask R-CNN 成熟绿果检测 | 两阶段/实例分割 | 温室成熟绿果采摘场景 | 自动采集+Mask 分支联合优化 | 对遮挡与重叠更稳,但模型较重、部署复杂 | F1(bbox 与 mask)=92.0%(IoU=0.5) | 颜色相近、遮挡、重叠 | 1 |
| YOLOv5-tomatoA | 单阶段/YOLO | 遮挡与光照干扰场景 | ECA 注意力+BiFPN+小目标分支 | 精度与速度兼顾,但改造需匹配数据分布 | mAP=97.4%,F1=95.4%,14.7 ms/图 | 遮挡、光照不均、小目标 | 2 |
| SC-YOLOv5s-lite | 单阶段/YOLO | 成熟度+外观品质联合任务 | CA 注意力+结构替换+轻量模块 | 体积更小,但推理延迟与平台相关性更强 | mAP=91.34%,模型 7.73M,143 ms/图 | 端侧部署、资源受限 | [4] |
| YOLOv8+(改进 YOLOv8n) | 单阶段/YOLO | 成熟度分级检测 | 注意力+BiFPN+改进定位损失 | 兼顾实时性,但过渡阶段仍可能不稳 | mAP@0.5=95.8%,9.5 ms/帧 | 小目标、遮挡、类不均衡 | [3] |
| AITP-YOLO(基于 YOLOv10s) | 单阶段/YOLO | 自建真实场景数据+边缘验证 | 四头小目标+多尺度融合+Shape-IoU+剪枝 | 精度、速度与模型压缩协同,但工程复杂度提升 | mAP@0.5=92.6%,97.61 FPS;Jetson 27.15 FPS | 密集遮挡、端侧实时 | [5] |
从检测范式看,两阶段方法在复杂遮挡和精细定位上具有优势,但在端侧实时任务中常受限于计算与内存开销。1 单阶段方法以密集预测换取吞吐优势,并通过类别不均衡友好的损失设计来缓解难例学习问题,从而更适配在线检测与交互式推理场景。[15] Anchor-free 思路进一步减少先验框设计负担,使模型在尺度变化与密集目标条件下更容易获得稳定训练与泛化表现。[14]
在“YOLO 系列的技术演进”维度,近年研究关注点从卷积结构微调逐步转向更强的端到端范式与注意力建模,并强调对实时性的可证明改进。[6] 例如 YOLOv12 提出 attention-centric 框架,并给出了在 T4 上 1.64 ms 延迟与 40.6% mAP 的量化对比,体现了注意力机制与实时检测的融合趋势。[7] 与此同时,实时 DETR 路线通过端到端去除 NMS 来改善速度与精度折中,并在 COCO 上给出了 53.1% AP 与 108 FPS(T4)的代表性结果,推动了“YOLO 与 DETR”两条路径在实时检测上的持续竞合。[8]
从部署与系统层面看,研究趋势正在由“论文指标”走向“可用系统”:包括模型导出、推理加速、跨平台兼容与在线可视化评估。[16] ONNX 作为互操作格式降低了训练框架与推理引擎之间的壁垒,使同一权重更易被桌面端与边缘端共享与复现。[16] 在 GPU/边缘设备侧,TensorRT 等推理优化工具提供了图优化与混合精度等能力,为实时视频流检测提供了工程化支撑。[17]
2.3 要解决的问题及其方案
围绕“基于深度学习的番茄成熟度检测系统”这一目标,本文需要同时处理算法侧与系统侧的耦合约束:既要在温室与自然田间的复杂成像条件下保证检测与分级精度,又要在桌面端交互中保证推理链路的实时性、可解释性与可追溯性,并为后续多模型对比评测与工程落地提供一致的接口与数据闭环。[5]
要解决的问题可概括为:(1)成熟度分级的准确性与实时性难以兼得,尤其在密集遮挡与小目标条件下容易出现漏检误检。(2)模型对光照、反光、遮挡与背景杂乱的环境适应性不足,跨棚室与田间场景泛化存在波动。(3)桌面端交互需要同时支持多源输入、阈值可控与结果可视化,否则难以支撑真实使用中的快速调参与复核。(4)检测结果的批量处理、结构化存储与安全管理不足会削弱可追溯性与长期迭代效率。2
对应的解决方案为:(1)以 YOLOv12 为核心候选并覆盖 YOLOv5–YOLOv12 的多模型训练与推理对比,通过统一评测指标体系量化精度与速度权衡。(2)结合数据增强与迁移学习,针对遮挡、小目标与光照变化强化训练分布,并通过损失设计与阈值策略改善过渡成熟阶段的判别稳定性。(3)基于 PyTorch 推理链路与 PySide6/Qt 桌面端交互集成,支持图片、视频与本地摄像头输入,并提供权重热切换与实时参数调节以形成交互闭环。(4)优化数据处理与持久化机制,以缓存序列、时间戳命名与 SQLite 本地化管理提升批处理效率与结果可追溯性,并为后续实验复现与数据迭代提供可靠底座。[7]
2.4 博文贡献与组织结构
本文的主要贡献体现在:(1)围绕番茄成熟度检测这一细粒度目标检测任务,结合温室与自然田间场景系统梳理关键难点与主流范式,并以近期代表性工作给出可追溯的性能对比与工程启示。[5](2)构建覆盖 YOLOv5–YOLOv12 的训练、推理与评测链路,形成以 mAP、F1、PR 与训练曲线为核心的对比分析框架,为模型选择与部署决策提供依据。[7](3)设计并实现桌面端交互系统,将多源输入、阈值调参、目标高亮与结果导出整合为一致工作流,提升实验迭代与落地可用性。[17](4)形成“算法效果对比分析+系统化工程集成”的完整闭环,使模型改进与应用需求能够在同一套可视化与数据管理机制下被验证与复现。[16](5)配套整理数据与代码资源,便于复现实验结论并支持后续扩展到更多作物与采摘场景。[16]
全文组织结构如下:第 3 章介绍数据集来源、标注规范、类别统计与增强策略;第 4 章阐述以 YOLOv12 为主线的模型原理、结构设计与训练要点;第 5 章给出 YOLOv5–YOLOv12 的对比实验结果与分析,并展示关键曲线与可视化;第 6 章从分层架构角度说明桌面端系统设计、推理调度与数据持久化实现;第 7 章总结工作并展望轻量化、多模态与持续学习等方向。[7]
3. 数据集处理
在进入本章的正式叙述前,我还需要你补充几项关键信息以便把“数据处理”写得可复现且与训练配置一致:当前已确认数据集共 6371 张图像,划分为训练集 5520 张、验证集 566 张、测试集 285 张,提供了训练批次可视化与标签分布相关图;仍建议给出标注格式(YOLO/COCO 及坐标定义)、三类样本的数量分布(是否存在明显长尾)、以及实际采用的预处理与增强策略(例如是否启用 Mosaic、颜色抖动、随机仿射等),这些信息会直接影响后文对遮挡、尺度变化与光照扰动的针对性分析。标签及其对应中文名如下:
Chinese_name = {"Green": "绿色", "Red": "红色", "damaged": "损坏"}

基于现有材料,本数据集覆盖番茄成熟度的三类状态,图像中存在一定的尺度跨度与局部遮挡情形,部分样本还包含背景纹理与反光带来的外观变化,这与温室及田间采集常见的复杂成像条件一致。数据划分上,训练/验证/测试分别占约 86.6%/8.9%/4.5%,能够在保证训练样本量的同时为模型选择与泛化评估保留独立测试集合。结合你提供的标注可视化风格,本项目更倾向于使用 YOLO 系列常用的目标检测标注表达(类别编号与边界框坐标一一对应),并在后续训练与推理阶段与统一的输入尺寸策略保持一致,以降低不同模型之间的评测偏差。

在预处理流程上,建议保持“尺度统一但尽量不破坏几何结构”的原则:将图像按比例缩放并进行必要的填充以对齐网络输入尺寸,同时对像素做标准化,确保不同采集条件下的亮度与色彩波动不会被放大为分布偏移。针对成熟度任务的难点,增强策略通常需要同时覆盖颜色与几何两类扰动:颜色侧用于模拟光照变化、阴影与反光,几何侧用于模拟视角变化、部分遮挡与目标截断,从而提升对“相邻成熟阶段颜色差异细微”和“小目标/密集目标”场景的鲁棒性;若损坏类样本占比偏低,还需在采样或损失权重上做平衡处理,避免模型在少样本类别上出现召回不足。你把标注格式、类别分布与增强清单补齐后,我会将本章中的统计描述(含长尾结论)与“增强策略—难点对应关系”进一步写实到可直接复现的程度。
4. 模型原理与设计
本系统的番茄成熟度检测在算法侧采用 YOLO 系列的单阶段目标检测范式:输入图像经统一尺寸预处理后,网络一次前向即可同时输出候选框位置与类别置信度,并在后处理中得到最终的“绿色/红色/损坏”检测结果。相较两阶段方法,单阶段结构更利于在温室巡检或分拣线边缘端实现低延迟推理,同时还能在界面侧实时叠加框与分数,方便人工快速核验。为了兼顾“颜色差异细微、反光遮挡、尺度变化大”等任务难点,本文以 YOLOv12 的注意力中心化设计为主线,在多尺度特征表达与检测头解耦上强化对局部纹理与全局上下文的共同建模。
在网络主体结构上,YOLOv12 延续“骨干网络—特征融合颈部—检测头”的层级式框架,但将注意力机制作为关键算子引入高层特征抽取过程,其中代表性模块是 Area Attention(A2)与残差高效层聚合结构 R-ELAN。标准自注意力可写为
其中 \(Q,K,V\) 为查询、键、值特征,\(d\) 为通道维度,计算与显存开销随 token 数量呈二次增长;A2 的核心思想是对特征图按水平方向或垂直方向做等分区域,再在区域内进行注意力计算,从而在保持较大有效感受野的同时降低整体计算负担,更适合实时检测场景。 为了缓解大规模注意力堆叠带来的优化不稳定,R-ELAN 在聚合结构中引入块级残差与缩放,典型形式为 \(y=x+\alpha F(x)\)(\(\alpha\) 为较小的缩放因子),既保证梯度通路通畅,也让高层语义特征在成熟度判别上更稳定。
颈部特征融合部分通常采用自顶向下与自底向上结合的金字塔策略,将不同步长的特征在多尺度上进行拼接与再融合,以同时覆盖“小目标果实”“被枝叶遮挡的局部区域”“近景大果实”等情况;这对番茄在不同采集距离、不同密度分布下的检测尤为关键。检测头侧更强调解耦思想:分类分支专注学习成熟度类别的判别边界,回归分支学习边界框几何参数,从而减少梯度干扰并提升收敛效率;而在推理阶段,候选框会依据置信度阈值筛选,并通过 IoU 约束的抑制策略去除重复框,这也正对应界面中的 Conf/IoU 实时滑块调节——前者影响“保守/激进”的检出倾向,后者影响“重叠框保留程度”,便于现场在漏检与误检之间快速权衡。(Ultralytics Docs)
损失函数建模上,本文沿用 YOLO 系列常见的多任务联合优化思路,将定位、分类与(可选的)分布式回归项进行加权求和:
其中 \(\mathcal{L}*{\text{IoU}}\) 可采用 IoU/CIoU 等形式以更好约束重叠与几何一致性,\(\mathcal{L}*{\text{cls}}\) 负责成熟度类别的监督,\(\mathcal{L}*{\text{dfl}}\) 用于提升边界框回归的精细度;在训练策略上,Batch Normalization 等正则化与学习率调度共同决定收敛稳定性,而针对本任务的反光、遮挡与尺度变化,数据增强更应侧重颜色扰动与几何扰动的组合,以避免模型把“光照变化”误当成“成熟度差异”。网络整体架构图如下图所示

5. 实验结果与分析
本章实验以番茄成熟度三分类检测(Green/Red/damaged)为目标,在同一数据划分(训练 5520、验证 566、测试 285,共 6371 张)与统一输入尺度(默认 640×640 预处理)的前提下,对 YOLOv5–YOLOv12 共 8 种模型进行横向对比,其中轻量组为 yolov5nu、yolov6n、yolov7-tiny、yolov8n、yolov9t、yolov10n、yolo11n、yolo12n,标准组为 yolov5su、yolov6s、yolov7、yolov8s、yolov9s、yolov10s、yolo11s、yolo12s。评测指标包含 Precision、Recall、F1、mAP@0.5(记为 mAP50)与 mAP@0.5:0.95(记为 mAP50-95),同时记录预处理、推理与后处理耗时以衡量端到端延迟;所有计时均在 NVIDIA GeForce RTX 3070 Laptop GPU(8GB)上完成,便于与桌面端实时推理的交互需求对齐。
| Model | Params(M) | FLOPs(G) | Pre(ms) | Inf(ms) | Post(ms) | Precision | Recall | F1 | mAP50 | mAP50-95 |
|---|---|---|---|---|---|---|---|---|---|---|
| YOLOv5nu | 2.6 | 7.7 | 1.90 | 7.73 | 1.31 | 0.7488 | 0.8926 | 0.8144 | 0.9091 | 0.8330 |
| YOLOv6n | 4.3 | 11.1 | 2.17 | 6.78 | 1.39 | 0.7254 | 0.9389 | 0.8185 | 0.9061 | 0.8337 |
| YOLOv7-tiny | 6.2 | 13.8 | 2.28 | 14.74 | 4.06 | 0.7442 | 0.9084 | 0.8181 | 0.9036 | 0.7983 |
| YOLOv8n | 3.2 | 8.7 | 1.95 | 6.83 | 1.39 | 0.7551 | 0.8587 | 0.8036 | 0.9019 | 0.8334 |
| YOLOv9t | 2.0 | 7.7 | 1.87 | 16.51 | 1.29 | 0.7065 | 0.9549 | 0.8121 | 0.9057 | 0.8355 |
| YOLOv10n | 2.3 | 6.7 | 2.08 | 11.24 | 0.63 | 0.7600 | 0.8687 | 0.8107 | 0.9022 | 0.8320 |
| YOLOv11n | 2.6 | 6.5 | 2.11 | 9.44 | 1.42 | 0.7301 | 0.9143 | 0.8119 | 0.9109 | 0.8358 |
| YOLOv12n | 2.6 | 6.5 | 1.91 | 12.47 | 1.37 | 0.7681 | 0.8628 | 0.8127 | 0.9140 | 0.8402 |
| YOLOv5su | 9.1 | 24.0 | 2.28 | 8.45 | 1.51 | 0.7582 | 0.8664 | 0.8087 | 0.9000 | 0.8286 |
| YOLOv6s | 17.2 | 44.2 | 2.22 | 8.59 | 1.45 | 0.7429 | 0.8945 | 0.8117 | 0.9082 | 0.8374 |
| YOLOv7 | 36.9 | 104.7 | 2.44 | 23.62 | 3.46 | 0.7309 | 0.8319 | 0.7781 | 0.8694 | 0.7736 |
| YOLOv8s | 11.2 | 28.6 | 2.31 | 7.66 | 1.42 | 0.7434 | 0.9200 | 0.8223 | 0.9017 | 0.8318 |
| YOLOv9s | 7.2 | 26.7 | 2.12 | 18.66 | 1.39 | 0.7168 | 0.9235 | 0.8071 | 0.9018 | 0.8308 |
| YOLOv10s | 7.2 | 21.6 | 2.21 | 11.38 | 0.60 | 0.7321 | 0.9172 | 0.8143 | 0.9055 | 0.8330 |
| YOLOv11s | 9.4 | 21.5 | 2.37 | 9.74 | 1.36 | 0.7116 | 0.9077 | 0.7978 | 0.9089 | 0.8380 |
| YOLOv12s | 9.3 | 21.4 | 2.09 | 13.23 | 1.42 | 0.7870 | 0.8379 | 0.8117 | 0.9129 | 0.8421 |
从整体指标看,两组模型在本数据集上都呈现“mAP50 集中在 0.90 左右、mAP50-95 稳定在 0.83 上下”的高平台特征,说明三类成熟度的可分性在检测框架下是可学习且可泛化的。轻量组中,YOLOv12n 在 mAP50(0.9140)与 mAP50-95(0.8402)上取得最高值,更适合作为追求综合精度的默认权重;但从端到端实时性角度,YOLOv6n(Inf 6.78ms)与 YOLOv8n(Inf 6.83ms)明显更“轻快”,尤其适合摄像头连续帧的交互式推理,而 YOLOv12n 的 FLOPs 虽然较低(6.5G),推理耗时却更高(12.47ms),更像是“算子结构与实现路径”带来的额外开销,这一点在桌面系统中通常表现为帧率下降但单帧更稳。标准组中,YOLOv12s 以 mAP50=0.9129、mAP50-95=0.8421 位居第一,YOLOv8s 则以最高 F1=0.8223 且推理最快(7.66ms)体现出“可用性优先”的优势;反之,YOLOv7(Inf 23.62ms)在精度与速度上都不占优,更像是对当前任务与硬件组合不够友好的基线。


为了把“指标差距”与“交互阈值”联系起来,进一步观察 PR 与 F1-Confidence 曲线可以发现:在同一模型上,全类 F1 的峰值往往出现在置信度约 0.5 左右(图中示例给出 all classes F1≈0.81 at conf≈0.511),这与桌面端默认 Conf=0.5 的经验设置相吻合,也解释了为何一些模型在固定阈值下的 F1 排名会与 mAP 排名不完全一致——mAP 更像“全阈值积分”的综合能力,而 F1 更像“某个工作点”的落地表现。就类别维度而言,PR 曲线中 Red 的 AP 明显低于 Green 与 damaged(示例中 Red≈0.870,Green≈0.930,damaged≈0.939),这通常对应番茄转色阶段的类间相似性与光照漂移:红果在不同曝光、反光或阴影条件下会与“损坏斑驳”产生局部纹理相似,从而在高召回区间更容易牺牲精度。

结合混淆矩阵与推理可视化样例,误检与漏检主要集中在两类场景:其一是背景纹理、布料褶皱或强反光区域被误当作果面,导致对 background 的“虚警”上升;其二是红果与损坏在局部斑点、阴影边界上的混淆,使得 Red 的精度下降并拉低整体 F1。面向工程落地,博主更倾向于把改进拆成“数据侧与阈值侧”两条线并与系统交互闭环对应:数据侧通过补充更多包含反光、遮挡、复杂背景的负样本与红果过渡状态样本,配合更强的颜色与光照增强来抹平域差;阈值侧在桌面端利用 Conf/IoU 滑块提供工作点切换,例如质检场景优先降低 Conf 提升召回、采摘决策优先提高 Conf 降低误检,并在必要时引入按类别的差异化阈值(对 Red 适当提高置信门限或强化后处理抑制)以缓解“红果更易误判”的结构性问题。
6. 系统设计与实现
6.1 系统设计思路
本系统采用面向部署的一体化分层架构,将桌面端交互与检测算法通过清晰的职责边界耦合起来:最上层为表现与交互层(PySide6/Qt 客户端),负责多源输入入口、阈值滑块、检测画面与目标详情的联动呈现;中间为业务与会话管理层,承载登录态、用户偏好、源互斥切换、导出编排与统计聚合;下层为推理与任务调度层,完成媒体帧接入、预处理、YOLO 推理与后处理的流水线调度;底层为数据持久化层,将账户、配置与检测记录落地到本地数据库并维持导出归档索引,从而形成“可用、可追溯、可复现”的闭环。
在跨层协同上,系统以事件驱动的帧流作为主干链路:当输入源为单图时以一次性任务完成推理并更新结果视图;当输入源为视频或摄像头时以持续帧序列驱动异步推理队列,依序完成预处理(统一缩放到 640×640、归一化与张量转换)、模型推理与后处理(Conf/IoU 过滤与 NMS、坐标还原),再将目标框、类别与置信度叠加到中央显示区并同步刷新右侧目标详情与底部记录表。为保证实时性与一致性,系统将阈值参数作为共享状态向推理链路广播,确保界面滑块调整在下一帧生效,同时通过源互斥策略避免多路输入并发抢占导致的帧乱序与统计漂移。
可扩展性方面,系统将“模型权重管理”设计为可替换组件:用户在界面选择本地权重即可热切换当前 YOLO 模型,并同步刷新类别映射与配色,使同一批数据能快速完成多模型对比;导出侧以统一的时间戳命名策略组织 CSV、PNG 与 AVI,既方便批量归档,也便于从记录表按文件名回溯复查。异常恢复与稳定性则通过任务状态机与日志钩子实现:当输入源中断、推理失败或导出取消时,界面进度条与用时统计能够回到一致状态,避免长视频处理时出现“结果与进度不匹配”的体验问题。

图6-1 系统流程图
图注:系统自初始化开始,完成多源输入、预处理、YOLO 推理、后处理与前端联动,并在视频/摄像头模式下以事件驱动帧流循环执行;突出 Conf/IoU 滑块、目标高亮、CSV/PNG/AVI 导出与时间戳命名。

图6-2 系统设计框图
图注:框图以“表现与交互层—业务与会话管理层—推理与任务调度层—数据持久化层”划分模块边界,信号与槽将界面交互与异步推理连接成闭环,导出与本地数据库共同保证可追溯性与复现性。
6.2 登录与账户管理 — 流程图

上述流程将登录注册作为进入系统的“会话入口”:应用启动后显示登录界面,若用户无账号则完成注册并写入本地数据库形成账户记录,随后进入登录校验阶段;若已有账号则直接进行口令校验,校验成功后载入个性化配置(主题、默认模型与最近记录)并进入主界面开始多源检测,校验失败则返回输入环节以保障交互一致性。该设计使账户、偏好与检测记录在本地持久化空间中形成稳定关联,既支持离线使用与快速回溯,也使主检测流程与用户空间天然衔接,便于后续扩展到更细粒度的权限控制与审计需求。
7. 下载链接
若您想获得博文中涉及的实现完整全部资源文件(包括测试图片、视频,py, UI文件,训练数据集、训练代码、界面代码等),这里见可参考博客与视频,已将所有涉及的文件同时打包到里面,点击即可运行,完整文件截图如下:

完整项目下载及文档: https://newtopmat.feishu.cn/wiki/KcT3wzw05iopq9kfCxKc29Zfn08
功能效果展示视频:热门实战|《基于深度学习的番茄成熟度检测系统》YOLOv12-v8多版本合集:附论文/源码/PPT/数据集,支持图片/视频/摄像头输入、可视化界面、结果导出与权重切换
环境配置博客教程:https://deeppython.feishu.cn/wiki/EwnTwJ2H3iLF6VkNG6ccgZYrnvd;
或者环境配置视频教程:Pycharm软件安装视频教程;(2)Anaconda软件安装视频教程;(3)Python环境配置视频教程;
数据集标注教程(如需自行标注数据):数据标注合集
参考文献(GB/T 7714)
1 ZU L, ZHAO Y, LIU J, et al. Detection and Segmentation of Mature Green Tomatoes Based on Mask R-CNN with Automatic Image Acquisition Approach[J]. Sensors, 2021, 21(23): 7842.
2 刘洋, 宫志红, 李振发, 等. 基于改进YOLOv5的番茄成熟度检测方法[J/OL]. 中国农业气象, 2024(12). (2024-12-20).
[3] YANG Z, LI Y, HAN Q, et al. A Method for Tomato Ripeness Recognition and Detection Based on an Improved YOLOv8 Model[J]. Horticulturae, 2025, 11(1): 15.
[4] 孙宇朝, 李守豪, 夏秀波, 等. 利用改进YOLOv5s模型检测番茄果实成熟度及外观品质[J]. 园艺学报, 2024, 51(2): 396-410.
[5] HUANG W, LIAO Y, WANG P, et al. AITP-YOLO: improved tomato ripeness detection model based on multiple strategies[J]. Frontiers in Plant Science, 2025, 16: 1596739.
[6] WANG A, CHEN H, LI L, et al. YOLOv10: Real-Time End-to-End Object Detection[EB/OL]. arXiv:2405.14458, 2024.
[7] TIAN Y, YE Q, DOERMANN D. YOLOv12: Attention-Centric Real-Time Object Detectors[EB/OL]. arXiv:2502.12524, 2025.
[8] ZHAO Y, LV W, XU S, et al. DETRs Beat YOLOs on Real-time Object Detection[EB/OL]. arXiv:2304.08069, 2023.
[9] SAPKOTA K, KARKEE M. Ultralytics YOLO Evolution: Implementation and Performance of YOLOv11 and Beyond[EB/OL]. arXiv:2510.09653, 2025.
[10] CARION N, MASSA F, SYNNAEVE G, et al. End-to-End Object Detection with Transformers[C]//Proceedings of ECCV. 2020.
[11] ZHU X, SU W, LU L, et al. Deformable DETR: Deformable Transformers for End-to-End Object Detection[C]//Proceedings of ICLR. 2021.
[12] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[13] TIAN Z, SHEN C, CHEN H. FCOS: Fully Convolutional One-Stage Object Detection[C]//Proceedings of ICCV. 2019.
[14] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal Loss for Dense Object Detection[C]//Proceedings of ICCV. 2017.
[15] ALVAREZ HERNANDEZ G A, OLGUIN J C, VASQUEZ J I, et al. Detection of Tomato Ripening Stages using Yolov3-tiny[EB/OL]. arXiv:2302.00164, 2023.
[16] ONNX Community. Open Neural Network Exchange (ONNX)[EB/OL]. GitHub Repository, 2025.
[17] NVIDIA. TensorRT Documentation[EB/OL]. NVIDIA Developer Documentation, 2025.
