基于迁移学习与GhostNet模型的农业害虫图像识别研究

2023-01-02 12:07尚皓玺郭小燕朱恒宇
软件导刊 2022年11期
关键词:害虫标签准确率

尚皓玺,郭小燕,朱恒宇

(1.甘肃农业大学信息科学技术学院,甘肃兰州 730070;2.济南大学数学科学学院,山东济南 250000)

0 引言

虫害问题是影响农业生产产量和质量的关键因素之一[1-2],农业虫害防治对智能化害虫检测与识别提出了新要求,若能快速、准确地发现与识别害虫并及时采取防御措施,可有效降低虫害带来的损失。传统的作物害虫识别依赖于经验丰富的专家,存在主观性强、准确率低、成本高等问题。随着人工智能技术的发展,以及VGG[3]、ResNet[4]等经典卷积神经网络模型的提出,基于深度学习的农业害虫识别技术已成为一个研究热点[5]。张善文等[6]在VGG-16 模型基础上引入可形变卷积,构建一种能够适应不同形状、状态和尺寸等几何形变害虫特征的VGG-16 模型,并应用于田间作物害虫检测,在实际田间害虫图像数据库上的检测准确率为91.14%;Wu 等[7]构建一个用于农作物害虫识别的数据集IP02,使用ResNet 网络对数据集中的害虫图片进行分类,但由于未对数据集图像进行筛选处理,分类准确率仅为49.4%;赵立新等[8]以棉花叶部病虫害图像为研究对象,利用PlantVillage 大数据集训练AlexNet 模型取得预训练模型,准确率为93.50%,之后使用数据增强方法扩充数据集,准确率为97.16%。

采用上述传统卷积神经网络对作物害虫进行识别,模型体积较大,训练耗费资源多,且需要大量样本数据作为模型训练的基础,因此近年来也不断有学者探索小样本条件下的轻量级农业害虫识别模型。如杨明欣等[9]提出一种改进迁移学习神经网络的玉米病害识别方法,采用基于迁移的MobileNetV2 模型与Focal Loss 函数对网络进行训练,识别准确率为97.23%,网络参数权重为8.69 MB;李静等[10]为了解决玉米螟虫害图像识别准确率和效率低的问题,通过数据增强扩充样本,之后使用迁移学习将Inception-v4 网络结构知识转移到玉米螟Pyrausta nubilalis 虫害识别任务中,识别准确率达到96.44%;杨红云等[11]为了实现水稻害虫的快速、准确识别,提出基于迁移学习和卷积神经网络的水稻害虫识别方法,将VGG16 模型在图像数据集ImageNet 上训练得到的权重参数迁移到水稻害虫识别中,该模型的平均测试准确率为99.05%,模型文件大小为74.2M;鲍文霞等[12]设计一个由特征提取、全局优化及局部优化模块构成的轻量型残差网络用于水稻害虫识别,实现了模型的轻量化,网络在13 类水稻害虫图像测试数据集上的识别准确率达到92.5%,并且网络参数量仅为1.62×106。

以上研究在农业害虫识别模型的轻量化方面已取得了一定进展,准确率也较高,但大部分研究只针对某一类农作物害虫进行识别,将GhostNet 网络应用于农作物害虫识别领域的案例还很少[13]。为此,本文从农作物害虫防治入手,构建一个包含10 类农业害虫图像的数据集Cron Pest,尝试将迁移学习技术与轻量级卷积神经网络Ghost-Net 相结合以构建一个农业害虫检测网络。针对农业害虫样本数量较少的问题,使用数据增强技术增加样本数量,应用迁移学习方法训练模型,防止模型在训练中无法收敛,从而提高模型识别准确率。最终得到Migrated Ghost-Net 模型,识别准确率与召回率分别为93.64%与93.89%。与上文提到的模型相比,本文模型在低资源占用情况下实现了较高的害虫识别率,在农业害虫识别方面作出了新的探索与尝试,可进一步应用于实际的农业害虫防治中。

1 材料与方法

1.1 实验环境

实验使用的硬件配置为:华擎B450 主板、Inter(R)Core i7-8700K CPU、16G DDR4 2666MHz 内存、NVIDIA Geforce GTX1080 Ti 显卡,软件配置为:CUDA11.1、Cudnn8.0.4、Python3.7.0,并采用Pytorch1.8.0 深度学习框架,以及Ubuntu18.04操作系统。

1.2 数据来源与处理

1.2.1 数据来源

使用IP102 论文提供的开源农业害虫数据集构建本文的害虫数据集,该数据集共有害虫类别102 类,共计超过75 000 张害虫图片[7]。本文从中选择10 类害虫图像,去除每类图像中分辨率较低、有严重干扰信息的图片后,筛选出1 137 幅害虫图片,用于构建本文自用的害虫分类数据集Cron Insect。其中,蝼蛄(Grub)129 幅,红蜘蛛(Red spider)124 幅,白星花金龟(Potosiabre vitarsis)123 幅,跳甲(Flea beetle)95 幅,甜菜象甲(Meadow moth)99 幅,蝗虫(Locustoidea)104 幅,芫菁(Blister beetle)120 幅,盲蝽(Miridae)117 幅,青蛾蜡蝉(Salurnis marginella Guerr)97 幅,叶蝉(Cicadellidae)129 幅。这10 类图像被放在10 个不同的文件夹中,每个文件夹代表一个类别标签。标签0 为蝼蛄,标签1 为红蜘蛛,标签2 为白星花金龟,标签3 为跳甲,标签4 为甜菜象甲,标签5 为蝗虫,标签6 为芫菁,标签7 为盲蝽,标签8为青蛾蜡蝉,标签9为叶蝉。

图1 为Cron Pest 数据集害虫示例图像(彩图扫OSID码可见,下同)。

1.2.2 数据增强

为了增强卷积神经网络的鲁棒性,使训练出来的网络更加稳定,本文对Cron Insect 数据进行如图2 所示的随机数据增强,以丰富数据的多样性,防止模型过拟合。主要采取多角度旋转、错变换、随机缩放、随机翻转、亮度调整等方式,将害虫图像数据扩充为原来的3 倍,并将图片尺寸统一处理为224×224。数据集共有3 413 幅害虫图像,按照8:1:1 的比例划分为训练集、验证集和测试集。图2 为数据增强方式,表1 给出了Cron Pest 数据集中每类害虫图像数量。

1.3 模型构建与优化

1.3.1 GhostNet卷积神经网络

GhostNet 是一种轻量级深度学习网络,其对传统卷积网络计算过程中特征图冗余的问题进行改进,采用与深度可分离卷积类似的计算过程对图像特征进行提取[14]。先用标准卷积(即Conv+BN+Activation)生成部分原始特征图,再用深度卷积生成原始特征图的“幻影”特征图(Ghost feature maps),接下来利用线性变换生成恒等映射特征图(Intrinsic feature maps),最后将原始特征图与恒等映射特征图叠加得到输出特征图。

Table 1 Number of pest images in Cron Pest dataset表1 Cron Pest数据集中害虫图像数量

Fig.1 Cron Pest dataset pest images图1 Cron Pest数据集害虫图像

Fig.2 Pest image data enhancement example图2 害虫图像数据增强示例

假定输入数据X∈Rh×w×c,其中c 是输入通道数,h、w是高度与宽度,Y为经过卷积运算的输出特征图,则输出特征图计算公式为:

其中,*为卷积运算,b为偏差项为具有n个通道的输出特征图,f∈Rn×k×k×c为卷积核,h'、w'与n'为输出数据维度,k×k为卷积核f的大小。卷积过程的运算量为n· h' ·w' ·c·k·k。

由于卷积层的输出特征图通常包含很多冗余,并且其中一些可能彼此相似,故不需要逐一生成冗余特征图,而是先使用一次卷积生成m个原始特征图

其中,f' ∈Rm×k×k×c为卷积核,m≤n,之后对Y'中的每个原始特征进行一系列廉价的线性运算,以生成s个幻影特征图(Ghost feature maps):

GhostNet 借鉴了ResNet 的残差瓶颈结构[4],设计了Ghost bottleneck(G-bneck)。Ghost bottleneck 主要由两个堆叠的Ghost 模块组成,第一个Ghost 模块用作扩展层,增加了通道数,第二个Ghost 模块可减少通道数,以与shortcut 路径匹配。然后,使用shortcut 连接这两个Ghost 模块的输入和输出。Ghost 模块中的初始卷积是点卷积(Pointwise Convolution)。GhostNet网络基础模块如图4所示。

Fig.3 GhostNet convolution process图3 GhostNet卷积过程

Fig.4 GhostNet network basic module图4 GhostNet网络基础模块

GhostNet 网络结构以Ghost bottleneck 为基础,遵循MobileNetV3 基本体系结构的优势[15-17],使用Ghost bottleneck 替换MobileNetV3 中的bottleneck,构建如表2 所示的网络结构。主要将Ghost 模块作为构造块,第一层为具有16 个卷积核的标准卷积层,通过一系列G-bneck 操作,通道数逐渐增加。这些Ghost bottleneck 根据其输入特征图的大小分为不同阶段,除每个阶段最后一个Ghost bottleneck 步长为2 外,其他所有Ghost bottleneck 的步长均为1。表2 中,SE 表示挤压与激发块(Squeeze-and-Excitation)[18],Conv2d 表示卷积层,AvgPool 表示均值池化层,FC表示全连接层。

1.3.2 基于迁移学习的GhostNet模型

农业病虫害领域缺少高质量、大规模的公开数据集,导致使用卷积神经网络进行作物病虫害识别成为一项挑战。本文使用迁移学习以减少深度学习模型构建所需的训练数据与计算量,并且能较好地解决小数据集在复杂网络结构上容易出现的过拟合问题[19-20]。迁移学习利用数据、任务与模型之间的相似性,将在旧领域模型学习到的知识应用于新领域的学习过程中,从而降低模型训练难度,减少学习所需的硬件资源。迁移学习可定义为:

式中,D(s)为源领域,D(t)为目标领域,χ 为领域数据的特征空间,P(χ)为领域数据特征空间对应的边缘概率分布。

本文首先使用ImageNet 大数据集对GhostNet 网络进行训练,代替原先的网络权重随机初始化操作,从而获得预训练模型,然后用农作物害虫数据集Cron Insect 基于预训练模型进行迁移学习,使用训练完成的模型进行测试集害虫识别任务。基于迁移学习的GhostNet 网络训练流程如图5所示。

Table 2 GhostNet network structure表2 GhostNet网络结构

基于迁移学习的算法流程如下:①图像预处理。对农业害虫图像数据集Cron Pest 进行数据增强预处理,实现害虫数据集的扩增;②模型预训练。对GhostNet 模型使用ImageNet 数据集进行预训练;③模型微调数据构建。从Cron Pest 害虫图像样本中随机抽取80%作为训练集数据进行输入;④预训练GhostNet 模型参数迁移与微调。通过参数迁移方式初始化预训练GhostNet 模型参数,之后冻结模型池化层参数并对模型进行训练,优化模型卷积层和FC 全连阶层参数;⑤模型测试。从Cron Pest 害虫数据集中抽取余下10%的农业害虫图片,作为测试样本对模型进行测试,以验证模型的精确度。

Fig.5 Training process of GhostNet network based on transfer learning图5 基于迁移学习的GhostNet网络训练流程

2 实验结果与分析

2.1 实验评价

本文将数据集分为训练集、验证集和测试集3 部分,采取批训练方式,设置Batchsize 为128;梯度更新策略使用Adam 优化器,动量大小为0.9,初始学习率为0.1;使用动态学习率策略,网络预热参数设置为5轮,最大训练轮次(Epoch)设置为60,每轮迭代次数(Iterator)等于11,模型图像输入分辨率为224×224;采用数据增强技术,随机选取80%的数据用于训练,10%的数据用于验证;选择准确率(Accuracy)与召回率(Recall)作为模型评价指标,用于评估算法表现。准确率是预测正确的数量与样本总数量的百分比,召回率是真实为正例的样本中预测结果为正例的比例。

2.2 Migrated GhostNet模型预测结果

使用训练好的模型对测试集数据进行预测,正确预测的样本数为329 张,总体准确率为93.64%,召回率为93.89%,该模型可有效识别出图像中的害虫信息。Migrated GhostNet模型对10种害虫的识别结果如表3所示。

Table 3 Recognition results of 10 pests with Migrated GhostNet model表3 Migrated GhostNet模型对10种害虫识别结果

图6-图9 分别表示模型训练过程中的top1 精确度、top5 精确度、学习率和损失值随训练迭代次数的变化。由图可以看出,随着训练迭代次数接近200 次,损失值与精确度收敛趋于稳定,表明模型训练成功。

Fig.6 Model training top1 accuracy change图6 模型训练top1精度变化

Fig.7 Model training learning rate changes图7 模型训练学习率变化

Fig.8 Model training top5 accuracy changes图8 模型训练top5精度变化

2.3 迁移学习对比试验

Fig.9 Model training loss value change图9 模型训练损失值变化

为验证本文提出的基于迁移学习的Migrated GhostNet模型的有效性,将Migrated-GhostNet 与GhonstNet 模型训练结果进行对比。图10 为两种模型训练过程中验证集的精确度变化,图11 为两种模型训练过程中验证集的损失值变化。从图中可以看出,运用迁移学习技术的Migrated GhostNet 验证集最高准确率为95.84%,相比普通GhostNet验证集93.17%的最高准确率提高了2.67%,且使用迁移学习训练的Migrated GhostNet 模型,损失值收敛更加稳定,当训练到20 轮时基本收敛,而GhostNet 模型直到40 轮才收敛,证明了使用迁移学习的Migrated-Ghost 模型训练过程更加稳定,权重学习速率更快。

Fig.10 Comparison of model training accuracy图10 模型训练准确率对比

Fig.11 Model training loss value comparison图11 模型训练损失值对比

通过迁移的GhostNet 对害虫Corn Insect 数据集中的测试集进行预测,对测试集的预测结果制作混淆矩阵,标签0 为蝼蛄,标签1 为红蜘蛛,标签2 为白星花金龟,标签3 为跳甲,标签4 为甜菜象甲,标签5 为蝗虫,标签6 为芫菁,标签7 为盲蝽,标签8 为青蛾蜡蝉,标签9 为叶蝉。Migrated GhostNet与GhostNet混淆矩阵如图12所示。

Fig.12 Confusion matrix of Migrated GhostNet and GhostNet图12 Migrated GhostNet与GhostNet混淆矩阵

从图中可以看出,GhostNet 对标签7 的盲蝽和标签9的叶蝉识别出错的图片数量最多,而应用迁移学习的Migrated GhostNet 减少了对标签7 和标签9 的错误识别,但对甜菜象甲的预测错误率较高,将4 张图片误判为盲蝽,可看出甜菜象甲、盲蝽与跳甲的图像特征有相似之处,容易引起模型误判。综合来看,Migrated GhostNet 正确识别的图片数量为329 张,高于GhostNet 正确识别的324 张。Migrated GhostNet 测试集识别的准确率与召回率分别为93.64%与93.89%,GhostNet 测试集识别的准确率与召回率为92.33%与92.23%,前者比后者分别高出了1.31%与1.66%,表明Migrated GhostNet 有效降低了错误识别的图片数量,提高了对农作物害虫训练集的识别准确率。

3 结语

本文针对传统农业害虫识别方法在害虫图像样本量较少情况下存在识别效果差、效率低等问题,提出基于卷积神经网络的农业害虫识别模型。相比传统神经网络算法,本文利用GhostNet 网络结构的高效特征提取能力对农业害虫图像进行识别,同时对训练模型所用的害虫数据进行增强处理,一定程度上提高了模型识别效率。在模型训练方面使用迁移学习技术,提升模型的泛化能力与训练稳定性,并提高了模型识别精度。本文模型的优势在于:①通过混淆矩阵对比Migrated GhostNet 与GhostNet 对每种害虫的分类情况,发现使用迁移学习训练方法的Migrated GhostNet 相比正常方式训练的GhostNet,每类害虫的识别率均有不同程度提升,识别准确率提高了1.31%,召回率提高了1.66%,模型识别效率较高;②使用自建数据集并对图片进行过滤筛选与数据增强,通过数据扩充方式避免了因数据量不足导致模型训练精度不佳的问题,丰富了数据的多样性,减少了模型的过拟合现象。

实验结果表明,本文提出的Migrated Ghostnet 模型能较好地进行农业害虫检测,其检测结果准确,模型占用资源小,可应用于嵌入式设备与移动设备的虫害防治中。但同时也存在以下不足之处:①实际农业生产活动中的害虫图像背景复杂,需要过滤的干扰因素更多,而本文进行的害虫图像识别检测是在较为理想的样本条件下进行的,在识别前过滤了质量较低的害虫图像;②本文采用的Migrated GhostNet 模型的参数量与计算量较小,但检测精度与传统网络相比略有不足,对特征较为相似的害虫识别准确率较低,还需要加强。

因此,未来工作可从以下几方面进行改进:

(1)采集更多农业害虫样本图片并进行标注。针对目标分布不均衡问题,采用数据增强技术对数据集进行扩充,提升网络的泛化能力。

(2)优化GhostNet 网络模型,在保持参数量与计算量的同时,提高模型的特征获取能力,进一步提升检测性能。

(3)未来可结合卷积神经网络压缩方法,进一步降低模型的参数量与运算量,并将算法移植到嵌入式设备或移动端设备等硬件设备上使用。同时,可将本文模型应用于其他农业害虫识别中。

猜你喜欢
害虫标签准确率
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
冬季果树常见蛀干害虫的防治
无惧标签 Alfa Romeo Giulia 200HP
高速公路车牌识别标识站准确率验证法
不害怕撕掉标签的人,都活出了真正的漂亮
枣树害虫的无公害防治
标签化伤害了谁
农业害虫的冬季防治
基于多进制查询树的多标签识别方法