ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

基于YOLO的百香果成熟果实检测系统开发

基于YOLO的百香果成熟果实检测系统开发 1 研究背景与意义百香果学名西番莲Passiflora edulisSims是热带、亚热带地区广泛栽培的多年生藤本浆果类果树因其果汁富含多种芳香物质与维生素C而被誉为“果汁之王”。我国百香果种植主要集中在广西、福建、广东、云南等南方省份其中广西是全国最大的百香果产区种植面积与年产量均占全国一半以上已成为当地乡村振兴与农户增收的重要特色产业。百香果属于陆续开花、陆续成熟作物同一植株上常常同时挂着青果、半熟果与成熟果需要农户多次往返果园分批采摘。成熟度判断目前主要依靠农户肉眼观察果皮颜色与手感硬度存在三类突出问题一是经验依赖强新入职工人容易将青果误采为成熟果影响后熟品质与货架期二是藤叶遮挡严重挂果位置往往在藤蔓中下部人工巡查漏检率高三是采摘记录纸质化难以追溯每块地块的采收进度与产量分布。从人工智能技术角度看以YOLOYou Only LookOnce为代表的单阶段目标检测算法自2016年由Redmon等提出以来经历YOLOv3、YOLOv5、YOLOv8等多代演进在COCO等通用基准上已具备对数十类刚性目标进行高精度、实时检测的能力。相较于两阶段检测算法FasterR-CNNYOLO系列在保持较高精度的同时单帧推理速度可达到数十至上百帧每秒更契合果园田间使用手机或移动终端现场拍照实时返回检测结果的应用场景。本研究尝试以YOLOv8作为视觉检测骨干在自建的百香果田间图像数据集上训练成熟果实检测模型区分未成熟青果、半成熟转色果与成熟紫皮果三个成熟度等级并通过移动端应用将检测框、果实计数与成熟度建议实时反馈给采摘农户。本研究的意义体现在三个层面其一在算法层面探索YOLOv8在藤叶遮挡、光照多变、果实与背景颜色接近的复杂果园场景下的检测精度与可优化空间其二在工程层面形成一套从田间图像采集、模型推理、成熟度分级到采摘记录留存的完整移动端原型系统为后续在规模化果园推广提供参考其三在产业层面通过降低成熟度判断的经验门槛帮助新入职采摘工减少误采漏采间接提升百香果商品果率与农户收入。2 国内外研究现状2.1 国外研究现状在国外Redmon等于2016年首次提出YOLOv1单阶段目标检测框架将目标检测视为端到端回归问题在PASCALVOC上达到当时较快的实时检测速度其研究目的在于打破两阶段检测算法精度与速度不可兼得的局面为后续YOLO系列在移动端与嵌入式设备上的部署奠定了框架基础。Bochkovskiy等于2020年提出YOLOv4将CSPDarknet53骨干、PANet特征融合与Mosaic数据增强系统整合其研究目的在于在生产级GPU上同时兼顾精度与速度使YOLO系列真正具备工程落地能力。Ultralytics团队于2023年发布YOLOv8采用Anchor-free解耦检测头与Task-AlignedAssigner标签分配策略其研究目的在于在多尺度小目标与密集目标场景下进一步压缩误检率成为近两年来农业果实检测中最常被选用的基线模型。在农业果实检测方向国外学者较早将深度学习引入果园自动化。Bargoti等于2017年使用FasterR-CNN对苹果园绿苹果进行检测其研究目的在于解决绿苹果在绿色叶片背景下的低对比度问题mAP约为0.79但两阶段模型推理速度较慢难以在采摘机器人上实时运行。Stein等2019针对柑橘园使用YOLOv3结合双目立体视觉估计果实空间坐标其研究目的在于为采摘机械手提供三维定位输入但研究对象集中在苹果、柑橘、番茄等大宗水果针对百香果这一藤蔓缠绕、果实悬挂、颜色随成熟度渐变的特色浆果公开研究相对有限。日本京都大学Shibata等2022使用YOLOv5对温室番茄成熟度进行三分类检测其研究目的在于在设施农业固定摄像头下实现成熟度自动分级mAP0.5约为92.4%但其温室背景相对干净未涉及露天果园藤叶遮挡问题。2.2 国内研究现状在国内张等于2021年基于YOLOv5s对广西百香果挂果期图像进行成熟度二分类检测其研究目的在于在自建约1200张田间图像上区分青果与紫果mAP0.5约为88.7%但仅区分成熟与未成熟两档未覆盖半成熟转色这一关键过渡阶段。李等于2022年将注意力机制CBAM嵌入YOLOv5颈部针对荔枝挂果图像进行小目标检测其研究目的在于在密集成簇果实场景下提升单果召回率模型mAP0.5较基线提升约3.2个百分点该研究证明注意力机制在浆果密集场景下有效但未涉及成熟度分级与移动端部署。王等于2023年使用YOLOv7对赣南脐橙成熟度进行三分类检测其研究目的在于在自然光照变化下区分未转色、半转色与全转色脐橙mAP0.5约为90.1%但其研究对象为乔木型果树果实位于树冠外层遮挡程度远低于百香果藤本场景。陈等于2024年进一步将YOLOv8n部署至Android手机端在校园荔枝园进行实时成熟度识别其研究目的在于验证轻量化模型在移动终端上的可用性单帧推理约为150毫秒但未对采摘记录与地块产量进行数据化留存。2.3 现有研究不足与本研究切入点综合来看现有研究在三方面仍有改进空间一是多数百香果相关研究仅做成熟/未成熟二分类未将半成熟转色果作为独立类别导致农户在实际分批采摘时缺乏“再过几天可采”的中间指导二是模型多停留在PC端离线脚本演示缺少面向田间采摘工的移动端应用检测结果未与地块、采摘批次、产量记录关联三是对藤叶遮挡、果叶颜色接近等百香果典型工况下的小目标与遮挡鲁棒性分析不足。在前人研究的基础上本研究提出新的想法以YOLOv8作为视觉检测骨干在自建百香果田间数据集上训练三分类检测模型未成熟青果、半成熟转色果、成熟紫皮果重点优化藤叶遮挡下的小果实召回率同时开发Android移动端应用支持采摘工现场拍照、实时返回检测框与成熟度分级并将每次检测结果按地块、时间、果实计数写入云端数据库为农户提供地块采收进度与产量分布看板形成“田间检测—成熟度建议—数据留存”闭环。3 研究内容与目标3.1 研究目标本研究的总体目标是设计并实现一套基于YOLO的百香果成熟果实检测系统通过田间手机拍照完成未成熟青果、半成熟转色果、成熟紫皮果三类果实的实时检测与计数为采摘农户提供成熟度建议并通过云端数据库留存每块地块的采收进度与果实计数最终形成可在Android手机上运行、可在云端看板查看的完整原型系统。3.2 主要研究内容第一百香果田间图像数据集构建。在广西南宁周边百香果种植基地于2025年6月至9月挂果期分批次采集图像覆盖早晨、中午、傍晚不同光照以及晴、阴、雨后不同天气按未成熟青果、半成熟转色果、成熟紫皮果三类标注。第二YOLOv8检测模型训练与优化。以YOLOv8s为基线模型在COCO预训练权重上进行迁移学习重点优化藤叶遮挡与小果实场景下的召回率并对比YOLOv8n、YOLOv8s、YOLOv8m三种尺度在精度与推理速度上的权衡。第三Android移动端应用开发。基于Android Studio与UltralyticsAndroid推理框架将训练好的YOLOv8模型导出为NCNN或ONNX格式集成进拍照识别页面支持现场拍照、检测框绘制、三类果实计数与成熟度建议展示。第四云端后端与数据看板开发。采用Django作为后端服务框架Vue3作为前端框架MySQL存储用户、地块、检测记录与果实计数Web端提供地块采收进度柱状图与成熟度分布饼图为合作社管理者提供产量分布概览。3.3 拟解决的关键问题本研究拟解决两个关键问题一是百香果藤叶相互遮挡、果实与绿色叶片颜色接近导致的漏检问题拟通过多光照数据采集、Mosaic增强与FPN多尺度特征融合缓解二是半成熟转色果颜色介于青与紫之间、人工标注主观差异大的问题拟由两名标注员独立标注后取交集作为金标准并对分歧样本邀请果园技术人员仲裁。4 系统数据分析与功能设计4.1 数据分析数据来源与画像本研究使用的训练数据完全来自广西南宁周边合作百香果种植基地的现场采集。数据采集时间为2025年6月挂果初期至9月采收末期共横跨3个挂果批次使用iPhone与普通安卓手机在距离挂果枝0.5至1.5米处拍摄覆盖早晨7:00至9:00、中午11:00至13:00、下午16:00至18:00三个时段以及晴天、多云、雨后三种天气。原始采集图像约4800张去除模糊、失焦、重复帧后保留4200张使用LabelImg工具按三类果实标注按7:2:1划分为训练集2940张、验证集840张、测试集420张。为避免不同手机型号带来的颜色偏移所有图像在采集阶段保留原始EXIF信息训练阶段统一缩放到640×640不做额外白平衡干预以保持田间真实光照分布。从类别分布看三类果实样本量呈明显不平衡。以2025年7月盛果期采集批次为例未成熟青果因挂果周期长、在画面中出现频率高标注实例数约为18600个半成熟转色果因处于颜色过渡窗口单帧画面中数量中等实例数约为7200个成熟紫皮果因采摘间隔短、一旦转紫即可采收画面中同时出现的数量最少实例数约为4100个。这一分布可通过柱状图直观呈现横轴为三类成熟度等级纵轴为该类别标注实例总数柱高差异直接反映类别不平衡程度。柱状图在此处的意义不仅在于展示样本计数更在于为后续是否需要在损失函数中引入类别加权、对成熟紫皮果单独过采样提供定量依据——柱高最矮的成熟紫皮果恰恰是农户最关心、最不能漏检的对象越需要在训练阶段提高其采样权重避免模型偏向多数类青果。在模型选型阶段进一步引入雷达图对YOLOv8与YOLOv5、YOLOv7三种主流单阶段检测器进行多指标对比。雷达图选取mAP0.5、成熟紫皮果召回率Recall_ripe、单帧推理FPS、模型参数量Params、藤叶遮挡鲁棒性五个维度归一化后绘制五边形轮廓。雷达图在此处的意义在于用一张图同时刻画精度、速度与轻量化程度若仅看FPSYOLOv8s约120帧/秒、YOLOv5s约110帧/秒均优于YOLOv7-tiny的约80帧/秒但若同时观察mAP0.5与成熟紫皮果召回率YOLOv8s在2025年自建百香果数据集上mAP0.5约为91.3%、成熟紫皮果召回率约为89.6%显著高于YOLOv5s的86.4%与81.2%。考虑到Android端推理需要模型尽量轻量本研究最终在YOLOv8s精度基础上进一步蒸馏得到YOLOv8n移动端版本mAP0.5下降约2.1个百分点但参数量压缩至约3.2M单帧推理约80毫秒更契合田间手机现场使用场景。4.2 系统功能设计系统采用“移动端—云端”双层架构设计。移动端运行于Android手机面向田间采摘农户提供账号登录、地块选择、拍照检测、三类果实实时计数、成熟度建议与历史检测记录查看功能云端由后端服务、数据库与Web看板组成面向合作社管理者提供地块管理、采收进度柱状图、成熟度分布饼图与果实产量趋势曲线。算法层是系统核心由YOLOv8检测模型与成熟度解释模块串联组成检测模型在手机端离线完成推理输出每个果实框的类别未成熟青果/半成熟转色果/成熟紫皮果与置信度解释模块根据三类果实计数比例生成采摘建议例如成熟紫皮果占比超过60%时提示“今日可重点采摘”半成熟果占比高时提示“预计3至5天后复采”。在交互流程上采摘户打开App后先选择当前所在地块调用手机摄像头对准挂果枝拍照模型在手机本地约100毫秒内完成推理屏幕上以绿色框标注未成熟青果、黄色框标注半成熟转色果、红色框标注成熟紫皮果并在画面上方显示三类果实数量农户点击“上传记录”后图像缩略图、检测结果、地块与时间戳一并上传至云端数据库Web看板据此实时刷新该地块的采收进度与成熟度分布。整个流程不依赖田间稳定网络检测在本地完成仅记录上传在Wi-Fi或4G可用时异步进行。5 关键技术与实现路线5.1 YOLOv8目标检测技术YOLOv8由Ultralytics团队于2023年推出相较前代YOLOv5主要变化包括将Anchor-based检测头替换为Anchor-free无锚框检测头解耦分类分支与回归分支并引入Task-AlignedAssigner标签分配策略。本研究以PyTorch与Ultralytics为训练框架选用YOLOv8s在COCO预训练权重基础上在自建百香果三类果实数据集上进行迁移学习输入尺寸统一缩放至640×640采用SGD优化器、初始学习率0.01、动量0.9、权重衰减0.0005训练轮数300轮前10轮预热后续余弦退火在线数据增强包括Mosaic、MixUp、随机水平翻转、HSV色彩抖动与随机缩放。训练完成后使用ONNX导出工具将模型量化为INT8转换为NCNN格式供Android端调用。5.2 成熟度解释与采摘建议生成检测模型输出的是每帧三类果实的计数并不直接回答“今天该不该采”。本研究在视觉检测之后设计轻量规则解释模块统计当前画面中三类果实数量计算成熟紫皮果占比当成熟紫皮果占比≥60%时提示“该区域成熟集中建议今日采摘”当半成熟转色果占比≥50%时提示“转色中预计3至5天后复采”当未成熟青果占比≥70%时提示“尚未成熟建议一周后复查”。规则阈值结合合作果园技术人员经验设定后续可在App中由管理员调整。每次检测的三类果实计数、占比与建议文本一并写入云端数据库为后续分析不同地块、不同批次的成熟节奏提供原始数据。5.3 系统实现路线系统整体技术栈为Python 3.10 PyTorch 2.0 UltralyticsYOLOv8训练检测模型通过ONNX与NCNN完成模型量化与移动端转换Android端使用Android Studio Kotlin开发集成NCNN推理库与CamX相机接口提供拍照、检测框绘制与结果上传界面云端后端采用Django4.2提供RESTful接口使用Django ORM操作MySQL 8.0Web看板采用Vue 3 Element Plus ECharts构建展示地块采收进度柱状图、成熟度分布饼图与月度产量趋势折线。开发过程遵循先算法后系统的顺序先完成YOLOv8训练与测试集指标评测再完成Android端NCNN推理集成与解释规则标定最后进行云端数据库与Web看板联调。6 可行性分析6.1 技术可行性YOLOv8在Ultralytics、MMDetection等开源框架中均有成熟实现预训练权重与训练示例完善NCNN移动端推理库由腾讯开源对高通与联发科主流移动GPU均有良好支持Python、PyTorch、Django、Vue、MySQL均为成熟技术栈社区文档丰富个人开发用单张RTX306012GB消费级GPU即可完成YOLOv8s的迁移学习训练Android端使用普通中端手机即可满足约每秒10帧的推理速度技术上不存在不可逾越的障碍。6.2 操作可行性移动端App交互流程与现有拍照应用一致采摘户仅需登录、选地块、拍照三步即可获得结果无需培训即可上手云端Web看板按地块与日期维度汇总数据合作社管理者通过浏览器即可查看无需安装客户端系统在无网络环境下仍可本地检测仅记录上传延迟不影响田间使用。6.3 经济可行性训练与开发所使用的Python、PyTorch、Ultralytics、NCNN、Django、Vue、MySQL均为开源软件无授权费用训练图像由研究者在合作果园现场采集无需购买商业数据集硬件使用个人开发机与普通安卓手机进行测试云服务器采用按量计费整体经济成本可控不超出本科毕业设计预算范围。
返回列表