吴云志,刘翱宇,朱小宁,刘晨曦,范国华,乐 毅,张友华*
一种植物病害图像识别卷积网络架构
吴云志1,2,刘翱宇1,朱小宁3,刘晨曦4,范国华1,2,乐 毅1,2,张友华1,2*
(1. 安徽农业大学信息与计算机学院,合肥 230036;2. 安徽省北斗精准农业信息工程实验室,合肥 230036; 3. 安徽农业大学茶与食品科技学院,合肥 230036;4. 湖南大学信息科学与工程学院,长沙 410082)
针对人工提取植物病害图像特征存在效率低、识别率低、成本高等问题,提出一种基于DenseNet网络的现代卷积神经网络架构FI-DenseNet,旨在对多种类的植物病害图像达到高精准的识别准确率。引入Focal损失函数对DenseNet网络进行改进,使得训练模型的注意力集中于难分类的样本。FI-DenseNet网络可以增强特征传递、进行深层训练或有效改善过拟合问题。采用的数据集有87 867张植物病害图像,图像包含同种植物的多种病害,并涉及38种植物病害。对图像进行预处理、数据增强后,将DenseNet169网络、ResNet50网络和MobileNet网络作为参照实验。实验结果表明,FI-DenseNet网络的收敛速度更快且识别准确率最高,测试集识别准确率为98.97%,FI-DenseNet网络的鲁棒性和泛化能力均优于对照网络,可为植物病害智能诊断提供参考。
DenseNet;植物病害;卷积神经网络;图像识别
植物病害对当今农林业是一个巨大挑战,它时刻影响着人类的经济效益。精准且快速的诊断植物病害可以及时减少植物病害对经济带来的损失[1]。然而如今植物病害种类繁多,不同生长阶段的植物存在不同种类的植物病害,这导致非专业人士对于植物病害的分辨往往不够精确、快速[2]。随着深度学习的不断发展,图像识别在众多领域得到了广泛应用,相对于人工识别植物病害,采用计算机视觉技术识别不仅成本低而且时效快[3],同时还可以减少经济成本和因为时延所带来的损失。
在卷积神经网络(convolutional neural networks,CNN)未广泛应用之前,植物病害图像的特征提取十分困难。目前很多学者提出一些效果显著的模型,例如CNN识别玉米品种[4]、AlexNet网络识别油茶病害[5]、VGG16网络识别棉花病害[6]和Inception-v3网络识别花生叶部病害[7]等。除了Inception-v3网络、CNN之外,其余模型都是基于CNN的传统卷积架构模型,越来越多的学者将基于卷积神经网络的图像识别技术用于病害识别。然而在植物病害图像识别种类上,过去的研究工作进行分类识别的种类数普遍偏少,采用现代卷积网络架构的模型偏少,如何进行高精度且多种类的植物病害识别并没有太多相关研究。将主要采用改进的DenseNet (densely connected convolutional networks)[8]对87 867张植物病害进行识别分类,其中涉及38种植物病害,并以两种现代卷积架构模型ResNet网络[9]和MobileNet[10]网络作为参照模型,最终完成植物病害图像识别分类。
DenseNet网络是现代卷积架构模型之一,它是比ResNet网络效果更优的CNN网络。在传统的深度学习网络中,随着网络深度的加深,会出现明显的梯度消失问题,即随着网络层数的加深,分类的准确率却发生了下降。和很多优秀的现代卷积神经网络一样,DenseNet网络有效缓解了梯度消失问题。此外DenseNet网络加强了特征传递、一定程度上减少了参数数量[11]。DenseNet网络目前被广泛应用在图像分类识别[12]、图像分割[13]和目标检测[14]等计算机视觉领域。
采用现代卷积神经网络架构DenseNet网络对38种植物病害图像进行识别,并在此基础上提出FI-DenseNet (focal loss improved DenseNet)网络,以提升其识别准确率。最终实现了对多种类的植物病害图像进行高精准识别,极大减缓了训练中出现的梯度消失问题,加强了植物病害图像的特征传递,最终将识别准确率提高到98.97%。
研究采用的植物病害图像数据集来Kaggle数据科学官网的公共数据集New plant diseases dataset[15],此数据集由87 867张病态或健康植物叶片的RGB图像组成,分为38个种类。植物病害数据包含的植物种类为苹果、蓝莓、樱桃、玉米、葡萄、柑橘、桃、辣椒、马铃薯、大豆、树莓、南瓜、草莓和番茄。数据集中的植物病害图像图1所示。
图1 植物病害图像
Figure 1 Plant disease images
首先将植物病害RGB图像数据按照标签分为38类,具体类别如表1所示。将重复数据剔除,剔除后的数据分为训练集、验证集和测试集,其比例为6∶2∶2。其次对作为输入层的图像进行归一化处理,这有利于后续卷积神经网络进行训练[16]。随之进行数据增强,将病害图像随机旋转30°,水平方向和垂直方向随机平移20%,随机错切变换强度为0.2,图像随机缩放的幅度设置为0.2,对图像进行图像随机水平翻转。最后将所有病害图像调整为150×150像素,样本标签数组采用2D的one-hot编码标签。
表1 植物病害图像标签与数量
随着卷积神经网络层数的增加,会出现梯度消失问题[17]。为了解决随着层数加深带来的梯度消失,ResNet网络将旁路信息进行连接,在训练过程中随机丢失一些层数来缩短自身网络以获得更好的训练效果。而为了保证能获得网络层的最大信息,DenseNet网络将所有层直接相互连接。DenseNet网络为了保留前馈特性,每层都从所有先前的层中获取其他输入,并将其自身的特征图传递给所有后续层,网络结构如图2所示。
图2 4层DenseNet网络结构
Figure 2 4-layer DenseNet network structure
图3 识别植物病害的DenseNet网络
Figure 3 DenseNet network to identify plant diseases
DenseNet网络中的池化层可以改变特征图的尺寸,用来解决当特征图尺寸发生变化时公式(1)中连接不可取的问题。植物病害图像进行输入时,将网络划分为多个紧密相连的密集块(dense block)。如图3所示,块与块之间的层称为过渡层,每个过渡层包括批量归一化BN层、1×1卷积层和2×2的平均池化层。
样本的类别不均衡会导致分类准确率的下降。本研究的模型主要是针对植物病害图像进行识别,虽然表1中各个样本标签数量皆为2 000多张,但植物类别数量差异较大,番茄涉及的病害图像高达22 930张,而柑橘涉及的病害图像仅为2 513张,其比例约为9∶1。此外,数据中病害样本和健康样本也并不均衡,病害样本数共计64 451张、健康样本数共计23 316张,其比例约为3∶1。同种植物类别的病害图像在进行病害特征提取过程中,会有一定的近似提取过程,相对于病害图像少的植物类别,病害图像多的植物类别往往更容易分类。病害样本数量相对于健康样本数量较多,也存在着类别不均衡问题。Focal loss损失函数[19]在网络进行特征提取时,能够有效解决这种类别不均衡问题,从而提升网络的平均识别率。
在此对DenseNet网络进行改进并将改进后的模型称之为FI-DenseNet,它是基于DenseNet169网络的同时,引入了Focal Loss损失函数加以改进,使得网络在训练时可以减少易分样本的权重,从而使模型在训练的过程中更专注难分类的样本[20]。
表2 DenseNet169网络结构
Focal Loss是在交叉熵损失函数的基础上进行修改得到的,在DenseNet网络中,经softmax函数
回归后交叉熵损失函数的函数表达式如下:
Figure 4 Change ofpand loss under different values of
其中p为样本属于某个类别的概率,成为聚焦参数,其中0≤≤5。(1-p)在此称为调制系数,其取值范围为[0,1],可以减少易分类样本的权重,使模型在训练中可以关注难分类的样本。当p值接近1说明样本容易训练,p值接近0,样本难以训练。不同取值,p和loss(损失值)表现如图4所示。当取值为0时损失函数即为交叉熵损失函数。
经实验,取值为2时效果最好,若此时预测的样本准确率高(即p很高),那么(1-p)的值就会很小,损失函数变化率变得很小,反之亦然。预测病害样本准确率分别为0.95和0.5的样本,最终损失函数值会相差100倍,所以模型将会关注预测准确率低的病害样本,进而提升模型的平均识别率。最终FI-DenseNet网络的损失函数可表示为:
改进后的FI-DenseNet网络增加了损失函数的非线性度,使得训练模型的注意力集中于难分类的样本种类上,最终的实验结果表明FI-DenseNet鲁棒性更好、识别准确率更高。
实验硬件环境为:CPU: Intel(R) Core(TM)i7-8700 CPU @3.20GHz; GPU: NVIDIA GeForce GTX 1080Ti; 操作系统:Windows 10 64bit;软件环境:Python 3.6.2;深度学习框架:Tensorflow 2.0、Keras 2.3.1。
采用4种网络模型对87 867张植物病害图像进行参照实验,其中训练集、验证集和测试集比例为6∶2∶2。4种网络模型分别为FI-DenseNet网络、DenseNet169网络、ResNet50网络和MobileNet网络。
模型的优化算法为随机梯度下降(stochastic gradient descent,SGD),采用SGD对梯度进行更新,对于数据集较大的数据也可以快速收敛。SGD每次迭代会产生比较大的噪音,容易跳不出局部最优解,在此引入动量概念(momentum),Momentum在更新方向的同时会保留之前的方向,可以增加模型的稳定性,并且具有摆脱局部最优的能力。SGD优化器初始学习率设为0.001,Momentum在此设为0.9,批量大小(batch size)设为64,每次参数更新后学习率衰减值(decay)设为0.001,使用 Nesterov 动量。除FI-DenseNet网络外,训练模型采用交叉熵损失函数(cross entropy error function)作为损失函数[21]。使用ModelCheckpoint方法,在训练过程中保存训练过程中性能最好的模型。最后将epoch设为10开始进行训练。
图5 不同样本通过密集块后输出的类激活图
Figure 5 Class activation graph output after different samples pass through dense blocks
(a) 训练集准确率;(b) 验证集准确度;(c) 训练集损失;(d) 验证集损失。
Figure 6 Training accuracy and loss function curves under different training networks
表3 不同训练网络的评价指标
注:Ⅰ.FI-DenseNet;Ⅱ.DenseNet169;Ⅲ.ResNet50;Ⅳ.MobileNet。1.苹果黑星病;2.玉米健康;3.胡椒细菌性叶斑病;4.马铃薯健康;5.马铃薯晚疫病;6.番茄疮痂病;7.番茄早疫病;8.番茄健康;9.番茄晚疫病;10.番茄叶霉病;11.番茄斑枯病;12.番茄红蜘蛛损伤;13.番茄黄化曲叶病毒病。
在FI-DenseNet网络中,选取8张植物病害图像作为实验对象,观察特征提取的过程。通过观察FI-DenseNet网络中4个密集块输出的类激活图来观察FI-DenseNet网络特征提取的过程,密集块输出的类激活图如图5所示。类激活图(CAM, class activation map)可视化是指对输入图像生成类激活的热力图,表示每个位置对该类别的重要程度。图5所示的类激活图能够反映网络提取每类样本病害的关键特征,热力图颜色越深(即越接近红色),也就表示该部位对最终分类决策的影响越大。FI-DenseNet网络将病害图像的特征通过4个密集块不断传递,从密集块1到密集块4,病害特征部位的热力图颜色也不断加深,颜色较深病害部位对决策的影响也越大。图5可以观察到,图像经FI-DenseNet网络的四个密集层处理后,特征提取不断的倾向于植物图像的病害关键部位。
本研究采用FI-DenseNet网络、DenseNet169网络、ResNet50网络和MobileNet网络对植物病害数据集进行训练,实验结果图5所示。
在训练结果中,FI-DenseNet网络、DenseNet169网络、ResNet50网络和MobileNet网络对应的最优训练准确率分别为99.79%、99.70%、99.60%和99.01%。如图6(a)和(c),在第6个epoch时,FI-DenseNet网络、DenseNet169网络和ResNet50网络模型已经接近收敛,最终训练准确率相差不大。图6(b)为验证集准确率,提出的FI-DenseNet网络的准确率明显高于其他模型。图6(d)为验证集损失率,FI-DenseNet网络的损失率低于其他模型,值得注意的是,随着epoch 不断增加,FI-DenseNet网络验证集损失率减幅相对于DenseNet169网络更加平稳,验证集损失率也更低。
表4 不同训练网络下的评价结果
在此选取38种植物病害中评价指标差异明显的样本,得到如表3所示结果。Precision、Recall和F1 score的数值越大说明模型的质量越高,可以看出FI-DenseNet网络和DenseNet169网络的评价指标明显高于对照网络,FI-DenseNet网络达到比较好的模型效果。
实验结果表明FI-DenseNet网络相对于其他网络有着更好的鲁棒性和泛化性,能更好的提取植物病害特征。最后进行植物病害图像识别模型的测试,测试集含有近17 000多张测试图像,其病害种类数量均匀分布。用上述训练好的4种网络对病害测试集进行验证,结果如表4所示,FI-DenseNet网络的测试集准确率最终达到98.97%。
植物病害图像识别是计算机视觉在农林业领域较好的应用,相对于人工提取病害特征,采用多分类、高精度的现代卷积神经网络架构模型可以极大减少识别时间、提升识别准确率,最终达到提升经济效益的目的。本研究设计了基于DenseNet网络的FI-DenseNet网络对38种植物病害进行识别,设置其他现代卷积网络模型进行对照实验并建立模型评价指标,最终得出FI-DenseNet网络模型平均识别准确率高达98.97%,根据评价指标Precision、Recall、F1-score,可以看出其模型效果最好,鲁棒性、泛化能力最佳。此模型可以用于其他病害的迁移学习,可为后续植物病害图像识别研究提供参考。
[1] 邱德文. 我国植物病害生物防治的现状及发展策略[J].植物保护, 2010, 36(4): 15-18.
[2] 任胜男,孙钰,张海燕,等. 基于one-shot学习的小样本植物病害识别[J]. 江苏农业学报, 2019, 35(5): 1061-1067.
[3] 柴阿丽. 基于计算机视觉和光谱分析技术的蔬菜叶部病害诊断研究[D]. 北京:中国农业科学院, 2011.
[4] 徐岩,刘林,李中远,等. 基于卷积神经网络的玉米品种识别[J]. 江苏农业学报, 2020,36(1): 18-23.
[5] 龙满生,欧阳春娟,刘欢,等. 基于卷积神经网络与迁移学习的油茶病害图像识别[J]. 农业工程学报, 2018, 34(18): 194-201.
[6] 张建华,孔繁涛,吴建寨,等.基于改进VGG卷积神经网络的棉花病害识别模型[J].中国农业大学学报, 2018, 23(11): 161-171.
[7] 苏婷婷,牟少敏,董萌萍,等. 深度迁移学习在花生叶部病害图像识别中的应用[J]. 山东农业大学学报(自然科学版), 2019, 50(5): 865-869.
[8] HUANG G, LIU Z, VAN DER MAATEN L, et al. Densely connected convolutional networks[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, Honolulu,2017: 2261-2269.
[9] HE K M, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), IEEE, Las Vegas, 2016: 770-778.
[10] HOWARD A, ZHU M, CHEN B, et al. Mobilenets: Efficient convolutional neural networks for mobile vi-sion applications[J]. Arxiv Preprint Arxiv,2017, 1704.04861 https://arxiv.org/abs/1704.04861.
[11] 匡晓华. 基于深度学习与可穿戴传感器的人体行为识别[D]. 南京:南京信息工程大学, 2018.
[12] ABAI Z, RAJMALWAR N. Densenet models for tiny ImageNet classification[J]. 2019, http://arxiv.org/abs/ 1904.10429.
[13] JÉGOU S, DROZDZAL M, VAZQUEZ D, et al. The one hundred layers tiramisu: fully convolutional DenseNets for semantic segmentation[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). IEEE, Honolulu, 2017: 1175-1183.
[14] 张翔,赵晓丽,张嘉祺,等. 基于3D DenseNet的视频镜头边界检测方法[J]. 光电子·激光, 2019, 30(10): 1103-1109.
[15] KAGGLE. New plant diseases dataset[EB/OL]. https:// www.kaggle.com/vipoooool/new-plant-diseases-dataset, 2014.
[16] BOUT D, MILLER T. Improving the performance ofthe Hopfield-Tank Neural network with normalizationand annealing[J]. Biological Cybernetics, 1989, 62(2): 129- 139.
[17] HOCHREITER S. The vanishing gradient problem during learning recurrent neural nets and problem solutions[J]. Int J Unc Fuzz Knowl Based Syst, 1998, 6(2): 107-116.
[18] 刘华松. 基于深度学习的毒株胚蛋图像分割方法研究[D]. 天津:天津工业大学, 2019.
[19] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, PP(99): 2999- 3007.
[20] 杨其睿. 基于改进的DenseNet深度网络火灾图像识别算法[J]. 计算机应用与软件, 2019, 36(2): 258-263.
[21] 刘杨圣彦, 潘翔, 刘复昌, 等. 面向三维模型视图特征提取的残差卷积网络优化[J]. 计算机辅助设计与图形学学报, 2019, 31(6):936-942.
A convolutional network for plant disease image recognition (FI-DenseNet)
WU Yunzhi1,2, LIU Aoyu1, ZHU Xiaoning3, LIU Chenxi4,FAN Guohua1,2, YUE Yi1,2, ZHANG Youhua1,2
(1. School of Information and Computer Science, Anhui Agricultural University, Hefei 230036;2. Anhui Provincial Engineering Laboratory for Beidou Precision Agriculture Information, Anhui Agricultural University, Hefei 230036;3. School of Tea and Food Technology, Anhui Agricultural University, Hefei 230036;4. College of Information Science and Electronic Engineering, Hunan University, Changsha 410082)
Nowadays, artificially extracting plant disease image features has problems such as low efficiency, low recognition rate, and high cost. In this paper, we propose a modern convolutional neural network architecture FI-DenseNet based on DenseNet, which achieves high-precision recognition accuracy for various types of plant disease images. We introduce the Focal loss function to improve the DenseNet so that the attention of the training model is focused on the types of samples that are difficult to classify. The FI-DenseNet can enhance feature transfer, perform deep training, and effectively improve overfitting problems. The dataset used in this paper has 87 867 plant disease images. The image contains multiple plant diseases of the same species and involves 38 plant diseases. After preprocessing the image and enhancing the data, we used DenseNet169, ResNet50, and MobileNet as reference experiments. The experimental results show that the FI-DenseNet has faster convergence speed and the highest recognition accuracy rate. The test set recognition accuracy rate is 98.97%. The robustness and generalization ability of the FI-DenseNet are better than the baselines, which can provide a reference for the intelligent diagnosis of plant diseases.
DenseNet; plant diseases; convolutional neural network; image recognition
TP391
A
1672-352X (2021)01-0150-07
10.13610/j.cnki.1672-352x.20210319.002
2021-3-23 10:42:32
[URL] https://kns.cnki.net/kcms/detail/34.1162.S.20210319.1503.004.html
2020-04-07
国家重点研发计划课题(2017YFD0301303),安徽省科技重大专项(18030901029),安徽省高校自然科学研究项目(KJ2019A0211),2018年安徽省省级质量工程项目(2018JXTD114)和安徽省大学生创新创业训练计划项目(S202010364210)共同资助。
共同第一作者:吴云志,副教授。E-mail:wuyzh@ahau.edu.cn 刘翱宇,本科生。E-mail:liuaoyu@ahau.edu.cn
张友华, 教授,博士生导师。E-mail:zhangyh@ahau.edu.cn