深度特征融合方法及其在叶片病害识别中的应用①
2022-08-04李昊,王斌,2
李 昊,王 斌,2
1(南京财经大学 信息工程学院,南京 210023)
2(智能机器人湖北省重点实验室(武汉工程大学),武汉 430205)
1 前言
农作物在生长过程中,容易遭受细菌、真菌、害虫等的侵害,感染各种疾病,从而极大的影响了农作物的产量和品质. 比如深受人们喜爱的苹果,常患的叶片疾病有斑点落叶病、灰斑病和锈病等[1](如图1 所示).如何有效的防控农作物病虫害,是农林业研究领域和业界的一个普遍关注的问题.
图1 遭受不同病害的叶片病斑图像
防控农作物病害首先要对病害类型进行准确的识别,由于农作物患病会在叶片部位留下明显的病斑(如图1 所示),叶片的病斑视觉表征常作为区分不同病害类型的重要依据.
通过观察叶片的病斑来确定病害类型,需要专业的知识,但是我国植保专家数量有限,人工识别成本高昂,并不适合一般的农民. 而且有些类型病害的病斑比较相似,人眼很难区分,误判率较高,所以迫切需要一种能够自动、快速、准确识别叶片病害的方法. 近些年来,研发基于计算机视觉和图像处理技术的农作物病害自动识别系统,成为了人工智能应用研究的一个热点.
在传统的病害图像识别方法中,特征的提取主要依赖于手工设计的特征提取器,通过提取病害图像的颜色、纹理、几何形状、空间关系等特征来进行病害识别. 这种方法不需要强大的硬件设备支持,在小样本数据集上可以取得不错的识别效果,但是大多都需要复杂的特征工程,因此费时费力,而且模型的鲁棒性一般较差.
近年来,由于大量数据的易于获取和计算机硬件性能的提升,深度学习技术赢得了广泛的关注和大量的应用. 与传统方法不同,深度学习方法可以自动的提取特征,在大量数据的驱动下,深层的网络可以提取到病害图像更深层的特征表示,模型的识别效果和泛化能力更好. 所以许多研究者聚焦于用深度学习技术解决叶片病害图像识别问题,取得了很好的识别效果. 尤其是深度卷积神经网络(如 LeNet-5[2]、AlexNet[3]、VGGNet[4]、GoogLeNet[5]、ResNet[6]、DenseNet[7]等)在病害图像识别上效果上,相较于传统的方法,取得了显著的提升.
虽然也有许多深度学习方法应用于农作物叶片的病害识别,但现有的方法都是基于单一网络的深度特征表示,而不同的深度网络模型,对图像的表征能力的互补性,这一有用的特性,没有得到关注和研究. 为进一步提升病害识别的准确率,本文提出了一种用于融合不同种深度特征的网络模型MDFF-Net. MDFFNet 将两个预训练的深度网络模型进行并联,再为各个模型分别设置一个具有相同神经元个数的全连接层,以将不同深度模型输出的深度特征变换成相同维度的特征,实现它们的相加融合,再通过2 个全连接层的非线性变换,进一步提升特征融合的效果. 虽然已有研究对不同网络模型进行融合的工作[8],但该类融合仅限于用不同深度特征训练的分类器的分类结果的融合,并不产生融合的深度特征. 而本文首次提出将不同的深度网络模型进行连接,在模型训练中,对不同网络产生的深度特征进行融合,最后得到一个能够提取融合的深度特征的网络模型. 在我们的实验测试中,用该模型进行苹果病害识别,取得了比用单一的深度网络模型更高的识别准确率.
2 相关工作
基于计算机视觉的病害自动识别的相关研究,在国内外已有大量的报道. 现有的方法大体可以分为利用传统方法手工提取特征和利用深度学习自动提取特征两类.
在传统手工提取特征研究工作中,研究者通过设计特征提取器来提取病害叶片的一些形态学特征进行识别. 张云龙等人[9]提出了一种基于颜色特征和差直方图的苹果病害识别方法,首先分割出病害图像的病斑,然后通过计算病斑的颜色特征和差直方图作为分类特征,最后用SVM 进行分类,识别率达到96%以上.针对复杂背景下的苹果叶片分割问题,张善文等人[10]提出了一种基于改进的K-means 聚类的苹果叶片病斑分割算法. 通过使用快速全局K 中值聚类,解决了经典K 均值聚类算法的初始聚类中心点随机选择而导致聚类结果可能不正确、算法费时等问题,并消除了噪声对聚类结果的影响. 试验结果表明,本研究提出的方法提高了苹果病害叶片图像分割的准确性,能够有效、快速地发现并诊断苹果病害. 李超等人[11]提出了一种基于特征融合与局部判别映射的病害识别方法.在该方法中,设计了一种ACS-LBP 病害叶片图像分割和病斑图像纹理特征提取方法,再融合了病斑图像的形状和颜色特征,再在LPP 和SLPP 算法的基础上,提出了LDP 方法,由此对病斑图像的分类特征向量进行维数约简,最后利用SVM 进行病害识别. 试验结果表明,本研究所提出方法有效. 师韵等人[12]提出了一种基于二维子空间学习维数约简(2DSLDR)的苹果病害识别方法,首先将样本图像从高维空间映射到低维空间,使得同类样本特征距离更近,异类样本更加远离,从而得到最佳的分类特征,此方法对3 种常见苹果病害叶片识别,达到90%以上的识别率.
利用深度学习方法进行病害识别可以自动提取特征,不需要像传统方法那样设计复杂的特征提取器,研究者使用经典的深度卷积神经网络或者改进的网络进行病害识别取得了很好的效果. 宋晨勇等人[13]利用改进的GoogLeNet 网络模型对苹果叶片病害进行识别,在减少inception 模块数量的基础上,增加网络前段卷积层和池化层的数量,使模型的识别精度提高2.1%,达到98.4%,但模型参数仅为原模型的17.5%. 陆仲达等人[14]针对复杂背景和病斑相似性的影响,提出了一种双分支网络(DBNet)用于苹果叶片病害识别. 该方法将病害图像的多尺度特征和多维注意力特征进行融合,在苹果病害图像库上的识别效果优于传统的卷积神经网络. 为了解决叶片病害图像中病斑较小而不易识别的问题,鲍文霞等人[15]将选择性核(SK)卷积模块加入到VGG16 网络模型中,使用全局平均池化代替全连接层,利用迁移学习进行模型训练,实验结果表明该网络有效提高了对微小病斑的识别能力,同时加快了网络模型的收敛速度. 孙俊等人[16]针对卷积神经网络参数庞大,模型收敛速度慢的问题,提出了一种将批归一化和全局池化相结合的网络模型,在包含多种植物和病害的公开数据集上进行实验,取得了较高的识别率且模型具有较强的鲁棒性. Mohanty 等人[17]在含有14 种作物及26 种疾病共54 306 张图片的Plant Village数据集上进行实验,利用深度卷积网络模型和迁移学习策略进行实验,最终取得了99.35%的识别率. Ferentinos等人[18]利用一个含有87 848 张植物病害图片的公开数据集,其中包括25 种植物的58 个不同类别,数据库包括实验室和室外拍摄的病害图片,利用深度学习网络进行实验,其中VGG 网络结构达到了99.53%的识别率. Geetharamani 等人[19]构造了一个9 层的卷积神经网络,使用了6 种数据增强方法和迁移学习策略,对一个公开的病害图像库进行识别,达到了96.46%的识别率,而且证明了数据增强可以提高模型的性能.Karthik 等人[20]提出了两种检测番茄叶片病害的深层网络结构. 一种是利用残差网络来学习特征进行分类,另一种在残差网络的基础上加上注意力机制. 实验表明,添加注意力机制的残差网络在包含3 种番茄疾病的数据集上进行5 折交叉验证,最终达到了98%的准确率.
3 两种预训练深度卷积神经网络模型
3.1 VGG-16
VGG-16[4]的基本网络模型如图2 所示,VGG-16结构比较简单,整个网络都使用了相同大小的卷积核尺寸(3×3)和最大池化尺寸(2×2),通过反复堆叠3×3 的卷积核和2×2 的最大池化层构成. VGG-16 拥有5 个卷积模块,每个卷积模块内有2–3 个卷积层,在每一个卷积模块的尾部连接一个最大池化层,用来缩小图片. VGG-16 网络的最后连接两个神经元数量为4 096 的全连接层和Softmax 分类层.
图2 用于苹果叶片疾病分类的VGG-16 网络模型
相较于单独使用一个较大的卷积核,VGG-16 选择多个较小的卷积核串联,网络会拥有更少的参数量,同时会比单独一个卷积层拥有更多的非线性变换. 因为VGG-16 网络的优势,许多网络选择VGG-16 来作为特征提取器.
3.2 ResNet
随着网络深度的增加,会出现一种退化现象,也就是当网络越来越深的时候,模型训练的准确率趋于稳定,但是训练误差突然变大,这就是出现了梯度消失问题,ResNet 就是为了解决这个问题[6]. ResNet 不是通过叠加网络层数来拟合期望的特征映射,而是通过引入残差块来拟合一个残差映射,如图3. 图3(a)是ResNet-34网络结构里的残差块,图3(b)是ResNet-50/101/152 网络结构里的残差块.
图3 两层及3 层的ResNet 残差学习模块
残差网络实际是由多个浅层网络融合而成的,与普通网络不同的地方就是引入了跳跃连接,也就是恒等映射(identity mapping),这样在训练深层网络的时候,避免了梯度消失的问题,加速了网络收敛.
4 本文提出的融合两种深度特征的网络模型MDFF-Net
不同的深度卷积神经网络的结构设计原理有所不同,各个网络在不同的病害识别任务上的优势也不一样. 那么,将不同的网络提取到的深度特征融合在一起是否能得到更好的叶片病害特征表达? 为探究此问题,本文提出了MDFF-Net 网络,用于对不同类型的深度特征进行有效的融合,其网络结构如图4 所示.
MDFF-Net 网络由特征提取层、特征融合层、全连接层和分类层构成.
特征提取层由两个不同的预训练深度卷积神经网络并联而成,这些网络都在ImageNet 图像数据库上进行了预训练,作为特征提取器用来提取深度特征.MDFF-Net 网络将预训练网络的参数冻结,并使用各自网络的分类层的前一层作为特征表示. 将图像分别输入预训练特征提取网络模型,将分别得到对应的特征向量.
特征融合层将提取到的两个特征向量映射到相同的维度,然后对两个同维的特征向量进行Add 操作. 这里,我们为每一个模型附设了一个具有相同神经元个数的全连接层(如图4 中的两个红的实线框),采用ReLU 函数作为激活函数,以实现将两个不同长度的特征向量变换成两个相同长度的特征向量,分别记为fa和fb,这里Add 操作定义为:
图4 本文提出的用于融合两个预训练模型深度特征的MDFF-Net 网络结构图
其中,fab是融合后的特征向量,n代表融合后特征向量的维度.
然后将融合后的特征向量连接两个全连接层,用来进一步融合特征,为了避免过拟合,这两个全连接层后均加上dropout 正则化策略,最后连接一个Softmax分类层来进行分类.
模型训练时,每张图片都是同时送入两个特征提取层,特征提取层使用的是预训练网络中的参数,训练时固定不变,需要训练的参数是将不同网络中提取到的特征映射到相同维数的层(即图4 中的特征融合层)以及全连接层.
在苹果叶片病害识别实验中,我们选取VGG-16和ResNet-50 分别作为预训练网络Model A 和Model B 来提取特征. ResNet-50 网络去掉最后的Softmax 分类层,将前一层的输出作为提取到的特征向量,维度为2 048. 将VGG-16 网络分类层的前一层作为特征向量,即fc7 层,其维度为4 096. 将这两个特征向量分别映射到2 048 的维度,然后将两个维度为2 048 的特征向量进行Add 操作,融合成一个新的维度为2 048 的特征向量. 然后连接两个神经元个数为2 048 和512 的全连接层,最后使用Softmax 层对苹果叶片病害种类进行预测.
5 实验结果及分析
5.1 数据集
实验使用了公开的苹果叶片病害数据集来验证模型MDFF-Net 网络的有效性,此数据集是由西北农林科技大学创建,下载地址为: https://aistudio.baidu.com/aistudio/datasetdetail/11591. 该数据库中的所有图像都是使用BM-500GE 相机在实验室环境和室外环境拍摄的. 数据集包含5 种类型苹果疾病,其中斑点落叶病5 343 张,褐斑病5 655 张,灰斑病4 810 张,花叶病4 875张,锈病5 694 张,共26 377 张图片. 图5 给出了其中的部分样本. 数据集中图片的原始尺寸为512×512大小 ,在实验中等比缩放为224×224 大小输入到网络中. 在实验中按照6:2:2 的比例将数据集划分为训练集、验证集和测试集,具体数据分布如表1 所示.
图5 苹果叶片病害图像
表1 数据分布表
5.2 模型参数
实验参数设置如表2 所示. MDFF-Net 网络和单一对比网络VGG-16、ResNet-50 在表2 中的参数设置相同. 输入图片的尺寸大小为224×224,一次训练所选取的样本数,即批尺寸(batch size)设置为32,学习率(learning rate)为0.001,训练周期(epoch)为30,采用Adam (adaptive moment estimation,自适应矩估计)优化器(optimizer)来计算每一个epoch 中损失函数的梯度,进而更新参数,dropout 丢弃率设置为0.5,损失函数统一使用交叉熵损失函数(cross entropy loss),网络的权重初始化使用ImageNet 上预训练的参数. 实验采用GPU 加速训练,使用PyTorch 深度学习框架.
表2 实验参数表
5.3 评估准则
在网络模型性能评估上,选择准确率(Accuracy)作为模型分类性能的评估指标. 准确率就是模型预测正确的样本数量占总样本数量的比例,计算准确率的公式为:
其中,TP代表预测正确的正样本,TN代表预测正确的负样本,FP代表预测错误的正样本,FN代表预测错误的负样本.
5.4 实验结果及分析
为了验证将不同深度卷积神经网络提取的深度特征进行融合的MDFF-Net 网络性能,实验选取VGG-16和ResNet-50 两个网络进行实验,实验将探究将这两个网络融合之后的MDFF-Net 网络和单一网络的性能进行对比.
在模型训练时,MDFF-Net 融合网络是作为一个整体来进行训练,实验中是利用整个数据集统一训练整个模型. 对比模型VGG-16 和ResNet-50 也均采用在ImageNet 图像数据库上的预训练网络,冻结网络参数,修改Softmax 分类层的输出为5,数据集训练方案与MDFF-Net 融合网络保持一致.
实验结果如表3,本文所提出的MDFF-Net 网络识别率为95.30%,单一网络模型VGG-16 和ResNet-50的识别率分别为90.46%和93.61%,MDFF-Net 网络比单一网络VGG-16 和ResNet-50 的分别提高了4.84%和1.69%. 训练过程中,MDFF-Net 网络的准确率变化曲线和损失收敛曲线如图6 所示,可以看出模型训练中损失函数趋于收敛. 实验结果表明,我们提出的深度特征融合网络MDFF-Net 在苹果叶片病害识别数据集上取得了比单一网络VGG-16 和ResNet-50 更好的识别效果,证明将不同的预训练深度卷积神经网络所提取到的特征融合在一起会取得比单一网络更优的识别效果.
表3 模型对比实验 (%)
图6 MDFF-Net 网络准确率变化和损失收敛曲线
6 结论
本文提出一种用于融合不同深度特征的网络模型MDFF-Net,该模型将两个预训练的深度卷积神经网络模型进行并联作为特征提取器,然后用一个相同神经元数量的全连接层将不同的网络提取的特征映射到相同的维度进行融合操作,再通过两个全连接层进一步提升融合效果,最后用Softmax 层进行分类. 我们在一个苹果叶片病害数据集进行实验来验证本融合模型的有效性,MDFF-Net 网络模型将VGG-16 和ResNet-50 两个预训练网络所提取的深度特征进行融合,在包含5 种苹果叶片疾病的公开数据集上取得了96.59% 的识别率. 结果证明,该模型可以有效利用不同预训练深度卷积神经网络提取的深度特征的互补性,在叶片病害识别上取得比单一网络更好的识别效果. 在未来的工作中,我们将进一步研究不同深度特征的互补性,发展新的深度特征融合网络模型,并拓展其应用领域.