基于改进YOLOv7的李子采摘机器人水果检测算法
1. 引言
在塞尔维亚,欧洲李(Prunus domestica L.)是分布最广的水果品种之一,也是传统品种。近年来,塞尔维亚的李子总产量一直位居世界前五,这使得李子成为最具经济意义的品种之一。然而,不利的收获条件和劳动力短缺导致了采摘过程自动化的需求。
为了解决劳动力资源有限的问题,过去几十年来一直在持续开发机器人采摘器。尽管如此,它们在果园中仍未得到广泛应用。近年来,发表了许多综述论文,研究了各种水果和蔬菜采摘机器人以及用于此类任务的末端执行器。
所有机器人采摘器的关键部分是视觉系统,即检测被采摘的水果或蔬菜的系统,这也是近期不同综述论文的主题。所有研究都强调深度学习方法是近年来的主流方法。这些方法也面临一些技术难题,阻碍了机器人采摘器在果园中的广泛应用,例如可变光照、不同障碍物的存在、充满遮挡的环境以及视觉系统的容错性等。
在深度学习领域,不同的模型被用于水果检测,其中最具代表性的是基于区域卷积神经网络(Region - CNNs)、单阶段多框检测器(SSDs)和YOLO模型家族的目标检测模型。基于YOLO模型的视觉系统在相关研究中尤为常见,并在近期的论文中得到应用。
虽然苹果、西红柿、草莓、猕猴桃和柑橘类水果在水果检测研究中经常出现,但李子在相关论文中的占比不到5%。李子的小尺寸、密集生长、遮挡和充满障碍物的环境使其检测特别具有挑战性。在塞尔维亚,大部分非结构化果园和轻度修剪的树木也带来了另一个难题。到目前为止,关于欧洲李品种的检测还没有实质性的研究。因此,目标是收集自然环境中欧洲李的数据集,并开发一种高效的检测模型。
2. 材料与方法
2.1 图像采集
本研究的图像数据集来自塞尔维亚贝尔格莱德南部索波特市的非结构化李子果园。分析的水果属于欧洲李品种,具体为“Čačak’s Beauty”和“Čačak’s Best”。在2022年7月中旬的一个晴天,分三次(上午晚些时候、下午早些时候和下午晚些时候)采集李子树的图像,以考虑不同的光照条件。图像采集时,大部分李子处于成熟中期。
采集过程中,目标是模拟真实情况,获取不同角度和拍摄距离的图像。使用英特尔®实感™深度相机D405进行图像采集,该相机的最佳工作范围在7厘米至50厘米之间,垂直方向上相机距离地面0.5米至2米。由于采集是在自然环境中进行的,图像中经常包含重叠的水果、树枝和树叶的轻微和严重遮挡,以及不同的光照强度和角度(直射光、侧光和逆光角度)。
2.2 数据集预处理
总共获得了1079张图像,其中757张构成训练集,217张构成验证集,105张构成测试集,三者的比例为70:20:10。图像在这三个集合中的分布是随机的,并且为了防止模型过拟合,三个集合中没有重复的图像。
感兴趣的对象分为3类:
- 可采摘李子:距离机器人足够近且前方没有障碍物(尤其是果实顶部茎部前方没有障碍物)的果实。
- 不可采摘李子:距离较近但由于至少一个障碍物(如树枝、大叶子和/或另一个李子)而无法采摘的果实。
- 背景李子:位于背景中距离当前机器人位置太远而无法采摘的李子,但用于未来机器人定位和采摘步骤。
所有感兴趣对象的标注基于可见果实部分的最小包围矩形。在这些图像中,有4465个可采摘李子、2255个不可采摘李子和4372个背景李子。由于数据的性质,不可采摘李子的数量略少,在结果分析时已考虑到这一点。
由于潜在的计算负担(会延长训练和处理时间),需要对图像进行调整大小,但又不能调整得太多,因为图像中经常包含许多较小的感兴趣对象和有意义的细节。因此,所有图像都调整为640×640。
为了提高训练质量和预测准确性,应用了以下增强方法:
- 图像水平翻转
- 图像旋转90°(顺时针、逆时针)
- 直方图均衡化
结果,共有2685张训练图像。图像标注和一些图像增强通过计算机视觉开发框架“Roboflow”进行,额外的增强在OpenCV库中完成。
| 数据集类型 | 图像数量 |
|---|---|
| 训练集 | 757 |
| 验证集 | 217 |
| 测试集 | 105 |
2.3 模型架构
YOLO(You Only Look Once)模型家族自2015年第一个YOLO版本发布以来,一直主导着目标检测领域。YOLO是单阶段目标检测器,它直接预测图像中对象的类别标签和边界框坐标,无需额外的处理步骤。这使得YOLO通常比许多其他最先进的目标检测器更快、计算效率更高,但准确性较低。此后,YOLO不断迭代更新,后续模型改进了许多功能,包括更先进的网络架构、不同尺度对象的检测、锚框等。锚框是目标检测模型中预定义的边界框,用于网络预测图像中对象的位置和大小。YOLO模型的轻量级特性和高准确性为视觉目标检测的最先进方法设定了基准。
2022年推出的YOLOv7在实时目标检测领域超越了许多知名和常用的目标检测器,如R - CNN系列模型以及YOLO家族的其他模型。
YOLOv7模型由三个组件组成:所需分辨率的输入图像、骨干网络和检测头。骨干网络从数据中提取特征图,头部层用于预测。骨干网络的输出是三个不同大小层的特征图,它们经过头部层,最后通过卷积输出预测结果并进行检测。
YOLOv7的架构设计基于高效层聚合网络(ELAN),它通过控制最短和最长梯度路径来设计高效网络,使更深的网络能够有效收敛和学习。YOLOv7修改了ELAN架构,称为扩展高效层聚合网络(E - ELAN),有ELAN1和ELAN2两个版本。另一个重要特征是SPPCSPC块,它结合了跨阶段部分连接模块和空间金字塔池化模块。
在原始YOLOv7架构的基础上,添加了挤压与激励(SE)模块。SE模块自适应地重新校准卷积神经网络产生的特征图,使模型能够更专注于任务中最重要的特征。SE模块由挤压和激励操作两部分组成。挤压操作通常使用全局平均池化来减少特征图的空间维度,生成通道描述符。激励操作然后使用该描述符自适应地缩放特征图的通道激活。该模块允许模型学习不同特征图的相对重要性。在模型中,SE模块添加在SPPCSPC块之后、头部网络的开始处。
最后,模型使用K - 均值聚类方法在标注的边界框大小中找到聚类,以更好地估计初始锚框大小。
graph LR
A[输入图像] --> B[骨干网络]
B --> C[检测头]
C --> D[预测结果]
B -.-> E(SE模块)
基于改进YOLOv7的李子采摘机器人水果检测算法
3. 结果
在评估模型时,使用了精度(P)、召回率(R)和平均精度均值(mAP)这三个指标。具体含义如下:
- 精度:衡量模型在假阳性(FP)预测数量方面的准确性,即模型做出的所有阳性预测中真阳性(TP)预测(正确预测的阳性示例)的比例。
- 召回率:衡量模型在假阴性(FN)预测数量方面的完整性,即所有实际阳性示例中真阳性预测的比例。
- 平均精度均值(mAP):所有对象类别的精度值的平均值。平均精度是特定类别的精度 - 召回曲线下的面积。mAP是目标检测中广泛使用的指标,它同时考虑了精度和召回率,并提供一个单一的数字来总结目标检测器的整体性能。
mAP@0.5是mAP指标的一个特定版本,其中交并比(IoU)阈值设置为0.5。IoU阈值用于确定检测到的边界框是真阳性还是假阳性。如果预测边界框与真实边界框的IoU大于0.5,则检测被认为是真阳性。
实验在Google Collaboratory平台上进行,使用Python 3.8、Pytorch v 1.13.1、CUDA v 11.6进行模型训练,使用的GPU是Tesla T4(16G)。所有用于训练的图像大小为640x640,批量大小为16,模型训练了30个周期。验证集用于在训练阶段对所有指标进行基准测试。
| 测试集 | 数量 | 精度(%) | 召回率(%) | mAP(%) |
|---|---|---|---|---|
| 所有李子 | 1861 | 70.2 | 72.1 | 76.8 |
| 可采摘李子 | 822 | 88.8 | 80.7 | 91.9 |
| 不可采摘李子 | 623 | 60.2 | 66.2 | 70.5 |
| 背景李子 | 416 | 61.6 | 69.5 | 67.9 |
从结果可以看出,由于数据集的复杂性,达到的精度、召回率和mAP指标在70%至80%之间。背景李子的得分明显较低,因为它们更小且更容易被遗漏。不可采摘李子的数量略少也导致了较低的得分。然而,主要关注的可采摘李子类别取得了显著更好的分数,mAP超过了90%。
将该模型与YOLO家族的其他近期模型进行比较,结果如下:
| 模型 | 精度(P) | 召回率(R) | mAP50 | 大小 |
| ---- | ---- | ---- | ---- | ---- |
| YOLOv5s | 0.691 | 0.679 | 0.745 | 14.4 MB |
| YOLOv6 | 0.573 | 0.470 | 0.579 | 38.74 MB |
| YOLOv7 | 0.688 | 0.710 | 0.755 | 74.8 MB |
| YOLOv7 imp | 0.702 | 0.721 | 0.768 | 74.9 MB |
可以看出,改进后的YOLOv7模型在精度、召回率和mAP方面都表现更好。
4. 结论
这项研究主要有以下几个贡献:
-
新数据集的收集
:为欧洲李品种收集了一个新的数据集,图像是在真实环境(非结构化李子果园,树木修剪不佳)和不同光照条件下收集的。
-
新目标检测模型的提出
:基于最先进的YOLOv7模型提出了一个新的目标检测模型,通过数据增强、初始锚框大小调整和添加SE模块进行了改进。
-
果实分类方式
:根据果实的可及性和可抓取性将李子分为3类,虽然这导致整体结果略有下降,但可采摘李子类别的精度、召回率和mAP分别达到了88.8%、80.7%和91.9%,显示出了良好的应用前景。
未来的工作包括:
- 收集更大的数据集,包括阴天时李子的图像。
- 进一步改进模型,以提高所有李子类别的mAP分数。
- 开发更精确的检测系统,能够检测李子果实的茎或估计其位置,以适用于带有剪刀式末端执行器的采摘机器人。
graph LR
A[未来工作] --> B[收集更大数据集]
A --> C[改进模型提高mAP]
A --> D[开发精确检测系统]
超级会员免费看
7395

被折叠的 条评论
为什么被折叠?



