杜宝侠,唐 友*,辛 鹏,杨 牧
(1.吉林化工学院,吉林 吉林 132022;2.吉林农业科技学院,吉林 吉林 132101;3.一汽东机工减振器有限公司,吉林 长春 130001)
我国是农业大国,水果生产和消费数量在世界上位居前列,在众多水果中,苹果的种植面积和产量均超过世界总量的50%,均居世界首位[1]。苹果生产是我国农业经济发展的重要支柱,但我国的大部分苹果生产还处于传统的农业模式阶段,在苹果生产管理过程中需要耗费大量的人力物力,这也导致了生产效率的低下和农民收入水平的不稳定。因此,推动苹果生产过程的自动化、智能化发展具有重要意义。
近年来,现代农业结合计算机视觉技术的各种智能设备在农业生产中的应用日益普及,并且成为农业领域的研究热点。这些智能设备的应用极大地提高了农业生产效率和精度,减少了对劳动力和资源的依赖,并降低了农业生产成本,促进了农业的可持续发展。具体到苹果的生产方面,计算机视觉技术可以通过拍摄的图片或视频进行产量预测、病虫害识别,也可以通过图像信息对苹果果实进行优劣分级等,这些技术极大地推动了苹果生产管理的智能化发展。其中,利用目标检测技术对苹果果实进行识别和定位,从而帮助智能机器人实现自动采摘是一个重要的研究方向。
在对苹果的检测方面,可以分为传统算法和基于深度学习的算法两类。传统算法大多依赖于目标的颜色、形状等外部特征来区分目标和背景[2],存在特征提取困难、模型泛化能力差、在环境变化时性能下降严重等问题。近年来,基于卷积神经网络的深度学习技术在目标检测领域取得了显著的成功,相较于传统的机器学习方法,基于深度学习的目标检测技术场景适应性强,精度更高。牟其松[3]简化了YOLOv3的主干网络,并通过改进损失函数,提高了苹果检测的精度;张中华等[4]提出了一种基于优化FCOS网络的绿色苹果检测模型,通过改进特征融合FPN提高了对绿色苹果的检测精度;Meili等[5]针对复杂环境下的小苹果提出了一种平衡特征金字塔网络BFP Net。上述研究通过对先进目标检测算法进行改进,增强其检测苹果的能力,但仍存在模型较复杂、检测速度慢、不容易部署等问题。
在实际的果园场景中,要实现苹果的实时检测,不仅需要较好的检测精度,对检测的速度也有较高的要求。因此,本文以单阶段目标检测算法中最先进的YOLOv8模型为基础并加以改进,来实现苹果果实的自动检测。
YOLOv8是YOLO系列最新的模型,具有非常优秀的检测精度和速度。根据网络的深度与特征图的宽度大小,YOLOv8算法分为:YOLOv8-n、YOLOv8-s、YOLOv8-m、YOLOv8-l、和YOLOv8-x 5个版本。按照网络结构图,YOLOv8可分为:Input、Backbone、Neck和Head 4部分。其中,Input输入端负责将输入图片缩放到训练需要的尺寸,并包含缩放、改变图片色调和Mosaic数据增强等数据增强操作;Backbone主干网络用来进行目标特征的提取,由卷积模块 Conv、C2f结构和YOLOv5中使用的SPPF模块构成;Neck用来将不同维度的特征进行加强融合,其结构遵循特征金字塔(Feature Pyramid Network,FPN)和路径聚合结构(Path Aggregation Network,PAN),并删除了YOLOv5上采样阶段的卷积操作;Head部分将加强后的特征进行计算,最终得到不同目标的置信度和位置。考虑到模型检测的速度和精度,本次实验以检测速度最快的YOLOv8-n为基线模型,并在此基础上加以改进。
数据增强是在不改变图像重要信息的前提下,基于有限的数据生成更多同样有效的数据的方法。可以极大地丰富训练数据的多样性,从而使得训练后的模型具有更强的泛化能力。改变图片的颜色和形状是最基础和常见的数据增强方式,在本研究中,使用随机改变图片的色调、饱和度、明亮度,同时对图片进行随机缩放和平移这些传统的数据增强方式。除了这些基础的数据增强方式外,有些研究还提出了更高效的数据增强方式,如Mosaic等[6]。Mosaic数据增强方法的主要思想是将4张图片随机裁剪缩放,再拼接到一张图上作为训练数据。在本次实验中使用传统数据增强和Mosaic方法相结合的数据增强方式。
注意力机制可以赋予空间中不同通道或区域以不同的权重,从而帮助模型专注于更重要信息的提取。全局注意力机制(Global Attention Mechanism,GAM)[7],可以通过减少信息缩减和放大全局交互表示来提高深度神经网络的性能。该机制使用了通道-空间注意机制,在通道层面,GAM首先将输入特征图进行维度转换,接着输入到MLP恢复原来的维度,最后通过Sigmoid输出。在空间层面,GAM通过一系列的卷积处理再送入Sigmoid输出,最终实现两个层面注意力作用的叠加。GAM的整体模块如图1所示。
在YOLOv8模型的改进方面,将GAM注意力添加在Neck和Head的连接部分,引入的GAM注意力模块可以对通道和空间维度中的特征图信息进行自适应学习,并对特征进行重新拟合和分配,帮助模型更聚焦于苹果目标,提高了特征图中小目标的权重占比,从而加强了模型对其特征的训练。最终改进的YOLOv8网络模型如图2所示。
本实验使用的数据集来源为https://aistudio.baidu.com/aistudio/datasetdetail/93304,图像数量为287张。其中,训练集、验证集和测试集的图像数量分别为273张、14张和10张。如图3所示为数据集示例。
图3 数据集示例
本文实验平台使用Ubuntu 20.02操作系统,CPU处理器为2个 Intel(R) Xeon(R) Silver 4110,GPU为GeForce RTX 3090,显存为24 GB。模型训练框架为Pytorch 1.12.0,具体训练参数设置如表1所示。
表1 训练参数
为验证改进方法的有效性,使用P(Precision:精度)、R(Recall:召回率)、mAP0.5(MeanAveragePrecision:各类别在IOU=0.5下的AP平均值)和mAP0.5∶0.95(MeanAveragePrecision:各类别在不同IOU下的AP平均值)作为模型评价指标。另外,TP(TruePositive)表示将正类预测为正类数,FN(FalseNegative)表示将正类预测为负类数,FP(FalsePositive)表示将负类预测为正类数,TN(TrueNegative)表示将负类预测为负类数。对应的评价指标计算方法如下。
精度是衡量模型识别出的真实阳性样本数占所有被模型识别为阳性样本数的比例。精度越高,说明模型识别出的阳性样本更准确,具有更好的准确性。
计算公式如下:
(1)
召回率是衡量模型识别出的真实阳性样本数占所有真实样本数的比例。召回率越高,说明模型能够更准确地识别出真实阳性样本,具有更好的鉴别能力。计算公式如下:
(2)
AP的定义为P-R曲线下面的面积,AP值越高,模型的性能越好,mAP为各类别AP的平均值,可以通过下列公式得到:
(3)
(4)
为验证本文所用改进方法的有效性,通过使用相同的训练参数设置在数据集上进行实验,改进后的YOLOv8模型检测精度和召回率明显提高,具体的数值结果如表2所示,可以看出,通过添加GAM注意力机制,模型的性能得到了有效提高。和原模型相比,改进后的YOLOv8模型mAP0.5提高了1.7%,mAP0.5∶0.95提高了2.2%。结果表明,改进后的YOLOv8模型更能满足对苹果果实的检测要求。
表2 评价指标对比结果
为解决苹果果实的智能检测问题,提高智能设备对苹果的检测能力,本文使用先进的YOLOv8目标检测模型并加以改进,通过使用多种数据增强方法,增加了模型的泛化能力。同时引入GAM注意力机制,提升模型聚焦苹果的能力,并提高模型的检测性能。最终的实验结果可知,改进后的YOLOv8算法具有较高的检测精度,在640×640大小的图像输入下,mAP0.5达到了0.958,比原模型提高了1.7%,更加适合部署到设备。未来的工作目标是要丰富苹果检测场景,提升模型在复杂环境下的检测效果。