采用双模态联合表征学习方法识别作物病害

2021-09-04 12:01王春山赵春江吴华瑞李久熙朱华吉
农业工程学报 2021年11期
关键词:分支准确率模态

王春山,赵春江,吴华瑞※,周 冀,李久熙,朱华吉

(1.北京农业信息技术研究中心,北京 100097; 2.河北农业大学信息科学与技术学院,保定 071001;3.国家农业信息化工程技术研究中心,北京 100097;4.河北省农业大数据重点实验室,保定 071001;5.河北农业大学机电工程学院,保定 071001)

0 引 言

中国有害生物多发,常见农作物病害775种,分布范围广、成灾频率高、突发性强[1-2]。近年来,平均每年病害发生面积超过2.66亿公顷次,给中国农业生产造成了重大损失[3-4]。传统的病害诊断主要通过农学专家或者技术员根据经验进行识别和评估,存在耗时、费力且效率低的问题,难以适应病害快速防治的实时性与准确性要求。近年来,深度卷积神经网络的发展推动了大规模基准数据集如ImageNet上通用视觉识别的快速进步[5-6]。在已有的研究中,基于卷积神经网络的模型和算法已被证明可用于解决病害识别问题,因此越来越多的研究聚焦于作物病害检测和分类,并取得了一定的成功[7]。为了保障深度网络模型的识别性能,许多研究都采用了包含大量病害图像的公开数据集或者自采大量病害图像构建的数据集。Mohanty等[8]

收集了包含14类作物、26种病害的PlantVillage 数据集,共54 306幅农作物叶部的病害图像,并利用AlexNet和GoogleNet深度网络将对象分为38个对应类别,准确率高达 99.35%。文献[9]则收集了苹果、土豆等 25类蔬果的87 848张叶部病害图片,用以验证VGGNet模型识别性能,准确率达到 99.53%。为进一步保障深度网络有效训练,Wu等[10]收集了102类农作物害虫共计75 222张图像,并对19 000多张照片进行框标注,用以训练ResNet分类器与YOLOv3检测网络结合模型,有效验证了深度网络在农作物虫害分类及识别的显著效益。DeChant等[11]构建了识别玉米北方叶枯病的卷积神经网络模型,该模型的识别准确率为96.7%,使用的数据集包含18 222张图像,其中有10 5705个病斑标注。

上述研究为利用进行农作物叶部病害识别提供了参考和可行性,但高性能深度学习模型对数据依赖严重,如果数据集规模太小,深度学习模型无法完全捕捉到与每一类相关的特征和变化,进而影响识别性能[12-14]。而农业应用场景环境复杂且时空范围广阔,农作物病害图像数据采集和标注充满不确定性和高难度性,严重制约了现有病害识别的应用[15]。解决小样本任务的一个常见思路是从相关领域的海量标注数据中学习知识结构和模型参数,然后在小规模数据集上进行识别微调[16-20]。许景辉等[21]为解决小样本复杂田间背景下的玉米病害图像识别,提出了一种基于迁移学习的卷积神经网络玉米病害图像识别模型。为了提高模型的性能,Chen等[22]在ImageNet上预先训练的VGGNet和Inception模块,在公共数据集上的验证准确率不低于91.83%。赵立新等[23]利用迁移学习算法并辅以数据增强技术,实现了棉花叶部病虫害图像准确分类。研究表明迁移学习在提高识别精度、降低过拟合、解决数据缺乏方面的有效性[24-25],但其并不能从根本上解决数据样本少的问题。这就使得深度卷积神经网络进行病害识别陷入数据困境。一方面深度学习建立在大量有标注的图像数据训练的基础上,而采集到时空分布广泛的、大规模的病害图像并进行准确标注,在技术上或经济上往往是不可行的[26]。另一方面,其他模态的病害描述信息广泛存在,比如,病害特征的文本描述、环境特征等,但是这些模态信息在病害识别过程中尚未得到有效利用[27-28]。

综上所述,在使用图像进行病害识别时,现有方法忽略了病害描述文本信息的有效利用,人们对病害做出的文本描述往往包含丰富的语义信息,这种文本模态的信息可以与病害图像模态信息形成互补,在一定程度上弥补图像训练样本不足的问题。尽管这个问题已经引起了研究者的注意并开展了相应的研究,但是仍需要进一步深入的探索多模态之间表征学习的机制和效果。本文在病害图像的基础上嵌入病害特征的文本描述作为病害识别的先验知识,提出了图像与文本双模态联合表征学习的作物病害识别模型(bimodalNet),以期融合不同模态之间的共性和特性,更好的解决开放环境下病害识别问题。

1 数据集

1.1 数据来源

本文使用数据集均来自小汤山国家精准农业示范基地和北京平谷桃智能化生产示范基地,自采集数据包括:番茄白粉病、番茄早疫病、黄瓜白粉病、黄瓜病毒病、黄瓜霜霉病、桃炭疽病共 6种病害叶片的图像数据共1 834张,每张图像配合一句文本描述,作为图像-文本对,具体数量如表1所示。考虑到真实应用情况,在图像数据集采集过程中分早晨(7:00-8:00),中午(11:00-12:00),傍晚(17:00-18:00)3个时间段进行拍摄,采集地点为设施温室;为了避免单一文本描述风格影响实际使用效果,文本数据集由 5名植保专家对照原始图像进行描述,图像-文本对示例如表2所示,最终按照7:2:1比例划分原始数据集为训练集、验证集和测试集。

表1 数据集样本数量Table 1 Number of data set samples

表2 图像-文本对示例Table 2 Image-text pair example

1.2 数据预处理

在本研究中,由于数据集的全部图像采集自不同设备,因此需要对原始图像进行统一裁剪,将图像大小统一调整像素至224×224,本研究对病害图像的文本描述均为中文,在输入网络之前需要对中文文本进行归一化、分词、构建词表、文本向量化等操作,其中分词使用jieba分词工具,综合考虑原始文本的初始文本长度以及切分后文本的病害特征保留程度,并且经过大量试验验证,向量化的文本长度为20个字符时效果最佳,原始文本超过此长度则切除,不足此长度则补充为0。

2 双模态联合表征学习的作物病害识别模型构建

2.1 模型结构

在分类任务中,图像分类器提取图像数据的形状、颜色、纹理特征,文本分类器提取文本数据的文本含义以及上下文关系特征。设计双模态病害识别模型(bimodalNet)的初衷是结合图像模态和文本模态两个模态的病害特征,不同模态之间优势互补,最终可以使模态结合后的效果超过任意单一模态达到的效果。双模态病害识别模型由图像模态分支和文本模态分支两部分组成,其网络结构图如图1所示。网络结构由图像分支和文本分支两部分组成,其中图像分支采用卷积神经网络(ResNet18),文本分支采用循环神经网络(TextRNN),网络的输入为图像文本对,两个分支的输出概率分别对应相加作为整体网络的最终输出,最终网络综合了图像分支和文本分支各自的优势,弥补了各分支的不足。

2.2 图像模态分支

卷积神经网络在提取图像特征中展现了其独特的优越性,针对目标图像的纹理、颜色、形状等特征进行卷积输出抽象特征,最后将特征输入分类器得到其分类概率。在图像模态分支中给定图像-文本对中图像Ii和标签,经过特征提取后得到图像模态分支的输出,如式(1)所示。

式中C(·)为卷积神经网络的提取结果,F[·]为 Softmax函数,代表病害图像在图像模态分支中的预测概率。

2.3 文本模态分支

由于图像数据形式与文本数据形式之间有很大不同,使用卷积神经网络进行病害描述文本的特征提取并不能达到理想的效果,但是使用循环神经网络能够更好地进行病害描述文本的特征提取,在文本数据预处理过程中将描述短文本转化为词向量,使用循环神经网络进行特征提取不仅可以提取文本中的上下文关系特征,也考虑了词向量本身的特征表达。给定预处理后的词向量Ti和标签,在词向量经过循环神经网络过程中,循环神经网络将获取词向量的上下文信息Ti-1和Ti+1,在词向量以及其上下文信息的共同作用下得到文本模型分支的输出,如式(2)所示。

式中F[·]为 softmax 函数,R(·)为全连接层,代表病害描述文本种类在文本模态分支中的预测概率。

2.4 双模态特征联合

卷积神经网络和循环神经网络分别从不同的角度提取图像-文本对中不同模态的特征,进行特征融合后可以结合两种模态的特征,进而使大概率分类值与小概率分类值之间的差值进一步增大,从而使联合分类器的分类置信度增加。联合输出公式如式(3)所示。

其特征联合的损失函数Lossjoint如式(4)所示。

式中C为病害类别总数。

3 试验设计与结果分析

3.1 试验环境

本研究试验与对照组试验均在 Ubuntu18.04环境下进行,处理器为Intel core i9 9820X,内存为64G,显卡为GeForce RTX 2080Ti 11G DDR6,采用深度学习框架Pytorch,配合Cuda10.1进行训练,试验设计和对照过程中训练集和验证集的网络批处理大小(Batch-size)分别设置为16和32,所有网络模型迭代次数均为50。

3.2 试验评价指标

本研究从识别准确率(Accuracy)、识别精确率(Precision)、模型灵敏度(Recall)、模型特异性(Specificity)和F1值5个方面进行模型之间的比较,其具体公式参见公式(5)~(9)。

式中TP是实际为特定类别并且被分类器正确分类的个体数量;FP为不属于特定类别但是被分类器错误分类的个体数量;TN为不属于特定类别并且被分类器正确分类的个体数量;FN为属于特定类别但是被分类器错误分类的个体数量。

3.3 试验结果

3.3.1 单图像分支对比

在本节中选用了不同结构的特征提取网络,并且相同网络结构中进行了多种层数的尝试,目的是选取出仅进行特征提取便能对本数据集进行良好分类的网络结构,其中 VGG16、VGG19、ResNet18、ResNet101、DenseNet121、DenseNet169、MobileNet、SqueezeNet、AlexNet作为图像对照组,优化器采用Adam,学习率为0.000 1,其训练集训练中的准确率曲线和损失曲线如图2所示。训练过程中引入验证集,保存验证集中最高准确率轮数下的模型参数作为最终模型参数。模型在测试集结果对比如表3所示。

表3 图像分支对照组测试集结果对比Table 3 Comparison results of image branch control group test set%

由表3可知,在所有图像分支对照组中,DenseNet169、DenseNet121、ResNet18、ResNet101、VGG16的F1值都超过了80%,其中DenseNet169最高为87.12%,其测试结果的混淆矩阵如图3 所示,其中可以发现番茄白粉病和黄瓜霜霉病的错误率最高。并且由图2可以发现使用卷积神经网络可以提取病害图像的特征病进行分类,并且深度网络训练中的准确率和损失值均比轻量级网络取得的效果较好,说明随着网络的加深其特征提取能力进一步增强,由于数据集和网络结构的限制,过深的网络(如ResNet101)会出现梯度消失问题从而使得分类效果并不及同结构浅层网络,分析分类结果发现由于番茄白粉病和黄瓜霜霉病数据集中存在较多病害正反面图像,单独使用卷积神经网络进行特征提取并不能完全提取到病害叶片正反面的信息,相反黄瓜病毒病和桃子炭疽病的特征表现十分明显,使用卷积神经网络能准确的提取到病害特征。由此可见,当病害特征明显时,卷积神经网络可以较好的提取到病害的图像特征。但是当病害特征不显著、不突出时,卷积神经网络并不能从图像单一模态中学习到足够的特征实现分类。

3.3.2 单文本分支对比

与图像分支同理,在本节中依然使用经典文本特征提取网络进行网络结构的选取,分别使用TextCNN、TextRNN、TextRNN+Attention、TextRCNN作为文本对照组[29-32],优化器采用 Adam,学习率为0.000 1,为了防止过拟合设置dropout为0.3,输入文本向量长度为 20,其训练集准确率曲线和损失曲线如图4所示,并且引入验证集,保存验证集中最高准确率轮数下的模型作为最终模型。模型在测试集结果对比如表4所示。

表4 文本分支对照组测试集(归一化数据)结果对比Table 4 Comparison results of text branch control group test set(normalized data)%

由表4可以看出,在所有文本分支对照组的结果对比中四种网络的F1值均超过了90%,说明使用循环神经网络可以很好的提取病害描述文本的特征并进行分类。由图4可以看出,文本分支对照组网络在训练集中准确率上升趋势和损失值下降趋势均较图像分支对照组网络具有较大优势,并且在4种网络中TextRCNN由于兼顾了卷积神经网络和循环神经网络的特点,在向量化文本数据中取得了最好的效果,其测试结果的混淆矩阵如图5所示。从图5可发现黄瓜霜霉病的错误率最高,通过分析数据集中病害描述文本发现,在描述病斑时,训练集和验证集描述为多边形病斑,而测试集描述为正方形病斑,并且在其他种类的测试中也出现了类似情况,因此可以得出结论:不准确的病害症状描述会导致错误的诊断结果。

3.3.3 双模态联合分支对比结果

仅使用图像进行病害识别对于病害特征表现不明显的情况效果不佳,仅使用文本进行病害诊断对于存在错误描述的情况表现不佳。本节将使用双模态联合训练进行病害识别,在双模态联合分支对照组网络选取中综合考虑整体模型的大小与模型的准确率,选择图像分支与文本分支中的不同网络进行组合,其双模态联合分支对照组网络分别为 ResNet18 + TextRCNN、ResNet18 +TextRNN、DenseNet121 + TextRCNN、DenseNet121 +TextRNN_Attention、Mobilenet+TextRCNN、VGG16 +TextCNN,优化器采用Adam,学习率为0.000 1,在优化器优化过程中采用图像分类器和文本分类器单独优化策略,使两个模态的分类器都能达到其最优的效果,最后将两个模态得到的结果结合得到联合分类结果,其训练集训练过程中的准确率曲线和损失曲线如图6所示,并且引入验证集,保存验证集中最高准确率轮数下的模型作为最终模型。模型在测试集识别结果如表5所示。

由表5可以看出,在双模态联合分支对照组试验中使用了图像模态分支中F1值高的深度网络(DenseNet121、ResNet18和 VGG16)和浅层网络(MobileNet)分别与文本模态分支中的不同网络组合,其得到的分类结果F1值均超过了95%,并且由图6可以看出,双模态联合对照组网络中训练集准确率上升趋势和损失值下降趋势较图像分支和文本分支对照组均有明显提升,取得最佳识别效果的双模态联合模型为ResNet18+TextRNN,其识别结果混淆矩阵如图7所示,从图7中可以看出只有黄瓜霜霉病有错误分类出现,其余种类由于图像模态和文本模态的互补性均能正确分类。并且分析错误分类图像和文本描述,均为病害叶片特征不明显,且描述出现错误导致,但是总体上双模态联合模型可以达到双模态之间特征互补使分类正确率提高。

表5 双模态联合分支对照组测试集结果对比Table 5 Comparison results of bimodal joint branch control grouptest set%

将图像模态模型、文本模态模型和双模态联合模型取得的最优模型在训练过程中的准确率显示为图8,由于在训练开始时模型准确率变化较大,因此在刚开始的几轮训练结束时得到的准确率较低,因此被认定为异常值,其中准确率最低的异常值为模型的第一轮训练结束时的准确率,可以发现双模态联合模型的中位数和最高值在3个模型中取得了最大,图像模态模型在训练开始时准确率较其他两种模态高,但是其拟合的最终准确率为最低,文本模态模型在训练开始时准确率较其他两种模态低,但是其模型收敛幅度较大,平均比较3种训练方式的初始准确率,最终准确率,以及模型收敛过程中的准确率提升速度,双模态联合模型取得了最佳效果。

4 讨 论

当前,依靠大规模的数据集和手动注释是农业深度学习应用的常见做法[33-34]。PlantVillage数据集是一个很好的例子,数据集包括54 303张健康和不健康的叶片图像,按物种和疾病分为 38类。在真实的田间条件下,Wiesner-Hanks等[35]采集了18 222张玉米枯叶病图像,标注病斑105 705个,整个数据集创建从2015年至2017年历时3 a。陈雷等[36]建立的大田作物病害识别研究图像数据集,共有水稻、小麦和玉米3种大田作物的15种病害图像,时间跨度为2013到2018。由此可见,通过扩展数据集提升病害识别模型的性能代价较大。单纯依靠扩大病害图像数据集的规模面临如下挑战:一是病害发生的时空跨度大,难以大范围的收集病害图像并进行人工标注;二是同一种病害在不同的作物种类、发病部位、成长阶段、栽培环境下的病症表现差异较大,图像难以涵盖某一种病害的全部特征。但是,正如本研究的结果所表明的,图像-文本双模态联合表征学习方法允许从少样本中学习,而且识别性能相比较单纯依靠图像有所提高,因此在解决少样本的病害图像识别任务方面,“图像+文本”的双模态联合表征学习是一个可行的解决方案。

在本研究中使用了图像模态和文本模态之间特征互补,使模型可以达到图像模态修正文本模态错误描述,文本模态修正图像模态特征模糊的效果,总体上可以提高复杂环境下作物病害识别的准确率,也可以降低病害图像的大量采集带来的人力和物力消耗。但是本文提出的方法仍存在如下的不足,1)在双模态联合进行病害分类过程中需要某一模态的分类置信度足够高;2)模型由图像和文本两个分支并行抽取特征,将学习到的特征分别映射到各自独立的特征空间中,因此特征融合并没有增加语义解释性。为了克服上述的局限性,在后期的研究中,一方面应提高模型对于两个模态分类置信度均不高的情况的适应能力,以提高模型的鲁棒性;另一方面应该研究不同模态数据向同一特征空间映射的方法,以便增强不同模态特征之间相关性与互补性的语义解释。在本文中采用的数据集涉及3种作物共6类病害,并且每类病害训练集为 200张左右,样本量少也导致了图像模态的识别效果差,而文本对病害特征的描述相对精确,噪声低(与图像模态数据相比不包含复杂的背景信息),因此,在训练集规模相同的条件下,文本模态的识别效果比图像模态优异。构建准确、可信的模型是实现作物病害智能识别落地的关键,因此在研究基于双模态联合表征学习提高识别准确率的同时,解决识别结果的语义解释性也是亟需解决的问题。

5 结 论

本文构建了图像与文本双模态联合表征学习的作物病害识别模型(bimodalNet)。该模型是一种通用的框架,由图像分支和文本分支两部分构成。在实际使用过程中可以使用任何优异的卷积神经网络结构和循环神经网络结构进行替换,以达到最佳的识别效果。本文中采用了双模态结合后识别效果最佳的ResNet18与TextRNN分别作为图像分支和文本分支。双模态联合表征学习模型充分利用了病害图像特征与文本描述之间的相关性和互补性,在开放环境作物病害小样本数据集中取得了超过图像模态单独训练和文本模态单独训练的效果,最优模型组合(ResNet18+TextRNN)在测试集的准确率、精确率、灵敏度、特异性和F1值分别为99.47%、98.51%、98.61%、99.68%和98.51%。另外,由于一些病害在初期叶片正面的症状相似,难以区分,但在叶片反面存在可区分的特征,因此本文收集了病害叶片的正反面作为病害发生时的特征学习。本文工作为实际农业场景下,基于多模态联合表征学习的小样本作物病害识别提供可行方案。

猜你喜欢
分支准确率模态
联合仿真在某车型LGF/PP尾门模态仿真上的应用
多模态超声监测DBD移植肾的临床应用
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
跨模态通信理论及关键技术初探
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
巧分支与枝