关键词 菠萝果实; 成熟度; YOLOv8; 目标检测
菠萝果实富含膳食纤维、矿物质等营养成分和多种生物活性化合物,深受广大消费者喜爱。粤西是我国菠萝的主产地,菠萝产业产量大,经济效益好。仅2021 年粤西菠萝种植产量达109.92 万t,占全省菠萝产量的90.09%,特别是位于徐闻曲界镇境内的“菠萝的海”是粤西菠萝种植的核心区,近733.33hm2连片种植的菠萝成为《国家地理杂志》推荐的3A级景观[1]。
菠萝的品质和贮存与采摘时刻的成熟度相关。由于菠萝为非跃变性果实,过早采摘会导致果实质量下降、口感不佳,而过晚采摘则容易引发果实腐烂,因此确定菠萝的不同成熟度是必不可少的,菠萝成熟度的精准识别可以降低误采概率[2]。目前,菠萝果实采摘多以传统的人工采摘为主,成本高且采摘品质无法保证,近年来出现了机器自动化采摘方式[3],而自然环境下菠萝成熟度目标检测是菠萝自动化采摘研究的重要内容[4]。
对于自然场景下的水果成熟度目标检测研究,近年来已取得了一定进展,国内外学者尝试采用机器视觉及光谱分析方法实现苹果[5]、葡萄[6]、香蕉[7]、芒果[8]等果实成熟度的检测。近几年,深度学习理论逐渐被许多学者用于水果成熟度检测的研究。熊俊涛等[9]利用轻量化YOLOv5-Lite 对木瓜的成熟度进行分类识别,实现了对不同拍摄距离、不同遮挡情况以及不同光照下的果实总体检测。陈仁凡等[10]提出一种轻量化YOLO-ODM 草莓成熟度检测方法,实现了在温室环境下草莓果实的快速识别。马瑞峻等[11]采用PITAYA-YOLOv5 对3 种不同成熟阶段的火龙果成熟度进行了判别。苗荣慧等[12]提出基于改进YOLOv7 的自然环境下不同成熟度樱桃番茄果实的识别方法,结果显示该方法对绿熟期、转色期、初熟期、中熟期和完熟期果实识别精度较高。上述研究主要针对果实颜色和形状特征进行识别与分割。尽管现有的成熟度研究方法在单色水果成熟度识别方面具有可行性,但处于转色期的菠萝果实具有混合颜色,使得成熟度的检测具有挑战性,主要体现在:遮挡障碍物体积、形状与颜色导致菠萝目标特征不足或模糊,对网络模型的特征提取产生负面影响大;菠萝目标数量过多导致单个目标尺度小、分辨率低,造成模型漏检;在密集场景下,菠萝特征受到噪声干扰,使网络模型难以准确分类和定位单个菠萝特征,易发生误检。基于上述原因,李斌等[13]提出了一种基于单目视觉的检测田间菠萝果实的识别方法,迎光条件下识别正确率为85%,但在背光或阴天的情况下识别正确率仅为40%。张星等[14]采用改进YOLOv3 网络,利用K-means 聚类算法对构建的果实数据集进行聚类分析,识别率达到95%。Cuong等[15]针对适宜期菠萝自动化采摘提出了一种基于改进Tiny YOLOv4 的菠萝成熟度识别算法。李阳德等[16]通过将YOLOv4 骨干网络替换成轻量级网络MobileNetV3,提出了轻量级的MobileNetV3-YO⁃LOv4 生长期菠萝成熟度分析方法,结果显示该方法对于黄熟期菠萝和青熟期菠萝的检测平均精度分别达到87.62% 和94.21%。现有的菠萝成熟度检测模型在一定程度上克服了当前深度学习模型只能识别无遮挡的单一果实或形态较好的相邻果实的局限性,显著提高了识别精度和效率,但密集场景下遮挡引起的漏检误检问题以及尺度变化情况下检测速率低下问题仍然存在。因此,本研究提出了基于改进YOLOv8 的实时菠萝成熟度目标检测方法,通过探索复杂自然环境下不同成熟度菠萝果实的有效识别方法,旨在实现模型识别精度、推理速度和鲁棒性的相对平衡,为快速精确识别目标提供新的研究思路。
1 材料与方法
1.1 图像采集
菠萝果实图像数据集采集地位于广东省湛江市徐闻县曲界镇“菠萝的海”。于2023 年2 月1 日、20 日和同年3 月20 日,分别使用佳能相机(EOS 5D MarkIV 5D4)、无人机(DJI MAVIC 3)等设备采集自然环境下不同种植区域及不同成熟度的菠萝果实图像。采集时间包括上午、中午和下午,以获取不同光照条件下的图像,共获取2 520 张菠萝果实图像。采集图像类型包括顺光图像、逆光图像、遮挡图像、无遮挡图像、中远距离图像等。
1.2 果实成熟度等级划分
依据国家农业行业标准NY/T 450―2001[17],菠萝成熟度可划分为4 种类型,即未成熟、转色、中熟和成熟(表1)。根据菠萝实际采摘情况及果皮颜色变化,4种成熟度类型合并为3种成熟度类型,将转色、中熟合并为近生理成熟。由表2 可知,不同成熟度的菠萝直接影响着其后续加工、贮藏以及运输方式。
1.3 数据集搭建
本研究使用了自建的菠萝果实图像数据集,使用了Labelimg 数据标注工具对每张图片进行标注,总计包含2 520 张图片。为了增加模型的鲁棒性,数据集涵盖了多旋转角度和多样光照条件下的特征图像。研究中构建的数据集分为3 个部分,包括训练集、验证集和测试集,图1 是部分样本图像的示意图。
为尽可能减小图片失真,将所有图片调整为640像素×640 像素大小,并保持原有的宽高比例。此外,为增强模型的泛化能力和鲁棒性,本研究采用数据增强技术,包括原始模型自带的随机旋转、缩放、裁剪和颜色变换等方法,以扩充数据集并减少过拟合的风险。菠萝果实图像数据集合计2 520 张,包括训练集样本图像2 016 张、验证集样本图像252 张、测试集样本图像252 张,其中含未成熟、近生理成熟、成熟菠萝3 类样本,分别为3 100、927、1 145 个。数据集的基本信息如表3 所示。
1.4 改进YOLOv8 的实时菠萝成熟度检测模型构建
改进YOLOv8 算法网络结构如图2 所示,由骨干网络、颈部网络和无锚检测头组成。主干网络用于从输入图像中提取特征映射,颈部网络和头部网络用于预测特征映射中物体的边界框和标签[18]。
自然复杂环境下快速准确地对菠萝成熟度进行检测、区分近生理成熟期和成熟期的关键点在于对菠萝表面黄色区域的识别和量化。综合考虑色彩特征和特定阈值下黄色区域的面积,当菠萝表面的黄色区域占整体面积的90% 以上时,YOLOv8 模型将其识别为成熟菠萝。
传统的卷积操作由于其固定的卷积核和有限的感受野(receptive field),只能获取局部信息,因此在检测小目标方面存在一定的局限性,特别是对多尺度遮挡的菠萝容易导致漏检。本研究采用深度可分离卷积(DSConv)替代原始网络的主干部分和颈部部分的常规卷积操作,旨在减小模型尺寸并提升推理速度。本研究在DSCBS 模块卷积之前、上采样阶段后以及下采样阶段的每个DSC2f 模块后引入卷积注意力机制模块(CBAM),即在特征融合前插入该模块,特征注意力增强,提高菠萝识别和定位的准确度。
传统卷积对每个通道的输入特征映射应用卷积核,通过对每个通道的结果进行叠加来生成输出特征映射,这一过程在所有输入通道上重复,生成多个输出特征映射。相反,深度可分离卷积可分解为2 个步骤:①深度卷积层对输入特征图的每个通道使用单独的卷积核进行单独卷积操作后输出相应的特征图;②逐点卷积层前一阶段输出的特征图作为输入,每个卷积核只针对单个位置进行卷积操作,但需要处理输入特征图的所有通道。普通卷积由大小为3×3×C 的卷积核实现,深度可分离卷积由大小分别为3×3×1 和1×1×C 的2 个卷积核组成,如图3所示。
深度可分离卷积与传统卷积的比值如公式(1)所示,相比普通卷积,深度可分离卷积的参数量更少。
式(1)中,R 为参数数量的比值,N 是输入通道的数量,k 代表卷积核的大小。
在特征提取过程中,YOLOv8 模型对不同特征采取相同的加权方式,导致目标的漏检和误检,不利于对菠萝小尺度目标信息的提取,因此本研究引入CBAM 注意力机制,通过通道注意力模块和空间注意力模块有效地增加整个特征图中遮挡或小目标的权重,使信息更容易被网络学习。CBAM 注意力过程如图4 所示。
将提取的菠萝图像特征标记为F,利用特征之间的通道关系生成通道注意力特征图Mc (F),再与F 逐点相乘形成新的特征F′,增强与菠萝果实目标区域相关的特征。然后,利用特征之间的内部空间关系生成空间注意力特征图Ms (F′),与F′逐点相乘得到F\",从通道和特征之间的空间关系上增强了菠萝目标区域特征的权重,计算公式如式(2)所示:
式(3)中,σ 表示sigmoid 激活函数,F cavg 和Fcmax 表示平均池化和最大池化后的特征,W0 和W1 表示多层感知中的两层权重。
空间注意力模块侧重于局部信息,通过池化对信息进行过滤,然后对过滤后的信息进行卷积提取重要信息,如图6 所示,将F´作为空间注意力模块的输入,进行最大池化和平均池化,通过Concat 运算进行叠加,然后通过卷积运算和sigmoid 激活函数得到空间注意力特征图Ms,计算公式如式(4)所示:
1.5 损失函数
对于原YOLOv8 模型,其分类损失为VarifocalLoss( VFL),其回归损失为CIoU Loss+DFL(distri⁃bution focal loss)的形式,为了更好地提高识别准确率,本研究考虑改进损失函数,将CIoU Loss 替换成EIoU Loss[19]。
分别采用最大池化和平均池化提取通道注意力模块信息,然后进行过滤、激活和归一化,提高通道信息的提取能力。通道注意力模块的结构如图5 所示,首先,输入特征F,使用最大池化和平均池化获取每个特征通道的全局信息,然后将特征图输入到MLP(multilayer perceptron)多层感知器中并将池化后的信息进行加权求和,通过sigmoid 激活函数对结果进行处理,最终得到通道注意力特征图Mc,其中包含对输入特征图F 不同通道关注程度的信息,计算公式如式(3)所示:
式(5)中,q 为预测框和标签框的交并比,p 代表概率。
YOLOv8 使用的交并比(intersection over union,IoU,)损失函数为CIoU,它考虑了预测框和真实框之间的重叠面积、中心点距离以及宽高比[20]。然而,对于宽高比的描述仍然存在一定的模糊性,计算公式如式(6)~(8)所示:
式(6)~(8)中,IoU 为交并比,ρ 表示2 个矩形框之间的欧式距离,b 和bgt分别代表预测框和标签框,c代表2 个矩形框闭合区域的对角线距离,α 为权重系数,v 用于测量预测框和标签框相对比例的一致性,wgt和hgt为标签框的宽度和高度,w 和h 分别代表预测框的高度和宽度。
EIoU 在CIoU 的基础上将长宽比分解为长宽的差异值,以加速预测框的回归速度,使回归过程更专注于高质量的锚框,进而提高预测框的回归精度。此外,EIoU 优化了边框回归中的样本不平衡问题,样本不平衡问题是指一幅图像中回归误差小的高质量锚帧数量远远小于误差大的低质量锚帧数量样本,样本质量差会产生过大的梯度,影响训练过程,计算公式如式(9)所示:
式(9)中,ρ 表示2 个矩形框之间的欧式距离,b和bgt 分别代表预测框和标签框,w 和h 分别代表预测框的高度和宽度,c 代表2 个矩形框闭合区域的对角线距离,wgt 和hgt 为标签框的宽度和高度,cw 和ch是覆盖预测框和标签框的最小外部矩阵的宽度和高度。
DFL 以交叉熵形式优化了与标签y 最接近的左右2 个位置的概率,从而让网络更快地聚焦于目标位置附近的分布情况,计算公式如式(10)所示:
式(10)中,S 是输出分布,yi和yi+1是浮点值y 的左右整数值。
1.6 模型评价指标
本研究模型采用精确度(precision,P)、召回率(recall,R)、平均精度均值(mean of average precision,PmA)作为评价指标。具体来说,P 表示预测的算法面积与实际检测面积的比值,R 表示准确预测的类别占所需类别总数的比例,PmA基于Precision-Recall 曲线得出,能够全面评估算法的准确性和鲁棒性,PmA 值越高,说明预测精度越高。此外,本研究还利用推理时间和网络参数体积作为性能指标,较短的推理时间意味着更好的实时性能,而较小的模型大小则代表较小的内存使用。其中,TP表示真阳性,FP表示假阳性,N 表示样本总数,FN 表示漏报的真阳性数量,本研究中检测到的菠萝总类别数,PiA表示每个类别平均精度的平均值,Q 表示菠萝总类别数。计算公式如式(11)~(14)所示:
2 结果与分析
2.1 环境及参数调整
本研究中使用的操作系统是Windows 10,Py⁃Torch 作为深度学习模型的框架(表4)。在训练阶段,采用随机梯度下降(SGD)进行优化,初始学习率为0.01,动量因子为0.937,权重衰减系数为0.000 5,输入图像分辨率设置为640 像素×640 像素,批尺寸为16,交并比为0.5,使用改进YOLOv8 在数据集上训练得到的权重来进行迁移学习并训练300 个轮次(Epoch)。
2.2 模型训练过程
在训练过程中记录模型的损失函数、精确度P、召回率R 以及P-R 曲线。由图7 可以看出,模型训练30 轮之前其损失函数下降速度快,损失曲线平滑;当训练轮数大于30、小于180 时,损失函数稳定下降,并伴随小范围的波动;模型经过300轮训练后损失值完成收敛为0.023。最终模型精确度为97.38%,召回率为95.57%,平均精度均值为97.33%。
2.3 与YOLOv8 模型的比较
本研究通过深度可分离卷积替换公共卷积,提高了小目标和遮挡目标的识别效果,如图8 所示,使用深度可分离卷积的模型能够有效识别小目标菠萝以及叶片遮挡较为严重的目标。
本研究采用改进YOLOv8 模型在测试集进行性能测试。检测结果如表5 所示,改进YOLOv8 模型在未成熟、近生理成熟及成熟果实识别试验中精确度、召回率、平均精度较YOLOv8 模型有明显提高,平均检测时间为5.4 ms,相较于原始YOLOv8 模型平均精度均值提升了5.51 百分点,平均检测时间减少了0.1 ms。由于改进的网络中引入了注意力机制使模型更加关注重要的区域,表现为较高的精确度和召回率。改进YOLOv8 网络与原始网络的检测效果如图9 所示,改进模型可以更加准确地辨识目标并获得更高的置信度,同时避免原始模型中出现的漏检现象。
2.4 消融试验性能对比
为评估改进后算法的有效性,本研究使用原始网络与改进的YOLOv8 网络在菠萝数据集上进行消融试验。由表6 可知,在同一数据集的消融试验中,加入DSConv 模块对比原模型YOLOv8,其精确度、召回率和平均精度均值分别下降0.80、2.69、1.66 百分点,每秒帧数增加17.4 帧,模型参数量由22.6×106减少到6.0×106。特征融合前加入CBAM 模块后,其精确度和平均精度均值分别上升1.6、1.25 百分点,召回率下降0.37 百分点,每秒帧数下降2.4 帧,参数量增加1.1×106。相较于原始YOLOv8 模型,改进后模型的精确度、召回率和平均精度均值分别提升了5.27、3.98、5.51 百分点,在参数量整体减少6.2×106的情况下,每秒帧数下降13.7 帧。
2.5 模型对比试验
为了比较本研究提出的改进算法的效率,选择双阶段经典模型Faster R-CNN 和单阶段经典模型YOLOv4、YOLOv5、YOLOv7 以及YOLOv8 进行对比试验。由表7 可知,利用改进的YOLOv8 模型进行目标检测,对未成熟期、近生理成熟期及成熟期的菠萝检测精确度分别达到97.30%、98.87% 和99.24%,召回率分别为97.12%、93.55% 和96.22%,平均精度分别为97.21%、95.73% 和99.09%,均高于其他基础模型。同时,改进后的YOLOv8 模型相对于YOLOv7 模型参数量增加3.8×106,识别速度增加27.4 帧/s,对比原YOLOv8 模型,识别速度接近,模型参数量减少5.8×106,平均精度均值增加5.51 百分点。
2.6 模型检测效果分析
本研究检测了不同目标检测模型在复杂环境下针对菠萝成熟度的检测效果,由图10 可知,改进YO⁃LOv8 模型在自然光条件下可准确检测出菠萝的3 种成熟度,而其他模型均存在漏检现象;在逆光条件下,改进YOLOv8 模型测试效果最佳,YOLOv4 模型存在漏检现象;当菠萝处于遮挡情况下,YOLOv7 和Faster R-CNN 出现漏检现象,YOLOv5 和YOLOv4出现误检,改进YOLOv8 模型一定程度上避免了漏检、误检的情况。在中远距离的条件下,YOLOv7、Faster R-CNN 出现漏检现象,YOLOv4 存在漏检现象且检测置信度较低,改进YOLOv8 模型的漏检情况有明显的改善,能够准确地检测出图中目标。综上所述,改进YOLOv8 模型鲁棒性强,能够实现在多种复杂环境下对菠萝成熟度的精确检测。
3 讨论
为了解决现有菠萝成熟度检测模型无法准确识别不同环境下的菠萝果实成熟度,本研究对YO⁃LOv8 模型进行了改进,采用深度可分离卷积(DSConv)替换YOLOv8 的公共卷积、引入CBAM注意力机制以及使用EIoU 损失函数。改进模型对菠萝成熟度检测PmA 为97.33%,与Faster R-CNN、YOLOv4、YOLOv5、YOLOv7 对比发现,PmA分别提升5.53、7.91、4.38、4.66 百分点;在保证检测精度的前提下,算法模型参数量仅为16.8×106。这一结果表明所提出的改进模型在精确度、召回率和平均精度均值方面均明显优于其他模型,相对于其他模型在中远距离和遮挡情况下实现了更优异的目标检测性能。同时,本次研究证明了使用YOLOv8 对菠萝成熟度检测的可行性,实验数据相比一些基础模型有很大的改进,与李阳德等[16]的基于轻量级Mobile⁃NetV3-YOLOv4 的生长期菠萝成熟度分析(1 580 张样本图,数据集划分为青熟期和黄熟期2 个类别)相比,本研究样本数量(2 520 张)更多,进一步将数据集划分成未成熟、近生理期成熟和成熟3 个类别。因此,本研究模型的数据集划分更加科学,具有更强的泛化能力,能够满足机械采摘菠萝识别监测的需要。因此,未来研究工作将围绕与应用嵌入式设备与智能采摘机器人相结合,实现更高效、高质量的采摘。
本研究虽然在算法上进行了优化,并取得了显著的效果,但并未结合农业机器人进行实际应用,考虑到农业作业环境中不确定的因素,对于本研究是一个很大的挑战。后续的工作中,需考虑环境因素的影响,针对环境不确定因素进行算法优化,实现搭载农业机器人针对菠萝的自动化采摘进行算法辅助,以提高菠萝采摘的速度并节省人力成本。