2. 广州大学 华软软件学院 计算机系, 广州 510900
2. Department of Computer, South China Institute of Software Engineering, Guangzhou University, Guangzhou 510990, China
随着机器学习的发展与计算机数据处理能力的不断增强, 结合图像处理的机器学习技术在植物病害智能识别上的应用越来越广泛, 并取得了一定的成果[1,2]. 相关研究表明作物的病害一般都会在叶片上表现出来, 不同的病害种类引起的叶部病理症状也不同[3]. 由于病害叶片图像及其病斑的复杂多样性, 一般的特征选择方法因其识别率低, 泛化能力不强,使得人们很难从病斑图像中提取出有效的分类特征[4]. 深度学习方法能够利用多个隐含层从大规模数据中逐层、逐级学习到更有用的深层判别特征, 以提高分类的准确性[5], 因此利用现代图像处理技术和深度学习方法对作物叶片病害进行诊断和识别已成为目前一个主流研究方向[6]. 深度学习中的卷积神经网络(Convolutional Neural Network, CNN)具有较强的特征提取能力[7], 目前被广泛应用于各个领域的图像分类任务当中.
将CNN应用于苹果叶的病理检测需要解决以下两个问题: 第一, 农作物的病理检测普遍由物联网中的边缘计算节点(Edge Computing Node, ECN)完成, 虽然传统的CNN模型(如: IDCNNs、GoolgeNet)已经达到了95%的识别率[4], 但其模型参数规模较大, 无法满足ECN对于计算资源有限和低功耗运行的要求. 第二, 传统的CNN需要大量的训练样本进行学习才能提高模型提取图像特征的能力, 而目前关于农作物叶片病理的公开数据集较少, 无法满足CNN的训练要求. 针对以上问题, 本文作了如下工作: ① 采用概率数据增强对原始数据集进行了扩增; 在使用小规模的数据集进行训练时仍然可以达到较好的识别精度; ② 通过迁移学习方法对深度可分离卷积网络进行训练, 实现了一种适用于受限设备部署的轻量级模型; ③ 将模型进行压缩和转换, 部署到以PaddlePi-K210终端运算模块为核心的嵌入式系统上, 在受限设备上验证了该模型的可行性.
1 系统结构MobileNets是为受限设备提出的高效模型, 是一种使用深度可分离卷积来有效构建轻量级深度神经网络低延迟网络架构模型, 可用于移动应用和嵌入式视觉应用的设计[8]; 迁移学习使CNN能获得在大数据集上已经训练得到了的较好的特征提取能力, 减小网络模型训练所需的样本数量[9]. 基于上述研究成果, 本文采用了MobileNets V2为基础模型, 使用迁移学习的方法进行重新建模. 系统流程如图1所示, ① 采用ImageNet对MobileNets进行预训练, 得到预训练模型; ② 将经过概率数据增强的数据集送入预训练模型进行训练, 并调整网络的全连接层与相应超参数, 得到训练完成模型; ③ 将测试数据集直接送入训练完成后的模型, 输出识别结果; ④ 通过模型压缩与转换, 将转换后的模型移植到PaddlePi-K210嵌入式开发板上, 亦可通过摄像头采集作物的信息进行实时的病理叶检测识别.
2 数据集与数据增强
本文采用的公开数据集由西北农林科技大学制作, 分别在西北农林科技大学白水苹果试验站、洛川苹果试验站和庆城苹果试验站进行的采集[10]. 数据集主要在晴天光线良好的条件下获取, 部分图像在阴雨天进行采集, 不同的采集条件进一步增强了数据集的多样性. 数据集包括斑点落叶病、褐斑病、花叶病、灰斑病以及锈病等五种常见的苹果叶面病理图像数据, 如图2所示, 数量分别为: 斑点落叶病5343张, 褐斑病5655张, 灰斑病4810张, 花叶病4875张, 锈病5694张.
数据增强是扩充数据样本规模的一种有效方法. 当进行神经网络训练时, 数据的规模越大, 模型的质量越高, 泛化能力越强. 本文采取的数据增强思路如下: 在获得一个批次的训练数据集时随机对数据进行裁剪、翻转, 对亮度、对比度、饱和度、色度和色彩进行调整. 其中, 色彩随机调整了定义两种处理顺序, 按照3:7的概率实现. 经过以上处理后, 每种样本数据集的数量扩增6倍, 数据增强的效果如图3所示.
3 基于迁移学习的深度可分离卷积网络模型构建
迁移学习是机器学习中解决训练数据不足问题的重要工具. 它试图通过放宽训练数据和测试数据, 将知识从源域迁移到目标域[11]. 本文采用的是基于网络的深度迁移学习方法, 该方法基于以下假设: 神经网络类似于人类大脑的处理机制, 是一个迭代且连续的抽象过程, 网络的前面层可被视为特征提取器, 提取的特征是通用的, 后层为分类功能.
3.1 迁移学习策略本文通过复用在源域(ImageNet图片分类)中预先训练好的部分网络, 包括其网络结构和连接参数, 再使用网络的一部分将其迁移到目标域(苹果叶病理分类). 卷积神经网络的迁移学习一般针对卷积基和分类器两个部分来展开工作的. 卷积基由卷积层和池化层的堆栈所组成, 其主要目的是提取图像中的特征; 分类器通常是由多个全连接层组成的, 其主要目标是通过特征对图像进行分类. 卷积基的较低层适用的是通用特征, 而较高层适用的是特殊特征. 本文采用了冻结部分卷积基的迁移学习策略, 其主要思想是将卷积基底层保持在原始形式, 对高层进行重新训练, 然后使用其输出提供给分类器, 并重新训练分类器. 这种策略适用缺少计算资源, 数据集较小的应用场景.
3.2 深度可分离卷积模型MobileNet的核心层为深度可分离卷积层, 研究表明深度可分离卷积和常规卷积是等效的[12]. 其最初在纹理分类任务中被引入[13], 随后在Inception模型中使用[14]. 深度可分离卷积由两层组成: 深度卷积(depthwise convolution)和1×1点卷积(pointwise convolution).
假设一个普通卷积层的输入特征图为X, 大小为H×W×C , 其中N表示样本数, C表示输入特征图通道数, H和W分别是输入特征图的高和宽. Depthwise是指将N×H×W×C的输入分为group=C组, 然后每一组做 3×3 卷积,即相当于收集了每个Channel的空间特征。深度卷积可表示为式(1). 其中
$ {\widehat{G}}_{k,l,m}=\sum \nolimits_{i,j}{\widehat{K}}_{i,j,m}\cdot {F}_{k+i-1,l+j-1,m} $ | (1) |
Pointwise是指对
${y_i} = \gamma \dfrac{{{x_i} - \dfrac{1}{m}\displaystyle\sum\nolimits_{i = 1}^m {{x_i}} }}{{\sqrt {\dfrac{1}{m}\displaystyle\sum\nolimits_{i = 1}^m {{{\left({{x_i} - \dfrac{1}{m}\displaystyle\sum\nolimits_{i = 1}^m {{x_i}} }\right)}^2}} + \varepsilon } }} + \beta $ | (2) |
$ F\left(x\right)=\min(\max\left(0,x\right),6) $ | (3) |
3.3 模型构建
本文使用MobileNetV2 基本网络通过迁移学习来构建模型. MobileNetV2结构基于inverted residual, 保留Depthwise Separable Convolutions. MobileNetV2与V1的block结构如图5所示, 图5(a)是V1的block, 没有Shortcut并带有最后的ReLU6; 图5(b)是V2的加入了
本文实验所用神经网络训练环境的GPU 配置为 Tesla P100, 在AI Studio平台上使用paddlePaddle框架完成, Python 版本为 Python3.5; ECN采用的是迦南科技的PaddlePi-K210. 对于系统所采用的主要评价指标为在验证集上的平均精度均值mAP.
4.1 实验参数设置
本文中, 模型参数初始设置是根据已有的MobileNet模型应用实例[15,16], 实验中进行了微调. 调整参数包括优化器、训练批量大小(batchsize)和学习率. 按照收敛速度的快慢将常见的4种优化器(SGD、Momentum、RMSProp、Adam)分成两组, 分别设置两种学习率: SGD和Momentum设为0.001, RMSProp和Adam 设为0.0001. 设定模型训练停止目标值为0.95. Batchsize设置为10至120, 以10为步长分别对每个优化器共进行12次训练, 最后根据mAP和speed选取出模型的最优参数设置.
4.2 实验结果分析如图6所示, 从优化器对mAP的影响来分析, RMS优化器的效果最好, 当batchsize为50时, mAP为0.8596. 虽然其他优化器的最高mAP均达可以到0.80以上, 但存在±0.05的差距, 可见优化器对于mAP存在一定的影响; 从训练批量大小对mAp的影响来看, 没有明显的线性相关; 从训练速度epochs来分析, 取各优化器在验证集上的最优结果: SGDmAP=0.8083, MomentummAP=0.8305, RMSPropmAP=0.8596, AdammAP=0.8206. 绘制Loss与Acc曲线, 如图7所示, SGD所需迭代次数最多, Adam所需要的迭代次数最少, 表明epochs与mAP没有明显的线性相关.
取MobileNet模型最优结果mAP=0.8596与其他识别算法的mAP进行对比, 如表2所示, 该模型的准确率高于大多常规卷积模型, 虽然GoogleNet的mAP高于MobileNe, 但是GoogleNet由于所需计算资源更多, 并不适合部署到嵌入式设备上. 因此, 综合评价表明该方法优于其他已有方法. 模型在验证集上的各病理的识别结果如图8所示(0-斑点落叶病, 1-褐斑病, 2-灰斑病, 3-花叶病, 4-锈病). 除去灰斑病较低外, 其他病理的识别效果均为良好. 其中少量的灰斑病和一定量的褐斑病被识别成了斑点落叶病, 这是因为这3种病理的图像特征具有一定的相似性, 即使在人工分类的情况下也会出现一定的误判. 最后对模型进行压缩和量化. 为了保证量化后的精度,再次使用训练图片对模型进行调整. 将最终模型移植到PaddlePi-K210终端运算模块上, 并连接IR摄像头, 系统能实时对苹果叶病理进行检测, 且运行稳定, 验证了模型的有效性, 效果如图9所示.
5 结语
本文提出了一种基于深度可分离卷积的苹果叶病理识别方法, 在5种苹果病害叶片图像数据集上进行了数据集扩增和一系列实验, 对网络模型的相关参数进行了优化, 该模型能有效的对苹果病害叶片病理进行识别. 实验结果表明该方法对苹果病理识别具有较好的应用效果.
[1] |
Fang Y, Ramasamy RP. Current and prospective methods for plant disease detection. Biosensors, 2015, 5(3): 537-561. DOI:10.3390/bios5030537 |
[2] |
Martinelli F, Scalenghe R, Davino S, et al. Advanced methods of plant disease detection. A review. Agronomy for Sustainable Development, 2015, 35(1): 1-25. DOI:10.1007/s13593-014-0246-1 |
[3] |
车腾腾, 冯益明, 吴春争. “3S”技术在精准林业中的应用. 绿色科技, 2010(10): 158-162. DOI:10.3969/j.issn.1674-9944.2010.10.067 |
[4] |
张善文, 张晴晴, 李萍. 基于改进深度卷积神经网络的苹果病害识别. 林业工程学报, 2019, 4(4): 107-112. |
[5] |
Schmidhuber J. Deep learning in neural networks: An overview. Neural Networks, 2015, 61: 85-117. DOI:10.1016/j.neunet.2014.09.003 |
[6] |
贾庆节, 齐国红, 忽晓伟. 一种基于模糊C均值聚类的多阈值苹果病害图像分割方法. 智能计算机与应用, 2019, 9(2): 63-66, 72. DOI:10.3969/j.issn.2095-2163.2019.02.014 |
[7] |
Brahimi M, Arsenovic M, Laraba S, et al. Deep learning for plant diseases: Detection and saliency map visualisation. Zhou JL, Chen F. Human and Machine Learning. Cham: Springer, 2018.
|
[8] |
Howard AG, Zhu ML, Chen B, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications. arXiv: 1704.04861, 2017.
|
[9] |
许景辉, 邵明烨, 王一琛, 等. 基于迁移学习的卷积神经网络玉米大斑病与锈病的识别. 农业机械学报, 2020, 51(02): 230-236, 253. |
[10] |
周敏敏. 基于迁移学习的苹果叶面病害Android检测系统研究[硕士学位论文]. 杨凌: 西北农林科技大学, 2019.
|
[11] |
Tan CQ, Sun FC, Kong T, et al. A survey on deep transfer learning. Proceedings of the 27th International Conference on Artificial Neural Networks. Rhodes, Greece. 2018.
|
[12] |
Guo JB, Li YX, Lin WY, et al. Network decoupling: From regular to depthwise separable convolutions. Proceedings of British Machine Vision Conference. Newcastle, UK. 2018. 248.
|
[13] |
Sifre L, Mallat S. Rigid-motion scattering for texture classification. arXiv: 1403.1687, 2014.
|
[14] |
Chollet F. Xception: Deep learning with depthwise separable convolutions. arXiv: 1610.02357, 2016.
|
[15] |
Hwang S, Yu G, Jung C, et al. Attention-aware linear Depthwise convolution for single 27-7710 super-resolution. arXiv: 1908.02648, 2019.
|
[16] |
Chollet F. Xception: Deep learning with Depthwise separable convolutions. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu, HI, USA. 2017. 1800–1807.
|