基于改进YOLOv5的茶芽检测

2024-03-04 03:03吴思妃
福建茶叶 2024年2期
关键词:茶芽网络结构分支

吴思妃

(浙江农林大学 数学与计算机科学学院,浙江 杭州 311300)

茶叶产业在中国的经济中占有重要地位,据统计,2022年全国茶园面积达4995.40万亩,同比增加99.31万亩,增幅2.03%;全国干毛茶总产量为318.10万吨,同比增长10.8万吨,增幅3.85%;全国干毛茶总产值再创历史新高,达到3180.68亿元,同比增加252.42亿元,增幅8.62%。茶叶产业为中国提供了大量的就业机会和财政收入。茶芽作为制作茶叶的重要原料之一,其产量对茶叶产业的影响是非常重大的。当前茶芽的采摘主要依靠人工,费时费力,且效率较低,更无法实现准确的产量估计与管理。自动化采茶无需人工操作,能够有效解决人工采茶劳动强度大、效率低等问题,在大幅提高生产效率的同时,能够实现信息集成和共享,及时准确的为决策与管理服务,保证茶园的优化配置和高效运转。因此,实现茶芽采摘的自动化和智能化对于提高茶叶产量有重要意义[1]。而茶芽检测是实现茶芽采摘自动化和智能化的基础。

随着深度学习技术的发展,其在智慧农业,尤其是自动化、智能化产业上得到了广泛的应用。通过使用深度学习算法,可以进行茶芽的自动检测,提高检测精度和效率,为实现茶叶茶芽的自动化采摘提供技术支持。YOLO系列算法作为当前主流的深度学习目标检测算法之一,在识别小目标图像上已被证明具有较高的准确性与可靠性。其中,YOLOv5算法运算速度快、精度高、模型小,在嵌入式设备上的应用前景非常广泛。

因此,本文提出了一种基于改进YOLOv5模型的茶芽识别算法,旨在提高茶芽识别的准确性,实现对茶芽的快速高效检测,为将来在嵌入式设备上实现茶芽识别、自动采摘提供参考。

1 改进的YOLOv5模型的结构设计

1.1 YOLOv5

YOLOv5是YOLO系列目标检测模型较稳健的版本,具有非常快的图像推理速度,可以达到0.007秒,即每秒可处理140张图像,满足图像实时检测需求。与YOLOv4、YOLOv3等相比,YOLOv5使用了更深层次的网络结构和自适应数据增强等技术,从而提高了模型检测精度。此外,YOLOv5的网络结构里的所占权重数据文件内存大小仅为27 MB,网络体量大大减小。网络结构方面,其输入部分使用Mosaic数据增强、自适应锚框计算和自适应图像缩放,对小目标检测效果更好;主干部分引入了Focus结构执行切片操作降低计算复杂度,提高了检测速度[2]。

综上所述,YOLOv5具有检测速度快、准确率高、易于训练和部署等优点,可以实现定制化的检测任务。相比于YOLOv4等,YOLOv5引入了更深的网络结构、自适应数据增强等技术,进一步提高了模型的性能。

1.2 注意力机制

注意力机制是一种让模型更加关注输入信息中重要部分的技术[3][4],可以分为通道域、空间域和混合域,它们关注图像中的目标和上下文信息,从而提升小目标检测的效果,可以提高模型的性能和效率。坐标注意力机制是一种同时考虑了空间和通道维度的注意力机制,本研究提出了在YOLOv5算法的颈部网络施加坐标注意力机制的方法,增强对目标对象的识别能力。

坐标注意力机制通过一个二维卷积层来生成两个不同方向的坐标向量,并将它们相乘得到最终的权重矩阵,使得位置信息可以被保存下来,增强模型的性能。其具体操作可以分为坐标信息嵌入和坐标注意力生成两个步骤。为了克服全局池化在保留位置信息方面的不足,坐标嵌入部分采用了一种并行的一维特征编码方法,即沿着水平和竖直方向分别对每个通道进行(H,1)和(1,W)的池化核编码,从而得到输出表示如公式(1)和公式(2)所示:

坐标注意力生成的过程是通过坐标信息嵌入操作,将全局感受野和精确位置信息融合到特征表示中,从而形成注意力图。具体而言,该步骤将坐标嵌入操作输出的两个特征图沿空间维度串接起来,然后通过一个共享的1×1卷积层得到公式(3)所示的输出:

其中,[zh,zw]表示空间维度上的拼接操作,F1表示1×1卷积层,fh∈RC/r×(H+W)为水平和竖直方向编码空间信息的中间特征图。将f沿着空间维度切分成fh∈RC/r×(H+W)和fw∈RC/r×(H+W),此处,r是用于控制块大小的缩放比例。再利用两个1×1卷积Fh和Fw分别将fh和fw变换为与输入的通道数相同,服从公式(4)和公式(5):

gh和gw分别展开并作为注意力权重使用。最后的输出可以写成:

1.3 RepVGG Block

RepVGG Block是一种简化的网络结构,它将VGGNet和ResNet的思想结合起来,通过一种结构重参数化的方法,在训练时使用多分支模块,而在推理时使用单分支模块,从而提高效率和精度。

VGGNet和ResNet是卷积神经网络中的两个经典模型。VGGNet探索了卷积神经网络的深度与其性能之间的关系,证明了增加网络的深度能够在一定程度上影响网络最终的性能,使错误率大幅下降。其使用的全部都是3x3的小卷积核和2x2的池化核,通过不断加深网络来提升性能,特点是网络结构简单,但是参数量大,训练时间长。ResNet通过残差学习解决了深度卷积神经网络训练过程中的梯度消失问题。其通过引入跨层连接(shortcut connection)实现了让输入直接跨过若干层传到后面的层,以给非线性的卷积层增加直连边的方式来提高信息的传播效率,使得网络可以更深,性能也更好。相比之下,VGGNet的优点是结构简单易懂,缺点是参数量大;ResNet的优点是可以训练非常深的网络,缺点是网络结构比较复杂。

而RepVGG作为VGGNet和ResNet的结合,是一种由三个分支组成的卷积块,其中一个分支是3×3的标准卷积,另一个分支是1×1的卷积,还有一个分支是恒等映射(identity mapping)。在训练阶段,这三个分支都会参与计算,并且通过加法操作进行融合。在推理阶段,这三个分支会被转化为一个等价的3×3卷积,从而减少计算量和参数量。YOLOv5s是一种轻量级的目标检测模型,它使用了多尺度特征金字塔(FPN)和深度可分离卷积(Depthwise Separable Convolution)来提高效率 。使用RepVGG Block替换YOLOv5s的卷积块可以让YOLOv5s在保持原有精度的同时能够提速。具体来说,就是将YOLOv5s中所有的3×3卷积替换为RepVGG Block,并且在训练结束后对RepVGG Block进行重参数化,将旁支的1×1卷积融合到3×3的卷积中。在训练时,该方法的实现方式是为每一个3x3卷积层添加平行的1x1卷积分支和恒等映射分支,构成一个RepVGG Block。集成坐标注意力机制和RepVGG Block后的整体主干网络结构框图如图1所示。

图1 改进算法的主干网络结构

2 实验结果及分析

2.1 实验环境

本文网络训练使用的硬件环境为腾讯云服务器,配置为Intel Xeon Cascade Lake 8255C(2.5 GHz),10核vCPU,40GB内存和1颗Tesla V100-NVLINK-32。操作系统为Ubuntu20.04,使用Python3.8 为计算机语言,并以Pytorch1.10.2作为深度学习框架。训练时的批量大小设置为64,初始学习率设置为0.01,训练轮次300轮。

2.2 数据集制作

本文实验所用数据集均由实地拍摄获得,包含大小为1008×1512像素的JPEG图像245张,如图2。为了提高检测的泛化能力,采用平移、镜像、拼接、灰度化等方法对数据进行增强处理。最终获得增强后的图像980张。使用labelImg图像标注软件对数据集进行标注,存储为YOLO格式。由于本文的研究对象为茶芽,将每张图像中的茶芽标签设置为“shoot”。

图2 部分茶芽数据集例子

2.3 评价指标

本文采用mAP、精确率(P)、召回率(R)这三个指标来评估模型的精度,采用参数量与模型大小来评估模型的轻量化效果,对比分析改进前后的YOLOv5算法在茶芽上的识别性能。由于本文只有“shoot”一个标签,本实验中的mAP等于AP。相关公式如下:

其中,TP表示预测为茶芽实际也是茶芽的样本数量,FN表示预测为茶芽实际不是茶芽的样本数量,FN表示预测不是茶芽实际也不是茶芽的样本数量。

2.4 实验结果与分析

本文将改进后的算法称为YOLOv5-CARV,改进前后的实验结果如下表。

由表1可知,改进后的YOLOv5算法相较改进前mAP提升了4.22%,召回率提升了8.07%,尽管精确率降低了1.94%,但参数量由7062718大幅降低至5500541,模型大小由14.5MB降低至11.3MB。本文算法之所以能取得更高的检测精度,得益于坐标注意力机制的引入,使网络的关注点更集中于未被遮挡的小目标上。同时,由于使用RepVGG Block替换原网络中的卷积块,并且在训练结束后对RepVGG Block进行重参数化,将旁支的1×1卷积融合到3×3的卷积中,大大减少了计算量和参数量,实现模型参数量降低至原模型77.88%,模型大小也较原模型减少了22.06%。综上所述,本文的改进方式在有效提升模型准确性的同时,大幅降低了计算量,达到了较好的轻量化效果,较好地实现了本文的研究目标,能够为将来在嵌入式设备上实现茶芽识别、自动采摘提供有效参考。

表1 YOLOv5算法改进前后对茶芽检测结果

3 结语

本文以YOLOv5算法作为茶芽检测的框架,在其颈部网络引入坐标注意力机制,并将卷积块替换为RepVGG,使模型能够更加关注到复杂背景下的小目标并大大减少了计算量。本文提出的YOLOv5-CARV算法在茶芽检测上表现更加出色,有着更高的识别精度、更小的模型体积和更少的计算量。本文方法因为具有对硬件设备要求低和计算量小的特点,更适合嵌入式设备末端部署。如何在嵌入式设备部署本文方法是今后研究的重点。

猜你喜欢
茶芽网络结构分支
基于Faster R-CNN复杂背景的茶芽检测
北缘茶区秋季修剪对茶树越冬及次年茶芽萌发影响的探讨
巧分支与枝
一类拟齐次多项式中心的极限环分支
我坐在窗前
上帝的糖
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
沪港通下A+ H股票网络结构演化的实证分析
复杂网络结构比对算法研究进展