基于深度卷积神经网络的小麦赤霉病高光谱病症点分类方法
2019-03-05傅运之许高健李绍稳
金 秀,卢 杰,傅运之,王 帅,许高健,李绍稳,*
(安徽农业大学 a. 信息与计算机学院;b. 农学院,安徽 合肥 230036)
小麦赤霉病是小麦的主要病害之一,主要分布于潮湿和半潮湿区域,气候湿润多雨的温带地区受害尤为严重,是我国淮河以南及长江中下游麦区发生最严重的病害之一[1]。当小麦被真菌感染后,会产生多种真菌毒素,其中最严重的是脱氧雪腐镰刀菌烯醇(DON),会对人畜造成严重伤害,而且会在食物链中长期存留[2-4]。早期、快速地诊断小麦赤霉病,明确其发生区域,及时采取隔离病害区域等方式,可大幅度减少农民损失,并保证小麦收获后的食用安全。当前,小麦赤霉病病害的无损检测方法主要有图像、光谱等方法,其中,高光谱图像包含光谱、空间、纹理和上下文等多种信息特征,相关研究较为广泛。在室内环境下:2011年,Bauriegel等[5]使用主成分分析(PCA)和光谱角度制图法(SAM)对高光谱进行建模处理,对赤霉病的诊断准确率可达87%;Dammer等[6]使用多光谱(665~675 nm和550~560 nm)在小麦灌浆中期利用线性模型来诊断赤霉病病症;2016年,梁琨等[7]利用高光谱成像技术对小麦籽粒赤霉病进行识别,效果较好;2016年,Wang等[8]使用高光谱数据对小麦的条锈病叶片进行检测,决定系数达0.90,说明可以使用高光谱数据检测小麦条锈病。在室内环境中,由于光源相对稳定、样本变化较小,高光谱成像作为重要的无损检测技术得到了较多研究,但在野外环境下,由于光源不稳定、目标多样,影响高光谱成像数据的因素很多,因此野外环境下作物病害诊断的相关研究较少,尤其对于小麦赤霉病。
目前,高光谱建模典型分类算法主要有偏最小二乘、支持向量机等(SVM),但因为高光谱数据量较大、特征光谱提取较难,且在不同的区域中数据具有一定的误差,因此仅用典型分类算法并不能完全适用于复杂性较高的数据集[9-10]。深度神经网络中深度的网络可以自动提取出有效的光谱特征,从而实现端到端的模型构建。在作物病害检测领域,已有不少研究利用深度卷积神经网络进行病害图片的识别:2016年,Mohanty等[11]对14种作物的26类病害图片进行训练,识别准确率可达99.35%;2018年,Picon等[12]在移动设备上基于3 a收集的8 178张图片对小麦的3种病害进行分类识别,准确率可达87%。对普通图像而言,病害诊断必须在病症较为明显的情况下进行,并且需要长时间的大量采集和标定才能建立有效的诊断模型。高光谱与普通图像相比,每个像素点包含的信息量更加丰富,且人工标注相对简单,在数据信息中,高光谱不单能够分析病症的纹理、形态,对于内在的化学成分变化,如叶绿素、水分和氮素等都可以进行诊断。因此,利用深度神经网络开展基于高光谱图像的作物病害识别已经成为重要的研究方向。
2015年,深度卷积神经网络首次被应用到高光谱图像像素点的特征上来进行分类,从训练结果可知,深度网络学习到的特征优于其他预处理特征提取方法,这是因为深度网络可通过合并简单知识的方式组合出复杂的深度概念[13]。同年,Hu等[14]提出了利用卷积层和池化层来识别光谱信号的方法,该卷积神经网络可以直接在光谱领域应用;Makantasis等[15]提出一种深度学习的基础分类方法,通过层次化来自动构建深层次的特征;Han等[16]建立模型,利用卷积自编码的神经网络来处理像素点的光谱和空间信息。近年来,高光谱成像的深度学习建模方法开始得到重视,但绝大部分方法都基于公共数据集建立,针对野外采集的原始数据进行高光谱成像深度学习的研究较少。本文结合农业生产中小麦赤霉病的病症诊断,抽取深度卷积神经网络结构中的基本单元,构建并训练不同深度的卷积神经网络,比较不同深度模型评测结果,分析不同卷积层提取病症高光谱特征的区别,重点研究小麦赤霉病病症高光谱成像分类的深度卷积神经网络构建方法,旨在为大尺度范围的作物病症智能成像诊断提供理论基础与参考。
1 材料与方法
1.1 数据采集
试验区域位于安徽农业大学的郭河小麦赤霉病抗病育种基地。高光谱图像的采集时间是2017-04-29—2017-05-15,时值小麦扬花期刚结束、灌浆期开始。
野外高光谱数据采集对光线有一定的要求,因此在小麦赤霉病发病期间,主要于5月9日(晴天)和5月10日(晴天)在3个样本区域进行高光谱图像数据采集,试验环境较为稳定。高光谱相机的拍摄方式如图1所示,设备包含了推扫式镜头、旋转云台、工作站。小麦样本固定在一个区域内,将黑色吸光布放置于观察对象下方,作为背景区域以消除噪声信息。试验侧边图设置如下:三脚架放置位置距样本区域30 cm,高光谱相机距地面1.5 m,云台的水平方向为45°,扫描范围是-30°~+30°,数据采集时间是11:00—14:00。
1.2 数据获取和预处理
高光谱相机为美国OKSI公司的HyScan1211,图像分辨率为1 620 pixel×2 325 pixel,光谱分辨率为1.79 nm,区间范围为400~1 000 nm,光谱采集点有339个波段。高光谱图像可利用ENVI软件进行感兴趣区域提取,像素区域分为3种:背景、健康和病害。
1.3 深度模型
高光谱图像中,像素点光谱数据为1维结构。为抽取更有效的病症信息特征,将1维光谱的数据结构重新组建为2维的网格结构,2维数据结构的构建虽然改变了数据前后顺序,但光谱基本信息保持不变,因此重构的数据不会导致信息丢失。本研究小麦赤霉病的光谱曲线具有339个采集点,去除噪声后保留256个数据点,再进行2维数据重构,深度神经网络的输入层张量的维度为(16,16,1)。在深度卷积神经网络结构中,VGG(Visual Geometry Group)和残差神经网络(ResNet)是2种典型的卷积结构[17-20]。本文抽取这2种典型结构的基本单元进行不同深度的构建,从而寻找最优深度结构,搭建最优的神经网络结构。VGG网络主要将卷积层从5×5的内核转变为3×3内核,且其基本的结构为2层卷积层、1层池化层,如图2-a所示。ResNet将网络层重新规划为学习关于每层输入的残差函数,添加一条从 input到output的路径,也就是捷径连接(shortcut),这是关键之处。对于输入x,通过中间函数F(x,w)进行参数学习,F()是残差函数。以卷积层的捷径连接为基本单元模块,ResNet网络的基本单元如图2-b所示。
图1 小麦高光谱图像采集试验Fig.1 Hyperspectral image collection experiment
图2 深度卷积网络结构的基本单元Fig.2 Basic unit of deep convolutional structure
为得到最优的深度卷积神经网络,建立不同深度的模型进行训练,如图3所示,图中N代表了卷积层深度。通过配置不同的N来建立多种深度卷积模型。
1.4 模型评测
为准确地评价模型,综合运用准确率(A)、精确度(P)、召回率(R)和F1值对模型进行评价[21]。准确率是分类建模中常见的评价方式,但是在对真实样本进行分类时,由于类别不均匀,经常会出现过拟合等现象。为避免模型评测中出现重点类别准确率极低的现象,本文还引入了混淆矩阵,以展示每个类别间的预测结果。最优的模型应当具有更好的精确度和召回率,但这两者具有相互不兼容的特性,为了更好地衡量模型效果,使用F1值来对精确度和召回率进行综合。
(1)
(2)
图3 不同深度的模型构建Fig.3 Reconstructed model of different depth
(3)
式(1)~(3)中:NTP表示分到类A且真的属于类A的实例数量,NFP表示分到类A但不属于类A的实例数量,NFN表示没有分到类A但属于类A的实例数量。
本文深度学习框架使用的是Tensorflow、Python 3.5,工作站的配置为Intel® Core i7 CPU和NVIDIA® GTX 1080TI GPU。
2 结果与分析
2.1 模型训练
首先划分小麦高光谱数据集,总计包含809 200个像素点样本。为进行有效评价,将训练集与测试集的比例设定为1∶4。然后对小麦赤霉病的高光谱样本进行预处理,通过归一化和去均值算法来规范化数据范围。在深度卷积神经网络模型的训练中,激活函数使用“elu”[22],损失函数使用交叉熵[23-24],优化函数使用“Adadelta”[25-26],其中迭代次数为300,使得损失值不继续降低。为了减少过拟合程度,在每个基础单元后加上“Dropout”函数[27],设置丢失率为50%。VGG模型和ResNet模型的主要配置分别如图4、5所示。其中,VGG_1、VGG_2、VGG_3、VGG_4的层数分别为10层、14层、18层、22层,ResNet_1、ResNet_2、ResNet_3、ResNet_4的层数分别为11层、16层、21层、26层。
由于光谱组成的2维网格结构仅有16×16的维度,为了让卷积层深度持续进行下去,本文对卷积层进行增0(padding)操作,以保证每层卷积的张量维度一致。同时,为增加训练效果,卷积网络每层节点会随着深度的增加逐步递增,其设置分别为32、64、128、256。同时在卷积的最后加上1个Dense层,由此通过卷积基本单元迭代构建出不同深度的卷积神经网络层。
在训练集和验证集中,不同深度的VGG和ResNet模型训练结果如图6所示。对于以VGG为基础单元的深度卷积网络,训练模型在300次迭代后基本达到损失值最低点,且每次训练中训练曲线和验证曲线相差不远,说明模型训练过程中未出现欠拟合和过拟合现象。同时,在迭代过程中,损失值逐渐下降到最小值。由此可知,不同深度的VGG模型在多次迭代后达到训练最优。从ResNet模型的训练结果可知,在ResNet_1和ResNet_2的训练中,验证集的准确率和损失值都高于训练集,即模型产生欠拟合现象,而ResNet_3和ResNet_4的训练过程相对较好。
图4 VGG模型配置Fig.4 Configuration of layers for VGG
图5 ResNet模型配置Fig.5 Configuration of layers for ResNet
对于样本验证集,结果如表1所示,径向基的支持向量机模型(RBF-SVM)的训练和验证准确率相对于深度模型较低,说明深度卷积神经网络能有效提高诊断的准确率。
在深度模型中,VGG模型随着基础单元的深度增加性能提升,但是对ResNet模型而言,在基础单元深度为2时验证损失值最小,并且随着深度增加,模型的验证损失值有所提高,但其准确率并未明显提升,即残差神经网络的深度增加并未给模型的稳健性和泛化性带来显著提升。对比发现:VGG结构的深度模型在建模集上的训练准确率和验证准确率都远高于ResNet结构;在损失值上,VGG结构的模型损失值都低于0.4,而ResNet结构的模型都高于0.42。因此,从模型的稳健性和泛化性上判断,VGG结构更加适合小麦赤霉病病症的高光谱特征提取。
2.2 测试评估
为进一步评价模型的稳健性和泛化性,本文利用测试集对深度模型进行参数评估。从混淆矩阵(图7)可知:在VGG基本结构中,网络越深,分类效果越好,对健康样本、病害样本这2种最重要的类别来说,VGG_4的效果超过了其他3个模型;在ResNet基本结构中,同样是网络越深效果越好,其中,ResNet_3和ResNet_4的分类效果完全一致。对RBF-SVM同样进行混淆矩阵分析,可以看出,支持向量机在健康样本和病害样本的识别准确率上都远低于深度卷积神经网络结构。
图6 不同深度的卷积模型训练结果Fig.6 Training result of models with different depth
表1模型评估结果
Table1Evaluation result of different models
模型Model训练准确率Accuracy in training验证准确率Accuracy in validation训练损失值Loss in training验证损失值Loss in validation迭代次数Number of iteration训练时间Training time/hRBF-SVM0.7050.706———1.7VGG_10.8400.8330.3790.3963004.9VGG_20.8400.8350.3810.3831896.8VGG_30.8520.8380.3510.3741638.5VGG_40.8460.8430.3640.36410310.4ResNet_10.8040.8190.4740.4402913.4ResNet_20.8210.8320.4540.4263005.5ResNet_30.8310.8320.4660.460687.7ResNet_40.8430.8360.4500.4639310.0
图7 不同模型的混淆矩阵Fig.7 Confusion matrix of different models
从图8可知,各模型对病症样本的精确度最低,对健康样本的召回率最低。结合表2可知,大部分的健康样本被判定为病症样本。同时,从表2测试集评估结果可知,VGG_4的评测结果最优,F1值为0.76,准确率为0.742。从测试效率分析可知,层少的模型训练参数较少,因此相对测试效率较高,VGG_4由于深度和参数都相对较大,模型测试速度最慢。
2.3 深度模型分类结果
为观察模型的诊断结果,对小麦高光谱图进行分类模型映射,结果如图9所示。其中,白色为背景,灰色为健康小麦,黑色为病害区域。从图9可以发现,虽然高光谱仪器自带的噪声严重干扰了分类准确性,但是基于深度卷积模型标注的病症区域非常明显,分类效果较好。
3 结论
针对小麦高光谱图像像素点特征进行病症分类建模,引入2种深度的卷积神经网络结构,通过模型的评测分析,优选了高光谱深度神经网络结构。研究中分别构建了以VGG和ResNet为基本单元的不同深度的卷积网络,最深的网络层结构为ResNet_4的26层模型,最浅的为VGG_1的10层模型,从深度上遍历了不同的深度神经网络。从深度结构分析,VGG网络深度与模型的稳健性和泛化性相关,但ResNet网络深度与模型性能无关。从卷积层结构分析,VGG基本单元下采样方式提取的稀疏特征相对于ResNet基本单元的残差更能提取小麦赤霉病病症的光谱特征。
图8 不同深度卷积模型的精确度与召回率Fig.8 Precise and recall rate of convolutional models with different depth
表2测试集上的模型评估结果
Table2Evaluation result of different models on testing set
模型ModelF1背景Background健康Healthy病害Diseased全部Total准确率Accuracy测试效率Efficiency/(pixels·s-1)VGG_10.870.70.520.740.7338405VGG_20.870.690.520.740.7304496VGG_30.870.70.520.740.7353204VGG_40.880.710.520.760.7422521ResNet_10.850.670.50.720.71516111ResNet_20.870.690.510.740.7298656ResNet_30.870.680.510.730.7236041ResNet_40.870.710.520.750.7384531
图9 不同深度的卷积模型高光谱图像映射结果Fig.9 Gray-image mapped results of hyperspectral image by models with different depth
从测试效率分析,准确率最高的VGG_4模型的测试效率为2 521 pixels·s-1,基本可实现对高光谱图像的快速判定。综上所述,本文构建的最优深度卷积神经网络可对小麦赤霉病病症高光谱特征进行高效分类,研究结果可为基于无人机高光谱的大尺度小麦赤霉病智能诊断提供理论基础。