技术领域
本发明涉及农作物病害图像识别方法领域,具体是一种番茄病害图像识别方法。
背景技术
番茄病害是农作物病害之一,存在早疫病、斑枯病、叶霉病等病害。精准、快速识别出番茄病害对番茄的病害防治与增产起到积极作用。随着计算机运算能力的日益提升,深度学习得到不断发展,而且基于深度学习的计算机视觉技术也广泛地应用于农业领域。
目前已经有大量学者使用基于卷积神经网络的计算机视觉方法对农作物的病害进行识别。例如,文献(王艳玲,张宏立,刘庆飞,等.基于迁移学习的番茄叶片病害图像分类[J].中国农业大学学报,2019,24(06):124-130.)中,王艳玲等使用迁移学习对AlexNet改进,对番茄10种病害的识别准确率达到 95.62%;文献(郭小清,范涛杰,舒欣.基于改进Multi-Scale AlexNet的番茄叶部病害图像识别[J].农业工程学报,2019,35(13):162-169.)中,郭小清等提出一种轻量型改进AlexNet进行小样本识别;针对农作物叶片病害识别模型易受光线强度、遮蔽物、阴影等因素的干扰,文献(任守纲,贾馥玮,顾兴健,等. 反卷积引导的番茄叶部病害识别及病斑分割模型[J].农业工程学报,2020, 36(12):186-195.)中,任守纲等提出一种基于反卷积引导的VGG网络对番茄病害叶片进行识别;文献(苏婷婷,牟少敏,董萌萍,等.深度迁移学习在花生叶部病害图像识别中的应用[J].山东农业大学学报(自然科学版),2019, 50(05):865-869.)中,苏婷婷等提出一种基于微调的Inception-v3对花生叶部病害图像识别,并使用迁移学习方法对其改进;文献(胡志伟,杨华,黄济民,等.基于注意力残差机制的细粒度番茄病害识别[J].华南农业大学学报,2019, 40(06):124-132.)中,胡志伟等提出一种针对番茄病害细粒度识别的基于注意力残差机制深度残差网络;李晓振等对五种番茄病害进行识别,提出一种注意力机制与残差结构相结合的PARNet。上述现有技术对农作物尤其是番茄进行病害识别时,存在效率低、准确率低、成本高的问题。
发明内容
本发明的目的是提供一种番茄病害图像识别方法,以解决现有技术神经网络进行番茄病害识别时存在的效率低、准确率低、成本高的问题。
为了达到上述目的,本发明所采用的技术方案为:
一种番茄病害图像识别方法,其特征在于,包括以下步骤:
(1)、准备数据集:
以包含多张多种番茄病害图像的番茄病害叶片图像数据集作为PlantVillage 数据集;
(2)、处理数据集:
首先从步骤(1)得到的PlantVillage数据集中的番茄病害叶片图像得到病害叶片图像具体标签与数量,并从PlantVillage数据集中剔除异常、重复的番茄病害图像;然后将PlantVillage数据集中的番茄病害图像处理为输入层图像作为训练集,并对训练集的所有输入层图像进行批量归一化处理;
(3)、构建ResNeXt模型:
首先构建采用Split-Transform-Merge结构的ResNeXt模型;然后在ResNeXt 模型中对Inception进行简化,得到最终的ResNeXt模型;
(4)、构建中心损失函数:
构建中心损失函数L
中心损失函数的公式中,m为mini-batch的大小,i为常数,i=1,2,…m, y
使用softmax监督学习与中心损失函数结合,得到最终的损失函数L如下式:
其中,各个参数的定义为:L
(5)、构建C-ResNeXt模型:
采用步骤(4)得到的最终的损失函数对步骤(3)得到的ResNeXt模型进行改进得到改进后的模型,然后使用迁移学习的方法将ImageNet权重迁移至改进后的模型,得到最终的C-ResNeXt模型;
(6)、模型训练:
采用步骤(2)中得到的训练集对步骤(5)得到的C-ResNeXt模型进行训练,得到效果最优的C-ResNeXt模型;
(7)图像识别:
以待识别的番茄病害图像作为测试集,将测试集输入至步骤(6)得到的效果最优的C-ResNeXt模型中,由效果最优的C-ResNeXt模型得到识别结果。
所述的一种番茄病害图像识别方法,其特征在于,步骤(2)中,对步骤(1) 得到的PlantVillage数据集中的番茄病害叶片图像进行增强与扩充,得到病害叶片图像具体标签与数量。
所述的一种番茄病害图像识别方法,其特征在于,步骤(2)中,对步骤(1) 得到的PlantVillage数据集中的番茄病害叶片图像进行噪声处理,实现剔除异常、重复的番茄病害图像。
所述的一种番茄病害图像识别方法,其特征在于,步骤(2)中输入层图像获取过程为:对噪声处理后的番茄病害图像进行标签标记,然后对番茄病害图像进行数据增强与扩充,并将番茄病害图像进行随机旋转、反转变换,接着将所有的番茄病害图像调整为设定大小的像素,得到作为训练集的输入层图像。
所述的一种番茄病害图像识别方法,其特征在于,标签标记采用2D的 one-hot编码标签。
所述的一种番茄病害图像识别方法,其特征在于,进行随机旋转、翻转变换时,垂直方向和水平方向随机平移20%、随机旋转30°,图像随机缩放的幅度设置为0.2,随机错切变换强度为0.2。
所述的一种番茄病害图像识别方法,其特征在于,步骤(3)中,在ResNeXt 模型中对Inception进行简化时,结合ResNet模型中的残差网络,在简化的Inception中加入直连,得到最终的ResNeXt模型。
所述的一种番茄病害图像识别方法,其特征在于,步骤(4)中,构建的中心损失函数L
其中,各个参数的定义为:L
所述的一种番茄病害图像识别方法,其特征在于,步骤(6)中,使用SGD 优化器并采用ModelCheckpoint方法对C-ResNeXt模型进行训练,同时引入 Momentum对SGD优化器进行优化。
本发明采用对ResNet改进的网络C-ResNeXt,该C-ResNeXt中具有让网络精度更高的cardinality(基数),此外也简化了网络的设计难度。本发明采用中心损失函数CenterLoss对ResNeXt改进,中心损失函数Center Loss可以通过减少相同类间距离、加大不同类之间距离来提高分类效果。
本发明采用C-ResNeXt模型通过对番茄的10种病害进行训练,平均识别率高达99.04%,远高于对照试验组和前人研究,为番茄病害的智能诊断提供了参考。
与现有技术相比,本发明的优点为:
针对人工识别番茄病害存在着效率低、准确率低、成本高的问题,本发明采用计算机视觉方法,使用Center Loss对ResNeXt模型进行改进得到C-ResNeXt。 C-ResNeXt是简易的、高度模块化的网络结构,在相同参数量的情况下,具有更高的识别精度、表征能力和收敛速度。经过实验,C-ResNeXt对番茄病害数据集的平均识别率高达99.04%,相对于对照网络具有明显的提升。C-ResNeXt具有很好的识别效果与泛化能力,可以为番茄病害的智能诊断提供参考。
附图说明
图1是本发明方法流程框图。
图2是本发明中Split-Transform-Merge结构图。
图3是本发明中ResNet与ResNeXt的块结构对比图,其中:
图3中(a)是ResNet的块结构图,图3中(b)是ResNeXt的块结构图。
图4是本发明中C-ResNeXt模型的网络结构图。
图5是本发明五种样本的类激活热力图。
图6是本发明与五种作为对照组的神经网络的对照结果图,其中:
图6中(a)是训练准确率对照图,图6中(b)是识别准确率对照图,图6 中(c)是训练损失对照图,图6中(d)是识别损失对照图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
如图1所示,一种番茄病害图像识别方法,包括以下步骤:
(1)、准备数据集:
以包含22930张多种番茄病害RGB图像的番茄病害叶片图像数据集作为PlantVillage数据集;
(2)、处理数据集:
首先对步骤(1)得到的PlantVillage数据集中的番茄病害叶片图像进行增强与扩充,得到病害叶片图像具体标签与数量。
并对步骤(1)得到的PlantVillage数据集中的番茄病害叶片图像进行噪声处理,实现剔除异常、重复的番茄病害图像。
接着将PlantVillage数据集中的番茄病害图像处理为输入层图像作为训练集,输入层图像获取过程为:对噪声处理后的番茄病害图像进行标签标记,标签标记采用2D的one-hot编码标签。然后对番茄病害图像进行数据增强与扩充,并将番茄病害图像进行随机旋转、反转变换,进行随机旋转、翻转变换时,垂直方向和水平方向随机平移20%、随机旋转30°,图像随机缩放的幅度设置为0.2,随机错切变换强度为0.2。接着将所有的番茄病害图像调整为设定大小的100×100 像素,得到作为训练集的输入层图像。
最后对训练集的所有输入层图像进行批量归一化处理。
(3)、构建ResNeXt模型:
首先构建采用Split-Transform-Merge结构的ResNeXt模型;然后在ResNeXt 模型中对Inception进行简化,得到最终的ResNeXt模型。
ResNeXt模型是一种简易的、高度模块化的网络结构。本发明中ResNeXt 模型采用Split-Transform-Merge结构,给定一个D维的输入数据x=[x
公式(1)中,i为常数,i=1,2,…D,w
公式(1)是最简单的Split-Transform-Merge结构,其结构如图2所示。首先将数据x分割成D个特征,每个特征经过一个线性变换,最后合并为最后的输出。
ResNeXt模型对Inception进行简化,这时候的Inception可以表示公式(2) 所示:
公式(2)中,C为Inception的基数,T
ResNeXt实际上是分组卷积,这种块结构在确定FLOPs和参数量的前提,通过拓宽或拓深网络来提高精度。当拓深或拓宽网络给模型带来的收益递减时,增加基数可以提升ResNeXt的精度和效果。
(4)、构建中心损失函数(Center Loss):
使用softmax监督学习得到的特征只能将不同类别的数据分开,但是无法约束不同类之间的距离以及类内距离。Center Loss在2017年提出被用于人脸识别,通过添加Center Loss可以让softmax能够训练出更有内聚性的特征、增强深度网络中深度学习特征的辨别力。
构建中心损失函数(Center Loss)L
中心损失函数L
构建的中心损失函数L
公式(4)、(5)中,各个参数的定义为:L
使用softmax监督学习与中心损失函数结合,得到最终的损失函数L如公式 (6)所示:
其中,各个参数的定义为:L
(5)、构建C-ResNeXt模型:
采用步骤(4)得到的最终的损失函数对步骤(3)得到的ResNeXt101进行改进得到改进后的模型,然后使用迁移学习的方法将ImageNet权重迁移至改进后的模型,得到最终的C-ResNeXt模型。C-ResNeXt模型的核心是四个 ResNeXt-Block,C-ResNeXt模型的网络结构如图4所示。
(6)、模型训练:
本发明模型训练的实验硬件环境为:CPU:Intel(R)Core(TM)i7-8700 CPU @3.20GHz;GPU:NVIDIA Titan X;操作系统:Windows 10 64bit;软件环境: Python 3.6.2;深度学习框架:Tensorflow2.0、Keras 2.3.1。
采用22930张番茄病害RGB图像样本对本发明中的C-ResNeXt模型进行模型训练。模型训练时,采用随机梯度下降对梯度进行更新,并使用SGD优化器, SGD优化器的初始学习率设为0.001,同时引入Momentum对SGD优化器进行优化,Momentum在更新权重方向的同时会保留之前的权重,可以增加模型的稳定性,使模型具有摆脱局部最优的能力,将Momentum设置为0.9。批量大小设为64,epoch设为2。本发明使用ModelCheckpoint方法,在训练过程中保存训练过程中效果最优的C-ResNeXt模型。训练结束后,保存效果最优的C-ResNeXt 模型的网络权重。
(7)图像识别:
选择五种番茄病害(番茄早疫病、番茄叶霉病、番茄斑点病、番茄红蜘蛛损伤、番茄斑枯病),将这些病害图像作为输入,输入至效果最优的C-ResNeXt模型。由效果最优的C-ResNeXt模型输出这些图像的类激活热力图如图5所示。热力图可以反映C-ResNeXt在病害图像的注意力集中部位,热力图越深表示此时C-ResNeXt的注意力集中在此特征部位,也表示该部位对最终分类决策的影响越大。图5可以看出病害图像数据通过4个ResNeXt-Block,其注意力逐渐集中在叶片的病害特征部位。
本发明中,还以五种其他神经网络VGG16、InceptionV3、MobileNetV2、 Xception、ResNet101作为对照组,并采用相同的训练集对这五种神经网络进行训练,同时采用相同的五种番茄病害图像输入至训练好的五种神经网络进行识别,对照结果如图6所示。
图6可以看出C-ResNeXt的准确率、损失曲线最为平滑,几乎没有出现抖动,在第10个轮次已经接近收敛,而其他网络还需再训练几个轮次才会收敛。本发明提出的C-ResNeXt模型相对于参照模型,平均识别率更高、模型收敛更快、具有更好的鲁棒性和泛化能力。C-ResNeXt的平均识别率为99.04%,对照网络ResNet101、VGG16、InceptionV3、Xception、MobileNetV2平均识别率分别为:98.21%、96.95、97.06、96.34%、97.69%。
本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。
机译: Pepino砧木嫁接番茄,pepino砧木嫁接番茄的制备方法以及番茄的土壤病害防治方法
机译: 茄子番茄切片的生产方法,茄子番茄的生产方法和番茄的病害防治方法
机译: 25 25 0710 25 25 0709铜绿假单胞菌25可以促进番茄的生长并抑制番茄的病害,而铜绿假单胞菌25R的突变体