APP下载

基于注意力机制及多尺度特征融合的番茄叶片缺素图像分类方法

2021-11-25赵春江吴华瑞朱华吉

农业工程学报 2021年17期
关键词:尺度准确率卷积

韩 旭,赵春江※,吴华瑞,朱华吉,张 燕

(1. 西北农林科技大学信息工程学院,杨凌 712100;2. 国家农业信息化工程技术研究中心,北京 100097;3. 北京市农业信息技术研究中心,北京 100097)

0 引 言

番茄是世界范围内广泛栽培的蔬菜之一,在中国农业生产中也占有非常重要的地位,番茄生长过程中肥料的需求量大,生长期较长。设施栽培又要求肥力高消耗的同时高补充,因此实际施肥存在盲目性,极易出现土壤障碍和缺素症状[1]。番茄发生缺素时,叶片的颜色、纹理和形状等外观表现出相应的缺素症状[2]。

传统的植物缺素图像识别研究主要通过机器视觉技术采集缺素图像,借助图像处理技术挖掘出植物缺素症状特征并构建模型对缺素症进行识别。目前国内外学者已取得了诸多成果。张凯兵等[3]提出一种基于HSV颜色空间的非均匀直方图量化和组合多个支撑向量机分类器的智能化油菜缺素分析与诊断方法,其总体识别率达到93%。Xu等[4]描述了一种基于叶片颜色和纹理特征的遗传算法识别番茄缺氮缺钾的方法,其准确率为82.5%。关海鸥等[5]利用图像灰度直方图与主成分分析方法,提取并计算出大豆冠层图像的最佳颜色特征蓝光标准化值B/(R+G+B)和绿光标准化值G/(R+G+B),通过正则模糊神经网络模型,解决了大豆缺素症状与颜色特征向量之间的模糊逻辑映射关系。刘红玉等[6]采用遗传算法优选出波段中反射光谱强度与氮、磷、钾实测值含量的相关系数大于0.6的特征波长作为特征波段,采用主成分分析法PCA提取反射光谱的纹理特征,建立了番茄鲜叶的氮、磷、钾含量估测模型,最高相关系数达0.96。杨捷[7]利用两级三层PCA-BP神经网络,建立了马铃薯叶片的缺钾、锰、铁、硼、镁、硫识别模型,其识别率达到96%以上。基于上述研究可以看出传统的植物缺素症识别主要通过图像预处理技术提取缺素叶片的颜色、形状、纹理、叶绿素分布等特征[8-11],再通过机器学习模型进行种类识别,特征提取过程繁琐单一且只能提取叶片表面特征,难以挖掘到区别力强的深层特征,识别精度仍有提升空间。

目前深度学习在植物缺素和病害识别中也得到广泛应用[12-16],基于深度学习的识别方法采用端到端的结构,简化了识别流程,对数据集的表达更高效和准确,所提取的抽象特征鲁棒性更强,泛化能力更好。Tran等[12]采用基于CNN结构的2种预测模型,实现了对番茄叶片和果实营养缺乏症状进行预测和分类,并使用集成学习来提高结果的准确性,模型Inception-resnet v2与Autoencoder的缺素识别准确率从87.27%和79.09%均提高至91%。熊俊涛等[13]提出了一种基于神经网络的大豆叶片缺素视觉检测方法,利用Mask R-CNN模型对叶片图像进行分割,以去除背景特征,再利用VGG16模型进行缺素分类,分类准确率达到89.42%。

近年来,在植物图像方面的研究多集中在植物和病理的鉴定,但在植物缺素识别领域应用较少。此外,大部分模型对于相似特征的提取能力有限,无法实现对早期缺素叶片的高精度识别。识别番茄叶部的不同缺素症状时,需要考虑如下问题:1)番茄缺素初期叶片的变化较小,难以捕捉缺素特征的细节纹理信息;2)不同缺素叶片特征相似,难以区分;3)不同阶段缺素叶片特征差异较大。已有的相关缺素识别研究鲜少考虑以上问题。Huang等[17]提出的DenseNet模型在ImageNet公开数据集上取得了较好的识别效果,使用稠密连接方法充分利用提取的特征,同时有效缓解了梯度消失问题。DenseNet在图像分类、对象检测和语义分割等很多任务中取得了不错的效果[18-22]。赵奇慧等[20]利用微调后的DenseNet-169图像分类模型进行叶片水分胁迫程度分类,试验结果表明,经过DenseNet-169网络训练的叶片水分胁迫程度分类模型在测试集上的分类准确率为94.68%。

针对上述问题,本文设计缺素试验构建番茄缺素图像数据集,针对番茄缺素叶片特点,对DenseNet-121模型网络进行适用性改进,构造能够有效捕捉不同缺素特征之间的细微差别、具有高精度番茄缺素叶片分类性能的识别方法。

1 材料与方法

本研究以采集的番茄叶片缺素图像作为研究对象进行图像分类试验,并对不同算法处理下的分类结果进行对比分析。具体以北京农林科学院大数据智能部实验室中气候箱所采集的图像作为试验数据,试验时间为2020年10-12月。试验从幼苗出现缺素性状开始并根据生长阶段分别对缺素叶片图像采集拍摄。

1.1 番茄缺素试验材料

试验使用的番茄品种为山东大红果番茄,番茄样本为32株长势基本一致的健康番茄幼苗。采用气候箱进行培养,气候箱型号为LRG-1000B,容量1 000 L。花盆为大号水培专用花盆。基质为陶粒,陶粒化学稳定性强,不会对试验效果产生影响。该试验使用的营养液为霍格兰氏液,缺氮样本的营养液为完全去除氮元素的霍格兰氏液,缺磷和缺钾样本的营养液也采用同样的方法配置。

1.2 番茄缺素样本培育

缺素试验中番茄植株的生长环境因素由人工气候箱进行调控,郭小清等[23]通过试验解析环境因子耦合对番茄光合作用及生长的驱动和调控作用,获得了番茄最适生长环境。结合相关研究,本试验番茄缺素人工气候箱的番茄培养环境设置如表1所示。

表1 人工气候箱的环境设置Table 1 Environmental settings for artificial climate boxes

缺素试验设置正常对照组和3类缺素组(缺氮、缺磷和缺钾),每组8株番茄苗,缺素培养试验为8周,每天施营养液一次,每盆浇约30 mL至花盆水位线即可(水位刚好达到番茄苗根部)。试验开始时番茄苗的叶片大小达不到试验要求,故在试验前对所有幼苗使用正常营养液进行培养,待番茄苗长至开花期前进行移苗,移苗时需将番茄苗根部清洗干净,并更换新陶粒。移苗后的前两周进行缺素试验缓苗处理,具体处理方式为各营养液浓度减半,两周后使用完全缺素营养液进行缺素试验。

1.3 数据集制作

番茄不同的营养元素缺乏时,外观会产生不同的变化。番茄缺氮在苗期显症,幼苗叶片逐渐变黄,且黄色区与绿色区分界不明显;番茄缺磷早期下部叶片变成紫红色,成株期叶面略显皱缩,叶片正面及背面的叶脉变为紫红色;番茄缺钾发病初期叶缘及后茎部出现针尖大小黑褐色点,叶缘呈鲜橙黄色,且叶脉间逐渐变黄。番茄的具体缺素典型症状见图1。

在番茄生长过程中对缺氮、缺钾、缺磷和正常4种类型进行拍摄图像,共拍摄1 250幅图像,最终拍摄图像数量为:缺氮190幅,缺钾280幅,缺磷380幅和正常400幅。具体过程如下:

1)由于缺素条件对植株生长有较大限制,番茄幼苗生长缓慢且叶片较小,所以图像中存在部分图像中含有多片叶的情况。经过测量计算,含有多片叶的缺素图像中叶片长度均不超过图像总长度的二分之一,且大致分布在图片边界。为确保叶片的分割完整性,设计分割算法以图像的4个顶点为起点,切割图像边长5/8单位的四张子图片,因此,对图像进行了图2方式的平移切割。原1 250幅图生成5 000幅图,按比例从中挑选1 250张叶片重合较少且侧重叶片不一致的图片合成数据集1。

2)图像通过对比度增强、亮度增强、镜像和旋转相结合等方法对图像进行数据增强以增加数据多样性,原图与数据增强图像合成数据集2共5 000幅图片,具体过程如图3所示。

3)番茄缺素数据集由数据集1与数据集2组成,其中缺氮、缺钾、缺磷和正常图像分别为950、1 400、1 900和2 000幅,共6 250幅图像。训练集、验证集和测试集分配为6∶2∶2,各自的样本数量如表2所示。为了提高模型的训练效率,利用 Photoshop 将图像统一压缩为224×224像素。

表2 番茄缺素图像的训练集、验证集和测试集分配Table 2 Training dataset, validation, dataset and test dataset assignments of tomato deficient nutrient elements images

2 番茄叶片缺素分类模型设计

基于注意力的多尺度融合卷积神经网络模型(MSFF-AM-CNNs)是针对缺素叶片图像分类任务而提出的,模型的具体结构简图见图4。提出的MSFF-AM-CNNs模型的关键技术包括4部分:1)针对缺素性状的多尺度特征融合模块(Multi-Scale Feature Fusion Module, MSFF Module);2)基于注意力机制的多尺度特征融合的浅层特征提取模块(Multi-Scale Feature Fusion Module Based On Attention Mechanism, MSFF-AM Module);3)由多尺度融合的瓶颈(Multi-Scale Feature Fusion BottleNeck,MSFF BottleNeck)组成以提取深度特征的模块(Deep Multi-Scale Feature Fusion Block, Deep-MSFF Block);4)引入Focal Loss函数作为损失函数,以减少易分样本的权重。MSFF-AM-CNNs模型是基于DenseNet-121网络模型进行改进的,结构上主要由1个MSFF-AM Module,4个Deep-MSFF Block,池化层和全连接层组成,各Deep-MSFF Block之间用卷积层和池化层相连接,用于整合学到的特征,降低特征图的尺寸。Deep-MSFF Block 1-4中所包含的MSFF BottleNeck数分别为6、12、24、16。

其中通道空间注意力机制(Convolutional Block Attention Module,CBAM)[24]仅添加在提取浅层特征的卷积层中。考虑本研究旨在解决番茄早期缺素性状不明显难辨别问题,因此模型的特征提取主要侧重在番茄叶片细微的纹理及颜色等细节变化。网络模型中浅层网络提取的是纹理、细节特征,深层网络提取的是轮廓、形状特征,因此浅层网络包含更多的特征,具备提取关键特征的能力。将通道空间注意力机制添加在浅层特征提取的卷积层中,可以实现选择性地强调关键细节信息特征并达到对特征精准定位的效果。且深层网络提取的轮廓、形状特征并不是用于辨别番茄缺素的关键细微特征。网络层数越深,提取的特征越具有概括性,注意力机制对网络的影响相对就越小,因此不能够达到同样的效果。同时,随着网络加深,模型的参数数量、权重空间增大、平均测试耗时也随之增大。经试验验证,将通道空间注意力机制(CBAM)添加于提取深层特征的模块效果不理想且消耗过大,故本研究没有将通道空间注意力机制(CBAM)添加在深层特征提取的模块中。

2.1 DenseNet 优点与不足

DenseNet[17]网络结合ResNet网络和GoogLeNet网络的优点,连接模式可以最大化网络中各层之间的信息流动,将网络中所有层之间都相互连接,各层通过获取前层的额外输入并将本层特征传递给后续层的方式保留前向的特征。图像输入到DenseNet网络后先经过一个7×7的卷积层和池化层后输入至多个Dense Block中,Dense Block由多个瓶颈(Bottleneck)组成,每一个BotteNeck的输入,都来自于前一层BottleNeck输出和原始输入的堆叠。此外,DenseNet 网络通过稠密连接产生的正则化作用可以在训练中有效减少过拟合问题。因此对于需要大规模训练计算从而实现精准识别的番茄缺素分类任务,省参数,省计算,抗过拟合的DenseNet网络对其具有更强的适用性。

DenseNet尽管在很大程度上解决了梯度消失和过拟合问题,但在番茄叶部缺素的具体识别过程中,不具有针对性,不能准确地在番茄缺素早期实现高精度识别,存在特征提取尺寸单一以至于无法感知番茄早期缺磷的细微变化等问题。

2.2 改进的番茄叶片缺素分类模型MSFF-AM-CNNs

2.2.1 提出针对缺素性状的多尺度特征融合模块(MSFF Module)

番茄缺素性状具有多样性和差异性,具体表现为:1)番茄缺素初期叶片的变化较小,卷边和变色问题较轻,所表现的性状区域尺寸较小,捕捉细节纹理困难。而细微的性状变化和微小的颜色差异是区分不同缺素的关键,例如缺磷的表现是叶片沿脉络逐步变紫,因脉络结构大多细小,所以在缺磷早期性状细节难以捕捉;2)不同缺素条件下的番茄叶片在某阶段表现出相似的颜色、纹理特征。例如缺氮初期与缺钾初期都有叶片轻微黄化的性状展现,仅在所表现的性状区域尺寸有细小差别;3)同一种缺素条件下的不同阶段,特征差异明显。且随着幼苗伴随缺素条件持续生长,叶片在颜色、纹理等方面均表现出明显的差异。因此固定尺度的卷积核在感知不同大小的番茄缺素性状时效果不佳,针对此问题引入多尺度(Multi-Scale)结构[25-26],提出了针对番茄缺素性状的多尺度特征融合模块,具体结构简图见图5。

该结构是通过替代浅层网络的大尺寸卷积层和池化层,使用多个尺度的卷积核对输入图像进行多尺度特征融合后进行多通道的特征拼接,在扩大通道数的同时对浅层图像进行多尺度特征融合。本研究采用3种不同尺度(1×1)、(3×3)、(5×5)卷积核提取特征,通过设置成不同尺寸的卷积核组合的形式改善网络底层对不同特征的响应,其中K是卷积核尺寸,c为各通道的比例参数,其作用为强调以上3个卷积层的通道输出比例为2∶1∶1,小卷积核的通道数占较大比重,说明模块可以在多尺度特征提取的同时重点提取叶片的细微的纹理变化和颜色差异,达到更好的缺素特征提取效果。

2.2.2 改进的基于注意力机制的多尺度特征融合模块

网络模型中浅层网络提取的是纹理、细节特征,深层网络提取的是轮廓、形状特征,因此浅层网络包含更多的特征,且具备提取关键特征的能力。将空间注意力模块和通道注意力模块添加在浅层特征提取的卷积层中,可以实现选择性地强调关键细节信息特征并达到对特征精准定位的效果。

MSFF-AM Module将DenseNet提取浅层特征的大尺度卷积层和池化层转换为由本文改进的多尺度特征融合结构(MSFF Module)并加入通道信息注意力网络(CBAM)组成MSFF-AM Module。目的是通过全局信息融合多个特征通道来选择性地强调特征,实现对缺素特征的重标定,从而提高番茄叶片缺素的分类准确率。

DenseNet原结构中图像经过7×7的Conv + 2×2的最大池化层MaxPool模块实现对浅层信息的大尺度特征提取;改进后的MSFF-AM Module中,输入图像先经过一个MSFF模块提取番茄缺素的多尺度特征,再通过通道和空间的注意力机制(CBAM)得到重标定的缺素特征,为了使模型可以选择性地强调关键特征,最后用MSFF Module取代原模块MaxPool,从而达到优化浅层特征提取效果的目的,MSFF-AM Module具体结构如图6a。

1)多尺度特征融合模块(MSFF Module)替换单一尺度(7×7 conv)

由于不同种类番茄缺素叶片在不同时期具有不同的表现,缺磷和缺钾的番茄叶片在初期性状较为细小,后期性状大且密集;而缺氮在初期和后期番茄叶片的性状均大且密集,固定尺度的卷积核在感知不同大小的番茄缺素病斑时效果不佳,因此本文引入了多尺度特征融合机制。

2)引入通道空间注意力机制(CBAM)

当注意力机制应用于深度学习的图像处理领域时,本质对不同重要程度的信息赋予不同的权重,大大提高神经网络效率,用很小的计算量换取网络性能的显著提升。为提升番茄叶片缺素图像分类模型网络性能,本文在浅层特征提取的卷积层中引入注意力机制,衔接于2个多尺度特征融合结构的卷积层之间,具体为1个空间注意力模块(Spatial Attention Module)[27]和1个通道注意力模块(Channel Attention Module)[28]。

通道注意力机制通过对通道进行过滤从而得到优化后的特征,空间注意力关注点为空间内有意义的特征,使用平均池化层和最大池化层对输入特征进行通道层压缩操作。CBAM结合了通道注意力和空间注意力,全局信息融合多个特征通道来选择性地强调信息特征功能,从而达到对缺素特征进行重标定。集成网络很好的学习目标对象区域中的信息并从中聚合特征。通过建立卷积特征通道之间的相互依赖关系来提高分类准确率,CBAM结构如图6b所示。模型通过学习全局信息来选择性的强调特征信息并执行特征通道重新校准。

2.2.3 改进的深度特征提取模块Deep-MSFF Block

在番茄缺素性状显现过程中,因不同种类番茄缺素叶片在不同时期具有多种表现型的特点,故将原本的Dense Block改进为Deep-MSFF Block。Deep-MSFF Block由多个MSFF BottleNeck组成,多层之间稠密连接,每一个MSFF BottleNeck的输入,都来自于前面每一层MSFF BottleNeck的输出和原始输入的堆叠,Deep-MSFF Block结构如图4所示。

多尺度融合的瓶颈 (MSFF BottleNeck) 将其中的1×1conv扩大通道数的过程改为采用多尺度特征融合模块(MSFF Module)扩大通道数的过程,将1×1conv (n→4r)替换为1×1conv (n→2r)、3×3conv (n→r) 和5×5conv (n→r)拼接,r=32,其结构不仅降低特征数量,提升计算效率,还强调了多尺度特征融合在特征提取中的作用。改进的多尺度融合的瓶颈结构如图6c所示。

其中,r是一个超参数被称为增长率growth rate,是Deep-MSFF Block中每一个非线性变换(MSFF Module→BN→ReLU→3×3conv)的输出,其与输入进行连接为一个MSFF BottleNeck的输出,增长率r反映每个Deep-MSFF Block中Feature Map通道数的增长速度。随着增长率超参数r的增加,模型的准确率有提升效果,但模型参数明显增多,计算量明显增大。为了避免网络变得很宽,在实际应用中通常采用较小的r,当r=32时,可以在稍复杂数据集中达到较好平衡。

2.2.4 引入Focal Loss函数作为分类损失函数

本研究通过训练番茄缺素叶片图像,使模型可以对健康及缺素的番茄叶片进行分类。在番茄缺素早期,缺氮和缺钾叶片变化相似容易混淆,故训练时健康的图像样本相对于缺素的图像样本更容易被分辨。Focal loss(焦点损失)[29]损失函数是解决分类问题中类别不平衡、分类难度有差异的损失函数,广泛用于图像领域解决数据不平衡造成的模型性能问题。引入Focal loss损失函数后网络在训练时可以减少易分样本(健康叶片)的权重,从而使模型在训练过程中更专注难分类的样本。因此从样本难易分类角度出发,使得loss聚焦于难分样本,解决了样本少的类别分类准确率不高的问题,有助于模型的整体性能提高。

交叉熵损失函数的本质是信息理论中的交叉熵在分类问题中的应用,其优点是能在梯度下降时避免均方误差损失函数学习速率降低的问题。Focal loss损失函数是在交叉熵损失函数[30]的基础上进行修改得到的,在交叉熵损失函数基础上为了控制正负样本对总的损失的权重共享,增加一个参数αt,表示不同类别的权重,通过将αt取一个较小的值来降低负样本的权重表达式(1)如下:

式中CE()即cross entropy,为交叉熵损失函数;pt即ground truth,为标注类别所对应的概率。

在式(1)的基础上,再增加一个控制容易分类和难分类样本的权重,通过减少易分类样本的权重,从而使得模型在训练时更专注于难分类的样本。焦点损失为

式中Lfl为二分类的焦点损失函数,其中y表示样本类别,取值0或1,γ为焦点参数,γ≥0,(1-pt)γ为调制系数,用来减少易分类样本的权重,使番茄缺素图像识别模型在训练中可以关注难分类的样本。

多分类任务下的焦点损失为

式中FL即Focal Loss,为多分类任务下的焦点损失函数,pprediction为目标的预测值。

2.3 环境配置

网络模型训练与测试的试验环境配置如表3所示。

表3 试验环境配置Table 3 Eeperimental environment configuration

2.4 MSFF-AM-CNNs 训练过程分析

MSFF-AM-CNNs模型选用ReLU为激活函数,为了避免网络过拟合的发生,对全连接层引入了dropout。遍历一次训练集中的所有图片称作一次迭代(iterations),训练100 iterations,选取0.01为学习率初始值,试验以小批量的形式进行,batch size设置为20。

batch size应在内存效率和内存容量之间寻求最佳平衡,从而最优化网络模型的性能及速度。为在合理范围内增大相对处理速度,当试验设置为batch size=32和batch size=24时,结果均为电脑运行内存不足,无法训练。batch size=20和batch size=16时,模型皆正常收敛,平均准确率基本相同。当batch size=20时,模型训练速度明显更快,故本次实验设置为20。

训练和验证过程中的损失函数变化趋势如图7,其中遍历完一个batch的图片称作一次Total iterations。可以发现分类损失loss在训练的前40次iterations(Total iterations/(训练集图片总数/batch):7 500/(3 750/20)=40)一直处于快速下降状态,迭代到60(11 500/(3 750/20))次iterations之后loss一直维持在较低水平,说明模型达到收敛。

2.5 评价指标

为验证MSFF-AM-CNNs 的有效性,采用召回率Recall(%)、F1得分(%)、准确率Precision(%)、平均识别准确率AP(%)作为评价指标进行对比试验,衡量分割模型的性能。指标的计算公式如下:

式中设正样本被正确识别为正样本的数量为TP,负样本被正确识别为负样本的数量为TN,负样本被错误识别为正样本的数量为FP,正样本被错误识别为负样本的数量为FN,TPi、FPi分别表示测试集中第i类缺素样本预测正确的和预测错误的样本数,N表示缺素种类数。平均识别准确率可以衡量模型对于整个番茄缺素数据集的识别精度,平均识别准确率、准确率、F1得分和召回率的值越接近于1则代表本文模型的性能越好。

3 试验结果与分析

3.1 多模块可视化输出对比分析

为更好地分析本文网络获得番茄叶片缺素图像特征表达的过程,分别将各模块中卷积层的输出特征图可视化。具体分类过程中,首先将番茄叶片缺素图像通过MSFF-AM Module,在注意力机制基础上提取图像的多尺度特征,然后连续通过4个包含MSFF BottleNeck数分别为6、12、24、16的Deep-MSFF Block模块,4个模块间通过卷积层和池化层相连,最后通过全局池化后使用SoftMax对图像进行分类,并输出分类结果。

MSFF-AM Module旨在浅层网络中融合注意力机制模型及以多尺度特征融合层替换部分普通卷积层为提高番茄叶片缺素的分类准确率,图8为MSFF-AM Module和原Conv+Pool模块的部分可视化输出,其中图8a、8b、8c分别为图像通过MSFF-AM Module中卷积核尺寸为1×1、3×3、5×5多尺度卷积计算的部分通道可视化输出,图8d均为图像通过原Conv+Pool模块中卷积核尺寸为7×7多尺度卷积计算的部分通道可视化输出。

通过对比得出,针对叶片上的细微特征和轻微纹理变化,原模块不能准确定位提取不同尺度的特征,而MSFF-AM Module可以通过多尺度卷积核和注意力机制结构提取到不同尺度的关键特征,达到精准定位、准确提取特征的作用,对番茄缺素特征提取确实有显著效果。

随着网络层次加深,图像的特征Deep-MSFF Block模块强调了多尺度特征融合在特征提取中的作用,图9为Deep-MSFF Block2层和Dense Block2的可视化输出,由图9a可得Deep-MSFF Block可以提取茎和叶上更微小的特征,较Dense Block提取特征能力效果更好,对不同尺度特征捕捉效果更优,对关键特征的提取更加精确。由此得出Deep-MSFF Block对番茄缺素特征提取确实有显著效果。

3.2 多模型试验结果分析

以正常、缺氮、缺磷、缺钾4种类型的番茄叶片图像为分类对象,分别标记为正常Normal、缺氮Lack nitrogen、缺磷Lack phosphorus、缺钾Lack potassium。本文采用以下不同的模型网络进行番茄缺素检测:

1)现有的DenseNet-121网络。

2)DenseNet-121网络添加基于注意力机制的多尺度特征融合模块(MSFF-AM Module),以下简称为DenseNet-121 + MSFF-AM 。

3)DenseNet-121网络添加基于注意力机制的多尺度特征融合模块(MSFF-AM Module)并引入Focal Loss函数作为损失函数,以下简称为DenseNet-121+ MSFF-AM+Focal Loss。

4)DenseNet-121网络添加基于注意力机制的多尺度特征融合模块(MSFF-AM Module)、提取深度特征的Deep-MSFF Block及引入Focal Loss函数作为损失函数,以下简称为MSFF-AM-CNNs。

5)传统机器学习模型BP神经网络算法、K最近邻算法KNN、贝叶斯算法NBM。

6)现有成熟深度学习模型MobileNetV3、AlexNet、VGG16等。

将MSFF-AM-CNNs 应用于番茄叶片缺素图像分类,并与传统机器学习模型(BP神经网络算法、K最近邻算法KNN、贝叶斯算法NBM)和成熟深度学习模型(MobileNetV3、AlexNet、VGG16、DenseNet-121和DenseNet-201)进行准确率比较。将训练集、验证集和测试集输入到训练好的各个模型进行测试,验证多模型的性能。由于验证集数据的信息会被带入到模型中去,因此验证误差通常比测试误差要小。多模型的验证集与测试集准确率对比结果如表4。从验证集和测试集的效果来看,模型未出现过拟合或者欠拟合现象,模型性能取得理想效果。

表4 缺素类型的多模型准确率对比Table 4 Multi-model accuracy comparison of the deficient nutrient elements %

由表4可得,针对番茄缺素识别任务,传统机器学习算法的识别准确率普遍低于深度学习算法的识别准确率。深度学习算法MobileNetV3、AlexNet、VGG16和DenseNet-121应用于番茄缺素测试集平均识别准确率分别为90.83%、91.26%、91.73%和92.98%,深度学习算法虽具有优势,但仍不能针对性的满足番茄叶片缺素图像的高精度分类需求。因番茄缺氮与缺钾在缺素早期的症状较为类似且都会呈现叶片变黄的特征,所以两者区分较为困难。从特征细节看,缺氮为大面积黄化而缺钾是从叶片边缘开始的小范围黄化,两者颜色变化类似但缺素症显现的大小和表现的部位却不同。本研究的MSFF-AM-CNNs模型对性状相似的缺氮和缺钾叶片的误识率更低,其中缺氮和缺钾叶片的准确率较原模型DenseNet-121分别提高了8.06和6.14个百分点,召回率分别提高了6.31和5.00个百分点,F1得分分别提高了7.25和5.55个百分点,MSFF-AM-CNNs的识别准确率可达95.92%,因此模型能够有效捕捉不同缺素症之间的细微差别,对番茄叶片缺素图像分类有良好表现。

表5 为4组模型设计方案针对番茄缺素数据的性能对比结果。首先在DenseNet-121网络的基础上引入基于注意力机制的多尺度特征融合模块,模型各指标性能有较大提升精确率、召回率和F1得分分别大幅提升;在此基础上,引入Focal Loss函数作为损失函数,并将Dense Block替换为Deep-MSFF Block,使得模型具有了更好的准确率与召回率,说明模型在改进后,网络在训练时会考虑正负样本之间的差异和不同样本之间的差异,在不断的迭代中,减小类内距离、扩大类间距离,使得模型具有更好的模型性能。

表5 模型设计方案性能对比结果Table 5 Performance comparison results of the model design scheme %

混淆矩阵(Confusion matrix)也是分类模型评判指标之一[14]。混淆矩阵的行标签表示预测图像的真实类别。行列交叉处的数值表示该类别被预测为对应列标签的数量,对角线处的数值表示正确预测的标签数量,对角线的数值越大表示模型的效果越好。表6为原网络DenseNet-121和改进后网络MSFF-AM-CNNs的混淆矩阵。关于得出相对于原模型,改进后的MSFF-AM-CNNs针对性状相似的缺氮和缺钾叶片的误识率更低,且模型可以更准确地分辨健康叶片和早期缺素叶片的细微差别,对缺素性状实现更清晰的定位和更精准的识别。MSFF-AM-CNNs的混淆矩阵表现出得性能更好,平均识别率更高。

表6 DenseNet-121与MSFF-AM-CNNs识别番茄缺素图像的混淆矩阵Table 6 DenseNet-121 and MSFF-AM-CNNs identifies the confusion matrix of tomato deficient elements nutrient images

在实际应用中模型的效率对识别任务有很大的影响,表7为原模型DenseNet-121、改进后的模型MSFF&AM-CNNs和模型DenseNet-201针对番茄缺素任务的模型参数大小、平均测试耗时、平均召回率、平均F1得分与平均准确率对比。

表7 多模型性能对比结果Table 7 Performance comparison results of multiple model

MSFF&AM-CNNs基于DenseNet-121进行改进,虽然与DenseNet-121相比模型大小增加了6.52MB,平均测试耗时增加了0.0102s,但平均召回率、平均F1得分、平均准确率比改进前提升了3.04个百分点、2.98个百分点、2.94个 百 分 点。与DenseNet-201相 比,MSFF&AM-CNNs的结构更简单,其平均召回率、平均F1得分、平均准确率比DenseNet-201高了1.29个百分点、1.27个百分点、1.52个百分点,模型体积比DenseNet-201小41.60 MB,平均测试耗时低0.050 3s。以上结果表明,注意力机制及多尺度特征融合模块可以显著提升模型综合性能,更适用于番茄缺素分类任务。

图10 为番茄缺素在线诊断过程架构图。模型训练保存后,接入在线诊断平台,用户上传番茄缺素图片,输出预测结果。

4 讨 论

目前,依靠水培技术实现植物的缺素培养是农业中的常见做法[31-34]。张陆[31]对50株番茄幼苗分别采用正常营养液、100%缺镁营养液、100%缺氮营养液、50%缺镁营养液、50%缺氮营养液进行番茄的缺素试验,获得正常、缺镁、缺氮3类图像共计500 张。石吉勇等[32]以温室水培黄瓜为研究对象,分别采用正常营养液和100%缺磷营养液对80株黄瓜进行试验,获得正常、缺磷2类近红外光谱共计90条。由此可见,通过水培技术获得植物缺素样本方案可行可实施。

本研究以气候箱水培番茄为研究对象,使用正常营养液及100%缺素营养液进行缺素试验,试验全程记录苗期番茄从正常到缺素状态的全部变化过程,具体从缺素早期的轻度不明显性状到苗期结束的缺素后期显著性状进行记录,获得正常、缺氮、缺磷、缺钾4类番茄缺素图像共1 250张,实现了番茄缺氮、磷、钾图像的获取。但是本试验仍存在以下不足,1)番茄缺素样本较少,未考虑在每种缺素条件的梯度设置,使得缺素数据集涵盖范围不够全面;2)实际生产中,番茄叶片缺素的性状表现因所处生长期不同,缺素症状差异较大。试验未采集不同缺素番茄处于不同生长周期下的图像数据。在未来的缺素识别研究中,将设置多浓度梯度缺素条件,以增加样本数量及样本多样性。同时进行番茄苗期、花期和果期等不同生长期缺素培养试验,提高模型对全生育期番茄缺素识别的普适性。

5 结 论

1)为实现对番茄缺素叶片的识别,本研究设计番茄缺素实验,构建了包含3种番茄缺素叶片及番茄健康叶片的数据集,共包含6 250张图像。

2)设计针对缺素性状的多尺度特征融合模块,分别针对浅层和深层网络特征提取特点引入注意力机制及多尺度特征融合结构,同时引入Focal Loss函数,构建基于注意力机制及多尺度特征融合卷积神经网络的番茄叶片缺素图像分类模型(MSFF-AM-CNNs),本文提出的模型和方法为植物缺素分类提供新思路。

3)针对番茄缺素识别任务,基于注意力机制及多尺度特征融合卷积神经网络的番茄叶片缺素图像分类模型(MSFF-AM-CNNs)取得相对较高的分类结果,其准确率、召回率和F1得分较原模型DenseNet-121均有大幅提升。MSFF-AM-CNNs对性状相似的缺氮和缺钾叶片的误识率更低,其中缺氮和缺钾叶片的准确率分别提高了8.06和6.14个百分点,召回率分别提高了6.31和5.00个百分点,F1得分分别提高了7.25和5.55个百分点,平均识别准确率可达95.92%,因此MSFF-AM-CNNs模型在番茄叶片缺素图像分类任务中具有更强的适用性。

猜你喜欢

尺度准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
论社会进步的评价尺度
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度