基于改进YOLOv7的高垄草莓成熟度实时检测研究

2024-11-05 00:00吴仁愿王圆梦陈心怡唐文超赵家国王双丽
智慧农业导刊 2024年21期

摘 要:针对光照、遮挡、果实密集以及分布不均衡等复杂环境造成草莓识别不准确问题,该文提出一种基于YOLOv7的改进模型为YOLOv7-SCC,制作草莓样本数据集建立真实采摘的复杂环境数据,首先,使用轻量级特征提取网络ShuffleNetv2替换YOLOv7主干网络,实现轻量化的同时有效减少模型参数量;其次,引入CBAM注意力机制模块,从而增强特征网络对草莓区域的识别;最后,选用内容感知特征重组(CARAFE)上采样来扩展特征融合网络中的感受野并充分利用语义信息。经实验,改进后的模型参数量降低59%,浮点数降低68.2%,准确率为99.6%。结果证明,改进后的YOLOv7-SCC可以实现草莓成熟度的准确识别,同时保持高精度,使其成为与其他算法相比更适合高垄草莓成熟度检测的选择。

关键词:高垄草莓;成熟度检测;YOLOv7;ShuffleNetv2;CBAM;CARAFE

中图分类号:TP183 文献标志码:A 文章编号:2096-9902(2024)21-0001-07

Abstract: Aiming at the problem of inaccurate strawberry identification caused by complex environments such as light, occlusion, dense fruits and uneven distribution, this paper proposes an improved model based on YOLOv7 to YOLOv7-SCC to create a strawberry sample dataset to establish real picking complex environment data. First, use ShuffleNetv2 to replace the YOLOv7 backbone network to achieve lightweight and effectively reduce the amount of model parameters; Secondly, the CBAM attention mechanism module is introduced to enhance the recognition of strawberry areas by the feature network; finally, Content-Aware ReAssembly of FEatures(CARAFE) upsampling is selected to expand the receptive fields in the feature fusion network and make full use of semantic information. After experiments, the parameter quantity of the improved model is reduced by 59%, the floating point number is reduced by 68.2%, and the accuracy rate is 99.6%. The results proved that the improved YOLOv7-SCC can accurately identify strawberry ripeness while maintaining high accuracy, making it a more suitable choice for high-ridge strawberry ripeness detection than other algorithms.

Keywords: high-ridge strawberry; maturity test; YOLOv7; ShuffleNetv2; CBAM; CARAFE

草莓口感良好,营养成分高,是春冬季节常见的水果之一[1]。草莓被广泛用于制作蛋糕、果脯和果汁等产品,具有良好的市场前景,因此,种植前景也很广阔[2]。从20世纪开始,我国从国外了解到草莓这种新型水果,各地渐渐有特定的种植区进行草莓的种植。随着经济实力的增强及社会生活水平的提高,我国已成为全世界草莓种植面积、产量最大的国家。目前,国内草莓的栽培面积已达10万hm2,总产量达188万t,草莓的采摘收获主要依靠人工,存在劳动强度较大,成本高等问题[3],因此,机械化采摘成为草莓产业化种植发展的必然趋势,然而由于田间环境复杂,准确识别草莓成熟度难度较大,这使得计算机视觉技术近几年来在农业中得到了广泛的应用。

卷积神经网络(CNN)可以实现二维图像数据的高精度识别,研究人员尝试将CNN应用于草莓检测,此外,目标检测任务被应用于广泛场景中皆取得不错的成果,快速稳定的目标识别系统能够使采摘机器人进行长时间有效的工作,大大提高了采摘效率。目前,深度卷积神经网络主要有两大类,其中以YOLO系列[4-6]为代表的单阶段目标检测算法(One-stage),虽然检测速度比两阶段目标检测算法(Two-stage)算法更快,但精度有所损失;以Faster R-CNN[7]为代表的两阶段目标检测算法,通常精度比单阶段目标检测算法更高,但检测速度更慢。

文献[8]中将草莓成熟度分为成熟、近成熟、未成熟3个标准,并结合YOLOv5与暗通道图像增强来识别草莓成熟度。文献[9]提出一种基于低空遥感技术结合深度学习的草莓植株识别新方案,选用Fasrer-RCNN检测框架进行试验,通过可见光谱波段低空遥感影像中草莓植株冠层的外部轮廓特征来定义草莓植株的判别标准。文献[10]水果检测通过传统的数字图像处理、基于机器学习的图像分割和分类以及基于深度学习的神经网络算法来实现。文献[11]提出使用神经网络来检测草莓果实的一种既快速又精确的检测系统。提供实时视频作为输入,各个帧将使用深度信息进行增强,以提供每个草莓的位置,该系统用于检测大规模采收的草莓。文献[12]提出了一种使用卷积神经网络来预测草莓果实成熟度的自动化系统。CNN用于提取草莓表面的颜色、大小和形状特征,测试数据根据提取到的特征进行草莓分类,第二阶段分类的产出决定了草莓是否成熟或受损,分类输出以及分类图像显示在GUI上。

高垄草莓生长环境复杂恶劣,常有泥土、枝叶等遮挡草莓,同时亦有大量颜色相近的草莓聚集,易造成簇拥、重叠、遮挡等现象,导致草莓目标检测难度大。因此,在识别过程中需要考虑以下几个方面的问题。草莓形状的差异性,在目标重叠和遮挡的情况下,较难通过目标的外形信息来进行区分;草莓表面颜色的差异性,草莓会因其表面纹理的差异,同时受到光照、阴影等因素的影响,导致图像中的草莓出现亮度和颜色变化,进而影响识别结果;草莓背景的复杂性,其识别背景往往比较复杂,存在泥土、绿叶等干扰信息,使得背景中的纹理和颜色等信息与草莓果实的信息混淆,干扰识别的准确性。

由于上述差异,现有的目标识别策略难以直接应用于草莓识别领域,YOLOv7由于其更复杂的网络结构和训练策略,具有更好的检测精度和更快的推理速度,针对数据样本存在的问题进行算法模型改进与优化,为成熟草莓机械化采摘提供研究基础。

1 YOLOv7网络结构

YOLOv7整体网络架构如图1所示,主要由Input层、Backbone层和Head层这3部分组成。将640×640像素的RGB图像输入到骨干部分进行特征提取,然后对提取的特征进行头部融合得到大、中、小尺寸特征,最后,将融合后的特征发送到检测头并输出检测结果。

YOLOv7网络模型主要分为2部分:骨干网络和检测头部;骨干网络由ELAN模块和MP-1模块组成,ELAN模块有2条分支,一条是经过一个1×1的卷积做通道数变化,另一条先经过一个1×1的卷积做通道数变化。再经过4个3×3的卷积做特征提取;MP-1模块是由2个相同长度的分支组成的下采样模块,上分支由MaxPool和CBS模块组成,下分支由2个CBS模块组成,MP1模块的作用是在特征图下采样过程中减少特征信息损失的同时减少参数;SPPCSPC模块是一种改进的空间金字塔池化结构,该模块在卷积中添加了并发的多个MaxPool操作过程,通过将并行最大池化操作与多个卷积块相结合来避免图像失真和特征复制。Head层使用的路径聚合特征金字塔网络(PAFPN)[13]通过引入自下而上的路径实现了不同层次特征的高效融合,使得信息从底层到顶层的传递更加容易,在特征区域中训练重新参数卷积(Repconv)[14]模块以获得更详细的信息。

2 改进的YOLOv7模型

2.1 ShuffleNetv2

ShuffleNetv2[15]通常使用深度可分离卷积(Depthwise Separable Convolution)进行下采样,该结构既能减少参数量又可以降低计算复杂度。通过分组卷积和通道混洗将网络的通道数和深度分开。在网络的不同阶段逐步减少特征图的分辨率,进而提高感受野并更大范围地获取上下文信息。

ShuffleNetv2主要的改进是采用了通道混洗操作,这使得不同通道组之间可以有效地进行信息交流,此操作增强了网络捕获空间和通道依赖关系的能力。ShuffleNetv2还利用深度可分离卷积,将卷积运算分解为单独的深度卷积和逐点卷积。该操作在降低了网络的计算复杂度的同时还保留了其表达能力,ShuffleNetv2的基本单元如图2所示。

2.2 CBAM

CBAM[16]是一个结合通道注意力和空间注意力的轻量级模块,通过学习的方式自动获取每个特征通道的重要程度。

CBAM提取特征空间注意力的方式:经过Channel Attention后,最终将经过通道重要性选择后的特征图送入特征空间注意力模块,空间注意力是以通道为单位进行最大池化和平均池化,并将两者的结果进行concat,之后再一个卷积降成1×w×h的特征图空间权重,再将该权重和输入特征进行点积,从而实现空间注意力机制。CBAM结构如图3所示。

通道注意力模块的输出Mc(F)如公式(1)所示

Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F))), (1)

式中:F是输入特征图,AvgPool和MaxPool分别表示全局平均池化和最大池化操作,MLP表示多层感知机,σ表示Sigmoid激活函数。

空间注意力模块的输出Ms(F)通过公式(2)表示

Ms(F)=σ(f 7×7([AvgPool(F);MaxPool(F)])),(2)

式中:f 7×7表示一个7×7的卷积操作,[AvgPool(F);MaxPool(F)]表示将平均池化和最大池化结果沿通道轴拼接起来。

2.3 CARAFE

CARAFE的核心思想:使用输入特征本身的内容来指导上采样过程,从而实现更精准和高效的特征重建。CARAFE[17]由上采样预测模块和特征重组模块组成,如图4所示。

CARAFE模块首先采用空间注意力机制来更好地关注空间位置,还引入了通道重加权机制,通过学习得到的通道权重可以对不同通道的特征响应进行加权组合,从而提高特征的表征能力。

上采样预测模块首先进行特征图通道压缩,即用1×1卷积将尺寸为H×W×C的输入特征图的通道数压缩至H×W×Cm,应用kup×kup的卷积核进行卷积运算;然后进行内容编码以生成重组内核,输入通道数为Cm,输出通道数为σ2k,将通道数扩展到σ2k以进行内容编码;最后,对输出进行空间归一化。特征重组模块中将输出特征图与传统特征图得到的对应位置作点积,得到输出值。

2.4 YOLOv7-SCC模型

改进后的YOLOv7-SCC模型主要由提取特征的主干网络(Backbone)、颈部结构和包含特征融合与特征图输出的Head组成。将640×640像素的RGB图像输入到主干部分,经过轻量级骨干网络ShuffleNetv2后输出特征图,加入CBAM注意力机制增强对草莓果实的特征,选用CARAFE上采样可以利用底层的内容信息来预测重组内核,并在预定义的附近区域内重组特征,确保在充分利用语义信息的同时还能扩展特征融合网络中的感受野。综上所述,本文改进的YOLOv7-SCC的整体结构如图5所示。

3 数据收集与结果分析

3.1 实验环境

本文选用的实验设备及硬件见表1。

3.2 数据集准备

针对草莓采摘时受光照、环境等因素影响的问题,本文在YOLOv7的基础上主要做了以下改进,提出了一种新的检测模型YOLOv7-SCC,克服了草莓果实准确率低的问题,提高了对小目标的检测能力。高垄草莓数据集按照8∶2的比例划分为训练集和验证集,使用PyTorch和OpenCV对训练集进行图像增强处理,实现数据集的扩展,原始数据集共804张图像,增强后数据集为4 939张图像,见表2。

表2 数据集中图像数量分布

3.3 模型评估指标

本研究主要从模型轻量化程度和识别准确率来检验模型的效果,采用选择均值平均精度(mAP)、每秒千兆浮点运算次数(GFLOPs)、每秒帧数(FPS)和参数量(Parameters)作为评价模型轻量化程度的4个指标。

1)mAP指标:TP(True Positive)为正确检测出草莓成熟度的样本数,FN(False Negative)为错误检测草莓成熟度的样本数,FP(False Positive)为未成熟草莓被错误检测为成熟草莓的样本数,TN(True Negative)为未成熟草莓被正确检测为未成熟草莓的样本数。AP是PR曲线下的面积,用于描述高垄草莓检测的平均准确度。

P= , (3)

R= , (4)

AP =PR dr , (5)

mAP=AP(i) 。(6)

2)GFLOPs:GFLOPs用来衡量模型的复杂度,计算公式如下所示

GFLOPs=(2CiK2-1)HWC0 , (7)

式中:Ci和C0表示输入和输出通道的数量,K表示内核的大小,H和W用于描述特征图的大小。

3)FPS:FPS的值等于模型每秒处理的图像数量,可以用来检测模型速度,n为模型处理的图片数量;T为消耗的时间。其公式如下

FPS= 。(8)

4)Parameters:参数量指的是模型包含的参数数量。

根据YOLOv7-SCC模型的训练过程可以看出,在150~200 epoch后,各评价指标趋于稳定,训练结果如图6所示,当epoch达到200时,模型的训练结束。

3.4 轻量级网络比较实验分析

为了进一步分析改进算法检测高垄草莓的成熟度,将轻量化网络替换YOLOv7骨干网络,要实现既能准确识别草莓成熟度也要满足模型轻量化,选择适当的骨干网络也是重中之重,因此我们将当今主流轻量化网络进行对比,主要模型结构有MobileNetv3[18]、ShuffleNetv2、GhostNet[19]其每个网络模型Parameters、GFLOPs和mAP见表3。

从表3可以看出,模型加入了ShuffleNetv2网络后Parameters降低了46.2%,GFLOPs减少了62.1%且mAP并未减少,与其他轻量级网络对比,加入ShuffleNetv2网络后的模型具有更好的精度和更低的参数,因此本文选用ShuffleNetv2网络作为骨干网络,在降低模型复杂度的同时还能保留表达能力,能够在使用更少的计算资源情况下实现更好的检测结果。

3.5 不同检测模型的测试结果

利用hDqzkO0TTmPLvLEwQauebmkmeRqU+i4+G3793G6qM2w=获取的数据集对不同的模型进行训练测试,以识别和检测不同生长状态的草莓。部分试验结果如图7所示。从(a)组的试验结果可以看出,YOLOv5不能精确区分熟草莓和近熟草莓,如(b)组的测试结果所示,YOLOv7无法检测到具有相似背景特征的草莓目标,说明该模型对草莓特征的提取和融合能力不足,从(c)组的检测结果可以看出,与YOLOv5和YOLOV7模型相比,改进的YOLOV7-SCC模型可以更准确地检测出不同生长状态的草莓目标。

(a) YOLOv5 (b) YOLOv7 (c) YOLOv7-SCC

4 结论

本研究提出一种适用于果实枝叶重叠且难以区分的密集草莓园的多目标识别算法。在YOLOv7模型的基础上,首先,提出将骨干网络替换为更轻量化的ShuffleNetv2结构,其中运用信道混洗操作,在保留表达能力的同时降低模型参数提升准确率;其次,引入CBAM注意力机制加强模型对草莓不同状态的特征关注度;最后,添加CARAFE上采样模块,通过扩大模型的感知领域,帮助网络感知更广泛的上下文信息,并通过上下文融合判断来提高特征表示能力,从而提取和融合这些精细特征实现特征重建。实验结果表明,与原模型相比,改进后的模型参数量和浮点数分别减少了59.0%和68.2%,准确率为99.6%。改进后的YOLOv7-SCC各项指标均达到最佳性能,在保持高精度的同时减少了模型的参数和计算量,其轻量的网络结构和高效的检测结果更适合高垄草莓检测任务。

参考文献:

[1] 张雯丽.中国草莓产业发展现状与前景思考[J].农业展望,2012,8(2):3-30.

[2] 吴晓云,高照全,李志强,等.国内外草莓生产现状与发展趋势[J].北京农业职业学院学报,2016,30(2):6-21.

[3] 王粮局.基于动态识别定位的多机械手草莓收获机器人的研究[D].北京:中国农业大学,2016.

[4] GE Z, LIU S, WANG F, et al. (2021) YOLOX: Exceeding YOLO Series in 2021. arXiv:2107.08430.

[5] BOCHKOVSKIY A, WANG C-Y, LIAO H-Y M. (2020) YOLOv4: Optimal Speed and Accuracy of Object Detection[J]. arXiv:2004.10934.

[6] REDMON J, FARHADI A.(2018) YOLOv3: An Incremental Improvement[J]. arXiv:1804.02767.

[7] REN S, HE K, GIRSHICK R, et al.(2017) Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[C]. IEEE Trans Pattern Anal Mach Intell 39:1137-1149.

[8] XIAO B, NGUYEN M, YAN W Q. Fruit ripeness identification using transformers[J]. Appl. Intell.,2023,53(19):22488-22499.

[9] WANG D, WANG X, CHEN Y, et al. “Strawberry ripeness classification method in facility environment based on red color ratio of fruit rind[J]. Comput. Electron. Agric.,2023,214:108313.

[10] FAN Y, ZHANG S, FENG K, et al. Strawberry Maturity Recognition Algorithm Combining Dark Channel Enhancement and YOLOv5[J]. Sensors,2022(22):419.

[11] WANG D, HE D. Fusion of Mask RCNN and attention mechanism for instance segmentation of apples under complex background[J]. Comput Electron Agric, 2022, 196:106864.

[12] CHO W, NA M, KIM S, et al. Automatic pregvgctBRVw8pc5fTPPrGz4g==diction of brix and acidity in stages of ripeness of strawberries using image processing techniques[C]. In: 2019 34th International Technical Conference on Circuits/Systems, Computers and Communications (ITC-CSCC). IEEE, JeJu, Korea (South).

[13] SHU LIU, LU QI, HAIFANG QIN, et al. Path Aggregation Network for Instance Segmentation[J].arXiv,2018.

[14] DING X H, ZHANG X Y, MA N N, et al. RepVGG: Making VGG-style ConvNets Great Again[J].arXiv,2021.

[15] MA N, ZHANG X, ZHENG H-T, et al. ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design[J]. arXiv,2018:1807.11164.

[16] WOO S, PARK J, LEE J-Y, et al. CBAM: Convolutional Block Attention Module[J].arXiv,2018:1807.06521.

[17] WANG J, CHEN K, XU R, et al. CARAFE: Content-Aware ReAssembly of Features[J]. arXiv,2019:1905.02188.

[18] HOWARD A, SANDLER M, CHU G, et al. Searching for MobileNetV3[J].arXiv,2019:1905.02244.

[19] HAN K, WANG Y, TIAN Q, et al. GhostNet: More Features From Cheap Operations. In: 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)[C]. IEEE, Seattle, WA, USA.