采用天气增强与八度卷积改进YOLOv5的番茄检测模型构建

2022-12-20 02:20代国威樊景超胡林
山东农业科学 2022年11期
关键词:八度番茄卷积

代国威樊景超胡林

(1. 中国农业科学院农业信息研究所/国家农业科学数据中心,北京 100081;2. 中国农业科学院国家南繁研究院,海南 三亚 572024)

番茄是世界上广泛种植的园艺作物,2020年全球产量约为1.87 亿吨[1]。中国作为番茄全球产量的第一贡献者,温室种植番茄因高产和可全年稳定供应的优势在过去的几十年里迅速且广泛发展。传统番茄采摘依靠人工,不仅效率低,而且人工成本占比超过生产利润的44.5%[2];此外,人口老龄化趋势导致番茄采摘作业越来越缺乏劳动力[3]。随着人工智能技术在农业和食品研究领域的应用和推广,农业采摘机器人[4]的研发及应用为上述问题提供了有效的解决方案,不仅可以降低人工成本,而且采摘机器人能适应高强度作业,大大提高采摘效率。

采摘机器人设计的难点在于识别和检测番茄目标,而识别和检测的准确性关系到采摘机器人的工作效率,因此,快速准确地检测成熟西红柿是用自动化系统取代人工劳作的一项重要任务。目前,基于计算机视觉进行番茄缺陷或等级检测的方法主要有两类,即基于手工特征的方法和使用深度学习特征的方法。手工特征具有局部性和简单性的优点,但由于需要根据经验选择合适的特征,因此在变化的环境中可能缺乏提取特征的语义和判别能力[5–7]。如冯俊惠等[8]提出一种改进Hough 圆变换算法的番茄识别方法,该算法基于颜色信息对背景进行分割,并利用Sobel 算子提取轮廓信息,最后通过改进Hough 圆变换算法用于成熟番茄识别;为了对多个重叠粘连的番茄进行定位识别,李寒等[9]利用K-means 对SOM 算法进行优化,通过提取果实轮廓点的平面和深度信息进行三维聚类,将得到的点云聚类结果转换为世界坐标系,并拟合得到各个番茄的位置与形状;设施番茄种植密度大,采集图像中番茄果实相互粘连的现象更为严重,针对此情况,伍萍辉等[10]提出一种改进的群体智能优化算法,利用扰动因子改进灰狼算法与K 均值聚类算法用于果实分割,并在此基础上将形态学算法和多尺度Hough 算法相结合,实现了对强粘连番茄果实的识别定位。虽然此类方法已取得了较好的识别效果,但面对复杂多变的温室环境仍是一项相当大的挑战,此外,确定分类所需的特征提取器和分类器的最佳组合也非常耗时。相比之下,深度学习模型不需要耗时寻找特征提取器和分类器的最佳组合,而且能在复杂环境下提取深层次特征,准确性更高[11–15]。例如成伟[16]、Lawal[17]、Wang[18]与Lawal[19]等提出了改进YOLOv3 实现复杂环境条件下温室番茄的检测;Seo 等[20]利用K-means聚类算法将番茄果实区域与背景区域分割,在HSV 颜色模型下通过Faster R-CNN 检测水培条件下生长的番茄;李天华等[21]提出一种基于YOLOv4 与HSV 相结合的番茄识别方法,能够解决果实粘连及藤曼、叶片或光照影响而引起的识别错误问题,并利用HSV 颜色特征处理实现番茄果实红色部分的分割,通过对检测框内分割部分的面积计算,提高识别的准确性;何斌等[22]提出一种适合日光温室夜间环境的改进YOLOv5 番茄识别方法,通过对自适应框的重计算与改进CIOU目标损失函数实现暗光特征下的番茄果实识别。为实现不同成熟度番茄自动分拣,Ko 等[23]利用多流卷积神经网络(ConvNet)及其随机决策融合(SDF)方法检测番茄成熟度,将检测过程分为初始成熟度检测阶段和随机决策融合阶段,从而获得更精确的成熟度分类结果。

然而现有研究缺乏温室复杂环境下针对远近距离产生的小目标番茄、果实本身较小及被重叠遮挡番茄的检测。因此, 本研究采用改进YOLOv5 目标检测算法,提出一种通过注意力机制与八度卷积提高复杂环境条件下温室番茄检测准确性的方法——OctaveC-YOLOv5,并引入天气增强技术,从而有效抵抗环境干扰,克服由果实重叠、树枝遮挡、光照不均等引起的识别精度、时效性和鲁棒性较差的问题,捕捉到充足的目标信息,并能端对端完成定位和检测任务,有望在智能采摘机器人上应用。

1 OctaveC-YOLOv5 模型的构建及性能评价方法

1.1 YOLOv5 架构

YOLO 架构系列的最新产品是YOLOv5[24]模型,该模型识别准确率高,推理速度快,最快的识别速度为每秒140 帧,且目标检测网络的权重文件较小,比YOLOv4 缩小了近90%,适合部署到嵌入式设备上, 实现即时检测。本研究使用YOLOv5s 模型,大小为14 mb,推断时间为2.2 ms,网络架构如图1 所示,主要由Backbone、Neck和Head 组成。

Backbone 结构是一个卷积神经网络(convolutional neural network,CNN),它结合不同的细粒度图像并形成图像特征。其中,Conv 模块为贯穿架构的基本卷积单元,对输入依次进行二维卷积、二维正则化、SiLU 激活操作(图1a)。C3 模块作为提取特征的主要结构,由3 个Conv 与1 个Bottleneck 组成(图1b),组成的结构依次添加到计算图,通过解决大规模重复梯度信息的问题,将梯度变化整合于特征图中,减少模型每秒浮点运算(floating point operations,FLOPs)和参数,缩小模型大小,并且保证推理的准确性和速度。Concat模块用于连接不同维度的特征图;Upsample 模块用于特征图上采样。空间金字塔模块(spatial pyramid pooling, SPP)位于Backbone 的第9 层,旨在通过将任何尺寸的特征图转化为固定尺寸的特征向量来增加网络的感受野。

图1 YOLOv5 网络架构

Neck 结构通过流水线增加信息的流动性。低层特征可以通过添加特征金字塔网络(FPN)进行有效传播,具有自下而上的路径增强特性;同样,可以通过添加路径聚合网络(PAN)将高层特征向下传递,实现特征融合。特征金字塔、路径聚合网络和所有其他特征通过自适应池连接在一起,使每个特征层的有用信息都能被利用。该网络从所有层决定哪些特征是有效的,通过使用高层的正确定位信号与低层的强语义特征来提高物体定位的准确性。

Head 结构的检测网络包括3 个检测层,每个检测层分别输入一个尺寸为80×80、40×40 和20×20 的像素特征图,用于检测各种尺寸的图像对象。本研究有2 个检测对象,所以每个检测层输出一个21 通道的向量,包括2 个类别、1 个置信度、4 个边界框坐标和3 个锚框[(2+1+4)×3],用于生成并标记原始图像中目标的预测边界框和类别,从而实现对图像目标的检测。

1.2 八度卷积(octave convolution)

对于数字图像而言,信息以不同的频率传递,其中高频部分包含了大量的细节信息,如图像的边缘、轮廓与噪声信号等,而低频部分则反映了图像的全局结构编码,如物体的整体形象、背景等,决定性信息较少(图2)。普通卷积处理数字图像的任务就是捕捉全局布局的粗结构低频信号和捕捉精细细节的高频信号,然而其输入输出特征具有一致的空间分辨率,这会导致捕获的空间低频信息包含空间中的冗余信息。基于此,Chen等[25]引入八度(octave)特征表示,建议在经典的CNN 中使用八度卷积而不是卷积层,从而显式地将特征映射张量分解为对应的低频组和高频组。由图3 可见,八度卷积的输入特征图由高频XH和低频XL两部分组成,分别以YH和YL两种方式输出。输出的高频和低频特征图分别由YH=YH→H+YL→H和YL=YL→L+YH→L传递,即将低频特征图上采样到高频特征图,并与低频特征图进行分组;同样,将高频特征图下采样为低频张量,并与高频特征图进行分组。

图2 数字图像(a)及其低频部分(b)与高频部分(c)

图3 八度卷积结构

另外,为了进行卷积运算,八度卷积将卷积核W 分成WH和WL两组,分别对输入XH和XL进行卷积。WH和WL也由两部分组成WH=[WL→H,WH→H],WL=[WH→L,WL→L]并保证XL→H和XH→H(XH→L和XL→L)可以进行不同的卷积。值得一提的是,YX→H表示卷积从特征图组X 到组Y 的更新,如YL→L和YH→H表示同频更新,而YL→H和YH→L表示不同频间的通信。其中,频间信息的更新,八度卷积使用高低频特征分别进行升/降采样,将特征张量XL上采样与XH池化下采样折叠到卷积中消除计算和存储,以实现不同频率间信息的交互;而同频信息的更新,则更注重于使用常规卷积对高频特征进行更新。因此,与普通卷积相比,通过八度卷积压缩低频分辨率能有效地将感受野扩大2 倍,可以帮助每个八度卷积层捕获更多的长距离上下文信息,从而提高识别性能。

1.3 注意力机制(CBAM)模块

深度学习中的注意力机制允许在解决特定任务时只关注图像的一部分而不是整个区域,从而突出有利于分类的特征,抑制不需要的噪声。空间注意力模块(spatial attention module,SAM)和通道注意力模块(channel attention module,CAM)是前馈神经网络(feed forward neural network)[26]的两个有效注意力模块,其中,空间注意力模块在特征图中探测目标位置时表现突出,通道注意力模块在寻找目标时表现突出。大量实验证明,先使用通道注意力模块,再使用空间注意力模块,对于网络学习效果最好[27]。

CBAM(convolutional block attention module)是一种典型的注意力机制结构,包含CAM 和SAM 模块。对于CAM 模块,以一个假设的中间特征图f′∈Rw×h×c(h 为每个通道的高度;w 为每个通道的宽度,即通道的权重;c 为每层通道的数量)作为输入,对其并行进行平均和最大池化,然后利用多层感知器对这两个通道进行Sigmoid 激活函数操作,得到CAM 特征图。式(1)即显示了CAM模块的计算过程,其中δ 为Sigmoid 激活函数,MLP为多层感知器,AvgPool(f′)与MaxPool(f′)分别表示特征图的平均和最大池化。同样,对于SAM 模块,给定一个中间特征映射f′作为输入,采用并行平均和最大池化的方法进行降维,得到2 个特征,根据通道维数将其拼接起来,形成一个二维特征,然后对二维特征进行卷积,以保证最终特征在空间维度上与原始输入特征相兼容,接着通过Sigmoid 函数生成SAM 特征图,最后乘以模块的输入,得到最终生成的特征图。具体过程如式(2)所示,其中,fn×n表示卷积运算,卷积核的大小为n×n,CAM 和SAM 模块的中间特征图f′可以用式(3)、式(4)表示,式中⊗为点积。

1.4 OctaveC-YOLOv5 番茄检测模型

虽然YOLOv5 可直接用于番茄目标检测,但在复杂的温室场景中,一是由于番茄品种繁多、背景复杂、植株间距较小,相同生长周期大小不一的番茄果实容易相互遮挡,造成误检;二是较远距离的番茄在视觉上表现较小,在图像层面表征为未成熟的小番茄,虽与图像上作为主体的较大或成熟的番茄纹理特征相似,但检测时往往因与背景难以区分而易造成漏检,不利于温室场景下的番茄检测。为此,本研究提出了一种高检测精度的OctaveC-YOLOv5 番茄检测算法,模型结构如图4所示,主要从以下方面进行了改进:①使用八度卷积替换Conv 模块中的Conv2d,然后利用Conv 作为基本卷积单元的特性,使YOLOv5 中涉及Conv的所有模块间接替换了八度卷积,完成了整个网络的卷积替换。②Backbone 结构提取的特征在4、6、9 层输出,第9 层输出的特征被输入到CBAM模块中,从而使网络能够从复杂的背景颜色中提取更可区分的特征表示。③通过特征融合达到减少信息丢失的目的,然后将特征输出到Neck 结构,使用FPN+PAN 组合来处理特征。④Head 结构输出的三个不同维度的特征映射能够携带更多的纹理特征和缺陷区域的语义特征。⑤使用CIoU[28]作为边界框损失函数,并采用非极大值抑制(non-maximum suppression,NMS)使其分类和定位更加准确,提高了检测精度。本研究提出的OctaveC-YOLOv5 继承了YOLOv5 所有特点,并增加了压缩低频分辨率以增大感受野与注意力机制的功能性质。

图4 OctaveC-YOLOv5 算法网络结构

1.5 天气增强(weather augmentation)

使用Python 中Albumentations 库[29]的图像数据增强方法对训练集应用不同的数据增强技术,以克服过拟合问题,并增强数据集的多样性。本研究采用多种天气增强技术组合来模拟不同天气与温室设施引起的环境变化对图像的影响,如图5 所示。

使用雨滴变换(RandomRain)为图像随机添加雨滴,雨滴大小为1.0、类型为drizzle,并设置0.6的阴天参数(Brightness_coefficient),以模拟温室喷淋降温作业对图像采集的影响(图5b)。

由于温室内外温差和室内湿度较大以及雾化系统喷雾作业,会使温室内产生雾气,影响采集图像的清晰度,因此,可使用雾气变换(Randomfog),选择0.1~0.6 的雾气强度(fog_coef)与雾圈透明度(Alpha_coef)为0.1 的参数值,随机地向图像不同位置添加雾气,并使背景模糊(图5c)。

植物的生命活动与光照密不可分,本研究以图像的左上角(0.0, 0.0, 1.0, 0.5)与右上角(0.9, 0, 1.0, 0.5)作为光照的来源,选择太阳光照变换(RandomSunFlare)对温室光照条件下采集的图像进行模拟,出现太阳耀斑的图像区域(Flare_roi)由四个参数决定(x_min、y_min、x_max、y_max),x_min 与y_min 表示起始坐标,x_max 与y_max 表示结束坐标(图5d)。

番茄果实生长于叶下,而温室番茄的株距较小,采集的图像易受叶片阴影的影响,可通过阴影变换(RandomShadow)在一定程度上消除这种影响。本研究就阴影图像(Shadow_roi)的出现区域进行随机化,阴影数量在1~5 浮动,阴影多边形的形状边参数设置为4(图5e)。

图5 原图与使用天气增强后图像对比示例

1.6 试验数据集

本研究选用农业场景视觉解析任务番茄数据集(https:/ /www.agridata.cn/)中现场采集部分的数据,包含原始图像以及处理后可直接用于目标检测、语义分割与实例分割的数据标签。图像采自江苏省农业科学院番茄生产智能温室,单目图像的分辨率为1600×1200 像素,双目图像的分辨率为1280×720 像素。提取目标检测标签与对应的原始图像建立VOC格式的数据集,将数据集中带有标注的100 张单目图像和100 张双目左边图像全部用于TBD-1 数据集构建,并按8∶2 划分训练集与验证测试集,然后使用OctaveC-YOLOv5 与YOLOv5s 模型从零开始训练和测试,结果如表1 所示,可见两种模型的表现都较差,虽然本研究提出的模型相对于YOLOv5s 取得了一定的进步,但离实际生产中农业机器人高精准采摘的要求还有较大差距。

表1 OctaveC-YOLOv5 与YOLOv5s 模型在TBD-1 数据集的试验结果

为此,将现场采集部分未标注的650 张单目图像与300 张双目图像使用LabelMe 工具标注为XML 格式,标签类别与原数据集标注一致,分为成熟番茄与未成熟番茄(可采摘番茄与不可采摘番茄),标注过程如图6 所示。最终,将新标注的950 张图像与原带标注的TBD-1 数据集的200张图像共同组成TBD-2 数据集,然后按80%、10%、10%的比例随机划分出训练集、验证集、测试集,分别为920、115、115 张图像,并在训练集执行不同组合的天气增强技术。

图6 LabelMe 标注番茄示例

1.7 试验环境

操作平台为Nettrix X640 G30 AI 服务器,操作系统环境为Ubuntu 20.04,CPU 为2 块Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz,GPU为2 台NVIDIA GeForce RTX 3090、256G 内存,5个7.5T 固态驱动器。训练环境由Anaconda3 创建,环境配置为Python 3.9.5、PyTorch 1.9.1 与Torch Vision 0.10.1 人工神经网络库。同时,采用CUDA 11.3 GPU 运算平台及cuDNN 11.3 深度神经网络加速库。

训练参数设置:采用OctaveC-YOLOv5 为训练模型,使用损失函数BCEWithLogitLoss 处理样本不均衡,并由SmoothBCE[30]与QFocalLoss[31]防止模型过拟合,优化器使用SGD,输入图像尺寸为640×640 像素,批量大小为32,学习率初始化为0.01,最终为0.0032,动量参数为0.925,重量衰减设置为0.00056,并使用预热参数5.0 保证模型起始训练时对数据具有一定的先验知识,其他参数保持默认。模型训练的收敛速度与具体数据集相关,当模型性能在一个阶段的Epoch 停止不前或下降时,继续训练模型也得不到很好的收敛,此时最好的办法就是提前停止训练,Early stopping早停机制能很好地解决这个问题[32]。本研究在OctaveC-YOLOv5 集成了早停机制,并设置参数为30。

1.8 评价指标

为了验证提出模型检测番茄的有效性,利用目标检测领域常用的量化指标,即查准率(precision,Pt)、查全率(recall,Rt)、F1 得分(F1t)、平均准确率(average precision,AP)、平均精度均值(mean average precision, mAP)对模型进行评估,公式如下。

式中T(Ptomato)、F(Ptomato)和F(Ntomato)分别指正确识别、错误或未识别及把成熟番茄检测为未成熟番茄或其他背景的数量;F1t为综合衡量查准率与查全率的指标;AP 定义为当AP 的交并比(Intersection over Union, IoU)阈值取0.5 时,对于某一类别具有多个正确检验框的样本,每增加一个正确检验框将对应一个Pt值,对多个Pt取平均值即得到该类别的AP;mAP 为AP 在所有类别下的均值,能整体表征多类别目标检测模型的综合性能;Q 指定义的检测类别,本研究有成熟与未成熟番茄2 类,所以Q 为2。

2 模型检测效果分析

2.1 训练结果分析

在训练的早期,模型欠学习,损失函数值较大,跳过前50 次后,重画损失函数和mAP 参数的变化,更详细地观察和分析模型的训练过程。从损失函数和mAP 的曲线(图7)可以看出,在前210 次训练中,损失函数急剧下降,mAP 曲线剧烈振荡,这是因为在训练的初始阶段得到的权值与训练样本不匹配训练梯度较大,更新后的参数与上次相比差异较大;从600 到900 次迭代的损失函数变化逐渐趋于平稳,而mAP 曲线降低了振荡,这表明训练中逐渐获得的权重匹配样本的特征和梯度下降训练逐渐接近最佳点;900 次迭代后,损失函数变化趋于稳定,mAP 曲线进一步放缓接近1,并略有振荡。观察训练1 000 次后,停止训练并保存权重文件,用于模型评估。

图7 OctaveC-YOLOv5 损失函数(a)与mAP(b)的变化曲线

2.2 番茄目标检测结果与分析

2.2.1 OctaveC-YOLOv5 与YOLOv5s 模型检测结果对比分析 选择115 幅样本图片作为模型检验的测试集, 分别使用 YOLOv5s 和 OctaveC -YOLOv5 模型进行检验,并使用模型评价指标对模型性能进行评估。为了更直观地展现OctaveCYOLOv5 相对于YOLOv5s 的性能,随机抽取图像在相同试验平台进行对比测试,结果如图8 所示。图中左边与右边的图片分别表示番茄较少与较多两种检测场景,均包含远近距离与目标较小的情况。观察可见,YOLOv5s 对于小目标的检测效果较差,存在许多小番茄未被准确检测情况,且对于隐形特征或特征模糊和有番茄叶遮挡的番茄存在较多的检测丢失;而OctaveC-YOLOv5 能成功检出较小的和存在遮挡的番茄,有效提升了小目标和被遮挡目标的检出率,降低了漏检率,检测精度较高,鲁棒性强。

图8 YOLOv5s 与OctaveC-YOLOv5 模型样本测试效果对比

2.2.2 使用与未使用天气增强方法的对比分析为了评估所提出的天气增强方法对OctaveCYOLOv5 模型性能的影响,将天气增强技术应用于TBD-2 数据集的训练集,与未使用天气增强方法的检测结果(表2)相比,使用天气增强方法后,成熟、未成熟番茄的检出准确率分别提升7.85、7.97个百分点,分别达到95.36%与92.86%,表明所提出的天气增强方法有助于提升OctaveCYOLOv5 模型的检测性能。

表2 使用与未使用天气增强方法的OctaveC-YOLOv5 模型性能对比(%)

2.2.3 数据集TBD-2 与TBD-1 对检测结果影响的对比分析 从TBD-2 数据集的测试集随机选择20 幅图,分别使用YOLOv5s 与OctaveC -YOLOv5 模型进行检测,结果如表3 所示。与以TBD-1 数据集测试的结果(表1)相比,YOLOv5s与OctaveC-YOLOv5s 模型以TBD-2 数据集进行检测的综合性能表现均明显提升,平均精度均值分别提高10.85、13.76 个百分点,且OctaveCYOLOv5 的性能提升更大。可见,应用TBD-2 数据集更有利于提升模型对番茄识别的准确率。

表3 OctaveC-YOLOv5 与YOLOv5s 模型在TBD-2 的试验结果(%)

2.2.4 基于TBD-2 数据集和天气增强方法的OctaveC-YOLOv5 模型检测效果 检测结果用混淆矩阵进行展示,如图9a,混淆矩阵的行表示预测的类别标签,列表示真实的类别标签,对角线上的值是预测的正确率,数值越大说明识别的准确率越高,而非对角线的值则是预测错误的比例。可见,OctaveC-YOLOv5 模型的检测性能良好,成熟番茄和未成熟番茄类别的检出准确率分别为94%和92%;背景FN 为0,表明标记的对象都被成功检测到。值得注意的是,成熟和未成熟番茄FP 分别为0.46 与0.54,说明两种类型番茄都有部分被判别为背景,且未成熟番茄中占比较大。

图9b 展示了Precision-Recall (PR)曲线,用于描绘模型所属类别的综合性能表现,曲线越接近于右上角说明模型整体性能越优异。其中,曲线下方的面积为该类别的AP 值。由图9b 可知,成熟与未成熟番茄的AP 值分别为92.10%、92.90%;未成熟番茄达到的最低mAP 为0.85,低于成熟番茄类别(0.88)。

图9 基于TBD-2 数据集和天气增强方法的OctaveC-YOLOv5 模型检测效果

总体而言,本研究提出的OctaveC-YOLOv5模型结合天气增强方法在TBD-2 数据集上达到了较好的检测性能。

2.3 消融对比试验

本研究提出了3 个用于改进YOLOv5 的方法,为了验证这些方法的有效性,基于TBD-2 数据集,逐步添加改进方法进行消融对比试验,并用模型的参数量与浮点运算量度量模型的复杂度。参数量与浮点运算量都代表了数据在通过复杂网络时经历的计算量,值越低,网络的复杂性就越低。

由表4 可知,相比于YOLOv5 网络,引入八度卷积的YOLOv5 网络mAP 提升了8.91 个百分点,引入CBAM 的YOLOv5 网络mAP 提升了6.97个百分点,前者对模型性能的提升更显著,这得益于八度卷积高低频特征的覆盖能力较强;并且八度卷积使检测时间缩短0.001 s,而CBAM 却使检测时间延长0.007 s。但将两者共同引入YOLOv5模型,mAP 提升了11.13 个百分点,分别高出单独使用八度卷积和CBAM 2.22、4.16 个百分点,且检测时间相对于单引入CBAM 缩短0.002 s。另外,八度卷积在提高模型检测精度的同时,能够有效降低模型参数量与浮点运算量。综上表明,利用八度卷积挖掘细节信息与注意力机制抑制无用特征能有效提高YOLOv5 网络检测性能。天气增强方法能够帮助模型抵抗过拟合,提高模型泛化能力。与试验4 相比,试验5 的mAP 提升了1.86个百分点。可见,本研究提出的3 个方法均对模型检测性能有所提升,以三者共同引入的效果最佳;虽然CBAM 会导致模型的复杂度与检测时间增加,但八度卷积能在一定程度上抑制CBAM 的副作用,从而使模型的检测精度明显提升。

表4 模型消融试验结果比较

2.4 OctaveC-YOLOv5 模型与其他7 种模型的性能对比分析

为了考察OctaveC-YOLOv5 的性能和实用性,基于TBD-2 数据集,与其他7 种模型(表5)进行对比测试,可以看出,OctaveC-YOLOv5 模型的检测准确率、mAP 明显提升;检测时间虽比YOLOv3-tiny、SSD、YOLOv3、YOLOv5 模型延长0.005~0.009 s,但mAP 却提升了7.34~28.26 个百分点。改进后的OctaveC-YOLOv5 在性能上明显优于其他检测模型。这主要是因为将八度卷积与注意力机制结合,提升了远近距离视觉上目标信息的获取,降低了无用特征信息对模型的影响,解决了番茄果实与叶片重叠、严重遮挡、较多小目标等问题的干扰。

表5 不同检测算法性能指标对比

3 结论

本研究提出了一种精准度更高的番茄成熟检测方法OctaveC-YOLOv5,可用于采摘机器人对温室番茄的识别和采摘。该模型引入了八度卷积和注意力机制,加强了对远近距离产生的小目标番茄、叶片遮挡果实和番茄果实多个重叠目标识别的鲁棒性,有效提高了番茄检测精度。此外,将天气增强技术应用于数据增强及模型训练,丰富了训练数据量,提高了模型的泛化能力。利用该模型对测试数据集进行检测,平均精度为94.58%(IoU≥0.5),对温室中高度遮挡的番茄表现出良好的识别和检测准确性,为番茄采摘机器人提供了一种新的视觉识别思路。

为了验证OctaveC-YOLOv5 的优越性,将其与Fast R-CNN、SSD、YOLOv3-tiny、YOLOv3、YOLOv4、YOLOv5、YOLOX 模型进行对比试验,综合检测准确率和检测时间,OctaveC-YOLOv5 的检测性能明显优于其他模型,表现出更好的泛化性和实时检测优势,适用于收获机器人。

在未来的研究中,将开发一个可在收获前通过观察实时识别和估计番茄成熟度的综合框架,以确定适当的收获时间并监测植株的生长状态。

猜你喜欢
八度番茄卷积
番茄炒蛋
秋茬番茄“疑难杂症”如何挽救
基于3D-Winograd的快速卷积算法设计及FPGA实现
番茄果实“起棱”怎么办
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
钢琴演奏中的八度技巧
——探究李斯特钢琴曲《魔王》
刍议音乐表演与钢琴演奏中的八度技巧
试论音乐表演中如何进行钢琴演奏中的八度技巧