基于改进YOLO v5的橙子果实识别方法

2023-11-14 11:30:08刘忠意魏登峰周绍发董雨雪
江苏农业科学 2023年19期
关键词:橙子注意力卷积

刘忠意, 魏登峰, 李 萌, 周绍发, 鲁 力, 董雨雪

(长江大学计算机科学学院,湖北荆州 434000)

橙子是中国高产量的水果之一,具有巨大的经济效应。然而,随着人工采摘成本不断增加,传统水果采摘的方式已经不太适用,开发自动化水果采摘机器人是当前的必然趋势[1]。如何精确识别目标果实是当前研发水果采摘机器人的重要难题。传统计算机视觉图像识别方法主要依靠形状、纹理和色差单个特征或多个特征的组合来识别。基于传统方法,Hussin等使用圆形霍夫变换方法检测芒果类物体[2];Payne等采用RGB以及基于相邻像素可变性的纹理分割,从背景中分割芒果[3];孙建桐等提出一种基于Canny边缘检测番茄分割方法[4]。这些方法只能在简单的场景中识别单一类型的水果,在复杂的自然环境下,它们很难适应枝叶遮挡、相邻果实重叠等情况,无法准确识别目标水果。当前基于卷积神经网络的深度学习算法已广泛应用于水果检测中。与传统的图像检测方法相比,深度学习是以数据为驱动,以大量数据为基础进行自我学习的方法。在深度学习方法中,Parvathi等使用Faster R-CNN网络用于检测复杂背景下椰子的2个重要成熟阶段[5];Tian等将改进YOLO v3网络用于检测不同阶段的苹果[6];Chen等将改进YOLO v4网络用于检测密集状态橘子[7]。这些方法虽然能够实现准确的检测,但使用网络结构太大,计算复杂度高,不适合部署在用于检测的嵌入式设备中。为了能够在复杂自然环境下实现对橙子的精准检测,本研究以YOLO v5网络为基础进行改进,能够在保证较高准确度的情况下,同时最大限度地降低复杂度。改进的网络首先在主干结构中使用RepVGG模块以提高特征提取能力;随后应用鬼影混洗卷积降低模型参数量;然后加入ECA注意力的模块准确定位目标信息;最后改进损失函数,加快边界框的回归。

1 材料与方法

1.1 数据来源

本研究使用数码相机和智能手机采集橙子图片,拍摄时间为2022年的9—12月,拍摄地点为中国橙子密集种植区域,分别为湖北省宜昌市和江西省赣州市,拍摄时按照不同距离和多种不同角度进行拍摄,共采集1 500多张未经任何处理的橙子图片,图片格式为JPG。为了增加样本数量,又通过网络获取300多张自然环境下的橙子图片。在收集的图片中,包括不同果实数量、不同生长阶段、不同背景、不同遮挡程度的图片。每张图片都包含橙子目标水果(图1)。

1.2 数据预处理

为了增强模型泛化能力,防止过拟合,对数据集进行数据增强。增强方式包括对图片进行等比例缩放、随机平移、使用不同亮度和垂直翻转等。数据增强后得到3 661张橙子图片,使用LabelImg标注工具对图片中橙子目标进行标注,在人工标注图片过程中,将所有完全暴露橙子的目标进行标注,对遮挡或有果实重叠的目标进行部分标注。图像中枝叶遮挡程度超过80%没有标注,2个果实重叠程度超过80%采用同一矩形框进行标注。再将标注好的图片进行划分,分成训练集2 439张、验证集611张、测试集611张(图2)。

1.3 方法

1.3.1 YOLO v5网络结构 YOLO v5网络结构主要由主干网络、颈部网络、预测头3个部分组成。

主干网络主要由C3、Conv、SPPF和其他特征模块组成,主要作用是提取输入图像的特征信息。

颈部网络主要由FPN(feature pyramid network)和PAN(path augmentation network)2个部分组成,其中FPN部分是将Backbone输出的多个特征层由上到下通过横向连接的方式进行融合,增加低分辨特征的语义信息;PAN是对FPN结构的补充,将低分辨特征与高分辨特征进一步融合,提高目标定位方面的能力,从而提高检测的准确率。

预测头主要由3个用于检测不同尺寸目标的检测层组成,每个检测层对输入的图像特征进行预测,生成目标边界框并判断类别。YOLO v5总体结构见图3。

1.3.2 模型改进

1.3.2.1 主干网络的改进 原始的YOLO v5模型采用CSPDarkNet53作为主干特征提取网络[8],在非密集和不存在遮挡目标的情况下对特征提取能力表现优异,但对于密集且存在果实重叠和枝叶遮挡的复杂自然环境下,模型对橙子特征的提取能力有限。RepVGG是一个简单且计算效率高的卷积神经网络模块[9]。RepVGG模块主要由3×3卷积分支、1×1卷积残差分支和恒等连接残差分支组成。该模块在训练和推理阶段使用不同的网络结构。模型在训练阶段更加关注模型精度,其采用3×3卷积作为主分支结构,同时在3×3主分支的基础上引入1×1卷积的残差分支和恒等映射残差分支。多分支结构的使用给网络增加多条梯度流动的路径,可以提供更多有效的特征信息,增加模型的表征能力。另外,多分支的残差结构也能保证不会在网络训练过程中出现因模型加深而出现梯度退化和消失的问题。在推理阶段,模型更加关注速度,通过使用重参数融合的策略将所有网络层等价转化为以3×3卷积为主分支的网络结构,保证模型拥有强大的特征提取能力,且能够实现高效的推理(图4)。

本研究使用RepVGG模块来替代CSPDarkNet53主干网络中的C3模块,加强主干网络对这些难以获取的目标进行特征获取。

1.3.2.2 鬼影混洗卷积改进 在网络推理过程中,模型的运行速度和检测精度同等重要。相对于传统卷积操作,采用深度可分离卷积可明显降低模型运算参数量[10]。但对于多个属性的提取和融合,深度可分离卷积并不是很强。为了平衡二者的作用,引入鬼影混洗卷积[11],它能够在保证精度的前提下,降低模型的运算参数量。

由图5可知鬼影混洗卷积的原理:先将输入通道数为C1的特征图通过传统标准卷积得到输出通道数一半,即C2/2通道的特征图,然后经过深度可分离卷积得到另一个通道数相同的特征图,把2个特征图在通道数进行拼接,最后通过通道混洗操作将产生的信息渗透到特征图的每一个部分,得到最终的特征图[12]。

输入的图像在主干网络提取特征过程中空间信息逐步向通道传输,且每次特征图的宽度和高度压缩和通道扩展都会导致语义信息部分丢失,而在颈部网络阶段空间信息基本完全转化为通道信息,此时通道维度达到最大,宽度维度达到最小,不需要进行空间信息转换。所以,本研究在网络的颈部网络阶段使用鬼影混洗卷积替代标准卷积,能够避免丢失特征信息。

1.3.2.3 ECA注意力改进 注意力机制是一种仿生物视觉机制。通过快速扫描全局图像,筛选出感兴趣的区域,投入更多的注意力资源,并抑制其他无用信息,从而提高视觉信息处理的效率与准确性[13]。

橙子在检测过程中很容易受到背景环境等因素的影响,导致原始的YOLO v5网络在推理过程中容易丢失目标的表征信息,从而导致检测精度差。本研究将ECA注意力嵌入到模型的输出端,增强网络对橙子的关注度,降低自然背景等其他因素的影响,提高网络的识别精度[14]。

ECA注意力和SE注意力见图6,其中G表示全局平均池化,σ表示激活函数,o表示逐元素相乘,r表示通道压缩率。ECA注意力在SE注意力的基础上,去掉SE注意力中的全连接层,因为2个全连接层直接使用进行通道降维,会影响通道注意力的准确性[15]。ECA注意力在全局平均池化过程后使用一个可以权重共享的卷积核进行特征学习,在降低模型计算复杂度的同时,可以避免通道维度缩减对预测网络的准确性产生影响。

图6-b中的K表示跨通道信息交互作用的覆盖范围。K和通道C之间的关系见公式(1)。

(1)

1.3.2.4 EIOU损失函数改进 在自然环境中检测尺度较小的橙子目标时,预测框的少量偏移和缩放会对检测精度产生重大影响。原始的YOLO v5网络采用CIOU作为位置回归损失函数,其计算公式为

(2)

式中:IOU(intersection over union)表示模型预测的目标框和实际真实目标框重叠区域与并集区域的比值;p2(b,bgt) 表示模型预测目标框和实际真实框的中心点距离;c表示能同时包含模型预测目标框和实际真实框最小闭包区域的对角线距离;a表示平衡比例的参数;v表示模型预测的目标框和实际真实框的长宽比的一致性。其中,a和v的公式分别为

(3)

(4)

CIOU的缺点是预测框和真实框的宽和高呈现线性比例时, 会导致预测框的宽和高不能同时增大或减少,这样会阻碍网络快速和准确收敛。EIOU改进了CIOU的缺点,将反映纵横比之间差异的影响因子v拆分为预测的宽高与最小外接框宽高的差值,从而可以更快地使目标框与预测框收敛,并提高边界框的回归精度[16]。EIOU的公式为

(5)

式中:p2(w,wgt)、p2(h,hgt)分别表示预测框的宽和高与真实框的中心点的宽和高的距离;c、Cw、Ch分别表示真实框和预测框最小外接矩形的对角线、边宽、边长。

CIOU和EIOU损失函数在预测框回归过程的迭代示意见图7。可以看出EIOU在回归过程中解决了CIOU的宽和高不能同时增大或减少的问题。

1.3.2.5 改进后的整体网络结构 改进后整体的网络结构见表1。参数设置是当前层模块所需要的参数信息,参数设置包括输入通道数、输出通道数、卷积核大小、步长信息以及填充大小。

表1 改进的YOLO v5网络结构

2 结果与分析

2.1 试验环境

试验的搭建、训练以及测试都是使用同一平台。试验环境:CPU为Intel® Xeon® Platinum 8358P CPU @ 2.60 GHz,运行内存为80 G,GPU为GeForce RTX 3080, 操作系统为Linux, 深度学习框架为PyTorch,CUDA版本为11.1。试验时间为2022年12月至2023年2月,试验地点为长江大学计算机科学学院。

2.2 超参数设置

本研究在改进的YOLO v5试验中使用表2的超参数。

表2 改进的YOLO v5模型超参数

2.3 评估指标

本研究采用精准率(precision,P)、召回率(recall,R)、平均精度(mean average precision,mAP)、计算量(GFLOPs)和参数量(params)作为评价指标。其中,平均精度表示loU阈值为0.5时的平均检测精度,GFLOPs表示10亿次/s的浮点运算数。精准率、召回率、平均精度的具体公式分别为

(6)

(7)

(8)

(9)

式中:TP(true postives)表示网络预测为正类、实际也为正类的样本数量;FP(false postives)表示网络预测为正类、实际为负类的样本数量;FN(false negatives)表示网络预测为负类、实际为正类的样本数量。

2.4 消融试验

为了更好地验证本研究所提出的改进方法具有有效性,对所提出的改进方法进行一系列的消融试验,在试验中使用相同的数据集进行测试,试验结果见表3。

表3 消融试验

由表3可知,在加入每一种改进方法后,网络平均精度都会有一定提升,表明本研究改进方法有效。

2.5 对比试验

2.5.1 注意力对比试验 为了验证ECA注意力机制的有效性,本研究将ECA注意力与其他热门注意力模块进行对比试验,将ECA注意力模块与BoTNet(bottleneck transformers)注意力模块、CBAM(convolutional block attention module)注意力模块、SimAM(simple attention module)注意力模块进行对比,发现ECA注意力的检测精度更高(表4)。

表4 不同注意力对比试验结果

2.5.2 不同模型对比试验 为了体现所提出网络的优越性,本研究选取目前热门的深度学习目标检测算法作为对比,选用的对比网络分别是CenterNet、YOLO v3、YOLO v4。试验中采取相同数据集划分策略(表5)。

表5 不同网络模型对比试验结果

由表5可知,与CenterNet、YOLO v3、YOLO v4和原始YOLO v5网络相比,改进的YOLO v5具有最高平均精度。改进的YOLO v5网络在模型权重大小、计算量和参数量上略大于改进前,但远远小于其他网络。改进后网络权重大小为18.6 MB, 计算量为23.1 GFLOPs,参数量为9.6 M。与上述4种网络相比,改进的YOLO v5在平均精度上分别提升4.4%、6.4%、6.3%、0.9%。综上,改进后的YOLO v5不仅拥有良好的检测精度,且相比其他网络在模型权重大小、计算量和参数量方面均有减小。

2.6 结果分析

选取不同环境下的橙子图片,使用改进后的YOLO v5网络进行测试,检测结果见图8。

由图8可知,改进的YOLO v5在无遮挡、果实重叠、枝叶遮挡和密集小目标4种情况下,对于绝大部分橙子目标都能够较准确地检测出来。表明改进的网络对不同环境下的橙子检测具有较好的泛化性。

为了直观验证改进后的YOLO v5网络的检测效果,选用不同网络模型进行对比测试,检测结果见图9。

由图9可知,5种网络对没有枝叶遮挡、果实重叠且正常大小目标基本都能够正确地检测出来,但对存在枝叶遮挡和果实遮挡的条件下,网络表现差异明显。其中,CenterNet、YOLO v3和YOLO v4在检测存在枝叶遮挡和果实遮挡目标时,出现大部分漏检情况。原始的 YOLO v5和改进的YOLO v5在检测遮挡目标时,虽然也存在少量漏检,但相比其他网络表现,漏检数目较少,且改进的YOLO v5网络在检测目标时平均置信度较高。综合分析可知,改进的YOLO v5网络对遮挡和重叠的橙子目标检测效果更好,更适合在复杂的自然环境下进行检测。

3 结论

针对自然条件下的橙子检测任务,本研究提出一种改进的YOLO v5检测方法,首先,在主干网络结构中使用RepVGG模块,提高对橙子目标特征的提取能力;其次,应用鬼影混洗卷积降低模型参数量;再次,加入ECA注意力模块,其能够更加准确定位目标信息;最后,改进损失函数,提升位置边界框的回归精度。改进的网络在自然环境的橙子检测中平均精度达到90.1%,相比于目前热门的检测网络CenterNet、YOLO v3和YOLO v4,改进的YOLO v5网络在枝叶遮挡、相邻果实重叠等复杂情况下,橙子识别效果可以得到一定的提升。后续,将会继续优化网络,并将使用现有模型应用于果园计数和产量预测等任务中。

猜你喜欢
橙子注意力卷积
满意还是不满意
偏旁之差
让注意力“飞”回来
基于3D-Winograd的快速卷积算法设计及FPGA实现
橙子变变变
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
传媒评论(2017年3期)2017-06-13 09:18:10
A Beautiful Way Of Looking At Things
橙子的圣诞劫