APP下载

采用改进YOLOv4-Tiny模型的柑橘木虱识别

2021-11-25胡嘉沛黄河清洪添胜曾镜源

农业工程学报 2021年17期
关键词:木虱小批量柑橘

胡嘉沛,李 震,2,黄河清,洪添胜,姜 晟,曾镜源

(1. 华南农业大学电子工程学院,广州 510642; 2. 国家柑橘产业技术体系机械研究室,广州 510642;3. 华南农业大学工程学院,广州 510642; 4. 广东省山区特色农业资源保护与精准利用重点实验室,梅州 514015)

0 引 言

黄龙病是当前全球范围内最严重的柑橘疾病之一,对世界柑橘产业构成巨大威胁[1]。柑橘木虱是柑橘黄龙病的主要传播媒介[2],对柑橘木虱进行检测与防控可以有效地控制黄龙病传播[3]。目前常用的检测方法都依赖于人工检测,如通过黄色粘虫板或捕虫网采集计数和使用塑料棒敲打枝干取样[4]。此类方法存在实时性差、工作效率低和劳动强度大等缺点[5-6]。因此,研究柑橘木虱高效精确检测的关键技术对于黄龙病防控具有十分重要的意义。

近年来,随着机器视觉技术的快速发展,卷积神经网络已经被广泛应用于各类农作物病虫害的检测。Zhou等[7]以卷积神经网络为基础,提出用于检测油菜病虫害的深度学习模型,识别率为96%。Wang等[8]使用改进的YOLOv3检测番茄的12种病虫害,识别率为92.39%。Selvaraj等[9]基于卷积神经网络和迁移学习方法提出了可识别8种香蕉病虫害的检测模型,识别的平均精度高于90%。以上研究的开展证明了机器视觉技术应用于农作物病虫害检测切实可行,为卷积神经网络应用于柑橘病虫害识别提供了参考。

对于自然环境下柑橘病虫害的识别问题,国内外学者已提出了多种基于卷积神经网络的解决方案。You等[10]基于压缩卷积神经网络,提出一种适用于移动端的柑橘病虫害分类方法,在共有16 528幅图像的数据集进行训练和测试,其中包含14种柑橘病虫害,分类的准确率达到93.2%。Xing等[11-12]在柑橘病虫害分类领域开展系列研究,首先构建一个共有12 561幅图像的数据集,包含24类柑橘病虫害,其中柑橘木虱图像有359张,其次提出柑橘病虫害分类模型WeaklyDenseNet和BridgeNet-19,分类的准确率分别为93.42%和95.47%,模型大小分别为30.5和69.8 MB。上述研究主要应用于辅助农户进行柑橘病虫害分类,模型的输出不包含检测目标的位置和数量信息,无法精确地判断虫害情况,不适合应用于柑橘木虱监测。Partel等[5]以四轮摩托为行走机构,通过气动敲击机构拍打柑橘树的枝干,使柑橘木虱跌落至白色背景的观察台,结合计算机视觉技术实现柑橘木虱检测,其中检测算法采用YOLOv1和YOLOv3目标检测模型,在8 800幅白色背景的柑橘木虱图像进行训练和测试,识别准确率为80%,召回率为95%;该设备通过机器敲打取样,解决了柑橘木虱个体小和在果园中容易被叶片遮挡等导致模型识别准确率低的问题。中国橘园机械作业环境复杂[13],柑橘树行株距不统一,且大部分在山坡地种植,不便于使用上述设备和敲打取样,通过小型嵌入式设备直接检测果树上的病虫害是更合适的解决方案[14]。

综上,本研究以果园场景下采集的柑橘木虱图像为研究对象,以柑橘木虱为检测目标,利用数据增强方法构建柑橘木虱彩色图像数据集,以适用于嵌入式硬件平台的YOLOv4-Tiny模型为基础,改进模型的颈部网络,优化批归一化方法并在训练阶段引入Mosaic数据增强,并通过试验测试模型识别果园场景柑橘木虱的效果,以期为实现柑橘木虱的快速精确监测提供参考。

1 材料与方法

1.1 试验数据采集

本研究试验数据采集于华南农业大学东区果园和工程学院果园,采集时间为2020年6月25日-2020年8月24日。为获取不同自然光照强度下的柑橘木虱图像,每天分为3个时间段进行采集,分别为9:00-11:00、14:00-15:00和17:00-18:00。使用手持式照相器材(荣耀20,华为,中国)对果树上的柑橘木虱成虫进行拍摄,拍摄距离为4~6 cm。获得田间柑橘木虱图像2 024张,涵盖3 024×4 032、2 592×1 944和1 200×1 600(像素)3种分辨率。在此基础上,又加入117张由全国各地柑橘专家或果农拍摄的柑橘木虱图像,最终数据集包含2 141张原始图像。

1.2 数据集构建

为防止训练数据量过少发生过拟合现象,本研究参考通用方法[15-16],对图像进行数据增强处理,包括随机调节对比度、随机调节亮度、加入高斯噪声、加入伽马噪声、限制对比度自适应直方图均衡(Contrast Limited Adaptive Histogram Equalization,CLAHE)、中值模糊、水平翻转、垂直翻转和转置,每张原始图像都生成9张新图像,最终柑橘木虱数据集包含21 410幅图像。

使用Labelimg工具标注每张图片中的柑橘木虱目标所在区域,柑橘木虱数据集按照7∶1∶2的比例划分为训练集(14 990张)、验证集(2 140张)和测试集(4 280张),每个数据集都包含自行采集的图像和全国各地柑橘专家或果农拍摄的图像。

1.3 检测模型

本研究以YOLOv4-Tiny模型为基础,设计柑橘木虱识别模型。YOLOv4-Tiny模型结构精简、推理速度快,适用于嵌入式硬件平台。但是,该模型对果园场景下柑橘木虱的识别精度有待提高,需要进一步优化完善。

1.3.1 YOLOv4-Tiny模型改进

柑橘木虱目标的体型较小,本研究按照微软公开数据集MS COCO的标准,将图像中分辨率小于32×32 (像素)的柑橘木虱目标定义为小目标。YOLOv4-Tiny模型的主干网络中包含3个跨阶段局部(Cross Stage Partial,CSP)模块,分别为CSP1、CSP2和CSP3。其中,CSP2层包含的位置信息更准确,细节信息更多,但语义信息较少。CSP3层包含更多的语义信息,但细节信息少、位置信息粗糙,许多小目标的位置信息和细节信息丢失。为提高YOLOv4-Tiny模型对柑橘木虱小目标的识别精度,本研究对其结构进行改进,提出改进的YOLOv4-Tiny模型,具体结构如图1所示。在原YOLOv4-Tiny模型的颈部网络中添加一条与主干网络CSP2层相连的路径,并将检测尺度由2个扩展至3个。CSP2层和上采样层(UP层)的输出在通道维度上进行连接操作,融合这两层的特征图,随后经过2个CBL模块,最终得到相对输入图像分辨率像素8倍下采样的特征图。对于分辨率为416×416(像素)的输入图像,改进的YOLOv4-Tiny模型输出3个尺度的特征图,分辨率分别为13×13、26×26和52×52(像素)。

1.3.2 交叉小批量归一化(CmBN)方法

在目标检测任务中,由于显卡内存容量的限制,批归一化(Batch Normalization,BN)方法对统计信息的估算不准确,容易导致模型的误差增加[17]。因此本研究使用交叉小批量归一化(Cross mini-Batch Normalization,CmBN)方法代替原YOLOv4-Tiny模型中的BN方法。在训练模型时,批量的训练集图像数据被平均分成若干个小批量分别传入模型进行前向传播,一次迭代完成前模型的权重不变,所以同一个批量中的小批量统计信息可以直接叠加。CmBN方法的实现步骤如下:

1)结合前i-1个小批量训练集图像数据的卷积层输出信息,计算第i个小批量的均值和标准差;

2)将第i个小批量数据的卷积层输出转换成均值为0、方差为1的正态分布;

3)使用可学习参数对第i个小批量数据标准化后的卷积层输出进行线性变换,以增加其表达能力。

CmBN方法的前向传播计算过程如式(1)~式(5)所示:

式中l为卷积层的层数,t为小批量的索引值,m为小批量数据的大小,i为小批量数据的索引值,τ为小批量索引值的序号,为第i个小批量中第i批数据在第l层卷积层的输出,分别为第t和t-τ个小批量在第l层卷积层的输出均值为第t个小批量在第l层卷积层输出均值的平方和为第t个小批量在第l层卷积层输出的标准差,C为增加数值稳定性而添加的常数为第t个小批量中第i批数据在第l层卷积层归一化后的输出,γ和β为可学习的缩放和平移参数,为第t个小批量中第i批数据在第l层卷积层的输出经过交叉小批量归一化后得到的结果。

1.3.3 Mosaic数据增强

由于柑橘木虱尺寸小,在拍摄时极易被叶片、叶柄等非检测目标遮挡,严重影响目标识别的准确率。针对上述问题,本研究在训练模型时引入Mosaic数据增强,以提高模型对遮挡目标的识别能力。在每一次迭代开始前,深度学习框架不仅会从训练集读取图像,而且会通过Mosaic数据增强生成新图像,随后将新生成的图像和读取的图像组合成训练样本,输入到模型进行训练。Mosaic数据增强从柑橘木虱训练集中随机选取4张图像,分别对4张被选中图像进行随机裁剪,将裁剪后的图像按顺序拼接得到1张新图像,Mosaic数据增强生成图像与4张训练集图像的分辨率保持一致。在随机裁剪的过程中训练集图像目标框的一部分可能会被裁掉,从而模拟柑橘木虱被枝叶等物体遮挡的效果。

此外,本研究对Mosaic数据增强进行优化,提出改进的Mosaic数据增强,以交并比(Intersection-over-Union,IoU)作为指标,结合标定数据集时所使用的相关标准设定阈值,用于筛选新生成图像中的目标框。改进的Mosaic数据增强按照Mosaic数据增强的步骤生成新图像,并对新生成图像中的目标框进行过滤,如果新图像目标框与相应原图目标框的IoU小于阈值,删除新图像中的目标框,认为此处不存在柑橘木虱目标。反之,如果新图像目标框与相应原图目标框的IoU大于或等于阈值,则保留新图像中的目标框,认为此处存在柑橘木虱目标。

1.4 模型训练与测试

1.4.1 试验平台

计算机配置为Intel Core i7-10700 处理器,主频2.90 GHz,运行内存为16 GB,显卡为Nvidia GeForce RTX 2080Ti,操作系统为Ubuntu16.04 LTS,深度学习框架为Darknet和PyTorch。嵌入式硬件平台分别选用Jetson nano和Raspberry Pi 4B,运行内存均为4 GB。

1.4.2 模型训练

在模型训练时,将训练集图像的分辨率全部转换为416×416(像素)。优化器使用小批量梯度下降法(Mini-batch Gradient Descent,MBGD),批量设置为64,小批量设置为16。权值的衰减速率设为0.000 5,动量设置为0.9。模型迭代次数为20 000次,每迭代1 000次保存一次模型权重,最终选择模型识别精度最高的权重。初始学习率为0.002 61,衰减系数为0.1。

1.4.3 评价指标

采用推理速度(ms/帧)作为模型识别速度的评判指标,推理速度为模型识别一幅图像所需要的时间[18]。采用平均精度(Average Precision,AP,%)作为模型识别精度的评判指标[19-20]。AP与模型的准确率(Precision,P,%)和召回率(Recall,R,%)有关,P、R和AP的计算如式(6)~式(8)所示:

式中TP为被正确地检测为柑橘木虱的数量,FP为被错误地划分为柑橘木虱的数量,FN为图像中目标被漏检的数量。

2 结果与分析

2.1 YOLOv4-Tiny模型改进前后的性能对比试验

YOLOv4-Tiny模型和改进的YOLOv4-Tiny模型对测试集的试验结果如表1所示。其中平均精度为模型对测试集中柑橘木虱的识别精度,小目标对应模型识别测试集中分辨率小于32×32(像素)柑橘木虱的平均精度,所有目标对应模型识别测试集中所有柑橘木虱的平均精度,小目标在测试集所有目标中的占比为25.33%。YOLOv4-Tiny模型识别测试集中小目标和所有目标的平均精度分别为78.85%和94.02%。改进的YOLOv4-Tiny模型识别测试集中小目标和所有目标的平均精度相比原模型分别提高了4.29和1.02个百分点。改进的YOLOv4-Tiny模型的颈部网络减少了主干网络中低层特征图细节信息和位置信息的流失。新增加的特征图感受野较小,适合检测图像中分辨率较低的柑橘木虱目标,提高了模型对小目标的检测能力。改进的YOLOv4-Tiny模型的模型大小增加了1 MB,每一幅图像的推理时间增加了0.26 ms。改进后的模型只在颈部网络增加3个卷积层、1个上采样操作和1个连接操作,模型的主干网络并没有改变。因此改进后的YOLOv4-Tiny模型在提高检测精度的同时保持较快的推理速度。

表1 YOLOv4-Tiny模型改进前后的平均精度、推理速度和模型大小对比Table 1 Comparison of average precision, inference speed and model size of YOLOv4-Tiny model before and after improvement

2.2 CmBN与BN方法的对比试验

以YOLOv4-Tiny模型和改进的YOLOv4-Tiny模型为基础,分别使用BN和CmBN作为模型的归一化方法,并用相同的训练参数对模型进行训练,在测试集中的平均精度对比如表2所示。使用BN作为归一化方法,YOLOv4-Tiny模型和改进的YOLOv4-Tiny模型的平均精度分别为94.02%和95.04%。使用CmBN作为归一化方法可以令2个模型的平均精度分别提高0.66和0.27个百分点。由于设备限制,本试验以4幅图像作为1个批次进行小批量训练。BN只能使用当前小批量的卷积层输出特征,所以统计信息不准确,导致BN的性能下降,而CmBN则通过累积小批量的信息,变相地实现扩大样本数,使统计信息的估算更准确。因此使用CmBN归一化方法可以提高改进的YOLOv4-Tiny模型识别柑橘木虱的平均精度。

2.3 Mosaic数据增强改进前后的性能对比试验

以YOLOv4-Tiny模型和改进的YOLOv4-Tiny模型为基础,使用BN作为归一化方法,对比在训练模型时不使用Mosaic数据增强、使用Mosaic数据增强和使用本研究提出的改进的Mosaic数据增强的情况下,模型在测试集中的平均精度,试验结果如表2所示。本研究所使用的数据集不标注遮挡超过80%的柑橘木虱,结合试验将改进的Mosaic数据增强的阈值设定为0.2。使用Mosaic数据增强后,YOLOv4-Tiny模型和改进的YOLOv4-Tiny模型的平均精度分别为94.93%和95.48%,2个模型的平均精度比不使用Mosaic数据增强分别提高0.91和0.44个百分点。Mosaic数据增强生成的图像使模型在训练过程中仅通过局部特征对目标进行识别,强化模型对柑橘木虱局部特征的认知,弱化模型对于目标全部特征的依赖。使用本研究提出的改进的Mosaic数据增强后,2个模型的平均精度分别提高了1.18和0.57个百分点,进一步提升了模型的识别效果。

表2 改进前后的YOLOv4-Tiny模型使用不同归一化方法和Mosaic数据增强的平均精度Table 2 Average precision of different normalization methods and Mosaic data augmentations for YOLOv4-Tiny model before and after improvement

Mosaic数据增强改进前后生成的图像如图2所示。Mosaic数据增强生成图像中的白色目标框由于IoU低于阈值(图2a和图2b),在相应的改进的Mosaic数据增强生成的图像中均被删除(图2c和图2d)。Mosaic数据增强会产生只包含极少柑橘木虱目标信息甚至完全没有目标信息的目标框,这类含有歧义的目标框会导致模型的学习变得困难,而结合IoU改进后的Mosaic数据增强可以过滤部分含有歧义的目标框。

2.4 不同模型的性能对比

为对比本研究提出的模型与常用典型模型[22]的效果,分别对典型模型快速区域卷积神经网络(Faster Region Convolutional Neural Networks,Faster R-CNN)、YOLOv4、YOLOv4-Tiny和本研究提出的改进的YOLOv4-Tiny 模型采用柑橘木虱数据集进行训练和测试,并将深度学习框架和训练后的模型移植到Jetson nano和Raspberry Pi 4B,测试模型在嵌入式硬件平台上的推理速度,其中改进的YOLOv4-Tiny 模型同时使用了CmBN方法和改进的Mosaic数据增强。不同模型对被遮挡柑橘木虱和小目标柑橘木虱的检测结果如图3所示,对于被枝叶遮挡的柑橘木虱,Faster R-CNN和本研究提出的改进YOLOv4-Tiny模型的检出率最高,识别出全部目标,而YOLOv4和YOLOv4-Tiny模型对于被遮挡的目标均存在漏检的情况。小目标柑橘木虱图像中的检测目标共计2个,Faster R-CNN、YOLOv4和本研究提出的改进的YOLOv4-Tiny模型都可以识别出全部柑橘木虱目标,而YOLOv4-Tiny模型只识别出1个。

Faster R-CNN、YOLOv4、YOLOv4-Tiny和改进的YOLOv4-Tiny 模型的平均精度、推理速度和模型大小的统计如表3所示,其中平均精度包括模型对训练集、验证集和测试集的平均精度,推理速度包括模型在图形处理器RTX 2080Ti与嵌入式硬件平台Jetson nano和Raspberry Pi 4B的推理速度。本研究提出的改进的YOLOv4-Tiny模型对测试集中柑橘木虱目标的平均精度最高(96.16%),比Faster R-CNN高1.69个百分点,此外Faster R-CNN为二阶段网络,模型大推理速度慢,不适用于嵌入式设备。改进的YOLOv4-Tiny模型较YOLOv4模型的模型大小缩小近10倍,在图形处理器RTX2080 Ti上的推理速度快了3倍以上,两者的平均精度相近。YOLOv4-tiny模型的平均精度比改进的YOLOv4-Tiny模型低2.16个百分点,在推理速度和模型大小方面与本研究提出的改进模型相近。本研究提出的改进的YOLOv4-Tiny模型不会在推理过程中引入太多额外的算力和内存开销,该模型在具备高识别精度的同时,保持结构精简和推理速度快的优点,所需要的算力资源较小,适合部署于嵌入式硬件平台。

表3 不同模型的平均精度、推理速度和模型大小对比Table 3 Comparison of average precision, inference speed and model size of different models

3 结 论

1)本研究基于YOLOv4-Tiny模型提出一种果园自然环境下的柑橘木虱目标检测模型。通过改进YOLOv4-Tiny模型的颈部网络,利用浅层卷积层包含的位置信息和细节信息,提高了模型对柑橘木虱小目标的识别能力。使用交叉小批量归一化方法替代卷积层的批归一化方法,提高统计信息的准确度,有效地提升了网络的检测精度。

2)本研究为提高模型对遮挡目标的识别能力,在训练模型时使用Mosaic数据增强,强化模型对柑橘木虱局部特征的认知,并通过交并比指标优化Mosaic数据增强,减少含有歧义的目标框,帮助模型更好地学习特征。

3)本研究制作了自然场景下的柑橘木虱数据集用于模型的训练和测试,试验结果表明,本研究提出的各项改进方法均能提升模型对柑橘木虱的识别精度,改进的YOLOv4-Tiny模型融合交叉小批量归一化方法和改进的Mosaic数据增强后,识别柑橘木虱的平均精度达到96.16%,在图形处理器上的推理速度为3.63 ms/帧,且模型大小为24.50 MB。该模型对果园环境下的柑橘木虱检测性能良好,可对黄龙病防控技术以及柑橘木虱监测装备的研制提供参考。

猜你喜欢

木虱小批量柑橘
赣南柑桔木虱发生动态与携带黄龙病菌变化研究
打破多品种、小批量的行业魔咒——通往高质量发展的智能制造之路
矿物油乳剂对柑橘木虱定殖行为的影响
柑橘家族
柑橘的秘密
精益生产在多品种小批量生产方式中的应用分析
多品种小批量生产经营中质量管理系统的分析与研究
阿尔及利亚将实现柑橘自给自足的目标
印度柑橘产业不景气
美国加利福尼亚州找到第一个柑橘木虱