1.2MB超轻量模型实现草莓苗精准分级检测与定位,准确率超96%

在现代化的草莓育苗工厂中,一排排整齐的穴盘里孕育着成千上万的草莓幼苗。然而,一个长期困扰农户的难题是:如何快速准确地识别出哪些穴孔缺苗、哪些幼苗生长不良?

传统的解决方式主要依赖人工肉眼识别,效率低下且容易出错。更棘手的是,草莓苗在生长过程中常常会出现叶片越界生长的现象------幼苗的叶子伸展到相邻的穴孔中,这使得即使是经验丰富的工人也难以准确判断每个穴孔内幼苗的真实生长状况。

随着智慧农业的发展,基于计算机视觉的自动检测技术为解决这一难题带来了希望。但在实际应用中,复杂的生长环境和实时处理需求对检测算法提出了极高要求:既要精度高,又要速度快,还要能够在资源受限的设备上运行。

今天我们要介绍的这项创新研究,正是针对这一痛点提出了一套完整的解决方案。

技术亮点

  • 创新性的数据集构建与标注

研究团队在陕西杨凌草莓育苗温室采集了900张高分辨率图像(2016×4480像素),涵盖不同光照条件和生长阶段的草莓穴盘苗。根据实际种植情况,将草莓穴盘苗分为三个等级:

无苗:未种植或死苗

弱苗:未长第一片新叶

正常苗:已长一片或多片新叶

数据标注采用LabelImg工具,按8:1:1比例划分为训练集、验证集和测试集,并通过数据增强技术扩充至2160张训练图像。

  • 基于LAMP Score的通道剪枝技术

传统的YOLOv8s模型虽然检测精度高,但参数量大、推理速度慢,难以满足实时部署需求。本研究采用LAMP Score(层自适应幅度剪枝评分)通道剪枝算法,通过三个关键步骤实现模型轻量化:

  • 建立依赖图:自动识别并绑定需要一起剪枝的通道组
  • 基于重要性评分的通道修剪:计算每个通道组的重要性评分,按预设剪枝率移除最不重要的组
  • 微调剪枝模型:通过参数重校准恢复因剪枝造成的精度损失
  • 两阶段苗-穴孔匹配定位算法

针对草莓苗越界生长导致的定位难题,研究团队设计了一种创新的两阶段匹配算法:

第一阶段:为未越界或轻微越界的草莓苗匹配穴孔,设定重叠度阈值防止误匹配

第二阶段:为越界明显的草莓苗构建匹配关系,通过评分更新机制准确定位

注: 图a白色边界框表示穴孔;黄色、绿色和红色填充框表示草莓穴盘苗;图b和图c中黄色,绿色和红色边界框表示对应颜色的草莓穴盘苗所匹配定位的穴孔。

技术效果

  • 模型性能对比

经过通道剪枝优化后的Fine-tuned-YOLOv8s模型表现出色:

  • 模型大小:仅1.2MB,比原模型减少94.4%
  • 参数量:减少95.4%
  • 推理时间:减少31.7%
  • mAP:达到96.4%,比原模型提高1%

与其他轻量化模型对比,Fine-tuned-YOLOv8s在各项指标上均表现最优。

  • 定位准确率

两阶段匹配定位算法在实际测试中表现良好:

  • 正常苗匹配正确率:96.6%
  • 弱苗匹配正确率:82.9%
  • 无苗匹配正确率:84.5%
  • 平均定位准确率:88%

技术实现细节

  • 实验环境配置‍

硬件:Intel Xeon Platinum 8222CL CPU+2×NVIDIA RTX 3090 GPU

软件:Ubuntu 18.04+PyTorch 2.0.1+Python 3.8.8

训练参数:输入尺寸640×640,学习率0.01,SGD优化器,训练250轮

  • 剪枝参数选择

通过大量实验确定最佳剪枝率为85.7%,在保证模型精度的同时最大程度减小模型尺寸。

应用价值

这项技术为草莓穴盘苗自动化分选提供了完整解决方案:

  • 精准分级:准确识别无苗、弱苗和正常苗
  • 精确定位:即使在苗株严重越界生长情况下也能准确定位
  • 高效实时:轻量化模型满足实际部署的实时性要求
  • 自动化支持:为自动化补苗、分苗作业提供技术基础

总结与展望

本研究通过通道剪枝技术成功实现了YOLOv8s模型的轻量化,结合创新的两阶段匹配定位算法,有效解决了草莓穴盘苗生产中的分级检测与定位难题。未来,团队计划通过增加更多越界生长样本和改进机械装置来进一步优化系统性能,为智慧农业发展贡献更多创新解决方案。

这项技术不仅适用于草莓育苗,还可推广到其他作物的穴盘苗检测中,具有广阔的应用前景。

相关推荐
CoovallyAIHub2 小时前
终结AI偏见!Sony AI发布Nature论文与FHIBE数据集,重塑公平性评估基准
深度学习·算法·计算机视觉
7澄12 小时前
深入解析 LeetCode 1572:矩阵对角线元素的和 —— 从问题本质到高效实现
java·算法·leetcode·矩阵·intellij-idea
ALex_zry2 小时前
c20 字符串处理优化可选方案
算法
阳光明媚sunny2 小时前
分糖果算法题
java·算法
卡提西亚3 小时前
一本通网站1125题:矩阵乘法
c++·算法·矩阵·编程题·一本通
laocooon5238578863 小时前
大数的阶乘 C语言
java·数据结构·算法
阿_旭3 小时前
基于深度学习的车载视角路面病害检测系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·路面病害检测
Boop_wu4 小时前
[Java EE] 多线程 -- 初阶(1)
java·jvm·算法
陌路204 小时前
Linux33 网络编程-多线程TCP并发
网络·算法