【论文阅读】Deep Neural Networks Based Recognition of Plant Diseases by Leaf Image Classification

这篇文章主要是作者们在互联网上搜索了一些图片,并使用图像增强方法进行处理,增加了数据集的数量,做了一个自己的数据集。使用caffenet使用微调,并最后比较了在每一类上的准确率。都是很基础的方法,本文数据集是不公开的。(只能参考一下参数,实验方法等,而在算法上没什么创新)

 

摘要:本文提出了一种利用深度卷积网络建立基于叶片图像分类的植物病害识别模型的新方法。采用新颖的培训方法和方法,方便快捷地在实践中推行系统。这种被开发出来的模型能够识别出13种不同类型的植物疾病,包括健康的叶子,并有能力将植物叶子与其周围环境区分开来。据我们所知,这种植物病害识别方法是首次提出的。本文从采集图像建立数据库开始,通过农业专家的评估,全面描述了实现该疾病识别模型所需的所有重要步骤。利用伯克利视觉学习中心开发的深度学习框架Caffe进行CNN深度训练。所开发模型的实验结果在91% ~ 98%之间达到了精度,对于单独的类测试,平均达到96.3%。

1 Introduction

……

本文介绍的方法是一种利用深卷积神经网络检测植物病害的新方法。开发模型的先进性和新颖性在于其简单性;健康的树叶和背景图片与其他类别保持一致,通过使用深度cnn,人们可以区分生病的树叶和健康的树叶,或者健康的树叶和环境。

本文的其余部分组织如下:第2节介绍相关工作,第3节介绍方法,第4节介绍取得的成果和相关讨论,最后是第5节持有的结论。

2 Related Work

……

本研究在深入学习技术的发展及其在实践中的应用的推动下,探索了植物病害识别的深度学习方法。对最先进的文献进行了广泛的研究,但没有发现任何证据表明,研究人员探索了通过图像识别植物疾病的深度学习方法。我们利用深度CNN进行识别的方法如下。

3 Materials and Methods

详细介绍了利用深度CNN建立植物病害识别模型的全过程。这个完整的过程被分成以下几个子部分中每一个必要的阶段,从使用深度神经网络收集图像进行分类处理开始。

3.1数据集。从训练阶段到评价识别算法的性能,目标识别研究的各个阶段都需要合适的数据集。为数据集收集的所有图像都是从互联网上下载的,通过疾病和植物名称在不同的来源上搜索,这些来源来自不同的语言,如拉丁语、英语、德语、塞尔维亚语和匈牙利语。所有图片被分成15个不同的类。十三个类别代表了植物病害,这些病害可以从叶子上直观地判断出来。

为了区分健康叶和疾病叶,在数据集中又添加了一个类。它只包含健康叶子的图片。一个数据集中具有背景的额外的类有助于使分类更准确,因此,可以训练深层神经网络来区分树叶和周围环境。背景图片取自斯坦福大学的背景数据集。

在这个阶段中,所有来自不同来源的重复图像都将被该过程开发的python脚本删除。脚本通过比较图片的元数据来将重复的删除:名字,大小,和日期。自动删除以后,图片将被专家们多次评估。

下一步是用增强图像来丰富数据集。本研究的主要目的是训练网络,使其具备区别于其他网络的特征。因此,当使用更多的增强图像时,网络学习适当特性的机会就增加了。最后,创建了一个包含30880张用于培训的图像和2589张用于验证的图像的数据库。对增强过程的描述在章节3.3中。

表1显示了所有的疾病,以及作为疾病分类模型的训练和验证数据集的每个类的原始图像和增强图像的数量。

3.2图像预处理和标签。图片是从互联网上下载的,具有不同的分辨率和质量。为了获得更好的特征提取,我们对作为深度神经网络分类器数据集的最终图像进行预处理,以获得一致性。此外,图像预处理的过程包括手工裁剪所有图像,在叶子周围做一个正方形,以突出感兴趣的区域(植物叶子)。在数据集图像采集阶段,分辨率较小、尺寸小于500px的图像不被认为是数据集的有效图像。此外,只有感兴趣的区域分辨率更高的图像才被标记为数据集的合格候选。这样,就确保了图像包含了学习特征所需的所有信息。该数据集使用的图像大小为256×256,以减少训练时间,训练时使用python和OpenCV框架[33]自动计算。

许多资源可以通过互联网搜索找到,但它们的相关性往往是不可靠的。为了确认数据集中类的准确性,农业专家们最初通过文字搜索对叶子图片进行了研究,并给这些图片贴上了疾病的首字母缩写。众所周知,对训练和验证数据集使用精确分类的图像非常重要。只有这样,才能建立一个合适和可靠的检测模型。在这一阶段,从数据集中删除第3.1节中描述的采集和分组图像到类的初始迭代后留下的重复图像。

3.3增强的过程。应用增强的主要目的是增加数据集,对图像进行轻微的失真,从而减少训练阶段的过拟合。在机器学习和统计学中,当统计模型描述随机噪声或错误而不是潜在关系[34]时,就会出现过拟合。图像增强包含几种转换技术之一,包括仿射转换、透视转换和简单的图像旋转。使用仿射变换来表示平移和旋转[35],其中原始图像中的所有平行线在输出图像中仍然是平行的。要找到一个变换矩阵,需要在输出图像的相应位置加上原图像中的三点。透视变换需要a3×3变换矩阵。即使在转型之后,直线仍然是直线。在增强过程中,采用了简单的图像旋转,以及不同轴对称度的旋转。

在增强过程中应用的变换如图2所示,其中第一行表示通过对单个图像应用仿射变换得到的结果图像;第二行是通过对输入图像的透视变换得到的图像,而最右行是对输入图像含义的可视化。增加的过程是为了适应需要而选择的,自然环境中的叶子在视觉角度上是不同的。

在这一阶段,为了自动化数据集中大量图像的增强过程,使用OpenCV库[36]在c++中开发了特定的应用程序,可以在运行时更改转换参数,提高了灵活性。

3.4神经网络的训练。提出了利用3.1节描述的数据集训练深度卷积神经网络建立图像分类模型。有几个著名的最先进的深度学习框架,如theano[37]和Lua、Torch7[38]的机器学习库。此外,还有Caffe,这是一个开源的深度学习框架,由bvlc[39]开发,其中包含了预先训练好的CaffeNet模型。为了本研究,我们使用了这个框架,以及一组平均大数据集(ImageNet[40])的权值。

Caffe框架既适合于研究实验,也适合于行业部署。框架的核心是C++,并提供命令行、Python和matlab接口。Caffe与cudnn库的集成加速了Caffe模型的开发[41,42]。CaffeNet是一个深度CNN,它有多个层,可以从输入图像[43]逐步计算特性。具体来说,该网络包括8个学习层、5个卷积层和3个全连接层[44]。

CaffeNet体系结构被认为是一个起点,但是修改和调整了它来支持15个类别(类)。最后一层进行了修改,并将softmax层的输出参数化,以满足本研究的要求。

卷积层是卷积神经网络的基本组成部分。该层的参数由一组可学习内核组成,这些内核具有较小的接收域,但可以扩展到整个输入体的深度。

……

CNN和ReLUs的训练速度要快好几倍。该方法适用于所有卷积和全连接层的输出。

尽管有输出,但不需要对输入进行归一化;它是在第一次和第二次卷积之后应用的,因为它降低了top-1和top-5的错误率。在CNN中,隐藏层中的神经元被分割成“特征图”。与特征图有关神经元具有相同的权重和偏差。然后与特征图有关神经元搜索相同的特征。这些神经元是独特的,因为它们在较低的层连接到不同的神经元。因此,对于第一个隐藏层,特征图中的神经元将与输入图像中的不同区域相关联。该隐层被分割成特征图,特征图中的每个神经元在不同的位置寻找相同的特征。基本上,特征图是在图像上应用卷积的结果。每个层的特征被不同的块战数处理啊,这些可视化的特征展示了特征图中最强的激活部分,从第一个卷积层开始,特征从单个像素到简单的线条,再到第5个卷积层,在这里显示学习到的特征,如形状和叶子的某些部分(图3)。

CNNs的另一个重要层是池化层,它是非线性下采样的一种形式。池化操作给出了平移不变性[48]的形式;它依赖于输入的每个深度切片,并在空间上调整其大小。重叠池化有利于减少过度拟合

重叠池化:alexnet中提出和使用。
  相对于传统的no-overlapping pooling,采用Overlapping Pooling不仅可以提升预测精度,同时一定程度上可以减缓过拟合。
  相比于正常池化(步长s=2,窗口z=2) 重叠池化(步长s=2,窗口z=3) 可以减少top-1, top-5分别为0.4% 和0.3%;重叠池化可以避免过拟合。)

此外,在前两个完全连接的层中使用了一个dropout层[49]。但与标准的[50]结构的神经网络相比,dropout的缺点是训练时间缩短了2-3倍。贝叶斯优化实验也证明了ReLUs和dropout具有协同效应,这意味着当它们一起使用[51]时是有利的。

CNNs的进步是由于它们能够学习丰富的中级图像表示,而不是使用手工设计的低层图像特征再通过其他图像分类方法来分类[52]。

图4显示了深度网络中每个卷积层和池化层的输出。输出图像在每张图像的右下角都标有相应层的名称。

3.5执行测试。测量人工神经网络性能的常用方法是将数据分离到训练集和测试集,然后在训练集上训练一个神经网络,并使用测试集进行预测。因此,由于测试集的原始输出值和我们预测的模型输出值是已知的,因此我们的预测精度可以计算出来。训练时使用30880张图像,使用2589张图像进行测试。

在测试时,使用10折交叉验证来评估预测模型。交叉验证过程在每1000次训练迭代之后重复一次。测试的总体估计结果用图形表示为top-1,以测试top类(具有最高概率的类)是否与目标标签相同。top5的错误率是用来测试目标标签是否是前5名预测之一,即是否是概率最高的5个预测之一。每个标记类用于验证测试的图像数量如表1所示。第4节分别给出了完整数据集和每个类的测试结果。

3.6.Fine-Tuning。微调是通过对过程或功能进行小的修改来提高或优化结果,从而提高过程或功能的有效性或效率。原始的caffeNet模型的分类功能是通过softmax计算imagenet中1000个类的概率来分类的。微调的学习实验需要一些学习,但它们仍然比从零开始学习[53]快得多。为了开始微调过程,删除了这个softmax分类器,如第3.4节所述,并进行了说明,然后随机初始化值。利用3.1节所述数据集中的数据,采用反向传播算法对新的softmax分类器进行从无到有的训练。这个数据集有15个不同的类别[43]。由于本研究使用的数据与ImageNet (ILSVRC-2012[54])相比较小,对微调隐藏层[55]使用较低的初始学习率限制了过度拟合。顶层的学习率设置为10的,而其他7个学习层的学习率设置为0.1。反向传播算法运行了100,000次迭代。微调过程是隐层参数和超参数不断变化的过程。通过参数的实验调整,得到了最适合植物病害检测的模型。第四节给出了模型微调的结果,并进行了进一步的解释。

3.7设备。采用单台PC机对描述的植物病害检测模型进行了全过程的训练和测试。在图形处理单元(GPU)模式下对fcns进行训练。每一次训练都要花大约8个小时在这台机器上。

4. Results and Discussion 

本节给出的结果与整个包含原始图像和增强图像的数据库的训练有关。众所周知,卷积网络能够在更大的数据集上学习特征,因此只包含原始图像的,所以不研究只在原始测试集上训练的结果。经过网络参数的微调,经过100次训练,总体精度达到96.3%(没有微调的结果是95.8%)即使在第30次训练迭代后,仍然可以以极低的损失获得高精度的结果,但在第60次迭代后,均衡器的不精确性和损耗仍然保持在较高的精度。图5中的绿线显示了通过训练迭代,网络在验证测试集上的成功。每经过10000次训练迭代,就会得到该模型的快照。图中的蓝线代表训练阶段的损失。通过训练时的迭代,损失是迅速减小的。

经过100,000次迭代,Top-1的成功率为96.3%,top-5的成功率为99.99%,分别如图6和图7所示。

此外,训练的模型分别在每个类上单独测试。对来自验证集的每个图像执行测试。展示的结果是为了强调每个类中有多少图像是准确预测的。图8显示了训练模型下分别预测每个类的结果。类号遵循表1中的枚举。

从图8显示的结果来看,值得注意的是,对于训练数据集中图像数量较少的类来说,训练模型的准确率较低,更具体的类是桃子、白粉病、苹果、白粉病和葡萄枯萎病。对桃树的白粉病检测精度为91.11%,而对背景图片的检测精度上升到了98.21%。模型对背景图像的预测精度高,能可以很好地分离植物叶片和周围环境。

根据良好的实践原则,所取得的成果应与其他成果进行比较。考虑到本研究开发了自己的图像数据库,到目前为止还没有人使用过。此外,由于没有人在科学文献中使用深度学习来识别植物疾病,因此不可能将其与其他例子进行比较。然而,经过广泛的研究,深度学习技术在模式识别、图像处理和目标检测方面显示出了更好的效果。卷积神经网络[56]在众多的比赛中获胜也证明了这一点。目前,有一种商业化的解决方案——Leafsnap[57],它利用视觉识别来识别特定的植物,尤其是它们的叶子图像。但是,由于本文提出的网络是对植物病害进行分类,而不是对植物的种类进行分类,所以Leafsnap并没有被用来比较所取得的结果。最后,将我们的检测结果与其他从叶片图像中检测疾病的方法进行比较,可以说我们的方法提供了更好的结果[23,24,26,27]。

5. Conclusions 

植物病害的自动或计算机视觉检测与分类方法很多,但这方面的研究还很缺乏。此外,目前市场上还没有商业解决方案,只有那些基于图像的植物物种识别解决方案。本文提出了一种利用深度学习方法对植物病害进行自动分类和检测的新方法。所建立的模型能够检测到叶片的存在,并能够区分健康的叶片和13种不同的疾病,可以进行视觉诊断。描述了从采集用于训练和验证的图像到图像预处理和增强,最后进行深度训练和微调的完整过程。为了检查新创建模型的性能,进行了不同的测试。

建立了新的植物病害图像数据库,其中包含3000多幅从可用的互联网资源中获取的原始图像,并使用适当的转换将其扩展到30000多幅。实验结果表明,在单独的等级测试中,测试精度在91% ~ 98%之间。经训练模型的最终总精度为96.3%。微调并没有显示出整体精度的显著变化,但增强过程有更大的影响,以达到令人满意的结果。

据我们所知,目前所提出的方法在植物病害识别领域还没有被开发出来,使用这种精确的技术也没有与相关结果进行比较。与第二节中所使用和介绍的其他技术相比,特别是考虑到所介绍的研究中有更多的类别时,取得了可比较甚至更好的结果。

本研究的一项扩展将是利用不同的微调和增强技术来收集图像,以丰富数据库和提高模型的准确性。

未来工作的主要目标是开发一个完整的系统,由包含训练模型的服务器端组件和用于智能移动设备的应用程序组成,该应用程序具有基于手机摄像头捕获的叶子图像显示水果、蔬菜和其他植物中识别的疾病等功能。这款应用程序将为农民提供帮助(无论他们的经验水平如何),帮助他们快速有效地识别植物疾病,并帮助他们在使用化学杀虫剂时做出决策。

此外,未来的工作将包括通过训练该模型在更广阔的陆地区域进行植物病害识别,结合无人机捕捉到的果园和葡萄园的航拍照片,以及卷积神经网络用于目标检测,从而推广该模型的使用。通过扩展这项研究,作者在可持续发展方面取得了巨大的影响,影响了未来几代人的粮食质量。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值