具体笔记:[水果目标检测4]:YOLOv7-CA+追踪算法-CSDN博客

为什么水果计数这么难?

随着线上水果销售越来越火,准确预测水果产量变得超级重要。但传统的人工目测传感器效率低、成本高,还搞不定复杂的果园环境,比如水果重叠光照变化等。

虽然CNN目标检测很强,但在农业场景下,遮挡问题让模型常常“犯糊涂”。于是,我们想了一个新办法:结合最先进的YOLOv7模型和两种强大的注意力机制,再引入多目标追踪,实现更精准、更稳定的水果检测和计数。


核心亮点:三大技术融合

1. 改进YOLOv7:引入“注意力”

YOLOv7虽然很棒,但在复杂农业场景下还有提升空间。所以,尝试给它加上“眼睛”——注意力机制,让模型能自主聚焦到重要的信息上。

测试了两种注意力模块:

  • CBAM(通道+空间注意力): 就像一个**“双重过滤器”,先让模型关注“什么”是重要的物体(通道注意力),再告诉它“在哪里”**(空间注意力)。

  • CA(坐标注意力): 这是一种更巧妙的方法,它通过水平和垂直两个方向的池化来捕捉精确的位置信息,特别擅长处理遮挡和密集目标。

实验结果: YOLOv7-CA模型表现最佳,mAP提升了4%F1评分提升了0.02,并且模型大小几乎没变!这让它在边缘设备上部署变得更轻松。

2. 跟踪算法:解决遮挡和重复计数问题

光检测到水果还不够,视频中的苹果会动,还会被叶子挡住,很容易造成重复计数漏数

借鉴了SORT和Cascade-SORT的思想,并引入了:

  • SURF特征提取: SURF是一种快速的传统图像特征算法,它能在保证精度的前提下,高效提取水果的外观特征。在短时间内,同一颗苹果的外观变化不大,SURF足以应付,比复杂的CNN更快。

  • 卡尔曼滤波器: 它可以根据过去的运动轨迹,预测水果的当前位置,有效应对短暂的遮挡问题。

  • 级联匹配: 我们用马氏距离匹配运动,用余弦距离匹配外观,将运动和外观特征结合起来,确保在复杂情况下也能准确追踪每一颗苹果。

实验结果: 我们的YOLOv7-CA结合SURF级联匹配的方案,比单独使用YOLOv7的计数MAE(平均绝对误差)提高了0.642,效果显著!


数据集与实验环境

  • 数据集: 整合多个公开数据集,并进行了半自动化标注,大大提升了效率。

  • 数据增强: 使用MixUPMosaic等高级技术,让模型见识了更多复杂场景,增强了泛化能力。

  • 实验平台:Google Colab上,使用T4 GPU进行训练和测试。


未来展望

目前模型在不同光照下的性能还不够稳定,未来我们将:

  1. 引入ID SwitchMOTA等更全面的评估指标,更准确地衡量模型的性能。

  2. 构建更全面的水果视频数据集,覆盖更多复杂场景。

  3. 继续探索注意力机制与轻量化模型的结合,实现速度和精度的最佳平衡,让我们的AI模型真正能应用到农场。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐